Esempio n. 1
0
 /**
  * Writes a combined config file for runtime
  *
  * The master config and optional local config are output as a combined xml
  * file that is used by the runtime system
  *
  * @param string &$config         config
  * @param string $config_filename path to xml config file
  *
  * @return null
  */
 public static function writeConfig(&$config, $config_filename)
 {
     $canonical_filename = Nexista_Config::get('./path/compile') . $config_filename;
     $config_compile_error = "Can't open {$canonical_filename}.\n        Check permissions of parent directories,\n        or simply refresh to try and rebuild it.\n        chmod 0777 {$canonical_filename} ?";
     $tdir = dirname($canonical_filename);
     if (!is_dir($tdir)) {
         mkdir($tdir, 0777, true);
     }
     if ($tmp = fopen($canonical_filename, "w+")) {
         if (flock($tmp, LOCK_EX)) {
             fwrite($tmp, self::$xml->asXML());
             flock($tmp, LOCK_UN);
         } else {
             Nexista_Error::Init($config_compile_error, NX_ERROR_FATAL);
             return false;
         }
         fclose($tmp);
     }
     return true;
 }