public function execute() { $template_processor = SJB_System::getTemplateProcessor(); $template_editor = new SJB_TemplateEditor(); $template_processor->assign('ERROR', "OK"); $module_name = SJB_Request::getVar('module_name', ''); $template_name = SJB_Request::getVar('template_name', ''); $template_processor->assign('module_name', $template_editor->doesModuleExists($module_name) ? $module_name : ""); $template_processor->assign('template_name', $template_editor->doesModuleTemplateExists($module_name, $template_name) ? $template_name : ""); if (!$template_editor->doesModuleExists($module_name)) { $template_processor->assign('ERROR', "MODULE_DOES_NOT_EXIST"); } else { if (!$template_editor->copyDefaultModuleThemeIfNotExists($module_name)) { $template_processor->assign('ERROR', "CANNOT_COPY_THEME"); } $modules = $template_editor->getModuleWithTemplatesList(); $template_processor->assign('display_name', $modules[$module_name]['display_name']); $template_processor->assign('module_name', $module_name); $template_processor->assign('template_list', $template_editor->getTemplateList($module_name, SJB_Settings::getValue('TEMPLATE_USER_THEME', 'default'), true)); } $template_processor->display('template_list.tpl'); }
public function execute() { $template_processor = SJB_System::getTemplateprocessor(); $template_name = isset($_REQUEST['template_name']) ? $_REQUEST['template_name'] : ""; $template_editor = new SJB_TemplateEditor(); $template_processor->assign('ERROR', ''); $theme = SJB_Settings::getValue('TEMPLATE_USER_THEME', 'default'); if (isset($_REQUEST['action'])) { if ($_REQUEST['action'] == 'create_page_template') { if (!isset($_REQUEST['new_template_name'])) { $_REQUEST['new_template_name'] = ''; } $_REQUEST['new_template_name'] = preg_replace("~.tpl\$~iu", "", $_REQUEST['new_template_name']); if (empty($_REQUEST['new_template_name'])) { $template_processor->assign('ERROR', 'EMPTY_TEMPLATE_NAME'); } else { if (preg_match("~\\W~", $_REQUEST['new_template_name'])) { $template_processor->assign('ERROR', 'WRONG_FILENAME'); } else { if (true !== ($result = $template_editor->saveTemplate($_REQUEST['new_template_name'] . ".tpl", SJB_System::getSystemSettings('STARTUP_MODULE'), $theme, "<html>\n<head>\n<title>{\$TITLE}</title>\n</head>\n<body>\n{\$MAIN_CONTENT}\n</body>\n</html>"))) { $template_processor->assign('ERROR', 'CANNOT_SAVE_FILE'); } else { SJB_HelperFunctions::redirect("?"); } } } } if ($_REQUEST['action'] == 'delete_template') { $template_editor->deleteTemplate($_REQUEST['del_template_name'], SJB_System::getSystemSettings('STARTUP_MODULE'), $theme); SJB_HelperFunctions::redirect("?"); } } $template_processor->assign('new_template_name', isset($_REQUEST['new_template_name']) ? $_REQUEST['new_template_name'] : ""); $template_processor->assign('template_name', $template_editor->doesModuleTemplateExists(SJB_System::getSystemSettings('STARTUP_MODULE'), $template_name) ? $template_name : ""); $template_processor->assign('STARTUP_MODULE', SJB_System::getSystemSettings('STARTUP_MODULE')); $template_processor->assign('template_list', $template_editor->getTemplateList(SJB_System::getSystemSettings('STARTUP_MODULE'), $theme)); $template_processor->display('page_template_list.tpl'); }
/** * Return template content * * @param string $tpl_name Template name * @return text Template content */ function fetchTemplateSource($tpl_name) { $fileName = $this->getTplName($tpl_name); if (empty($fileName)) { return ''; } $content = file_get_contents($fileName); /** * Check for 'highlight_templates' setting. If it ON, and that 'admin' user - mark templates on page */ $highlight = SJB_Settings::getSettingByName('highlight_templates'); if (SJB_System::getSystemSettings('SITE_URL') == SJB_System::getSystemSettings('USER_SITE_URL') && $highlight && SJB_Request::getVar('admin_mode', false, 'COOKIE')) { $admin_site_url = SJB_System::getSystemSettings('ADMIN_SITE_URL'); $module = $this->getModuleName(); $edit_url = $admin_site_url . "/edit-templates/?module_name={$module}&template_name=" . basename($fileName) . "&simple_view=1"; $images = SJB_System::getSystemSettings('USER_SITE_URL') . "/templates/_system/main/images"; // get list of templates availabled to user edit $current_user_theme = SJB_Settings::getValue('TEMPLATE_USER_THEME', 'default'); $available_templates = SJB_TemplateEditor::getTemplateList($this->module_name, $current_user_theme); // get list of container templates $containerTemplates = array('main.tpl', 'index.tpl', 'empty.tpl', 'blank.tpl'); if (self::$additionalContainerTemplate !== null) { $containerTemplates[] = self::$additionalContainerTemplate; } // do not wrap container templates in div $tplFileName = basename($tpl_name); if (in_array($tplFileName, $available_templates)) { if (!in_array($tplFileName, $containerTemplates)) { $content = "<div class='templateHighlight' title='{$module}/{$tplFileName}'>" . $content; $content = $content . "\n\t\t\t\t\t\t\t<div class=\"highlight-clr\"><br/></div><div class=\"inner_div\"><a class=\"editTemplateLink\" href=\"{$edit_url}\" title=\"{$module}/{$tplFileName}\" target=\"_blank\">[[Edit]]</a></div>\n\t\t\t\t\t\t</div>"; } else { if (!in_array($tplFileName, array('empty.tpl', 'blank.tpl'))) { // for main.tpl and index.tpl place edit marker div after html-document // properly displayed in FF3.5, IE 6.0.2900.2180, Safary3.1.2(for win), Opera 9.50 $content = $content . "<div class=\"highlight-clr\"></div><div class=\"inner_div\"><a class=\"editTemplateLink\" href=\"{$edit_url}\" title=\"{$module}/{$tplFileName}\" target=\"_blank\">[[Edit]]</a></div>"; } } } return $content; } return $content; }