Файл: html/mail.php
Строк: 239
<?php
require_once ('system/func.php');
require_once ('system/header.php');
// Закроем от неавторизированых
auth();
if (!isset($_GET['sort'])) {
$_GET['sort'] = 0;
}
if (!isset($_GET['page'])) {
$_GET['page'] = 0;
}
//Отправка смс
if (isset($_GET['write']) && $_GET['write'] != '') {
$idRoom = 0;
$IdSender = 0;
//определимся с каким api почты мы работаем
if (isset($_GET['id_2']) && $_GET['id_2'] > 0) {
//старое апи
// проверяем есть ли такая комната
$FindRoom = $mc->query("SELECT * FROM `mail2` WHERE (`id1` = " . $user['id'] . " AND `id2` = " . $_GET['id_2'] . ") OR (`id2` = " . $user['id'] . " AND `id1` = " . $_GET['id_2'] . ")")->fetch_array(MYSQLI_ASSOC);
if (count($FindRoom) == 0) {
$mc->query("INSERT INTO `mail2`(`id1`, `id2`) VALUES (" . $user['id'] . ", " . $_GET['id_2'] . ")");
$idRoom = $mc->insert_id;
} else {
$idRoom = $FindRoom['id'];
}
}
if (isset($_GET['room']) && $_GET['room'] > 0) {
$idRoom = $_GET['room'];
}
//проверка на доступность
$MyMail = $mc->query("SELECT * FROM `mail2` WHERE `id` = " . $idRoom . " AND (`id1` = " . $user['id'] . " OR `id2` = " . $user['id'] . ")")->fetch_array(MYSQLI_ASSOC);
if (count($MyMail) == 0) {
?><center><p style="border: 1px solid red;">Ошибка записи</p></center><?php
echo "SELECT * FROM `mail2` WHERE `id` = " . $idRoom . " AND (`id1` = " . $user['id'] . " OR `id2` = " . $user['id'] . ")";
$footval = 'tomail';
require_once 'system/foot/foot.php';
exit(0);
}
if ($MyMail['id1'] != $user['id'])
$IdSender = $MyMail['id1'];
else
$IdSender = $MyMail['id2'];
$_GET['write'] = urlencode(htmlspecialchars($_GET['write']));
$date = date("d/m/Y H:i");
//запишем себе с типом исходящии
$mc->query("INSERT INTO `mailRoom`(`room_id`, `id_sender`, `readMsg`, `text`, `date`, `unixTime`) VALUES (" . $idRoom . ", " . $user['id'] . ", 0, '" . $_GET['write'] . "', '" . $date . "', '" . time() . "')");
//Обновим таймер в общем списке
$mc->query("UPDATE `mail2` SET `LastTime` = '" . time() . "' WHERE `mail2`.`id` = " . $idRoom . "");
//запишем ему оповещение
$mc->query("INSERT INTO `msg` (`id_user`,`message`,`date`,`type`) VALUES ('" . $IdSender . "','Новое сообщение!','" . time() . "','mail')");
}
if (!isset($_GET['room']) && !isset($_GET['id_2'])) {
?>
<table style="font-size: 16px;padding-left: 2px;padding-right: 2px;width: 100%;margin: auto;text-align: center;">
<tr>
<td id="btn_5" class="shopminiblock sort1 allminia" style="width: 30%;">Онлайн</td>
<td id="btn_6" class="shopminiblock sort2 allminia" style="width: 30%;">Все</td>
<td id="btn_7" class="shopminiblock sort3 allminia" style="width: 30%;">Друзья</td>
<td id="btn_8" class="shopminiblock sort3 allminia" style="width: 30%;">Опции</td>
</tr>
</table>
<script>
$('#btn_5').click(function () {
// $('ofline').remove();
$('ofline').hide();
});
$('#btn_6').click(function () {
//$('ofline').remove();
$('ofline').show();
$('online').show();
});
$('#btn_8').click(function () {
$('online').hide();
$('ofline').hide();
showContent('/mail.php?setOption');
});
$('#btn_7').click(function () {
$('online').each(function () {
$('divs').each(function () {
$('online').attr("id") == $('divs').attr("ids") ? $('online').hide() : $('ofline').hide();
});
});
});
</script>
<div class="clanturblock" onclick="showContent('new.php')">
Новости
</div>
<?php
$MyMails = $mc->query("SELECT * FROM `mail2` WHERE `id1` = " . $user['id'] . " OR `id2` = " . $user['id'] . " ORDER BY `LastTime` DESC");
while ($MyMail = $MyMails->fetch_array(MYSQLI_ASSOC)) {
$IdSender = 0;
$CountMsg = 0;
$StatusSender = "ofline";
$HtmlDetaleSender = "id='noo'";
if ($MyMail['id1'] != $user['id'])
$IdSender = $MyMail['id1'];
else
$IdSender = $MyMail['id2'];
$InfoSender = $mc->query("SELECT `name`,`online` FROM `users` WHERE `id` = " . $IdSender . "")->fetch_array(MYSQLI_ASSOC);
$ReadMsgSender = $mc->query("SELECT COUNT(*) FROM `mailRoom` WHERE `room_id` = " . $MyMail['id'] . "")->fetch_array(MYSQLI_ASSOC);
$NoReadMsgSender = $mc->query("SELECT COUNT(*) FROM `mailRoom` WHERE `room_id` = " . $MyMail['id'] . " AND `id_sender` != " . $user['id'] . " AND `readMsg` = 0")->fetch_array(MYSQLI_ASSOC);
//Проверка на онлайн
if ($InfoSender['online'] > time() - 60) {
$StatusSender = "online";
$HtmlDetaleSender = "id='onn' style='color:green'";
}
//соединяем новые и старые смс
if ($NoReadMsgSender['COUNT(*)'] == 0) {
$CountMsg = $ReadMsgSender['COUNT(*)'];
} else {
$CountMsg = "<b>" . $NoReadMsgSender['COUNT(*)'] . "</b>/" . $ReadMsgSender['COUNT(*)'];
}
//вывод
?>
<<?= $StatusSender ?> id="<?= $IdSender ?>">
<div class="clanturblock" <?= $HtmlDetaleSender ?> onclick="showContent('mail.php?room=<?= $MyMail['id'] ?>')">
<?= $InfoSender['name'] . "(" . $CountMsg . ")"; ?>
</div>
</<?= $StatusSender ?>>
<?php
}
$footval = 'mailtomain';
}
if (isset($_GET['id_2'])) {
//Старый апи.. интегрирую
$footval = 'mailtomain';
$FindRoom = $mc->query("SELECT * FROM `mail2` WHERE (`id1` = " . $user['id'] . " AND `id2` = " . $_GET['id_2'] . ") OR (`id2` = " . $user['id'] . " AND `id1` = " . $_GET['id_2'] . ")")->fetch_array(MYSQLI_ASSOC);
if (count($FindRoom) == 0) {
//Если диалога нет.. делаю иллюзию
$InfoSender = $mc->query("SELECT `name`,`online`, `mail_op` FROM `users` WHERE `id` = " . $_GET['id_2'] . "")->fetch_array(MYSQLI_ASSOC);
?>
<table style="width:98%;margin: auto;">
<tr>
<td style="text-align: center;width:100%;">
Диалог с
<a onclick="showContent('/profile/<?= $IdSender; ?>')"><?= $InfoSender['name']; ?></a>
</td>
</tr>
</table>
<?php $op = explode("/", $InfoSender['mail_op']); ?>
<?php if ($op[1] == '0') { ?>
<form id='form'>
<table style="width:98%;margin: auto;">
<tr>
<td style="text-align: center;width:100%;">
<input type='number' name='id_2' value='<?= $_GET['id_2']; ?>' hidden>
<input type='text' class='input_real chat_input' name='write' value='' style='width:90%;'>
</td>
</tr>
<tr>
<td style="text-align: center;width:100%;">
<input class='button_alt_01 butt01' style='width:80%;' type='button' value='Отправить' >
</td>
</tr>
</table>
</form>
<?php } else { ?>
<center><p style="border: 1px solid red;">Отправка заблокирована</p></center>
<?php } ?>
<script>
$(".butt01").click(function () {
showContent("/mail.php?" + $("#form").serialize());
});
var msgg = $('p[l="1"]').html();
$('p[l="1"]').text(msgg);
var msgg1 = $('p[l="0"]').text();
$('p[l="0"]').text(msgg1);
</script>
<?php
} else {
///а если есть диалог то
?><script>/*nextshowcontemt*/showContent('/mail.php?room=<?= $FindRoom['id'] ?>');</script><?php
exit(0);
}
}
//вывод сообщений
if (isset($_GET['room'])) {
$footval = 'tomail';
$IdSender = 0;
//ищем комнату
$MyMail = $mc->query("SELECT * FROM `mail2` WHERE `id` = " . $_GET['room'] . " AND (`id1` = " . $user['id'] . " OR `id2` = " . $user['id'] . ")")->fetch_array(MYSQLI_ASSOC);
if (count($MyMail) == 0) {
?><center><p style="border: 1px solid red;">Ошибка чтения</p></center><?php
require_once 'system/foot/foot.php';
exit(0);
}
//Получаем юзера
if ($MyMail['id1'] != $user['id'])
$IdSender = $MyMail['id1'];
else
$IdSender = $MyMail['id2'];
$InfoSender = $mc->query("SELECT `name`,`online`, `mail_op` FROM `users` WHERE `id` = " . $IdSender . "")->fetch_array(MYSQLI_ASSOC);
//Читаем его смс
$mc->query("UPDATE `mailRoom` SET `readMsg` = 1 WHERE `room_id` = " . $_GET['room'] . " AND `id_sender` != " . $user['id'] . " AND `readMsg` = 0");
//Получаем список сообщений
$MyMsgs = $mc->query("SELECT * FROM `mailRoom` WHERE `room_id` = " . $_GET['room'] . " ORDER BY `id` DESC ");
?>
<table style="width:98%;margin: auto;">
<tr>
<td style="text-align: center;width:100%;">
Диалог с
<a onclick="showContent('/profile/<?= $IdSender; ?>')"><?= $InfoSender['name']; ?></a>
</td>
</tr>
</table>
<?php $op = explode("/", $InfoSender['mail_op']); ?>
<?php if ($op[1] == '0') { ?>
<form id='form'>
<table style="width:98%;margin: auto;">
<tr>
<td style="text-align: center;width:100%;">
<input type='number' name='room' value='<?= $_GET['room']; ?>' hidden>
<input type='text' class='input_real chat_input' name='write' value='' style='width:90%;'>
</td>
</tr>
<tr>
<td style="text-align: center;width:100%;">
<input class='button_alt_01 butt01' style='width:80%;' type='button' value='Отправить' >
</td>
</tr>
</table>
</form>
<?php } else { ?>
<center><p style="border: 1px solid red;">Отправка заблокирована</p></center>
<?php } ?>
<script>
$(".butt01").click(function () {
showContent("/mail.php?" + $("#form").serialize());
});
var msgg = $('p[l="1"]').html();
$('p[l="1"]').text(msgg);
var msgg1 = $('p[l="0"]').text();
$('p[l="0"]').text(msgg1);
</script>
<?php
//Вывод смс
while ($MyMsg = $MyMsgs->fetch_array(MYSQLI_ASSOC)) {
if ($MyMsg['id_sender'] == $user['id']) {
?>
<font color='#336600'>Вы ( <?= $MyMsg['date']; ?> ):</font><br>
<?= $MyMsg['readMsg'] == 0 ? "......" : ""; ?><img height='15' width='15' src='/img/icon/GOL_app_mess_out.png'>
<font color='#336600'><b l=0" style="word-break: break-all;"><?= urldecode($MyMsg['text']); ?></b></font><br>
<?php } else { ?>
<font color='#0033CC'><?= $InfoSender['name']; ?> (<?= $MyMsg['date']; ?>):</font><br>
<img height='15' width='15' src='/img/icon/GOL_app_mess_in.png'>
<font color='#0033CC'><b l="1" style="word-break: break-all;"><?= urldecode($MyMsg['text']); ?></b></font><br>
<?php
}
}
}
require_once 'system/foot/foot.php';