Вход Регистрация
Файл: wapxl.ru/user/messages/form.php
Строк: 74
<?
require'../../shaxty.php';


// Определяем диалог
$dialog = isset ($_REQUEST['dialog']) ? func::checkin($_REQUEST['dialog']) : false;

$resud core:: $db -> queryFetch("SELECT * FROM `messages` WHERE `id`=?", array($dialog));
if (!empty(
$dialog) && !isset($resud['id'])){
func::errors('<b>Такого диалога нет!</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
}



//func::spamer(); // Защита от спамеров
user::kiks(); // Проверяем не выпнут ли юзер
if(!$_POST)
    {


echo 
"Ошибка!";
}else{


$reg_kod = isset($_POST['kod']) ? func::checkin($_POST['kod']) : '';

$msg func::checkin($_POST['msg']);



// Проверка на спам
$old = (core::$level core::$set['lev_min']) ? core::$set['sek_min'] : core::$set['sek_max'];
$query = @mysql_query("SELECT * FROM `mess_out` WHERE `user_id` = '".core::$user['id']."' AND `time` > '".(core::$realtime-$old)."';");
$query core::$db->query("Select *  FROM `mess_dialog` WHERE `user_id`=? and `dialog`=? and `time`>?", array(core::$user['id'],$dialog,(core::$realtime-$old)));
if (
$query->fetchColumn() > 0){
func::spamer_on('',$old);
func::errors('<b>Вы не можете так часто писать<br/>Порог '.$old.' секунд</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
}

// Проверка постов
if (core::$user[core::$set['posts_act']]<core::$set['posts_pr'])func::errors('<b>Чтобы писать записки, нужно набрать '.core::$set['posts_pr'].' постов форума!</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
// Ввод сообщения
if (func::utf_strlen($msg)==0)func::errors('<b>Пустое сообщение!</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');



$fail 0;
$fails 0;

// Обработка файла (если есть)
if ($_FILES['fail']['size'] > 0){
$fname strtolower($_FILES['fail']['name']);
$fnames=$_FILES['fail']['name'];
$fsize $_FILES['fail']['size'];

// Список допустимых расширений файлов.
$al_ext = array('rar''zip''pdf''txt''tar''gz''jpg''jpeg''gif''png''bmp''3gp''mp3''mpg''sis''thm''jar''jad''cab''sis''sisx''exe''msi');
$ext explode("."$fname);

// Проверка на допустимый размер файла
if ($fsize >= 1024 core::$set['flsz_pr'])echo 'Вес файла превышает <b>'.core::$set['flsz_pr'].'</b>';

if ((
preg_match("/.php/i"$fnames)) or (preg_match("/.pl/i"$fnames)) or ($fnames == ".htaccess"))echo '<b>Файлы такого типа запрещены!</b>';


// Проверка файла на наличие только одного расширения
if (count($ext) != 2)echo'<b>Запрещены файлы не имеющие имени, расширения, или с двойным расширением.</b>';

// Проверка допустимых расширений файлов
if (!in_array($ext[1], $al_ext))echo 'Запрещенный тип файла!<br />К отправке разрешены только файлы, имеющие следующее расширение:<br /><b>'.implode(', '$al_ext).'</b>';


// Проверка на длину имени
if (strlen($fname) > 30)echo '<b>Длина названия файла не должна превышать 30 символов!</b>';

// Проверка на запрещенные символы
if (eregi("[^a-z0-9.()+_-]"$fname))echo 'В названии файла "<b>' $fname '</b>" присутствуют недопустимые символы.<br />Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br />Запрещены пробелы.<br />';


// Проверка наличия файла с таким же именем
if (file_exists(H."sites/".core::$site['domain']."/modul_files/privat/$fname")) {
$fname core::$realtime.'_'.$fname;
}


if ((
move_uploaded_file($_FILES["fail"]["tmp_name"], H."sites/".core::$site['domain']."/modul_files/privat/$fname")) == true) {
//echo 'Файл прикреплен!<br/>';
$fail H."sites/".core::$site['domain']."/modul_files/privat/$fname";
$fails $fsize;
}else {
echo 
'<b>Ошибка отправки файла.</b>';
}


}



if(!empty(
$dialog)){

// проверяем есть ли диалог и выбираем данные из таблы
$resu core:: $db -> queryFetch("SELECT * FROM `messages` WHERE `id`=?", array($dialog));
if (!isset(
$resu['id'])){
echo 
'<b>Такого диалога нет!</b>';
}
// если диалог между двумя проверяем не покидал ли 2 диалог
if ($resu['cols']==2){

// Провееряем не покидал ли юзер этот диалог
$ruse1 core:: $db -> queryFetch("SELECT * FROM `mess_users` WHERE `user_id`!=? and `dialog`=?", array(core::$user['id'],$resu['id']));
if (
$ruse1['aut']==1){
// Если покидал, снова даем ему доступ
$dbi core::$db -> prepare("UPDATE `mess_users` SET `aut`=? WHERE `user_id`!=? and `dialog`=?");
$dbi -> execute(0,core::$user['id'],$resu['id']);
}

// проверка на существование юзера
if (!user::user_inf($ruse1['user_id']))echo '<b>Такого пользователя нет!</b>';
// попытки написать себе
if (user::user_inf($ruse1['user_id']) == core::$user['id'])echo '<b>Себе пишешь?</b>';
// х-статус "Не беспокоить"
if (user::user_inf($ruse1['user_id'],'xstatus')==&& core::$user['level']<8)echo '<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>';

if (
user::ignor(user::user_inf($ruse1['user_id']),core::$user['id']))echo '<b>Вы не можете писать этому пользователю, т.к. он отправил вас в игнор.</b>';



}

// если нет пользователя и диалога выводим ошибку
}else echo '<b>Ошибка!</b><br />Сообщите администрации';

// если диалог не найден
if (!isset($resu['id'])){

// создаем диалог между 2 пользователями
$dbi core::$db -> prepare("INSERT INTO `messages` SET `users`=?, `time`=?, `cols`=?");
$dbi -> execute("::".core::$user['id']."::".user::user_inf($nk)."::",core::$realtime,2);
// определяем ID созданного диалога
$dialog core::$db -> lastInsertId();
// Получаем данные созданного диалога
$resu core:: $db -> queryFetch("SELECT * FROM `messages` WHERE `id` = '" $dialog "'");
// Записываем пользователей которым доступен этот диалог
$dbi core::$db -> prepare("INSERT INTO `mess_users` SET `user_id`=?, `dialog`=?");
$dbi -> execute(core::$user['id'],$dialog);
$dbi -> execute(user::user_inf($nk),$dialog);

// если диалог найден
}else{
// определяем ID  диалога
$dialog $resu['id'];

// изменяем время диалога
$dbi core::$db -> prepare("UPDATE `messages` SET `time`=? WHERE `id`=?");
$dbi -> execute(core::$realtime,$dialog);

}

// Создаем сообщение
$dbi core::$db -> prepare("INSERT INTO `mess_dialog` SET `user_id`=?, `users`=?, `time`=?, `msg`=?, `fail`=?, `fails`=?, `dialog`=?");
$dbi -> execute(core::$user['id'],$resu['users'],core::$realtime,$msg,$fail,$fails,$dialog);
// Определяем ид сообщения
$mess_id core::$db -> lastInsertId();

//Выводим пользователей участвующих в диалоге, кроме того кто пишет сообщение
$read core::$db->query("SELECT * FROM `mess_users` WHERE `dialog`=? and `user_id`!=? and `aut`!=?", array($dialog,core::$user['id'],1));

// Делаем запись в таблицу непрочтенных сообщений
while ($a $read -> fetch()) {
$dbi core::$db -> prepare("INSERT INTO `mess_read` SET `user_id`=?, `mess_id`=?, `dialog`=?");
$dbi -> execute($a['user_id'],$mess_id,$dialog);
}


echo 
'<b>Сообщение отправлено!</b><br />';


/*Задаем правила сортировки переадресации на страницу диалога */
$order core::$user['p_sort'] ? 'end' '1';

//header ('Location: messages.php?mod=dialog&dialog='.$dialog.'&page='.$order.'&'.SID);
/*if(user::user_inf($nk,'avtootvet')!=NULL){
echo '<p>Автоответчик: '.user::user_inf($nk,'avtootvet').'</p>';
}*/


}


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