public function Export() { set_time_limit(3600); $vs_xml = ConfigurationExporter::exportConfigurationAsXML($this->request->config->get('app_name'), _t('Profile created on %1 by %2', caGetLocalizedDate(), $this->request->user->get('fname') . ' ' . $this->request->user->get('lname')), 'base', ''); $this->view->setVar('profile', $vs_xml); $this->view->setVar('profile_file_name', $this->request->config->get('app_name') . '_config.xml'); $this->render('export_configuration_binary.php'); return; }
/** * Export current system configuration as an XML installation profile */ public static function export_profile($po_opts = null) { require_once __CA_LIB_DIR__ . "/ca/ConfigurationExporter.php"; if (!class_exists("DOMDocument")) { CLIUtils::addError(_t("The PHP DOM extension is required to export profiles")); return false; } $vs_output = $po_opts->getOption("output"); $va_output = explode("/", $vs_output); array_pop($va_output); if ($vs_output && !is_dir(join("/", $va_output))) { CLIUtils::addError(_t("Cannot write profile to '%1'", $vs_output)); return false; } $vs_profile = ConfigurationExporter::exportConfigurationAsXML($po_opts->getOption("name"), $po_opts->getOption("description"), $po_opts->getOption("base"), $po_opts->getOption("infoURL")); if ($vs_output) { file_put_contents($vs_output, $vs_profile); } else { print $vs_profile; } return true; }