Index: branches/5.2.x/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r14851 -r14989 --- branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 14851) +++ branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 14989) @@ -1,6 +1,6 @@ Name == 'OnResetCMSMenuCache') { + if ( $event->Name == 'OnResetCMSMenuCache' ) { // events from "Tools -> System Tools" section are controlled via that section "edit" permission $perm_helper =& $this->Application->recallObject('PermissionsHelper'); @@ -75,27 +78,27 @@ return $perm_helper->finalizePermissionCheck($event, $perm_value); } - if (!$this->Application->isAdmin) { - if ($event->Name == 'OnSetSortingDirect') { + if ( !$this->Application->isAdmin ) { + if ( $event->Name == 'OnSetSortingDirect' ) { // allow sorting on front event without view permission return true; } - if ($event->Name == 'OnItemBuild') { + if ( $event->Name == 'OnItemBuild' ) { $category_id = $this->getPassedID($event); - if ($category_id == 0) { + if ( $category_id == 0 ) { return true; } } } - if (in_array($event->Name, $this->_getMassPermissionEvents())) { + if ( in_array($event->Name, $this->_getMassPermissionEvents()) ) { $items = $this->_getPermissionCheckInfo($event); $perm_helper =& $this->Application->recallObject('PermissionsHelper'); /* @var $perm_helper kPermissionsHelper */ - if (($event->Name == 'OnSave') && array_key_exists(0, $items)) { + if ( ($event->Name == 'OnSave') && array_key_exists(0, $items) ) { // adding new item (ID = 0) $perm_value = $perm_helper->AddCheckPermission($items[0]['ParentId'], $event->Prefix) > 0; } @@ -104,12 +107,12 @@ $ids = Array (); $check_method = in_array($event->Name, Array ('OnMassDelete', 'OnCut')) ? 'DeleteCheckPermission' : 'ModifyCheckPermission'; foreach ($items as $item_id => $item_data) { - if ($perm_helper->$check_method($item_data['CreatedById'], $item_data['ParentId'], $event->Prefix) > 0) { + if ( $perm_helper->$check_method($item_data['CreatedById'], $item_data['ParentId'], $event->Prefix) > 0 ) { $ids[] = $item_id; } } - if (!$ids) { + if ( !$ids ) { // no items left for editing -> no permission return $perm_helper->finalizePermissionCheck($event, false); } @@ -121,7 +124,7 @@ return $perm_helper->finalizePermissionCheck($event, $perm_value); } - if ($event->Name == 'OnRecalculatePriorities') { + if ( $event->Name == 'OnRecalculatePriorities' ) { $perm_helper =& $this->Application->recallObject('PermissionsHelper'); /* @var $perm_helper kPermissionsHelper */ @@ -130,7 +133,7 @@ return $perm_helper->AddCheckPermission($category_id, $event->Prefix) || $perm_helper->ModifyCheckPermission(0, $category_id, $event->Prefix); } - if ($event->Name == 'OnPasteClipboard') { + if ( $event->Name == 'OnPasteClipboard' ) { // forces permission check to work by current category for "Paste In Category" operation $category_id = $this->Application->GetVar('m_cat_id'); $this->Application->SetVar('c_id', $category_id); @@ -264,7 +267,7 @@ * @access protected * @see kDBEventHandler::OnListBuild() */ - protected function SetCustomQuery(&$event) + protected function SetCustomQuery(kEvent &$event) { parent::SetCustomQuery($event); @@ -564,18 +567,23 @@ } /** - * Enter description here... + * Returns ID of current item to be edited + * by checking ID passed in get/post as prefix_id + * or by looking at first from selected ids, stored. + * Returned id is also stored in Session in case + * it was explicitly passed as get/post * * @param kEvent $event * @return int + * @access public */ - function getPassedID(&$event) + public function getPassedID(kEvent &$event) { - if (($event->Special == 'page') || ($event->Special == '-virtual') || ($event->Prefix == 'st')) { + if ( ($event->Special == 'page') || ($event->Special == '-virtual') || ($event->Prefix == 'st') ) { return $this->_getPassedStructureID($event); } - if ($this->Application->isAdmin) { + if ( $this->Application->isAdmin ) { return parent::getPassedID($event); } @@ -671,20 +679,23 @@ * @return void * @access protected */ - protected function prepareObject(&$object, &$event) + protected function prepareObject(&$object, kEvent &$event) { - if ($event->Special != '-virtual') { - $object =& $event->getObject( Array('skip_autoload' => true) ); - - $object->addCalculatedField( - 'IsNew', - ' IF(%1$s.NewItem = 2, - IF(%1$s.CreatedOn >= (UNIX_TIMESTAMP() - '. - $this->Application->ConfigValue('Category_DaysNew'). - '*3600*24), 1, 0), - %1$s.NewItem - )'); + if ( $event->Special == '-virtual' ) { + return; } + + $object =& $event->getObject(Array ('skip_autoload' => true)); + /* @var $object kDBItem */ + + $object->addCalculatedField( + 'IsNew', + ' IF(%1$s.NewItem = 2, + IF(%1$s.CreatedOn >= (UNIX_TIMESTAMP() - '. + $this->Application->ConfigValue('Category_DaysNew'). + '*3600*24), 1, 0), + %1$s.NewItem + )'); } /** @@ -1505,8 +1516,9 @@ * * @param kEvent $event * @return bool + * @access protected */ - function checkItemStatus(&$event) + protected function checkItemStatus(kEvent &$event) { $object =& $event->getObject(); /* @var $object kDBItem */ @@ -2515,7 +2527,7 @@ * @return void * @access protected */ - protected function LoadItem(&$event) + protected function LoadItem(kEvent &$event) { if ( $event->Special != '-virtual' ) { parent::LoadItem($event);