Exemplo n.º 1
0
 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');
 }
Exemplo n.º 2
0
 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');
 }
Exemplo n.º 3
0
 /**
  * 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;
 }