Example #1
0
 /**
  *
  * @param string $name
  * @param bool $required
  */
 public static function retrieve($name, $required = true)
 {
     $group = explode('.', $name, 2);
     $group = $group[0];
     if (!isset(self::$configuration[$group])) {
         // Load the configuration group
         $defaultFolder = dirname(__FILE__) . '/config/';
         if (self::$folder == null) {
             self::$folder = $defaultFolder;
         }
         $file = self::$folder . $group . '.php';
         $defaultFile = $defaultFolder . $group . '.php';
         if (!file_exists($file)) {
             // Try default folder
             if (!file_exists($defaultFile)) {
                 if ($required === true) {
                     throw new Exception("{$file} does not exists");
                 } else {
                     return false;
                 }
             } else {
                 $file = $defaultFile;
             }
         }
         include $file;
         if (!isset($config) || empty($config)) {
             throw new Exception("Could not find config array in {$file}");
         }
         self::$configuration[$group] = $config;
     }
     $value = self::retrieveKey(self::$configuration, $name);
     if ($required === true && ($value === NULL || empty($value))) {
         throw new Exception("Could not find {$name} in {$file}");
     }
     return $value;
 }