Просмотр файла siwap.ru/apps/mail/dialog.php

Размер файла: 5.78Kb
<?php 
require_once $_SERVER['DOCUMENT_ROOT'].'/system/App.php';
$title = 'Диалог';
require_once ROOT.'/system/header.php';

$user->access(); // права пользователя
$dialog = $mail->DialogByID($id); // ищем диалог по данному id

if (empty($dialog)) $core->redirect('/mail');

$usersDialog = $mail->UsersFromDialog($dialog['id']); // пользователи данного диалога
$countUsers = count($usersDialog); // количество пользователей диалога
$isUserTheDialog = $mail->isUserTheDialog($me['id'], $dialog['id']);

if (empty($dialog['name'])) // если количество пользователей 2, то это диалог
{
	$contactDialog = $mail->ContactFromDialog($dialog['id']); // определяем id пользователя, с кем ведётся диалог
	$contactInfo = $user->infoByID($contactDialog, 'id, login, name, last_name, avatar');
	$dialogInfo =
	'<div class="col-lg-12">
	<div class="form-row">
	<div class="col-10 p-2"><a href="/id'.$contactInfo['id'].'" class="text-muted font-weight-bold">'.$contactInfo['login'].'</a></div>
	</div></div>';

}
else
{
	$dialogInfo = '<a href="/mail/id'.$dialog['id'].'?info">'.$dialog['name'].' <span class="badge badge-pill badge-theme float-right mt-1">Юзеров: '.$countUsers.'</span></a>';
}
?>
<div class="title-fixed mt-2"><?=$dialogInfo?></div>

<div class="col mt-5">
<div class="card d-none">
	<div class="card-header">
		Левое меню
	</div>
</div>
</div>
<div class="col-sm-8 col-md-5 pb-5 mb-2 mt-5">
<div class="">
<div class="">
	
<?php
if(!empty($dialog))
{
	if (!$isUserTheDialog) $core->redirect('/mail');
	
	$messages = $mail->MessagesFromDialog($dialog['id'], 0, 20);
	if(!empty($messages))
	{
	foreach($messages as $mess)
	{
		$authorInfo = $user->infoByID($mess['user_id']);
		$mail->readMessage($mess);
		
		if($authorInfo['id'] == $me['id'])
		{
			?>
			<div class="media mb-2">
			<div class="media-body" style="">
			<small class="message out"><?=$mess['message'] ?></small>
			<small class="message-info out"><?=(empty($mess['read']) ? 'Непрочитано •' : '') ?> <?=date('H:i', $mess['time']) ?></small>
			</div>
			<div class="media-right d-none">
			<a href="/id<?=$authorInfo['id']?>" class="list-user-avatar" style="margin-top: -7px; margin-left: 10px; width: 45px; height: 45px; background-image: url(<?=$authorInfo['avatar'] ?>);"></a>
			</div>
			</div>
			<?php
		}
		else
		{
			?>
			<div class="media mb-2">
			<div class="media-left">
			<a href="/id<?=$authorInfo['id']?>" class="list-user-avatar" style="margin-top: -6px; margin-right: 8px; width: 30px; height: 30px; background-image: url(<?=$authorInfo['avatar'] ?>);"></a>
			</div>
			<div class="media-body">
			<small class="message"><?=$mess['message'] ?></small>
			<small class="message-info text-muted"><?=date('H:i', $mess['time']) ?></small>
			</div>
			</div>
			<?php
		}
	}
	}
}
?>
</div>
</div>
</div>
<div class="col mt-5">
	<div class="card d-none">
		<div class="card-header">
			Правое меню
		</div>
	</div>
</div>

<script type="text/javascript">
$(document).ready(function () {
	
	$('#sendM').submit(function(e) {
		e.preventDefault();
		var formData = $('#sendM').serialize();
		
		$.ajax({
		url: '/AJAX/sendMessage.php',
		type: 'GET',
		data: formData, // можно строкой, а можно, например, так: $('input[type="text"], input[type="radio"]:checked, input[type="checkbox"]:checked, select, textarea')
		dataType: 'json',
		success: function(json) {
			$('#alerts').show();
			
			if(json['error'] == 1) {
				$('#alerts').html('<div class="alert alert-danger">'+json['comment']+'</div>');
			} else if(json['success'] == 1) {
				//$('#alerts').html('<div class="alert alert-success">'+json['comment']+'</div>');
				location.href = json['redirect'];
			}
			setTimeout(function () {
				$('#alerts').hide();
			}, 2000);
		},
		error: function(xhr, ajaxOptions, thrownError) {
			alert(thrownError + "\r\n" + xhr.statusText + "\r\n " + xhr.responseText);
		}
		});
		
	});
});
</script>

<div class="send-form">
<div class="fixed-top p-2" style="top: 100px;" id="alerts"></div>
<form action="/AJAX/sendMessage.php" method="POST" role="form" id="sendM">
<input type="hidden" name="id" value="<?=$id?>" />
<div class="form-row">
<div class="col-2">
<button type="button" class="btn btn-theme-link btn-sm" style="padding-top: 1px;" name="ok"><i class="material-icons md-30">sentiment_satisfied</i></button>
</div>
<div class="col-8 pt-1">
<input type="text" class="form-control border-0 input-sm" id="message" name="message" placeholder="Введите текст сообщения">
</div>
<div class="col-2">
<button type="submit" class="btn btn-theme-link btn-sm" style="padding-top: 1px;" name="ok" id="sendButton"><i class="material-icons md-30">send</i></button>
</div>
</div>
</form>
</div>


<script>
window.onload = function() {

  function onFormFocus() {
    this.className = 'fixed-bottom';
  }

  function onFormBlur() {
    this.className = '';
  }

  var form = document.forms.lol;
  var send = document.getElementById('send');

  if (form.addEventListener) {
    // focus/blur на стадии перехвата срабатывают во всех браузерах
    // поэтому используем их
    send.addEventListener('focus', onFormFocus, true);
    send.addEventListener('blur', onFormBlur, true);
  } else {
    // ветка для IE8-, где нет стадии перехвата, но есть focusin/focusout
    send.onfocusin = onFormFocus;
    send.onfocusout = onFormBlur;
  }
 

} 
</script>
<?php
// require ROOT.'/system/footer.php';
?>