GetDb(); $lastedited = time(); $error = ""; $template = ""; if (isset($_POST["template"])) $template = $_POST["template"]; $orig_template = ""; if (isset($_POST["orig_template"])) $orig_template = $_POST["orig_template"]; $content = ""; if (isset($_POST["content"])) $content = $_POST["content"]; $stylesheet = ""; if (isset($_POST["stylesheet"])) $stylesheet = $_POST["stylesheet"]; $encoding = ""; if (isset($_POST["encoding"])) $encoding = $_POST["encoding"]; $from = ""; if (isset($_REQUEST["from"])) $from = $_REQUEST["from"]; $cssid = ""; if (isset($_REQUEST["cssid"])) $cssid = $_REQUEST["cssid"]; $active = 1; if (!isset($_POST["active"]) && isset($_POST["edittemplate"])) $active = 0; $default = false; $ajax = false; if (isset($_POST['ajax']) and $_POST['ajax']) $ajax = true; $preview = false; /* there is no point for preview as there isnt any content to show tsw - 7.5.2007 if (isset($_POST["preview"])) $preview = true; */ $apply = false; if (isset($_POST["apply"])) $apply = true; $template_id = -1; if (isset($_POST["template_id"])) $template_id = $_POST["template_id"]; else if (isset($_GET["template_id"])) $template_id = $_GET["template_id"]; if (isset($_POST["cancel"])) { switch($from) { case 'content': redirect("listcontent.php".$urlext); break; case 'cssassoc': redirect('templatecss.php'.$urlext.'&id='.$cssid.'&type=template'); break; case 'module_TemplateManager': redirect('moduleinterface.php'.$urlext.'&module=TemplateManager'); break; default: redirect("listtemplates.php".$urlext); break; } } if ($preview || $apply) { $CMS_EXCLUDE_FROM_RECENT=1; } $userid = get_userid(); $access = check_permission($userid, 'Modify Templates'); $use_javasyntax = false; if (get_preference($userid, 'use_javasyntax') == "1") $use_javasyntax = true; $templateops = $gCms->GetTemplateOperations(); if ($access) { if (isset($_POST["edittemplate"]) && !$preview) { $validinfo = true; if ($template == "") { $error .= "
  • ".lang('nofieldgiven', array(lang('name')))."
  • "; $validinfo = false; } else if ($templateops->CheckExistingTemplateName($template, $template_id)) { $error .= "
  • ".lang('templateexists')."
  • "; $validinfo = false; } if ($content == "") { $error .= "
  • ".lang('nofieldgiven', array(lang('content')))."
  • "; $validinfo = false; } if( $validinfo ) { try { $parser = cmsms()->get_template_parser(); cms_utils::set_app_data('tmp_template',$content); try { $parser->fetch('template:appdata;tmp_template'); // do the magic. } catch ( SmartyCompilerException $e ) { $error .= "
  • ".$e->getMessage().'
  • '; $validinfo = false; } $contentBlocks = CMS_Content_Block::get_content_blocks(); if( !is_array($contentBlocks) || count($contentBlocks) == 0 ) { throw new CmsEditContentException('No content blocks defined in template'); } if( !isset($contentBlocks['content_en']) ) { throw new CmsEditContentException('No default content block {content} or {content block=\'content_en\'} defined in template'); } // if we got here, we're golden. } catch( CmsEditContentException $e ) { $error .= "
  • ".$e->getMessage().'
  • '; $validinfo = false; } } if ($validinfo) { $onetemplate = $templateops->LoadTemplateByID($template_id); $onetemplate->name = $template; $onetemplate->content = $content; $onetemplate->stylesheet = $stylesheet; $onetemplate->encoding = $encoding; $onetemplate->active = $active; Events::SendEvent('Core', 'EditTemplatePre', array('template' => &$onetemplate)); $result = $onetemplate->Save(); if ($result) { #Make sure the new name is used if this is an apply $orig_template = $template; Events::SendEvent('Core', 'EditTemplatePost', array('template' => &$onetemplate)); // put mention into the admin log audit($template_id, 'HTML-template: '.$onetemplate->name, 'Edited'); if (!$apply) { switch($from) { case 'content': redirect("listcontent.php".$urlext); break; case 'cssassoc': redirect('templatecss.php'.$urlext.'&id='.$cssid.'&type=template'); break; case 'module_TemplateManager': redirect('moduleinterface.php'.$urlext.'&module=TemplateManager'); break; default: redirect("listtemplates.php".$urlext); break; } } } else { $error .= "
  • ".lang('errorupdatingtemplate')."
  • "; } } if ($ajax) { header('Content-Type: text/xml'); print ''; print ''; if ($error) { print 'Error'; print '
    '; } else { print 'Success'; print '
    '; } print '
    '; exit; } } else if ($template_id != -1 && !$preview) { $onetemplate = $templateops->LoadTemplateByID($template_id); $template = $onetemplate->name; $orig_template = $onetemplate->name; $content = $onetemplate->content; $stylesheet = $onetemplate->stylesheet; $encoding = $onetemplate->encoding; $default = $onetemplate->default; $active = $onetemplate->active; $lastedited = $onetemplate->modified_date; } } if (strlen($template) > 0) { $CMS_ADMIN_SUBTITLE = $template; } $addlScriptSubmit = ''; $modobj = cms_utils::get_syntax_highlighter_module(); if( is_object($modobj) ) { $addlScriptSubmit = $modobj->SyntaxPageFormSubmit(); } $closestr = cms_html_entity_decode(lang('close')); $headtext = << //

    ' + e.details + '<\/p><\/div>'; $('[name=cancel]').fadeOut(); $('[name=cancel]').attr('value','{$closestr}'); $('[name=cancel]').fadeIn(); } else { htmlShow = '