Index: trunk/kernel/units/admin/admin_tag_processor.php =================================================================== diff -u -N --- trunk/kernel/units/admin/admin_tag_processor.php (revision 6583) +++ trunk/kernel/units/admin/admin_tag_processor.php (revision 0) @@ -1,492 +0,0 @@ -SelectParam($params, 'name,const'); - safeDefine($name, $params['value']); - } - - /** - * Allows to execute js script after the page is fully loaded - * - * @param Array $params - * @return string - */ - function AfterScript($params) - { - $after_script = $this->Application->GetVar('after_script'); - if ($after_script) { - return ''; - } - return ''; - } - - /** - * Returns section title with #section# keyword replaced with current section - * - * @param Array $params - * @return string - */ - function GetSectionTitle($params) - { - $params['name'] = replaceModuleSection($params['phrase']); - return $this->Application->ProcessParsedTag('m', 'Phrase', $params); - } - - /** - * Returns section icon with #section# keyword replaced with current section - * - * @param Array $params - * @return string - */ - function GetSectionIcon($params) - { - return replaceModuleSection($params['icon']); - } - - /** - * Allows to detect if current template is one of listed ones - * - * @param Array $params - * @return int - */ - function TemplateMatches($params) - { - $templates = explode(',' ,$params['templates']); - $t = $this->Application->GetVar('t'); - return in_array($t, $templates) ? 1 : 0; - } - - /** - * Save return script in cases, when old sections are opened from new sections - * - * @param Array $params - */ - function SaveReturnScript($params) - { - // admin/save_redirect.php?do= - $url = str_replace($this->Application->BaseURL(), '', $this->Application->ProcessParsedTag('m', 'Link', $params) ); - $url = explode('?', $url, 2); - $url = 'save_redirect.php?'.$url[1].'&do='.$url[0]; - - $this->Application->StoreVar('ReturnScript', $url); - } - - /** - * Redirects to correct next import step template based on import script data - * - * @param Array $params - */ - function ImportRedirect($params) - { - $import_id = $this->Application->GetVar('import_id'); - if ($import_id) { - // redirect forward to step3 (import parameters coosing) - $this->Application->StoreVar('ImportScriptID', $import_id); - - $sql = 'SELECT * - FROM '.TABLE_PREFIX.'ImportScripts - WHERE is_id = '.$import_id; - - $db =& $this->Application->GetADODBConnection(); - $is_params = $db->GetRow($sql); - - if ($is_params['is_type'] == 'db') { - $this->Application->Redirect('', null, '', 'import/step3.php'); - } - elseif ($is_params['is_type'] == 'csv') { - $module = strtolower($is_params['is_Module']); - $template = $module.'/import'; - $module_info = $this->Application->findModule('Name', $module); - - $item_prefix = $module_info['Var']; - $pass_params = Array('m_opener' => 'd', $item_prefix.'.import_id' => 0, $item_prefix.'.import_event' => 'OnNew', 'pass' => 'm,'.$item_prefix.'.import', 'm_cat_id' => $module_info['RootCat']); - - $this->Application->Redirect($template, $pass_params); - } - } - else { - // redirect back to step2 (import type choosing) - $this->Application->Redirect('', null, '', 'import/step2.php'); - } - } - - /** - * Returns version of module by name - * - * @param Array $params - * @return string - */ - function ModuleVersion($params) - { - return $this->Application->findModule('Name', $params['module'], 'Version'); - } - - /** - * Used in table form section drawing - * - * @param Array $params - * @return string - */ - function DrawTree($params) - { - static $deep_level = 0; - - // when processings, then sort children by priority (key of children array) - $ret = ''; - $section_name = $params['section_name']; - $params['name'] = $this->SelectParam($params, 'name,render_as,block'); - $sections_helper =& $this->Application->recallObject('SectionsHelper'); - $section_data =& $sections_helper->getSectionData($section_name); - - $params['children_count'] = isset($section_data['children']) ? count($section_data['children']) : 0; - $params['deep_level'] = $deep_level++; - $template = $section_data['url']['t']; - unset($section_data['url']['t']); - $section_data['section_url'] = $this->Application->HREF($template, '', $section_data['url']); - $ret .= $this->Application->ParseBlock( array_merge_recursive2($params, $section_data) ); - if (!isset($section_data['children'])) { - return $ret; - } - - ksort($section_data['children'], SORT_NUMERIC); - foreach ($section_data['children'] as $section_name) { - $params['section_name'] = $section_name; - $ret .= $this->DrawTree($params); - $deep_level--; - } - - - return $ret; - } - - - function PrintSection($params) - { - $section_name = $params['section_name']; - if ($section_name == '#session#') { - $section_name = $this->Application->RecallVar('section'); - } - - $sections_helper =& $this->Application->recallObject('SectionsHelper'); - $section_data =& $sections_helper->getSectionData($section_name); - - $params['name'] = $this->SelectParam($params, 'name,render_as,block'); - $params['section_name'] = $section_name; - - $template = $section_data['url']['t']; - unset($section_data['url']['t']); - - $section_data['section_url'] = $this->Application->HREF($template, '', $section_data['url']); - $ret = $this->Application->ParseBlock( array_merge_recursive2($params, $section_data) ); - - return $ret; - } - - /** - * Used in XML drawing for tree - * - * @param Array $params - * @return string - */ - function PrintSections($params) - { - // when processings, then sort children by priority (key of children array) - $ret = ''; - $section_name = $params['section_name']; - if ($section_name == '#session#') { - $section_name = $this->Application->RecallVar('section'); - } - - $sections_helper =& $this->Application->recallObject('SectionsHelper'); - $section_data =& $sections_helper->getSectionData($section_name); - - $params['name'] = $this->SelectParam($params, 'name,render_as,block'); - if (!isset($section_data['children'])) { - return ''; - } - - ksort($section_data['children'], SORT_NUMERIC); - foreach ($section_data['children'] as $section_name) { - $params['section_name'] = $section_name; - $section_data =& $sections_helper->getSectionData($section_name); - - if (isset($section_data['tabs_only']) && $section_data['tabs_only']) { - $perm_status = false; - $folder_label = $section_data['label']; - ksort($section_data['children'], SORT_NUMERIC); - foreach ($section_data['children'] as $priority => $section_name) { - $perm_status = $this->Application->CheckPermission($section_name.'.view', 1); - if ($perm_status) { - break; - } - } - if (!$perm_status) { - // no permission for all tabs -> don't display tree node either - continue; - } - - $params['section_name'] = $section_name; - $section_data =& $sections_helper->getSectionData($section_name); - $section_data['label'] = $folder_label; // use folder label in tree - $section_data['is_tab'] = 1; - } - elseif (!$this->Application->CheckPermission($section_name.'.view', 1)) { - continue; - } - - $params['children_count'] = isset($section_data['children']) ? count($section_data['children']) : 0; - - $template = $section_data['url']['t']; - unset($section_data['url']['t']); - - $section_data['section_url'] = $this->Application->HREF($template, '', $section_data['url']); - - $late_load = getArrayValue($section_data, 'late_load'); - if ($late_load) { - $t = $late_load['t']; - unset($late_load['t']); - $section_data['late_load'] = $this->Application->HREF($t, '', $late_load); - $params['children_count'] = 99; - } - else { - $section_data['late_load'] = ''; - } - - $ret .= $this->Application->ParseBlock( array_merge_recursive2($params, $section_data) ); - $params['section_name'] = $section_name; - } - - return preg_replace("/\r\n|\n/", '', $ret); - } - - function ListSectionPermissions($params) - { - $section_name = isset($params['section_name']) ? $params['section_name'] : $this->Application->GetVar('section_name'); - $sections_helper =& $this->Application->recallObject('SectionsHelper'); - $section_data =& $sections_helper->getSectionData($section_name); - - $block_params = array_merge_recursive2($section_data, Array('name' => $params['render_as'], 'section_name' => $section_name)); - - $ret = ''; - foreach ($section_data['permissions'] as $perm_name) { - if (preg_match('/^advanced:(.*)/', $perm_name) != $params['type']) continue; - $block_params['perm_name'] = $perm_name; - $ret .= $this->Application->ParseBlock($block_params); - } - return $ret; - } - - function ModuleInclude($params) - { - foreach ($params as $param_name => $param_value) { - $params[$param_name] = replaceModuleSection($param_value); - } - - return $this->Application->ProcessParsedTag('m', 'ModuleInclude', $params); - } - - function TodayDate($params) - { - return date($params['format']); - } - - function TreeEditWarrning($params) - { - $ret = $this->Application->Phrase($params['label']); - $ret = str_replace(Array('<', '>', 'br/', 'br /', "\n", "\r"), Array('<', '>', 'br', 'br', '', ''), $ret); - if (getArrayValue($params, 'escape')) { - $ret = addslashes($ret); - } - $ret = str_replace('
', '\n', $ret); - return $ret; - } - - /** - * Draws section tabs using block name passed - * - * @param Array $params - */ - function ListTabs($params) - { - $sections_helper =& $this->Application->recallObject('SectionsHelper'); - $section_data =& $sections_helper->getSectionData($params['section_name']); - - $ret = ''; - $block_params = Array('name' => $params['render_as']); - ksort($section_data['children'], SORT_NUMERIC); - foreach ($section_data['children'] as $priority => $section_name) { - if (!$this->Application->CheckPermission($section_name.'.view', 1)) continue; - - $tab_data =& $sections_helper->getSectionData($section_name); - $block_params['t'] = $tab_data['url']['t']; - $block_params['title'] = $tab_data['label']; - $block_params['main_prefix'] = $section_data['SectionPrefix']; - $ret .= $this->Application->ParseBlock($block_params); - } - - - return $ret; - } - - /** - * Returns list of module item tabs that have view permission in current category - * - * @param Array $params - */ - function ListCatalogTabs($params) - { - $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) || !$this->Application->getUnitOption($prefix, 'CatalogItem')) continue; - if ($prefix == 'm' && $replace_main) $prefix = 'c'; - $label = $this->Application->getUnitOption($prefix, $params['title_property']); - $block_params['title'] = $label; - $block_params['prefix'] = $prefix; - $ret .= $this->Application->ParseBlock($block_params); - } - return $ret; - } - - function FCKEditor($params) - { - include_once(FULL_PATH.'/admin/editor/cmseditor/fckeditor.php'); - $oFCKeditor = new FCKeditor($params['name']); - $oFCKeditor->BasePath = BASE_PATH.'/admin/editor/cmseditor/'; - $oFCKeditor->Width = $params['width'] ; - $oFCKeditor->Height = $params['height'] ; - $oFCKeditor->ToolbarSet = 'Advanced' ; - $oFCKeditor->Value = '' ; - $oFCKeditor->Config = Array( - //'UserFilesPath' => $pathtoroot.'kernel/user_files', - 'ProjectPath' => BASE_PATH.'/', - 'CustomConfigurationsPath' => $this->Application->BaseURL().'admin/editor/inp_fckconfig.js', - 'EditorAreaCSS' => $this->Application->BaseURL().'/themes/inportal_site/inc/inportal.css', //GetThemeCSS(), - //'StylesXmlPath' => '../../inp_styles.xml', -// 'Debug' => 1, - 'Admin' => 1, - ); - 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); - } - - function TimeFrame($params) - { - $w = adodb_date('w'); - $m = adodb_date('m'); - $y = adodb_date('Y'); - //FirstDayOfWeek is 0 for Sunday and 1 for Monday - $fdow = $this->Application->ConfigValue('FirstDayOfWeek'); - if ($fdow && $w == 0) $w = 7; - $today_start = adodb_mktime(0,0,0,adodb_date('m'),adodb_date('d'),$y); - $first_day_of_this_week = $today_start - ($w - $fdow)*86400; - $first_day_of_this_month = adodb_mktime(0,0,0,$m,1,$y); - $this_quater = ceil($m/3); - $this_quater_start = adodb_mktime(0,0,0,$this_quater*3-2,1,$y); - - switch ($params['type']) { - case 'last_week_start': - $timestamp = $first_day_of_this_week - 86400*7; - break; - case 'last_week_end': - $timestamp = $first_day_of_this_week - 1; - break; - - case 'last_month_start': - $timestamp = $m == 1 ? adodb_mktime(0,0,0,12,1,$y-1) : adodb_mktime(0,0,0,$m-1,1,$y); - break; - case 'last_month_end': - $timestamp = $first_day_of_this_month = adodb_mktime(0,0,0,$m,1,$y) - 1; - break; - - case 'last_quater_start': - $timestamp = $this_quater == 1 ? adodb_mktime(0,0,0,10,1,$y-1) : adodb_mktime(0,0,0,($this_quater-1)*3-2,1,$y); - break; - case 'last_quater_end': - $timestamp = $this_quater_start - 1; - break; - - case 'last_6_months_start': - $timestamp = $m <= 6 ? adodb_mktime(0,0,0,$m+6,1,$y-1) : adodb_mktime(0,0,0,$m-6,1,$y); - break; - - case 'last_year_start': - $timestamp = adodb_mktime(0,0,0,1,1,$y-1); - break; - case 'last_year_end': - $timestamp = adodb_mktime(23,59,59,12,31,$y-1); - break; - } - - - if (isset($params['format'])) { - $format = $params['format']; - if(preg_match("/_regional_(.*)/", $format, $regs)) - { - $lang =& $this->Application->recallObject('lang.current'); - $format = $lang->GetDBField($regs[1]); - } - return adodb_date($format, $timestamp); - } - - return $timestamp; - - } - } - -?> \ No newline at end of file