first commit
This commit is contained in:
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
class ModelExtensionThemeSubscribe extends Model {
|
||||
|
||||
public function getSubscribe($subscribe_id) {
|
||||
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "subscribe WHERE subscribe_id='" . (int) $subscribe_id . "'");
|
||||
|
||||
return $query->row;
|
||||
}
|
||||
|
||||
public function getEmailDescription() {
|
||||
$subscribe_descriptions = array();
|
||||
|
||||
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "subscribe_email_description");
|
||||
|
||||
foreach ($query->rows as $result) {
|
||||
$subscribe_descriptions[$result['language_id']] = $result['subscribe_descriptions'];
|
||||
}
|
||||
|
||||
return $subscribe_descriptions;
|
||||
}
|
||||
|
||||
public function addEmailDescription($descriptions) {
|
||||
$this->db->query("DELETE FROM " . DB_PREFIX . "subscribe_email_description");
|
||||
|
||||
foreach ($descriptions as $language_id => $description) {
|
||||
$this->db->query("INSERT INTO " . DB_PREFIX . "subscribe_email_description SET subscribe_descriptions = '" . $this->db->escape($description) . "', language_id = '" . (int) $language_id . "'");
|
||||
}
|
||||
}
|
||||
|
||||
public function getAuthDescription() {
|
||||
$subscribe_authorization = array();
|
||||
|
||||
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "subscribe_auth_description");
|
||||
|
||||
foreach ($query->rows as $result) {
|
||||
$subscribe_authorization[$result['language_id']] = $result['subscribe_authorization'];
|
||||
}
|
||||
|
||||
return $subscribe_authorization;
|
||||
}
|
||||
|
||||
public function addAuthDescription($descriptions) {
|
||||
$this->db->query("DELETE FROM " . DB_PREFIX . "subscribe_auth_description");
|
||||
|
||||
foreach ($descriptions as $language_id => $description) {
|
||||
$this->db->query("INSERT INTO " . DB_PREFIX . "subscribe_auth_description SET subscribe_authorization = '" . $this->db->escape($description) . "', language_id = '" . (int) $language_id . "'");
|
||||
}
|
||||
}
|
||||
|
||||
public function addSubscribe($data) {
|
||||
$this->db->query("INSERT INTO " . DB_PREFIX . "subscribe SET email = '" . $this->db->escape($data['email']) . "', status = '" . (int) $data['status'] . "'");
|
||||
}
|
||||
|
||||
public function editSubscribe($subscribe_id, $data) {
|
||||
$this->db->query("UPDATE " . DB_PREFIX . "subscribe SET email = '" . $this->db->escape($data['email']) . "', status = '" . (int) $data['status'] . "' WHERE subscribe_id = '" . (int) $subscribe_id . "'");
|
||||
}
|
||||
|
||||
public function deleteSubscribe($subscribe_id) {
|
||||
$this->db->query("DELETE FROM " . DB_PREFIX . "subscribe WHERE subscribe_id = '" . (int) $subscribe_id . "'");
|
||||
}
|
||||
|
||||
public function getSubscribers($data = array()) {
|
||||
$sql = "SELECT * FROM " . DB_PREFIX . "subscribe ";
|
||||
|
||||
$sort_data = array(
|
||||
'name',
|
||||
'status'
|
||||
);
|
||||
|
||||
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
|
||||
$sql .= "ORDER BY " . $data['sort'];
|
||||
} else {
|
||||
$sql .= " ORDER BY email";
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
public function getTotalSubscibe($data = array()) {
|
||||
$query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "subscribe`");
|
||||
|
||||
return $query->row['total'];
|
||||
}
|
||||
|
||||
public function checkEmail($email, $subscribe_id) {
|
||||
$sql = "SELECT email FROM " . DB_PREFIX . "subscribe WHERE email='" . $this->db->escape($email) . "'";
|
||||
|
||||
if ($subscribe_id) {
|
||||
$sql .= " AND subscribe_id !='" . $subscribe_id . "'";
|
||||
}
|
||||
|
||||
$query = $this->db->query($sql);
|
||||
|
||||
return isset($query->row['email']) ? $query->row['email'] : 0;
|
||||
}
|
||||
|
||||
public function tableExists() {
|
||||
$query = $this->db->query("SHOW TABLES LIKE '" . DB_PREFIX . "subscribe'");
|
||||
|
||||
return $query->num_rows;
|
||||
}
|
||||
|
||||
public function installSubscribe() {
|
||||
$this->db->query("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "subscribe` (
|
||||
`subscribe_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`email` text NOT NULL ,
|
||||
`status` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`subscribe_id`)
|
||||
) DEFAULT COLLATE=utf8_general_ci;");
|
||||
|
||||
$this->db->query("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "subscribe_email_description` (
|
||||
`subscribe_desc_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`language_id` int(2) NOT NULL,
|
||||
`subscribe_descriptions` MEDIUMTEXT NOT NULL,
|
||||
PRIMARY KEY (`subscribe_desc_id`)
|
||||
) DEFAULT COLLATE=utf8_general_ci;");
|
||||
|
||||
$this->db->query("
|
||||
CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "subscribe_auth_description` (
|
||||
`subscribe_auth_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`language_id` int(2) NOT NULL,
|
||||
`subscribe_authorization` MEDIUMTEXT NOT NULL,
|
||||
PRIMARY KEY (`subscribe_auth_id`)
|
||||
) DEFAULT COLLATE=utf8_general_ci;");
|
||||
}
|
||||
|
||||
public function uninstallSubscribe() {
|
||||
$this->db->query("DROP TABLE IF EXISTS `" . DB_PREFIX . "subscribe`");
|
||||
$this->db->query("DROP TABLE IF EXISTS `" . DB_PREFIX . "subscribe_email_description`");
|
||||
$this->db->query("DROP TABLE IF EXISTS `" . DB_PREFIX . "subscribe_auth_description`");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user