[code.view]

[top] / php / GetSimpleCMS-3.2.3 / admin / inc / common.php

     <?php
     /**
      * Common Setup File
      * 
      * This file initializes up most variables for the site. It is also where most files
      * are included from. It also reads and stores certain variables.
      *
      * @package GetSimple
      * @subpackage init
      */
     
     define('IN_GS', TRUE);
     
     /**
      *  GSCONFIG definitions
      */
     
     if(!defined('GSSTYLEWIDE')) define('GSSTYLEWIDE','wide'); // wide style sheet
     
     /**
      * Bad stuff protection
      */
     
     include_once('security_functions.php');
     
     if (version_compare(PHP_VERSION, "5")  >= 0) {
     	foreach ($_GET as &$xss) $xss = antixss($xss);
     }
     
     /**
      * Basic file inclusions
      */
     include('basic.php');
     include('template_functions.php');
     include('logging.class.php');
     
     define('GSROOTPATH', get_root_path());
     
     if (file_exists(GSROOTPATH . 'gsconfig.php')) {
     	require_once(GSROOTPATH . 'gsconfig.php');
     }
     
     if (defined('GSADMIN')) {
     	$GSADMIN = GSADMIN;
     } else {
     	$GSADMIN = 'admin';
     }
     
     /**
      * Define some constants
      */
     define('GSADMINPATH', get_admin_path());
     define('GSADMININCPATH', GSADMINPATH. 'inc/');
     define('GSPLUGINPATH', GSROOTPATH. 'plugins/');
     define('GSLANGPATH', GSADMINPATH. 'lang/');
     define('GSDATAPATH', GSROOTPATH. 'data/');
     define('GSDATAOTHERPATH', GSROOTPATH. 'data/other/');
     define('GSDATAPAGESPATH', GSROOTPATH. 'data/pages/');
     define('GSDATAUPLOADPATH', GSROOTPATH. 'data/uploads/');
     define('GSTHUMBNAILPATH', GSROOTPATH. 'data/thumbs/');
     define('GSBACKUPSPATH', GSROOTPATH. 'backups/');
     define('GSTHEMESPATH', GSROOTPATH. 'theme/');
     define('GSUSERSPATH', GSROOTPATH. 'data/users/');
     define('GSBACKUSERSPATH', GSROOTPATH. 'backups/users/');
     define('GSCACHEPATH', GSROOTPATH. 'data/cache/');
     define('GSAUTOSAVEPATH', GSROOTPATH. 'data/pages/autosave/');
     
     /**
      * Variable check to prevent debugging going off
      * @todo some of these may not even be needed anymore
      */
     $admin_relative = (isset($admin_relative)) ? $admin_relative : '';
     $lang_relative = (isset($lang_relative)) ? $lang_relative : '';
     $load['login'] = (isset($load['login'])) ? $load['login'] : '';
     $load['plugin'] = (isset($load['plugin'])) ? $load['plugin'] : '';
     
     
     /**
      * Debugging
      */
     if ( isDebug() ) {
     	error_reporting(-1);
     	ini_set('display_errors', 1);
     } else if( getDef('SUPRESSERRORS',true) ) {
     	error_reporting(0);
     	ini_set('display_errors', 0);
     }
     ini_set('log_errors', 1);
     ini_set('error_log', GSDATAOTHERPATH .'logs/errorlog.txt');
     
     
     
     
     /**
      * Pull data from storage
      */
      
     /** grab website data */
     $thisfilew = GSDATAOTHERPATH .'website.xml';
     if (file_exists($thisfilew)) {
     	$dataw = getXML($thisfilew);
     	$SITENAME = stripslashes($dataw->SITENAME);
     	$SITEURL = $dataw->SITEURL;
     	$TEMPLATE = $dataw->TEMPLATE;
     	$PRETTYURLS = $dataw->PRETTYURLS;
     	$PERMALINK = $dataw->PERMALINK;
     } else {
     	$SITENAME = '';
     	$SITEURL = '';
     } 
     
     
     /** grab user data */
     if (isset($_COOKIE['GS_ADMIN_USERNAME'])) {
     	$cookie_user_id = _id($_COOKIE['GS_ADMIN_USERNAME']);
     	if (file_exists(GSUSERSPATH . $cookie_user_id.'.xml')) {
     		$datau = getXML(GSUSERSPATH  . $cookie_user_id.'.xml');
     		$USR = stripslashes($datau->USR);
     		$HTMLEDITOR = $datau->HTMLEDITOR;
     		$TIMEZONE = $datau->TIMEZONE;
     		$LANG = $datau->LANG;
     	} else {
     		$USR = null;
     	}
     } else {
     	$USR = null;
     }
     
     
     /** grab authorization and security data */
     if (file_exists(GSDATAOTHERPATH .'authorization.xml')) {
     	$dataa = getXML(GSDATAOTHERPATH .'authorization.xml');
     	$SALT = stripslashes($dataa->apikey);
     }	else {
     	$SALT = sha1($SITEURL);
     }
     $SESSIONHASH = sha1($SALT . $SITENAME);
     
     
     /**
      * Timezone setup
      */
     
     // set defined timezone from config if not set on user
     if( (!isset($TIMEZONE) || trim($TIMEZONE) == '' ) && defined('GSTIMEZONE') ){
     	$TIMEZONE = GSTIMEZONE;
     }
     
     if(isset($TIMEZONE) && function_exists('date_default_timezone_set') && ($TIMEZONE != "" || stripos($TIMEZONE, '--')) ) { 
     	date_default_timezone_set($TIMEZONE);
     }
     
     
     /**
      * Language control
      */
     if(!isset($LANG) || $LANG == '') {
     	$filenames = getFiles(GSLANGPATH);
     	$cntlang = count($filenames);
     	if ($cntlang == 1) {
     		$LANG = basename($filenames[0], ".php");
     	} elseif($cntlang > 1) {
     		$LANG = 'en_US';
     	}
     }
     include_once(GSLANGPATH . $LANG . '.php');
     
     
     /**
      * Variable Globalization
      */
     global $SITENAME, $SITEURL, $TEMPLATE, $TIMEZONE, $LANG, $SALT, $i18n, $USR, $PERMALINK, $GSADMIN, $components;
     
     $GS_debug        = array();
     
     /**
      * $base is if the site is being viewed from the front-end
      */
     if(isset($base)) {
     	include_once(GSADMININCPATH.'theme_functions.php');
     }
     
     
     /**
      * Check to make sure site is already installed
      */
     if (get_filename_id() != 'install' && get_filename_id() != 'setup' && get_filename_id() != 'update') {
     	$fullpath = suggest_site_path();
     	
     	# if an update file was included in the install package, redirect there first	
     	if (file_exists(GSDATAOTHERPATH .'user.xml')) {
     		if (file_exists(GSADMINPATH.'update.php'))	{
     			redirect($fullpath . $GSADMIN.'/update.php');
     		}
     	}
     	
     	# if there is no SITEURL set, then it's a fresh install. Start installation process
     	if ($SITEURL == '')	{
     		redirect($fullpath . $GSADMIN.'/install.php');
     	} 
     
     	if(!getDef('GSDEBUGINSTALL',true)){	
     		# if you've made it this far, the site is already installed so remove the installation files
     		$filedeletionstatus=true;
     		if (file_exists(GSADMINPATH.'install.php'))	{
     			$filedeletionstatus = unlink(GSADMINPATH.'install.php');
     		}
     		if (file_exists(GSADMINPATH.'setup.php'))	{
     			$filedeletionstatus = unlink(GSADMINPATH.'setup.php');
     		}
     		if (file_exists(GSADMINPATH.'update.php'))	{
     			$filedeletionstatus = unlink(GSADMINPATH.'update.php');
     		}
     		if (!$filedeletionstatus) {
     			$error = sprintf(i18n_r('ERR_CANNOT_DELETE'), '<code>/'.$GSADMIN.'/install.php</code>, <code>/'.$GSADMIN.'/setup.php</code> or <code>/'.$GSADMIN.'/update.php</code>');
     		}
     	}	
     } else {
     	/* create new folders */
     	if (!file_exists(GSCACHEPATH)) {
     		if (defined('GSCHMOD')) { 
     		  $chmod_value = GSCHMOD; 
     		} else {
     		  $chmod_value = 0755;
     		}
     		mkdir(GSCACHEPATH, $chmod_value);
     	}
     }
     
     /**
      * Include other files depending if they are needed or not
      */
     include_once(GSADMININCPATH.'cookie_functions.php');
     if(isset($load['plugin']) && $load['plugin']){
     	# remove the pages.php plugin if it exists. 	
     	if (file_exists(GSPLUGINPATH.'pages.php'))	{
     		unlink(GSPLUGINPATH.'pages.php');
     	}
     	include_once(GSADMININCPATH.'plugin_functions.php');
     	if(get_filename_id()=='settings' || get_filename_id()=='load') {
     		/* this core plugin only needs to be visible when you are viewing the 
     		settings page since that is where its sidebar item is. */
     		if (defined('GSEXTAPI') && GSEXTAPI==1) {
     			include_once('api.plugin.php');
     		}
     	}
     	# include core plugin for page caching
     	include_once('caching_functions.php');
     	
     	# main hook for common.php
     	exec_action('common');
     	
     }
     if(isset($load['login']) && $load['login']){ 	include_once(GSADMININCPATH.'login_functions.php'); }
     ?>

[top] / php / GetSimpleCMS-3.2.3 / admin / inc / common.php

contact | logmethods.com