seo_url.php (4135B)
1 <?php 2 class ModelDesignSeoUrl extends Model { 3 public function addSeoUrl($data) { 4 $this->db->query("INSERT INTO `" . DB_PREFIX . "seo_url` SET store_id = '" . (int)$data['store_id'] . "', language_id = '" . (int)$data['language_id'] . "', query = '" . $this->db->escape($data['query']) . "', keyword = '" . $this->db->escape($data['keyword']) . "'"); 5 } 6 7 public function editSeoUrl($seo_url_id, $data) { 8 $this->db->query("UPDATE `" . DB_PREFIX . "seo_url` SET store_id = '" . (int)$data['store_id'] . "', language_id = '" . (int)$data['language_id'] . "', query = '" . $this->db->escape($data['query']) . "', keyword = '" . $this->db->escape($data['keyword']) . "' WHERE seo_url_id = '" . (int)$seo_url_id . "'"); 9 } 10 11 public function deleteSeoUrl($seo_url_id) { 12 $this->db->query("DELETE FROM `" . DB_PREFIX . "seo_url` WHERE seo_url_id = '" . (int)$seo_url_id . "'"); 13 } 14 15 public function getSeoUrl($seo_url_id) { 16 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "seo_url` WHERE seo_url_id = '" . (int)$seo_url_id . "'"); 17 18 return $query->row; 19 } 20 21 public function getSeoUrls($data = array()) { 22 $sql = "SELECT *, (SELECT `name` FROM `" . DB_PREFIX . "store` s WHERE s.store_id = su.store_id) AS store, (SELECT `name` FROM `" . DB_PREFIX . "language` l WHERE l.language_id = su.language_id) AS language FROM `" . DB_PREFIX . "seo_url` su"; 23 24 $implode = array(); 25 26 if (!empty($data['filter_query'])) { 27 $implode[] = "`query` LIKE '" . $this->db->escape($data['filter_query']) . "'"; 28 } 29 30 if (!empty($data['filter_keyword'])) { 31 $implode[] = "`keyword` LIKE '" . $this->db->escape($data['filter_keyword']) . "'"; 32 } 33 34 if (isset($data['filter_store_id']) && $data['filter_store_id'] !== '') { 35 $implode[] = "`store_id` = '" . (int)$data['filter_store_id'] . "'"; 36 } 37 38 if (!empty($data['filter_language_id']) && $data['filter_language_id'] !== '') { 39 $implode[] = "`language_id` = '" . (int)$data['filter_language_id'] . "'"; 40 } 41 42 if ($implode) { 43 $sql .= " WHERE " . implode(" AND ", $implode); 44 } 45 46 $sort_data = array( 47 'query', 48 'keyword', 49 'language_id', 50 'store_id' 51 ); 52 53 if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { 54 $sql .= " ORDER BY " . $data['sort']; 55 } else { 56 $sql .= " ORDER BY query"; 57 } 58 59 if (isset($data['order']) && ($data['order'] == 'DESC')) { 60 $sql .= " DESC"; 61 } else { 62 $sql .= " ASC"; 63 } 64 65 if (isset($data['start']) || isset($data['limit'])) { 66 if ($data['start'] < 0) { 67 $data['start'] = 0; 68 } 69 70 if ($data['limit'] < 1) { 71 $data['limit'] = 20; 72 } 73 74 $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; 75 } 76 77 $query = $this->db->query($sql); 78 79 return $query->rows; 80 } 81 82 public function getTotalSeoUrls($data = array()) { 83 $sql = "SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "seo_url`"; 84 85 $implode = array(); 86 87 if (!empty($data['filter_query'])) { 88 $implode[] = "query LIKE '" . $this->db->escape($data['filter_query']) . "'"; 89 } 90 91 if (!empty($data['filter_keyword'])) { 92 $implode[] = "keyword LIKE '" . $this->db->escape($data['filter_keyword']) . "'"; 93 } 94 95 if (!empty($data['filter_store_id']) && $data['filter_store_id'] !== '') { 96 $implode[] = "store_id = '" . (int)$data['filter_store_id'] . "'"; 97 } 98 99 if (!empty($data['filter_language_id']) && $data['filter_language_id'] !== '') { 100 $implode[] = "language_id = '" . (int)$data['filter_language_id'] . "'"; 101 } 102 103 if ($implode) { 104 $sql .= " WHERE " . implode(" AND ", $implode); 105 } 106 107 $query = $this->db->query($sql); 108 109 return $query->row['total']; 110 } 111 112 public function getSeoUrlsByKeyword($keyword) { 113 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "seo_url` WHERE keyword = '" . $this->db->escape($keyword) . "'"); 114 115 return $query->rows; 116 } 117 118 public function getSeoUrlsByQuery($keyword) { 119 $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "seo_url` WHERE keyword = '" . $this->db->escape($keyword) . "'"); 120 121 return $query->rows; 122 } 123 }