Index: trunk/core/units/general/cat_tag_processor.php =================================================================== diff -u -r2893 -r3543 --- trunk/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 2893) +++ trunk/core/units/general/cat_tag_processor.php (.../cat_tag_processor.php) (revision 3543) @@ -23,6 +23,58 @@ return isset($icons[$value]) ? $icons[$value] : $icons['default']; } + + /** + * Returns path where exported category items should be saved + * + * @param Array $params + */ + function ExportPath($params) + { + $ret = EXPORT_PATH.'/'; + + if( getArrayValue($params, 'as_url') ) + { + $ret = str_replace( FULL_PATH.'/', $this->Application->BaseURL(), $ret); + } + + $export_options = unserialize($this->Application->RecallVar($this->getPrefixSpecial().'_options')); + $ret .= $export_options['ExportFilename'].'.'.($export_options['ExportFormat'] == 1 ? 'csv' : 'xml'); + + return $ret; + } + + function CategoryPath($params) + { + if (!isset($params['cat_id'])) + { + $params['cat_id'] = $this->Application->RecallVar($params['session_var'], 0); + } + + $block_params['separator'] = $params['separator']; + + if($params['cat_id'] == 0) + { + $block_params['name'] = $params['rootcatblock']; + return $this->Application->ParseBlock($block_params); + } + else + { + $cat_object =& $this->Application->recallObject('c', 'c_List'); + $sql = 'SELECT CategoryId, ParentId, Name FROM '.$cat_object->TableName.' WHERE CategoryId = '.$params['cat_id']; + $res = $this->Conn->GetRow($sql); + + $block_params['name'] = $params['block']; + $block_params['cat_name'] = $res['Name']; + $block_params['cat_id'] = $res['CategoryId']; + + $next_params['separator'] = $params['separator']; + $next_params['rootcatblock'] = $params['rootcatblock']; + $next_params['block'] = $params['block']; + $next_params['cat_id'] = $res['ParentId']; + return $this->CategoryPath($next_params).$this->Application->ParseBlock($block_params); + } + } } ?> \ No newline at end of file