'n', 'ItemClass' => Array('class' => 'kCatDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), 'ListClass' => Array('class' => 'kCatDBList', 'file' => '', 'build_event' => 'OnListBuild'), 'EventHandlerClass' => Array('class' => 'ArticlesEventHandler', 'file' => 'articles_event_handler.php', 'require_classes' => Array('kCatDBEventHandler'), 'build_event' => 'OnBuild'), 'TagProcessorClass' => Array('class' => 'ArticlesTagProcessor', 'file' => 'articles_tag_processor.php', 'require_classes' => Array('kCatDBTagProcessor'), 'build_event' => 'OnBuild'), 'AutoLoad' => true, 'ConfigPriority' => 0, 'Hooks' => Array ( Array ( 'Mode' => hAFTER, 'Conditional' => false, 'HookToPrefix' => 'c', 'HookToSpecial' => '*', 'HookToEvent' => Array('OnAfterConfigRead'), 'DoPrefix' => '', 'DoSpecial' => '', 'DoEvent' => 'OnUpdateCategoryCustomFields', ), Array ( 'Mode' => hBEFORE, 'Conditional' => false, 'HookToPrefix' => '', 'HookToSpecial' => '*', 'HookToEvent' => Array('OnAfterConfigRead'), 'DoPrefix' => 'cdata', 'DoSpecial' => '*', 'DoEvent' => 'OnDefineCustomFields', ), ), 'CatalogItem' => true, 'AdminTemplatePath' => 'articles', 'AdminTemplatePrefix' => 'articles_', 'QueryString' => Array( 1 => 'id', 2 => 'Page', 3 => 'Reviews_Page', 4 => 'event', 5 => 'mode', ), 'RegularEvents' => Array( 'rss_category_update' => Array('EventName' => 'OnUpdateRSSAtricles', 'RunInterval' => 0, 'Type' => reBEFORE), ), 'IDField' => 'NewsId', 'StatusField' => Array('Status'), // field, that is affected by Approve/Decline events 'TitleField' => 'Title', // field, used in bluebar when editing existing item 'TitlePhrase' => 'la_Text_Article', // phrase used to specify item type in relationship list 'TitlePresets' => Array( 'default' => Array( 'new_status_labels' => Array('n' => '!la_title_AddingArticle!'), 'edit_status_labels' => Array('n' => '!la_title_EditingArticle!'), 'new_titlefield' => Array('n' => '!la_title_NewArticle!'), ), 'articles_edit' => Array('prefixes' => Array('n'), 'format' => "#n_status# '#n_titlefield#' - !la_title_General!"), 'articles_categories'=>Array('prefixes' => Array('n','n-ci_List'), 'format' => "#n_status# '#n_titlefield#' - !la_title_Categories!"), 'articles_relations'=> Array('prefixes' => Array('n'), 'format' => "#n_status# '#n_titlefield#' - !la_title_Relations!"), 'articles_images' => Array('prefixes' => Array('n'), 'format' => "#n_status# '#n_titlefield#' - !la_title_Images!"), 'articles_reviews' => Array('prefixes' => Array('n'), 'format' => "#n_status# '#n_titlefield#' - !la_title_Reviews!"), 'articles_custom' => Array('prefixes' => Array('n'), 'format' => "#n_status# '#n_titlefield#' - !la_title_Custom!"), 'images_edit' => Array( 'prefixes' => Array('n', 'n-img'), 'new_status_labels' => Array('n-img'=>'!la_title_Adding_Image!'), 'edit_status_labels' => Array('n-img'=>'!la_title_Editing_Image!'), 'new_titlefield' => Array('n-img'=>'!la_title_New_Image!'), 'format' => "#n_status# '#n_titlefield#' - #n-img_status# '#n-img_titlefield#'", ), 'reviews_edit' => Array( 'prefixes' => Array('n', 'n-rev'), 'new_status_labels' => Array('n-rev'=>"!la_title_Adding_Review! '!la_title_New_Review!'"), 'edit_status_labels' => Array('n-rev'=>'!la_title_Editing_Review!'), 'format' => "#n_status# '#n_titlefield#' - #n-rev_status#", ), 'relations_edit' => Array( 'prefixes' => Array('n', 'n-rel'), 'new_status_labels' => Array('n-rel'=>"!la_title_Adding_Relationship! '!la_title_New_Relationship!'"), 'edit_status_labels' => Array('n-rel'=>'!la_title_Editing_Relationship!'), 'format' => "#n_status# '#n_titlefield#' - #n-rel_status#", ), 'tree_in-news' => Array('format' => '!la_Text_Version! '.$this->Application->findModule('Name', 'In-News', 'Version')), ), 'PermItemPrefix' => 'NEWS', 'PermTabText' => 'In-News', 'PermSection' => Array('main' => 'CATEGORY:in-news:articles_list', 'search' => 'in-news:configuration_search', 'email' => 'in-news:configuration_email', 'custom' => 'in-news:configuration_custom'), 'Sections' => Array( 'in-news' => Array( 'parent' => 'in-portal:root', 'icon' => 'settings_in-newz', 'label' => 'la_title_In-News', 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'), 'permissions' => Array('view'), 'priority' => 3.2, 'type' => stTREE, ), 'in-news:innews_general' => Array( 'parent' => 'in-news', 'icon' => 'settings_general', 'label' => 'la_tab_GeneralSettings', 'url' => Array('t' => 'config/config_general', 'pass_section' => true, 'pass' => 'm'), 'permissions' => Array('view', 'edit'), 'priority' => 1, 'type' => stTREE, ), 'in-news:configuration_output' => Array( 'parent' => 'in-news', 'icon' => 'settings_output', 'label' => 'la_tab_ConfigOutput', 'url' => Array('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'), 'permissions' => Array('view', 'edit'), 'priority' => 2, 'type' => stTREE, ), 'in-news:configuration_search' => Array( 'parent' => 'in-news', 'icon' => 'settings_search', 'label' => 'la_tab_ConfigSearch', 'url' => Array('t' => 'config/config_search', 'module_key' => 'articles', 'pass_section' => true, 'pass' => 'm'), 'permissions' => Array('view', 'edit'), 'priority' => 3, 'type' => stTREE, ), 'in-news:configuration_email' => Array( 'parent' => 'in-news', 'icon' => 'settings_email', 'label' => 'la_tab_ConfigE-mail', 'url' => Array('t' => 'config/config_email', 'pass_section' => true, 'pass' => 'm'), 'permissions' => Array('view', 'edit'), 'priority' => 4, 'type' => stTREE, ), 'in-news:configuration_custom' => Array( 'parent' => 'in-news', 'icon' => 'settings_custom', 'label' => 'la_tab_ConfigCustom', 'url' => Array('t' => 'custom_fields/custom_fields_list', 'cf_type' => 2, 'pass_section' => true, 'pass' => 'm,cf'), 'permissions' => Array('view', 'add', 'edit', 'delete'), 'priority' => 5, 'type' => stTREE, ), ), 'FilterMenu' => Array( 'Groups' => Array( Array('mode' => 'AND', 'filters' => Array('show_active','show_pending','show_disabled'), 'type' => WHERE_FILTER), Array('mode' => 'AND', 'filters' => Array('show_new'), 'type' => HAVING_FILTER), Array('mode' => 'AND', 'filters' => Array('show_hot'), 'type' => HAVING_FILTER), Array('mode' => 'AND', 'filters' => Array('show_pop'), 'type' => HAVING_FILTER), Array('mode' => 'AND', 'filters' => Array('show_pick'), 'type' => WHERE_FILTER), ), 'Filters' => Array( 'show_active' => Array('label' =>'la_Active', 'on_sql' => '', 'off_sql' => '%1$s.Status != 1' ), 'show_pending' => Array('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => '%1$s.Status != 2' ), 'show_disabled' => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 0' ), 's1' => Array(), 'show_new' => Array('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1' ), 'show_hot' => Array('label' => 'la_Text_Hot', 'on_sql' => '', 'off_sql' => '`IsHot` != 1' ), 'show_pop' => Array('label' => 'la_Text_Pop', 'on_sql' => '', 'off_sql' => '`IsPop` != 1' ), 'show_pick' => Array('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '%1$s.`EditorsPick` != 1' ), ) ), 'CatalogSelectorName' => 'newslist', 'ItemPropertyMappings' => Array( 'NewDays' => 'News_CatNewDays', // number of days item to be NEW 'MinPopVotes' => 'News_MinPopVotes', // minimum number of votes for an item to be POP 'MinPopRating' => 'News_MinPopRating',// minimum rating for an item to be POP 'MaxHotNumber' => 'News_MaxHotNumber',// maximum number of HOT items 'HotLimit' => 'News_HotLimit', // variable name in inp_Cache table 'ClickField' => 'Hits', // item click count is stored here (in item table) ), 'ItemType' => 2, // this is used when relation to product is added from in-portal and via-versa 'ViewMenuPhrase' => 'la_title_Articles', 'StatisticsInfo' => Array( 'pending' => Array( 'icon' => 'icon16_article_pending.gif', 'label' => 'la_Text_Articles', 'js_url' => '#url#', 'url' => Array('t' => 'in-portal/advanced_view', 'SetTab' => 'n', 'pass' => 'm,n.showall', 'n.showall_event' => 'OnSetFilterPattern', 'n.showall_filters' => 'show_active=0,show_pending=1,show_disabled=0,show_new=1,show_hot=1,show_pop=1,show_pick=1'), 'status' => STATUS_PENDING, ), ), 'TableName' => TABLE_PREFIX.'News', 'CalculatedFields' => Array( '' => Array ( 'UserName' => 'IF (ISNULL(u.Login), IF (%1$s.CreatedById = -1, "root", IF (%1$s.CreatedById = -2, "Guest", "n/a")), u.Login)', 'CategoryId' => TABLE_PREFIX.'%3$sCategoryItems.CategoryId', 'Filename' => TABLE_PREFIX.'%3$sCategoryItems.Filename', 'CategoryFilename' => TABLE_PREFIX.'Category.NamedParentPath', ), ), 'CacheModRewrite' => true, 'ListSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryItems ON '.TABLE_PREFIX.'%3$sCategoryItems.ItemResourceId = %1$s.ResourceId LEFT JOIN '.TABLE_PREFIX.'Category ON '.TABLE_PREFIX.'Category.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId LEFT JOIN '.TABLE_PREFIX.'PermCache perm ON perm.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.CreatedById = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'%3$sNewsCustomData cust ON %1$s.ResourceId = cust.ResourceId', ), // key - special, value - list select sql 'ListSortings' => Array( '' => Array( 'ForcedSorting' => Array('EditorsPick' => 'desc', 'Priority' => 'desc'), 'Sorting' => Array('Title' => 'asc'), ) ), 'ItemSQLs' => Array( ''=>' SELECT %1$s.* %2$s FROM %1$s LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryItems ON '.TABLE_PREFIX.'%3$sCategoryItems.ItemResourceId = %1$s.ResourceId LEFT JOIN '.TABLE_PREFIX.'Category ON '.TABLE_PREFIX.'Category.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.CreatedById = u.PortalUserId LEFT JOIN '.TABLE_PREFIX.'%3$sNewsCustomData cust ON %1$s.ResourceId = cust.ResourceId'), 'SubItems' => Array('n-rev', 'n-ci', 'n-rel', 'n-img', 'n-cdata'), 'Fields' => Array ( 'NewsId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0,), 'Title' => Array('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''), 'AutomaticFilename' => Array('type' => 'int', 'not_null' => 1, 'default' => 1), 'Excerpt' => Array('type' => 'string', 'not_null' => 1, 'default' => ''), 'Author' => Array('type' => 'string', 'not_null' => 1, 'default' => ''), 'Body' => Array('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''), 'CreatedOn' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'required' => 1, 'not_null' => 1,'default' => '#NOW#'), 'TextFormat' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), 'EndOn' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => null), 'Hits' => Array('type' => 'double', 'formatter' => 'kFormatter', 'format' => '%d', 'not_null' => 1, 'default' => 0), 'CachedRating' => Array('type' => 'string', 'default' => 0), 'CachedVotesQty' => Array('type' => 'int','not_null' => 1,'default' => 0), 'CreatedById' => Array('type' => 'int', 'formatter' => 'kLEFTFormatter', 'options' => Array(-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1, 'required' => 1, 'default' => -1), 'Priority' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), 'Status' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2), 'EditorsPick' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0), 'LeadStory' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0), 'LeadCatStory' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0), 'ResourceId' => Array('type' => 'int', 'default' => null), 'CachedReviewsQty' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), 'StartDate' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'required' => 1, 'not_null' => 1, 'default' => '#NOW#'), 'NewItem' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1,'default' => 2), 'PopItem' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1,'default' => 2), 'HotItem' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1,'default' => 2), 'Archived' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 2 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0), 'Modified' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1,'default' => '#NOW#'), 'ModifiedById' => Array('type' => 'int', 'formatter' => 'kLEFTFormatter', 'options' => Array(-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1,'default' => -1), 'OrgId' => Array('type' => 'int', 'default' => null), ), 'VirtualFields' => Array( 'UserName' => Array('type' => 'string', 'default' => ''), 'CategoryId' => Array('type' => 'int', 'default' => 0), 'cust_RssOriginalURL' => Array('type' => 'string', 'default' => ''), 'cust_RssArticleCRC' => Array('type' => 'int', 'default' => 0), 'Filename' => Array('type' => 'string', 'not_null' => 1, 'default' => ''), 'CachedNavbar' => Array('type' => 'string', 'default' => ''), ), 'Grids' => Array( 'Default' => Array( 'Icons' => Array(1 => 'icon16_article.gif', 2 => 'icon16_article_pending.gif', 0 => 'icon16_article_disabled.gif', 'HOT' => 'icon16_article_hot.gif', 'POP' => 'icon16_article_pop.gif', 'NEW' => 'icon16_article_new.gif', 'PICK' => 'icon16_article_pick.gif'), 'Fields' => Array( 'NewsId' => Array('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td'), 'Title' => Array('title' => 'la_col_Title', 'data_block' => 'grid_catitem_td'), // 'PrimaryCategory' => Array('title' => 'la_col_PrimaryCategory', 'data_block' => 'grid_category_td'), 'UserName' => Array('title' => 'la_col_Author'), 'LeadStory' => Array('title' => 'la_col_LeadStory'), 'LeadCatStory' => Array('title' => 'la_col_LeadCatStory'), 'StartDate' => Array('title' => 'la_col_StartDate'), 'EndOn' => Array('title' => 'la_col_EndOn', 'data_block' => 'article_expire_td'), ), ), 'Radio' => Array( 'Icons' => Array(1 => 'icon16_article.gif', 2 => 'icon16_article_pending.gif', 0 => 'icon16_article_disabled.gif', 'HOT' => 'icon16_article_hot.gif', 'POP' => 'icon16_article_pop.gif', 'NEW' => 'icon16_article_new.gif', 'PICK' => 'icon16_article_pick.gif'), 'Fields' => Array( 'NewsId' => Array('title' => 'la_col_Id', 'data_block' => 'grid_radio_td'), 'Title' => Array('title' => 'la_col_Title', 'data_block' => 'grid_catitem_td'), 'UserName' => Array('title' => 'la_col_Author'), 'LeadStory' => Array('title' => 'la_col_LeadStory'), 'LeadCatStory' => Array('title' => 'la_col_LeadCatStory'), 'StartDate' => Array('title' => 'la_col_StartDate'), 'EndOn' => Array('title' => 'la_col_EndOn', 'data_block' => 'article_expire_td'), ), ), ), 'ConfigMapping' => Array( 'PerPage' => 'Perpage_News', 'ShortListPerPage' => 'Perpage_News_Short', 'DefaultSorting1Field' => 'News_SortField', 'DefaultSorting2Field' => 'News_SortField2', 'DefaultSorting1Dir' => 'News_SortOrder', 'DefaultSorting2Dir' => 'News_SortOrder2', ), ); ?>