Ejemplo n.º 1
0
 public function loadConfigs($path)
 {
     if (!is_dir($path)) {
         throw new Exception("Un dossier contenant les fichiers de configuration doit être donné.");
     }
     if (!$this->env) {
         throw new Exception("Un environnement doit être configuré avant l'appel de cette méthode.");
     }
     require_once $path . '/config.php';
     $config_files = read_folder($path);
     foreach ($config_files as $file) {
         if (contains('config.*', basename($file)) && basename($file) != 'config.php') {
             require_once '/' . $file;
         }
     }
     foreach ($configs['default'] as $key => $value) {
         Config::set($key, $value);
     }
     if (isset($configs[$this->env])) {
         foreach ($configs[$this->env] as $key => $value) {
             Config::set($key, $value);
         }
     }
 }
Ejemplo n.º 2
0
function read_folder($path, $content = array())
{
    if ($handle = opendir($path)) {
        while (false !== ($item = readdir($handle))) {
            if ($item != '.' && $item != '..') {
                if (is_dir($path . '/' . $item)) {
                    $content = array_merge($content, read_folder($path . '/' . $item));
                } else {
                    $content[] = preg_replace('~^(\\./)?(.*?)/~', '', $path . '/' . $item);
                }
            }
        }
        closedir($handle);
    }
    return $content;
}
Ejemplo n.º 3
0
 protected function duplicate($from_dir, $to_dir, $overide = false)
 {
     if (!file_exists($from_dir)) {
         $this->debug('Pas de dossier ' . $from_dir . ' à copier.');
         return false;
     }
     $files = read_folder($from_dir);
     foreach ($files as $file) {
         $from = $from_dir . '/' . $file;
         $to = $to_dir . '/' . $file;
         $this->mkdir(dirname($to));
         if (basename($file) == 'empty') {
             continue;
         }
         if (file_exists($to) && $overide === false) {
             $this->debug('Le fichier existe déjà. ' . $to . ' est ignoré.', true);
         } else {
             $this->debug('Création du fichier ' . $to . '.');
             copy($from, $to);
         }
     }
 }