<?php $_SERVER['DOCUMENT_ROOT'] = "../.."; foreach (array_filter(scandir($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata"), function ($i) { return !str_starts_with($i, "."); }) as $file) { $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/$file"), true); echo("$file\n"); if (!isset($data["bitset"])) { die(" No bitset?? wtf\n"); } else { $bits = str_split(substr(str_repeat("0", 48), 0, 48 - strlen(decbin($data["bitset"]))) . decbin($data["bitset"])); echo(" Old:\n"); echo(" " . str_replace("+", "\e[92m1\e[39m", str_replace("-", "\e[31m0\e[39m", implode("", str_replace("0", "-", str_replace("1", "+", $bits))))) . "\n"); echo(" XX \n"); $bitsOld = implode("", $bits); foreach ([27, 28] as $bit) { $bits[$bit] = "0"; } echo(" New:\n"); echo(" " . str_replace("+", "\e[92m1\e[39m", str_replace("-", "\e[31m0\e[39m", implode("", str_replace("0", "-", str_replace("1", "+", $bits))))) . "\n"); echo(" XX \n"); echo(" Changed " . levenshtein($bitsOld, implode("", $bits)) . " bit(s)\n"); echo(" Backup made in " . substr($file, 0, -5) . "-old.json\n"); copy($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/$file", $_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . substr($file, 0, -5) . "-old.json"); $data["bitset"] = bindec(implode("", $bits)); echo(" Saved to " . $file . "\n"); file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/$file", json_encode($data)); } }