Класс Subscribes.php
Класс Subscribes
Предназначен для работы с подписчиками на сайте.
Функция get_subscribes()
public function get_subscribes($filter = array()) { $limit = 100; $page = 1; $keyword_filter = ''; if(isset($filter['limit'])) { $limit = max(1, intval($filter['limit'])); } if(isset($filter['page'])) { $page = max(1, intval($filter['page'])); } $sql_limit = $this->db->placehold(' LIMIT ?, ? ', ($page-1)*$limit, $limit); if (isset($filter['keyword'])) { $keyword_filter = 'and s.email like "%'.$this->db->escape(trim($filter['keyword'])).'%"'; } $query = $this->db->placehold("SELECT s.id, s.email FROM __subscribe_mailing s WHERE 1 $keyword_filter $sql_limit "); $this->db->query($query); return $this->db->results(); }
Функция выборки подписчиков сайта
Функция принимает один аргумент $filter в виде массива
Параметры которые содержит функция:
- filter['limit'] - лимит (количество) записей, которые следует выбрать
- $filter['page'] - страница, с которые следует начать выборку подписчиков (используется для пагинации)
- $filter['keyword'] - строка поиска. Поиск работает по полю email
Функция возвращает массив объектов с подписчиками сайта
Функция count_subscribes()
public function count_subscribes($filter = array()) { $keyword_filter = ''; if (isset($filter['keyword'])) { $keyword_filter = 'and s.email like "%'.$this->db->escape(trim($filter['keyword'])).'%"'; } $query = "SELECT count(distinct s.id) as count FROM __subscribe_mailing AS s WHERE 1 $keyword_filter "; $this->db->query($query); return $this->db->result('count'); }
Функция подсчета количества подписчиков
Функция принимает один аргумент $filter в виде массива
Параметры которые содержит функция:
- $filter['keyword'] - строка поиска. Поиск работает по полю email
Функция возвращает количество подписчиков
Функция get_subscribe()
public function get_subscribe($id) { $filter = $this->db->placehold('AND id = ?', $id); $query = "SELECT id, email FROM __subscribe_mailing WHERE 1 $filter LIMIT 1"; $this->db->query($query); return $this->db->result(); }
Фукнция выбора конкретного подписчика
Функция принимает один аргумент $id
Параметры которые содержит функция:
- $id - id подписчика, которого следует выбрать с БД
Функция возвращает объект с данными конкретного подписчика
Функция add_subscribe()
public function add_subscribe($subscribe) { $subscribe = (array)$subscribe; $this->db->query("INSERT INTO __subscribe_mailing SET ?%", $subscribe); return $this->db->insert_id(); }
Фукнция доабавления подписчика
Функция принимает один аргумент $subscribe
Параметры которые содержит функция:
- $subscribe - массив или объект с данными о подписчике
Функция возвращает id добавленного подписчика
Функция update_subscribe()
public function update_subscribe($id, $subscribe) { $query = $this->db->placehold("UPDATE __subscribe_mailing SET ?% WHERE id=? LIMIT 1", $subscribe, intval($id)); $this->db->query($query); return $id; }
Фукнция обновления подписчика
Функция принимает два аргумента $id, $subscribe
Параметры которые содержит функция:
- $id - id подписчика, которого следует обновить
- $subscribe - данные для обновления
Функция возвращает id обновленного подписчика
Функция delete_subscribe()
public function delete_subscribe($ids) { if(!empty($ids)) { $this->db->query('delete from __subscribe_mailing where id in(?@)', $ids); } }
Фукнция удаления подписчика
Функция принимает один аргумент $id
Параметры которые содержит функция:
- $id - id подписчика, которого следует обновить