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