Index: core/kernel/db/cat_event_handler.php =================================================================== --- core/kernel/db/cat_event_handler.php +++ core/kernel/db/cat_event_handler.php @@ -117,25 +117,23 @@ } if ( !$ids ) { - // no items left for editing -> no permission - return $perm_helper->finalizePermissionCheck($event, false); + // No items left for editing -> no permission. + return false; } $perm_value = true; $event->setEventParam('ids', $ids); // will be used later by "kDBEventHandler::StoreSelectedIDs" method } - return $perm_helper->finalizePermissionCheck($event, $perm_value); + return $perm_value; } $export_events = array('OnSaveSettings', 'OnResetSettings', 'OnExportBegin'); if ( in_array($event->Name, $export_events) || ($event->Special == 'export' && $event->Name == 'OnNew') ) { - /** @var kPermissionsHelper $perm_helper */ - $perm_helper = $this->Application->recallObject('PermissionsHelper'); $perm_value = $this->Application->CheckPermission('in-portal:main_import.view'); - return $perm_helper->finalizePermissionCheck($event, $perm_value); + return $perm_value; } if ( $event->Name == 'OnProcessSelected' ) { Index: core/kernel/managers/request_manager.php =================================================================== --- core/kernel/managers/request_manager.php +++ core/kernel/managers/request_manager.php @@ -160,6 +160,11 @@ $this->Application->HandleEvent($event); $this->Application->notifyEventSubscribers($event); } + else { + /** @var kPermissionsHelper $perm_helper */ + $perm_helper = $this->Application->recallObject('PermissionsHelper'); + $perm_helper->finalizePermissionCheck($event, false); + } return $event; } @@ -481,4 +486,4 @@ $opener_stack->push($template, $params, $index_file); $opener_stack->save(); } -} \ No newline at end of file +} Index: core/units/admin/admin_events_handler.php =================================================================== --- core/units/admin/admin_events_handler.php +++ core/units/admin/admin_events_handler.php @@ -105,7 +105,7 @@ } if ( isset($perm_value) ) { - return $perm_helper->finalizePermissionCheck($event, $perm_value); + return $perm_value; } return parent::CheckPermission($event); Index: core/units/categories/categories_event_handler.php =================================================================== --- core/units/categories/categories_event_handler.php +++ core/units/categories/categories_event_handler.php @@ -68,14 +68,8 @@ public function CheckPermission(kEvent $event) { if ( $event->Name == 'OnResetCMSMenuCache' ) { - // events from "Tools -> System Tools" section are controlled via that section "edit" permission - - $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ - - $perm_value = $this->Application->CheckPermission('in-portal:service.edit'); - - return $perm_helper->finalizePermissionCheck($event, $perm_value); + // Events from "Tools -> System Tools" section are controlled via that section "edit" permission. + return $this->Application->CheckPermission('in-portal:service.edit'); } if ( !$this->Application->isAdmin ) { @@ -113,15 +107,15 @@ } if ( !$ids ) { - // no items left for editing -> no permission - return $perm_helper->finalizePermissionCheck($event, false); + // No items left for editing -> no permission. + return false; } $perm_value = true; $event->setEventParam('ids', $ids); // will be used later by "kDBEventHandler::StoreSelectedIDs" method } - return $perm_helper->finalizePermissionCheck($event, $perm_value); + return $perm_value; } if ( $event->Name == 'OnRecalculatePriorities' ) { Index: core/units/content/content_eh.php =================================================================== --- core/units/content/content_eh.php +++ core/units/content/content_eh.php @@ -32,9 +32,8 @@ // user can change top category $top_category = $this->Application->getBaseCategory(); - $perm_status = $perm_helper->CheckUserPermission($user_id, 'CATEGORY.MODIFY', 0, $top_category); - return $perm_helper->finalizePermissionCheck($event, $perm_status); + return $perm_helper->CheckUserPermission($user_id, 'CATEGORY.MODIFY', 0, $top_category); } /** Index: core/units/helpers/permissions_helper.php =================================================================== --- core/units/helpers/permissions_helper.php +++ core/units/helpers/permissions_helper.php @@ -130,7 +130,7 @@ } } - return $this->finalizePermissionCheck($event, $perm_status); + return $perm_status; } /** @@ -235,7 +235,7 @@ } if ( isset($check_status) ) { - return $this->finalizePermissionCheck($event, $check_status); + return $check_status; } // specific permission check for pending & owner permissions: end @@ -268,7 +268,7 @@ } } - return $this->finalizePermissionCheck($event, $perm_status); + return $perm_status; } /** @@ -387,7 +387,7 @@ $perm_status = $perm_status && $this->Application->IsTempMode($event->Prefix, $event->Special); } - return $this->finalizePermissionCheck($event, $perm_status); + return $perm_status; } function TagPermissionCheck($params, $is_owner = false) @@ -836,4 +836,4 @@ return 0; } - } \ No newline at end of file + } Index: core/units/page_revisions/page_revision_eh.php =================================================================== --- core/units/page_revisions/page_revision_eh.php +++ core/units/page_revisions/page_revision_eh.php @@ -33,19 +33,17 @@ return $this->Application->isAdminUser; } - $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ - if ( $event->Name == 'OnSave' ) { - $perm_status = $this->Application->CheckPermission('CATEGORY.REVISION.ADD', 0) || $this->Application->CheckPermission('CATEGORY.REVISION.ADD.PENDING', 0); + $perm_status = $this->Application->CheckPermission('CATEGORY.REVISION.ADD', 0) + || $this->Application->CheckPermission('CATEGORY.REVISION.ADD.PENDING', 0); - return $perm_helper->finalizePermissionCheck($event, $perm_status); + return $perm_status; } if ( $event->Name == 'OnPublish' || $event->Name == 'OnDecline' ) { $perm_status = $this->Application->CheckPermission('CATEGORY.REVISION.MODERATE', 0); - return $perm_helper->finalizePermissionCheck($event, $perm_status); + return $perm_status; } return parent::CheckPermission($event);