1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?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(" XXXXXXXXXX X XXXXXX X XX XXXX X\n");
$bitsOld = implode("", $bits);
foreach ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 18, 19, 20, 21, 22, 23, 26, 31, 32, 41, 42, 43, 44, 47] 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(" XXXXXXXXXX X XXXXXX X XX XXXX X\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));
}
}
|