diff --git a/lib/SimpleSAML/Configuration.php b/lib/SimpleSAML/Configuration.php index 49035292dac4bc4e2c9b5c5c3d6282c51892ea4e..713a797379902ed197b222e11822c382cf4a9bb4 100644 --- a/lib/SimpleSAML/Configuration.php +++ b/lib/SimpleSAML/Configuration.php @@ -9,24 +9,24 @@ */ class SimpleSAML_Configuration { - private static $instance = null; + private static $instance = array(); private $configpath = null; private $configuration = null; // private constructor restricts instantiaton to getInstance() private function __construct($configpath) { - $this->configpath = $configpath; - } - public static function getInstance() { - return self::$instance; + public static function getInstance($instancename = 'simplesaml') { + if (!array_key_exists($instancename, self::$instance)) + throw new Exception('Configuration with name ' . $instancename . ' is not initialized.'); + return self::$instance[$instancename]; } - public static function init($path) { - self::$instance = new SimpleSAML_Configuration($path); + public static function init($path, $instancename = 'simplesaml') { + self::$instance[$instancename] = new SimpleSAML_Configuration($path); } private function loadConfig() {