ロール
This commit is contained in:
@@ -10,8 +10,8 @@ class BlogPost {
|
||||
public function getPosts(string $section, ?\stdClass $user): array {
|
||||
$path = ROOT.$section;
|
||||
$posts = [];
|
||||
$isMember = $user !== NULL;
|
||||
$isStaff = $user !== NULL && $user->role === 1;
|
||||
$isMember = $user !== NULL && $user->role !== \Roles::BANNED;
|
||||
$isStaff = $user !== NULL && $user->role & (\Roles::ADMIN | \Roles::STAFF);
|
||||
|
||||
if (!is_dir($path)) return $posts;
|
||||
$files = glob($path.'/*.md');
|
||||
|
||||
@@ -113,8 +113,8 @@ class Home extends BlogPost {
|
||||
// ユーザー
|
||||
$auth = new Auth();
|
||||
$user = $auth->getLoggedInUser();
|
||||
$isMember = $user !== NULL;
|
||||
$isStaff = $user !== NULL && $user->role === 1;
|
||||
$isMember = $user !== NULL && $user->role !== \Roles::BANNED;
|
||||
$isStaff = $user !== NULL && $user->role & (\Roles::ADMIN | \Roles::STAFF);
|
||||
$tmpl->assign('user', $user);
|
||||
|
||||
$tmpl->assign('pagetit', $pagetit);
|
||||
|
||||
@@ -96,7 +96,7 @@ class Page {
|
||||
$tmpl->assign('menu', $this->getMenu());
|
||||
$tmpl->assign('description', $description);
|
||||
|
||||
if ($user && $user->role != -1) $tmpl->render('memberonly');
|
||||
if ($user && $user->role !== \Roles::BANNED) $tmpl->render('memberonly');
|
||||
else $tmpl->render('nopermission');
|
||||
} catch (\Exception $e) {
|
||||
throw new \Exception($e->getMessage());
|
||||
@@ -121,7 +121,7 @@ class Page {
|
||||
$tmpl->assign('menu', $this->getMenu());
|
||||
$tmpl->assign('description', $description);
|
||||
|
||||
if ($user && $user->role == 1) $tmpl->render('staffonly');
|
||||
if ($user && $user->role & (\Roles::ADMIN | \Roles::STAFF)) $tmpl->render('staffonly');
|
||||
else $tmpl->render('nopermission');
|
||||
} catch (\Exception $e) {
|
||||
throw new \Exception($e->getMessage());
|
||||
|
||||
@@ -40,13 +40,13 @@ class Auth {
|
||||
unset($user->password);
|
||||
unset($user->tokens);
|
||||
$myself = $this->getUserData();
|
||||
if ($myself->role === 1) {
|
||||
if ($myself->role & (\Roles::PLAYSTATIONNDA | \Roles::NINTENDONDA | \Roles::MEMBER | \Roles::BANNED)) {
|
||||
unset($user->email);
|
||||
}
|
||||
$user->name = namecolor($user);
|
||||
$user->regDate = date('Y年m月d日', $user->regDate);
|
||||
$user->gender = $user->gender === 0 ? '男' : ($user->gender === 1 ? '女' : '不明');
|
||||
$user->role = $user->role === 1 ? '管理者' : ($user->role === -1 ? 'BANされた' : 'ユーザー');
|
||||
$user->role = $user->role & (\Roles::ADMIN | \Roles::STAFF) ? '管理者' : ($user->role === \Roles::BANNED ? 'BANされた' : 'ユーザー');
|
||||
$user->avatar = '/static/user/'.($user->avatar === '' ? 'noicon.png' : $user->username.'/'.$user->avatar);
|
||||
$user->altName = $user->displayname ?: $user->username;
|
||||
unset($user->username);
|
||||
@@ -199,7 +199,7 @@ class Auth {
|
||||
$user->namecolor = '';
|
||||
$user->displayname = '';
|
||||
$user->gender = -1;
|
||||
$user->role = 0;
|
||||
$user->role = \Roles::MEMBER;
|
||||
$user->tokens = [];
|
||||
|
||||
$path = "{$this->dataDir}{$lastId}.{$username}.json";
|
||||
|
||||
Reference in New Issue
Block a user