Index: branches/RC/core/units/general/cat_tag_processor.php
===================================================================
diff -u -r10274 -r10455
--- branches/RC/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 10274)
+++ branches/RC/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 10455)
@@ -143,6 +143,12 @@
// pass params to block with tab content
$params['name'] = $params['render_as'];
$params['prefix'] = trim($this->Prefix.'.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+
+ $prefix_append = $this->Application->GetVar('prefix_append');
+ if ($prefix_append) {
+ $params['prefix'] .= $prefix_append;
+ }
+
$params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
$params['tab_mode'] = $tab_params['mode'];
$params['tab_dependant'] = $tab_params['dependant'];
Index: branches/RC/core/units/categories/categories_config.php
===================================================================
diff -u -r9382 -r10455
--- branches/RC/core/units/categories/categories_config.php (.../categories_config.php) (revision 9382)
+++ branches/RC/core/units/categories/categories_config.php (.../categories_config.php) (revision 10455)
@@ -76,6 +76,10 @@
'advanced_view' => Array('prefixes' => Array('c_List'), 'format' => "!la_title_AdvancedView!"),
+ 'reviews' => Array('prefixes' => Array(), 'format' => "!la_title_Reviews!"),
+
+ 'review_edit' => Array('prefixes' => Array(), 'format' => "!la_title_Editing_Review!"),
+
'categories_edit' => Array('prefixes' => Array('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_General!"),
'categories_properties' => Array('prefixes' => Array('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Properties!"),
'categories_relations' => Array('prefixes' => Array('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Relations!"),
Index: branches/RC/core/units/sections/sections_config.php
===================================================================
diff -u -r10211 -r10455
--- branches/RC/core/units/sections/sections_config.php (.../sections_config.php) (revision 10211)
+++ branches/RC/core/units/sections/sections_config.php (.../sections_config.php) (revision 10455)
@@ -1,342 +1,342 @@
'inportal-sections',
- 'EventHandlerClass' => Array('class' => 'kEventHandler', 'file' => '', 'build_event' => 'OnBuild'),
- 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'),
+ $config = Array (
+ 'Prefix' => 'inportal-sections',
+ 'EventHandlerClass' => Array ('class' => 'kEventHandler', 'file' => '', 'build_event' => 'OnBuild'),
+ 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
-// 'SectionPrefix' => 'u',
- 'Sections' => Array(
- 'in-portal:root' => Array(
- 'parent' => null,
- 'icon' => 'in-portal:site',
- 'label' => $this->Application->ConfigValue('Site_Name'),
- 'url' => Array('t' => 'sections_list', 'pass' => 'm', 'pass_section' => true, 'no_amp' => 1),
- 'permissions' => Array('advanced:admin_login', 'advanced:front_login'),
- 'priority' => 0,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+// 'SectionPrefix' => 'u',
+ 'Sections' => Array (
+ 'in-portal:root' => Array (
+ 'parent' => null,
+ 'icon' => 'in-portal:site',
+ 'label' => $this->Application->ConfigValue('Site_Name'),
+ 'url' => Array ('t' => 'sections_list', 'pass' => 'm', 'pass_section' => true, 'no_amp' => 1),
+ 'permissions' => Array ('advanced:admin_login', 'advanced:front_login'),
+ 'priority' => 0,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:site' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:struct',
- 'label' => 'la_tab_Site_Structure',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 1,
- 'type' => stTREE,
- 'SectionPrefix' => 'c',
- ),
+ 'in-portal:site' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:struct',
+ 'label' => 'la_tab_Site_Structure',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'c',
+ ),
- 'in-portal:browse' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:catalog',
- 'label' => 'la_tab_Browse',
- 'url' => Array('t' => 'in-portal/catalog', 'pass' => 'm'),
- 'late_load' => Array('t' => 'in-portal/xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0),
- 'onclick' => 'checkCatalog(0)',
- 'permissions' => Array('view'),
- 'priority' => 0.1,
- 'type' => stTREE,
- ),
- 'in-portal:advanced_view' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:advanced_view',
- 'label' => 'la_tab_AdvancedView',
- 'url' => Array('t' => 'in-portal/advanced_view', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 0.2,
- 'type' => stTREE,
- ),
+ 'in-portal:browse' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:catalog',
+ 'label' => 'la_tab_Browse',
+ 'url' => Array ('t' => 'in-portal/catalog', 'pass' => 'm'),
+ 'late_load' => Array ('t' => 'in-portal/xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0),
+ 'onclick' => 'checkCatalog(0)',
+ 'permissions' => Array ('view'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
+ 'in-portal:advanced_view' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:advanced_view',
+ 'label' => 'la_tab_AdvancedView',
+ 'url' => Array ('t' => 'in-portal/advanced_view', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:reviews' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:reviews',
- 'label' => 'la_tab_Reviews',
- 'url' => Array('index_file' => 'reviews.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:reviews' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:reviews',
+ 'label' => 'la_tab_Reviews',
+ 'url' => Array ('t' => 'in-portal/reviews', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:configure_categories' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:cat_settings',
- 'label' => 'la_tab_Settings',
- 'url' => Array('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_categories' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:cat_settings',
+ 'label' => 'la_tab_Settings',
+ 'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:configuration_search' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:settings_search',
- 'label' => 'la_tab_ConfigSearch',
- 'url' => Array('t' => 'in-portal/config/config_search', 'module_key' => 'category', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:configuration_search' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:settings_search',
+ 'label' => 'la_tab_ConfigSearch',
+ 'url' => Array ('t' => 'in-portal/config/config_search', 'module_key' => 'category', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- 'in-portal:configuration_email' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:settings_email',
- 'label' => 'la_tab_ConfigE-mail',
- 'url' => Array('t' => 'in-portal/config/config_email', 'module' => 'In-Portal:Category', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 6,
- 'type' => stTREE,
- ),
+ 'in-portal:configuration_email' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:settings_email',
+ 'label' => 'la_tab_ConfigE-mail',
+ 'url' => Array ('t' => 'in-portal/config/config_email', 'module' => 'In-Portal:Category', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ ),
- 'in-portal:configuration_custom' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:settings_custom',
- 'label' => 'la_tab_ConfigCustom',
- 'url' => Array('t' => 'custom_fields/custom_fields_list', 'cf_type' => 1, 'pass_section' => true, 'pass' => 'm,cf'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 7,
- 'type' => stTREE,
- ),
+ 'in-portal:configuration_custom' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:settings_custom',
+ 'label' => 'la_tab_ConfigCustom',
+ 'url' => Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 1, 'pass_section' => true, 'pass' => 'm,cf'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 7,
+ 'type' => stTREE,
+ ),
- 'in-portal:users' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:community',
- 'label' => 'la_tab_Community',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 2,
- 'type' => stTREE,
- 'SectionPrefix' => 'u',
- ),
+ 'in-portal:users' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:community',
+ 'label' => 'la_tab_Community',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'u',
+ ),
- 'in-portal:user_list' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:users',
- 'label' => 'la_tab_User_List',
- 'url' => Array('t' => 'in-portal/users/users_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:ban', 'advanced:send_email', /*'advanced:add_favorite', 'advanced:remove_favorite',*/),
- 'priority' => 1,
- 'type' => stTREE,
- ),
+ 'in-portal:user_list' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:users',
+ 'label' => 'la_tab_User_List',
+ 'url' => Array ('t' => 'in-portal/users/users_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete', 'advanced:ban', 'advanced:send_email', /*'advanced:add_favorite', 'advanced:remove_favorite',*/),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_groups' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:usergroups',
- 'label' => 'la_tab_User_Groups',
- 'url' => Array('t' => 'in-portal/groups/groups_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:send_email', 'advanced:manage_permissions'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
+ 'in-portal:user_groups' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:usergroups',
+ 'label' => 'la_tab_User_Groups',
+ 'url' => Array ('t' => 'in-portal/groups/groups_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete', 'advanced:send_email', 'advanced:manage_permissions'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:configure_users' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:users_settings',
- 'label' => 'la_tab_ConfigSettings',
- 'url' => Array('t' => 'config/config_universal', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_users' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:users_settings',
+ 'label' => 'la_tab_ConfigSettings',
+ 'url' => Array ('t' => 'config/config_universal', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_email' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:settings_email',
- 'label' => 'la_tab_ConfigE-mail',
- 'url' => Array('t' => 'config/config_email', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:user_email' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:settings_email',
+ 'label' => 'la_tab_ConfigE-mail',
+ 'url' => Array ('t' => 'config/config_email', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_custom' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:settings_custom',
- 'label' => 'la_tab_ConfigCustom',
- 'url' => Array('t' => 'custom_fields/custom_fields_list', 'cf_type' => 6, 'pass_section' => true, 'pass' => 'm,cf'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:user_custom' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:settings_custom',
+ 'label' => 'la_tab_ConfigCustom',
+ 'url' => Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 6, 'pass_section' => true, 'pass' => 'm,cf'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_banlist' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:banlist',
- 'label' => 'la_tab_BanList',
- 'url' => Array('index_file' => 'config/edit_banlist.php', 'DataType' => 6, 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 6,
- 'type' => stTREE,
- ),
+ 'in-portal:user_banlist' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:banlist',
+ 'label' => 'la_tab_BanList',
+ 'url' => Array ('index_file' => 'config/edit_banlist.php', 'DataType' => 6, 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ ),
- // "Help" section
- 'in-portal:help' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:help',
- 'label' => 'la_tab_Help',
- 'url' => Array('index_file' => 'help/manual.pdf', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 7,
- 'type' => stTREE,
- ),
+ // "Help" section
+ 'in-portal:help' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:help',
+ 'label' => 'la_tab_Help',
+ 'url' => Array ('index_file' => 'help/manual.pdf', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 7,
+ 'type' => stTREE,
+ ),
- // "Summary & Logs" section
- 'in-portal:reports' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:summary_logs',
- 'label' => 'la_tab_Reports',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 4,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+ // "Summary & Logs" section
+ 'in-portal:reports' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:summary_logs',
+ 'label' => 'la_tab_Reports',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:log_summary' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:summary',
- 'label' => 'la_tab_Summary',
- 'url' => Array('index_file' => 'logs/summary.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 1,
- 'type' => stTREE,
- ),
+ 'in-portal:log_summary' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:summary',
+ 'label' => 'la_tab_Summary',
+ 'url' => Array ('index_file' => 'logs/summary.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
- 'in-portal:searchlog' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:search_log',
- 'label' => 'la_tab_SearchLog',
- 'url' => Array('index_file' => 'logs/searchlog.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
+ 'in-portal:searchlog' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:search_log',
+ 'label' => 'la_tab_SearchLog',
+ 'url' => Array ('index_file' => 'logs/searchlog.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:sessionlog' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:sessions_log',
- 'label' => 'la_tab_SessionLog',
- 'url' => Array('index_file' => 'logs/session_list.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:sessionlog' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:sessions_log',
+ 'label' => 'la_tab_SessionLog',
+ 'url' => Array ('index_file' => 'logs/session_list.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:emaillog' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:email_log',
- 'label' => 'la_tab_EmailLog',
- 'url' => Array('index_file' => 'logs/email_log.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:emaillog' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:email_log',
+ 'label' => 'la_tab_EmailLog',
+ 'url' => Array ('index_file' => 'logs/email_log.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:visits' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:visits',
- 'label' => 'la_tab_Visits',
- 'url' => Array('t' => 'in-portal/visits/visits_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:visits' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:visits',
+ 'label' => 'la_tab_Visits',
+ 'url' => Array ('t' => 'in-portal/visits/visits_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- // "Configuration" section
- 'in-portal:system' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:conf',
- 'label' => 'la_tab_Sys_Config',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 5,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+ // "Configuration" section
+ 'in-portal:system' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:conf',
+ 'label' => 'la_tab_Sys_Config',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:configure_general' => Array(
- 'parent' => 'in-portal:system',
- 'icon' => 'in-portal:conf_general',
- 'label' => 'la_tab_General',
- 'url' => Array('t' => 'config/config_universal', 'pass_section' => true, 'module' => 'In-Portal', 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 1,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_general' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'in-portal:conf_general',
+ 'label' => 'la_tab_General',
+ 'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'module' => 'In-Portal', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
- 'in-portal:configure_themes' => Array(
- 'parent' => 'in-portal:system',
- 'icon' => 'in-portal:conf_themes',
- 'label' => 'la_tab_Themes',
- 'url' => Array('index_file' => 'config/config_theme.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_themes' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'in-portal:conf_themes',
+ 'label' => 'la_tab_Themes',
+ 'url' => Array ('index_file' => 'config/config_theme.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- // "Tools" section
- 'in-portal:tools' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:tools',
- 'label' => 'la_tab_Tools',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 6,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+ // "Tools" section
+ 'in-portal:tools' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:tools',
+ 'label' => 'la_tab_Tools',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:backup' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_backup',
- 'label' => 'la_tab_Backup',
- 'url' => Array('index_file' => 'backup/backup1.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
+ 'in-portal:backup' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_backup',
+ 'label' => 'la_tab_Backup',
+ 'url' => Array ('index_file' => 'backup/backup1.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:restore' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_restore',
- 'label' => 'la_tab_Restore',
- 'url' => Array('index_file' => 'backup/restore1.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:restore' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_restore',
+ 'label' => 'la_tab_Restore',
+ 'url' => Array ('index_file' => 'backup/restore1.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:main_import' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_import',
- 'label' => 'la_tab_ImportData',
- 'url' => Array('index_file' => 'import/step1.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:main_import' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_import',
+ 'label' => 'la_tab_ImportData',
+ 'url' => Array ('index_file' => 'import/step1.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:sql_query' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_import',
- 'label' => 'la_tab_QueryDB',
- 'url' => Array('index_file' => 'tools/sql_query.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:sql_query' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_import',
+ 'label' => 'la_tab_QueryDB',
+ 'url' => Array ('index_file' => 'tools/sql_query.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- 'in-portal:server_info' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:server_info',
- 'label' => 'la_tab_ServerInfo',
- 'url' => Array('index_file' => 'tools/server_info.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 6,
- 'type' => stTREE,
- ),
- ),
+ 'in-portal:server_info' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:server_info',
+ 'label' => 'la_tab_ServerInfo',
+ 'url' => Array ('index_file' => 'tools/server_info.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ ),
+ ),
);
\ No newline at end of file
Index: branches/RC/kernel/units/sections/sections_config.php
===================================================================
diff -u -r10211 -r10455
--- branches/RC/kernel/units/sections/sections_config.php (.../sections_config.php) (revision 10211)
+++ branches/RC/kernel/units/sections/sections_config.php (.../sections_config.php) (revision 10455)
@@ -1,342 +1,342 @@
'inportal-sections',
- 'EventHandlerClass' => Array('class' => 'kEventHandler', 'file' => '', 'build_event' => 'OnBuild'),
- 'TagProcessorClass' => Array('class'=>'kDBTagProcessor','file'=>'','build_event'=>'OnBuild'),
+ $config = Array (
+ 'Prefix' => 'inportal-sections',
+ 'EventHandlerClass' => Array ('class' => 'kEventHandler', 'file' => '', 'build_event' => 'OnBuild'),
+ 'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
-// 'SectionPrefix' => 'u',
- 'Sections' => Array(
- 'in-portal:root' => Array(
- 'parent' => null,
- 'icon' => 'in-portal:site',
- 'label' => $this->Application->ConfigValue('Site_Name'),
- 'url' => Array('t' => 'sections_list', 'pass' => 'm', 'pass_section' => true, 'no_amp' => 1),
- 'permissions' => Array('advanced:admin_login', 'advanced:front_login'),
- 'priority' => 0,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+// 'SectionPrefix' => 'u',
+ 'Sections' => Array (
+ 'in-portal:root' => Array (
+ 'parent' => null,
+ 'icon' => 'in-portal:site',
+ 'label' => $this->Application->ConfigValue('Site_Name'),
+ 'url' => Array ('t' => 'sections_list', 'pass' => 'm', 'pass_section' => true, 'no_amp' => 1),
+ 'permissions' => Array ('advanced:admin_login', 'advanced:front_login'),
+ 'priority' => 0,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:site' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:struct',
- 'label' => 'la_tab_Site_Structure',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 1,
- 'type' => stTREE,
- 'SectionPrefix' => 'c',
- ),
+ 'in-portal:site' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:struct',
+ 'label' => 'la_tab_Site_Structure',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'c',
+ ),
- 'in-portal:browse' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:catalog',
- 'label' => 'la_tab_Browse',
- 'url' => Array('t' => 'in-portal/catalog', 'pass' => 'm'),
- 'late_load' => Array('t' => 'in-portal/xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0),
- 'onclick' => 'checkCatalog(0)',
- 'permissions' => Array('view'),
- 'priority' => 0.1,
- 'type' => stTREE,
- ),
- 'in-portal:advanced_view' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:advanced_view',
- 'label' => 'la_tab_AdvancedView',
- 'url' => Array('t' => 'in-portal/advanced_view', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 0.2,
- 'type' => stTREE,
- ),
+ 'in-portal:browse' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:catalog',
+ 'label' => 'la_tab_Browse',
+ 'url' => Array ('t' => 'in-portal/catalog', 'pass' => 'm'),
+ 'late_load' => Array ('t' => 'in-portal/xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0),
+ 'onclick' => 'checkCatalog(0)',
+ 'permissions' => Array ('view'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
+ 'in-portal:advanced_view' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:advanced_view',
+ 'label' => 'la_tab_AdvancedView',
+ 'url' => Array ('t' => 'in-portal/advanced_view', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:reviews' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:reviews',
- 'label' => 'la_tab_Reviews',
- 'url' => Array('index_file' => 'reviews.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:reviews' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:reviews',
+ 'label' => 'la_tab_Reviews',
+ 'url' => Array ('t' => 'in-portal/reviews', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:configure_categories' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:cat_settings',
- 'label' => 'la_tab_Settings',
- 'url' => Array('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_categories' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:cat_settings',
+ 'label' => 'la_tab_Settings',
+ 'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:configuration_search' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:settings_search',
- 'label' => 'la_tab_ConfigSearch',
- 'url' => Array('t' => 'in-portal/config/config_search', 'module_key' => 'category', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:configuration_search' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:settings_search',
+ 'label' => 'la_tab_ConfigSearch',
+ 'url' => Array ('t' => 'in-portal/config/config_search', 'module_key' => 'category', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- 'in-portal:configuration_email' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:settings_email',
- 'label' => 'la_tab_ConfigE-mail',
- 'url' => Array('t' => 'in-portal/config/config_email', 'module' => 'In-Portal:Category', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 6,
- 'type' => stTREE,
- ),
+ 'in-portal:configuration_email' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:settings_email',
+ 'label' => 'la_tab_ConfigE-mail',
+ 'url' => Array ('t' => 'in-portal/config/config_email', 'module' => 'In-Portal:Category', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ ),
- 'in-portal:configuration_custom' => Array(
- 'parent' => 'in-portal:site',
- 'icon' => 'in-portal:settings_custom',
- 'label' => 'la_tab_ConfigCustom',
- 'url' => Array('t' => 'custom_fields/custom_fields_list', 'cf_type' => 1, 'pass_section' => true, 'pass' => 'm,cf'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 7,
- 'type' => stTREE,
- ),
+ 'in-portal:configuration_custom' => Array (
+ 'parent' => 'in-portal:site',
+ 'icon' => 'in-portal:settings_custom',
+ 'label' => 'la_tab_ConfigCustom',
+ 'url' => Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 1, 'pass_section' => true, 'pass' => 'm,cf'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 7,
+ 'type' => stTREE,
+ ),
- 'in-portal:users' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:community',
- 'label' => 'la_tab_Community',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 2,
- 'type' => stTREE,
- 'SectionPrefix' => 'u',
- ),
+ 'in-portal:users' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:community',
+ 'label' => 'la_tab_Community',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'u',
+ ),
- 'in-portal:user_list' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:users',
- 'label' => 'la_tab_User_List',
- 'url' => Array('t' => 'in-portal/users/users_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:ban', 'advanced:send_email', /*'advanced:add_favorite', 'advanced:remove_favorite',*/),
- 'priority' => 1,
- 'type' => stTREE,
- ),
+ 'in-portal:user_list' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:users',
+ 'label' => 'la_tab_User_List',
+ 'url' => Array ('t' => 'in-portal/users/users_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete', 'advanced:ban', 'advanced:send_email', /*'advanced:add_favorite', 'advanced:remove_favorite',*/),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_groups' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:usergroups',
- 'label' => 'la_tab_User_Groups',
- 'url' => Array('t' => 'in-portal/groups/groups_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:send_email', 'advanced:manage_permissions'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
+ 'in-portal:user_groups' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:usergroups',
+ 'label' => 'la_tab_User_Groups',
+ 'url' => Array ('t' => 'in-portal/groups/groups_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete', 'advanced:send_email', 'advanced:manage_permissions'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:configure_users' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:users_settings',
- 'label' => 'la_tab_ConfigSettings',
- 'url' => Array('t' => 'config/config_universal', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_users' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:users_settings',
+ 'label' => 'la_tab_ConfigSettings',
+ 'url' => Array ('t' => 'config/config_universal', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_email' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:settings_email',
- 'label' => 'la_tab_ConfigE-mail',
- 'url' => Array('t' => 'config/config_email', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:user_email' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:settings_email',
+ 'label' => 'la_tab_ConfigE-mail',
+ 'url' => Array ('t' => 'config/config_email', 'module' => 'In-Portal:Users', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_custom' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:settings_custom',
- 'label' => 'la_tab_ConfigCustom',
- 'url' => Array('t' => 'custom_fields/custom_fields_list', 'cf_type' => 6, 'pass_section' => true, 'pass' => 'm,cf'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:user_custom' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:settings_custom',
+ 'label' => 'la_tab_ConfigCustom',
+ 'url' => Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 6, 'pass_section' => true, 'pass' => 'm,cf'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- 'in-portal:user_banlist' => Array(
- 'parent' => 'in-portal:users',
- 'icon' => 'in-portal:banlist',
- 'label' => 'la_tab_BanList',
- 'url' => Array('index_file' => 'config/edit_banlist.php', 'DataType' => 6, 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 6,
- 'type' => stTREE,
- ),
+ 'in-portal:user_banlist' => Array (
+ 'parent' => 'in-portal:users',
+ 'icon' => 'in-portal:banlist',
+ 'label' => 'la_tab_BanList',
+ 'url' => Array ('index_file' => 'config/edit_banlist.php', 'DataType' => 6, 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ ),
- // "Help" section
- 'in-portal:help' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:help',
- 'label' => 'la_tab_Help',
- 'url' => Array('index_file' => 'help/manual.pdf', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 7,
- 'type' => stTREE,
- ),
+ // "Help" section
+ 'in-portal:help' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:help',
+ 'label' => 'la_tab_Help',
+ 'url' => Array ('index_file' => 'help/manual.pdf', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 7,
+ 'type' => stTREE,
+ ),
- // "Summary & Logs" section
- 'in-portal:reports' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:summary_logs',
- 'label' => 'la_tab_Reports',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 4,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+ // "Summary & Logs" section
+ 'in-portal:reports' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:summary_logs',
+ 'label' => 'la_tab_Reports',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:log_summary' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:summary',
- 'label' => 'la_tab_Summary',
- 'url' => Array('index_file' => 'logs/summary.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 1,
- 'type' => stTREE,
- ),
+ 'in-portal:log_summary' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:summary',
+ 'label' => 'la_tab_Summary',
+ 'url' => Array ('index_file' => 'logs/summary.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
- 'in-portal:searchlog' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:search_log',
- 'label' => 'la_tab_SearchLog',
- 'url' => Array('index_file' => 'logs/searchlog.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
+ 'in-portal:searchlog' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:search_log',
+ 'label' => 'la_tab_SearchLog',
+ 'url' => Array ('index_file' => 'logs/searchlog.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:sessionlog' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:sessions_log',
- 'label' => 'la_tab_SessionLog',
- 'url' => Array('index_file' => 'logs/session_list.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:sessionlog' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:sessions_log',
+ 'label' => 'la_tab_SessionLog',
+ 'url' => Array ('index_file' => 'logs/session_list.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:emaillog' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:email_log',
- 'label' => 'la_tab_EmailLog',
- 'url' => Array('index_file' => 'logs/email_log.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:emaillog' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:email_log',
+ 'label' => 'la_tab_EmailLog',
+ 'url' => Array ('index_file' => 'logs/email_log.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:visits' => Array(
- 'parent' => 'in-portal:reports',
- 'icon' => 'in-portal:visits',
- 'label' => 'la_tab_Visits',
- 'url' => Array('t' => 'in-portal/visits/visits_list', 'pass' => 'm'),
- 'permissions' => Array('view', 'delete'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:visits' => Array (
+ 'parent' => 'in-portal:reports',
+ 'icon' => 'in-portal:visits',
+ 'label' => 'la_tab_Visits',
+ 'url' => Array ('t' => 'in-portal/visits/visits_list', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'delete'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- // "Configuration" section
- 'in-portal:system' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:conf',
- 'label' => 'la_tab_Sys_Config',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 5,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+ // "Configuration" section
+ 'in-portal:system' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:conf',
+ 'label' => 'la_tab_Sys_Config',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:configure_general' => Array(
- 'parent' => 'in-portal:system',
- 'icon' => 'in-portal:conf_general',
- 'label' => 'la_tab_General',
- 'url' => Array('t' => 'config/config_universal', 'pass_section' => true, 'module' => 'In-Portal', 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 1,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_general' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'in-portal:conf_general',
+ 'label' => 'la_tab_General',
+ 'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'module' => 'In-Portal', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 1,
+ 'type' => stTREE,
+ ),
- 'in-portal:configure_themes' => Array(
- 'parent' => 'in-portal:system',
- 'icon' => 'in-portal:conf_themes',
- 'label' => 'la_tab_Themes',
- 'url' => Array('index_file' => 'config/config_theme.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'add', 'edit', 'delete'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:configure_themes' => Array (
+ 'parent' => 'in-portal:system',
+ 'icon' => 'in-portal:conf_themes',
+ 'label' => 'la_tab_Themes',
+ 'url' => Array ('index_file' => 'config/config_theme.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'add', 'edit', 'delete'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- // "Tools" section
- 'in-portal:tools' => Array(
- 'parent' => 'in-portal:root',
- 'icon' => 'in-portal:tools',
- 'label' => 'la_tab_Tools',
- 'url' => Array('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 6,
- 'type' => stTREE,
- 'SectionPrefix' => 'adm',
- ),
+ // "Tools" section
+ 'in-portal:tools' => Array (
+ 'parent' => 'in-portal:root',
+ 'icon' => 'in-portal:tools',
+ 'label' => 'la_tab_Tools',
+ 'url' => Array ('t' => 'sections_list', 'pass_section' => true, 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ 'SectionPrefix' => 'adm',
+ ),
- 'in-portal:backup' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_backup',
- 'label' => 'la_tab_Backup',
- 'url' => Array('index_file' => 'backup/backup1.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 2,
- 'type' => stTREE,
- ),
+ 'in-portal:backup' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_backup',
+ 'label' => 'la_tab_Backup',
+ 'url' => Array ('index_file' => 'backup/backup1.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 2,
+ 'type' => stTREE,
+ ),
- 'in-portal:restore' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_restore',
- 'label' => 'la_tab_Restore',
- 'url' => Array('index_file' => 'backup/restore1.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 3,
- 'type' => stTREE,
- ),
+ 'in-portal:restore' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_restore',
+ 'label' => 'la_tab_Restore',
+ 'url' => Array ('index_file' => 'backup/restore1.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 3,
+ 'type' => stTREE,
+ ),
- 'in-portal:main_import' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_import',
- 'label' => 'la_tab_ImportData',
- 'url' => Array('index_file' => 'import/step1.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 4,
- 'type' => stTREE,
- ),
+ 'in-portal:main_import' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_import',
+ 'label' => 'la_tab_ImportData',
+ 'url' => Array ('index_file' => 'import/step1.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 4,
+ 'type' => stTREE,
+ ),
- 'in-portal:sql_query' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:tool_import',
- 'label' => 'la_tab_QueryDB',
- 'url' => Array('index_file' => 'tools/sql_query.php', 'pass' => 'm'),
- 'permissions' => Array('view', 'edit'),
- 'priority' => 5,
- 'type' => stTREE,
- ),
+ 'in-portal:sql_query' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:tool_import',
+ 'label' => 'la_tab_QueryDB',
+ 'url' => Array ('index_file' => 'tools/sql_query.php', 'pass' => 'm'),
+ 'permissions' => Array ('view', 'edit'),
+ 'priority' => 5,
+ 'type' => stTREE,
+ ),
- 'in-portal:server_info' => Array(
- 'parent' => 'in-portal:tools',
- 'icon' => 'in-portal:server_info',
- 'label' => 'la_tab_ServerInfo',
- 'url' => Array('index_file' => 'tools/server_info.php', 'pass' => 'm'),
- 'permissions' => Array('view'),
- 'priority' => 6,
- 'type' => stTREE,
- ),
- ),
+ 'in-portal:server_info' => Array (
+ 'parent' => 'in-portal:tools',
+ 'icon' => 'in-portal:server_info',
+ 'label' => 'la_tab_ServerInfo',
+ 'url' => Array ('index_file' => 'tools/server_info.php', 'pass' => 'm'),
+ 'permissions' => Array ('view'),
+ 'priority' => 6,
+ 'type' => stTREE,
+ ),
+ ),
);
\ No newline at end of file
Index: branches/RC/core/units/admin/admin_events_handler.php
===================================================================
diff -u -r10334 -r10455
--- branches/RC/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 10334)
+++ branches/RC/core/units/admin/admin_events_handler.php (.../admin_events_handler.php) (revision 10455)
@@ -212,9 +212,11 @@
$themes_helper->refreshThemes();
}
- function OnSaveColumns(&$event) {
+ function OnSaveColumns(&$event)
+ {
+ $picker_helper =& $this->Application->recallObject('ColumnPickerHelper');
/* @var $picker_helper kColumnPickerHelper */
- $picker_helper =& $this->Application->RecallObject('ColumnPickerHelper');
+
$picker_helper->SetGridName($this->Application->GetLinkedVar('grid_name'));
$picked = trim($this->Application->GetVar('picked_str'), '|');
Index: branches/RC/core/units/reviews/reviews_config.php
===================================================================
diff -u -r9373 -r10455
--- branches/RC/core/units/reviews/reviews_config.php (.../reviews_config.php) (revision 9373)
+++ branches/RC/core/units/reviews/reviews_config.php (.../reviews_config.php) (revision 10455)
@@ -125,12 +125,12 @@
LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = %1$s.CreatedById',
'products' => ' SELECT %1$s.* %2$s
- FROM %1$s
+ FROM %1$s
LEFT JOIN '.TABLE_PREFIX.'Products pr ON pr.ResourceId = %1$s.ItemId
LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = %1$s.CreatedById',
'product' => ' SELECT %1$s.* %2$s
- FROM %1$s
+ FROM %1$s
LEFT JOIN '.TABLE_PREFIX.'Products pr ON pr.ResourceId = %1$s.ItemId
LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = %1$s.CreatedById',
),
@@ -161,13 +161,17 @@
'VirtualFields' => Array (
'ReviewedBy' => Array('type' => 'string', 'default' => ''),
+
+ 'CatalogItemName' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
+ 'CatalogItemId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
),
'Grids' => Array (
'Default' => Array (
'Icons' => Array ('default'=>'icon16_custom.gif',1=>'icon16_review.gif',2=>'icon16_review_pending.gif',0=>'icon16_review_disabled.gif'),
'Fields' => Array (
- 'ReviewText' => Array( 'title'=>'la_col_ReviewText', 'data_block' => 'reviewtext_checkbox_td'),
+ 'ReviewId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td'),
+ 'ReviewText' => Array( 'title'=>'la_col_ReviewText',),
'ReviewedBy' => Array( 'title'=>'la_col_ReviewedBy' ),
'CreatedOn_formatted' => Array( 'title'=>'la_col_CreatedOn', 'sort_field' => 'CreatedOn' ),
'Status' => Array( 'title'=>'la_col_Status' ),
@@ -178,10 +182,12 @@
'ReviewsSection' => Array (
'Icons' => Array ('default'=>'icon16_custom.gif',1=>'icon16_review.gif',2=>'icon16_review_pending.gif',0=>'icon16_review_disabled.gif'),
'Fields' => Array (
- 'ReviewText' => Array( 'title'=>'la_col_ReviewText', 'data_block' => 'grid_checkbox_namelink_td'),
+ 'ReviewId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td'),
+ 'ReviewText' => Array( 'title'=>'la_col_ReviewText', 'data_block' => 'grid_reviewtext_td'),
'ReviewedBy' => Array( 'title'=>'la_col_ReviewedBy' ),
'CreatedOn_formatted' => Array( 'title'=>'la_col_CreatedOn', 'sort_field' => 'CreatedOn' ),
'Status' => Array( 'title'=>'la_col_Status' ),
+ 'Rating' => Array( 'title'=>'la_col_Rating' ),
),
),
),
Index: branches/RC/kernel/units/reviews/reviews_config.php
===================================================================
diff -u -r9373 -r10455
--- branches/RC/kernel/units/reviews/reviews_config.php (.../reviews_config.php) (revision 9373)
+++ branches/RC/kernel/units/reviews/reviews_config.php (.../reviews_config.php) (revision 10455)
@@ -125,12 +125,12 @@
LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = %1$s.CreatedById',
'products' => ' SELECT %1$s.* %2$s
- FROM %1$s
+ FROM %1$s
LEFT JOIN '.TABLE_PREFIX.'Products pr ON pr.ResourceId = %1$s.ItemId
LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = %1$s.CreatedById',
'product' => ' SELECT %1$s.* %2$s
- FROM %1$s
+ FROM %1$s
LEFT JOIN '.TABLE_PREFIX.'Products pr ON pr.ResourceId = %1$s.ItemId
LEFT JOIN '.TABLE_PREFIX.'PortalUser pu ON pu.PortalUserId = %1$s.CreatedById',
),
@@ -161,13 +161,17 @@
'VirtualFields' => Array (
'ReviewedBy' => Array('type' => 'string', 'default' => ''),
+
+ 'CatalogItemName' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
+ 'CatalogItemId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
),
'Grids' => Array (
'Default' => Array (
'Icons' => Array ('default'=>'icon16_custom.gif',1=>'icon16_review.gif',2=>'icon16_review_pending.gif',0=>'icon16_review_disabled.gif'),
'Fields' => Array (
- 'ReviewText' => Array( 'title'=>'la_col_ReviewText', 'data_block' => 'reviewtext_checkbox_td'),
+ 'ReviewId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td'),
+ 'ReviewText' => Array( 'title'=>'la_col_ReviewText',),
'ReviewedBy' => Array( 'title'=>'la_col_ReviewedBy' ),
'CreatedOn_formatted' => Array( 'title'=>'la_col_CreatedOn', 'sort_field' => 'CreatedOn' ),
'Status' => Array( 'title'=>'la_col_Status' ),
@@ -178,10 +182,12 @@
'ReviewsSection' => Array (
'Icons' => Array ('default'=>'icon16_custom.gif',1=>'icon16_review.gif',2=>'icon16_review_pending.gif',0=>'icon16_review_disabled.gif'),
'Fields' => Array (
- 'ReviewText' => Array( 'title'=>'la_col_ReviewText', 'data_block' => 'grid_checkbox_namelink_td'),
+ 'ReviewId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td'),
+ 'ReviewText' => Array( 'title'=>'la_col_ReviewText', 'data_block' => 'grid_reviewtext_td'),
'ReviewedBy' => Array( 'title'=>'la_col_ReviewedBy' ),
'CreatedOn_formatted' => Array( 'title'=>'la_col_CreatedOn', 'sort_field' => 'CreatedOn' ),
'Status' => Array( 'title'=>'la_col_Status' ),
+ 'Rating' => Array( 'title'=>'la_col_Rating' ),
),
),
),
Index: branches/RC/kernel/admin_templates/reviews.tpl
===================================================================
diff -u
--- branches/RC/kernel/admin_templates/reviews.tpl (revision 0)
+++ branches/RC/kernel/admin_templates/reviews.tpl (revision 10455)
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -rev_tab" cellpadding="0" cellspacing="0" width="100%" class="catalog-tab-unselected" onclick="$Catalog.switchTab('-rev');">
+ |
+
+
+ |
+
+ (-rev_item_count">?)
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: branches/RC/kernel/units/reviews/reviews_event_handler.php
===================================================================
diff -u -r9475 -r10455
--- branches/RC/kernel/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 9475)
+++ branches/RC/kernel/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 10455)
@@ -43,17 +43,92 @@
return $res;
}
+ $check_events = Array (
+ 'OnItemBuild', 'OnUpdate', /*'OnMassApprove', 'OnMassDecline'*/
+ );
+
+ $perm_category = $this->_getReviewCategory($event);
+
+ if (in_array($event->Name, $check_events)) {
+ // check for PRODUCT.VIEW permission
+
+ $perm_helper =& $this->Application->recallObject('PermissionsHelper');
+ /* @var $perm_helper kPermissionsHelper */
+
+ $perm_prefix = $this->getPermPrefix($event);
+
+ if ($perm_category === false) {
+ // no item id present -> allow
+ return true;
+ }
+
+ switch ($event->Name) {
+ case 'OnItemBuild':
+ $res = $this->Application->CheckPermission($perm_prefix . '.VIEW', 0, $perm_category);
+ break;
+
+ case 'OnUpdate':
+ case 'OnMassApprove':
+ case 'OnMassDecline':
+ $res = $this->Application->CheckPermission($perm_prefix . '.ADD', 0, $perm_category) ||
+ $this->Application->CheckPermission($perm_prefix . '.MODIFY', 0, $perm_category);
+ break;
+ }
+
+ if (!$res) {
+ $event->status = erPERM_FAIL;
+ }
+
+ return $res;
+
+ }
+
return parent::CheckPermission($event);
}
/**
+ * Returns primary category of review's main item
+ *
+ * @param kEvent $event
+ * @return int
+ */
+ function _getReviewCategory(&$event)
+ {
+ $items_info = $this->Application->GetVar($event->getPrefixSpecial());
+ list ($review_id, ) = each($items_info);
+
+ if (!$review_id) {
+ return false;
+ }
+
+ // 1. get main item resource id
+ $sql = 'SELECT ItemId
+ FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . '
+ WHERE ' . $this->Application->getUnitOption($event->Prefix, 'IDField') . ' = ' . $review_id;
+ $resource_id = $this->Conn->GetOne($sql);
+
+ // 2. set main item id (for permission checks)
+ $parent_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix');
+ $sql = 'SELECT ' . $this->Application->getUnitOption($parent_prefix, 'IDField') .'
+ FROM ' . $this->Application->getUnitOption($parent_prefix, 'TableName') .'
+ WHERE ResourceId = ' . $resource_id;
+ $this->Application->SetVar($parent_prefix . '_id', $this->Conn->GetOne($sql));
+
+ // 3. get main item category
+ $sql = 'SELECT CategoryId
+ FROM ' . $this->Application->getUnitOption('ci', 'TableName') .'
+ WHERE ItemResourceId = ' . $resource_id .' AND PrimaryCat = 1';
+ return $this->Conn->GetOne($sql);
+ }
+
+ /**
* Returns prefix for permissions
*
* @param kEvent $event
*/
function getPermPrefix(&$event)
{
- $main_prefix = $this->Application->GetTopmostPrefix($event->Prefix);
+ $main_prefix = $this->Application->GetTopmostPrefix($event->Prefix, true);
// this will return LINK for l, ARTICLE for n, TOPIC for bb, PRODUCT for p
$item_prefix = $this->Application->getUnitOption($main_prefix, 'PermItemPrefix');
@@ -100,6 +175,12 @@
break;*/
}
+ if (preg_match('/(.*)-rev/', $event->Prefix, $regs)) {
+ // "Structure & Data" -> "Reviews" (section in K4)
+ $item_type = $this->Application->getUnitOption($regs[1], 'ItemType');
+ $object->addFilter('itemtype_filter', '%1$s.ItemType = ' . $item_type);
+ }
+
if ($event->getEventParam('type') == 'current_user') {
// $object->removeFilter('active');
$object->addFilter('current_user', '%1$s.CreatedById = '.$this->Application->RecallVar('user_id'));
@@ -341,6 +422,53 @@
$parent_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix');
$event->SetRedirectParam('pass', 'm,'.$parent_prefix);
}
+
+ /**
+ * Makes left join to item's table, when in separate grid
+ *
+ * @param kEvent $event
+ */
+ function OnAfterConfigRead(&$event)
+ {
+ parent::OnAfterConfigRead($event);
+
+ if (preg_match('/(.*)-rev/', $event->Prefix, $regs)) {
+ // "Structure & Data" -> "Reviews" (section in K4)
+
+ // 1. add join to items table (for "Structure & Data" -> "Reviews" section)
+ $item_table = $this->Application->getUnitOption($regs[1], 'TableName');
+
+ $list_sqls = $this->Application->getUnitOption($event->Prefix, 'ListSQLs');
+ $list_sqls[''] .= ' LEFT JOIN '.$item_table.' item_table ON item_table.ResourceId = %1$s.ItemId';
+ $this->Application->setUnitOption($event->Prefix, 'ListSQLs', $list_sqls);
+
+ // 2. add calculated field
+ $calculated_fields = $this->Application->getUnitOption($event->Prefix, 'CalculatedFields');
+ $calculated_fields['']['CatalogItemName'] = 'item_table.' . $this->getTitleField($regs[1]);
+ $calculated_fields['']['CatalogItemId'] = 'item_table.' . $this->Application->getUnitOption($regs[1], 'IDField');
+ $this->Application->setUnitOption($event->Prefix, 'CalculatedFields', $calculated_fields);
+ }
+ }
+
+ /**
+ * Convert TitleField field of kMultiLanguage formatter used for it
+ *
+ * @param string $prefix
+ * @return string
+ */
+ function getTitleField($prefix)
+ {
+ $lang_prefix = 'l'.$this->Application->GetVar('m_lang').'_';
+
+ $title_field = $this->Application->getUnitOption($prefix, 'TitleField');
+ $field_options = $this->Application->getUnitOption($prefix.'.'.$title_field, 'Fields');
+
+ $formatter_class = isset($field_options['formatter']) ? $field_options['formatter'] : '';
+ if ($formatter_class == 'kMultiLanguage' && !isset($field_options['master_field'])) {
+ $title_field = $lang_prefix.$title_field;
+ }
+ return $title_field;
+ }
}
?>
\ No newline at end of file
Index: branches/RC/kernel/admin_templates/reviews/reviews_tab.tpl
===================================================================
diff -u
--- branches/RC/kernel/admin_templates/reviews/reviews_tab.tpl (revision 0)
+++ branches/RC/kernel/admin_templates/reviews/reviews_tab.tpl (revision 10455)
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+ $Catalog.setItemCount('', '');
+ $Catalog.setCurrentCategory('', 0);
+
+
+
+
+ Grids[''].AddAlternativeGrid('', true);
+
+ Grids[''].SetDependantToolbarButtons( new Array('edit','delete','approve','decline','sep3','cut','copy','move_up','move_down','sep6'));
+ $Catalog.reflectPasteButton();
+ $Catalog.setViewMenu('');
+
+ Grids[''].EnableRadioMode();
+ Grids[''].DblClick = function() {return false};
+
+ #separator#
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: branches/RC/core/units/reviews/reviews_event_handler.php
===================================================================
diff -u -r9475 -r10455
--- branches/RC/core/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 9475)
+++ branches/RC/core/units/reviews/reviews_event_handler.php (.../reviews_event_handler.php) (revision 10455)
@@ -43,17 +43,92 @@
return $res;
}
+ $check_events = Array (
+ 'OnItemBuild', 'OnUpdate', /*'OnMassApprove', 'OnMassDecline'*/
+ );
+
+ $perm_category = $this->_getReviewCategory($event);
+
+ if (in_array($event->Name, $check_events)) {
+ // check for PRODUCT.VIEW permission
+
+ $perm_helper =& $this->Application->recallObject('PermissionsHelper');
+ /* @var $perm_helper kPermissionsHelper */
+
+ $perm_prefix = $this->getPermPrefix($event);
+
+ if ($perm_category === false) {
+ // no item id present -> allow
+ return true;
+ }
+
+ switch ($event->Name) {
+ case 'OnItemBuild':
+ $res = $this->Application->CheckPermission($perm_prefix . '.VIEW', 0, $perm_category);
+ break;
+
+ case 'OnUpdate':
+ case 'OnMassApprove':
+ case 'OnMassDecline':
+ $res = $this->Application->CheckPermission($perm_prefix . '.ADD', 0, $perm_category) ||
+ $this->Application->CheckPermission($perm_prefix . '.MODIFY', 0, $perm_category);
+ break;
+ }
+
+ if (!$res) {
+ $event->status = erPERM_FAIL;
+ }
+
+ return $res;
+
+ }
+
return parent::CheckPermission($event);
}
/**
+ * Returns primary category of review's main item
+ *
+ * @param kEvent $event
+ * @return int
+ */
+ function _getReviewCategory(&$event)
+ {
+ $items_info = $this->Application->GetVar($event->getPrefixSpecial());
+ list ($review_id, ) = each($items_info);
+
+ if (!$review_id) {
+ return false;
+ }
+
+ // 1. get main item resource id
+ $sql = 'SELECT ItemId
+ FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . '
+ WHERE ' . $this->Application->getUnitOption($event->Prefix, 'IDField') . ' = ' . $review_id;
+ $resource_id = $this->Conn->GetOne($sql);
+
+ // 2. set main item id (for permission checks)
+ $parent_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix');
+ $sql = 'SELECT ' . $this->Application->getUnitOption($parent_prefix, 'IDField') .'
+ FROM ' . $this->Application->getUnitOption($parent_prefix, 'TableName') .'
+ WHERE ResourceId = ' . $resource_id;
+ $this->Application->SetVar($parent_prefix . '_id', $this->Conn->GetOne($sql));
+
+ // 3. get main item category
+ $sql = 'SELECT CategoryId
+ FROM ' . $this->Application->getUnitOption('ci', 'TableName') .'
+ WHERE ItemResourceId = ' . $resource_id .' AND PrimaryCat = 1';
+ return $this->Conn->GetOne($sql);
+ }
+
+ /**
* Returns prefix for permissions
*
* @param kEvent $event
*/
function getPermPrefix(&$event)
{
- $main_prefix = $this->Application->GetTopmostPrefix($event->Prefix);
+ $main_prefix = $this->Application->GetTopmostPrefix($event->Prefix, true);
// this will return LINK for l, ARTICLE for n, TOPIC for bb, PRODUCT for p
$item_prefix = $this->Application->getUnitOption($main_prefix, 'PermItemPrefix');
@@ -100,6 +175,12 @@
break;*/
}
+ if (preg_match('/(.*)-rev/', $event->Prefix, $regs)) {
+ // "Structure & Data" -> "Reviews" (section in K4)
+ $item_type = $this->Application->getUnitOption($regs[1], 'ItemType');
+ $object->addFilter('itemtype_filter', '%1$s.ItemType = ' . $item_type);
+ }
+
if ($event->getEventParam('type') == 'current_user') {
// $object->removeFilter('active');
$object->addFilter('current_user', '%1$s.CreatedById = '.$this->Application->RecallVar('user_id'));
@@ -341,6 +422,53 @@
$parent_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix');
$event->SetRedirectParam('pass', 'm,'.$parent_prefix);
}
+
+ /**
+ * Makes left join to item's table, when in separate grid
+ *
+ * @param kEvent $event
+ */
+ function OnAfterConfigRead(&$event)
+ {
+ parent::OnAfterConfigRead($event);
+
+ if (preg_match('/(.*)-rev/', $event->Prefix, $regs)) {
+ // "Structure & Data" -> "Reviews" (section in K4)
+
+ // 1. add join to items table (for "Structure & Data" -> "Reviews" section)
+ $item_table = $this->Application->getUnitOption($regs[1], 'TableName');
+
+ $list_sqls = $this->Application->getUnitOption($event->Prefix, 'ListSQLs');
+ $list_sqls[''] .= ' LEFT JOIN '.$item_table.' item_table ON item_table.ResourceId = %1$s.ItemId';
+ $this->Application->setUnitOption($event->Prefix, 'ListSQLs', $list_sqls);
+
+ // 2. add calculated field
+ $calculated_fields = $this->Application->getUnitOption($event->Prefix, 'CalculatedFields');
+ $calculated_fields['']['CatalogItemName'] = 'item_table.' . $this->getTitleField($regs[1]);
+ $calculated_fields['']['CatalogItemId'] = 'item_table.' . $this->Application->getUnitOption($regs[1], 'IDField');
+ $this->Application->setUnitOption($event->Prefix, 'CalculatedFields', $calculated_fields);
+ }
+ }
+
+ /**
+ * Convert TitleField field of kMultiLanguage formatter used for it
+ *
+ * @param string $prefix
+ * @return string
+ */
+ function getTitleField($prefix)
+ {
+ $lang_prefix = 'l'.$this->Application->GetVar('m_lang').'_';
+
+ $title_field = $this->Application->getUnitOption($prefix, 'TitleField');
+ $field_options = $this->Application->getUnitOption($prefix.'.'.$title_field, 'Fields');
+
+ $formatter_class = isset($field_options['formatter']) ? $field_options['formatter'] : '';
+ if ($formatter_class == 'kMultiLanguage' && !isset($field_options['master_field'])) {
+ $title_field = $lang_prefix.$title_field;
+ }
+ return $title_field;
+ }
}
?>
\ No newline at end of file
Index: branches/RC/core/admin_templates/reviews/reviews_tab.tpl
===================================================================
diff -u
--- branches/RC/core/admin_templates/reviews/reviews_tab.tpl (revision 0)
+++ branches/RC/core/admin_templates/reviews/reviews_tab.tpl (revision 10455)
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+ $Catalog.setItemCount('', '');
+ $Catalog.setCurrentCategory('', 0);
+
+
+
+
+ Grids[''].AddAlternativeGrid('', true);
+
+ Grids[''].SetDependantToolbarButtons( new Array('edit','delete','approve','decline','sep3','cut','copy','move_up','move_down','sep6'));
+ $Catalog.reflectPasteButton();
+ $Catalog.setViewMenu('');
+
+ Grids[''].EnableRadioMode();
+ Grids[''].DblClick = function() {return false};
+
+ #separator#
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: branches/RC/core/kernel/db/db_event_handler.php
===================================================================
diff -u -r10417 -r10455
--- branches/RC/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 10417)
+++ branches/RC/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 10455)
@@ -128,8 +128,8 @@
'OnExportProgress' => Array('self' => 'view|advanced:export'),
- 'OnSetAutoRefreshInterval' => Array ('self' => 'view', 'subitem' => 'view'),
- 'OnAutoRefreshToggle' => Array ('self' => 'view', 'subitem' => 'view'),
+ 'OnSetAutoRefreshInterval' => Array ('self' => true, 'subitem' => true),
+ 'OnAutoRefreshToggle' => Array ('self' => true, 'subitem' => true),
// theese event do not harm, but just in case check them too :)
'OnCancelEdit' => Array('self' => true, 'subitem' => true),
Index: branches/RC/kernel/units/reviews/reviews_tag_processor.php
===================================================================
diff -u -r8929 -r10455
--- branches/RC/kernel/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 8929)
+++ branches/RC/kernel/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 10455)
@@ -10,19 +10,21 @@
*/
function ItemEditLink($params)
{
- $item_prefix = $params['item_prefix'];
- $id_field = $this->Application->getUnitOption($item_prefix,'IDField');
+ $object =& $this->getObject();
+ /* @var $object kDBList */
- $object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
- $item_id = $object->GetDBField($id_field);
+ $item_prefix = $this->Application->findModule('Name', $object->GetDBField('Module'), 'Var');
+ $edit_template = $this->Application->getUnitOption($item_prefix, 'AdminTemplatePath') . '/' . $this->Application->getUnitOption($item_prefix, 'AdminTemplatePrefix') . 'edit';
- return $this->Application->HREF($params['edit_template'],'', Array(
- 'm_opener' => 'd',
- $item_prefix.'_mode' => 't',
- $item_prefix.'_event' => 'OnEdit',
- $item_prefix.'_id' => $item_id,
- 'pass' => 'all,'.$item_prefix
- ), 'index.php');
+ $url_params = Array (
+ 'm_opener' => 'd',
+ $item_prefix.'_mode' => 't',
+ $item_prefix.'_event' => 'OnEdit',
+ $item_prefix.'_id' => $object->GetDBField('CatalogItemId'),
+ 'pass' => 'all,'.$item_prefix
+ );
+
+ return $this->Application->HREF($edit_template,'', $url_params);
}
/**
@@ -91,6 +93,45 @@
}
return parent::PageLink($params);
}
+
+ function InitCatalogTab($params)
+ {
+ $tab_params['mode'] = $this->Application->GetVar('tm'); // single/multi selection possible
+ $tab_params['special'] = $this->Application->GetVar('ts'); // use special for this tab
+ $tab_params['dependant'] = $this->Application->GetVar('td'); // is grid dependant on categories grid
+
+ // set default params (same as in catalog)
+ if ($tab_params['mode'] === false) $tab_params['mode'] = 'multi';
+ if ($tab_params['special'] === false) $tab_params['special'] = '';
+ if ($tab_params['dependant'] === false) $tab_params['dependant'] = 'yes';
+
+ // pass params to block with tab content
+ $params['name'] = $params['render_as'];
+ $params['prefix'] = trim($this->Prefix.'.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+
+ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+ $params['tab_mode'] = $tab_params['mode'];
+ $params['tab_dependant'] = $tab_params['dependant'];
+ $params['show_category'] = $tab_params['special'] == 'showall' ? 1 : 0; // this is advanced view -> show category name
+ $params['tab_name'] = $this->Application->GetVar('tab_name');
+
+ return $this->Application->ParseBlock($params, 1);
+ }
+
+ /**
+ * Returns reviews count for each item type (in "Reviews" section)
+ *
+ * @param Array $params
+ * @return string
+ */
+ function CatalogItemCount($params)
+ {
+ $object =& $this->GetList($params);
+ if (!$object->Counted) {
+ $object->CountRecs();
+ }
+ return $object->NoFilterCount != $object->RecordsCount ? $object->RecordsCount.' / '.$object->NoFilterCount : $object->RecordsCount;
+ }
}
Index: branches/RC/core/admin_templates/incs/form_blocks.tpl
===================================================================
diff -u -r10327 -r10455
--- branches/RC/core/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 10327)
+++ branches/RC/core/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 10455)
@@ -577,7 +577,7 @@
-
+
">
">
Index: branches/RC/core/units/reviews/reviews_tag_processor.php
===================================================================
diff -u -r8929 -r10455
--- branches/RC/core/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 8929)
+++ branches/RC/core/units/reviews/reviews_tag_processor.php (.../reviews_tag_processor.php) (revision 10455)
@@ -10,19 +10,21 @@
*/
function ItemEditLink($params)
{
- $item_prefix = $params['item_prefix'];
- $id_field = $this->Application->getUnitOption($item_prefix,'IDField');
+ $object =& $this->getObject();
+ /* @var $object kDBList */
- $object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
- $item_id = $object->GetDBField($id_field);
+ $item_prefix = $this->Application->findModule('Name', $object->GetDBField('Module'), 'Var');
+ $edit_template = $this->Application->getUnitOption($item_prefix, 'AdminTemplatePath') . '/' . $this->Application->getUnitOption($item_prefix, 'AdminTemplatePrefix') . 'edit';
- return $this->Application->HREF($params['edit_template'],'', Array(
- 'm_opener' => 'd',
- $item_prefix.'_mode' => 't',
- $item_prefix.'_event' => 'OnEdit',
- $item_prefix.'_id' => $item_id,
- 'pass' => 'all,'.$item_prefix
- ), 'index.php');
+ $url_params = Array (
+ 'm_opener' => 'd',
+ $item_prefix.'_mode' => 't',
+ $item_prefix.'_event' => 'OnEdit',
+ $item_prefix.'_id' => $object->GetDBField('CatalogItemId'),
+ 'pass' => 'all,'.$item_prefix
+ );
+
+ return $this->Application->HREF($edit_template,'', $url_params);
}
/**
@@ -91,6 +93,45 @@
}
return parent::PageLink($params);
}
+
+ function InitCatalogTab($params)
+ {
+ $tab_params['mode'] = $this->Application->GetVar('tm'); // single/multi selection possible
+ $tab_params['special'] = $this->Application->GetVar('ts'); // use special for this tab
+ $tab_params['dependant'] = $this->Application->GetVar('td'); // is grid dependant on categories grid
+
+ // set default params (same as in catalog)
+ if ($tab_params['mode'] === false) $tab_params['mode'] = 'multi';
+ if ($tab_params['special'] === false) $tab_params['special'] = '';
+ if ($tab_params['dependant'] === false) $tab_params['dependant'] = 'yes';
+
+ // pass params to block with tab content
+ $params['name'] = $params['render_as'];
+ $params['prefix'] = trim($this->Prefix.'.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+
+ $params['cat_prefix'] = trim('c.'.($tab_params['special'] ? $tab_params['special'] : $this->Special), '.');
+ $params['tab_mode'] = $tab_params['mode'];
+ $params['tab_dependant'] = $tab_params['dependant'];
+ $params['show_category'] = $tab_params['special'] == 'showall' ? 1 : 0; // this is advanced view -> show category name
+ $params['tab_name'] = $this->Application->GetVar('tab_name');
+
+ return $this->Application->ParseBlock($params, 1);
+ }
+
+ /**
+ * Returns reviews count for each item type (in "Reviews" section)
+ *
+ * @param Array $params
+ * @return string
+ */
+ function CatalogItemCount($params)
+ {
+ $object =& $this->GetList($params);
+ if (!$object->Counted) {
+ $object->CountRecs();
+ }
+ return $object->NoFilterCount != $object->RecordsCount ? $object->RecordsCount.' / '.$object->NoFilterCount : $object->RecordsCount;
+ }
}
Index: branches/RC/core/admin_templates/reviews/reviews.tpl
===================================================================
diff -u
--- branches/RC/core/admin_templates/reviews/reviews.tpl (revision 0)
+++ branches/RC/core/admin_templates/reviews/reviews.tpl (revision 10455)
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -rev_tab" cellpadding="0" cellspacing="0" width="100%" class="catalog-tab-unselected" onclick="$Catalog.switchTab('-rev');">
+ |
+
+
+ |
+
+ (-rev_item_count">?)
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: branches/RC/core/admin_templates/reviews/review_direct_edit.tpl
===================================================================
diff -u
--- branches/RC/core/admin_templates/reviews/review_direct_edit.tpl (revision 0)
+++ branches/RC/core/admin_templates/reviews/review_direct_edit.tpl (revision 10455)
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
Index: branches/RC/kernel/admin_templates/img/icons/icon46_reviews.gif
===================================================================
diff -u
Binary files differ
Index: branches/RC/kernel/admin_templates/reviews/review_direct_edit.tpl
===================================================================
diff -u
--- branches/RC/kernel/admin_templates/reviews/review_direct_edit.tpl (revision 0)
+++ branches/RC/kernel/admin_templates/reviews/review_direct_edit.tpl (revision 10455)
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+