/** * Retrieve our singleton instance. * * @return SimpleSAML_Store|false The data store, or false if it isn't enabled. */ public static function getInstance() { if (self::$instance !== null) { return self::$instance; } $config = SimpleSAML_Configuration::getInstance(); $storeType = $config->getString('store.type', null); if ($storeType === null) { $storeType = $config->getString('session.handler', 'phpsession'); } switch ($storeType) { case 'phpsession': // we cannot support advanced features with the PHP session store self::$instance = false; break; case 'memcache': self::$instance = new SimpleSAML_Store_Memcache(); break; case 'sql': self::$instance = new SimpleSAML_Store_SQL(); break; default: // datastore from module $className = SimpleSAML_Module::resolveClass($storeType, 'Store', 'SimpleSAML_Store'); self::$instance = new $className(); } return self::$instance; }
/** * Retrieve our singleton instance. * * @return SimpleSAML_Store|FALSE The datastore, or FALSE if it isn't enabled. */ public static function getInstance() { if (self::$instance !== NULL) { return self::$instance; } $config = SimpleSAML_Configuration::getInstance(); $storeType = $config->getString('store.type', NULL); if ($storeType === NULL) { $storeType = $config->getString('session.handler', 'phpsession'); } switch ($storeType) { case 'phpsession': /* We cannot support advanced features with the PHP session store. */ self::$instance = FALSE; break; case 'memcache': self::$instance = new SimpleSAML_Store_Memcache(); break; case 'sql': self::$instance = new SimpleSAML_Store_SQL(); break; default: if (strpos($storeType, ':') === FALSE) { throw new SimpleSAML_Error_Exception('Unknown datastore type: ' . var_export($storeType, TRUE)); } /* Datastore from module. */ $className = SimpleSAML_Module::resolveClass($storeType, 'Store', 'SimpleSAML_Store'); self::$instance = new $className(); } return self::$instance; }
/** * Retrieve our singleton instance. * * @return SimpleSAML_Store|false The data store, or false if it isn't enabled. */ public static function getInstance() { if (self::$instance !== null) { return self::$instance; } $config = SimpleSAML_Configuration::getInstance(); $storeType = $config->getString('store.type', null); if ($storeType === null) { $storeType = $config->getString('session.handler', 'phpsession'); } switch ($storeType) { case 'phpsession': // we cannot support advanced features with the PHP session store self::$instance = false; break; case 'memcache': self::$instance = new SimpleSAML_Store_Memcache(); break; case 'sql': self::$instance = new SimpleSAML_Store_SQL(); break; default: // datastore from module try { $className = SimpleSAML\Module::resolveClass($storeType, 'Store', 'SimpleSAML_Store'); } catch (Exception $e) { $c = $config->toArray(); $c['store.type'] = 'phpsession'; throw new SimpleSAML\Error\CriticalConfigurationError("Invalid 'store.type' configuration option. Cannot find store '{$storeType}'.", null, $c); } self::$instance = new $className(); } return self::$instance; }