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

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

$data = array();
$data = $db->selectRow("SELECT `u`.*,
                       (SELECT COUNT(`wall_id`) FROM ?_users_wall WHERE `wall_user` = `u`.`users_login`) AS `wall`
                        FROM ?_users `u` WHERE `u`.`users_id` = ? LIMIT 1;"
, $user_id);

if (empty(
$data) || !is_array($data)) {

    
$inSes->addMessage('Ошибка! Пользователь с данным логином не найден!');
    
redirect($config['site_url']);
}

if (
$data['users_ban'] == 1) {

    
$inSes->addMessage('Ошибка! Пользователь заблокирован!');
    
redirect($config['site_url']);
}

if (
$config['allow_regkeys'] > 0 && $data['users_confirmreg'] > 0) {

    
$inSes->addMessage('Ошибка! Пользователя не существует!');
    
redirect($config['site_url']);
}

    
/* Добавляем сообщение на стену */

    
if ($is_logged) {

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

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

        
$_SESSION['crc32'] = !empty($_SESSION['crc32']) ? $_SESSION['crc32'] : NULL;

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

          if (
cms_strlen($text) >= 3 && cms_strlen($text) <= 1000) {

            if ( 
crc32($text) <> $_SESSION[SP]['crc32'] ) {

              if (
is_flood($log)) {

                  
$_SESSION[SP]['crc32'] = crc32($text);

                  
$text = antimat($text);
                  
$text = smiles($text);

                  
$db->query("INSERT INTO ?_users_wall (`wall_user`, `wall_login`, `wall_text`, `wall_time`)
                              VALUES (?, ?, ?, ?);"
, $data['users_login'], $log, $text, SITE_TIME);

                  
$db->query("UPDATE ?_users SET `users_newwall` = (`users_newwall` + 1) WHERE `users_login` = ?", $data['users_login']);

                  
$inSes->addMessage('Сообщение успешно добавлено!', 'ok');

                  
gen_red('wall', '', RND);

              }
              else 
$inSes->addMessage('Антифлуд! Разрешается отправлять сообщения раз в ' . flood_period() . ' секунд!');
            }
            else 
$inSes->addMessage('Ошибка! Ваше сообщение <u>уже было</u> добавлено!');
          }
          else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
      }
    }

    
$nickname = nickname($data['users_login']);

    
show_header('Стена сообщений ' . $nickname);

    
$onpage = !empty($config['user_list']) ? (int) $config['user_list'] : 10;

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

    
$rows = array();
    
$rows = $db->selectPage($total, "SELECT `w`.*, `u`.`users_gender`, `u`.`users_id`, `v`.`visit_nowtime`
                                     FROM ?_users_wall `w`
                                     LEFT JOIN ?_users `u`
                                     ON `w`.`wall_login` = `u`.`users_login`
                                     LEFT JOIN ?_users_visit `v`
                                     ON `w`.`wall_login` = `v`.`visit_user`
                                     WHERE `w`.`wall_user` = ?
                                     ORDER BY `w`.`wall_time` DESC LIMIT ?d, ?d"
, $data['users_login'], $from, $onpage);

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

        
$c = $from + 1;

        foreach (
$rows as $numRow => $row) {

            echo 
'<div class="bl">';
            echo 
'<table class="w100"><tr>';
            echo 
'<td class="vhr" valign="top">' . user_avatars($row['wall_login']) . '</td>';
            echo 
'<td valign="top">';
            echo 
'<span class="fr xsmall">' . get_date($row['wall_time']) . '</span>';
            echo 
user_visit_icon($row['wall_login'], $row['users_gender'], $row['visit_nowtime']);
            echo 
' ' . users_anketa($row['users_id'], $row['wall_login']) . '<hr />';
            echo 
nl2br(bb_code($row['wall_text'])) . '</td></tr></table></div>';
        }

        echo 
show_pages('wall', '', 'p');
    }
    else {

        
show_error('Сообщений пока нет!');
    }

    if (
$is_logged) {

        
$form = new cmsForm('?rnd=' . $_SESSION['token'], 'post');
        
$form->addTextarea('Сообщение:', 'text', request('text'));
        echo 
$form->Submit('Написать', 'add_wall');
        unset(
$form);

        if (
$data['users_login'] == $log && $data['users_newwall'] > 0) {

            
$db->query("UPDATE ?_users SET `users_newwall` = '0' WHERE `users_login` = ?", $log);
        }
    }
    else {

        
show_login('Вы не авторизованы, чтобы добавить запись на стену, необходимо');
    }

    echo 
show_link(gen_uri('index', '', RND), 'Личка ' . $data['users_login']);

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