Index: kernel/db/cat_event_handler.php =================================================================== --- kernel/db/cat_event_handler.php (revision 14059) +++ kernel/db/cat_event_handler.php (working copy) @@ -2608,21 +2608,40 @@ $file_helper->createItemFiles($event->Prefix, true); // create image fields $file_helper->createItemFiles($event->Prefix, false); // create file fields - // add EditorsPick to ForcedSorting if needed - $config_mapping = $this->Application->getUnitOption($event->Prefix, 'ConfigMapping'); - if (array_key_exists('ForceEditorPick', $config_mapping) && $this->Application->ConfigValue($config_mapping['ForceEditorPick'])) { + if ( $this->Application->isAdmin ) { + // remove Priority field from ForcedSorting for Admin $list_sortings = $this->Application->getUnitOption($event->Prefix, 'ListSortings', Array ()); - - $new_forced_sorting = Array ('EditorsPick' => 'DESC'); - - if (array_key_exists('ForcedSorting', $list_sortings[''])) { - foreach ($list_sortings['']['ForcedSorting'] as $sort_field => $sort_order) { - $new_forced_sorting[$sort_field] = $sort_order; + if ( array_key_exists('ForcedSorting', $list_sortings['']) && $list_sortings['']['ForcedSorting']['Priority'] ) { + unset($list_sortings['']['ForcedSorting']['Priority']); + } + $this->Application->setUnitOption($event->Prefix, 'ListSortings', $list_sortings); + + // don't sort by Front-End sorting fields + $config_mapping = $this->Application->getUnitOption($event->Prefix, 'ConfigMapping'); + $remove_keys = Array ('DefaultSorting1Field', 'DefaultSorting2Field', 'DefaultSorting1Dir', 'DefaultSorting2Dir'); + foreach ($remove_keys as $remove_key) { + unset($config_mapping[$remove_key]); + } + $this->Application->setUnitOption($event->Prefix, 'ConfigMapping', $config_mapping); + } + else { + // add EditorsPick to ForcedSorting if needed on Front-End + $config_mapping = $this->Application->getUnitOption($event->Prefix, 'ConfigMapping'); + $force_picks = array_key_exists('ForceEditorPick', $config_mapping) && $this->Application->ConfigValue($config_mapping['ForceEditorPick']); + + if ( $force_picks ) { + $list_sortings = $this->Application->getUnitOption($event->Prefix, 'ListSortings', Array ()); + $new_forced_sorting = Array ('EditorsPick' => 'DESC'); + + if (array_key_exists('ForcedSorting', $list_sortings[''])) { + foreach ($list_sortings['']['ForcedSorting'] as $sort_field => $sort_order) { + $new_forced_sorting[$sort_field] = $sort_order; + } } + $list_sortings['']['ForcedSorting'] = $new_forced_sorting; + + $this->Application->setUnitOption($event->Prefix, 'ListSortings', $list_sortings); } - $list_sortings['']['ForcedSorting'] = $new_forced_sorting; - - $this->Application->setUnitOption($event->Prefix, 'ListSortings', $list_sortings); } // add grids for advanced view (with primary category column)