| [ Index ] |
|
Code source de CMS made simple 1.0.5 |
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&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"> </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().'">« '.lang('back').'</a></p>'; 287 288 include_once ("footer.php"); 289 290 # vim:ts=4 sw=4 noet 291 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Tue Apr 3 18:50:37 2007 | par Balluche grâce à PHPXref 0.7 |