Example #1
0
 /**
  * SetOptions - set both the class specified
  *
  * @param array $user_options
  */
 public static function setOptions(array $user_options = array())
 {
     // set default options on first run only (before applying user settings)
     if (!self::$_default_options_set) {
         foreach (self::$_default_options as $default_option_name => $default_option_value) {
             if (isset(self::$_default_options[$default_option_name]) && $default_option_value !== null) {
                 ini_set('session.' . $default_option_name, $default_option_value);
             }
         }
         self::$_default_options_set = true;
     }
     // set the options the user has requested to set
     foreach ($user_options as $user_option_name => $user_option_value) {
         // set the ini based values
         if (array_key_exists($user_option_name, self::$_default_options)) {
             ini_set('session.' . $user_option_name, $user_option_value);
             continue;
         }
         // get log level setting if passed
         if ($user_option_name === 'log_level') {
             if (!is_int($user_option_value)) {
                 throw new Zend_Session_Exception(__CLASS__ . '::setOptions() log_level expects an integer.');
             }
             if ($user_option_value < 0 || $user_option_value > 3) {
                 throw new Zend_Session_Exception(__CLASS__ . '::setOptions() log_level value is out of range, must be 0 to 5 inclusive.');
             }
             if (!class_exists('Zend_Log', false)) {
                 throw new Zend_Session_Exception(__CLASS__ . '::setOptions() logging is enabled, but Zend_Log was not loaded');
             }
             self::$_log_level = $user_option_value;
             continue;
         }
         // get strict settting if passed
         if ($user_option_name === 'strict') {
             self::$_strict = $user_option_value;
             continue;
         }
         // get remember me seconds setting if passed
         if ($user_option_name === 'remember_me_seconds') {
             self::$_remember_me_seconds = $user_option_value;
         }
     }
 }