function Initialize() { global $errors, $t, $C, $template; // Already initialized if (!empty($C['db_username'])) { $t->assign('mode', 'done'); echo $t->parse($template); } else { // Form submitted if ($_SERVER['REQUEST_METHOD'] == 'POST') { $connection = TestDBConnection(); if (!$connection) { $t->assign_by_ref('errors', $errors); $t->assign_by_ref('request', $_REQUEST); $t->assign('mode', 'getdb'); echo $t->parse($template); } else { // Create database tables and setup initial login FileWrite("{$GLOBALS['BASE_DIR']}/data/.htaccess", "deny from all"); CreateTables(); WriteConfig($_REQUEST); RecompileTemplates(); // Display initialization finished screen $t->assign('control_panel', "http://{$_SERVER['HTTP_HOST']}" . dirname($_SERVER['REQUEST_URI']) . "/index.php"); $t->assign('mode', 'login'); echo $t->parse($template); } } else { // Run pre-initialization tests ServerTest(); FilesTest(); DirectoriesTest(); TemplatesTest(); if (is_dir('../utilities')) { $errors[] = 'For security purposes, the utilities directory must be removed'; } if (count($errors)) { // Display failed test information $t->assign('mode', 'errors'); $t->assign_by_ref('errors', $errors); echo $t->parse($template); } else { $_REQUEST['db_hostname'] = 'localhost'; $t->assign_by_ref('request', $_REQUEST); $t->assign_by_ref('errors', $errors); $t->assign('mode', 'getdb'); echo $t->parse($template); } } } }
function lxSaveDirectoryTemplate() { global $DB, $C; VerifyAdministrator(); CheckAccessList(); $_REQUEST['code'] = trim($_REQUEST['code']); $t = new Template(); // Compile global templates first, if this is not one if (!preg_match('~^global-~', $_REQUEST['loaded_template'])) { foreach (glob("{$GLOBALS['BASE_DIR']}/templates/global-*.tpl") as $global_template) { $t->compile_template(basename($global_template)); } } $template_file = SafeFilename("{$GLOBALS['BASE_DIR']}/templates/{$_REQUEST['loaded_template']}"); FileWrite($template_file, $_REQUEST['code']); $t->compile_template(basename($template_file)); $GLOBALS['message'] = 'Template has been successully saved'; $GLOBALS['warnstr'] = CheckTemplateCode($_REQUEST['code']); // Recompile all templates if a global template was updated if (preg_match('~^global-~', $_REQUEST['loaded_template'])) { RecompileTemplates(); } lxShDirectoryTemplates(); }
function txScriptTemplateSave() { global $DB, $C; VerifyAdministrator(); CheckAccessList(); $_REQUEST['code'] = trim($_REQUEST['code']); // Compile global templates first, if this is not one if (!preg_match('~global-~', $_REQUEST['loaded_template'])) { $t = new Template(); foreach (glob("{$GLOBALS['BASE_DIR']}/templates/*global-*.tpl") as $global_template) { $t->compile_template(basename($global_template)); } } $compiled_code = ''; $compiler = new Compiler(); if ($compiler->compile($_REQUEST['code'], $compiled_code)) { $template_file = SafeFilename("{$GLOBALS['BASE_DIR']}/templates/{$_REQUEST['loaded_template']}"); FileWrite($template_file, $_REQUEST['code']); $compiled_file = SafeFilename("{$GLOBALS['BASE_DIR']}/templates/compiled/{$_REQUEST['loaded_template']}", FALSE); FileWrite($compiled_file, $compiled_code); $GLOBALS['message'] = 'Template has been successully saved'; } else { $GLOBALS['errstr'] = "Template could not be saved:<br />" . nl2br($compiler->get_error_string()); } $GLOBALS['warnstr'] = CheckTemplateCode($_REQUEST['code']); // Recompile all templates if a global template was updated if (preg_match('~global-~', $_REQUEST['loaded_template'])) { RecompileTemplates(); } txShScriptTemplates(); }