おマンコ
守矢諏訪子 <suwako@076.moe>、2025-12-08 01:44
コミット d810b7155fc04c25d7eadbdd3b714c6a1d94f9c9
・親 c7537ab
・ファイルを見る
2個のファイル、+17 -1
| @@ -9,6 +9,7 @@ | ||
| 9 | 9 | use Mods; |
| 10 | 10 | |
| 11 | 11 | public function login(array $params): void { |
| 12 | + if (!AUTH_ENABLED) return; | |
| 12 | 13 | try { |
| 13 | 14 | $auth = new Auth; |
| 14 | 15 | $user = $auth->getLoggedInUser(); |
| @@ -57,6 +58,7 @@ | ||
| 57 | 58 | } |
| 58 | 59 | |
| 59 | 60 | public function logout(array $params): void { |
| 61 | + if (!AUTH_ENABLED) return; | |
| 60 | 62 | try { |
| 61 | 63 | $auth = new Auth; |
| 62 | 64 | $user = $auth->getLoggedInUser(); |
| @@ -35,6 +35,7 @@ | ||
| 35 | 35 | } |
| 36 | 36 | |
| 37 | 37 | public function setToken(string $username, string $password): \Result { |
| 38 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 38 | 39 | $userData = $this->getUserData(); |
| 39 | 40 | if (!isset($userData->tokens) || !is_array($userData->tokens)) $userData->tokens = []; |
| 40 | 41 | |
| @@ -102,12 +103,14 @@ | ||
| 102 | 103 | } |
| 103 | 104 | |
| 104 | 105 | public function getToken(): string { |
| 106 | + if (!AUTH_ENABLED) return ''; | |
| 105 | 107 | $userData = $this->getUserData(); |
| 106 | 108 | if (!isset($userData->tokens) || !is_array($userData->tokens)) $userData->tokens = []; |
| 107 | 109 | $userData = $this->purgeOldTokens($userData); |
| 108 | 110 | } |
| 109 | 111 | |
| 110 | 112 | public function logout(?string $token = null): \Result { |
| 113 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 111 | 114 | $secure = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off'); |
| 112 | 115 | $domain = $_SERVER['SERVER_NAME']; |
| 113 | 116 | $userData = $this->getUserData(); |
| @@ -131,6 +134,7 @@ | ||
| 131 | 134 | } |
| 132 | 135 | |
| 133 | 136 | public function isUserExist(?string $username = null): \Result { |
| 137 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 134 | 138 | if (null === $username) return \Result::Error('エラー:ユーザー名をご入力下さい。'); |
| 135 | 139 | $userList = scandir($this->dataDir); |
| 136 | 140 | |
| @@ -145,6 +149,7 @@ | ||
| 145 | 149 | } |
| 146 | 150 | |
| 147 | 151 | public function mkUser(?string $username = null, ?string $password = null, ?string $passwordVerify = null, ?string $email = null): \Result { |
| 152 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 148 | 153 | if (!AUTH_REGISTER_ENABLED) return \Result::Error('ユーザー登録は無効です。'); |
| 149 | 154 | $resUsr = $this->verifyUsername($username); |
| 150 | 155 | $resPwd = $this->verifyPassword($password, $passwordVerify); |
| @@ -206,6 +211,7 @@ | ||
| 206 | 211 | //////////////////// |
| 207 | 212 | |
| 208 | 213 | private function verifyLogin(string $username, string $password): \Result { |
| 214 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 209 | 215 | $userData = $this->getUserData(); |
| 210 | 216 | if ($username !== $userData->username || !password_verify($password, $userData->password)) { |
| 211 | 217 | return \Result::Error('エラー:ユーザー名又はパスワードが一致していません。'); |
| @@ -225,6 +231,7 @@ | ||
| 225 | 231 | } |
| 226 | 232 | |
| 227 | 233 | private function purgeOldTokens(\stdClass $userData): \stdClass|\Result { |
| 234 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 228 | 235 | // 有効期限切れたトークンの削除 |
| 229 | 236 | $out = $userData; |
| 230 | 237 | $out->tokens = array_filter($userData->tokens, function($t): bool { |
| @@ -241,7 +248,8 @@ | ||
| 241 | 248 | return $out; |
| 242 | 249 | } |
| 243 | 250 | |
| 244 | - private function getUserId(?string $username = null, ?string $token): int { | |
| 251 | + private function getUserId(?string $username = null, ?string $token = null): int { | |
| 252 | + if (!AUTH_ENABLED) return 0; | |
| 245 | 253 | if (!$username && !$token) return 0; |
| 246 | 254 | $file = scandir($this->dataDir); |
| 247 | 255 | $matches = []; |
| @@ -267,6 +275,7 @@ | ||
| 267 | 275 | } |
| 268 | 276 | |
| 269 | 277 | private function getUserData(): \stdClass { |
| 278 | + if (!AUTH_ENABLED) return new \stdClass; | |
| 270 | 279 | $file = scandir($this->dataDir); |
| 271 | 280 | $userFile = ""; |
| 272 | 281 | $matches = []; |
| @@ -297,6 +306,7 @@ | ||
| 297 | 306 | } |
| 298 | 307 | |
| 299 | 308 | private function isEmailExist(?string $email = null): \Result { |
| 309 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 300 | 310 | $userList = scandir($this->dataDir); |
| 301 | 311 | $matches = []; |
| 302 | 312 | |
| @@ -316,6 +326,7 @@ | ||
| 316 | 326 | } |
| 317 | 327 | |
| 318 | 328 | private function verifyEmail(?string $email = null): \Result { |
| 329 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 319 | 330 | if (null === $email || '' === $email) return \Result::Error('エラー:メールアドレスをご入力下さい。'); |
| 320 | 331 | if (strpos($email, '@') === false) return \Result::Error('エラー:メールアドレスは不正です。'); |
| 321 | 332 | |
| @@ -335,6 +346,7 @@ | ||
| 335 | 346 | } |
| 336 | 347 | |
| 337 | 348 | private function verifyUsername(?string $username): \Result { |
| 349 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 338 | 350 | if (null === $username || '' === $username) return \Result::Error('エラー:ユーザー名をご入力下さい。'); |
| 339 | 351 | if (strlen($username) < 6) return \Result::Error('エラー:ユーザー名は6文字以上をご入力下さい。'); |
| 340 | 352 | |
| @@ -350,6 +362,7 @@ | ||
| 350 | 362 | } |
| 351 | 363 | |
| 352 | 364 | private function verifyPassword(?string $password = null, ?string $passwordVerify = null): \Result { |
| 365 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 353 | 366 | if (null === $password || '' === $password) return \Result::Error('エラー:パスワードをご入力下さい。'); |
| 354 | 367 | if ($password !== $passwordVerify) return \Result::Error('エラー:パスワードは一致していません。'); |
| 355 | 368 | |
| @@ -362,6 +375,7 @@ | ||
| 362 | 375 | } |
| 363 | 376 | |
| 364 | 377 | private function checkPasswordStandards(?string $password = null): \Result { |
| 378 | + if (!AUTH_ENABLED) return \Result::Error('エラー:認証システムは無効です。'); | |
| 365 | 379 | if (strlen($password) < $this->minPassLen) return \Result::Error("エラー:パスワードは{$this->minPassLen}以上をご入力下さい。"); |
| 366 | 380 | |
| 367 | 381 | if (!\countmatch($password)) { |