Exemple #1
0
 public static function init($args = array())
 {
     $defaults = array('authLevel' => 1, 'keep' => FALSE, 'noSession' => FALSE, 'sessionID' => NULL, 'install' => FALSE);
     // 	merge submitted parameters
     $p = Pommo_Api::getParams($defaults, $args);
     // 	Return if not config.php file present
     if (!self::$_hasConfigFile) {
         return false;
     }
     //	Bypass Reading of Config, SESSION creation, and authentication checks
     //	and return if 'install' passed
     if ($p['install']) {
         return;
     }
     // 	load configuration data. Note: cannot save in session, as session
     //	needs unique key -- this is simplest method.
     self::$_config = Pommo_Api::configGetBase();
     //	toggle DB debugging
     if (self::$_debug) {
         self::$_dbo->debug(TRUE);
     }
     //	Bypass SESSION creation, reading of config, authentication checks
     //	and return if 'noSession' passed
     if ($p['noSession']) {
         return;
     }
     // 	Start the session
     if (!empty($p['sessionID'])) {
         session_id($p['sessionID']);
     }
     self::startSession();
     // check for "session" language -- user defined language on the fly.
     if (self::$_slanguage) {
         self::$_session['slanguage'] = self::$_slanguage;
     }
     if (isset(self::$_session['slanguage'])) {
         if (self::$_session['slanguage'] == 'en') {
             self::$_l10n = FALSE;
         } else {
             self::$_l10n = TRUE;
             require_once self::$_baseDir . 'classes/Pommo_Helper_L10n.php';
             Pommo_Helper_L10n::init(self::$_session['slanguage'], self::$_baseDir);
         }
         self::$_slanguage = self::$_session['slanguage'];
     }
     // 	if authLevel == '*' || _poMMo_support (0 if poMMo not installed,
     //	1 if installed)
     if (defined('_poMMo_support')) {
         require_once self::$_baseDir . 'classes/Pommo_Install.php';
         $p['authLevel'] = Pommo_Install::verify() ? 1 : 0;
     }
     // check authentication levels
     self::$_auth = new Pommo_Auth(array('requiredLevel' => $p['authLevel']));
     // clear SESSION 'data' unless keep is passed.
     // TODO --> phase this out in favor of page state system?
     // -- add "persistent" flag & complicate state initilization...
     if (!$p['keep']) {
         self::$_session['data'] = array();
     }
 }