ロールの追加、性別もクラス化、テスト記事忘れた

諏訪子 <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 @@
4444 }
4545 $user->name = namecolor($user);
4646 $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 ? '女' : '不明');
4848 $user->role = $user->role & (\Roles::ADMIN | \Roles::STAFF) ? '管理者' : ($user->role === \Roles::BANNED ? 'BANされた' : 'ユーザー');
4949 $user->avatar = '/static/user/'.($user->avatar === '' ? 'noicon.png' : $user->username.'/'.$user->avatar);
5050 $user->altName = $user->displayname ?: $user->username;
@@ -197,7 +197,7 @@
197197 $user->regDate = time();
198198 $user->namecolor = '';
199199 $user->displayname = '';
200- $user->gender = -1;
200+ $user->gender = \Gender::UNKNOWN;
201201 $user->role = \Roles::MEMBER;
202202 $user->tokens = [];
203203
変更 util.php
@@ -33,10 +33,21 @@
3333 public const int MEMBER = 1 << 0; // 1
3434 public const int NINTENDONDA = 1 << 1; // 2
3535 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
3843 }
3944
45+class Gender {
46+ public const int UNKNOWN = -1; // 不明
47+ public const int MALE = 0; // 男性
48+ public const int FEMALE = 1; // 女性
49+}
50+
4051 $colorPalette = [
4152 'ultradark' => [
4253 'black' => '#020102',
@@ -296,7 +307,7 @@
296307 $female = "#F185C9";
297308 $ungender = "#7C60B0";
298309
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)).';';
300311 $style = $userData->namecolor ?: ($userData->role !== Roles::BANNED ? $gender : 'color: '.$ban.';');
301312
302313 $showname = $userData->displayname ?: $userData->username;
@@ -304,7 +315,7 @@
304315 $color = "<span style=\"{$style}\">{$showname}</span>";
305316 if ($userData->role & (Roles::ADMIN | Roles::STAFF))
306317 $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 ? 'ちゃん' : 'さん');
308319
309320 return $color.$suffix;
310321 }