File: //home/retile.ru/public_html/admin/model/extension/module/uni_request.php
<?php
class ModelExtensionModuleUniRequest extends Model {
public function editRequest($request_id, $data) {
$this->db->query("UPDATE `".DB_PREFIX ."uni_request` SET type = '".$this->db->escape($data['type'])."', name = '".$this->db->escape($data['name'])."', phone = '".$this->db->escape(strip_tags($data['phone']))."', mail = '".$this->db->escape(strip_tags($data['mail']))."', comment = '".$this->db->escape($data['comment'])."', admin_comment = '".$this->db->escape($data['admin_comment'])."', date_added = '".$this->db->escape($data['date_added'])."', date_modified = NOW(), status = '".(int)$data['status']."', request_list = '".(int)$data['request_list']."' WHERE request_id = '".(int)$request_id."'");
}
public function deleteRequest($request_id) {
$this->db->query("DELETE FROM `".DB_PREFIX."uni_request` WHERE request_id = '".(int)$request_id."'");
}
public function getRequest($request_id) {
$query = $this->db->query("SELECT * FROM `".DB_PREFIX."uni_request` WHERE request_id = '".(int)$request_id."'");
return $query->row;
}
public function getRequests($data = array()) {
$sql = "SELECT request_id, type, name, phone, mail, product_id, comment, admin_comment, date_added, date_modified, status, request_list FROM `".DB_PREFIX."uni_request` WHERE request_id != '0'";
$sort_data = array(
'type',
'name',
'phone',
'mail',
'comment',
'admin_comment',
'date_added',
'date_modified',
'status'
);
if (!empty($data['filter_type'])) {
$sql .= " AND type LIKE '" . $this->db->escape($data['filter_type']) . "%'";
}
if (!empty($data['filter_name'])) {
$sql .= " AND name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
}
if (!empty($data['filter_date_added'])) {
$sql .= " AND DATE(date_added) = DATE('" . $this->db->escape($data['filter_date_added']) . "')";
}
if (isset($data['filter_status']) && $data['filter_status'] != '') {
$sql .= " AND status = '" . (int)$data['filter_status'] . "'";
}
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
$sql .= " ORDER BY " . $data['sort'];
} else {
$sql .= " ORDER BY date_added";
}
if (isset($data['order']) && ($data['order'] == 'DESC')) {
$sql .= " DESC";
} else {
$sql .= " ASC";
}
if (isset($data['start']) || isset($data['limit'])) {
if ($data['start'] < 0) {
$data['start'] = 0;
}
if ($data['limit'] < 1) {
$data['limit'] = 20;
}
$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
}
$query = $this->db->query($sql);
return $query->rows;
$this->install();
}
public function getTotalRequests($data = array()) {
$sql = "SELECT COUNT(*) AS total FROM " . DB_PREFIX . "uni_request WHERE request_id != '0'";
if (!empty($data['filter_type'])) {
$sql .= " AND type LIKE '" . $this->db->escape($data['filter_type']) . "%'";
}
if (!empty($data['filter_name'])) {
$sql .= " AND name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
}
if (!empty($data['filter_date_added'])) {
$sql .= " AND DATE(date_added) = DATE('".$this->db->escape($data['filter_date_added'])."')";
}
if (isset($data['filter_status']) && $data['filter_status'] != '') {
$sql .= " AND status = '" . (int)$data['filter_status'] . "'";
}
$query = $this->db->query($sql);
return $query->row['total'];
}
public function setComment($comment, $request_id) {
$query = $this->db->query("UPDATE `".DB_PREFIX."uni_request` SET admin_comment = '".$this->db->escape($comment)."' WHERE request_id = '".(int)$request_id."'");
}
public function setStatus($status, $request_id) {
$query = $this->db->query("UPDATE `".DB_PREFIX."uni_request` SET status = '" . (int)$status . "' WHERE request_id = '".(int)$request_id . "'");
}
public function getStatuses() {
$query = $this->db->query("SELECT DISTINCT type FROM `".DB_PREFIX."uni_request` WHERE request_id != '0' ORDER BY type ASC");
return $query->rows;
}
public function getNewRequests() {
$query = $this->db->query("SELECT COUNT(*) AS total FROM `".DB_PREFIX."uni_request` WHERE status = '1'");
return $query->row['total'];
}
public function getProcessingRequests() {
$query = $this->db->query("SELECT COUNT(*) AS total FROM `".DB_PREFIX."uni_request` WHERE status = '2'");
return $query->row['total'];
}
public function Install() {
$this->db->query("CREATE TABLE IF NOT EXISTS `".DB_PREFIX."uni_request` (`request_id` int(11) NOT NULL AUTO_INCREMENT, `type` varchar(64) NOT NULL, `name` varchar(64) NOT NULL, `phone` varchar(64) NOT NULL, `mail` varchar(64) NOT NULL, `product_id` int(11) NOT NULL, `comment` TEXT NOT NULL DEFAULT '', `admin_comment` TEXT NOT NULL DEFAULT '', `date_added` date NOT NULL DEFAULT '0000-00-00', `date_modified` date NOT NULL DEFAULT '0000-00-00', `status` tinyint(1) NOT NULL DEFAULT '1', `request_list` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`request_id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci");
}
public function deleteAttempts() {
$this->db->query("DELETE FROM `".DB_PREFIX."customer_login` WHERE date_modified <= '".date('Y-m-d H:i:s', strtotime('-1 month'))."'");
}
}
?>