array('self' => true), 'OnRecalculatePriorities' => array('self' => 'add|edit'), 'OnCustomEvent' => array('self' => true), ); $this->permMapping = array_merge($this->permMapping, $permissions); } /** * Checks user permission to execute given $event * * @param kEvent $event * @return bool * @access public */ public function CheckPermission(kEvent $event) { $skip_permissions_check_events = Array ( 'OnAnotherCustomEvent', ); if ( in_array($event->Name, $skip_permissions_check_events) ) { return true; } return parent::CheckPermission($event); } /** * Define alternative event processing method names * * @return void */ protected function mapEvents() { parent::mapEvents(); $events_map = array( 'OnMassMoveUp' => 'OnChangePriority', 'OnMassMoveDown' => 'OnChangePriority', ); $this->eventMethods = array_merge($this->eventMethods, $events_map); } /** * Processes OnMassMoveUp, OnMassMoveDown events * * @param kEvent $event Event. * * @return void */ protected function OnChangePriority(kEvent $event) { $this->Application->SetVar('priority_prefix', $event->getPrefixSpecial()); $event->CallSubEvent('priority:' . $event->Name); } /** * Completely recalculates priorities in current category * * @param kEvent $event Event. * * @return void */ protected function OnRecalculatePriorities(kEvent $event) { $this->Application->SetVar('priority_prefix', $event->getPrefixSpecial()); $event->CallSubEvent('priority:' . $event->Name); } /** * [HOOK] Connects to priority unit. * * @param kEvent $event Event. * * @return void */ protected function OnModifyPrioritiesConfig(kEvent $event) { $config = $event->MasterEvent->getUnitConfig(); $prefixes = $config->getProcessPrefixes(); $prefixes[] = $event->Prefix; $config->setProcessPrefixes($prefixes); } /** * Set custom query for the list * * @param kEvent $event */ function OnCustomEvent($event) { $object = $event->getObject(); /* @var $object kDBList */ } /** * Apply any custom changes to list's sql query * * @param kEvent $event * @return void * @access protected * @see kDBEventHandler::OnListBuild() */ protected function SetCustomQuery(kEvent $event) { parent::SetCustomQuery($event); $object = $event->getObject(); /* @var $object kDBList */ # identifying event based on special and setting filter if ( $event->Special == 'custom-special' ) { // $object->addFilter('primary_filter', '%1$s.Status = ' . STATUS_DISABLED); } } /** * Occurs before creating item * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemCreate(kEvent $event) { parent::OnBeforeItemCreate($event); } /** * Occurs before updating item * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemUpdate(kEvent $event) { parent::OnBeforeItemUpdate($event); } /** * Occurs before deleting item, id of item being * deleted is stored as 'id' event param * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemDelete(kEvent $event) { parent::OnBeforeItemDelete($event); } /** * Occurs before loading item, 'id' parameter * allows to get id of item being loaded * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemLoad(kEvent $event) { parent::OnBeforeItemLoad($event); } /** * Occurs after creating item * * @param kEvent $event * @return void * @access protected */ protected function OnAfterItemCreate(kEvent $event) { parent::OnAfterItemCreate($event); } /** * Occurs after updating item * * @param kEvent $event * @return void * @access protected */ protected function OnAfterItemUpdate(kEvent $event) { parent::OnAfterItemUpdate($event); } /** * Occurs after deleting item, id of deleted item * is stored as 'id' param of event * * @param kEvent $event * @return void * @access protected */ protected function OnAfterItemDelete(kEvent $event) { parent::OnAfterItemDelete($event); } /** * Loads user images * * @param kEvent $event * @return void * @access protected */ protected function OnAfterItemLoad(kEvent $event) { parent::OnAfterItemLoad($event); } }