/** * 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; }