Вход Регистрация
Файл: public_html/pages/wall.php
Строк: 136
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#    
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' . $config['themes'] . '/index.php');

$config['wallpost'] = 10;
$config['wallmaxpost'] = 100;

if (isset(
$_GET['act'])) {
  
$act = check($_GET['act']);
} else {
  
$act = 'index';
} 
if (isset(
$_GET['start'])) {
  
$start = abs(intval($_GET['start']));
} else {
  
$start = 0;
} 
if (empty(
$_GET['uz'])) {
  
$uz = check($log);
} else {
  
$uz = check(strval($_GET['uz']));
} 

show_title('site.png', 'Стена сообщений');

$queryuser = DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE `users_login`=? LIMIT 1;", array($uz));
if (!empty(
$queryuser)) {
  switch (
$act):
  
# ###########################################################################################
  # #                                    Главная страница                                    ##
  # ###########################################################################################
  
case 'index':

    
$config['newtitle'] = 'Стена пользователя ' . nickname($uz);
    echo 
'<img src="../images/img/wall.gif" alt="image" /> <b>Стена  пользователя ' . nickname($uz) . '</b><br /><br />';

    
$total = DB :: $dbh -> querySingle("SELECT count(*) FROM `wall` WHERE `wall_user`=?;", array($uz));

    if (
$uz == $log && $udata['users_newwall'] > 0) {
      echo 
'<div style="text-align:center"><b><span style="color:#ff0000">Новых записей: ' . $udata['users_newwall'] . '</span></b></div>';
      
DB :: $dbh -> query("UPDATE `users` SET `users_newwall`=? WHERE `users_login`=?;", array(0, $log));
    } 

    if (
$total > 0) {
      if (
$start >= $total) {
        
$start = 0;
      } 

      
$is_admin = is_admin(array(101, 102, 103, 105));

      if (
$is_admin) {
        echo 
'<form action="wall.php?act=del&amp;uz=' . $uz . '&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
      } elseif (
$uz == $log) {
        echo 
'<form action="wall.php?act=delete&amp;uz=' . $uz . '&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
      } 

      
$querywall = DB :: $dbh -> query("SELECT * FROM `wall` WHERE `wall_user`=? ORDER BY `wall_time` DESC LIMIT " . $start . ", " . $config['wallpost'] . ";", array($uz));

      while (
$data = $querywall -> fetch()) {
        echo 
'<div class="b">';
        echo 
'<div class="img">';

        if (
$is_admin || $uz == $log) {
          echo 
'<input type="checkbox" name="del[]" value="' . $data['wall_id'] . '" /> ';
        } 

        echo 
user_avatars($data['wall_login']) . '</div>';

        echo 
'<b><a href="../pages/anketa.php?uz=' . $data['wall_login'] . '&amp;' . SID . '">' . nickname($data['wall_login']) . '</a></b> <small>(' . date_fixed($data['wall_time']) . ')</small><br />';
        echo 
user_title($data['wall_login']) . ' ' . user_online($data['wall_login']) . '</div>';

        if (
$uz == $log && $log != $data['wall_login']) {
          echo 
'<div class="right">';
          echo 
'<a href="privat.php?act=submit&amp;uz=' . $data['wall_login'] . '&amp;' . SID . '">Приват</a> / ';
          echo 
'<a href="wall.php?uz=' . $data['wall_login'] . '&amp;' . SID . '">Стена</a> / ';
          echo 
'<a href="wall.php?act=spam&amp;id=' . $data['wall_id'] . '&amp;start=' . $start . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" onclick="return confirm('Вы подтверждаете факт спама?')">Спам</a></div>';
        } 

        echo 
'<div>' . bb_code($data['wall_text']) . '</div>';
      } 

      if (
$is_admin || $uz == $log) {
        echo 
'<br /><input type="submit" value="Удалить выбранное" /></form>';
      } 

      
page_jumpnavigation('wall.php?uz=' . $uz . '&amp;', $config['wallpost'], $start, $total);
      
page_strnavigation('wall.php?uz=' . $uz . '&amp;', $config['wallpost'], $start, $total);
    } else {
      
show_error('Записок еще нет!');
    } 

    if (
is_user()) {
      echo 
'<div class="form" id="form">';
      echo 
'<form action="wall.php?act=add&amp;uz=' . $uz . '&amp;uid=' . $_SESSION['token'] . '&amp;' . SID . '" method="post">';
      echo 
'Сообщение:<br />';
      echo 
'<textarea cols="25" rows="3" name="msg"></textarea><br />';
      echo 
'<input type="submit" value="Написать" /></form></div><br />';
    } else {
      
show_login('Вы не авторизованы, чтобы написать на стене, необходимо');
    } 

    echo 
'Всего записей: <b>' . $total . '</b><br /><br />';
    break;
  
# ###########################################################################################
  # #                                    Добавление сообщения                                ##
  # ###########################################################################################
  
case 'add':

    
$uid = check($_GET['uid']);
    
$msg = check($_POST['msg']);

    if (
is_user()) {
      if (
$uid == $_SESSION['token']) {
        if (
utf_strlen($msg) >= 5 && utf_strlen($msg) < 1000) {
          
$ignorstr = DB :: $dbh -> querySingle("SELECT `ignore_id` FROM `ignore` WHERE `ignore_user`=? AND `ignore_name`=? LIMIT 1;", array($uz, $log));
          if (empty(
$ignorstr)) {
            if (
is_quarantine($log)) {
              if (
is_flood($log)) {
                
$msg = no_br($msg);
                
$msg = antimat($msg);
                
$msg = smiles($msg);

                if (
$uz != $log) {
                  
DB :: $dbh -> query("UPDATE `users` SET `users_newwall`=`users_newwall`+1 WHERE `users_login`=?", array($uz));
                } 

                
DB :: $dbh -> query("INSERT INTO `wall` (`wall_user`, `wall_login`, `wall_text`, `wall_time`) VALUES (?, ?, ?, ?);", array($uz, $log, $msg, SITETIME));

                
DB :: $dbh -> query("DELETE FROM `wall` WHERE `wall_user`=? AND `wall_time` < (SELECT MIN(`wall_time`) FROM (SELECT `wall_time` FROM `wall` WHERE `wall_user`=? ORDER BY `wall_time` DESC LIMIT " . $config['wallmaxpost'] . ") AS del);", array($uz, $uz));

                
$_SESSION['note'] = 'Запись успешно добавлена!';
                
header ("Location: wall.php?uz=$uz&" . SID);
                exit;
              } else {
                
show_error('Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' секунд!');
              } 
            } else {
              
show_error('Карантин! Вы не можете писать в течении ' . round($config['karantin'] / 3600) . ' часов!');
            } 
          } else {
            
show_error('Ошибка! Вы внесены в игнор-лист пользователя!');
          } 
        } else {
          
show_error('Ошибка! Слишком длинное или короткое сообщение!');
        } 
      } else {
        
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
      } 
    } else {
      
show_login('Вы не авторизованы, чтобы написать на стене, необходимо');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="wall.php?uz=' . $uz . '&amp;' . SID . '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                    Жалоба на спам                                      ##
  # ###########################################################################################
  
case 'spam':

    
$uid = check($_GET['uid']);
    
$id = abs(intval($_GET['id']));

    if (
is_user()) {
      if (
$uid == $_SESSION['token']) {
        
$querywall = DB :: $dbh -> query("SELECT * FROM `wall` WHERE `wall_user`=? AND `wall_id`=? LIMIT 1;", array($log, $id));
        
$data = $querywall -> fetch();

        if (!empty(
$data)) {
          
$queryspam = DB :: $dbh -> querySingle("SELECT `spam_id` FROM `spam` WHERE `spam_key`=? AND `spam_idnum`=? LIMIT 1;", array(4, $id));

          if (empty(
$queryspam)) {
            if (
is_flood($log)) {
              
DB :: $dbh -> query("INSERT INTO `spam` (`spam_key`, `spam_idnum`, `spam_user`, `spam_login`, `spam_text`, `spam_time`, `spam_addtime`, `spam_link`) VALUES (?, ?, ?, ?, ?, ?, ?, ?);", array(4, $data['wall_id'], $log, $data['wall_login'], $data['wall_text'], $data['wall_time'], SITETIME, $config['home'] . '/pages/wall.php?uz=' . $uz . '&amp;start=' . $start));

              
$_SESSION['note'] = 'Жалоба успешно отправлена!';
              
header ("Location: wall.php?uz=$uz&start=$start&" . SID);
              exit;
            } else {
              
show_error('Антифлуд! Разрешается жаловаться на спам не чаще чем раз в ' . flood_period() . ' секунд!');
            } 
          } else {
            
show_error('Ошибка! Вы уже отправили жалобу на данное сообщение!');
          } 
        } else {
          
show_error('Ошибка! Данное сообщение написано не на вашей стене!');
        } 
      } else {
        
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
      } 
    } else {
      
show_login('Вы не авторизованы, чтобы подать жалобу, необходимо');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="wall.php?uz=' . $uz . '&amp;start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                 Пользовательское удаление                              ##
  # ###########################################################################################
  
case 'delete':

    
$uid = check($_GET['uid']);
    if (isset(
$_POST['del'])) {
      
$del = intar($_POST['del']);
    } else {
      
$del = 0;
    } 

    if (
$uz == $log) {
      if (
$uid == $_SESSION['token']) {
        if (!empty(
$del)) {
          
$del = implode(',', $del);

          
$delcomments = DB :: $dbh -> query("DELETE FROM `wall` WHERE `wall_id` IN (" . $del . ") AND `wall_user`=?;", array($log));

          
$_SESSION['note'] = 'Выбранные записи успешно удалены!';
          
header ("Location: wall.php?uz=$uz&start=$start&" . SID);
          exit;
        } else {
          
show_error('Ошибка! Отстутствуют выбранные сообщения для удаления!');
        } 
      } else {
        
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
      } 
    } else {
      
show_error('Ошибка! Нельзя удалять записи на чужой стене!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="wall.php?uz=' . $uz . '&amp;start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                 Удаление комментариев                                  ##
  # ###########################################################################################
  
case 'del':

    
$uid = check($_GET['uid']);
    if (isset(
$_POST['del'])) {
      
$del = intar($_POST['del']);
    } else {
      
$del = 0;
    } 

    if (
is_admin(array(101, 102, 103, 105))) {
      if (
$uid == $_SESSION['token']) {
        if (!empty(
$del)) {
          
$del = implode(',', $del);

          
$delcomments = DB :: $dbh -> query("DELETE FROM `wall` WHERE `wall_id` IN (" . $del . ");");

          
$_SESSION['note'] = 'Выбранные записи успешно удалены!';
          
header ("Location: wall.php?uz=$uz&start=$start&" . SID);
          exit;
        } else {
          
show_error('Ошибка! Отстутствуют выбранные сообщения для удаления!');
        } 
      } else {
        
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
      } 
    } else {
      
show_error('Ошибка! Удалять записи могут только модераторы!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="wall.php?uz=' . $uz . '&amp;start=' . $start . '&amp;' . SID . '">Вернуться</a><br />';
    break;

  default:
    
header("location: wall.php?" . SID);
    exit;
    endswitch;
  } else {
  
show_error('Ошибка! Пользователь с данным логином  не зарегистрирован!');
} 

echo 
'<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a>';

include_once (
'../themes/' . $config['themes'] . '/foot.php');

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