147 lines
3.7 KiB
PHP
147 lines
3.7 KiB
PHP
<?php
|
|
// todo: whitelist / blacklist
|
|
// todo: repack osz file
|
|
// todo: dupe checker
|
|
// todo: stardiff deleter
|
|
// todo: mode deleter
|
|
|
|
|
|
// imports
|
|
require_once "libraries/osu_library.php";
|
|
require_once "libraries/optimizer.php";
|
|
require_once "libraries/utils.php";
|
|
require_once "libraries/template_engine.php";
|
|
require_once "temp/dump.php";
|
|
|
|
$lib = new osu_library();
|
|
|
|
$display = "start";
|
|
|
|
if ($lib->is_loaded())
|
|
{
|
|
$display = "main";
|
|
}
|
|
|
|
function redirect($path)
|
|
{
|
|
header('Location: ' . $path);
|
|
exit(0); // TERMINATE CURRENT SCRIPT!
|
|
}
|
|
|
|
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["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("./");
|
|
}
|
|
|
|
$start = file_get_contents("resources/start.html");
|
|
$start = str_replace("{{ STYLE }}", file_get_contents("resources/style.css"), $start);
|
|
echo $start;
|
|
// dump($lib, "lib");
|
|
echo '<a href="./?scan">[Scan]</a> ';
|
|
echo '<a href="./?rescan">[Force rescan]</a> ';
|
|
echo '<a href="./?blacken">[Remove backgrounds]</a> ';
|
|
echo '<a href="./?novid">[Remove videos]</a> ';
|
|
echo '<a href="./?nosb">[Remove storyboards]</a> ';
|
|
echo '<a href="./?noskin">[Remove beatmap skins]</a> ';
|
|
echo '<a href="./?nohit">[Remove custom hitsounds]</a> ';
|
|
echo '<a href="./?purify">[Remove junk files]</a> ';
|
|
echo '<a href="./?nuke">[NUKE]</a> ';
|
|
echo '<br /><br /><br /><a href="./splitter.php?page=1">[Explore]</a> ';
|
|
echo "<h2>" . count($lib->get_library()) . " mapsets loaded.</h2>";
|
|
echo "<h3>osu! folder: " . $lib->get_root() . "</h3>";
|
|
|
|
$proc_time = 0;
|
|
foreach ($lib->get_library() as $set)
|
|
{
|
|
foreach ($set["difficulties"] as $map)
|
|
{
|
|
$proc_time += $map["parsing_time"] ?? 0;
|
|
}
|
|
}
|
|
$proc_time = round($proc_time, 3);
|
|
$scan_time = round($lib->get_scan_time(), 3);
|
|
echo "<h3>Total parse time: " . $proc_time . " seconds</h3>";
|
|
echo "<h3>Scan time: " . $scan_time . " seconds</h3>";
|
|
// foreach ($lib->get_library() as $mapset)
|
|
// {
|
|
// echo '<div class="beatmapset">';
|
|
// echo '<h2>Beatmapset: ';
|
|
// if (!empty($mapset["id"])) echo $mapset["id"];
|
|
// else echo '???';
|
|
// echo '</h2>';
|
|
// foreach ($mapset["difficulties"] as $beatmap)
|
|
// {
|
|
// $beatmap["format-2"] = mb_substr($beatmap["format"] ?? "v1", 1);
|
|
// if (is_numeric(mb_substr($beatmap["format"] ?? "v1", 1)))
|
|
// {
|
|
// echo '<div class="beatmap">';
|
|
// echo '<h3>Title: ' . $beatmap["title"];
|
|
// if (!empty($beatmap["id"])) echo '<br />ID: ' . $beatmap["id"];
|
|
// echo '<br />Artist: ' . $beatmap["artist"];
|
|
// echo '<br />Mapper: ' . $beatmap["mapper"];
|
|
// echo '<br />Format: ' . $beatmap["format"];
|
|
// echo '</h3>';
|
|
// echo '<img class="small-background" src="./proxy.php?path=' . urlencode($mapset["path"] . "/" . $beatmap["background"]) . '" />';
|
|
// echo '</div>';
|
|
// }
|
|
// else
|
|
// {
|
|
// echo '<div class="beatmap">';
|
|
// echo '<h3>Extra: ' . $beatmap["format"];
|
|
// echo '</h3>';
|
|
// echo '</div>';
|
|
// }
|
|
// }
|
|
// echo '</div>';
|
|
// }
|