Вход Регистрация
Файл: 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$userSITE_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$textprivSITE_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>';

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