order_status.php (3673B)
1 <?php 2 class ModelLocalisationOrderStatus extends Model { 3 public function addOrderStatus($data) { 4 foreach ($data['order_status'] as $language_id => $value) { 5 if (isset($order_status_id)) { 6 $this->db->query("INSERT INTO " . DB_PREFIX . "order_status SET order_status_id = '" . (int)$order_status_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'"); 7 } else { 8 $this->db->query("INSERT INTO " . DB_PREFIX . "order_status SET language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'"); 9 10 $order_status_id = $this->db->getLastId(); 11 } 12 } 13 14 $this->cache->delete('order_status'); 15 16 return $order_status_id; 17 } 18 19 public function editOrderStatus($order_status_id, $data) { 20 $this->db->query("DELETE FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "'"); 21 22 foreach ($data['order_status'] as $language_id => $value) { 23 $this->db->query("INSERT INTO " . DB_PREFIX . "order_status SET order_status_id = '" . (int)$order_status_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "'"); 24 } 25 26 $this->cache->delete('order_status'); 27 } 28 29 public function deleteOrderStatus($order_status_id) { 30 $this->db->query("DELETE FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "'"); 31 32 $this->cache->delete('order_status'); 33 } 34 35 public function getOrderStatus($order_status_id) { 36 $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$this->config->get('config_language_id') . "'"); 37 38 return $query->row; 39 } 40 41 public function getOrderStatuses($data = array()) { 42 if ($data) { 43 $sql = "SELECT * FROM " . DB_PREFIX . "order_status WHERE language_id = '" . (int)$this->config->get('config_language_id') . "'"; 44 45 $sql .= " ORDER BY name"; 46 47 if (isset($data['order']) && ($data['order'] == 'DESC')) { 48 $sql .= " DESC"; 49 } else { 50 $sql .= " ASC"; 51 } 52 53 if (isset($data['start']) || isset($data['limit'])) { 54 if ($data['start'] < 0) { 55 $data['start'] = 0; 56 } 57 58 if ($data['limit'] < 1) { 59 $data['limit'] = 20; 60 } 61 62 $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; 63 } 64 65 $query = $this->db->query($sql); 66 67 return $query->rows; 68 } else { 69 $order_status_data = $this->cache->get('order_status.' . (int)$this->config->get('config_language_id')); 70 71 if (!$order_status_data) { 72 $query = $this->db->query("SELECT order_status_id, name FROM " . DB_PREFIX . "order_status WHERE language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY name"); 73 74 $order_status_data = $query->rows; 75 76 $this->cache->set('order_status.' . (int)$this->config->get('config_language_id'), $order_status_data); 77 } 78 79 return $order_status_data; 80 } 81 } 82 83 public function getOrderStatusDescriptions($order_status_id) { 84 $order_status_data = array(); 85 86 $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "'"); 87 88 foreach ($query->rows as $result) { 89 $order_status_data[$result['language_id']] = array('name' => $result['name']); 90 } 91 92 return $order_status_data; 93 } 94 95 public function getTotalOrderStatuses() { 96 $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "order_status WHERE language_id = '" . (int)$this->config->get('config_language_id') . "'"); 97 98 return $query->row['total']; 99 } 100 }