banner.php (3791B)
1 <?php 2 class ModelDesignBanner extends Model { 3 public function addBanner($data) { 4 $this->db->query("INSERT INTO " . DB_PREFIX . "banner SET name = '" . $this->db->escape($data['name']) . "', status = '" . (int)$data['status'] . "'"); 5 6 $banner_id = $this->db->getLastId(); 7 8 if (isset($data['banner_image'])) { 9 foreach ($data['banner_image'] as $language_id => $value) { 10 foreach ($value as $banner_image) { 11 $this->db->query("INSERT INTO " . DB_PREFIX . "banner_image SET banner_id = '" . (int)$banner_id . "', language_id = '" . (int)$language_id . "', title = '" . $this->db->escape($banner_image['title']) . "', link = '" . $this->db->escape($banner_image['link']) . "', image = '" . $this->db->escape($banner_image['image']) . "', sort_order = '" . (int)$banner_image['sort_order'] . "'"); 12 } 13 } 14 } 15 16 return $banner_id; 17 } 18 19 public function editBanner($banner_id, $data) { 20 $this->db->query("UPDATE " . DB_PREFIX . "banner SET name = '" . $this->db->escape($data['name']) . "', status = '" . (int)$data['status'] . "' WHERE banner_id = '" . (int)$banner_id . "'"); 21 22 $this->db->query("DELETE FROM " . DB_PREFIX . "banner_image WHERE banner_id = '" . (int)$banner_id . "'"); 23 24 if (isset($data['banner_image'])) { 25 foreach ($data['banner_image'] as $language_id => $value) { 26 foreach ($value as $banner_image) { 27 $this->db->query("INSERT INTO " . DB_PREFIX . "banner_image SET banner_id = '" . (int)$banner_id . "', language_id = '" . (int)$language_id . "', title = '" . $this->db->escape($banner_image['title']) . "', link = '" . $this->db->escape($banner_image['link']) . "', image = '" . $this->db->escape($banner_image['image']) . "', sort_order = '" . (int)$banner_image['sort_order'] . "'"); 28 } 29 } 30 } 31 } 32 33 public function deleteBanner($banner_id) { 34 $this->db->query("DELETE FROM " . DB_PREFIX . "banner WHERE banner_id = '" . (int)$banner_id . "'"); 35 $this->db->query("DELETE FROM " . DB_PREFIX . "banner_image WHERE banner_id = '" . (int)$banner_id . "'"); 36 } 37 38 public function getBanner($banner_id) { 39 $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "banner WHERE banner_id = '" . (int)$banner_id . "'"); 40 41 return $query->row; 42 } 43 44 public function getBanners($data = array()) { 45 $sql = "SELECT * FROM " . DB_PREFIX . "banner"; 46 47 $sort_data = array( 48 'name', 49 'status' 50 ); 51 52 if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { 53 $sql .= " ORDER BY " . $data['sort']; 54 } else { 55 $sql .= " ORDER BY name"; 56 } 57 58 if (isset($data['order']) && ($data['order'] == 'DESC')) { 59 $sql .= " DESC"; 60 } else { 61 $sql .= " ASC"; 62 } 63 64 if (isset($data['start']) || isset($data['limit'])) { 65 if ($data['start'] < 0) { 66 $data['start'] = 0; 67 } 68 69 if ($data['limit'] < 1) { 70 $data['limit'] = 20; 71 } 72 73 $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; 74 } 75 76 $query = $this->db->query($sql); 77 78 return $query->rows; 79 } 80 81 public function getBannerImages($banner_id) { 82 $banner_image_data = array(); 83 84 $banner_image_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "banner_image WHERE banner_id = '" . (int)$banner_id . "' ORDER BY sort_order ASC"); 85 86 foreach ($banner_image_query->rows as $banner_image) { 87 $banner_image_data[$banner_image['language_id']][] = array( 88 'title' => $banner_image['title'], 89 'link' => $banner_image['link'], 90 'image' => $banner_image['image'], 91 'sort_order' => $banner_image['sort_order'] 92 ); 93 } 94 95 return $banner_image_data; 96 } 97 98 public function getTotalBanners() { 99 $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "banner"); 100 101 return $query->row['total']; 102 } 103 }