HEX
Server: Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 mod_fcgid/2.3.9 PHP/5.4.16
System: Linux dvm.vladweb.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: region-gk.ru (1016)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //home/bk/efi/eficenter.ru/consultant/class/get_user_new_mess.php
<?php
 header("Content-type: application/json"); session_start(); class GetUserNewMess{ private $user_id; public function __construct($user_id){ $this->user_id = intval($user_id); require 'mysql.php'; } public function getNewMessages(){ $mysql = Mysql::getInstance(); $mysql->exec("LOCK TABLES ok_messages WRITE, ok_users_chat WRITE, ok_url WRITE"); $sql = "SELECT * FROM ok_users_chat WHERE id_user = {$this->user_id}"; $result = $mysql->query($sql); if($result->rowCount() == 0){ $messages['chat_init'] = 'del'; echo json_encode($messages); exit; } $res_array = $result->fetch(PDO::FETCH_ASSOC); if($res_array['new_message_operator'] != 0){ $new_mess = $res_array['new_message_operator']; $sql = "SELECT * FROM ok_messages WHERE id_user = {$this->user_id} AND is_from = '2' ORDER BY wr_date DESC LIMIT {$new_mess}"; $result = $mysql->query($sql); if($result->rowCount() != 0){ $messages = $result->fetchAll(PDO::FETCH_ASSOC); for($i = 0; $i < count($messages); $i++){ $messages[$i]['wr_date'] = date("H:i:s", $messages[$i]['wr_date']); } $messages = array_reverse($messages); echo json_encode($messages); $this->updateNew(); } }elseif($res_array['write_operator'] == '1'){ $messages['write'] = 1; echo json_encode($messages); }elseif($res_array['write_operator'] == '2'){ $messages['write'] = 2; $sql = "SELECT * FROM ok_url WHERE id_user = {$this->user_id}"; $result = $mysql->query($sql); $r_arr = $result->fetch(2); $messages['url'] = $r_arr['url']; echo json_encode($messages); $sql = "UPDATE ok_users_chat SET write_operator = '0' WHERE id_user = {$this->user_id}"; $mysql->exec($sql); $sql = "DELETE FROM ok_url WHERE id_user = {$this->user_id}"; $mysql->exec($sql); }elseif($res_array['id_operator'] == 0){ $mysql = Mysql::getInstance(); $sql = "DELETE FROM ok_users_chat WHERE id_user = {$this->user_id}"; $mysql->exec($sql); $messages['black_list'] = 1; echo json_encode($messages); } $mysql->exec("UNLOCK TABLES"); if($_SESSION['ok_conn_operator'] != $res_array['id_operator']){ if($operator = $this->setNewOperator($res_array['id_operator'])){ $operator['new_operator'] = 1; $_SESSION['ok_conn_operator'] = $res_array['id_operator']; echo json_encode($operator); } exit; }else exit; } private function updateNew(){ $sql = "UPDATE ok_users_chat SET new_message_operator = '0' WHERE id_user = {$this->user_id}"; $mysql = Mysql::getInstance(); $mysql->exec($sql); } private function setNewOperator($operator_id){ $mysql = Mysql::getInstance(); $sql = "SELECT ok_operators.operator_id, ok_operators.operator_name, ok_operators.operator_surname, ok_operators.operator_photo, ok_group.group_name AS operator_otdel FROM ok_operators, ok_group WHERE operator_id = {$operator_id} AND ok_group.group_id = ok_operators.operator_otdel"; $result = $mysql->query($sql); if($result->columnCount() == 0){ return false; }else{ return $result->fetch(PDO::FETCH_ASSOC); } } } if(isset($_SESSION['ok_user_id'])){ $obj = new GetUserNewMess($_SESSION['ok_user_id']); $obj->getNewMessages(); }else die('error'); ?>