Index: branches/RC/core/admin_templates/catalog/advanced_view.tpl =================================================================== diff -u -N -r11368 -r11395 --- branches/RC/core/admin_templates/catalog/advanced_view.tpl (.../advanced_view.tpl) (revision 11368) +++ branches/RC/core/admin_templates/catalog/advanced_view.tpl (.../advanced_view.tpl) (revision 11395) @@ -1,7 +1,7 @@ - + @@ -106,6 +106,8 @@ $Catalog.switchTab('.showall'); + + getFrame('head').$('#extra_toolbar').html(''); } ); Index: branches/RC/core/admin_templates/catalog/catalog_elements.tpl =================================================================== diff -u -N -r11368 -r11395 --- branches/RC/core/admin_templates/catalog/catalog_elements.tpl (.../catalog_elements.tpl) (revision 11368) +++ branches/RC/core/admin_templates/catalog/catalog_elements.tpl (.../catalog_elements.tpl) (revision 11395) @@ -2,6 +2,14 @@ checked/> + + + + + + + + @@ -72,4 +80,10 @@ + + + + + + \ No newline at end of file Index: branches/RC/core/units/sections/sections_config.php =================================================================== diff -u -N -r11186 -r11395 --- branches/RC/core/units/sections/sections_config.php (.../sections_config.php) (revision 11186) +++ branches/RC/core/units/sections/sections_config.php (.../sections_config.php) (revision 11395) @@ -40,15 +40,16 @@ 'priority' => 1, 'type' => stTREE, ), - 'in-portal:advanced_view' => Array ( + + /*'in-portal:advanced_view' => Array ( 'parent' => 'in-portal:site', 'icon' => 'advanced_view', 'label' => 'la_tab_AdvancedView', 'url' => Array ('t' => 'catalog/advanced_view', 'pass' => 'm'), 'permissions' => Array ('view'), 'priority' => 2, 'type' => stTREE, - ), + ),*/ 'in-portal:reviews' => Array ( 'parent' => 'in-portal:site', Index: branches/RC/core/admin_templates/img/list_arrow_desc_big.gif =================================================================== diff -u -N Binary files differ Index: branches/RC/core/admin_templates/img/list_arrow_no_big.gif =================================================================== diff -u -N Binary files differ Index: branches/RC/core/install/english.lang =================================================================== diff -u -N -r11368 -r11395 --- branches/RC/core/install/english.lang (.../english.lang) (revision 11368) +++ branches/RC/core/install/english.lang (.../english.lang) (revision 11395) @@ -1662,6 +1662,8 @@ U2Vzc2lvbiBMb2c= U2Vzc2lvbiBMb2c= R2VuZXJhbCBTZXR0aW5ncw== + U2hvdyBBbGw= + U2hvdyBTdHJ1Y3R1cmU= U3RydWN0dXJlICYgRGF0YQ== U2tpbnM= U3RhdGlzdGljcw== @@ -2180,6 +2182,7 @@ U2V0IFByaW1hcnkgTGFuZ3VhZ2U= U2hvdyBNZW51 Q2FuY2Vs + VG9vbHM= VXAgYSBDYXRlZ29yeQ== VmFsaWRhdGU= Vmlldw== Index: branches/RC/core/admin_templates/catalog/catalog.tpl =================================================================== diff -u -N -r11368 -r11395 --- branches/RC/core/admin_templates/catalog/catalog.tpl (.../catalog.tpl) (revision 11368) +++ branches/RC/core/admin_templates/catalog/catalog.tpl (.../catalog.tpl) (revision 11395) @@ -1,7 +1,7 @@ - + @@ -267,6 +267,8 @@ 'm:OnAfterWindowLoad', function() { $Catalog.Init(); + + getFrame('head').$('#extra_toolbar').html(''); } ); Index: branches/RC/core/admin_templates/catalog/item_selector/item_selector_advanced_view.tpl =================================================================== diff -u -N -r11368 -r11395 --- branches/RC/core/admin_templates/catalog/item_selector/item_selector_advanced_view.tpl (.../item_selector_advanced_view.tpl) (revision 11368) +++ branches/RC/core/admin_templates/catalog/item_selector/item_selector_advanced_view.tpl (.../item_selector_advanced_view.tpl) (revision 11395) @@ -1,7 +1,7 @@ - + Index: branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl =================================================================== diff -u -N -r11178 -r11395 --- branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl (.../custom_fields_edit.tpl) (revision 11178) +++ branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl (.../custom_fields_edit.tpl) (revision 11395) @@ -1,3 +1,4 @@ + Index: branches/RC/core/kernel/nparser/nparser.php =================================================================== diff -u -N -r11374 -r11395 --- branches/RC/core/kernel/nparser/nparser.php (.../nparser.php) (revision 11374) +++ branches/RC/core/kernel/nparser/nparser.php (.../nparser.php) (revision 11395) @@ -494,12 +494,6 @@ { static $used_ids = Array (); - static $edit_insides = null; - - if (!isset($edit_insides)) { - $edit_insides = $this->Application->GetVar('edit_insides'); - } - // $prepend = '[name: ' . $block_params['name'] . '] [params: ' . implode(', ', array_keys($block_params)) . ']'; $decorate = false; @@ -508,7 +502,7 @@ // content inside pair RenderElement tag // $prepend = 'CONTENT_OF_DESIGN: ' . $prepend; - if ($edit_insides && (EDITING_MODE == EDITING_MODE_CMS)) { + if (EDITING_MODE == EDITING_MODE_INSIDES) { $decorate = true; } } @@ -517,7 +511,7 @@ // capture tag (usually inside pair RenderElement) // $prepend = 'CAPTURE: ' . $prepend; - if ($edit_insides && (EDITING_MODE == EDITING_MODE_CMS)) { + if (EDITING_MODE == EDITING_MODE_INSIDES) { $decorate = true; } } @@ -533,7 +527,7 @@ // non-pair RenderElement // $prepend = 'SINGLE_RENDER_ELEMENT: ' . $prepend; - if ($edit_insides && (EDITING_MODE == EDITING_MODE_CMS)) { + if (EDITING_MODE == EDITING_MODE_INSIDES) { $decorate = true; } Index: branches/RC/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r11368 -r11395 --- branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 11368) +++ branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 11395) @@ -1283,6 +1283,63 @@ } /** + * Detects, that current sorting is not default + * + * @param Array $params + * @return bool + */ + function OrderChanged($params) + { + $list =& $this->GetList($params); + $user_sorting_start = $this->getUserSortIndex(); + + $sorting_configs = $this->Application->getUnitOption($this->Prefix, 'ConfigMapping', Array ()); + $list_sortings = $this->Application->getUnitOption($this->Prefix, 'ListSortings', Array ()); + $sorting_prefix = getArrayValue($list_sortings, $this->Special) ? $this->Special : ''; + + if (array_key_exists('DefaultSorting1Field', $sorting_configs)) { + $list_sortings[$sorting_prefix]['Sorting'] = Array ( + $this->Application->ConfigValue($sorting_configs['DefaultSorting1Field']) => $this->Application->ConfigValue($sorting_configs['DefaultSorting1Dir']), + $this->Application->ConfigValue($sorting_configs['DefaultSorting2Field']) => $this->Application->ConfigValue($sorting_configs['DefaultSorting2Dir']), + ); + } + + $sorting = getArrayValue($list_sortings, $sorting_prefix, 'Sorting'); + $sort_fields = is_array($sorting) ? array_keys($sorting) : Array (); + + for ($order_number = 0; $order_number < 2; $order_number++) { + // currect sorting in list + $sorting_pos = $user_sorting_start + $order_number; + $current_order_field = $list->GetOrderField($sorting_pos, true); + $current_order_direction = $list->GetOrderDirection($sorting_pos, true); + + if (!$current_order_field || !$current_order_direction) { + // no sorting defined for this sorting position + continue; + } + + // user sorting found + if (array_key_exists($order_number, $sort_fields)) { + // default sorting found + $default_order_field = $sort_fields[$order_number]; + $default_order_direction = $sorting[$default_order_field]; + + if ($current_order_field != $default_order_field || $current_order_direction != $default_order_direction) { + // #1. user sorting differs from default sorting -> changed + return true; + } + } + else { + // #2. user sorting + no default sorting -> changed + return true; + } + } + + // #3. user sorting match default or not defined -> not changed + return false; + } + + /** * Get's information of sorting field at "pos" position, * like sorting field name (type="field") or sorting direction (type="direction") * Index: branches/RC/core/kernel/db/dblist.php =================================================================== diff -u -N -r11107 -r11395 --- branches/RC/core/kernel/db/dblist.php (.../dblist.php) (revision 11107) +++ branches/RC/core/kernel/db/dblist.php (.../dblist.php) (revision 11395) @@ -677,19 +677,22 @@ return $ret; } - function GetOrderField($pos=NULL) + function GetOrderField($pos = NULL, $no_default = false) { - if(!(isset($this->OrderFields[$pos]) && $this->OrderFields[$pos]) ) - { + if ( !(isset($this->OrderFields[$pos]) && $this->OrderFields[$pos]) && !$no_default ) { $pos = 0; } + return isset($this->OrderFields[$pos][0]) ? $this->OrderFields[$pos][0] : ''; } - function GetOrderDirection($pos=NULL) + function GetOrderDirection($pos = NULL, $no_default = false) { - if( !getArrayValue($this->OrderFields, $pos) ) $pos = 0; - return getArrayValue($this->OrderFields, $pos, 1); + if ( !(isset($this->OrderFields[$pos]) && $this->OrderFields[$pos]) && !$no_default ) { + $pos = 0; + } + + return isset($this->OrderFields[$pos][1]) ? $this->OrderFields[$pos][1] : ''; } /** Index: branches/RC/core/kernel/constants.php =================================================================== diff -u -N -r11319 -r11395 --- branches/RC/core/kernel/constants.php (.../constants.php) (revision 11319) +++ branches/RC/core/kernel/constants.php (.../constants.php) (revision 11395) @@ -79,9 +79,10 @@ define('VALUE_LIST_SEPARATOR', '||'); // template editing modes - define('EDITING_MODE_CMS', 1); - define('EDITING_MODE_LAYOUT', 2); - define('EDITING_MODE_DESIGN', 3); + define('EDITING_MODE_CMS', 1); // content block only + define('EDITING_MODE_LAYOUT', 2); // content blocks, marked with "layout_view" parameter + define('EDITING_MODE_DESIGN', 3); // blocks, used as designs + define('EDITING_MODE_INSIDES', 4); // all other stuff, that could be editable // agent types define('AGENT_TYPE_USER', 1);