Файл: housetrack/modules/blacklist/controllers/blacklist.php
Строк: 56
<?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 Blacklist_Controller extends Controller {
/**
* Уровень пользовательского доступа
*/
public $access_level = 5;
/**
* Метод по умолчанию
*/
public function action_index() {
$this->action_blacklist();
}
/**
* Добавление
*/
public function action_add() {
if(!$user = $this->db->get_row("SELECT * FROM #__users WHERE user_id = '". intval($_GET['user_id']) ."' AND
user_id != -1")) {
a_error('Пользователь не найден!');
}
if($user['user_id'] == USER_ID) {
a_error('Добавить самого себя в черный список невозможно!');
}
// Проверяем на наличие в списке
if($this->db->get_row("SELECT * FROM #__blacklist WHERE blacklist_user_id = '". USER_ID ."' AND user_id = '". $user['user_id'] ."'")) {
a_error('Пользователь уже есть в вашем черном списке!');
}
if(!empty($_GET['confirm'])) {
$this->db->query("INSERT INTO #__blacklist SET
blacklist_user_id = '". USER_ID ."',
user_id = '". $user['user_id'] ."'
");
a_notice('Пользователь добавлен в черный список', a_url('user/profile/view', 'user_id='. $user['user_id']));
}
else {
a_confirm('Вы уверены что хотите добавить пользователя <b>'. $user['username'] .'</b> в черный список?', a_url('blacklist/add', 'user_id='. $user['user_id'] .'&confirm=ok'),
a_url('user/profile/view', 'user_id='. $user['user_id']));
}
}
/**
* Получение черного списка
*/
public function action_blacklist() {
$sql = "SELECT SQL_CALC_FOUND_ROWS bl.*, u.status AS user_status, up.avatar AS avatar_exists, u.last_visit
FROM #__blacklist AS bl LEFT JOIN #__users AS u USING(user_id) LEFT JOIN #__users_profiles AS up USING(user_id) WHERE bl.blacklist_user_id = '". USER_ID ."' ORDER BY u.rating DESC LIMIT $this->start, $this->per_page";
$blacklist = $this->db->get_array($sql);
$total = $this->db->get_one("SELECT FOUND_ROWS()");
# Пагинация
$pg_conf['base_url'] = a_url('blacklist', 'start=0');
$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(
'blacklist' => $blacklist,
'pagination' => $pg->create_links()
));
$this->tpl->display('blacklist');
}
/**
* Удаление
*/
public function action_delete() {
if(!$user = $this->db->get_row("SELECT * FROM #__blacklist
WHERE blacklist_user_id = '". USER_ID ."' AND user_id = '". intval($_GET['user_id']) ."'")) {
a_error("Пользователя нет в вашем черном списке!");
}
if(!empty($_GET['confirm'])) {
$this->db->query("DELETE FROM #__blacklist WHERE blacklist_user_id = '". USER_ID ."' AND user_id = '". $user['user_id'] ."'");
a_notice('Пользователь удален с черного списка!', a_url('blacklist', 'start='. @$_GET['start']));
}
else {
a_confirm('Вы уверены что хотите удалить пользователя с черного списка?', a_url('blacklist/delete', 'user_id='. $user['user_id'] .'&start='. @$_GET['start'] .'&confirm=ok'),
a_url('blacklist', 'start='. @$_GET['start']));
}
}
}
?>