uawdijnntqw1x1x1
IP : 18.119.213.42
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
yar.axolotls.ru
/
1c9cb
/
..
/
bitrix
/
modules
/
imopenlines
/
lib
/
queue
/
evenly.php
/
/
<?php namespace Bitrix\ImOpenLines\Queue; use \Bitrix\Main\Type\DateTime; use \Bitrix\ImOpenLines, \Bitrix\ImOpenLines\Model\QueueTable; /** * Class Evenly * @package Bitrix\ImOpenLines\Queue */ class Evenly extends Queue { /** * @param int $currentOperator * * @return array * @throws \Bitrix\Main\ArgumentException * @throws \Bitrix\Main\LoaderException * @throws \Bitrix\Main\ObjectPropertyException * @throws \Bitrix\Main\SystemException */ public function getOperatorsQueue($currentOperator = 0) { $queueTime = $this->getQueueTime(); $result = [ 'RESULT' => false, 'OPERATOR_ID' => 0, 'OPERATOR_LIST' => [], 'DATE_QUEUE' => (new DateTime())->add($queueTime . ' SECONDS'), 'QUEUE_HISTORY' => [], ]; $operators = []; $queueHistory = $this->session['QUEUE_HISTORY']; $select = [ 'ID', 'USER_ID' ]; $filter = ['=CONFIG_ID' => $this->config['ID']]; $order = [ 'LAST_ACTIVITY_DATE' => 'asc', 'LAST_ACTIVITY_DATE_EXACT' => 'asc' ]; $res = ImOpenLines\Queue::getList([ 'select' => $select, 'filter' => $filter, 'order' => $order ]); while($queueUser = $res->fetch()) { if($this->isOperatorAvailable($queueUser['USER_ID'], $currentOperator)) { $operators[$queueUser['USER_ID']] = $queueUser; } } if(!empty($operators)) { $operatorId = reset($operators)['USER_ID']; $queueHistory[$operatorId] = true; if ($operators[$operatorId] > 0) { QueueTable::update($operators[$operatorId]['ID'], ['LAST_ACTIVITY_DATE' => new DateTime(), 'LAST_ACTIVITY_DATE_EXACT' => microtime(true) * 10000]); } $result = [ 'RESULT' => true, 'OPERATOR_ID' => $operatorId, 'OPERATOR_LIST' => [$operatorId], 'DATE_QUEUE' => (new DateTime())->add($queueTime . ' SECONDS'), 'QUEUE_HISTORY' => $queueHistory, ]; } return $result; } }
/var/www/axolotl/data/www/yar.axolotls.ru/1c9cb/../bitrix/modules/imopenlines/lib/queue/evenly.php