Вход Регистрация
Файл: setk/mail/index.php
Строк: 251
<?PHP

include_once '../sys/inc/home.php';
include_once 
H.'sys/inc/start.php';
include_once 
H.'sys/inc/compress.php';
include_once 
H.'sys/inc/sess.php';
include_once 
H.'sys/inc/settings.php';
include_once 
H.'sys/inc/db_connect.php';

/**
* Классы для работы с почтой
*/
require 'classes/PHPMailerAutoload.php';

include_once 
H.'sys/inc/ipua.php';
include_once 
H.'sys/inc/fnc.php';
include_once 
H.'sys/inc/user.php';

only_reg();

$config = array(
    
'domain' =>  $set['mail_panel_domain'],
    
'aliase' => explode("n"$set['mail_panel_aliase']),
);

$listFlagged = array(
    
'inbox' => 'Активные',
    
'favorite' => 'Избранное',
    
'archive' => 'Архив',
    
'spam' => 'Спам',
    
'deleted' => 'Корзина',
);

if (isset(
$_GET['s']) && array_key_exists($_GET['s'], $listFlagged)) {
    
$listSort[] = " IF(`id_kont` = '$user[id]', `flaggedTo`, `flaggedFrom`) = '" my_esc($_GET['s']) . "' ";
    
$flagged $_GET['s'];
} else {
    
$listSort[] = " IF(`id_kont` = '$user[id]', `flaggedTo`, `flaggedFrom`) = 'inbox' "
    
$listSort[] = " IF(`id_kont` = '$user[id]', `flaggedTo`, `flaggedFrom`) = 'favorite' ";
    
$flagged 'inbox';
}

if (isset(
$_POST['action'])) {
  foreach(
$_POST AS $key => $value) {
    if (
preg_match('/^cnt/i'$key)) {
      
$contactsTo[] = "`id_kont` = '$value'";
      
$contactsFrom[] = "`id_user` = '$value'";
      
$actionTrue true;
    }
  }
  
  
$paramsTo '('implode(' OR '$contactsTo) . ") AND `id_user` = '$user[id]'";
  
$paramsFrom '('implode(' OR '$contactsFrom) . ") AND `id_kont` = '$user[id]'";
  
  if (
$_POST['action'] == 'truncate') {
    
mysql_query("UPDATE `mail` SET `deleted` = '-1' WHERE (`id_user` = '$user[id]' OR `id_kont` = '$user[id]') AND (" implode(' OR '$listSort) . ") AND (`deleted` != '0' OR type = 'email')");
    
mysql_query("UPDATE `mail` SET `deleted` = '$user[id]' WHERE (`id_user` = '$user[id]' OR `id_kont` = '$user[id]') AND (" implode(' OR '$listSort) . ") AND `deleted` = '0' AND `type` = 'personal'");
    
$_SESSION['message'] = 'Корзина успешно очищена';
  } 
  
  elseif (
array_key_exists($_POST['action'], $listFlagged) && isset($actionTrue)) {
    
mysql_query("UPDATE `mail` SET `flaggedFrom` = '" my_esc($_POST['action']) . "' WHERE $paramsTo AND (" implode(' OR '$listSort) . ") ");
    
mysql_query("UPDATE `mail` SET `flaggedTo` = '" my_esc($_POST['action']) . "' WHERE $paramsFrom AND (" implode(' OR '$listSort) . ") ");

    
$_SESSION['message'] = 'Контакты перенесены в ' $listFlagged[$_POST['action']];
  }
  
  
header('Location: ?s=' $flagged);
  exit;
}

/**
* Поиск контактов по email и нику с id
*/
if (isset($_GET['q'])) {
  
$search $_GET['q'];
  
$sAnk mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `nick` = '" my_esc($search) . "' OR `id` = '" . (int) $search "' LIMIT 1"));
  
  if (isset(
$sAnk['id'])) {
    
$querySearch[] = "`id_user` = '$sAnk[id]' AND `id_kont` = '$user[id]'";
    
$querySearch[] = "`id_kont` = '$sAnk[id]' AND `id_kont` = '$sAnk[id]'";
  }
  
  
$querySearch[] = "`id_user` like '%" my_esc($search) . "%' AND `id_kont` = '$user[id]'";
  
$querySearch[] = "`id_kont` like '%" my_esc($search) . "%' AND `id_user` = '$user[id]'";
  
$querySearch ' AND ('implode(' OR '$querySearch) . ')';
} else {
  
$search null;
  
$querySearch null;
}

$set['title'] = ($flagged != 'inbox' $listFlagged[$flagged] . '/' '') . 'Почта/' $user['nick'];
include_once 
H.'sys/inc/thead.php';
title();
aut();
err();
?>
<link rel="stylesheet" href="style/css/email.css" type="text/css" />

<ol class="breadcrumb">
  <li><a href="/"><img src="/mail/style/icons/home.png" /></a></li>
  <li><a href="/id<?= $user['id']?>"><?= $user['nick']?></a></li>
  <? if ($search != null) { ?>
    <li><a href="?">Почта</a></li>
    <? if ($flagged != 'inbox') { ?>
      <li><a href="?s=<?= $flagged?>"><?= $listFlagged[$flagged]?></a></li>
    <? ?>
    <li class="active">Поиск</li>
  <? } elseif ($flagged == 'inbox') { ?>
    <li class="active">Почта</li>
  <? } else { ?>
    <li><a href="?">Почта</a></li>
    <li class="active"><?= $listFlagged[$flagged]?></li>
  <? ?>
</ol>
<?
$arrContacts 
mysql_query("SELECT e.id_user, IF(e.id_user = '$user[id]', e.id_kont, e.id_user) AS nick,
                      SUM(IF (e.read = '0' AND e.id_kont = '
$user[id]', 1, 0)) AS count_new, 
                      SUM(IF (e.read = '0' AND e.id_user = '
$user[id]', 1, 0)) AS count_read, 
                      SUM(IF (e.id_kont = '
$user[id]', 1, 0)) AS count_to, 
                      SUM(IF (e.id_user = '
$user[id]', 1, 0)) AS count_from 
                            FROM mail AS e
                            WHERE (e.id_kont = '
$user[id]' OR e.id_user = '$user[id]') AND (" implode(' OR '$listSort) . ") AND `deleted` != '$user[id]' AND `deleted` != '-1' $querySearch
                            GROUP BY IF(e.id_user = '
$user[id]', e.id_kont, e.id_user)");

$countArray = array();
while (
$count mysql_fetch_assoc($arrContacts)) {
    
$countArray[strtolower($count['nick'])] = $count;
}

$k_post count($countArray);

if (
$k_post || $querySearch != null) {
  
?>
  <div class="email-search">
    <form action="?" method="GET">
      <input type="hidden" name="s" value="<?= $flagged?>" />
      <table cellpadding="0" cellspacing="0">
        <tr>
          <td class="search-input"><input type="search" name="q" placeholder="Поиск контакта" value="<?= text($search)?>"/></td> 
          <td class="search-submit"><button type="submit">Поиск</button></td>
        </tr>
      </table>
    </form>
  </div>
  <?
}
?>
<div class="email-panel">
  <? if ($k_post 0) { ?>
     <label class="js_not pull-left"><input id="select_all" type="checkbox"> Отметить все</label>
  <? ?>
  <a class="pull-right" href="messageList.php"><img src="style/icons/mail.png" /> Новое сообщение</a>
</div>
<?
if ($k_post == 0) {
    
?>
    <div class="mess">Список контактов пуст</div>
    <?
} else {
    
$k_page k_page($k_post,$set['p_str']);
    
$page page($k_page);
    
$start $set['p_str'] * $page $set['p_str'];

    
$q mysql_query("SELECT *, IF(`id_user` = '$user[id]', `id_kont`, `id_user`) AS contact FROM `mail` AS e ,
                      (SELECT MAX(id) AS id FROM `mail` WHERE `deleted` != '
$user[id]' AND `deleted` != '-1' AND (" implode(' OR '$listSort) . ") AND (`id_kont` = '$user[id]' OR `id_user` = '$user[id]') GROUP BY IF(`id_user` = '$user[id]', `id_kont`, `id_user`))t
                      WHERE e.id = t.id AND (`id_kont` = '
$user[id]' OR `id_user` = '$user[id]') AND (" implode(' OR '$listSort) . ") AND `deleted` != '$user[id]' AND `deleted` != '-1' $querySearch
                      GROUP BY IF(`id_user` = '
$user[id]', `id_kont`, `id_user`)
                      ORDER BY e.id DESC
                      LIMIT 
$start$set[p_str]"); 
                      
    
?>
    <form class="email" action="?s=<?= $flagged?>" method="POST">
      <?
      
while ($post mysql_fetch_assoc($q))
      {
          
$EmailUser = new EmailUser($post['contact']);
          
$ank $EmailUser->getUser();
          
?>
          <div class="email <?= ($post['read'] == && $post['id_user'] != $user['id'] ? 'email-read' '')?>">
            <div class="email-checkbox pull-left">
              <input class="check_box" type="checkbox" name="cnt<?= $post['id']?>" value="<?= text($post['contact'])?>" >
            </div>
            <a href="messageList.php?s=<?= $flagged?>&amp;contact=<?= urlencode($post['contact'])?>" class="email-link">
              <div class="overflow">
                <span class="email-avatar pull-left"><?= $ank['avatar']?></span> 
                <div class="email-login overflow">
                  <?= $ank['icon']?> <span class="<?= ($ank['ban'] == true 'user-ban' '')?>"><?= text($ank['nick'])?></span>
                  <span class="email-count">
                    (<?= $countArray[$post['contact']]['count_from']?>/<?= $countArray[$post['contact']]['count_to']?>)
                    <span class="email-count-new <?= ($post['read'] == && $post['id_user'] != $user['id'] ? 'nohidden' '')?>">+<?= $countArray[$post['contact']]['count_new']?></span>
                  </span>
                </div> 
                <div class="email-text overflow">
                  <div class="overflow <?= ($post['read'] == && $post['id_kont'] != $user['id'] ? 'email-text-noread' '')?>">
                    <?= ($post['attachments'] == '<img src="style/icons/paper-clip.png">' '')?> 
                    <img src="style/icons/<?= ($post['id_kont'] != $user['id'] ? 'out' 'in')?>.png" />
                    <?= text($post['msg'])?>
                  </div>
                </div>
              </div>
            </a>
          </div>
          <?
      
}
      
?>
      <div class="email-button">
      <? 
      
if ($flagged != 'deleted') {
        if (
$flagged != 'spam') { ?>
          <button type="submit" name="action" value="spam">спам</button> 
        <? 
        
        if (
$flagged != 'archive') { ?>
          <button type="submit" name="action" value="archive">архив</button> 
        <? } else {
          
?><button type="submit" name="action" value="inbox">из архива</button><?
        
}
      }
      
      if (
$flagged == 'deleted') { ?>
        <button type="submit" name="action" value="inbox">восстановить</button> 
        <button type="submit" name="action" value="truncate">очистить корзину</button> 
      <? } else { ?>
      <button type="submit" name="action" value="deleted">удалить</button>
      <? ?>
      </div>
    </form>
    <?

    
if ($k_page 1) {
        
str('?s=' $flagged '&amp;'$k_page$page);
    }  
}

$listInbox mysql_fetch_assoc(mysql_query("SELECT 
                    SUM(IF(IF (e.id_kont = '
$user[id]', flaggedTo, flaggedFrom) = 'favorite', 1, 0)) AS favorite,
                    SUM(IF(IF (e.id_kont = '
$user[id]', flaggedTo, flaggedFrom) = 'archive', 1, 0)) AS archive,
                    SUM(IF(IF (e.id_kont = '
$user[id]', flaggedTo, flaggedFrom) = 'spam', 1, 0)) AS spam,
                    SUM(IF(IF (e.id_kont = '
$user[id]', flaggedTo, flaggedFrom) = 'deleted', 1, 0)) AS deleted
                  FROM `mail` AS e
                  WHERE (e.id_kont = '
$user[id]' OR e.id_user = '$user[id]') AND `deleted` != '$user[id]' AND `deleted` != '-1'
                  LIMIT 1"
)); 

?>
<div class="email email-panel">
<?
if ($flagged == 'inbox' && $search == null) { 
  foreach(
$listInbox AS $key => $value) {
      
?>
      <a href="?s=<?= $key?>">
        <img src="style/icons/<?= $key?>.png" /> <?= $listFlagged[$key]?>
      </a> 
      <span class="email-count">(<?= ($value $value 0)?>)</span><br />
      <?
  
}
  
?>
  <a href="settings.php">
    <img src="style/icons/gear.png" /> Настройки почты
  </a> 
  <?
} else {
  
?>
  <a href="?"><img src="style/icons/in.png" /> Назад</a>
  <?
}
?>
</div>

<? if ($flagged == 'deleted' && isset($set['mail_clear_time'])) { 
$setnamed = array(
    
'86400' => '1 дня',
    
'604800' => '1 недели',
    
'2419200' => '1 месяца',
    
'7257600' => '3 месяцев',
    
'14515200' => '6 месяцев',
    
'29030400' => '1 года',
);
?>
<div class="email email-panel">
Внимание. Контакты хранятся в корзине не более <?= $setnamed[$set['mail_clear_time']]?>. После этого они полностью удаляются.
</div>
<? ?>

<script>
$(document).ready( function() { 
   var select_all = 0;
   $('#select_all').click( function() { 
      if (select_all == 0) { 
          $('.check_box').prop('checked', true);
          select_all = 1;
      } else {
          $('.check_box').prop('checked', false);
          select_all = 0;
      }
   });
   
   $('.js_not').css({'display':'inline-block'});
});
</script>
<?
include_once H.'sys/inc/tfoot.php';
Онлайн: 1
Реклама