Файл: housetrack/modules/smiles/controllers/smiles_admin.php
Строк: 80
<?php
/**
* MobileCMS
*
* Open source content management system for mobile sites
*
* @author MobileCMS Team <support@mobilecms.ru>
* @copyright Copyright (c) 2011, MobileCMS Team
* @link http://mobilecms.ru Official site
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*/
defined('IN_SYSTEM') or die('<b>403<br />Запрет доступа!</b>');
//---------------------------------------------
/**
* Админская часть модуля формат
*/
class Smiles_Admin_Controller extends Controller {
/**
* Уровень пользовательского доступа
*/
public $access_level = 10;
/**
* Тема
*/
public $template_theme = 'admin';
/**
* Конструктор
*/
public function __construct() {
parent::__construct();
if(!class_exists('smiles')) a_import('modules/smiles/helpers/smiles');
}
/**
* Метод по умолчанию
*/
public function action_index() {
$this->action_list_smiles();
}
/**
* Листинг смайлов
*/
public function action_list_smiles() {
$this->per_page = 20;
# Получение данных
$group = TRUE;
$smiles = $this->db->get_array("SELECT SQL_CALC_FOUND_ROWS *
FROM #__smiles ". ($group ? 'GROUP BY image ' : '') ." LIMIT $this->start, $this->per_page
");
$total = $this->db->get_one("SELECT FOUND_ROWS()");
# Пагинация
$pg_conf['base_url'] = a_url('smiles/admin/list_smiles', 'start=');
$pg_conf['total_rows'] = $total;
$pg_conf['per_page'] = $this->per_page;
a_import('libraries/pagination');
$pg = new CI_Pagination($pg_conf);
$this->tpl->assign(array(
'smiles' => $smiles,
'total' => $total,
'pagination' => $pg->create_links()
));
$this->tpl->display('list_smiles');
}
/**
* Добавление / Редактирование новости
*/
public function action_smile_edit() {
if (is_numeric($_GET['smile_id'])) {
$smile = $this->db->get_row("SELECT * FROM #__smiles WHERE smile_id = '". intval($_GET['smile_id']) ."'");
$action = 'edit';
}
else {
$smile = array('image' => '', 'code' => '');
$action = 'add';
}
if (isset($_POST['submit'])) {
main::is_demo();
if (empty($_POST['code'])) $this->error .= 'Укажите текст новости<br />';
if (!$this->error) {
if ($action == 'add') {
$this->db->query("INSERT INTO #__smiles SET
image = '". a_safe($_POST['image']) ."',
code = '". mysql_real_escape_string(main::tinymce_p_br($_POST['code'])) ."'
");
$message = 'Смайл успешно добавлен!';
}
if($action == 'edit') {
$this->db->query("UPDATE #__smiles SET
image = '". a_safe($_POST['image']) ."',
code = '". mysql_real_escape_string(main::tinymce_p_br($_POST['code'])) ."'
WHERE
smile_id = '". intval($_GET['smile_id']) ."'
");
$message = 'Смайл успешно изменен!';
}
a_notice($message, a_url('smiles/admin'));
}
}
if(!isset($_POST['submit']) || $this->error) {
$this->tpl->assign(array(
'smile' => $smile,
'error' => $this->error,
'action' => $action
));
}
$this->tpl->display('smile_edit');
}
/**
* Обновление смайлов
*/
public function action_smiles_update() {
smiles::smiles_update(&$this->db);
a_notice("Смайлы успешно обновлены!", a_url('smiles/admin'));
}
/**
* Удаление новости
*/
public function action_delete() {
main::is_demo();
$this->db->query("DELETE FROM #__smiles WHERE smile_id = '". intval($_GET['smile_id']) ."'");
a_notice('Смайл успешно удален!', a_url('smiles/admin'));
}
}
?>