uawdijnntqw1x1x1
IP : 216.73.216.11
Hostname : xhost1.intravision.ru
Kernel : Linux xhost1.intravision.ru 3.16.0-7-amd64 #1 SMP Debian 3.16.59-1 (2018-10-03) 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
/
tiskom
/
data
/
www
/
tiskom.xhost.intravision.ru
/
bitrix
/
modules
/
main
/
lib
/
.
/
orm
/
eventmanager.php
/
/
<?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2018 Bitrix */ namespace Bitrix\Main\ORM; use Bitrix\Main\ArgumentException; use Bitrix\Main\ORM\Data\DataManager; use Bitrix\Main\ORM\Objectify\EntityObject; /** * EventManager wrapper for ORM entities * * @package bitrix * @subpackage main */ class EventManager { /** * @var EventManager */ protected static $instance; /** * Singleton constructor */ protected function __construct() { } /** * Singleton getter * * @static * @return EventManager */ public static function getInstance() { if (!isset(self::$instance)) { $c = __CLASS__; self::$instance = new $c; } return self::$instance; } /** * @param string|Entity|DataManager|EntityObject $entity ORM Entity, or ORM Table class, or ORM Object class * @param string $eventType Constants DataManager::EVENT_ON_BEFORE_ADD etc. * @param callable $callback Callback * @param bool $includeFile * @param int $sort * * @return int|mixed * @throws ArgumentException * @throws \Bitrix\Main\SystemException */ public function addEventHandler($entity, $eventType, $callback, $includeFile = false, $sort = 100) { $entity = static::obtainEntity($entity); $eventType = static::obtainEventType($entity, $eventType); // subscribe return \Bitrix\Main\EventManager::getInstance() ->addEventHandler($entity->getModule(), $eventType, $callback, $includeFile, $sort); } /** * @param string|Entity|DataManager|EntityObject $entity * @param string $eventType * @param $iEventHandlerKey * * @return bool * @throws ArgumentException * @throws \Bitrix\Main\SystemException */ public function removeEventHandler($entity, $eventType, $iEventHandlerKey) { $entity = static::obtainEntity($entity); $eventType = static::obtainEventType($entity, $eventType); // unsubscribe return \Bitrix\Main\EventManager::getInstance() ->removeEventHandler($entity->getModule(), $eventType, $iEventHandlerKey); } /** * @param string|Entity|DataManager|EntityObject $entity * @param string $eventType * @param string $toModuleId * @param string $toClass * @param string $toMethod * @param int $sort * @param string $toPath * @param array $toMethodArg * * @throws ArgumentException * @throws \Bitrix\Main\SystemException */ public function registerEventHandler($entity, $eventType, $toModuleId, $toClass = "", $toMethod = "", $sort = 100, $toPath = "", $toMethodArg = []) { $entity = static::obtainEntity($entity); $eventType = static::obtainEventType($entity, $eventType); // subscribe \Bitrix\Main\EventManager::getInstance() ->registerEventHandler($entity->getModule(), $eventType, $toModuleId, $toClass, $toMethod, $sort, $toPath, $toMethodArg); } /** * @param string|Entity|DataManager|EntityObject $entity * @param string $eventType * @param string $toModuleId * @param string $toClass * @param string $toMethod * @param string $toPath * @param array $toMethodArg * * @throws ArgumentException * @throws \Bitrix\Main\SystemException */ public function unRegisterEventHandler($entity, $eventType, $toModuleId, $toClass = "", $toMethod = "", $toPath = "", $toMethodArg = []) { $entity = static::obtainEntity($entity); $eventType = static::obtainEventType($entity, $eventType); // unsubscribe \Bitrix\Main\EventManager::getInstance() ->unRegisterEventHandler($entity->getModule(), $eventType, $toModuleId, $toClass, $toMethod, $toPath, $toMethodArg); } /** * @param string|Entity|DataManager|EntityObject $entity * * @return Entity * @throws ArgumentException * @throws \Bitrix\Main\SystemException */ protected static function obtainEntity($entity) { // define entity if ($entity instanceof Entity) { // ok } elseif (is_subclass_of($entity, DataManager::class)) { $entity = $entity::getEntity(); } elseif (is_subclass_of($entity, EntityObject::class)) { $dataClass = $entity::$dataClass; $entity = $dataClass::getEntity(); } else { throw new ArgumentException('Unknown entity value'); } return $entity; } /** * @param Entity $entity * @param string $eventType * * @return string * @throws ArgumentException */ protected static function obtainEventType($entity, $eventType) { if (!in_array($eventType, [ DataManager::EVENT_ON_BEFORE_ADD, DataManager::EVENT_ON_ADD, DataManager::EVENT_ON_AFTER_ADD, DataManager::EVENT_ON_BEFORE_UPDATE, DataManager::EVENT_ON_UPDATE, DataManager::EVENT_ON_AFTER_UPDATE, DataManager::EVENT_ON_BEFORE_DELETE, DataManager::EVENT_ON_DELETE, DataManager::EVENT_ON_AFTER_DELETE, ], true)) { throw new ArgumentException("Unknown event type `{$eventType}`"); } return $entity->getNamespace() . $entity->getName() . '::' . $eventType; } }
/var/www/tiskom/data/www/tiskom.xhost.intravision.ru/bitrix/modules/main/lib/./orm/eventmanager.php