View file ä󿪫¬/modules/mini_chat/index.php

File size: 18.98Kb
<?php

/* Mixanza Production
 * Дата последнего редактирования 28.05.2018
 * Модифицировал Mixanza
 */

foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
    require_once "../../sys/inc/$inc.php";
}

$set['title'] = lang('Мини чат');

require_once H . 'sys/inc/thead.php';

// Действия с комментариями
include 'inc/admin_act.php';

aut();
err();

if (isset($user) && $pdo->query(("SELECT COUNT(*) FROM `dlist` WHERE `id_user` = '$user[id]'"), 0)->fetchColumn()==0)
{
$pdo->query("INSERT INTO `dlist` (`id_user`) values('". intval($user['id']) ."')");
header("Location: ?");
}

#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo lang('Мини чат');
echo "</div>";



if ($user['rating'] >= 0 && $user['rating'] <= 19){

echo "<div class=\"list-group-item\">";    
echo "<div class='mess'>";
            echo 'Извините, но писать сообщения в мини-чате можно со 2-го уровня. Чтобы достичь второй уровень необходимо <a href="/modules/shop/money.php">Поднять рейтинг</a> за начисляемые баллы, 
            которые <a href="/modules/shop/">обмениваются на рубли</a>.
            
<br><br>Полезное инфо: <a href="/site/balls.php">Как зарабатывать баллы</a>        
            ';
            echo "</div></div>";    
    
    
}else{



if ($pdo->query(("SELECT COUNT(*) FROM `ban_mini_chat` WHERE `id_user` = '$user[id]' AND `status` = '1'"), 0)->fetchColumn())
{
header('location: ban_user.php');
}

if (isset($_GET['delf'])){	
$pdo->query("DELETE FROM `mini_chat_files` WHERE `id` = '".intval($_GET['delf'])."' AND `id_user` = '".$user['id']."'");
$_SESSION['message'] = 'Объект успешно удален';
header("Location: ?");
}


if (isset($_GET['like']))
{if ($pdo->query(("SELECT COUNT(*) FROM `like_post` WHERE `id_user` = '".$user['id']."' AND `id_post` = '".intval($_GET['like'])."' AND `type` = 'mini_chat' LIMIT 1"),0)->fetchColumn()==0){

$pdo->query("INSERT INTO `like_post` (`id_post`, `id_user`, `like`, `time`, `type`) VALUES ('".intval($_GET['like'])."', '$user[id]', '1', '$time', 'mini_chat')");
$_SESSION['message'] = 'Ваш голос засчитан';
			header("Location: /modules/mini_chat/index.php");
			exit;
}}


// Отправка комментариев
if (isset($_POST['msg']) && isset($user)) {
    $msg = htmlspecialchars($_POST['msg']);
    $mat = antimat($msg);
    if ($mat) {
        $err[] = lang("В тексте сообщения обнаружен мат") . ": $mat";
    }

    if (utf8_strlen($msg) > 10024) {
        $err[] = lang('Сообщение слишком длинное');
    } elseif (utf8_strlen($msg) < 2) {
        $err[] = lang('Короткое сообщение');
    } elseif ($pdo->query(("SELECT COUNT(*) FROM `mini_chat` WHERE `id_user` = '" . $user['id'] . "' AND `msg` = '" . mysql_real_escape_string($msg) . "' LIMIT 1"), 0)->fetchColumn() != 0) {
        $err = lang('Ваше сообщение повторяет предыдущее');
    } elseif (!isset($err)) {
       
        $pdo->query("INSERT INTO `mini_chat` (`id_user`, `time`, `msg`) values('" . $user['id'] . "', '$time', '" .$msg. "')");

$id_msg = $pdo->lastInsertId();

$pdo->query("UPDATE `mini_chat_files` SET `id_msg` = '$id_msg' WHERE `id_msg`='0' AND `id_user`='" . $user['id'] . "'");

$pdo->query("UPDATE `mini_chat_graff` SET `id_graff` = '0', `id_msg` = '$id_msg' WHERE `id_user` = '" . $user['id'] . "' AND `id_graff` = '1'");



$dlist = $pdo->query("SELECT * FROM `dlist` WHERE `id_user` = '".$user['id']."' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

if (isset($user) && $pdo->query(("SELECT COUNT(*) FROM `dlist` WHERE `id_user` = '$user[id]' AND `mini_chat` = '5'"), 0)->fetchColumn()==0)
{
$pdo->query("UPDATE `dlist` SET `mini_chat` = '" . ($dlist['mini_chat'] + 1) . "' WHERE `id_user` = '".intval($user['id'])."' LIMIT 1");
} 

if (isset($user) && $pdo->query(("SELECT COUNT(*) FROM `dlist` WHERE `id_user` = '$user[id]' AND `mini_chat` = '5' AND `mini_chat_ok` = '0'"), 0)->fetchColumn())
{
$pdo->query("UPDATE `user` SET `activity` = '" . ($user['activity'] + $dlist['mini_chat_v']) . "' WHERE `id` = '".intval($user['id'])."' LIMIT 1");
$pdo->query("UPDATE `dlist` SET `mini_chat_ok` = '1' WHERE `id_user` = '".intval($user['id'])."' LIMIT 1");
$pdo->query("INSERT INTO `jurnal_balls` (`time`, `msg`, `id_user`, `balls`, `id_post`, `type`, `type_post`) values('$time', 'Выполнение достижения', '".intval($user['id'])."', '".intval($dlist['mini_chat_v'])."', '".intval($id_file)."', 'plus', 'games')");
}
    

        $_SESSION['message'] = lang('Сообщение успешно добавлено');
        header("Location: index.php" . SID);
        exit;
    }
}
// Отправка комментариев с главной
if (isset($_POST['msgs']) && isset($user)) {
    $msg = stripslashes(htmlspecialchars($_POST['msgs']));

    if (utf8_strlen($msg) > 10024) {
        $err[] = lang('Сообщение слишком длинное');
    } elseif (utf8_strlen($msg) < 2) {
        $err[] = lang('Короткое сообщение');
    } elseif ($pdo->query(("SELECT COUNT(*) FROM `mini_chat` WHERE `id_user` = '" . $user['id'] . "' AND `msg` = '" .$msg. "' LIMIT 1"), 0)->fetchColumn() != 0) {
        $err = lang('Ваше сообщение повторяет предыдущее');
    } elseif (!isset($err)) {
        
        $pdo->query("INSERT INTO `mini_chat` (id_user, time, msg) values('" . $user['id'] . "', '$time', '" .$msg. "')");

       

        $_SESSION['message'] = lang('Сообщение успешно добавлено');
        header("Location: /index.php");
        exit;
    }
}



$chat_count = $pdo->query(("SELECT COUNT(id) FROM `user` WHERE `date_last` > '" . (time() - 1500) . "' AND `url` like '/modules/mini_chat/%'"), 0)->fetchColumn();
echo "<div class='list-group-item'>";

echo "<a href='who.php'><i class='fa fa-comment fa-fw'></i> <b>" . lang('В мини чате') . " " . sklon_text($chat_count, array(lang('человек'), lang('человека'), lang('человек'))) . "</b></a>";
echo '<a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#in" aria-expanded="false" aria-controls="in"><span style="float: right;position: relative; right: 15px;"><font color="gray"><i class="fa fa-ellipsis-v fa-lg"></i></font> </span></a>';

echo ' 
<div id="in" class="panel-collapse collapse" role="tabpanel" aria-labelledby="in"><br>
<a href="/modules/mini_chat/file_dialog.php"><div style="padding: 8px; background-color: #DDE5EC; width: 100%; border-top: 1px #BCC7CF solid;border-left: 1px #BCC7CF solid;border-right: 1px #BCC7CF solid;border-bottom: 0;"><center><font color=#5E768A><i class="fa fa-paperclip fa-fw"></i> Вложения</font></center></div></a>
<a href="/modules/mini_chat/ban_list.php"><div style="padding: 8px; background-color: #DDE5EC; width: 100%; border: 1px #BCC7CF solid;"><center><font color=#5E768A><i class="fa fa-ban fa-fw"></i> Забаненные</font></center></div></a>


';



echo "</div></div>";

// Форма для комментариев
if (isset($user)) {


    echo "<form method='post' class='list-group-item' name='message'>";
     
echo auto_bb("message", "msg");

    echo "<textarea placeholder='" . lang('Введите сообщение') . "...' name='msg' class='form-control'></textarea><br />";

    $doc->Button('knopka', null, 'pencil', 'Добавить');
echo "<a class='knopka' href='index.php'><font color=white><i class='fa fa-refresh'></i></font></a>";      

echo "<span style='float: right;'>";    
echo "<a href='/modules/mini_chat/attachments.php' class='btn btn-secondary btn-sm'> <i class='fa fa-file'></i> </a>";
    echo '';
    
echo " <a href='/modules/mini_chat/graff.php'>";
    echo " <span class='btn btn-secondary btn-sm'><i class='fa fa-eyedropper fa-fw'></i>";
     echo "</span></a></span><br>";
    

$graff = $pdo->query("SELECT * FROM `mini_chat_graff` WHERE `id_user` = '$user[id]' AND `id_graff`='1' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

if (isset($_GET['delg'])) {

$pdo->query("DELETE FROM `mini_chat_graff` WHERE `id_user`='".$user['id']."' AND `id_graff`='1' LIMIT 1");
@unlink(H.'modules/mini_chat/screens/' . $graff['name'] . '.png');
msg('Граффити успешно удалено');
}

if ($graff['id_graff'] == 1) {    
    
 echo "<br><br><a href='/modules/mini_chat/index.php?delg'><i class='fa fa-trash'></i></a><br><a href='/modules/mini_chat/screens/".$graff['name'].".png'><img src='/modules/mini_chat/screens/".$graff['name'].".png' width='85px' height='65px'></a>";   
}         
    
    
 $q = $pdo->query("SELECT * FROM `mini_chat_files` WHERE `id_user` = '$user[id]' AND `id_msg` = '0'");

while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
if ($post['type'] == 'photo'){  
echo "<br><span class='btn btn-secondary btn-sm'><i class='fa fa-camera'></i> $post[name]";   
} 

if ($post['type'] == 'video'){  
echo "<br><span class='btn btn-secondary btn-sm'><i class='fa fa-film'></i> $post[name]";   
} 

if ($post['type'] == 'music'){  
echo "<br><span class='btn btn-secondary btn-sm'><i class='fa fa-music'></i> $post[name]";   
} 

if ($post['type'] == 'file'){  
echo "<br><span class='btn btn-secondary btn-sm'><i class='fa fa-file'></i> $post[name]";   
} 
    
echo' <a href="?delf='.$post['id'].'"><font color=#F56257><i class="fa fa-trash fa-lg"></i></font></a></span><br>';    
}   
    
    
    
    
    
    
    
    
    echo '</form>';
}


}
$k_post = $pdo->query(("SELECT COUNT(id) FROM `mini_chat`"), 0)->fetchColumn();
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];
if ($k_post == 0) {
    $doc->NoResult();
}

$q = $pdo->query("SELECT * FROM `mini_chat` ORDER BY id DESC LIMIT $start, $set[p_str]");

while ($post = $q->fetch(PDO::FETCH_ASSOC)) {
    $ank = $pdo->query(("SELECT * FROM `user` WHERE `id` = " . $post['id_user'] . " LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
    $k_p = $pdo->query(("SELECT COUNT(*) FROM `mini_chat_layp` WHERE id_post = $post[id]"), 0)->fetchColumn();
    $l = $pdo->query("SELECT * FROM `mini_chat_layp` WHERE `id_post` = '$post[id]' ORDER by id ASC");

if($post['ban_private_comm']==1){


echo "<div class='list-group-item' style='background-color: #F0EBF1;'>"; 
  echo '<table style="cellspacing="0" cellpadding="0" width="100%"><tr>';
if (IS_WEB == 1) {
echo '<td style="width: 10%;">';
    
}else{
echo '<td style="width: 17%;">';    
}

echo '<span style="position: absolute; top: 5%;">';
avatarz($ank['id']);
echo '</span>';
echo '</td>';

if (IS_WEB == 1) {
echo '<td style="width: 90%;">';
    
}else{
echo '<td style="width: 83%;">';    
}


    while ($layp = $l->fetch(PDO::FETCH_ASSOC)) {
        echo "<img src='img/$layp[dir]/$layp[img].png' style='position: absolute; margin-left: $layp[margin_left]px;' />";
    }
    echo "<span style = 'float:right;color: grey;'><small title='" . date::time($post['time']) . "'>" . date::timek($post['time']) . "</small></span>";
    echo user($ank['id']) . " ";

echo "<br />\n";
echo "<br />\n";    

    echo "<font color=gray>Сообщение скрыто</font>";
    
     
    
    echo "<br><br>";
   echo "</td></tr></table>";    


 
 echo "</div>";



    
}else{




echo "<div class='list-group-item'>"; 
  echo '<table style="cellspacing="0" cellpadding="0" width="100%"><tr>';
if (IS_WEB == 1) {
echo '<td style="width: 10%;">';
    
}else{
echo '<td style="width: 17%;">';    
}

echo '<span style="position: absolute; top: 5%;">';
avatarz($ank['id']);
echo '</span>';
echo '</td>';

if (IS_WEB == 1) {
echo '<td style="width: 90%;">';
    
}else{
echo '<td style="width: 83%;">';    
}


    while ($layp = $l->fetch(PDO::FETCH_ASSOC)) {
        echo "<img src='img/$layp[dir]/$layp[img].png' style='position: absolute; margin-left: $layp[margin_left]px;' />";
    }
    echo "<span style = 'float:right;color: grey;'><small title='" . date::time($post['time']) . "'>" . date::timek($post['time']) . "</small></span>";
    echo user($ank['id']) . " ";

echo "<br />\n";
echo "<br />\n";    
//////////////////////////////
 $f = $pdo->query("SELECT * FROM `mini_chat_files` WHERE `id_msg` = '$post[id]' LIMIT 3");

 while ($file = $f->fetch(PDO::FETCH_ASSOC)) {
$file_id = $pdo->query("SELECT * FROM `gallery_foto` WHERE `id` = '".$file['id_file']."'")->fetch(PDO::FETCH_BOTH);	

if ($file['type'] == 'photo') { 
if (IS_WEB == 1) {

	echo "<br /><img src='/modules/foto/foto0/".$file_id['id'].".".$file_id['ras']."' style='border: 1px solid #CCDDED; padding: 2px; border-radius: 5px; max-width: 250px;'>\n";
}else{
	echo "<br /><img src='/modules/foto/foto0/".$file_id['id'].".".$file_id['ras']."' style='border: 1px solid #CCDDED; padding: 2px; border-radius: 5px; max-width: 200px;'>\n";
     
 }    
                        echo "<br /><small><a href='/modules/foto/foto0/$file_id[id].$file_id[ras]'><i class='fa fa-paperclip fa-fw'></i> " . stripcslashes(htmlspecialchars($file['name'])) . ".$file[ras]</a></small>";

    
} 



if ($file['type'] == 'video') { 

echo '<br /><br /><video src="'.$df['name'].''.$video77.''.$file['id_file'].'.mp4" width="93%" height="200px" poster="/site/files/video_f.png" controls /></video>';    
                        echo "<br /><small><a href='/user/video/file.php?id=".$file['id_file']."'><i class='fa fa-paperclip fa-fw'></i> " . stripcslashes(htmlspecialchars(substr($file['name'],0,25))) . "</a></small>";
} 


if ($file['type'] == 'music') { 

echo '<br /><br /><audio src="'.$df['name'].''.$music77.''.$file['id_file'].'.mp3" width="93%" height="200px" poster="/site/files/video_f.png" controls /></audio>';    
                        echo "<br /><small><a href='/user/music/file.php?id=".$file['id_file']."'><i class='fa fa-paperclip fa-fw'></i> " . stripcslashes(htmlspecialchars(substr($file['name'],0,25))) . "</a></small>";
} 


if ($file['type'] == 'file') { 
    
echo "<br /><small><a href='/user/file/file.php?id=".$file['id_file']."'><i class='fa fa-paperclip fa-fw'></i> " . stripcslashes(htmlspecialchars(substr($file['name'],0,25))) . "</a></small>";
} 






echo "<br />";
}

/////////////////////////////

 $graf = $pdo->query("SELECT * FROM `mini_chat_graff` WHERE `id_msg` = '$post[id]'")->fetch(PDO::FETCH_ASSOC);
               
if ($graf['id_msg'] == null) { }else{   
    
 echo "<br><a href='/modules/mini_chat/screens/".$graf['name'].".png'><img src='/modules/mini_chat/screens/".$graf['name'].".png' style='max-width: 200px;'></a><br>";   
} 
    echo output_text($post['msg']) . "\n";
    
     
    
    echo "<br><br>";
   echo "</td></tr></table>";    
?>
<style>
.comm-in {
background-color: #E4EDF1;
border: 0.5px #C0CED5 solid;
border-radius: 3px;
padding: 3px;
color: #87ADC0;
margin-top: 2px;
}

.like-in {
background-color: #E4EDF1;
border: 0.5px #C0CED5 solid;
border-radius: 3px 0px 0px 3px;
padding: 3px;
color: #87ADC0;
margin-top: 2px;
}

.like-in-red {
background-color: white;
border: 0.5px #FA766D solid;
border-radius: 3px 0px 0px 3px;
padding: 3px;
color: #FA766D;
margin-top: 2px;
}



.like-in-o {
background-color: white;
border-top: 0.5px #C0CED5 solid;
border-right: 0.5px #C0CED5 solid;
border-bottom: 0.5px #C0CED5 solid;
border-radius: 0px 3px 3px 0px;
padding: 3px;
color: #87ADC0;
margin-top: 2px;
}

.like-in-o-red {
background-color: white;
border-top: 0.5px #FA766D solid;
border-right: 0.5px #FA766D solid;
border-bottom: 0.5px #FA766D solid;
border-radius: 0px 3px 3px 0px;
padding: 3px;
color: #FA766D;
margin-top: 2px;
}

</style>
<?    
    
    
    
    
    
    if (isset($user)) {
        if ($ank['id'] != $user['id']) {
echo " <a class='comm-in' href='reply.php?id=$post[id]'><i class='fa fa-comment fa-fw'></i> Ответ</a> ";            
        }
        if ($k_p > 0) {
echo " <a class='comm-in' href='act.php?post=$post[id]&amp;page=$page&amp;act=layp'><i class='fa fa-history fa-fw'></i></a> ";            

        }else{
        if (isset($user) && ($ank['id'] != $user['id'])) {
            echo " <a class='comm-in' href='layp.php?post=$post[id]&amp;page=$page'><i class='fa fa-paw fa-fw'></i> Ляп</a> ";            

      }}
      
if (isset($user)){
    
$like = $pdo->query(("SELECT COUNT(*) FROM `like_post` WHERE `id_post` = '".$post['id']."' AND `type` = 'mini_chat'"),0)->fetchColumn();    

if ($pdo->query(("SELECT COUNT(*) FROM `like_post` WHERE `id_user` = '".$user['id']."' AND `id_post` = '".$post['id']."' AND `type` = 'mini_chat' LIMIT 1"),0)->fetchColumn()==0){    

echo " <span style='float: right; position: relative; left: 8px;'><a class='like-in-o' href='like_list.php?id_post=$post[id]'> <b>$like</b> </a></span> ";            
echo " <span id='like' style='float: right; position: relative; left: 8px;'><a class='like-in' href='?like=$post[id]'><i class='fa fa-heart-o fa-fw'></i></a></span> ";            
}else{    
echo " <span style='float: right; position: relative; left: 8px;'><a class='like-in-o-red' href='like_list.php?id_post=$post[id]'> <b>$like</b> </a></span> ";            
echo " <span style='float: right; position: relative; left: 8px;'><a class='like-in-red' href='like_list.php?id_post=$post[id]'><i class='fa fa-heart fa-fw'></i></a></span> ";            
    
}    
}        


if (access('mini_chat_clear')){
echo " <span style='float: right; position: relative; left: 4px;'><a class='comm-in' href='edit_post.php?edit=$post[id]'><i class='fa fa-pencil fa-fw'></i></a></span> ";            
}else{ 
if (isset($user) && $post['id_user']==$user['id'] && $post['time']>time()-280){
echo " <span style='float: right; position: relative; left: 4px;'><a class='comm-in' href='edit_post.php?edit=$post[id]'><i class='fa fa-pencil fa-fw'></i></a></span> ";            
} }

if (isset($user) && ($user['level'] > $ank['level'] || $user['level'] != 0 && $user['id'] == $ank['id']) && access('mini_chat_clear')) {

echo " <span style='float: right;'><a class='comm-in' href='ban.php?id=$post[id_user]'><i class='fa fa-ban fa-fw'></i></a> ";
    
echo " <a class='comm-in' href='delete.php?id=$post[id]'><i class='fa fa-trash fa-fw'></i></a></span> ";            
       
}
        
 
 
 
        
        
    }

   

 
 echo "</div>";}}

if ($k_page > 1) {
    echo "<div class='list-group-item'>";
    str('index.php?', $k_page, $page);
    echo "</div>";
}

// Форма очистки комментов
include 'inc/admin_form.php';


require_once H . 'sys/inc/tfoot.php';