Вход Регистрация
Файл: modules/messaging/message.php
Строк: 158
<?php
switch($do):

default:
$id filter_input(INPUT_GET,'id',FILTER_SANITIZE_NUMBER_INT);
$id intval($id);

//Передаем данные по $id и распределяем по папкам данные
if(!isset($id) and !is_numeric($id)) {
    
header('Location: menu.php');
    exit;
}
/**
 * Если $id == 1 Выводит "Новые письма"
 * Если $id == 2 Выводит "Все мои переписки"
 * Если $id == 3 Выводит "Неотправленные письма"
 */
if($id == 1) {
    echo 
'<div class="mainname">'.Lang::__('Новые').'</div>';        
}elseif(
$id == 2) {
    echo 
'<div class="mainname">'.Lang::__('Мои переписки').'</div>';
}elseif(
$id == 3) {  
    echo 
'<div class="mainname">'.Lang::__('Черновики').'</div>';        
}
echo 
'<div class="mainpost">';    
    
/**
     * Если $id == 1 Выводит счетчик "Новых писем"
     * Если $id == 2 Выводит счетчик "Всех моих переписок"
     * Если $id == 3 Выводит счетчик "Неотправленных писем"
     */
    
if($id == 1) {
        
$rows $db->get_array($db->query("SELECT COUNT(*) FROM `messaging_topics` WHERE `id_user` = '".$id_user."' AND `time` > '".(time()-86400)."'"));        
    }elseif(
$id == 2) {
    
$rows $db->get_array($db->query("SELECT COUNT(*) FROM `messaging_topics` WHERE `id_user` = '".$id_user."'"));
    }elseif(
$id == 3) {
    
$rows $db->get_array($db->query("SELECT COUNT(*) FROM `messaging_topics` WHERE `id_user` = '".$id_user."' AND `id_dir` = '3'"));
    }   

    
//Если папок не найдено
    
if($rows[0] == 0) {
    echo 
engine::error(Lang::__('Тем не найдено!'));
        echo 
'</div>';
    exit;
    }
    
//Постраничная навигация
    
$newlist = new Navigation($rows[0],10true);
    
    
/**
     * Выводим все темы и сообщения в личном ящике из папки Мои переписки за сутки
     * Выводим все темы и сообщения в личном ящике из папки Мои переписки
     * Выводим все темы и сообщения в личном ящике из папки Мои черновики
     */
    
if($id == 1) {
    
$user_topics $db->query("SELECT * FROM `messaging_topics_user` WHERE `id_user` = '".$id_user."' AND `time` > '".(time()-86400)."' ORDER BY `id` DESC "$newlist->limit()."");                  
    }elseif(
$id == 2) {
    
$user_topics $db->query("SELECT * FROM `messaging_topics_user` WHERE `id_user` = '".$id_user."' ORDER BY `id` DESC "$newlist->limit()."");
    }elseif(
$id == 3) {
    
$user_topics $db->query("SELECT * FROM `messaging_topics_user` WHERE `id_user` = '".$id_user."' AND `id_dir` = '3' ORDER BY `id` DESC "$newlist->limit()."");            
    }
    
//Выводим ваши темы
    
while($user_top $db->get_array($user_topics)) {
        echo 
'<div class="subpost">';
                
//Получаем из базы названия темы через $id
        
$messaging_topics $db->get_array($db->query("SELECT * FROM `messaging_topics` WHERE `id` = '".$user_top['id_topics']."'"));
        
//Получаем из базы все сообщения и дополнительные данные
        
$messaging $db->get_array($db->query("SELECT * FROM `messaging` WHERE `id_topics` = '".$messaging_topics['id']."'"));
        
//Получаем данные по автору темы
        
$nick $user->users($messaging['id_user'],array('nick'),true);
        
//Получаем данные по получателю темы
        
$nick_post $user->users($messaging['id_post'],array('nick'),true);
        
//Выводим Названия темы если есть
            
if($messaging['id_dir'] == 2) {
            echo 
'<img src="/engine/template/icons/email.png"> <b><a href="?act=topics&id='.$messaging_topics['id'].'">'.$messaging_topics['name'].'</a></b>';
            echo 
'<font style="margin-left:5px;font-size:11px;" color="green">'.Lang::__('Отправлено').'</font>';
            }elseif(
$messaging['id_dir'] == 3) {
            echo 
'<img src="/engine/template/icons/email.png"> <b><a href="?act=message&do=view&id='.$messaging_topics['id'].'">'.$messaging_topics['name'].'</a></b>';
            echo 
'<font style="margin-left:5px;font-size:11px;" color="red">'.Lang::__('В черновике').'</font>';
            }
        echo 
'<span class="time"><a href="?act=delete_topics&TopicID='.$messaging_topics['id'].'"><img src="/engine/template/icons/delete.png"></a></span>';
        echo 
'<br/>';
        
//Выводим Автора темы и Получателя
        
echo '<div class="desc">Автор: ';
                echo 
'<a href="/modules/profile.php?act=view&id='.$messaging['id_user'].'">'.$nick.'</a>'
        echo 
'Получатель: <a href="/modules/profile.php?act=view&id='.$messaging['id_post'].'">'.$nick_post.'</a>';
        echo 
'</div>';
        echo 
'</div>';
    }
        
    
//Вывод навигации
    
echo $newlist->pagination('act=message&id='.$id.'');             
    echo 
'</div>';
    
    echo 
engine::home(array(Lang::__('Назад'),'messaging.php'));
    
break;


//Вывод по id данные из черновика
case 'view':
$id filter_input(INPUT_GET,'id',FILTER_SANITIZE_NUMBER_INT);
$id intval($id);

//Передаем данные по $id и распределяем по папкам данные
if(!isset($id) and !is_numeric($id)) {
    
header('Location: menu.php');
    exit;
}

//Выводим данные из черновика по $id
$new_send $db->get_array($db->query("SELECT * FROM `messaging_topics` WHERE `id` = '".$id."'"));
//Выводим текст в черновик из $id
$new_message $db->get_array($db->query("SELECT * FROM `messaging` WHERE `id_topics` = '".$id."'"));
//Вывод ника
$nick $user->users($new_send['id_post'],array('nick'));

    
//Проверяем если активна кнопка, введена название и введен текст то ....
    
if(isset($_POST['submit']) and isset($_POST['name']) and isset($_POST['text'])) {
    
//Обрабатываем тему
        
$name filter_input(INPUT_POST,'name',FILTER_SANITIZE_STRING);    
    
//Обрабатывает сообщение
        
$text filter_input(INPUT_POST,'text',FILTER_SANITIZE_STRING);
       
$topic engine::input_text($text);     
        
    
//Если название темы превышает больше 255 символов вроизойдет ошибка
    
if(strlen($name) > 255) {
        echo 
engine::error(Lang::__('Превышено максимальное количество символов')); //Текст ошибки
        
echo engine::home(array(Lang::__('Назад'),'?act=message&do=view&id='.$id.'')); //Переадресация
        
exit;
    }
        
//Если название отсутствует
    
if(empty($name)) {
        echo 
engine::error('Введите тему');
    }elseif(!
$topic){
        echo 
engine::error('Введите сообщение');
    }elseif(isset(
$_POST['submit'])) {
        
//Если правильно все добавляем данные в базу
        
$db->query("INSERT INTO `messaging_topics` (`id_user`,`id_post`,`id_dir`,`time`,`name`) VALUES ('".$id_user."','".$new_send['id_post']."','2','".TIME()."','".$db->safesql($name)."')");
        
//Выводим данные для следующей передачи
        
$message_topics $db->get_array($db->query("SELECT * FROM `messaging_topics` WHERE `id_user` = '".$id_user."' AND `id_post` = '".$new_send['id_post']."' AND `name` = '".$name."'"));
        
//Добавим данные новые в новую таблицу и создаем таблицы для $id_user || $new_send['id_post']
        
$db->query("INSERT INTO `messaging_topics_user` (`id_user`,`id_dir`,`id_topics`,`time`) VALUES ('".$message_topics['id_user']."','2','".$message_topics['id']."','".time()."') , ('".$message_topics['id_post']."','2','".$message_topics['id']."','".time()."')");
        
//Передаем текст сообщенияв базу Mysqli
        
$db->query("INSERT INTO `messaging` (`id_dir`,`id_topics`,`id_user`,`id_post`,`text`,`time`,`action`) VALUES ('2','".$message_topics['id']."','".$message_topics['id_user']."','".$message_topics['id_post']."','".$db->safesql($topic)."','".TIME()."','0')");
        
//Переадресация
        
header("Location: /modules/messaging.php");
    }
    }

    
//Текст пересылки
    
echo '<div class="mainname">'.Lang::__('Отправка личного сообщения для').'&nbsp;'.$nick.'</div>';
    echo 
'<div class="mainpost">';
    
    
$form = new form('?act=message&do=view&id='.$id.''); //Посылаем данные через $_POST
    
$form->input('<b>'.Lang::__('Тема').'</b>','name','text',$new_send['name']); // Название введенное и разрешение на редактирование
    
$form->textarea('Сообщение','text',$new_message['text']); //Текст введеннок и разрещение на редактирование
    
$form->submit('Отправить','submit'); //Кнопка отправки данных
    
$form->display(); //Выводим форму
        
    
echo '</div>';
    
break;

endswitch;
Онлайн: 2
Реклама