[ Index ]
 

Code source de CMS made simple 1.0.5

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/admin/ -> edittemplate.php (source)

   1  <?php
   2  #CMS - CMS Made Simple
   3  #(c)2004 by Ted Kulp (wishy@users.sf.net)
   4  #This project's homepage is: http://cmsmadesimple.sf.net
   5  #
   6  #This program is free software; you can redistribute it and/or modify
   7  #it under the terms of the GNU General Public License as published by
   8  #the Free Software Foundation; either version 2 of the License, or
   9  #(at your option) any later version.
  10  #
  11  #This program is distributed in the hope that it will be useful,
  12  #but WITHOUT ANY WARRANTY; without even the implied warranty of
  13  #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14  #GNU General Public License for more details.
  15  #You should have received a copy of the GNU General Public License
  16  #along with this program; if not, write to the Free Software
  17  #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18  #
  19  #$Id: edittemplate.php 3646 2006-12-27 21:29:49Z dittmann $
  20  
  21  $CMS_ADMIN_PAGE=1;
  22  
  23  require_once ("../include.php");
  24  require_once ("../lib/classes/class.template.inc.php");
  25  
  26  check_login();
  27  global $gCms;
  28  $db =& $gCms->GetDb();
  29  
  30  $error = "";
  31  
  32  $template = "";
  33  if (isset($_POST["template"])) $template = $_POST["template"];
  34  
  35  $orig_template = "";
  36  if (isset($_POST["orig_template"])) $orig_template = $_POST["orig_template"];
  37  
  38  $content = "";
  39  if (isset($_POST["content"])) $content = $_POST["content"];
  40  
  41  $stylesheet = "";
  42  if (isset($_POST["stylesheet"])) $stylesheet = $_POST["stylesheet"];
  43  
  44  $encoding = "";
  45  if (isset($_POST["encoding"])) $encoding = $_POST["encoding"];
  46  
  47  $from = "";
  48  if (isset($_REQUEST["from"])) $from = $_REQUEST["from"];
  49  
  50  $cssid = "";
  51  if (isset($_REQUEST["cssid"])) $cssid = $_REQUEST["cssid"];
  52  
  53  $active = 1;
  54  if (!isset($_POST["active"]) && isset($_POST["edittemplate"])) $active = 0;
  55  
  56  $preview = false;
  57  if (isset($_POST["preview"])) $preview = true;
  58  
  59  $apply = false;
  60  if (isset($_POST["apply"])) $apply = true;
  61  
  62  $template_id = -1;
  63  if (isset($_POST["template_id"])) $template_id = $_POST["template_id"];
  64  else if (isset($_GET["template_id"])) $template_id = $_GET["template_id"];
  65  
  66  if (isset($_POST["cancel"])) {
  67      if ($from == 'content')
  68          redirect("listcontent.php");
  69      else if ($from == 'cssassoc')
  70          redirect('templatecss.php?id='.$cssid.'&type=template');
  71      else
  72          redirect("listtemplates.php");
  73      return;
  74  }
  75  
  76  if ($preview || $apply)
  77      {
  78          $CMS_EXCLUDE_FROM_RECENT=1;
  79      }
  80  
  81  $userid = get_userid();
  82  $access = check_permission($userid, 'Modify Templates');
  83  
  84  $use_javasyntax = false;
  85  if (get_preference($userid, 'use_javasyntax') == "1") $use_javasyntax = true;
  86  
  87  global $gCms;
  88  $templateops =& $gCms->GetTemplateOperations();
  89  
  90  if ($access)
  91  {
  92      if (isset($_POST["edittemplate"]) && !$preview)
  93      {
  94          $validinfo = true;
  95          if ($template == "")
  96          {
  97              $error .= "<li>".lang('nofieldgiven', array(lang('name')))."</li>";
  98              $validinfo = false;
  99          }
 100          else if ($template != $orig_template)
 101          {
 102              $query = "SELECT template_id from ".cms_db_prefix()."templates WHERE template_name = ?";
 103              $row = &$db->GetRow($query, array($template));
 104  
 105              if ($row)
 106              {
 107                  $error .= "<li>".lang('templateexists')."</li>";
 108                  $validinfo = false;
 109              }
 110          }
 111          if ($content == "")
 112          {
 113              $error .= "<li>".lang('nofieldgiven', array(lang('content')))."</li>";
 114              $validinfo = false;
 115          }
 116  
 117          if ($validinfo)
 118          {
 119              $onetemplate = $templateops->LoadTemplateByID($template_id);
 120              $onetemplate->name = $template;
 121              $onetemplate->content = $content;
 122              $onetemplate->stylesheet = $stylesheet;
 123              $onetemplate->encoding = $encoding;
 124              $onetemplate->active = $active;
 125  
 126              #Perform the edittemplate_pre callback
 127              foreach($gCms->modules as $key=>$value)
 128              {
 129                  if ($gCms->modules[$key]['installed'] == true &&
 130                      $gCms->modules[$key]['active'] == true)
 131                  {
 132                      $gCms->modules[$key]['object']->EditTemplatePre($onetemplate);
 133                  }
 134              }
 135              
 136              Events::SendEvent('Core', 'EditTemplatePre', array('template' => &$onetemplate));
 137  
 138              $result = $onetemplate->Save();
 139  
 140              if ($result)
 141              {
 142                  #Make sure the new name is used if this is an apply
 143                  $orig_template = $template;
 144  
 145                  #Perform the edittemplate_post callback
 146                  foreach($gCms->modules as $key=>$value)
 147                  {
 148                      if ($gCms->modules[$key]['installed'] == true &&
 149                          $gCms->modules[$key]['active'] == true)
 150                      {
 151                          $gCms->modules[$key]['object']->EditTemplatePost($onetemplate);
 152                      }
 153                  }
 154                  
 155                  Events::SendEvent('Core', 'EditTemplatePost', array('template' => &$onetemplate));
 156  
 157                  if (!$apply)
 158                  {
 159                      audit($template_id, $onetemplate->name, 'Edited Template');
 160                      if ($from == 'content')
 161                          redirect("listcontent.php");
 162                      else if ($from == 'cssassoc')
 163                          redirect('templatecss.php?id='.$cssid.'&type=template');
 164                      else
 165                          redirect("listtemplates.php");
 166                  }
 167              }
 168              else
 169              {
 170                  $error .= "<li>".lang('errorupdatingtemplate')."</li>";
 171              }
 172          }
 173      }
 174      else if ($template_id != -1 && !$preview)
 175      {
 176          $onetemplate = $templateops->LoadTemplateByID($template_id);
 177          $template = $onetemplate->name;
 178          $orig_template = $onetemplate->name;
 179          $content = $onetemplate->content;
 180          $stylesheet = $onetemplate->stylesheet;
 181          $encoding = $onetemplate->encoding;
 182          $active = $onetemplate->active;
 183      }
 184  }
 185  
 186  if (strlen($template) > 0)
 187      {
 188      $CMS_ADMIN_SUBTITLE = $template;
 189      }
 190  include_once ("header.php");
 191  
 192  if (!$access)
 193  {
 194      echo "<div class=\"pageerrorcontainer\"><p class=\"pageerror\">".lang('noaccessto', array(lang('edittemplate')))."</p></div>";
 195  }
 196  else
 197  {
 198      if ($error != "")
 199      {
 200          echo "<div class=\"pageerrorcontainer\"><ul class=\"pageerror\">".$error."</ul></div>";    
 201      }
 202  
 203      if ($preview)
 204      {
 205          $data["title"] = "TITLE HERE";
 206          $data["content"] = "Test Content";
 207          $data["template_id"] = $template_id;
 208          $data["stylesheet"] = $stylesheet;
 209          $data["encoding"] = $encoding;
 210          $data["template"] = $content;
 211  
 212          $tmpfname = '';
 213          if (is_writable($config["previews_path"]))
 214          {
 215              $tmpfname = tempnam($config["previews_path"], "cmspreview");
 216          }
 217          else
 218          {
 219              $tmpfname = tempnam(TMP_CACHE_LOCATION, "cmspreview");
 220          }
 221          $handle = fopen($tmpfname, "w");
 222          fwrite($handle, serialize($data));
 223          fclose($handle);
 224  
 225  ?>
 226  <div class="pagecontainer">
 227      <p class="pageheader"><?php echo lang('preview')?></p>
 228      <iframe class="preview" name="preview" src="<?php echo $config["root_url"]?>/preview.php?tmpfile=<?php echo urlencode(basename($tmpfname))?>"></iframe>
 229  </div>
 230  <?php
 231  
 232      }
 233  ?>
 234  
 235  <div class="pagecontainer">
 236      <?php echo $themeObject->ShowHeader('edittemplate'); ?>
 237      <form method="post" action="edittemplate.php">
 238          <p class="pageshowrows">
 239              <a href="listcssassoc.php?type=template&amp;id=<?php echo $onetemplate->id ?>" target="_blank">
 240                  <?php echo $themeObject->DisplayImage('icons/system/css.gif', lang('attachstylesheets'),'','','systemicon'); ?>
 241              </a>
 242          </p>
 243          <div class="pageoverflow">
 244              <p class="pagetext"><?php echo lang('name')?>:</p>
 245              <p class="pageinput"><input type="text" class="name" name="template" maxlength="255" value="<?php echo $template?>" /></p>
 246          </div>
 247          <div class="pageoverflow">
 248              <p class="pagetext"><?php echo lang('content')?>:</p>
 249              <p class="pageinput"><?php echo create_textarea(false, $content, 'content', 'pagebigtextarea', 'content', $encoding)?>
 250          </div>
 251          <?php if ($templateops->StylesheetsUsed() > 0) { ?>
 252          <div class="pageoverflow">
 253              <p class="pagetext"><?php echo lang('stylesheet')?>:</p>
 254              <p class="pageinput"><?php echo create_textarea(false, $stylesheet, 'stylesheet', 'pagebigtextarea', '', $encoding)?></p>
 255          </div>
 256          <?php } ?>
 257          <div class="pageoverflow">
 258              <p class="pagetext"><?php echo lang('active')?>:</p>
 259              <p class="pageinput"><input class="pagecheckbox" type="checkbox" name="active" <?php echo ($active == 1?"checked=\"checked\"":"") ?> /></p>
 260          </div>
 261          <div class="pageoverflow">
 262              <p class="pagetext"><?php echo lang('encoding')?>:</p>
 263              <p class="pageinput"><?php echo create_encoding_dropdown('encoding', $encoding) ?></p>
 264          </div>
 265          <div class="pageoverflow">
 266              <p class="pagetext">&nbsp;</p>
 267              <p class="pageinput">
 268                  <input type="hidden" name="orig_template" value="<?php echo $orig_template?>" />
 269                  <input type="hidden" name="template_id" value="<?php echo $template_id?>" />
 270                  <input type="hidden" name="from" value="<?php echo $from?>" />
 271                  <input type="hidden" name="cssid" value="<?php echo $cssid?>" />
 272                  <input type="hidden" name="edittemplate" value="true" />
 273                  <input type="submit" name="preview" value="<?php echo lang('preview')?>" class="button" onmouseover="this.className='buttonHover'" onmouseout="this.className='button'" />
 274                  <input type="submit" value="<?php echo lang('submit')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" />
 275                  <input type="submit" name="apply" value="<?php echo lang('apply')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" />
 276                  <input type="submit" name="cancel" value="<?php echo lang('cancel')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" />
 277              </p>
 278          </div>
 279      </form>
 280  </div>
 281  
 282  <?php
 283  
 284  }
 285  
 286  echo '<p class="pageback"><a class="pageback" href="'.$themeObject->BackUrl().'">&#171; '.lang('back').'</a></p>';
 287  
 288  include_once ("footer.php");
 289  
 290  # vim:ts=4 sw=4 noet
 291  ?>


Généré le : Tue Apr 3 18:50:37 2007 par Balluche grâce à PHPXref 0.7