ロールの追加、性別もクラス化、テスト記事忘れた
諏訪子 <suwako@076.moe>、2025-12-29 17:19
コミット c458eecd53e5b9a70e517534f97d3b9805251f83
・親 113e0a0
・ファイルを見る
3個のファイル、+28 -6
| @@ -0,0 +1,11 @@ | ||
| 1 | +title: 書き込み中・・・ | |
| 2 | +uuid: fd0d879a-20e9-41b1-bee9-2729452c9a4c | |
| 3 | +author: 諏訪子 | |
| 4 | +date: 2025-12-29 07:50:11 | |
| 5 | +thumbnail: | |
| 6 | +thumborient: center | |
| 7 | +draft: true | |
| 8 | +category: test | |
| 9 | +---- | |
| 10 | +これは下書きの記事です。\ | |
| 11 | +Roles::ADMINやRoles::STAFFを持っている方以外誰もこの記事をアクセス出来ません。 |
| @@ -44,7 +44,7 @@ | ||
| 44 | 44 | } |
| 45 | 45 | $user->name = namecolor($user); |
| 46 | 46 | $user->regDate = date('Y年m月d日', $user->regDate); |
| 47 | - $user->gender = $user->gender === 0 ? '男' : ($user->gender === 1 ? '女' : '不明'); | |
| 47 | + $user->gender = $user->gender === \Gender::MALE ? '男' : ($user->gender === \Gender::FEMALE ? '女' : '不明'); | |
| 48 | 48 | $user->role = $user->role & (\Roles::ADMIN | \Roles::STAFF) ? '管理者' : ($user->role === \Roles::BANNED ? 'BANされた' : 'ユーザー'); |
| 49 | 49 | $user->avatar = '/static/user/'.($user->avatar === '' ? 'noicon.png' : $user->username.'/'.$user->avatar); |
| 50 | 50 | $user->altName = $user->displayname ?: $user->username; |
| @@ -197,7 +197,7 @@ | ||
| 197 | 197 | $user->regDate = time(); |
| 198 | 198 | $user->namecolor = ''; |
| 199 | 199 | $user->displayname = ''; |
| 200 | - $user->gender = -1; | |
| 200 | + $user->gender = \Gender::UNKNOWN; | |
| 201 | 201 | $user->role = \Roles::MEMBER; |
| 202 | 202 | $user->tokens = []; |
| 203 | 203 |
変更
util.php
| @@ -33,10 +33,21 @@ | ||
| 33 | 33 | public const int MEMBER = 1 << 0; // 1 |
| 34 | 34 | public const int NINTENDONDA = 1 << 1; // 2 |
| 35 | 35 | public const int PLAYSTATIONNDA = 1 << 2; // 4 |
| 36 | - public const int STAFF = 1 << 3; // 8 | |
| 37 | - public const int ADMIN = 1 << 7; // 128 | |
| 36 | + public const int FULLNDA = 1 << 3; // 8 (NINTENDONDA + PLAYSTATIONNDA) | |
| 37 | + public const int SUBSCRIBER = 1 << 4; // 16 | |
| 38 | + public const int NSUBSCRIBER = 1 << 5; // 32 (NINTENDNDA + SUBSCRIBER) | |
| 39 | + public const int PSUBSCRIBER = 1 << 6; // 64 (PLAYSTATIONNDA + SUBSCRIBER) | |
| 40 | + public const int FSUBSCRIBER = 1 << 7; // 128 (NINTENDNDA + PLAYSTATIONNDA + SUBSCRIBER) | |
| 41 | + public const int STAFF = 1 << 8; // 256 | |
| 42 | + public const int ADMIN = 1 << 9; // 512 | |
| 38 | 43 | } |
| 39 | 44 | |
| 45 | +class Gender { | |
| 46 | + public const int UNKNOWN = -1; // 不明 | |
| 47 | + public const int MALE = 0; // 男性 | |
| 48 | + public const int FEMALE = 1; // 女性 | |
| 49 | +} | |
| 50 | + | |
| 40 | 51 | $colorPalette = [ |
| 41 | 52 | 'ultradark' => [ |
| 42 | 53 | 'black' => '#020102', |
| @@ -296,7 +307,7 @@ | ||
| 296 | 307 | $female = "#F185C9"; |
| 297 | 308 | $ungender = "#7C60B0"; |
| 298 | 309 | |
| 299 | - $gender = 'color: '.($userData->gender === 0 ? $male : ($userData->gender === 1 ? $female : $ungender)).';'; | |
| 310 | + $gender = 'color: '.($userData->gender === Gender::MALE ? $male : ($userData->gender === Gender::FEMALE ? $female : $ungender)).';'; | |
| 300 | 311 | $style = $userData->namecolor ?: ($userData->role !== Roles::BANNED ? $gender : 'color: '.$ban.';'); |
| 301 | 312 | |
| 302 | 313 | $showname = $userData->displayname ?: $userData->username; |
| @@ -304,7 +315,7 @@ | ||
| 304 | 315 | $color = "<span style=\"{$style}\">{$showname}</span>"; |
| 305 | 316 | if ($userData->role & (Roles::ADMIN | Roles::STAFF)) |
| 306 | 317 | $color .= "<span style=\"font-size: x-small; background: #10c074; border: 1px solid #fcfcfc; border-radius: 10px; padding: 0 0.5em;\">✓</span>"; |
| 307 | - $suffix = $userData->gender === 0 ? 'くん' : ($userData->gender === 1 ? 'ちゃん' : 'さん'); | |
| 318 | + $suffix = $userData->gender === Gender::MALE ? 'くん' : ($userData->gender === Gender::FEMALE ? 'ちゃん' : 'さん'); | |
| 308 | 319 | |
| 309 | 320 | return $color.$suffix; |
| 310 | 321 | } |