uawdijnntqw1x1x1
IP : 3.15.17.212
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
/
samara.axolotls.ru
/
bitrix
/
modules
/
tasks
/
lib
/
internals
/
..
/
exception.php
/
/
<?php /** * Bitrix Framework * @package bitrix * @subpackage tasks * @copyright 2001-2012 Bitrix * * See tasks\tools.php to see legacy exception TasksException */ namespace Bitrix\Tasks; use \Bitrix\Tasks\Util\Error\Collection; /* use Bitrix\Main\SystemException; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); */ class Exception extends \Bitrix\Main\SystemException { protected $data = array(); protected $additional = array(); protected $errors = null; protected $messageOrigin = ''; /** * @param string $message The message to be shown in trace. If set to false, the default message for this class of exception will be used. * @param mixed[] $data An array of special data. Could be: * <li>AUX MESSAGE string|mixed[] String to be attached to the end of the message in round brackets * <li>AUX ERROR mixed[] An array structure to be dumped with AddMessage2Log(), accompanied with unique-exception-id to be able to establish matching * <li>ERROR \Bitrix\Tasks\Util\Error\Collection|string[] A collection or string array of high-level errors to show to user * @param mixed[] $additional Some additional things, usually unused */ public function __construct($message = false, array $data = array(), array $additional = array()) { if(!empty($data)) { $this->data = $data; } if(!empty($additional)) { $this->additional = $additional; } if($message === false) { $message = $this->getDefaultMessage(); } $this->messageOrigin = $message; if(!isset($additional['FILE'])) { $additional['FILE'] = ''; } $additional['LINE'] = intval($additional['LINE']); $additional['CODE'] = intval($additional['CODE']); if(!isset($additional['PREVIOUS_EXCEPTION'])) // todo: remove? { $additional['PREVIOUS_EXCEPTION'] = null; } $doDump = $this->dumpAuxError(); if($doDump) { $exceptionId = uniqid('', true); if(isset($this->data['AUX']['ERROR'])) { if(!is_array($this->data['AUX']['ERROR'])) { $this->data['AUX']['ERROR'] = array((string) $this->data['AUX']['ERROR']); } AddMessage2Log('Exception additional data: "'.$exceptionId.'": '.serialize($this->data['AUX']['ERROR']), 'tasks'); } } parent::__construct(($doDump ? $exceptionId.': ' : '').$this->prepareMessage($message), $additional['CODE'], $additional['FILE'], $additional['LINE'], $additional['PREVIOUS_EXCEPTION']); } protected function dumpAuxError() { return true; } public function getErrors() { if(is_array($this->data['ERROR'])) { return $this->data['ERROR']; } if($this->data['ERROR'] instanceof Collection) { return $this->data['ERROR']->getMessages(); } return array(); } protected function prepareMessage($message) { if(isset($this->data['AUX']['MESSAGE'])) { if(is_array($this->data['AUX']['MESSAGE'])) { $data = serialize($this->data['AUX']['MESSAGE']); } else { $data = (string) $this->data['AUX']['MESSAGE']; } $message .= ' ('.$data.')'; } return $message; } /** * Get "original" message with no debug info attached * * @return bool|string */ public function getMessageOrigin() { return $this->messageOrigin; } public function getDefaultMessage() { return ''; } /** * Get localized message * * @return string */ protected function getMessageLang() { return ''; } /** * Get human-readable friendly message, localized or not * * @return bool|string */ public function getMessageFriendly() { $lang = $this->getMessageLang(); if($lang == '') { return $this->getMessageOrigin(); } else { return $lang; } } /** * todo: define this code for each exception, use it as Collection::add()`s first argument when translating exceptions into errors * * @return string */ public function getSymbolicCode() { return 'INTERNAL_ERROR'; } } abstract class ActionException extends Exception { public function __construct($message = false, array $data = array(), array $additional = array()) { $data['AUX']['ERROR']['USER'] = $GLOBALS['USER']->GetId(); parent::__construct($message, $data, $additional); } } /** * Exception is thrown when the current user has NO access to the entity at all */ final class AccessDeniedException extends ActionException { public function getDefaultMessage() { return 'Access denied'; } } /** * Exception is thrown when the current user has access to the entity, but some entity action is not allowed to perform by the current user */ class ActionNotAllowedException extends ActionException { public function getDefaultMessage() { return 'Action is not allowed'; } } /** * Exception is thrown when some legal entity action fails */ final class ActionFailedException extends ActionException { public function getDefaultMessage() { return 'Action failed'; } } /** * Exception is thrown when some legal action is restricted with the current plan */ final class ActionRestrictedException extends ActionNotAllowedException { public function getDefaultMessage() { return 'Action is restricted'; } }
/var/www/axolotl/data/www/samara.axolotls.ru/bitrix/modules/tasks/lib/internals/../exception.php