[ 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: siteprefs.php 3791 2007-02-17 19:01:16Z calguy1000 $ 20 21 $CMS_ADMIN_PAGE=1; 22 $CMS_TOP_MENU='admin'; 23 $CMS_ADMIN_TITLE='preferences'; 24 25 require_once ("../include.php"); 26 27 function siteprefs_display_permissions($permsarr) 28 { 29 $tmparr = array(lang('owner'),lang('group'),lang('other')); 30 if( count($permsarr) != 3 ) return lang('permissions_parse_error'); 31 32 $result = array(); 33 for( $i = 0; $i < 3; $i++ ) 34 { 35 $str = $tmparr[$i].': '; 36 $str .= implode(',',$permsarr[$i]); 37 $result[] = $str; 38 } 39 $str = implode('<br/> ',$result); 40 return $str; 41 } 42 43 check_login(); 44 global $gCms; 45 $db =& $gCms->GetDb(); 46 47 $error = ""; 48 $message = ""; 49 50 $enablecustom404 = "0"; 51 if (isset($_POST["enablecustom404"])) $enablecustom404 = "1"; 52 53 $xmlmodulerepository = ""; 54 if (isset($_POST["xmlmodulerepository"])) $xmlmodulerepository = $_POST["xmlmodulerepository"]; 55 56 $custom404 = "<p>Page not found<//p>"; 57 if (isset($_POST["custom404"])) $custom404 = $_POST["custom404"]; 58 59 $custom404template = "-1"; 60 if (isset($_POST["custom404template"])) $custom404template = $_POST["custom404template"]; 61 62 $enablesitedownmessage = "0"; 63 if (isset($_POST["enablesitedownmessage"])) $enablesitedownmessage = "1"; 64 65 $sitedownmessage = "<p>Site is current down. Check back later.</p>"; 66 if (isset($_POST["sitedownmessage"])) $sitedownmessage = $_POST["sitedownmessage"]; 67 68 $defaultpagecontent = ''; 69 if (isset($_POST['defaultpagecontent'])) $defaultpagecontent = $_POST['defaultpagecontent']; 70 71 $sitedownmessagetemplate = "-1"; 72 if (isset($_POST["sitedownmessagetemplate"])) $sitedownmessagetemplate = $_POST["sitedownmessagetemplate"]; 73 74 $metadata = ''; 75 if (isset($_POST['metadata'])) $metadata = $_POST['metadata']; 76 77 if (isset($_POST['parent_id'])) $default_parent_page = $_POST['parent_id']; 78 79 $sitename = ''; 80 if (isset($_POST['sitename'])) $sitename = $_POST['sitename']; 81 82 #$useadvancedcss = "1"; 83 #if (isset($_POST["useadvancedcss"])) $useadvancedcss = $_POST["useadvancedcss"]; 84 85 $frontendlang = ''; 86 if (isset($_POST['frontendlang'])) $frontendlang = $_POST['frontendlang']; 87 88 $global_umask = '022'; 89 if (isset($_POST['global_umask'])) $global_umask = $_POST['global_umask']; 90 91 // ADDED 92 $logintheme = "default"; 93 if (isset($_POST["logintheme"])) $logintheme = $_POST["logintheme"]; 94 // STOP 95 96 97 $userid = get_userid(); 98 $access = check_permission($userid, 'Modify Site Preferences'); 99 100 $use_javasyntax = false; 101 if (get_preference($userid, 'use_javasyntax') == "1") $use_javasyntax = true; 102 103 if (isset($_POST["cancel"])) { 104 redirect("index.php"); 105 return; 106 } 107 108 $testresults = lang('untested'); 109 if (isset($_POST["testumask"])) 110 { 111 $testdir = $gCms->config['root_path'].DIRECTORY_SEPARATOR.'tmp'; 112 $testfile = $testdir.DIRECTORY_SEPARATOR.'dummy.tst'; 113 114 if( !is_writable($testdir) ) 115 { 116 $testresults = lang('errordirectorynotwritable'); 117 } 118 else 119 { 120 @umask($global_umask); 121 $fh = @fopen($testfile,"w"); 122 if( !$fh ) 123 { 124 $testresults = lang('errorcantcreatefile').' ('.$testfile.')'; 125 } 126 else 127 { 128 @fclose($fh); 129 $filestat = stat($testfile); 130 if( $filestat == FALSE ) 131 { 132 $testresults = lang('errorcantcreatefile'); 133 } 134 $userinfo = @posix_getpwuid($filestat[4]); 135 $username = isset($userinfo['name'])?$userinfo['name']:lang('unknown'); 136 $permsstr = siteprefs_display_permissions(interpret_permissions($filestat[2])); 137 138 $testresults = sprintf("%s: %s<br/>%s:<br/> %s", 139 lang('owner'),$username, 140 lang('permissions'),$permsstr); 141 @unlink($testfile); 142 } 143 144 } 145 } 146 147 if (isset($_POST['clearcache'])) 148 { 149 global $gCms; 150 $contentops =& $gCms->GetContentOperations(); 151 $contentops->ClearCache(); 152 $message .= lang('cachecleared'); 153 } 154 else if (isset($_POST["editsiteprefs"])) 155 { 156 if ($access) 157 { 158 set_site_preference('global_umask', $global_umask); 159 set_site_preference('frontendlang', $frontendlang); 160 set_site_preference('enablecustom404', $enablecustom404); 161 set_site_preference('xmlmodulerepository', $xmlmodulerepository); 162 set_site_preference('custom404', $custom404); 163 set_site_preference('custom404template', $custom404template); 164 set_site_preference('enablesitedownmessage', $enablesitedownmessage); 165 set_site_preference('sitedownmessage', $sitedownmessage); 166 set_site_preference('defaultpagecontent', $defaultpagecontent); 167 set_site_preference('default_parent_page', $default_parent_page); 168 #set_site_preference('sitedownmessagetemplate', $sitedownmessagetemplate); 169 #set_site_preference('useadvancedcss', $useadvancedcss); 170 set_site_preference('logintheme', $logintheme); 171 set_site_preference('metadata', $metadata); 172 set_site_preference('sitename', $sitename); 173 audit(-1, '', 'Edited Site Preferences'); 174 //redirect("siteprefs.php"); 175 //return; 176 $message .= lang('prefsupdated'); 177 } 178 else 179 { 180 $error .= "<li>".lang('noaccessto', array('Modify Site Permissions'))."</li>"; 181 } 182 } else if (!isset($_POST["submit"])) { 183 $global_umask = get_site_preference('global_umask',$global_umask); 184 $frontendlang = get_site_preference('frontendlang'); 185 $enablecustom404 = get_site_preference('enablecustom404'); 186 $custom404 = get_site_preference('custom404'); 187 $custom404template = get_site_preference('custom404template'); 188 $enablesitedownmessage = get_site_preference('enablesitedownmessage'); 189 $sitedownmessage = get_site_preference('sitedownmessage'); 190 $defaultpagecontent = get_site_preference('defaultpagecontent'); 191 $default_parent_page = get_site_preference('default_parent_page'); 192 $xmlmodulerepository = get_site_preference('xmlmodulerepository'); 193 #$sitedownmessagetemplate = get_site_preference('sitedownmessagetemplate'); 194 #$useadvancedcss = get_site_preference('useadvancedcss'); 195 $logintheme = get_site_preference('logintheme', 'default'); 196 $metadata = get_site_preference('metadata', ''); 197 $sitename = get_site_preference('sitename', 'CMSMS Site'); 198 } 199 200 201 $templates = array(); 202 $templates['-1'] = 'None'; 203 204 $query = "SELECT * FROM ".cms_db_prefix()."templates ORDER BY template_name"; 205 $result = $db->Execute($query); 206 207 while ($result && $row = $result->FetchRow()) 208 { 209 $templates[$row['template_id']] = $row['template_name']; 210 } 211 212 include_once ("header.php"); 213 214 if ($error != "") { 215 echo "<div class=\"pageerrorcontainer\"><ul class=\"error\">".$error."</ul></div>"; 216 } 217 if ($message != "") { 218 echo $themeObject->ShowMessage($message); 219 } 220 221 // Make sure cache folder is writable 222 if (FALSE == is_writable($config['root_path'].DIRECTORY_SEPARATOR.'tmp'.DIRECTORY_SEPARATOR.'cache')) 223 { 224 echo $themeObject->ShowErrors(lang('cachenotwritable')); 225 } 226 227 ?> 228 229 <div class="pagecontainer"> 230 <?php echo $themeObject->ShowHeader('siteprefs'); ?> 231 <form id="siteprefform" method="post" action="siteprefs.php"> 232 <?php if ($access) { ?> 233 <div class="pageoverflow"> 234 <p class="pagetext"> </p> 235 <p class="pageinput"> 236 <input type="hidden" name="editsiteprefs" value="true" /> 237 <input type="submit" name="submit" value="<?php echo lang('submit')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" /> 238 <input type="submit" name="cancel" value="<?php echo lang('cancel')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" /> 239 </p> 240 </div> 241 <?php } ?> 242 <div class="pageoverflow"> 243 <p class="pagetext"><?php echo lang('clearcache') ?>:</p> 244 <p class="pageinput"> 245 <input class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" type="submit" name="clearcache" value="<?php echo lang('clear') ?>" /> 246 </p> 247 </div> 248 <div class="pageoverflow"> 249 <p class="pagetext"><?php echo lang('sitename')?>:</p> 250 <p class="pageinput"><input type="text" class="pagesmalltextarea" name="sitename" size="30" value="<?php echo $sitename?>" /></p> 251 </div> 252 <div class="pageoverflow"> 253 <p class="pagetext"><?php echo lang('global_umask')?>:</p> 254 <p class="pageinput"><input type="text" class="pagesmalltextarea" name="global_umask" size="4" value="<?php echo $global_umask?>" /></p> 255 </div> 256 <div class="pageoverflow"> 257 <p class="pagetext"> </p> 258 <p class="pageinput"><input type="submit" name="testumask" value="<?php echo lang('test')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" /></p> 259 </div> 260 <div class="pageoverflow"> 261 <p class="pagetext"><?php echo lang('results')?></p> 262 <p class="pageinput"><strong><?php echo $testresults ?></strong></p> 263 </div> 264 <div class="pageoverflow"> 265 <p class="pagetext"><?php echo lang('frontendlang')?>:</p> 266 <select name="frontendlang" style="vertical-align: middle;"> 267 <option value=""><?php echo lang('nodefault'); ?></option> 268 <?php 269 asort($nls["language"]); 270 foreach ($nls["language"] as $key=>$val) { 271 echo "<option value=\"$key\""; 272 if ($frontendlang == $key) { 273 echo " selected=\"selected\""; 274 } 275 echo ">$val"; 276 if (isset($nls["englishlang"][$key])) 277 { 278 echo " (".$nls["englishlang"][$key].")"; 279 } 280 echo "</option>\n"; 281 } 282 ?> 283 </select> 284 <br /> 285 </div> 286 <div class="pageoverflow"> 287 <p class="pagetext"><?php echo lang('globalmetadata')?>:</p> 288 <p class="pageinput"><textarea class="pagesmalltextarea" name="metadata" cols="" rows=""><?php echo $metadata?></textarea></p> 289 </div> 290 <div class="pageoverflow"> 291 <p class="pagetext"><?php echo lang('enablecustom404') ?>:</p> 292 <p class="pageinput"><input class="pagenb" type="checkbox" name="enablecustom404" <?php if ($enablecustom404 == "1") echo "checked=\"checked\""?> /></p> 293 </div> 294 <div class="pageoverflow"> 295 <p class="pagetext"><?php echo lang('custom404')?>:</p> 296 <p class="pageinput"><textarea class="pagesmalltextarea" name="custom404" cols="" rows=""><?php echo $custom404?></textarea></p> 297 </div> 298 <div class="pageoverflow"> 299 <p class="pagetext"><?php echo lang('template')?>:</p> 300 <p class="pageinput"> 301 <select name="custom404template"> 302 <?php 303 foreach ($templates as $key=>$value) 304 { 305 echo "<option value=\"".$key."\""; 306 if ($key == $custom404template) 307 { 308 echo " selected=\"selected\""; 309 } 310 echo ">".$value."</option>"; 311 } 312 ?> 313 </select> 314 </p> 315 </div> 316 <div class="pageoverflow"> 317 <p class="pagetext"><?php echo lang('enablesitedown')?>:</p> 318 <p class="pageinput"><input class="pagenb" type="checkbox" name="enablesitedownmessage" <?php if ($enablesitedownmessage == "1") echo "checked=\"checked\""?> /></p> 319 </div> 320 <div class="pageoverflow"> 321 <p class="pagetext"><?php echo lang('sitedownmessage')?>:</p> 322 <p class="pageinput"><textarea class="pagesmalltextarea" name="sitedownmessage" cols="" rows=""><?php echo $sitedownmessage?></textarea></p> 323 </div> 324 <!-- 325 <div class="pageoverflow"> 326 <p class="pagetext"><?php echo lang('xmlmodulerepository') ?>:</p> 327 <p class="pageinput"><input class="pagenb" type="text" name="xmlmodulerepository" size="80" maxlength="255" value="<?php echo $xmlmodulerepository; ?>"/></p> 328 </div> 329 --> 330 <!-- 331 <div class="pageoverflow"> 332 <p class="pagetext"><?php echo lang('template')?>:</p> 333 <p class="pageinput"> 334 <select> 335 <?php 336 foreach ($templates as $key=>$value) 337 { 338 echo "<option value=\"".$key."\""; 339 if ($key == $sitedownmessagetemplate) 340 { 341 echo " selected=\"selected\""; 342 } 343 echo ">".$value."</option>"; 344 } 345 ?> 346 </select> 347 </p> 348 </div> 349 --> 350 <?php 351 if ($dir=opendir(dirname(__FILE__)."/themes/")) { //Does the themedir exist at all, it should... 352 ?> 353 <div class="pageoverflow"> 354 <p class="pagetext"><?php echo lang('admintheme') ?>:</p> 355 <p class="pageinput"> 356 <select name="logintheme"> 357 <?php 358 while (($file = readdir($dir)) !== false) { 359 if (@is_dir("themes/".$file) && ($file[0]!='.')) { 360 ?> 361 <option value="<?php echo $file?>"<?php echo (get_site_preference('logintheme', 'default')==$file?" selected=\"selected\"":"")?>><?php echo $file?></option> 362 <?php 363 } 364 } 365 ?> 366 </select> 367 </p> 368 </div> 369 <?php }?> 370 371 <div class="pageoverflow"> 372 <p class="pagetext"><?php echo lang('defaultpagecontent')?>:</p> 373 <p class="pageinput"><textarea class="pagesmalltextarea" name="defaultpagecontent" cols="" rows=""><?php echo $defaultpagecontent?></textarea></p> 374 </div> 375 <div class="pageoverflow"> 376 <p class="pagetext"><?php echo lang('defaultparentpage')?>:</p> 377 <p class="pageinput"> 378 <?php 379 $contentops =& $gCms->GetContentOperations(); 380 echo $contentops->CreateHierarchyDropdown(0, $default_parent_page); 381 ?> 382 </p> 383 </div> 384 <?php if ($access) { ?> 385 <div class="pageoverflow"> 386 <p class="pagetext"> </p> 387 <p class="pageinput"> 388 <input type="hidden" name="editsiteprefs" value="true" /> 389 <input type="submit" name="submit" value="<?php echo lang('submit')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" /> 390 <input type="submit" name="cancel" value="<?php echo lang('cancel')?>" class="pagebutton" onmouseover="this.className='pagebuttonhover'" onmouseout="this.className='pagebutton'" /> 391 </p> 392 </div> 393 <?php } ?> 394 </form> 395 </div> 396 397 <?php 398 echo '<p class="pageback"><a class="pageback" href="'.$themeObject->BackUrl().'">« '.lang('back').'</a></p>'; 399 include_once ("footer.php"); 400 401 # vim:ts=4 sw=4 noet 402 ?>
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 |