is_loaded()) { $display = "main"; } function redirect($path) { header('Location: ' . $path); exit(0); // TERMINATE CURRENT SCRIPT! } $te = new template_engine(); if ($display == "main") { if (isset($_GET["rescan"])) { $lib->rescan_library(json_decode(file_get_contents("session/settings.json"), true)["osu_folder"]); $lib->save_db(); redirect("./"); } if (isset($_GET["scan"])) { $lib->scan_library(json_decode(file_get_contents("session/settings.json"), true)["osu_folder"]); $lib->save_db(); redirect("./"); } if (isset($_GET["repack"]) && !empty($_GET["key"])) { $key = $_GET["key"]; $dl = @optimizer::repack($lib, $key); redirect("./" . $dl); } if (isset($_GET["blacken"])) { @optimizer::blacken_backgrounds($lib); redirect("./"); } if (isset($_GET["nosb"])) { @optimizer::remove_storyboards($lib); redirect("./"); } if (isset($_GET["novid"])) { @optimizer::remove_videos($lib); redirect("./"); } if (isset($_GET["noskin"])) { @optimizer::remove_skins($lib); redirect("./"); } if (isset($_GET["nohit"])) { @optimizer::remove_hitsounds($lib); redirect("./"); } if (isset($_GET["purify"])) { @optimizer::remove_other($lib); redirect("./"); } if (isset($_GET["nuke"])) { @optimizer::full_nuke($lib); redirect("./"); } $options = array( [ "./?scan", "Scan", "Only scan for changes." ], [ "./?rescan", "Force rescan", "Fully rescan the library. (cached)" ], [ "./?blacken", "Remove backgrounds", "Replace the background files with 1x1 black images." ], [ "./?novid", "Remove videos", "" ], [ "./?nosb", "Remove storyboards", "" ], [ "./?noskin", "Remove beatmap skins", "Does not remove hitsounds & storyboard elements." ], [ "./?nohit", "Remove custom hitsounds", "Does not remove storyboard elements." ], [ "./?purify", "Remove junk files", "Remove everything that isn't referenced in .osu or .osb files." ], [ "./?nuke", "NUKE", "Remove everything that isn't .osu or a referenced audio/background file. Note: old/bad maps might lose vital elements!" ], [ "./splitter.php?page=1", "Explore", "TBD" ], ); $parse_time = 0; foreach ($lib->get_library() as $set) { foreach ($set["difficulties"] as $map) { $parse_time += $map["parsing_time"] ?? 0; } } $mapset_count = count($lib->get_library()); $osu_root = $lib->get_root(); $parse_time = round($parse_time, 3); $scan_time = round($lib->get_scan_time(), 3); $te->set_block_template("CONTENT", "MAIN"); $te->set_block("MAIN_MAPSET_COUNT", $mapset_count); $te->set_block("MAIN_FOLDER_LOCATION", $osu_root); $te->set_block("MAIN_PARSE_TIME", $parse_time); $te->set_block("MAIN_SCAN_TIME", $scan_time); foreach ($options as list($link, $name, $description)) { $te->append_argumented_block("MAIN_OPTIONS", "MAIN_OPTION", [ "MAIN_OPTION_LINK" => $link, "MAIN_OPTION_NAME" => $name, "MAIN_OPTION_DESCRIPTION" => $description, ]); } echo $te->get_html(); // dump($lib, "lib"); } else if ($display == "start") { } // foreach ($lib->get_library() as $mapset) // { // echo '