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/operator.php
<?php
 session_start(); header("Content-type: text/html; charset=UTF-8"); require_once 'class/model/m_operator.php'; class Operator extends mOperator{ public $_operator = false; public function __construct(){ $this->login(); if($this->_operator){ if($_SERVER['REQUEST_METHOD'] == 'POST'){ if(isset($_POST['limit'])) $this->setLimit($_POST['limit']); if(isset($_POST['status'])) $this->setStatus($_POST['status']); if(isset($_POST['phrases'])) $this->addPhrases($_SESSION['operator_id'], $_POST['phrases']); if(isset($_POST['update'])) $this->updateOperatorInfo(); } } if($this->_operator){ if(isset($_GET['logout'])){ $this->loguot(); } $this->viewOperatorPanel(); }else{ if($_SERVER['REQUEST_METHOD'] == 'POST'){ if(isset($_POST['operator'])){ if(!empty($_POST['operator_login']) AND !empty($_POST['operator_password'])){ $operator_login = $this->filter($_POST['operator_login']); $operator_password = md5($this->filter($_POST['operator_password'])); $this->checkLogin($operator_login, $operator_password); }else{ $this->messages("Заполните все поля"); } } if(isset($_POST['limit'])) $this->setLimit($_POST['limit']); }else{ header('Location: index.php'); exit; } } } public function createMemTable(){ if(!$this->mcreateMemTable()){ die('Error!!! Повторите еще раз.'); } } public function login(){ if(isset($_SESSION['who']) AND $_SESSION['who'] == "operator"){ $this->_operator = true; } } public function setLimit($limit){ $limit = intval($limit); $this->mSetLimit($_SESSION['operator_id'], $limit); $_SESSION['operator_limit'] = $limit; exit; } public function setStatus($stutus){ $stutus = intval($stutus); $this->mSetOnline($_SESSION['operator_id'], $stutus); exit; } public function filter($data){ return trim($data); } public function checkLogin($operator_login, $operator_password){ if(!$operator = $this->mCheckLogin($operator_login, $operator_password)){ $this->messages('Не правильный логин или пароль, повторите пожалуйста'); }else{ $this->setOperatorSession($operator); } } public function setOperatorSession($operator){ $this->createMemTable(); $_SESSION['who'] = "operator"; $this->_operator = true; foreach($operator as $key=>$value){ $_SESSION[$key] = $value; } $this->setOnline($_SESSION['operator_id'], 1); setcookie('status', 'online'); $this->viewOperatorPanel(); } public function getOperatorPhrases($id_operator){ return $this->mgetOperatorPhrases($id_operator); } public function addPhrases($id_operator, $phrases){ if($this->maddPhrases($id_operator, $phrases)){ echo 1; exit; }else{ echo 0; exit; } } public function setOnline($id_operator, $set){ $this->mSetOnline($id_operator, $set); } public function messages($text){ $message = $text; require_once 'view/login_form.php'; } public function viewOperatorPanel(){ $this->mClear(); require 'class/template.php'; $content = new Template('./view/operator_panel.php'); $phrases = $this->getOperatorPhrases($_SESSION['operator_id']); $voting = $this->mgetVoting($_SESSION['operator_id']); $like = 0; $deslike = 0; $v_count = count($voting); for($i = 0; $v_count > $i; $i++){ if($voting[$i]['voting'] == 0){ $deslike++; }elseif ($voting[$i]['voting'] == 1) { $like++; } } $otdel = $this->getOtgel($_SESSION['operator_otdel']); $content->set('name', $_SESSION['operator_name']); $content->set('surname', $_SESSION['operator_surname']); $content->set('photo', $_SESSION['operator_photo']); $content->set('otdel', $otdel); $content->set('otdel_id', $_SESSION['operator_otdel']); $content->set('operator_messages', $_SESSION['operator_messages']); $content->set('limit', $_SESSION['operator_limit']); $content->set('phrases', $phrases); $content->set('like', $like); $content->set('deslike', $deslike); echo $content->display(); require 'class/ionline.php'; } public function getOtgel($id) { require_once 'class/mysql.php'; $mysql = Mysql::getInstance(); $sql = "SELECT * FROM ok_group WHERE group_id = '{$id}'"; $result = $mysql->query($sql); if($result->columnCount() == 0){ return 'Консультант'; }else{ $group = $result->fetch(PDO::FETCH_ASSOC); return $group['group_name']; } } public function loguot(){ $this->setOnline($_SESSION['operator_id'], 3); unset($_SESSION['who']); header('Location: index.php'); exit; } public function updateOperatorInfo(){ $id_operator = $_SESSION['operator_id']; $operator_info['operator_name'] = $this->filter($_POST['operator_name']); $operator_info['operator_surname'] = $this->filter($_POST['operator_surname']); $operator_info['operator_otdel'] = $this->filter($_POST['operator_otdel']); $operator_info['operator_messages'] = $this->filter($_POST['operator_mess']); if(!empty($_POST['operator_password'])){ $operator_info['operator_password'] = md5($this->filter($_POST['operator_password'])); } if(!empty($_FILES['operator_photo']['name'])){ require_once 'class/image.php'; $image = new OperatorImage(); $new_name = $image->operatorPhoto($_SESSION['operator_login']); $this->updateOperatorPhoto($new_name, $id_operator); $_SESSION['operator_photo'] = $new_name; } if($this->mupdateOperatorInfo($operator_info, $id_operator)){ $_SESSION['operator_name'] = $operator_info['operator_name']; $_SESSION['operator_surname'] = $operator_info['operator_surname']; $_SESSION['operator_otdel'] = $operator_info['operator_otdel']; $_SESSION['operator_messages'] = $operator_info['operator_messages']; header('Location: index.php'); exit; }else{ die('Ошибка при обновлении'); } } } $operator = new Operator(); ?>