Вход Регистрация
Файл: wapxl.ru/user/messages/dialog.php
Строк: 80
<?

// Автоматическое обновление страници
/*if(core::$user['p_locs']>0){
echo '<script type="text/javascript">
function locs(){
document.location.href="";
}
setTimeout("locs()", '.core::$user['p_locs'].'000);
</script>';
}*/

echo '<div class="col-md-8 col-sm-12 col-xs-12">';
echo 
'<div class="panel panel-default">
<div class="panel-body">'
;


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 `sid`=?, `user_id`=?, `time`=?, `msg`=?, `dialog`=?");
$dbi -> execute(core::$sid,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 `sid`=?, `user_id`=?, `mess_id`=?, `dialog`=?");
$dbi -> execute(core::$sid,$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 
'<div class="panel panel-default">
<div class="panel-heading">'
;
echo 
'<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 
'';


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

// Теперь почта только на аяксе )))

?>

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

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

function dialog_jss()
{


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

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

});

</script>



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




echo 
'<dl><dt></dt></dl>';
echo 
'<form action="?mod=add&amp;dialog='.$dialog.'&amp;act=act&amp;'.SID.'" method="post"   name="form"  enctype="multipart/form-data">';
echo 
'<br />Сообщение:<br /><textarea cols="'.core::$user['pole2'].'" rows="'.core::$user['pole1'].'" name="msg"></textarea><br/>';
echo 
$div3;
func::quickpaste('msg');
echo 
$div9;


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="/help.php?bb" class="href">BBcode</a> | <a href="'.H.'smiles/" class="href">Смайлы</a><br />';
echo 
'<br /><input type="submit"  class="ibutton" value="Отправить"/></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>';

echo 
'</div></div>';
?>
Онлайн: 1
Реклама