Вход Регистрация
Файл: CMS/core/modules/users_ignor.php
Строк: 212
<?php

if (!defined('CMS')) { die('Access Denied!'); }

if (
$is_logged) {

    
$error = '';

    if (!empty(
$_REQUEST['add_ignor'])) {

        
$user = !empty($_REQUEST['user']) ? check($_REQUEST['user']) : '';

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

          if (
$user != $log) {

            
$row = $db->selectRow("SELECT * FROM ?_users WHERE `users_login` = ? LIMIT 1;", $user);

            if (!empty(
$row)) {

              if (
$row['users_level'] < 101 || $row['users_level'] > 105) {

                
$total = (int) $db->selectCell("SELECT COUNT(*) FROM ?_users_ignor_list WHERE `ignore_user` = ?;", $log);

                if (
$total <= $config['max_ignor_list']) {

                  
$addstr = (int) $db->selectCell("SELECT `ignore_id` FROM ?_users_ignor_list
                                                   WHERE `ignore_user` = ? AND `ignore_name` = ? LIMIT 1;"
, $log, $user);

                  if (
$addstr < 1) {

                    if (
$uset['users_timeaddlist'] < SITE_TIME) {

                      
$db->query("INSERT INTO ?_users_ignor_list (`ignore_user`, `ignore_name`, `ignore_time`) 
                                  VALUES (?, ?, ?);"
, $log, $user, SITE_TIME);

                      
$is_ignor = (int) $db->selectCell("SELECT `ignore_id` FROM ?_users_ignor_list 
                                                         WHERE `ignore_user` = ? AND `ignore_name` = ? LIMIT 1;"
, $user, $log);

                      if (
$is_ignor < 1) {

                        
$db->query("UPDATE ?_users SET `users_timeaddlist` = ? WHERE `users_login` = ?", SITE_TIME + 300, $log);

                        
$db->query("UPDATE ?_users SET `users_newprivat` = (`users_newprivat` + 1) WHERE `users_login` = ?", $user);

                        
$textpriv  = '<img src="' . $config['site_url'] . '/images/img/custom.gif" alt="" /> ';
                        
$textpriv .= 'Пользователь [b]' . nickname($log) . '[/b] добавил вас в свой игнор-лист!';

                        
$db->query("INSERT INTO ?_users_inbox (`inbox_user`, `inbox_author`, `inbox_text`, `inbox_time`)
                                    VALUES (?, ?, ?, ?);"
, $user, $log, $textpriv, SITE_TIME);
                      }

                      
$inSes->addMessage('Пользователь успешно отправлен в игнор!', 'ok');

                      
gen_red('ignor', '', RND);
                    }
                    else 
$error = 'Ошибка! Нельзя слишком часто отправлять в игнор, подождите 5 минут!';
                  }
                  else 
$error = 'Ошибка! Данный пользователь уже есть в игнор-листе!';
                }
                else 
$error = 'Ошибка! В игнор-листе разрешено не более ' . $config['max_ignor_list'] . ' пользователей!';
              }
              else 
$error = 'Ошибка! Запрещено добавлять в игнор администрацию сайта!';
            }
            else 
$error = 'Ошибка! Данного адресата не существует!';
          }
          else 
$error = 'Ошибка! Запрещено добавлять свой логин!';
        }
        else 
$error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';

        if (!empty(
$error)) $inSes->addMessage($error, 'error');
    }

    else if (!empty(
$_POST['del'])) {

        
$del = intar($_POST['del']);

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

          if (!empty(
$del)) {

            if (
is_array($del)) {

              
$del = implode(',', $del);

              
$db->query("DELETE FROM ?_users_ignor_list WHERE `ignore_id` IN (" . $del . ") AND `ignore_user` = ?;", $log);
            }
            else {

              
$db->query("DELETE FROM ?_users_ignor_list WHERE `ignore_id` = ? AND `ignore_user` = ?;", $del, $log);
            }

            
$db->query("OPTIMIZE TABLE ?_users_contact_list, ?_users_ignor_list");

            
$inSes->addMessage('Выбранные пользователи успешно удалены из игнора!', 'ok');
          }
          else 
$inSes->addMessage('Ошибка! Не выбраны пользователи для удаления!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    if (!empty(
$_GET['clear'])) {

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            
$db-> query("DELETE FROM ?_users_ignor_list WHERE `ignore_user` = ?;", $log);

            
$inSes->addMessage('Все пользователи успешно удалены из игнора!', 'ok');

            
$db->query("OPTIMIZE TABLE ?_users_contacts, ?_users_ignor_list, ?_users_privat");

            
gen_red('ignor', '', RND);
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    switch (
$mod):
    default:

        
show_header('Игнор-лист');

        
$onpage = !empty($config['ignor_num']) ? num($config['ignor_num']) : 10;

        if (
$page > 1) $from = ($page - 1) * $onpage; else $from = 0;

        
$rows = $db->selectPage($total, "SELECT * FROM ?_users_ignor_list WHERE `ignore_user` = ?
                                         ORDER BY `ignore_time` DESC LIMIT ?d, ?d"
, $log, $from, $onpage);

        if (!empty(
$rows) && $total > 0) {

            echo 
'<form action="?rnd=' . $_SESSION['token'] . '" method="post" name="ignor">';

            foreach (
$rows as $row) {

                echo 
'<div class="b"><div class="img">' . user_avatars($row['ignore_name']) . '</div>';
                echo 
'<b>' . users_anketa($row['ignore_name']) . '</b> <small>(' . get_date($row['ignore_time']) . ')</small><br />';
                echo 
user_title($row['ignore_name']) . ' ' . user_online($row['ignore_name']) . '<br />';

                if (!empty(
$row['ignore_text'])) {

                    echo 
'Заметка: ' . $row['ignore_text'] . '<br />';
                }

                echo 
'<input type="checkbox" name="del[]" value="' . $row['ignore_id'] . '" /> ';
                echo 
'<a href="' . gen_uri('add_privat', '', 'user=' . $row['ignore_name']) . '">Написать</a> | ';
                echo 
'<a href="' . gen_uri('note_ignor', $row['ignore_id']) . '">Заметка</a>';
                echo 
'</div>';
            }

            echo 
'<div class="b">';
            echo 
'<input type="checkbox" name="master_box" title="Отметить всё" onclick="javascript:ckeck_uncheck_all()">';
            echo 
'<input type="submit" class="btns" value="Удалить выбранное" /></form></div>';

            echo 
show_pages('ignor', '', 'p');

            echo 
'<div class="b">- Всего в игноре: <b>' . num($total) . '</b><br />';
            echo 
'- Объем игнора: <b>' . num($config['max_ignor_list']) . '</b><br /></div>';
        }
        else {

            
show_error('Игнор-лист пуст!');
        }

        echo 
'<div class="b form"><form action="?rnd=' . $_SESSION['token'] . '" method="post">';
        echo 
'Логин юзера:<br /><input type="text" name="user" value="' . request('user') . '" />';
        echo 
'<input type="submit" class="btns" name="add_ignor" value="Добавить" /></form></div>';

        if (
$total > 0) {

            echo 
'<div class="b">' . icon('error.gif', 'icons');
            echo 
' <a href="?clear=1&amp;rnd=' . $_SESSION['token'] . '">Очистить список</a><br /></div>';
        }

        echo <<<JSCRIPT

<script language='JavaScript' type="text/javascript">
<!--
function ckeck_uncheck_all() {
    var frm = document.ignor;
    if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
    for (var i=0;i<frm.elements.length;i++) {
        var elmnt = frm.elements[i];
        if (elmnt.type=='checkbox') {
            if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
        }
    }
}
-->
</script>

JSCRIPT;

    break;
    case 
'note_ignor':

        if (!empty(
$_POST['cancel'])) {

            
gen_red('ignor', '', 'page=' . $page);
        }

        if (!empty(
$id)) {

            
$row = $db->selectRow("SELECT * FROM ?_users_ignor_list 
                                   WHERE `ignore_id` = ? AND `ignore_user` = ? LIMIT 1;"
, $id, $log);

            if (!empty(
$row)) {

                if (!empty(
$_POST['submit'])) {

                    
$msg = !empty($_POST['msg']) ? check($_POST['msg']) : '';

                    if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                        if (
cms_strlen($msg) < 1000) {

                            
$db->query("UPDATE ?_users_ignor_list SET `ignore_text` = ? 
                                        WHERE `ignore_id` = ? AND `ignore_user` = ?;"
, $msg, $id, $log);

                            
$inSes->addMessage('Заметка успешно отредактирована!', 'ok');
                        }
                        else 
$inSes->addMessage('Ошибка! Слишком длинная заметка (не более 1000 символов)!');
                    }
                    else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');

                    
gen_red('ignor', '', 'page=' . $page);
                }

                
show_header('Игнор-лист - Заметка');
                echo 
'<div class="b">' . icon('edit.png', 'icons');
                echo 
' Заметка для пользователя <b>' . nickname($row['ignore_name']) . '</b> ';
                echo 
user_online($row['ignore_name']) . ':<br /></div>';
                
$form = new cmsForm(gen_uri('note_ignor', $id, 'page=' . $page . '&amp;rnd=' . $_SESSION['token']));
                
$form->addTextarea('Заметка:', 'msg', $row['ignore_text']);
                echo 
$form->Submit(array('Редактировать','Отмена'), array('submit','cancel'));
                unset(
$form);
            }
            else {

                
$inSes->addMessage('Ошибка! Пользователь не найден!');
                
gen_red('ignor', '', 'page=' . $page);
            }
        }
        else {

            
$inSes->addMessage('Ошибка! Не выбран пользователь для добавления заметки!');
            
gen_red('ignor', '', 'page=' . $page);
        }

    break;
    endswitch;
}
else {

    
show_header('Игнор-лист');
    
show_login('Вы не авторизованы, для просмотра игнор-листа, необходимо');
}

echo 
'<div class="b">' . icon('return.png');
echo 
'<a href="' . gen_uri('contact', '', RND) . '">Контакты</a> | ';
echo 
'<a href="' . gen_uri('privat', '', RND) . '">Почта</a> | ';
echo 
'<a href="' . gen_uri('friends', '', RND) . '">Друзья</a><br /></div>';

?>
Онлайн: 2
Реклама