1
0
mirror of https://github.com/danog/telerpc.git synced 2024-11-26 12:04:47 +01:00

Add more global codes

This commit is contained in:
Daniil Gentili 2024-06-15 18:07:50 +02:00
parent 0262a6c326
commit d16e275a29

View File

@ -199,12 +199,13 @@ final class Main
}
}
$allowed = ['SESSION_PASSWORD_NEEDED' => true, 'BOT_METHOD_INVALID' => true];
$q = $this->pdo->prepare('SELECT error, method FROM errors');
$q->execute();
$r = $q->fetchAll(PDO::FETCH_COLUMN | PDO::FETCH_GROUP);
foreach ($r as $error => $methods) {
foreach (array_merge($r, self::GLOBAL_CODES) as $error => $methods) {
if (is_int($methods)) {
$methods = [];
}
$anyok = false;
foreach ($methods as $method) {
if (RPCErrorException::isBad($error, 0, $method)) {
@ -218,7 +219,6 @@ final class Main
if (!$anyok) {
continue;
}
$allowed[$error] = true;
$q = $this->pdo->prepare('SELECT description FROM error_descriptions WHERE error=?');
$q->execute([$error]);
@ -239,19 +239,6 @@ final class Main
}
}
$q = $this->pdo->prepare('SELECT error FROM error_descriptions');
$q->execute();
$r = $q->fetchAll(PDO::FETCH_COLUMN);
foreach ($r as $error) {
if (!isset($allowed[$error])) {
$q = $this->pdo->prepare('DELETE FROM errors WHERE error=?');
$q->execute([$error]);
$q = $this->pdo->prepare('DELETE FROM error_descriptions WHERE error=?');
$q->execute([$error]);
echo 'Delete '.$error."\n";
}
}
$r = $this->v2();
\file_put_contents('data/v2.json', \json_encode(['ok' => true, 'result' => $r]));
[$r, $hr] = $this->v3();