Index: trunk/core/units/admin/admin_tag_processor.php =================================================================== diff -u -N -r5431 -r6093 --- trunk/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 5431) +++ trunk/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 6093) @@ -340,11 +340,13 @@ { $ret = ''; $special = isset($params['special']) ? $params['special'] : ''; + $replace_main = isset($params['replace_m']) && $params['replace_m']; $skip_prefixes = isset($params['skip_prefixes']) ? explode(',', $params['skip_prefixes']) : Array(); $block_params = Array('name' => $params['render_as']); foreach ($this->Application->ModuleInfo as $module_name => $module_info) { $prefix = $module_info['Var']; if (in_array($prefix, $skip_prefixes)) continue; + if ($prefix == 'm' && $replace_main) $prefix = 'c'; $label = $this->Application->getUnitOption($prefix, $params['title_property']); $block_params['title'] = $label; $block_params['prefix'] = $prefix; @@ -374,6 +376,53 @@ return $oFCKeditor->CreateHtml(); } + + /** + * Allows to construct link for opening any type of catalog item selector + * + * @param Array $params + * @return string + */ + function SelectorLink($params) + { + $mode = 'catalog'; + if (isset($params['mode'])) { // {catalog, advanced_view} + $mode = $params['mode']; + unset($params['mode']); + } + + $params['t'] = 'item_selector/item_selector_'.$mode; + + $default_params = Array('no_amp' => 1, 'pass' => 'all,'.$params['prefix']); + unset($params['prefix']); + + $pass_through = Array(); + if (isset($params['tabs_dependant'])) { // {yes, no} + $pass_through['td'] = $params['tabs_dependant']; + unset($params['tabs_dependant']); + } + + if (isset($params['selection_mode'])) { // {single, multi} + $pass_through['tm'] = $params['selection_mode']; + unset($params['selection_mode']); + } + + if (isset($params['tab_prefixes'])) { // {all, none, Application->ProcessParsedTag('m', 't', $params); + } } ?> \ No newline at end of file