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

echo '<div class="col-md-8 col-sm-12 col-xs-12"><div class="panel panel-default">';
echo 
'<div class="panel-heading">  <b>Добавление собеседника</b></div>
<div class="panel-body">'
;

// Определяем диалог
$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></div></div>''<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></div></div>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');

if(
$resud['cols']==2){




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

// создаем диалог между несколькими пользователями
$dbi core::$db -> prepare("INSERT INTO `messages` SET `time`=?");
$dbi -> execute(core::$realtime);
// определяем 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($m['user_id'],$dialog);


// Создаем сообщение
$msg '[b]'.user::us(core::$user['id'],1).'[/b] пригласил побеседовать [b]'.user::us($m['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);
}


header ('Location: messages.php?mod=adds&dialog='.$dialog.'&add&'.SID);
}

if (isset(
$_GET['add'])){
echo 
'<dl><dt></dt></dl><b>Многопользовательский диалог успешно создан!</b><br />Теперь вы можете добавлять в него участников.<dt></dt><dl></dl>';
}
echo 
'<a href="?" class="href">Диалоги</a> | ' . (empty($act) ? '<b>Добавление пользователей в диалог</b> ' '<a href="?mod=adds&amp;dialog='.$dialog.'" class="href"><b>Добавление пользователей в диалог</b></a>') . '<br />
<a href="?mod=dialog&amp;dialog='
.$dialog.'" class="href">Диалог</a> с ';

$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) ? ', ' '');
}
echo 
'<dl><dt></dt></dl>';


if (empty(
$act)){

echo 
'<form action="?mod=adds&amp;dialog='.$dialog.'&amp;act=ok" method="post" enctype="multipart/form-data">';

echo 
"Введите Ник или ID пользователя:<br /><input name='nk' maxlength='15' value='$nk' title='komu'/><br/>n";

echo 
'<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';

echo 
'<a href="?mod=adds&amp;dialog='.$dialog.'&amp;act=friends" class="href">Выбрать из Друзей</a> <dl></dl>
<a href="?mod=adds&amp;dialog='
.$dialog.'&amp;act=users" class="href">Все пользователи</a> <dl></dl>
'
;

}else if (
$act=='friends'){

$k_post=core:: $db -> querySingle("select count(*) as num from `friends` WHERE `user_id`=? and `yes`=?", array(core::$user['id'],1));
$k_page=func::k_page($k_post,$max);
$page=func::page($k_page);
$start=$max*$page-$max;
if (
$k_post==0)func::errors('<b>У вас нет друзей!</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');


$r core::$db->query("Select * from `friends` WHERE `user_id`=? and `yes`=? order by `id` desc LIMIT $start$max", array(core::$user['id'],1));
while (
$a $r -> fetch()) {

$res core:: $db -> queryFetch("SELECT * FROM `mess_users` WHERE `dialog`=? and `user_id`=?", array($dialog,$a['fr_id']));


echo 
'<b>'.user::nik($a['fr_id']).'</b>  ' . (isset($res['id']) ? 'Участвует ' '<a href="?mod=adds&amp;dialog='.$dialog.'&amp;act=ok&amp;nk='.$a['fr_id'].'" class="href">Добавить</a>') . '<br />';

}
if (
$k_page>1){
func::nav('?mod=adds&amp;dialog='.$dialog.'&amp;act=friends&amp;',$k_page,$page); // Âûâîä ñòðàíèö
}


}else if (
$act=='users'){

if(empty(
$_GET['order']))$order 'id';
else 
$order func::checkin($_GET['order']);

if(
$_GET['desc']==''$desc 'asc';
else 
$desc func::checkin($_GET['desc']);

if(
$_GET['sex']==''$sex '';
else 
$sex func::checkin($_GET['sex']);
echo 
'<div class="nav">';

$arrsex = array('-Все','1-Парни','0-Девушки');
foreach(
$arrsex as $vsex){
list (
$osex,$nsex) = explode('-',$vsex);
if(
$sex!=$osex)echo '<a href="?mod=adds&amp;dialog='.$dialog.'&amp;act=users&amp;desc='.$desc.'&amp;order='.$order.'&amp;sex='.$osex.'">'.$nsex.'</a>|';
else echo 
'<b>'.$nsex.'</b> | ';
}

echo 
'<br />Сортировать По: ';
$arr = array('id-ID','timereg-Дата реги','level-Уровень','posts-Посты','vote_us-Рейтинг','onl-Посл. авт.','total_on_site-Пробыл на сайте');
foreach(
$arr as $v){
list (
$o,$n) = explode('-',$v);
if(
$order!=$o)echo '<a href="?mod=adds&amp;dialog='.$dialog.'&amp;act=users&amp;desc='.$desc.'&amp;sex='.$sex.'&amp;order='.$o.'">'.$n.'</a>|';
else echo 
'<b>'.$n.'</b> | ';
}
echo 
'<br />Порядок:';

$ar = array('asc-123','desc-321');
foreach(
$ar as $d){
list (
$d,$n) = explode('-',$d);
if(
$desc!=$d)echo '<a href="?mod=adds&amp;dialog='.$dialog.'&amp;act=users&amp;order='.$order.'&amp;sex='.$sex.'&amp;desc='.$d.'">'.$n.'</a>|';
else echo 
'<b>'.$n.'</b> | ';
}

echo 
'</div>';

if(
$sex!='')$sexi 'and sex = "'.$sex.'"'; else $sexi '';


$k_post=core:: $db -> querySingle("select count(*) as num from users WHERE `id` != '".core::$user['id']."' ".$sexi."");
$k_page=func::k_page($k_post,$max);
$page=func::page($k_page);
$start=$max*$page-$max;

if (
$k_post==0)func::errors('<b>Пока никого нет</b>');


if ((
$max*$page)<$k_post$maxi $max*$page; else $maxi $k_post;
echo 
'показаны '.($start+1).'-'.$maxi.' из '.$k_post.'<br /><br />';

$r core::$db->query("Select * from `users` WHERE `id` != '".core::$user['id']."' ".$sexi."  order by ".$order." ".$desc." LIMIT ".$start.", ".$max."");

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

$res core:: $db -> queryFetch("SELECT * FROM `mess_users` WHERE `dialog`=? and `user_id`=?", array($dialog,$a['id']));


echo 
'<b>'.user::nik($a['id']).'</b>  ' . (isset($res['id']) ? 'Участвует ' '<a href="?mod=adds&amp;dialog='.$dialog.'&amp;act=ok&amp;nk='.$a['id'].'" class="href">Добавить</a>') . '<br />';

}
if (
$k_page>1){
func::nav('?mod=adds&amp;dialog='.$dialog.'&amp;act=users&amp;',$k_page,$page); // Âûâîä ñòðàíèö
}


}else if (
$act=='ok'){

// Если пишем пользователю не из диалога
if(!empty($nk)){

// проверка на существование юзера
if (!user::user_inf($nk))func::errors('<b>Такого пользователя нет!</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
// попытки написать себе
if (user::user_inf($nk) == core::$user['id'])func::errors('<b>Себе пишешь?</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
// х-статус "Не беспокоить"
if (user::user_inf($nk,'xstatus')==&& core::$user['level']<8)func::errors('<b>Запрещено писать пользователям с х-статусом "Не беспокоить"<img src="'.H.'img/online/zaniat.png" alt="" /></b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
// проверка на игнор
if (user::ignor(user::user_inf($nk),core::$user['id'])==1)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`=?", array($dialog,user::user_inf($nk)));
if (
$mess_users->fetchColumn() != 0)func::errors('<b>Этот пользователь уже участвует в этом диалоге</b>''<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');


// Записываем пользователей которым доступен этот диалог
$dbi core::$db -> prepare("INSERT INTO `mess_users` SET `user_id`=?, `dialog`=?");
$dbi -> execute(user::user_inf($nk),$dialog);


// Создаем сообщение
$msg '[b]'.user::us(core::$user['id'],1).'[/b] пригласил побеседовать [b]'.user::us(user::user_inf($nk),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);
}

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


header ('Location: messages.php?mod='.$mod.'&dialog='.$dialog.'&'.SID);

}



}

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