View file system/AJAX/php/messages/dialog_modal_mess.php

File size: 12.15Kb
<?php  
require_once ($_SERVER['DOCUMENT_ROOT'].'/system/connections/core.php');
require_once (ROOT.'/system/connections/inform.php');
access('users');

$account = db::get_string("SELECT `ID`,`LOGIN`,`SEX`,`DATE_VISIT` FROM `USERS` WHERE `ID` = ? LIMIT 1", [intval(get('id'))]);
$count = intval(get('type'));

?><div id='content-mess-dialog' style='position: relative'><?

if (ajax() == true && isset($account['ID']) && $account['ID'] != user('ID')){
  
  messages::read(user('ID'), $account['ID']);
  require (ROOT.'/users/account/mail/plugins/delete.php');
  define('ACCOUNT_ID', $account['ID']);
  
  if (post('ok_message')){
    
    $err = null;
    
    valid::create(array(
      
      'MAIL_MESSAGE' => ['message', 'text', [2, 5000], 'Сообщение', 0]
    
    ));
    
    if (config('SYSTEM') == ACCOUNT_ID) {
    
      $err = lg('Нельзя писать сообщения системному аккаунту');
    
    }
    
    $mail_set_my = db::get_string("SELECT * FROM `MAIL_SETTINGS` WHERE `USER_ID` = ? LIMIT 1", [user('ID')]);
    $mail_set_user = db::get_string("SELECT * FROM `MAIL_SETTINGS` WHERE `USER_ID` = ? LIMIT 1", [ACCOUNT_ID]);
    
    if ($mail_set_my['PRIVATE'] == 2){
      
      $err = lg('Вы не можете писать письма, так как закрыли свою почту от всех');
    
    }
    
    if ($mail_set_user['PRIVATE'] == 2){
      
      $err = lg('Вы не можете писать письма этому пользователю, так как он закрыл свою почту от всех');
    
    }
    
    if ($mail_set_user['PRIVATE'] == 1 && db::get_column("SELECT COUNT(`ID`) FROM `FRIENDS` WHERE `USER_ID` = ? AND `MY_ID` = ? AND `ACT` = '0' LIMIT 1", [user('ID'), ACCOUNT_ID]) == 0){
      
      $err = lg('Данному пользователю могут писать только друзья');
    
    }
    
    if (ERROR_LOG == 1){
      
      ?><div class='dmg-error'><?=lg('Слишком короткое или слишком длинное сообщение')?></div><?
    
    }elseif (str($err) > 0){
      
      ?><div class='dmg-error'><?=$err?></div><?
    
    }else{
      
      if (db::get_column("SELECT COUNT(*) FROM `MAIL_MESSAGE` WHERE `TID` = ? AND `USER` = ? LIMIT 1", [intval(session('REPLY_ID_MESS'.ACCOUNT_ID)), user('ID')]) > 0){
        
        define('REPLY_ID', intval(session('REPLY_ID_MESS'.ACCOUNT_ID)));
      
      }else{
        
        define('REPLY_ID', 0);
      
      }
      
      messages::get(user('ID'), ACCOUNT_ID, MAIL_MESSAGE, REPLY_ID);      
      db::get_set("UPDATE `ATTACHMENTS` SET `ID_POST` = ?, `ACT` = '1' WHERE `USER_ID` = ? AND `ACT` = '0' AND `TYPE_POST` = ?", [TID, user('ID'), 'ok_message']);
      session('REPLY_ID_MESS'.ACCOUNT_ID, null);
      
    }
  
  }
  
  ?>
  <div class='web-dialog-modal-title'>  
    
  <a href='/id<?=ACCOUNT_ID?>' class='mail-messages-nav' style='width: 190px; display: inline-block'>
  <div id='messages' action='/system/AJAX/php/messages/dialog_modal_mess.php?id=<?=ACCOUNT_ID?>&<?=TOKEN_URL?>'>
  <span class='mail-messages-nav-avatar'>
  <?=user::avatar(ACCOUNT_ID, 38)?>
  </span>  
  <span class='mail-messages-nav-login' style='color: black'>
  <?=user::login_mini(ACCOUNT_ID)?> 
  </span>
  <span class='mail-messages-nav-online' style='color: #81949D; font-weight: normal'>
    
  <?php  
    
  if (user('MESSAGES_PRINTS') == ACCOUNT_ID) {
    
    echo lg('печатает')." ...";
    db::get_set("UPDATE `USERS` SET `MESSAGES_PRINTS` = '0' WHERE `ID` = ? LIMIT 1", [user('ID')]);
  
  }else{
    
    if ($account['DATE_VISIT'] < TM-config('ONLINE_TIME_USERS')){
      
      if ($account['SEX'] == 2){
        
        $time_sex = lg('была в сети')." ";    
      
      }else{
        
        $time_sex = lg('был в сети')." ";
      
      }
      
      $time_us = $time_sex.stime($account['DATE_VISIT']);
      
      if (str($time_us) > 32){
        
        $time_us = '<marquee scrolldelay="800" behavior="alternate">'.$time_us.'</marquee>';
      
      }
      
      echo $time_us;
    
    }else{
      
      echo '<font color="#29CB80">'.lg('в сети').'</font>';
    
    }
  
  }
  ?>
  </span>
  </div>  
  </a>  
    
    
  <button id='dialog_modal_content_open' class='web-dialog-modal-title-close3'><?=icons('envelope', 20)?></button>   
  <a class='web-dialog-modal-title-close2' href='/account/mail/messages/?id=<?=ACCOUNT_ID?>&<?=TOKEN_URL?>'><?=icons('object-group', 20)?></a>
  <button class='web-dialog-modal-title-close' onclick="open_or_close('web-dialog-modal', 'close')"><?=icons('times', 25)?></button>
  </div>
    
  <div class='content-mess-dialog'>
  <?
  
  $id = 0;
  $data = db::get_string_all("SELECT * FROM (SELECT * FROM `MAIL_MESSAGE` WHERE (`USER_ID` = ? OR `MY_ID` = ?) AND (`USER_ID` = ? OR `MY_ID` = ?) AND `USER` = ? ORDER BY `TIME` DESC LIMIT 30) A ORDER BY `TIME`", [user('ID'), user('ID'), $account['ID'], $account['ID'], user('ID')]);
  while ($list = $data->fetch()){
    
    $delete_my = '
<div class="list-menu hover" onclick="request(\'/account/mail/messages/?id='.$account['ID'].'&delete_my='.$list['ID'].'&'.TOKEN_URL.'\', \'#blink'.$list['ID'].'\')">'.icons('trash', 20, 'fa-fw').' '.lg('Удалить у меня').'</div>
';
    
    if ($list['TIME'] > TM - 600) {
      
      $delete_user = '
      <div class="list-menu hover" onclick="request(\'/account/mail/messages/?id='.$account['ID'].'&delete_user='.$list['TID'].'&'.TOKEN_URL.'\', \'#blink'.$list['ID'].'\')">'.icons('trash', 20, 'fa-fw').' '.lg('Удалить у всех').'</div>
      ';
    
    }else{
      
      $delete_user = null;
    
    }
    
    $edit = '<a href="/account/mail/edit/?id='.$list['TID'].'&'.TOKEN_URL.'"><div class="list-menu hover">'.icons('pencil', 20, 'fa-fw').' '.lg('Редактировать').'</div></a>';
    
    $reply = '<div class="list-menu hover" id="modal_center_close_set" onclick="reply(\'/account/mail/messages/?id='.$account['ID'].'&reply_mess='.$list['TID'].'&'.TOKEN_URL.'\', \'#reply_mess\', \''.$list['ID'].'\')">'.icons('mail-forward', 20, 'fa-fw').' '.lg('Ответить').'</div>';
    
    if ($list['REPLY'] > 0) {
      
      $rm = db::get_string("SELECT `MESSAGE`,`MY_ID`,`TID` FROM `MAIL_MESSAGE` WHERE `TID` = ? LIMIT 1", [$list['REPLY']]);
      $us = db::get_string("SELECT `ID`,`LOGIN` FROM `USERS` WHERE `ID` = ? LIMIT 1", [$rm['MY_ID']]);
      
      $reply_data = '
      <div class="messages_reply">
      <span><a href="/id'.$us['ID'].'">'.$us['LOGIN'].'</a></span><br />'.(tabs(crop_text($rm['MESSAGE'], 0, 200)) != null ? tabs(crop_text($rm['MESSAGE'], 0, 200)).'<br />' : '...<br />').'
      </div>
      ';
    
    }else{
      
      $reply_data = null;
    
    }
    
    if ($list['EDIT_TIME'] > 0) {
      
      $etime = lg('ред.').' '.ftime($list['EDIT_TIME']);
    
    }else{
      
      $etime = ftime($list['TIME']);
    
    }
    
    /*
    -----------------
    Сообщения от меня
    -----------------
    */
    
    if ($list['MY_ID'] == user('ID')){
      
      if ($list['READ'] == 0){
        
        $read = "<span class='mail-message-eye'>".icons('eye-slash', 13, 'fa-fw')."</span>";
      
      }else{
        
        $read = null;
      
      }
      
      $mess = ' 
      <div id="blink'.$list['ID'].'">
      <div class="modal_phone modal_center_close" id="cmenu'.$list['ID'].'2" onclick="modal_center(\'cmenu'.$list['ID'].'\', \'close\')"></div>
      <div id="cmenu'.$list['ID'].'" class="modal_center modal_center_open">
      <div class="modal_bottom_title2">'.lg('Действия').'<button onclick="modal_center_close()">'.icons('times', 20).'</button></div>
      <div class="modal-container">'.$reply.$edit.$delete_my.$delete_user.'</div>
      </div>
      <div class="mail-message-my">
      '.$read.'
      <div class="mail-message-my-form">'.$reply_data.(text($list['MESSAGE']) != null ? text($list['MESSAGE']) : '...').attachments_files($list['TID'], 'ok_message').'
      <div class="mess_time" onclick="modal_center(\'cmenu'.$list['ID'].'\', \'open\')">
  '.$etime.' '.icons('ellipsis-v', 17, 'fa-fw').'
      </div>
      </div>  
      </div>
      </div>
      ';
    
    }
    
    /*
    ------------------------
    Сообщения от собеседника
    ------------------------
    */
    
    if ($list['USER_ID'] == user('ID')){
      
      if (db::get_column("SELECT COUNT(*) FROM `BAN_USER` WHERE `USER_ID` = ? AND `BAN` = ? LIMIT 1", [$account['ID'], 1]) > 0){
        
        $message = icons('lock', 17, 'fa-fw')." ".('Автор сообщения заблокирован, информация скрыта');
      
      }else{
        
        $message = $reply_data.(text($list['MESSAGE']) != null ? text($list['MESSAGE']) : '...').attachments_files($list['TID'], 'ok_message');
      
      }
      
      $mess = ' 
      <div id="blink'.$list['ID'].'">
      <div class="modal_phone modal_center_close" id="cmenu'.$list['ID'].'2" onclick="modal_center(\'cmenu'.$list['ID'].'\', \'close\')"></div>
      <div id="cmenu'.$list['ID'].'" class="modal_center modal_center_open">
      <div class="modal_bottom_title2">'.lg('Действия').'<button onclick="modal_center_close()">'.icons('times', 20).'</button></div>
      <div class="modal-container">'.$reply.$delete_my.'</div>
      </div>
      <div class="mail-message-user">
      <div class="mail-message-user-form">'.$message.'
      <div class="mess_time" onclick="modal_center(\'cmenu'.$list['ID'].'\', \'open\')">
      '.$etime.' '.icons('ellipsis-v', 17, 'fa-fw').'
      </div></div></div></div>
      ';
    
    }    
    
    echo $mess;
    $id = $list['ID'];
  
  }
  
  ?>
  <div id='ajax_loaders_interval' action='/system/AJAX/php/messages/messages.php?id=<?=$account['ID']?>&<?=TOKEN_URL?>' count_add='<?=$id?>'></div>
  <div class='messages_prints' action='/system/AJAX/php/messages/messages_prints.php?id=<?=$account['ID']?>&<?=TOKEN_URL?>'></div>
  <div class='scroll bottom'></div>  
  <?
  
  if ($id == 0) {
    
    ?>
    <div class='list3'> 
    <span><?=icons('comments', 84)?></span>
    <div><?=lg('Нет сообщений')?></div>
    </div>
    <?
    
  }
  
  $action = '/system/AJAX/php/messages/dialog_modal_mess.php?id='.$account['ID'].'?type='.$count;
  $action2 = '/account/mail/messages/?id='.ACCOUNT_ID.'&'.TOKEN_URL;
  $show = $account['ID'];
  $type = 'ok_message';
  
  ?>
  <br />
  </div>  
    
  <div class='panel-bottom-comments' style='width: 360px'>
  <?=attachments($type, $action2)?> 
  <?=smiles_show()?>
  <?=bb_show()?>
  <?php require_once (ROOT.'/users/account/mail/plugins/reply.php'); ?>  
  <form method='post' class='ajax-button-form-dialog' action='<?=$action?>'>
  <div class='comments'>
  <div>
  
  <?php if ($count == 1) : ?>
  <a ajax="no" id="modal_bottom_open_set" onclick="upload('/system/AJAX/php/attachments/photos.php?type=<?=$type?>&url=<?=base64_encode($action2)?>&show=<?=$show?>&<?=TOKEN_URL?>', 'attachments_upload')" class="comments-attachments"><i class="fa fa-paperclip fa-fw"></i></a>
  <?php endif ?>  
    
  <textarea style="<?=($count == 0 ? 'padding: 11px 0.8em' : null)?>" onkeyup="messages_prints()" id="count_char" class='comments-textarea count_char' rows="1" name="message" placeholder="<?=lg('Напишите сообщение')?>"></textarea>
  
  <?php if ($count == 1) : ?>
  <?php $smiles_dir = db::get_string("SELECT `ID` FROM `SMILES_DIR` ORDER BY `ID` DESC LIMIT 1"); ?>
  <a ajax='no' onclick="open_or_close('smiles')" id='smile_up' action='/system/AJAX/php/smiles.php?id=<?=$smiles_dir['ID']?>' class='comments-smiles'><i class='fa fa-smile-o fa-fw'></i></a>
  <a ajax='no' onclick="open_or_close('bb')" class='comments-bb'><i class='fa fa-font fa-fw'></i></a>
  <?php endif ?>
  
  </div>
  <button id="button-type" name='<?=$type?>' value='go' class='comments-button ajax-button-comments-dialog'><i class='fa fa-send fa-fw'></i></button>
  </div>    
  <?php if (config('CSRF') == 1) : ?>
  <input type="hidden" name="<?=csrf::token_id()?>" value="<?=csrf::token(csrf::token_id())?>">
  <?php endif ?>
  <input type="hidden" value="go" name="<?=$type?>">    
  </form>  
  </div>
  
  </div>
  <?
  
}else{
  
  echo lg('Не удалось установить соединение');
  
}

?></div><?