<?
switch($do):
default:
//Передаем данные по $id и распределяем по папкам данные
if(isset($_GET['id']) and is_numeric($_GET['id'])) {
//Переобразуем из $_GET в обычную $id
$id = (int) $_GET['id'];
if($id == 1) {
//Если $id == 1 то выведит название Новые
echo '<div class="mainname">'.Lang::__('Новые').'</div>';
}elseif($id == 2) {
//Если $id == 2 то выведит название Мои переписки
echo '<div class="mainname">'.Lang::__('Мои переписки').'</div>';
}elseif($id == 3) {
//Или если $id == 3 то выведит название Мои Черновики
echo '<div class="mainname">'.Lang::__('Черновики').'</div>';
}
//Стиль для красоты вывода
echo '<div class="mainpost">';
if($id == 1) {
//если $id == 1 то выведит данные из базы по $id = 1
$results = $db->query("SELECT COUNT(*) FROM `messaging_topics` WHERE `id_user` = '".$id_user."' AND `time` > '".(time()-86400)."'");
}elseif($id == 2) {
//если $id == 2 то выведит данные из базы по $id = 2
$results = $db->query("SELECT COUNT(*) FROM `messaging_topics` WHERE `id_user` = '".$id_user."'");
}elseif($id == 3) {
//если $id == 3 то выведит данные из базы по $id = 3
$results = $db->query("SELECT COUNT(*) FROM `messaging_topics` WHERE `id_user` = '".$id_user."' AND `id_dir` = '3'");
}
//Обрабатываем результат
if ($results) {
/* Переход к строке №400 */
$results->data_seek(399);
/* Получение строки */
$rows = $results->fetch_row();
}
//Если папок не найдено
if($rows[0] == 0) {
echo engine::error(Lang::__('Тем не найдено!'));
exit;
}
//Постраничная навигация
$newlist = new Navigation($rows[0],10, true);
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">Автор: <a href="/modules/profile.php?act=view&id='.$messaging['id_user'].'">'.$nick.'</a>
Получатель: <a href="/modules/profile.php?act=view&id='.$messaging['id_post'].'">'.$nick_post.'</a>';
echo '</div>';
//Закрываем основной блок div в while
echo '</div>';
}
//Вывод навигации
echo $newlist->pagination('act=message&id='.$id.'');
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'messaging.php'));
}
break;
//Вывод по id данные из черновика
case 'view':
//Передаем данные по $id и распределяем по папкам данные
if(isset($_GET['id']) and is_numeric($_GET['id'])) {
//Переобразуем из $_GET в обычную $id
$id = (int) $_GET['id'];
//Выводим данные из черновика по $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 = engine::proc_name($_POST['name']);
//Обрабатывает сообщение
$topic = engine::input_text($_POST['text']);
//Если название темы превышает больше 255 символов вроизойдет ошибка
if(strlen($name) > 255) { // MAX 255
echo engine::error(Lang::__('Превышено максимальное количество символов')); //Текст ошибки
echo engine::home(array(Lang::__('Назад'),'?act=message&do=view&id='.$id.'')); //Переадресация
exit; //Закрыть дальнейшие действие в коде
}
//Если не введена название темы ...
if(!$name) {
echo engine::error('Введите тему');
//Если не введена текст сообщения
}elseif(!$topic){
echo engine::error('Введите сообщение');
}elseif(isset($_POST['submit'])) {
//Если правильно все добавляем данные в базу MYSQLI
$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::__('Отправка личного сообщения для').' '.$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->text('<div class="submit">'); //Блок кнопки
$form->submit('Отправить','submit'); //Кнопка отправки данных
$form->text(Lang::__('или').' <a class="cancel" href="/modules/messaging.php">'.Lang::__('Отмена').'</a>'); //Отмена
$form->text('</div>'); //Закрытия блока
$form->display(); //Выводим форму
}
break;
endswitch;