Example #1
0
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);
            }
        }
    }
}
Example #2
0
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();
}
Example #3
0
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();
}