shop.balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

marketing.php (3706B)


      1 <?php
      2 class ModelMarketingMarketing extends Model {
      3 	public function addMarketing($data) {
      4 		$this->db->query("INSERT INTO " . DB_PREFIX . "marketing SET name = '" . $this->db->escape($data['name']) . "', description = '" . $this->db->escape($data['description']) . "', code = '" . $this->db->escape($data['code']) . "', date_added = NOW()");
      5 
      6 		return $this->db->getLastId();
      7 	}
      8 
      9 	public function editMarketing($marketing_id, $data) {
     10 		$this->db->query("UPDATE " . DB_PREFIX . "marketing SET name = '" . $this->db->escape($data['name']) . "', description = '" . $this->db->escape($data['description']) . "', code = '" . $this->db->escape($data['code']) . "' WHERE marketing_id = '" . (int)$marketing_id . "'");
     11 	}
     12 
     13 	public function deleteMarketing($marketing_id) {
     14 		$this->db->query("DELETE FROM " . DB_PREFIX . "marketing WHERE marketing_id = '" . (int)$marketing_id . "'");
     15 	}
     16 
     17 	public function getMarketing($marketing_id) {
     18 		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "marketing WHERE marketing_id = '" . (int)$marketing_id . "'");
     19 
     20 		return $query->row;
     21 	}
     22 
     23 	public function getMarketingByCode($code) {
     24 		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "marketing WHERE code = '" . $this->db->escape($code) . "'");
     25 
     26 		return $query->row;
     27 	}
     28 
     29 	public function getMarketings($data = array()) {
     30 		$implode = array();
     31 
     32 		$order_statuses = $this->config->get('config_complete_status');
     33 
     34 		foreach ($order_statuses as $order_status_id) {
     35 			$implode[] = "o.order_status_id = '" . (int)$order_status_id . "'";
     36 		}
     37 
     38 		$sql = "SELECT *, (SELECT COUNT(*) FROM `" . DB_PREFIX . "order` o WHERE (" . implode(" OR ", $implode) . ") AND o.marketing_id = m.marketing_id) AS orders FROM " . DB_PREFIX . "marketing m";
     39 
     40 		$implode = array();
     41 
     42 		if (!empty($data['filter_name'])) {
     43 			$implode[] = "m.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
     44 		}
     45 
     46 		if (!empty($data['filter_code'])) {
     47 			$implode[] = "m.code = '" . $this->db->escape($data['filter_code']) . "'";
     48 		}
     49 
     50 		if (!empty($data['filter_date_added'])) {
     51 			$implode[] = "DATE(m.date_added) = DATE('" . $this->db->escape($data['filter_date_added']) . "')";
     52 		}
     53 
     54 		if ($implode) {
     55 			$sql .= " WHERE " . implode(" AND ", $implode);
     56 		}
     57 
     58 		$sort_data = array(
     59 			'm.name',
     60 			'm.code',
     61 			'm.date_added'
     62 		);
     63 
     64 		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
     65 			$sql .= " ORDER BY " . $data['sort'];
     66 		} else {
     67 			$sql .= " ORDER BY m.name";
     68 		}
     69 
     70 		if (isset($data['order']) && ($data['order'] == 'DESC')) {
     71 			$sql .= " DESC";
     72 		} else {
     73 			$sql .= " ASC";
     74 		}
     75 
     76 		if (isset($data['start']) || isset($data['limit'])) {
     77 			if ($data['start'] < 0) {
     78 				$data['start'] = 0;
     79 			}
     80 
     81 			if ($data['limit'] < 1) {
     82 				$data['limit'] = 20;
     83 			}
     84 
     85 			$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
     86 		}
     87 
     88 		$query = $this->db->query($sql);
     89 
     90 		return $query->rows;
     91 	}
     92 
     93 	public function getTotalMarketings($data = array()) {
     94 		$sql = "SELECT COUNT(*) AS total FROM " . DB_PREFIX . "marketing";
     95 
     96 		$implode = array();
     97 
     98 		if (!empty($data['filter_name'])) {
     99 			$implode[] = "name LIKE '" . $this->db->escape($data['filter_name']) . "'";
    100 		}
    101 
    102 		if (!empty($data['filter_code'])) {
    103 			$implode[] = "code = '" . $this->db->escape($data['filter_code']) . "'";
    104 		}
    105 
    106 		if (!empty($data['filter_date_added'])) {
    107 			$implode[] = "DATE(date_added) = DATE('" . $this->db->escape($data['filter_date_added']) . "')";
    108 		}
    109 
    110 		if ($implode) {
    111 			$sql .= " WHERE " . implode(" AND ", $implode);
    112 		}
    113 
    114 		$query = $this->db->query($sql);
    115 
    116 		return $query->row['total'];
    117 	}
    118 }