refactor change self:: to static::

This commit is contained in:
小喵 2023-08-27 15:27:42 +08:00
parent cc92d67c05
commit 0393ab8b89
Signed by: mt
GPG key ID: CD321C269EC63BB6
4 changed files with 36 additions and 20 deletions

View file

@ -21,14 +21,14 @@ class App
public static function getTemplate(): Engine
{
static $templates = new Engine(__DIR__ . '/../templates');
$me = self::me();
$isLogin = self::checkU();
$me = static::me();
$isLogin = static::checkU();
$templates->addData([
'me' => $me,
'whoami' => "$me->username#$me->userDiscriminator",
'noStatus' => false,
'isLogin' => $isLogin,
'isAllowed' => $isLogin && $me !== null && self::isAllowed($me->userId),
'isAllowed' => $isLogin && $me !== null && static::isAllowed($me->userId),
]);
return $templates;
}
@ -40,10 +40,10 @@ class App
public static function checkU(): bool
{
$token = self::getU();
$token = static::getU();
if ($token === null) return false;
if ($token->timestamp + $token->expires_in < time()) return false;
return self::me() !== null;
return static::me() !== null;
}
public static function setU(Token $token): void
@ -80,7 +80,7 @@ class App
public static function requireAuth(): void
{
if (!self::checkU()) {
if (!static::checkU()) {
header('location: /login.php');
http_response_code(302);
exit;
@ -89,7 +89,7 @@ class App
public static function requireNonAuth(): void
{
if (self::checkU()) {
if (static::checkU()) {
header('location: /');
http_response_code(302);
exit;
@ -98,10 +98,10 @@ class App
public static function requireAllowed(): void
{
self::requireAuth();
$me = self::me();
if ($me === null || !self::isAllowed($me->userId)) {
self::template([
static::requireAuth();
$me = static::me();
if ($me === null || !static::isAllowed($me->userId)) {
static::template([
'title' => '您無權限使用本系統',
'body' => <<<HTML
<div class="mt-5">
@ -117,7 +117,7 @@ HTML,
{
try {
$token = Auth::getTokenByCode($code);
if ($token !== null) self::setU($token);
if ($token !== null) static::setU($token);
} catch (Exception) {
error_log('Failed to getTokenByCode.');
}
@ -126,7 +126,7 @@ HTML,
public static function me(): ?Me
{
try {
$u = self::getU();
$u = static::getU();
if ($u === null) return null;
return Auth::getMe($u);
} catch (Exception) {
@ -139,8 +139,8 @@ HTML,
public static function template(array $params): void
{
$status = '';
if (self::checkU() && !$params['no_status']) {
$me = self::me();
if (static::checkU() && !$params['no_status']) {
$me = static::me();
$status = <<<HTML
<div>您已使用 <code>$me->username#$me->userDiscriminator</code> 登入,點選此處以<a href="/logout.php">登出系統</a>。</div>
HTML;
@ -181,13 +181,13 @@ HTML;
public static function isAllowed(string $userId): bool
{
return in_array($userId, self::allowedUsers);
return in_array($userId, static::allowedUsers);
}
#[NoReturn]
public static function render(string $name, array $data = []): void
{
$html = self::getTemplate()->render($name, $data);
$html = static::getTemplate()->render($name, $data);
header('Content-Type: text/html; charset=utf-8');
header('Content-Length: ' . strlen($html));

View file

@ -42,7 +42,7 @@ class Auth
{
$query_string = http_build_query([
'client_id' => $_ENV['DISCORD_CLIENT_ID'],
'redirect_uri' => self::DISCORD_REDIRECT_URI,
'redirect_uri' => static::DISCORD_REDIRECT_URI,
'response_type' => 'code',
'scope' => 'identify',
]);
@ -60,7 +60,7 @@ class Auth
'client_secret' => $_ENV['DISCORD_CLIENT_SECRET'],
'grant_type' => 'authorization_code',
'code' => $code,
'redirect_uri' => self::DISCORD_REDIRECT_URI,
'redirect_uri' => static::DISCORD_REDIRECT_URI,
]),
],
])));

View file

@ -29,7 +29,7 @@ abstract class FileViewer
$directory = static::directory();
$filename = "$directory/$file";
if (!in_array($file, self::list()) || !file_exists($filename) || !is_file($filename)) return null;
if (!in_array($file, static::list()) || !file_exists($filename) || !is_file($filename)) return null;
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$content = file_get_contents($filename);