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

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

if (
$is_logged) {

    
$error '';

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

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

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

          if (
$user != $log || is_admin(array(101))) {

            
$is_user = (int) $db->selectCell("SELECT `users_id` FROM ?_users WHERE `users_login` = ? LIMIT 1;"$user);

            if (
$is_user 0) {

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

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

                
$addstr = (int) $db->selectCell("SELECT `contact_id` FROM ?_users_contact_list 
                                                 WHERE `contact_user` = ? AND `contact_name` = ? LIMIT 1;"
$log$user);

                if (
$addstr 1) {

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

                    
$db->query("INSERT INTO ?_users_contact_list (`contact_user`, `contact_name`, `contact_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');
                  }
                  else 
$error 'Ошибка! Нельзя слишком часто добавлять в контакты, подождите 5 минут!';
                }
                else 
$error 'Ошибка! Данный пользователь уже есть в контакт-листе!';
              }
              else 
$error 'Ошибка! В контакт-листе разрешено не более ' $config['max_contact_list'] . ' пользователей!';
            }
            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_contact_list WHERE `contact_id` IN (" $del ") AND `contact_user` = ?;"$log);
            }
            else {

              
$db->query("DELETE FROM ?_users_contact_list WHERE `contact_id` = ? AND `contact_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_contact_list WHERE `contact_user` = ?;"$log);

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

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

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

    switch (
$mod):
    default:

        
show_header('Контакт-лист');

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

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

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

        if (
$total 0) {

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

            foreach(
$rows as $row) {

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

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

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

                echo 
'<input type="checkbox" name="del[]" value="' $row['contact_id'] . '" /> ';
                echo 
'<a href="' gen_uri('add_privat''''user=' $row['contact_name']) . '">Написать</a> | ';
                echo 
'<a href="' gen_uri('note_contact'$row['contact_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>';

            
show_pages('contact''''p');

            echo 
'<div class="b">- Всего в контактах: <b>' num($total) . '</b><br />';
            echo 
'- Объем контактов: <b>' num($config['max_contact_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_contact" 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.contact;
    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; }
        }
    }
    //if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    //else{ frm.master_box.checked = true; }
}
-->
</script>

JSCRIPT;

    break;
    case 
'note_contact':

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

            
gen_red('contact''''page=' $page);
        }

        if (!empty(
$id)) {

            
$row $db->selectRow("SELECT * FROM ?_users_contact_list WHERE `contact_id` = ? AND `contact_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_contact_list SET `contact_text` = ? 
                                        WHERE `contact_id` = ? AND `contact_user` = ?;"
$msg$id$log);

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

                    
gen_red('contact''''page=' $page);
                }

                
show_header('Контакт-лист - Заметка');
                echo 
'<div class="b">' icon('edit.png''icons');
                echo 
' Заметка для пользователя <b>' nickname($row['contact_name']) . '</b> ';
                echo 
user_online($row['contact_name']) . ':<br /></div>';
                
$form = new cmsForm(gen_uri('note_contact'$id'page=' $page '&amp;rnd=' $_SESSION['token']));
                
$form->addTextarea('Заметка:''msg'$row['contact_text']);
                echo 
$form->Submit(array('Редактировать','Отмена'), array('submit','cancel'));
                unset(
$form);
            }
            else {
                
$inSes->addMessage('Ошибка! Пользователь не найден!');
                
gen_red('contact''''page=' $page);
            }
        }
        else {
            
$inSes->addMessage('Ошибка! Не выбран пользователь для добавления заметки!');
            
gen_red('contact''''page=' $page);
        }

    break;
    endswitch;
}
else {

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

echo 
'<div class="b">' icon('return.png');
echo 
'<a href="' gen_uri('ignor'''RND) . '">Игнор-лист</a> | ';
echo 
'<a href="' gen_uri('privat'''RND) . '">Почта</a> | ';
echo 
'<a href="' gen_uri('friends'''RND) . '">Друзья</a><br /></div>';

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