[ Index ]
 

Code source de CMS made simple 1.0.5

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

title

Body

[fermer]

/admin/ -> siteprefs.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: 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/>&nbsp;&nbsp;',$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/>&nbsp;&nbsp;%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">&nbsp;</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">&nbsp;</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">&nbsp;</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().'">&#171; '.lang('back').'</a></p>';
 399  include_once ("footer.php");
 400  
 401  # vim:ts=4 sw=4 noet
 402  ?>


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