/** * setParams - set both the class specified * * @param array $userOptions - pass-by-keyword style array of <option name, option value> pairs * @throws JO_Session * @return void */ public static function setParams(array $userOptions = array()) { // set default options on first run only (before applying user settings) if (!self::$_defaultOptionsSet) { foreach (self::$_defaultOptions as $defaultOptionName => $defaultOptionValue) { if (isset(self::$_defaultOptions[$defaultOptionName])) { ini_set("session.{$defaultOptionName}", $defaultOptionValue); } } self::$_defaultOptionsSet = true; } // set the options the user has requested to set foreach ($userOptions as $userOptionName => $userOptionValue) { $userOptionName = strtolower($userOptionName); // set the ini based values if (array_key_exists($userOptionName, self::$_defaultOptions)) { ini_set("session.{$userOptionName}", $userOptionValue); } else { /** @see JO_Exception */ require_once 'JO/Exception.php'; throw new JO_Exception("Unknown option: {$userOptionName} = {$userOptionValue}"); } } }