Index: branches/5.2.x/core/units/categories/categories_event_handler.php =================================================================== diff -u -N -r16479 -r16513 --- branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 16479) +++ branches/5.2.x/core/units/categories/categories_event_handler.php (.../categories_event_handler.php) (revision 16513) @@ -1,6 +1,6 @@ Name == 'OnResetCMSMenuCache' ) { // events from "Tools -> System Tools" section are controlled via that section "edit" permission + /** @var kPermissionsHelper $perm_helper */ $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ $perm_value = $this->Application->CheckPermission('in-portal:service.edit'); @@ -95,8 +95,8 @@ if ( in_array($event->Name, $this->_getMassPermissionEvents()) ) { $items = $this->_getPermissionCheckInfo($event); + /** @var kPermissionsHelper $perm_helper */ $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ if ( ($event->Name == 'OnSave') && array_key_exists(0, $items) ) { // adding new item (ID = 0) @@ -125,8 +125,8 @@ } if ( $event->Name == 'OnRecalculatePriorities' ) { + /** @var kPermissionsHelper $perm_helper */ $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ $category_id = $this->Application->GetVar('m_cat_id'); @@ -249,8 +249,8 @@ */ function OnProcessSelected($event) { + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $selected_ids = $this->Application->GetVar('selected_ids'); @@ -273,8 +273,8 @@ { parent::SetCustomQuery($event); + /** @var kDBList $object */ $object = $event->getObject(); - /* @var $object kDBList */ // don't show "Content" category in advanced view $object->addFilter('system_categories', '%1$s.Status <> 4'); @@ -378,8 +378,8 @@ $processed_prefix = $this->Application->processPrefix($prefix_special); if ($processed_prefix['prefix'] == $related_prefix) { // printing related categories within list of items (not on details page) + /** @var kDBList $list */ $list = $this->Application->recallObject($prefix_special); - /* @var $list kDBList */ $id = $list->GetID(); } @@ -395,8 +395,8 @@ } } + /** @var kCatDBItem $p_item */ $p_item = $this->Application->recallObject($related_prefix . '.current', null, Array('skip_autoload' => true)); - /* @var $p_item kCatDBItem */ $p_item->Load( (int)$id ); @@ -523,8 +523,8 @@ $search_event = $event_mapping[$type]; $this->$search_event($event); + /** @var kDBList $object */ $object = $event->getObject(); - /* @var $object kDBList */ $search_sql = ' FROM ' . $search_helper->getSearchTable() . ' search_result JOIN %1$s ON %1$s.ResourceId = search_result.ResourceId'; @@ -561,8 +561,8 @@ $view_perm = 1; } else { + /** @var kCountHelper $count_helper */ $count_helper = $this->Application->recallObject('CountHelper'); - /* @var $count_helper kCountHelper */ list ($view_perm, $view_filter) = $count_helper->GetPermissionClause($object->Prefix, 'perm'); $object->addFilter('perm_filter2', $view_filter); @@ -578,8 +578,8 @@ */ function _getCurrentThemeId() { + /** @var kThemesHelper $themes_helper */ $themes_helper = $this->Application->recallObject('ThemesHelper'); - /* @var $themes_helper kThemesHelper */ return (int)$themes_helper->getCurrentThemeId(); } @@ -686,8 +686,8 @@ return; } + /** @var kDBItem $object */ $object = $event->getObject(Array ('skip_autoload' => true)); - /* @var $object kDBItem */ $object->addCalculatedField( 'IsNew', @@ -734,8 +734,8 @@ { parent::OnAfterCopyToLive($event); + /** @var CategoriesItem $object */ $object = $this->Application->recallObject($event->Prefix . '.-item', null, Array ('skip_autoload' => true, 'live_table' => true)); - /* @var $object CategoriesItem */ $parent_path = false; $object->Load($event->getEventParam('id')); @@ -753,8 +753,8 @@ } if ( $parent_path ) { + /** @var kPermCacheUpdater $cache_updater */ $cache_updater = $this->Application->makeClass('kPermCacheUpdater', Array (null, $parent_path)); - /* @var $cache_updater kPermCacheUpdater */ $cache_updater->OneStepRun(); } @@ -774,8 +774,8 @@ $id = $event->getEventParam('id'); // loading anyway, because this object is needed by "c-perm:OnBeforeDeleteFromLive" event + /** @var CategoriesItem $temp_object */ $temp_object = $event->getObject(Array ('skip_autoload' => true)); - /* @var $temp_object CategoriesItem */ $temp_object->Load($id); @@ -789,8 +789,8 @@ } // existing category was edited, check if in-cache fields are modified + /** @var CategoriesItem $live_object */ $live_object = $this->Application->recallObject($event->Prefix . '.-item', null, Array ('live_table' => true, 'skip_autoload' => true)); - /* @var $live_object CategoriesItem */ $live_object->Load($id); $cached_fields = Array ('l' . $this->Application->GetDefaultLanguageId() . '_Name', 'Filename', 'Template', 'ParentId', 'Priority'); @@ -842,8 +842,8 @@ parent::OnPreCreate($event); + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ // 2. preset template $category_id = $this->Application->GetVar('m_cat_id'); @@ -871,8 +871,8 @@ $is_editing = implode('', $ids); $old_statuses = $is_editing ? $this->_getCategoryStatus($ids) : Array (); + /** @var CategoriesItem $object */ $object = $event->getObject(); - /* @var $object CategoriesItem */ parent::OnSave($event); @@ -906,8 +906,8 @@ $filename_changes = $this->Application->GetVar($event->Prefix . '_filename_changes', Array ()); if ( $filename_changes ) { + /** @var kOpenerStack $opener_stack */ $opener_stack = $this->Application->makeClass('kOpenerStack'); - /* @var $opener_stack kOpenerStack */ list ($template, $params, $index_file) = $opener_stack->pop(); @@ -947,8 +947,8 @@ */ protected function OnPreSaveCreated(kEvent $event) { + /** @var CategoriesItem $object */ $object = $event->getObject( Array ('skip_autoload' => true) ); - /* @var $object CategoriesItem */ if ( $object->IsRoot() ) { // don't create root category while saving permissions @@ -969,8 +969,8 @@ { parent::OnAfterItemDelete($event); + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $sql = 'UPDATE ' . $object->TableName . ' SET SymLinkCategoryId = NULL @@ -984,8 +984,8 @@ $ids = $this->Conn->GetCol($sql); if ( $ids ) { + /** @var kTempTablesHandler $temp_handler */ $temp_handler = $this->Application->recallObject('system-event-subscription_TempHandler', 'kTempTablesHandler'); - /* @var $temp_handler kTempTablesHandler */ $temp_handler->DeleteItems('system-event-subscription', '', $ids); } @@ -1082,13 +1082,13 @@ $recycle_bin = $this->Application->ConfigValue('RecycleBinFolder'); if ( $recycle_bin ) { + /** @var CategoriesItem $rb */ $rb = $this->Application->recallObject('c.recycle', null, Array ('skip_autoload' => true)); - /* @var $rb CategoriesItem */ $rb->Load($recycle_bin); + /** @var CategoriesItem $cat */ $cat = $event->getObject(Array ('skip_autoload' => true)); - /* @var $cat CategoriesItem */ foreach ($ids as $id) { $cat->Load($id); @@ -1112,8 +1112,8 @@ $ids = $event->getEventParam('ids'); if ( $ids ) { + /** @var kRecursiveHelper $recursive_helper */ $recursive_helper = $this->Application->recallObject('RecursiveHelper'); - /* @var $recursive_helper kRecursiveHelper */ foreach ($ids as $id) { $recursive_helper->DeleteCategory($id, $event->Prefix); @@ -1134,8 +1134,8 @@ { $this->Application->RemoveVar('clipboard'); + /** @var kClipboardHelper $clipboard_helper */ $clipboard_helper = $this->Application->recallObject('ClipboardHelper'); - /* @var $clipboard_helper kClipboardHelper */ $clipboard_helper->setClipboard($event, 'copy', $this->StoreSelectedIDs($event)); $this->clearSelectedIDs($event); @@ -1150,8 +1150,8 @@ { $this->Application->RemoveVar('clipboard'); + /** @var kClipboardHelper $clipboard_helper */ $clipboard_helper = $this->Application->recallObject('ClipboardHelper'); - /* @var $clipboard_helper kClipboardHelper */ $clipboard_helper->setClipboard($event, 'cut', $this->StoreSelectedIDs($event)); $this->clearSelectedIDs($event); @@ -1181,8 +1181,8 @@ */ function _checkPastePermission($event) { + /** @var kPermissionsHelper $perm_helper */ $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ $category_id = $this->Application->GetVar('m_cat_id'); if ($perm_helper->AddCheckPermission($category_id, $event->Prefix) == 0) { @@ -1225,8 +1225,8 @@ $source_category_id = $this->Conn->GetOne($sql); } + /** @var kRecursiveHelper $recursive_helper */ $recursive_helper = $this->Application->recallObject('RecursiveHelper'); - /* @var $recursive_helper kRecursiveHelper */ if ( $clipboard_data['cut'] ) { $recursive_helper->MoveCategories($clipboard_data['cut'], $this->Application->GetVar('m_cat_id')); @@ -1249,8 +1249,8 @@ } } + /** @var kPriorityHelper $priority_helper */ $priority_helper = $this->Application->recallObject('PriorityHelper'); - /* @var $priority_helper kPriorityHelper */ if ( $clipboard_data['cut'] ) { $ids = $priority_helper->recalculatePriorities($event, 'ParentId = ' . $source_category_id); @@ -1345,8 +1345,8 @@ { parent::OnBeforeItemCreate($event); + /** @var CategoriesItem $object */ $object = $event->getObject(); - /* @var $object CategoriesItem */ if ( $object->GetDBField('ParentId') <= 0 ) { // no parent category - use current (happens during import) @@ -1360,8 +1360,8 @@ return ; } + /** @var kPermissionsHelper $perm_helper */ $perm_helper = $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ $new_status = false; $category_id = $this->Application->GetVar('m_cat_id'); @@ -1416,8 +1416,8 @@ $this->_beforeItemChange($event); + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ if ( $object->GetChangedFields() ) { $object->SetDBField('ModifiedById', $this->Application->RecallVar('user_id')); @@ -1435,8 +1435,8 @@ */ protected function ItemPrepareQuery(kEvent $event) { + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $sqls = $object->getFormOption('ItemSQLs', Array ()); $category_special = $this->_getCategorySpecial($event); @@ -1459,8 +1459,8 @@ */ protected function ListPrepareQuery(kEvent $event) { + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $special = $this->_getCategorySpecial($event); $sqls = $object->getFormOption('ListSQLs', Array ()); @@ -1484,11 +1484,11 @@ return; } + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ + /** @var kPermCacheUpdater $cache_updater */ $cache_updater = $this->Application->makeClass('kPermCacheUpdater', Array (null, $object->GetDBField('ParentPath'))); - /* @var $cache_updater kPermCacheUpdater */ $cache_updater->OneStepRun(); @@ -1546,8 +1546,8 @@ $page = $this->Application->GetVar($page_var); if ( is_numeric($page) ) { + /** @var kDBList $object */ $object = $event->getObject(); - /* @var $object kDBList */ $object->SetPage($page); } @@ -1573,8 +1573,8 @@ return; } + /** @var CategoriesItem $object */ $object = $event->getObject(Array ('skip_autoload' => true)); - /* @var $object CategoriesItem */ $ids = $this->StoreSelectedIDs($event); @@ -1613,8 +1613,8 @@ */ protected function checkItemStatus(kEvent $event) { + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ if ( !$object->isLoaded() ) { return true; @@ -1647,8 +1647,8 @@ if ( in_array('search', $types) ) { $event->setPseudoClass('_List'); + /** @var kDBList $object */ $object = $event->getObject(); - /* @var $object kDBList */ // 1. no user sorting - sort by relevance $default_sortings = parent::_getDefaultSorting($event); @@ -1689,8 +1689,8 @@ */ protected function _removeForcedSortings(kEvent $event) { + /** @var Array $list_sortings */ $list_sortings = $this->Application->getUnitOption($event->Prefix, 'ListSortings', Array ()); - /* @var $list_sortings Array */ foreach ($list_sortings as $special => $sortings) { unset($list_sortings[$special]['ForcedSorting']); @@ -1752,8 +1752,8 @@ $t = $this->Application->GetVar('t'); } + /** @var CategoriesItem $page */ $page = $this->Application->recallObject($this->Prefix . '.-virtual', null, Array ('page' => $t)); - /* @var $page CategoriesItem */ if ( $page->isLoaded() ) { $real_t = $page->GetDBField('CachedTemplate'); @@ -1769,15 +1769,15 @@ // replace alias in form #alias_name# to actual template used in this theme if ( $this->Application->isAdmin ) { + /** @var kThemesHelper $themes_helper */ $themes_helper = $this->Application->recallObject('ThemesHelper'); - /* @var $themes_helper kThemesHelper */ // only, used when in "Design Mode" $this->Application->SetVar('theme.current_id', $themes_helper->getCurrentThemeId()); } + /** @var kDBItem $theme */ $theme = $this->Application->recallObject('theme.current'); - /* @var $theme kDBItem */ $template = $theme->GetField('TemplateAliases', $real_t); @@ -1810,8 +1810,8 @@ */ function _beforeItemChange($event) { + /** @var CategoriesItem $object */ $object = $event->getObject(); - /* @var $object CategoriesItem */ $now = adodb_mktime(); @@ -1897,8 +1897,8 @@ { $value = $object->GetField($field, 'no_default'); // current value of target field + /** @var kMultiLanguage $ml_formatter */ $ml_formatter = $this->Application->recallObject('kMultiLanguage'); - /* @var $ml_formatter kMultiLanguage */ $src_field = $ml_formatter->LangFieldName('Name'); $dst_field = $ml_formatter->LangFieldName($field); @@ -1923,8 +1923,8 @@ { parent::OnBeforeItemDelete($event); + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ if ( $object->GetDBField('Protected') && !$this->Application->isDebugMode(false) ) { $event->status = kEvent::erFAIL; @@ -2039,13 +2039,13 @@ $backup_category_id = $this->Application->GetVar('m_cat_id'); + /** @var CategoriesItem $object */ $object = $this->Application->recallObject($this->Prefix . '.rebuild-path', null, Array ('skip_autoload' => true)); - /* @var $object CategoriesItem */ $parent_id = $base_category; + /** @var kFilenamesHelper $filenames_helper */ $filenames_helper = $this->Application->recallObject('FilenamesHelper'); - /* @var $filenames_helper kFilenamesHelper */ $safe_category_path = array_map(Array (&$filenames_helper, 'replaceSequences'), $category_path); @@ -2164,8 +2164,8 @@ return ; } + /** @var SiteConfigHelper $site_config_helper */ $site_config_helper = $this->Application->recallObject('SiteConfigHelper'); - /* @var $site_config_helper SiteConfigHelper */ $settings = $site_config_helper->getSettings(); @@ -2191,8 +2191,8 @@ $this->Application->setUnitOption($event->Prefix, 'SectionAdjustments', $section_adjustments); // prepare structure dropdown + /** @var CategoryHelper $category_helper */ $category_helper = $this->Application->recallObject('CategoryHelper'); - /* @var $category_helper CategoryHelper */ $fields = $this->Application->getUnitOption($event->Prefix, 'Fields'); @@ -2256,8 +2256,8 @@ $join_clause = ''; } + /** @var array $list_sqls */ $list_sqls = $this->Application->getUnitOption($event->Prefix, 'ListSQLs'); - /* @var $list_sqls array */ foreach ($list_sqls as $special => $list_sql) { $list_sqls[$special] = str_replace('{PERM_JOIN}', $join_clause, $list_sql); @@ -2301,8 +2301,8 @@ return; } + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ // remove this category & it's children from dropdown $sql = 'SELECT ' . $object->IDField . ' @@ -2328,8 +2328,8 @@ { parent::OnAfterItemCreate($event); + /** @var CategoriesItem $object */ $object = $event->getObject(); - /* @var $object CategoriesItem */ // need to update path after category is created, so category is included in that path $fields_hash = $object->buildParentBasedFields(); @@ -2361,8 +2361,8 @@ kUtil::setResourceLimit(); + /** @var CategoriesItem $dummy */ $dummy = $this->Application->recallObject($event->Prefix . '.rebuild', NULL, Array ('skip_autoload' => true)); - /* @var $dummy CategoriesItem */ $error_count = 0; foreach ($files as $a_file => $file_info) { @@ -2373,8 +2373,8 @@ } if ( $this->Application->ConfigValue('CategoryPermissionRebuildMode') == CategoryPermissionRebuild::SILENT ) { + /** @var kPermCacheUpdater $updater */ $updater = $this->Application->makeClass('kPermCacheUpdater'); - /* @var $updater kPermCacheUpdater */ $updater->OneStepRun(); } @@ -2429,8 +2429,8 @@ $event->status = kEvent::erSTOP; $string = $this->Application->unescapeRequestVariable($this->Application->GetVar('preview_content')); + /** @var CategoryHelper $category_helper */ $category_helper = $this->Application->recallObject('CategoryHelper'); - /* @var $category_helper CategoryHelper */ $string = $category_helper->replacePageIds($string); @@ -2449,8 +2449,8 @@ $keywords = $this->Application->unescapeRequestVariable(trim($this->Application->GetVar('keywords'))); + /** @var kHTTPQuery $query_object */ $query_object = $this->Application->recallObject('HTTPQuery'); - /* @var $query_object kHTTPQuery */ /** @var kSearchHelper $search_helper */ $search_helper = $this->Application->recallObject('SearchHelper'); @@ -2478,8 +2478,8 @@ $event->setPseudoClass('_List'); + /** @var kDBList $object */ $object = $event->getObject(); - /* @var $object kDBList */ $this->Application->SetVar($event->getPrefixSpecial().'_Page', 1); $lang = $this->Application->GetVar('m_lang'); @@ -2792,8 +2792,8 @@ return; } + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $id = $this->getPassedID($event); @@ -2803,8 +2803,8 @@ } if ( $object->Load($id, null, true) ) { + /** @var Params $actions */ $actions = $this->Application->recallObject('kActions'); - /* @var $actions Params */ $actions->Set($event->getPrefixSpecial() . '_id', $object->GetID()); } @@ -2829,8 +2829,8 @@ $actual_event_name = $event->getEventParam('actual_event'); if ( $actual_event_name == 'OnSavePriorityChanges' || $event_name == 'OnAfterItemLoad' || $event_name == 'OnAfterItemDelete' ) { + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $constrain = 'ParentId = ' . $object->GetDBField('ParentId'); } @@ -2886,8 +2886,8 @@ $ret = ''; list ($prefix) = explode('.', $prefix_special); + /** @var kRewriteUrlProcessor $rewrite_processor */ $rewrite_processor = $this->Application->recallObject('kRewriteUrlProcessor'); - /* @var $rewrite_processor kRewriteUrlProcessor */ $processed_params = $rewrite_processor->getProcessedParams($prefix_special, $params, $keep_events); if ($processed_params === false) { @@ -3011,8 +3011,8 @@ WHERE FriendlyURL = ' . $this->Conn->qstr(implode('/', $url_parts)); $friendly = $this->Conn->GetRow($sql); + /** @var kRewriteUrlProcessor $rewrite_processor */ $rewrite_processor = $this->Application->recallObject('kRewriteUrlProcessor'); - /* @var $rewrite_processor kRewriteUrlProcessor */ if ($friendly) { $vars['m_cat_id'] = $friendly['CategoryId']; @@ -3048,8 +3048,8 @@ $last_category_info = false; $category_path = $url_part == 'content' ? '' : 'content'; + /** @var kRewriteUrlProcessor $rewrite_processor */ $rewrite_processor = $this->Application->recallObject('kRewriteUrlProcessor'); - /* @var $rewrite_processor kRewriteUrlProcessor */ do { $category_path = trim($category_path . '/' . $url_part, '/'); @@ -3112,8 +3112,8 @@ */ protected function OnAfterItemValidate(kEvent $event) { + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $resource_id = $object->GetDBField('ResourceId'); @@ -3134,8 +3134,8 @@ { parent::OnBeforeClone($event); + /** @var kDBItem $object */ $object = $event->getObject(); - /* @var $object kDBItem */ $object->SetDBField('ResourceId', 0); // this will reset it