translation.php (2528B)
1 <?php 2 class ModelDesignTranslation extends Model { 3 public function addTranslation($data) { 4 $this->db->query("INSERT INTO `" . DB_PREFIX . "translation` SET `store_id` = '" . (int)$data['store_id'] . "', `language_id` = '" . (int)$data['language_id'] . "', `route` = '" . $this->db->escape($data['route']) . "', `key` = '" . $this->db->escape($data['key']) . "', `value` = '" . $this->db->escape($data['value']) . "', `date_added` = NOW()"); 5 } 6 7 public function editTranslation($translation_id, $data) { 8 $this->db->query("UPDATE `" . DB_PREFIX . "translation` SET `store_id` = '" . (int)$data['store_id'] . "', `language_id` = '" . (int)$data['language_id'] . "', `route` = '" . $this->db->escape($data['route']) . "', `key` = '" . $this->db->escape($data['key']) . "', `value` = '" . $this->db->escape($data['value']) . "' WHERE `translation_id` = '" . (int)$translation_id . "'"); 9 } 10 11 public function deleteTranslation($translation_id) { 12 $this->db->query("DELETE FROM `" . DB_PREFIX . "translation` WHERE `translation_id` = '" . (int)$translation_id . "'"); 13 } 14 15 public function getTranslation($translation_id) { 16 $query = $this->db->query("SELECT DISTINCT * FROM `" . DB_PREFIX . "translation` WHERE `translation_id` = '" . (int)$translation_id . "'"); 17 18 return $query->row; 19 } 20 21 public function getTranslations($data = array()) { 22 $sql = "SELECT *, (SELECT s.name FROM `" . DB_PREFIX . "store` s WHERE s.store_id = t.store_id) AS store, (SELECT l.name FROM `" . DB_PREFIX . "language` l WHERE l.language_id = t.language_id) AS language FROM `" . DB_PREFIX . "translation` t"; 23 24 $sort_data = array( 25 'store', 26 'language', 27 'route', 28 'key', 29 'value' 30 ); 31 32 if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { 33 $sql .= " ORDER BY `" . $data['sort'] . "`"; 34 } else { 35 $sql .= " ORDER BY store"; 36 } 37 38 if (isset($data['order']) && ($data['order'] == 'DESC')) { 39 $sql .= " DESC"; 40 } else { 41 $sql .= " ASC"; 42 } 43 44 if (isset($data['start']) || isset($data['limit'])) { 45 if ($data['start'] < 0) { 46 $data['start'] = 0; 47 } 48 49 if ($data['limit'] < 1) { 50 $data['limit'] = 20; 51 } 52 53 $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; 54 } 55 56 $query = $this->db->query($sql); 57 58 return $query->rows; 59 } 60 61 public function getTotalTranslations() { 62 $query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "translation`"); 63 64 return $query->row['total']; 65 } 66 }