Вход Регистрация
Файл: wapxl.ru/user/messages/dialog_mjs.php
Строк: 151
<?
echo '<a name="messegeResult"></a>';
// Автоматическое обновление страници
if(core::$user['p_locs']>0){
echo 
'<script type="text/javascript">
function locs(){
document.location.href="";
}
setTimeout("locs()", '
.core::$user['p_locs'].'000);
</script>'
;
}

unset(
$_SESSION['search_pr']);

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

// Проверка на сущ. диалога
$qlog core::$db->query("SELECT * FROM `messages` WHERE `id`=?", array($dialog));
if (
$qlog->fetchColumn() == 0)func::errors('<b>Такого диалога нет</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');


// Проверка на участие в диалоге
$mess_users core::$db->query("SELECT * FROM `mess_users` WHERE `dialog`=? and `user_id`=? and `aut`=?", array($dialog,core::$user['id'],0));
if (
$mess_users->fetchColumn() == 0)func::errors('<b>Вы не участвуете в этом диалоге</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');


// Выход из диалога между 2 юзаками
if (isset($_GET['delall'])){
func::danger('?mod='.$mod.'&amp;dialog='.$dialog.'&amp;delall','Вы уверены, что желаете <b>удалить</b> данный диалог?');

// Смотрим сколько пользователей остается в диалоге
$k_users=core:: $db -> querySingle("select count(*) as num from `mess_users`  WHERE `dialog`=?  and `user_id`!=?  and  `aut`=?", array($dialog,core::$user['id'],0));
// Если после ухода юзера в диалоге никого не остается
if(($k_users)==0){

$dbi core::$db -> prepare("DELETE FROM `mess_users` WHERE `dialog`=?");
$dbi -> execute($dialog);
$dbi core::$db -> prepare("DELETE FROM `mess_dialog` WHERE `dialog`=?");
$dbi -> execute($dialog);
$dbi core::$db -> prepare("DELETE FROM `mess_read` WHERE `dialog`=?");
$dbi -> execute($dialog);
$dbi core::$db -> prepare("DELETE FROM `messages` WHERE `id`=?");
$dbi -> execute($dialog);

}else{

$dbi core::$db -> prepare("UPDATE `mess_users` SET `aut`=? WHERE `user_id`=? and `dialog`=?");
$dbi -> execute(1,core::$user['id'],$dialog);

$dbi core::$db -> prepare("DELETE FROM `mess_dialog` WHERE `dialog`=? and `del_id`!=?");
$dbi -> execute($dialog,0);

$dbi core::$db -> prepare("UPDATE `mess_dialog` SET `del_id`=? WHERE `dialog`=? and `del_id`=?");
$dbi -> execute(core::$user['id'],$dialog,0);

}

header ('Location: messages.php?'.SID);
}


// Выход из диалога между несколькими
if (isset($_GET['aut'])){
func::danger('?mod='.$mod.'&amp;dialog='.$dialog.'&amp;aut','Вы уверены, что желаете Выйти из диалога?');


// Смотрим сколько пользователей остается в диалоге
$k_users=core:: $db -> querySingle("select count(*) as num from `mess_users`  WHERE `dialog`=?  and `user_id`!=?  and  `aut`=?", array($dialog,core::$user['id'],0));

// Если после ухода юзера в диалоге кто-то остается
if($k_users>0){

// выходит
$dbi core::$db -> prepare("UPDATE `mess_users` SET `aut`=? WHERE `user_id`=? and `dialog`=?");
$dbi -> execute(1,core::$user['id'],$dialog);

// Создаем сообщение
$msg '[b]'.user::us(core::$user['id'],1).'[/b] вышел из диалога';
$dbi core::$db -> prepare("INSERT INTO `mess_dialog` SET `user_id`=?, `time`=?, `msg`=?, `dialog`=?");
$dbi -> execute(0,core::$realtime,$msg,$dialog);
// Определяем ид сообщения
$mess_id core::$db -> lastInsertId();

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

// Делаем запись в таблицу непрочтенных сообщений
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);
}
// если в диалоге никого не остается удаляем данные
}elseif($k_users==0){ $dbi core::$db -> prepare("DELETE FROM `mess_users` WHERE `dialog`=?");
$dbi -> execute($dialog);
$dbi core::$db -> prepare("DELETE FROM `mess_dialog` WHERE `dialog`=?");
$dbi -> execute($dialog);
$dbi core::$db -> prepare("DELETE FROM `mess_read` WHERE `dialog`=?");
$dbi -> execute($dialog);
$dbi core::$db -> prepare("DELETE FROM `messages` WHERE `id`=?");
$dbi -> execute($dialog);
}

header ('Location: messages.php?'.SID);
}


echo 
$div2.'<a href="?" class="href">Диалоги</a> | <b>Диалог с</b> ';

/*$read = core::$db->query("SELECT * FROM `mess_users` WHERE `dialog`=? and `user_id`!=?", array($dialog,core::$user['id']));

while ($r = $read -> fetch()) {
$k = $k++;
echo user::nik($r['user_id']).(($k>1) ? ', ' : '');
}
*/

$read core::$db->query("SELECT * FROM `mess_users` WHERE `dialog`=? and `user_id`!=?", array($dialog,core::$user['id']));
$k 0;
while (
$r $read -> fetch()) {
$k $k+1;

echo ((
$k>1) ? ', ' ' ').user::nik($r['user_id']).($r['aut']=='(Вышел)' '');
}

echo 
'| <a href="?mod=adds&amp;dialog='.$dialog.'" class="href">Добавить собеседника</a>';
echo 
$div9.'<div id="messegeResult">
    </div><dl><dt>
</dt></dl>'
;


if (
func::is_mobile()==1){

/*Задаем правила сортировки переадресации на страницу диалога */
if(empty($_GET['page'])){
$_GET['page'] = core::$user['p_sort'] ? 'end' '1';
}

$k_post=core:: $db -> querySingle("select count(*) as num from `mess_dialog`  WHERE `dialog`=?  and `del_id`!=?", array($dialog,core::$user['id']));
$k_page=func::k_page($k_post,$max);
$page=func::page($k_page);
$start=$max*$page-$max;





if (
$k_post == 0)echo 'Сообщений пока нет<br />';

/*Задаем правила сортировки (новые внизу / вверху) */
$order core::$user['p_sort'] ? 'ASC' 'DESC';


$te core::$db->query("Select *  FROM `mess_dialog` WHERE `dialog`=?  and `del_id`!=? order by time ".$order." LIMIT $start$max", array($dialog,core::$user['id']));

while (
$a $te -> fetch()) {

echo 
$div2;



echo 
'<div class="img">' func::user_avatars($a['user_id']) . '</div>';

$pr_n core:: $db -> querySingle("SELECT count(*) FROM `mess_read` WHERE `user_id`=? and `mess_id`=?;", array(core::$user['id'],$a['id']));
if (
$pr_n != 0){
$del core::$db -> query("DELETE FROM `mess_read` WHERE `user_id`=? and `mess_id`=?;", array(core::$user['id'],$a['id']));
$del -> execute(core::$user['id'],$a['id']);
echo 
'<img src="'.H.'img/new.gif" alt="" /> ';
}


echo 
''.user::nik($a['user_id']).' ('.func::times($a['time']).')';

$pr_n2 core:: $db -> querySingle("SELECT count(*) FROM `mess_read` WHERE `user_id`!=? and `mess_id`=?;", array(core::$user['id'],$a['id']));
/*if ($pr_n2 == 1 ){
echo '<span style="color:#DD0000">[Непрочитанно]</span>';
}else */
if ($pr_n2 >= ){
echo 
'<span style="color:#DD0000">[Непрочитанно</span> '; $mread core::$db->query("SELECT * FROM  `mess_read` WHERE `user_id`!=? and `mess_id`=?;", array(core::$user['id'],$a['id']));
$k 0;
while (
$mr $mread -> fetch()) { $k $k+1;
echo ((
$k>1) ? ', ' '').user::us($mr['user_id']);
}
echo 
']';
}


//if($a['user_id']!=core::$user['id'])echo ' | <a href="messages.php?mod=msg&amp;dialog='.$dialog.'&amp;spam='.$a['id'].'" class="href">Жал.</a><br />';

echo $div9.func::text($a['msg'])."";
$var strtr($a['fail'], array ('../sites/'.core::$site['domain'].'/modul_files/privat/' => ""));
if(
$a['fail']){ /*echo 'Файл: <a href="'.$a['fail'].'" class="href">'.$var.'</a> ';
*/
$f1 strrpos($var".");
$f2 substr($var$f1 1999);
$fname strtolower($f2);
$att_ext strtolower($fname);
$pic_ext = array ('gif''jpg''jpeg''png');
                                  
//&&core::$user['forum_pr']==1
if (in_array($att_ext$pic_ext)) {
echo 
'<a href="'.$a['fail'].'">';
echo 
'<img src="/user/messages/pic.php?file=' $var '" alt="Нажмите для просмотра изображения" /></a>'.$var;


} else {

if(
$att_ext == 'zip'){
$zip ' [<a href="?mod=zip&amp;file=' $var '" class="href">Просмотр архива</a>]';
}
echo 
"<b><a href="".$a['fail']."" title="Скачать файл ".$var."" class="href">".$var."</a></b>".$zip;

}

echo 
" [".func::file_size($a['fails'])."]";


}

//if($a['user_id']==core::$user['id'])echo '</div>';
echo '<dl></dl>';
}

if (
$k_page>1){
func::nav('messages.php?mod=dialog&dialog='.$dialog.'&',$k_page,$page); // Вывод страниц
}

}else{
?>

<script language='JavaScript' type='text/javascript'>
$(document).ready(function()
{

dialog_js();
$('div#download_img').css('display', 'block');

function dialog_js()
{


$.ajax({
url: "/user/messages/dialog_js.php?mod=dialog&dialog=<?echo $dialog;?>&page=<?echo $page;?>",
cache: false,
success: function(responce){
$("#dialog_js").html(responce);
$('div#download_img').css('display', 'none');
}
});
}

setInterval(function()
{
dialog_js();
}, 6000);

});

</script>



<?
echo '<div id="download_img" style="display:none;"><img src="/img/loading.gif" alt="" width="100" height="100" /></div>
<div id="dialog_js"></div>'
;
}



echo 
'<dl><dt></dt></dl>';


?>

<script>
 function AjaxFormRequest(result_id,formMain,url) {
 jQuery.ajax({
 url: "/user/messages/form.php?mod=add&dialog=<?echo $dialog;?>&act=act",
 type: "POST",
 dataType: "html",
 data: jQuery("#"+formMain).serialize(),
 success: function(response) {
 document.getElementById(result_id).innerHTML = response;
 },
 error: function(response) {
 document.getElementById(result_id).innerHTML = "<p>Возникла ошибка при отправке формы. Попробуйте еще раз</p>";
 }
 });

 $(':input','#formMain')
 .not(':button, :submit, :reset, :hidden')
 .val('')
 .removeAttr('checked')
 .removeAttr('selected');
 }
</script>



<?



echo '<br />Сообщение:<br /><form id="formMain" action="" method="post"   name="form"  enctype="multipart/form-data">';
echo 
'<textarea cols="'.core::$user['pole2'].'" rows="'.core::$user['pole1'].'" name="msg"></textarea><br/>';
if (
core::$user['bbpnel']==|| (core::$user['bbpnel']==&& func::is_mobile()==0)){ echo $div3;
func::quickpaste('msg');
echo 
$div9;
}
if (
core::$user['p_file']==|| (core::$user['p_file']==&& func::is_mobile()==0)){
echo 
"Прикрепить файл: (до ".core::$set['flsz_pr']." кб.)<br/><input type='file' name='fail'/><br /> ";
}
echo 
'<a href="?mod='.$mod.'&amp;dialog='.$dialog.'&amp;'.rand(00009999).'" class="href">Обновить</a> | <a href="/PAGES/help.php?bb" class="href">BBcode</a> | <a href="'.H.'smiles/" class="href">Смайлы</a><br />';
/*echo '<br /><input id="button"  onclick="AjaxFormRequest("messegeResult", "formMain", "/user/messages/form.php?mod=add&amp;dialog='.$dialog.'&amp;act=act")" type="button"  class="ibutton" value="Отправить"/>
</form><br />';*/
?>
  <input id="button" type="button"  value="Отправить" onclick="AjaxFormRequest('messegeResult', 'formMain', '')"/>
    </form><br />
<?

echo '<dl><dt></dt></dl><br />';

$dlog core:: $db -> queryFetch("SELECT * FROM `messages` WHERE `id` = '" $dialog "'");

if(
$dlog['cols']==2)echo '&#187; <a href="?mod='.$mod.'&amp;dialog='.$dialog.'&amp;delall" class="href">Удалить диалог</a><dl></dl>';
else echo 
'&#187; <a href="?mod='.$mod.'&amp;dialog='.$dialog.'&amp;aut" class="href">Выйти из диалога</a><dl></dl>';

echo 
'&#187; <a href="?mod=search&amp;dialog='.$dialog.'" class="href">Поиск по диалогу</a><dl></dl>';


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