<?php define("SETUP", True); require_once(dirname(__FILE__) . "/../sys/init_ste.php"); require_once(dirname(__FILE__) . "/../sys/translation.php"); require_once(dirname(__FILE__) . "/../sys/db.php"); require_once(dirname(__FILE__) . "/../sys/pwhash.php"); require_once(dirname(__FILE__) . "/../languages.php"); require_once(dirname(__FILE__) . "/create_tables.php"); $rel_path_to_root = "."; $ste->vars["rel_path_to_root"] = $rel_path_to_root; $ste->vars["translations"] = array(); foreach($languages as $langcode => $langinfo) { if($langinfo["translation_exist"]) $ste->vars["translations"][$langcode] = $langinfo["language"]; } if(isset($_GET["lang"]) and (@$languages[$_GET["lang"]]["translation_exist"])) { load_language($_GET["lang"]); $lang = $_GET["lang"]; $ste->vars["lang"] = $_GET["lang"]; } else die($ste->exectemplate("/systemtemplates/setup_select_lang.html")); if(isset($_POST["apply_setup"])) { if(empty($_POST["admin_username"]) or empty($_POST["admin_init_password"])) $ste->vars["error"] = $translation["admin_data_must_be_filled_out"]; else { $config["mysql"]["server"] = $_POST["mysql_host"]; $config["mysql"]["db"] = $_POST["mysql_database"]; $config["mysql"]["user"] = $_POST["mysql_user"]; $config["mysql"]["passwd"] = $_POST["mysql_password"]; $config["mysql"]["prefix"] = $_POST["table_prefix"]; try { db_connect(); create_mysql_tables(); /* Writing some demo data to database */ require_once(dirname(__FILE__) . "/../sys/models.php"); $ratatoeskr_settings["default_language"] = $lang; $ratatoeskr_settings["comment_visible_defaut"] = True; $ratatoeskr_settings["allow_comments_default"] = True; $ratatoeskr_settings["comment_textprocessor"] = "Markdown"; $ratatoeskr_settings["languages"] = $lang == "en" ? array("en") : array($lang, "en"); $ratatoeskr_settings["last_db_cleanup"] = time(); $ratatoeskr_settings["debugmode"] = False; $style = Style::create("default"); $style->code = <<<STYLE * { font-family: sans-serif; font-size: 10pt; } html { margin: 0px; padding: 0px; } body { margin: 0px; padding: 0px; } #maincontainer { width: 80%; margin: 0px auto 0px; padding: 0px; } #heading { text-align: center; border-bottom: 1px solid black; margin: 0px auto 0px; padding: 10mm 3mm 5mm } h1 { font-size: 24pt; font-weight: bold; padding: 0px; margin: 0px auto 2mm; } h2 { font-size: 14pt; font-weight: bold; } h3 { font-size: 14pt; font-weight: normal; } h4 { font-size: 12pt; font-weight: bold; } h5 { font-size: 12pt; font-weight: normal } h6 { font-size: 10pt; font-weight: bold; text-decoration: underline; } #mainmenu { border-bottom: 1px solid black; list-style: none; height: 10mm; padding: 0px; margin: 0px 0px 2mm; } #mainmenu li { float: left; margin: 0px 0px 2mm; height: 10mm; overflow: hidden; } #mainmenu li a { color: #444; text-decoration: none; font-size: 12pt; margin: 0px; padding: 2mm 7.5mm 0px; background: white; display: block; height: 10mm; } #mainmenu li.active a { color: black; font-weight: bold; } #mainmenu li a:hover { background: #eee; color: #000; } #metabar { float: right; width: 50mm; margin: 0px; padding: 0px 0px 0px 5mm; border-left: 1px solid black; } div.metabar_module { border-top: 1px solid black; padding: 2mm 0px 0px; margin: 2mm 0px 0px; } div.metabar_module:first-child { border-top: none; margin: 0px; padding: 0px; } div.metabar_module h2 { font-size: 10pt; font-weight: bold; padding: 0px; margin: 0px 0px 2mm; } #content { border-right: 1px solid black; margin: 0px 55mm 0px 0px; padding: 0px 2mm 0px 0px; } #footer { clear: both; margin: 4mm 0mm 4mm; padding: 2mm 0mm 0mm; text-align: center; border-top: 1px solid black; } table.listtab { border-collapse: collapse; } STYLE; $style->save(); $section = Section::create("home"); $section->title["en"] = new Translation("Home", ""); if($lang != "en") $section->title[$lang] = new Translation("Home", ""); $section->template = "standard.html"; $section->add_style($style); $section->save(); $ratatoeskr_settings["default_section"] = $section->get_id(); $ratatoeskr_settings->save(); $admingrp = Group::create("admins"); $admin = user::create($_POST["admin_username"], PasswordHash::create($_POST["admin_init_password"])); $admin->save(); $admingrp->include_user($admin); $article = Article::create("congratulations"); $article->title["en"] = new Translation("Congratulations! You have just installed Ratatöskr!", ""); $article->text["en"] = new Translation("Congratulations! You have just installed Ratatöskr!", "Markdown"); $article->excerpt["en"] = new Translation("Congratulations! You have just installed Ratatöskr!", "Markdown"); $article->status = ARTICLE_STATUS_LIVE; $article->timestamp = time(); $article->allow_comments = True; $article->set_section($section); $article->save(); try { Repository::create("http://repo-community.ratatoeskr-cms.net/"); Repository::create("http://repo-official.ratatoeskr-cms.net/"); } catch(RepositoryUnreachableOrInvalid $e) { $ste->vars["notice"] = $translation["could_not_initialize_repos"]; } /* Almost done. Give the user the config file. */ $config = "<?php\n\ndefine(\"__DEBUG__\", False);\ndefine(\"CONFIG_FILLED_OUT\", True);\ndefine(\"PLUGINS_ENABLED\", True);\n\n\$config[\"mysql\"][\"server\"] = '" . addcslashes($config["mysql"]["server"], "'") . "';\n\$config[\"mysql\"][\"db\"] = '" . addcslashes($config["mysql"]["db"], "'") . "';\n\$config[\"mysql\"][\"user\"] = '" . addcslashes($config["mysql"]["user"], "'") . "';\n\$config[\"mysql\"][\"passwd\"] = '" . addcslashes($config["mysql"]["passwd"], "'") . "';\n\$config[\"mysql\"][\"prefix\"] = '" . addcslashes($config["mysql"]["prefix"], "'") . "';\n\n?>"; $ste->vars["config"] = $config; die($ste->exectemplate("/systemtemplates/setup_done.html")); } catch(MySQLException $e) { $ste->vars["error"] = $e->getMessage(); } } } echo $ste->exectemplate("/systemtemplates/setup_dbsetup.html"); ?>