File: //home/retile.ru/public_html/catalog/model/extension/module/uni_request.php
<?php
class ModelExtensionModuleUniRequest extends Model {
private $email = 'request@localhost.com';
public function addRequest($data) {
$this->db->query("INSERT INTO `".DB_PREFIX."uni_request` SET type = '".$this->db->escape(strip_tags($data['type']))."', name = '".$this->db->escape(strip_tags($data['name']))."', phone = '".$this->db->escape(strip_tags($data['phone']))."', mail = '".$this->db->escape(strip_tags(mb_strtolower($data['mail'], 'UTF-8')))."', product_id = '".(int)$data['product_id']."', comment = '".$this->db->escape(strip_tags($data['comment']))."', admin_comment = '', date_added = NOW(), date_modified = NOW(), status = '".(int)$data['status']."'");
$request_id = $this->db->getLastId();
}
public function getRequest($request_id) {
$query = $this->db->query("SELECT DISTINCT * 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 FROM `".DB_PREFIX."uni_request` WHERE request_id != '0'";
if (isset($data['product_id'])) {
$sql .= " AND product_id = '".(int)$data['product_id']."'";
}
$sql .= " AND request_list = '1'";
$sql .= " AND status = '3'";
$sql .= " ORDER BY date_added";
$sql .= " DESC";
if (isset($data['start']) || isset($data['limit'])) {
if ($data['start'] < 0) {
$data['start'] = 0;
}
if ($data['limit'] < 1) {
$data['limit'] = 5;
}
$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
}
$query = $this->db->query($sql);
return $query->rows;
}
public function getTotalRequests($data = []) {
$sql = "SELECT COUNT(*) AS total FROM `".DB_PREFIX."uni_request` WHERE request_id != '0'";
if (isset($data['product_id'])) {
$sql .= " AND product_id = '".(int)$data['product_id']."'";
}
$sql .= " AND request_list = '1' AND status = '3'";
$query = $this->db->query($sql);
return $query->row['total'];
}
public function getAttempts($ip) {
$email = $this->email;
$query = $this->db->query("SELECT * FROM `".DB_PREFIX."customer_login` WHERE email = '".$this->db->escape(mb_strtolower($email))."' AND ip = '".$this->db->escape($ip)."'");
return $query->row;
}
public function addAttempt($ip) {
$email = $this->email;
$query = $this->db->query("SELECT * FROM `".DB_PREFIX."customer_login` WHERE email = '".$this->db->escape(mb_strtolower($email))."' AND ip = '".$this->db->escape($ip)."'");
if (!$query->num_rows) {
$this->db->query("INSERT INTO `".DB_PREFIX."customer_login` SET email = '".$this->db->escape(mb_strtolower($email))."', ip = '".$this->db->escape($ip)."', total = 1, date_added = '".$this->db->escape(date('Y-m-d H:i:s'))."', date_modified = '".$this->db->escape(date('Y-m-d H:i:s'))."'");
} else {
$total = strtotime($query->row['date_modified']) < strtotime('-1 hour') ? 1 : '(total + 1)';
$this->db->query("UPDATE `".DB_PREFIX."customer_login` SET total = ".$total.", date_modified = '".$this->db->escape(date('Y-m-d H:i:s'))."' WHERE customer_login_id = '".(int)$query->row['customer_login_id']."'");
}
}
}
?>