uawdijnntqw1x1x1
IP : 3.140.248.104
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
/
ekb.axolotls.ru
/
bitrix
/
modules
/
tasks
/
lib
/
internals
/
runtime.php
/
/
<? /** * @internal * @access private */ namespace Bitrix\Tasks\Internals; use Bitrix\Main\Entity; use Bitrix\Tasks\Util\Assert; use Bitrix\Main\Entity\Query; abstract class Runtime { protected static function checkParameters(array $parameters = array()) { if(!array_key_exists('USER_ID', $parameters)) { $parameters['USER_ID'] = \Bitrix\Tasks\Util\User::getId(); } $parameters['USER_ID'] = intval($parameters['USER_ID']); return $parameters; } public static function getRecordCount(array $parameters = array()) { $result = array(); if(!array_key_exists('NAME', $parameters)) { $parameters['NAME'] = 'RECORD_COUNT'; } $parameters = static::checkParameters($parameters); $result[] = new Entity\ExpressionField( $parameters['NAME'], 'COUNT(*)', array() ); return array('runtime' => $result); } public static function apply($query, array $runtimes) { $isArray = is_array($query); $isQuery = $query instanceOf Query; foreach($runtimes as $runtime) { if(array_key_exists('runtime', $runtime) && is_array($runtime['runtime']) && !empty($runtime['runtime'])) { foreach($runtime['runtime'] as $k => $field) { // $field could be array or instance of Field $fieldIsObject = is_subclass_of($field, '\Bitrix\Main\Entity\Field'); if($fieldIsObject) { $field = clone $field; } if($isArray) { if(is_array($field)) { $query['runtime'][$k] = $field; } else { $query['runtime'][] = $field; } } elseif($isQuery) { $query->registerRuntimeField( $fieldIsObject ? '' : $k, $field ); } } } if(array_key_exists('filter', $runtime) && is_array($runtime['filter']) && !empty($runtime['filter'])) { if($isArray) { if(!array_key_exists('filter', $query)) { $query['filter'] = array(); } $query['filter'] = $query['filter'] + $runtime['filter']; } elseif($isQuery) { $query->setFilter($query->getFilter() + $runtime['filter']); } } } if($isArray && array_key_exists('runtime', $query)) { // move runtime on top of the query array, or else orm will crush $runtime = $query['runtime']; unset($query['runtime']); $query = array('runtime' => $runtime) + $query; } return $query; } public static function cloneFields(array $parameters = array()) { if(is_array($parameters['runtime']) && !empty($parameters['runtime'])) { $runtimes = array(); foreach($parameters['runtime'] as $k => $runtime) { if(is_object($runtime)) { $runtimes[$k] = clone $runtime; } } $parameters['runtime'] = $runtimes; } return $parameters; } }
/var/www/axolotl/data/www/ekb.axolotls.ru/bitrix/modules/tasks/lib/internals/runtime.php