Вход Регистрация
Файл: _modules/chat/index.php
Строк: 116
<?php

    
# mark core  v1.0
    # author Drk in
    # date 24.10.19     

    # core

    
require_once ( $_SERVER['DOCUMENT_ROOT']."/_core/system.php" );

    
# user

    
system::access(true);

    
# meta

    
$title 'Чат :: '.domain;

    
# get

    
$s =  isset( $_GET['s'] ) ? system::abs($_GET['s']): 0# answer
    
$d =  isset( $_GET['d'] ) ? system::abs($_GET['d']): 0# delete
    
$c =  isset( $_GET['c'] ) ? system::abs($_GET['c']): 0# clear
    
    
if ($s AND $user['id'] == $s)system::header('?''Ошибка, ответ не возможен');
    if (
$s AND cache_user::ch($s) == false)system::header('?''Ошибка, ответ не возможен');

    
$adm = ($user['admin'] == true:false).($user['admin'] == true:false);

    
# post

    
if (isset($_POST['CFMS'])): 

    
$mess  system::check($_POST['mess']);    
    
$CK  system::check($_POST['CK']);    
    
$antiflood DB :: $dbh -> querySingle("SELECT count(id) FROM chat WHERE user = ? AND time > ?;", array($user['id'],time()-10));
            
    if (
system::utf_strlen($mess) >= && system::utf_strlen($mess)    < 321):
    if (
$user['admin'] == || $user['admin'] == || $user['admin'] == || $user['exp'] >= $config['chat_exp']):
    if (empty(
$antiflood)):    
    if (
$CK == $user['CK']):    
    
    if     (
$s 0):

    if (
cache_user::ch($s) == true):    
    if (
$user['id'] != $s):    
    
    
DB :: $dbh -> query("INSERT INTO chat (user,mess,time,data) VALUES (?, ?, ?, ?);",array($user['id'],$mess,time(),$s));
    
    
$id_db DB :: $dbh -> lastInsertId();    
    
    
cache_chat::save($id_db);
    
    
# send mail
    
    
send::mail($s,'У вас новый ответ в [sys=/chat]чате[/sys] от сталкера, '.system::check($user['login']).'!');    

    
# error answer
    
    
else: system::header('?''Ошибка, ответ не возможен'); endif;
    else: 
system::header('?''Ошибка, ответ не возможен'); endif;

    else:    
    
    
DB :: $dbh -> query("INSERT INTO chat (user,mess,time) VALUES (?, ?, ?);",array($user['id'],$mess,time()));
    
    
$id_db DB :: $dbh -> lastInsertId();        

    
cache_chat::save($id_db);    

    endif;    

    
system::header('?');        

    
# error

    
else: system::header('?''Ошибка, возможно вам подкинули эту ссылку'); endif;
    else: 
system::header('?''Не так быстро, подожди не много'); endif;    
    else: 
system::header('?''Сначала заработай '.$config['chat_exp'].' опыта, чтобы общаться тут'); endif;    
    else: 
system::header('?''Cообщение может быть от 2 до 320 символов'); endif;    

    endif;    

    
# GET delete id

    
if ($d 0):

    
$CK  system::check($_GET['CK']);    

    if (
$adm == true):
        
    if (
cache_chat::ch($d) == true):
        
    if (
$CK == $user['CK']):
        
    
$d_chat cache_chat::get($d);
    
    
# admin_log

    
send::admin_log($user['id'],'Удалил сообщение в чате - '.$d_chat['mess'],'1');

    
DB :: $dbh -> query("DELETE FROM chat WHERE id = ? LIMIT 1;", array($d));    
    
    @
unlink(cache."_chat/{$d}.data"); 

    
system::header('?','Успешно',1);

    
# error

    
else: system::header('?''Ошибка, возможно вам подкинули эту ссылку'); endif;    
    else: 
system::header('?''Ошибка, ID не существует'); endif;    
    else: 
system::header('?''Ошибка, возможно вам подкинули эту ссылку'); endif;    

    endif;

    
# GET clear chat

    
if ($c == 1):

    
$CK  system::check($_GET['CK']);    
    
    if (
$user['admin'] == 1):

    if (
$CK == $user['CK']):    

    
DB :: $dbh -> query("TRUNCATE chat");        

    foreach (
glob(cache.'_chat/*') as $file):
    @
unlink($file);     
    endforeach;

    
$mess 'Произведена полная очистка чата';    

    
DB :: $dbh -> query("INSERT INTO chat (user,mess,time) VALUES (?, ?, ?);", array(0,$mess,time()));
    
    
$id_db DB :: $dbh -> lastInsertId();        

    
cache_chat::save($id_db);    

    
send::admin_log($user['id'],'Очистил все сообщение в чате','1');

    
system::header('?','Успешно',1);    

    
# error

    
else: system::header('?''Ошибка, возможно вам подкинули эту ссылку'); endif;    
    else: 
system::header('?''Ошибка, возможно вам подкинули эту ссылку'); endif;    

    endif;    

    
# head

    
require_once ( head );    

    echo 
'
    <script language="javascript" type="text/javascript" src="'
.js.'emoji.js"></script>
    '
.system::dis().'
    <div class="dialog">
    <h1 class="human">Вы</h1><form method="post">
    <input type="hidden" name="CK" value="'
.$user['CK'].'">
    '
.($s != '<span style="color:#ffa200">Ответ для " '.user::chat($s).' "</span>
    '
:'Введите сообщение').' <small>[Мин.:2/Макс.:320]</small>:<br>
    <textarea name="mess" id="em" placeholder="Введите текст..." style="width: 96%;"></textarea>
    <input type="submit" name="CFMS" value="Отправить сообщение"> 
    <a onclick="emoji();"><img src="'
.ico.'emoji/1.png" width="20" height="20"></a>
    <a href="" class ="pull-right"><img src="'
.ico.'update.png"></a>
    </form></div><div id="emoji" style="display: none;">
    <div class="dialog">'
system::emoji(null,1); echo '</div></div>';
    
    
$cn =  DB :: $dbh -> querySingle("SELECT count(id) FROM chat");    

    if (
$cn == 0)echo '<div class="dialog"><h1 class="pda">КПК</h1><p>› Cписок сообщений пуст<br></p></div>';

    
$page = new page($cn);

    
$limit $cn $page -> elements $page -> limit null;

    
$query DB :: $dbh -> query("SELECT id FROM chat ORDER BY time DESC  {$limit}");    

    while (
$act $query -> fetch()):
        
    
$act cache_chat::get($act['id']);        
    
    
$data cache_user::get($act['user']);

    
$color = ($data['id'] == '#ffffff':($data['admin'] == '#747987':null).($data['admin'] == 'red':null).($data['admin'] == 'green':null).($data['admin'] == '#d25518':null));    

    echo 
'
    <div class="dialog">
    <div style="padding-right: 7px;float: left;margin-top: 5px;">
    '
.user::min_ava($data['ava']).'
    </div><div style="overflow: hidden;">
    <h1 class="chat">'
.user::chat($act['user']).''.($act['data'] > ' в ответ '.user::chat($act['data']).'':null) .'
    '
.($user['id'] != $act['user'] && $act['user'] > '<a href="/spam/chat/id/'.$act['id'].'" style="float: right;margin-top: 2px;"><img width="16px" src="'.ico.'spam_red.png"></a>':null).'</h1></div>
    <div style="padding-top: 34px;text-align: left;">
    <div style="color: #747987;margin: 2px 3px;word-wrap: break-word;">› <font color="'
.$color.'">'.system::text($act['mess']).'</font></div>    </div>
    <div style="padding-top: 4px;text-align: left;">
    <div class ="small" style="margin: 2px 3px;word-wrap: break-word;">› '
.system::time($act['time']).'</div>    
    </div>
    <div style="padding-top: 10px;">
    '
.($act['user'] > && $user['id'] != $act['user']  ? '<a href="?s='.$act['user'].'">Ответить</a>':null).'    
    '
.($adm == true '<span style="float: right;'.($act['user'] > && $user['id'] != $act['user']  ? null:'margin-top: -13px;').'"><a href="?d='.$act['id'].'&CK='.$user['CK'].'">Удалить</a></span>':null).'    
    </div></div>
    '
;    

    endwhile;    

    
$page -> get('?');

    echo 
'
    '
.($user['admin'] == '
    <div class="fights-link" style="margin: 5px"><a href="?c=1&CK='
.$user['CK'].'">Очистить чат</a></div>
    '
:null).'
    <div class="line"></div>'
;

    
# foot 

    
require_once ( foot );
?>
Онлайн: 0
Реклама