支援者♡限定記事対応
This commit is contained in:
@@ -11,6 +11,7 @@ class BlogPost {
|
||||
$path = ROOT.$section;
|
||||
$posts = [];
|
||||
$isMember = $user !== NULL && $user->role !== \Roles::BANNED;
|
||||
$isPaywall = $user !== NULL && $user->role >= \Roles::SUBSCRIBER;
|
||||
$isStaff = $user !== NULL && $user->role & (\Roles::ADMIN | \Roles::STAFF);
|
||||
|
||||
if (!is_dir($path)) return $posts;
|
||||
@@ -46,6 +47,9 @@ class BlogPost {
|
||||
$preview = mb_substr(strip_tags($articleBody), 0, 50).'...';
|
||||
$slug = basename($file, '.md');
|
||||
if (isset($metadata['draft']) && !$isStaff) continue;
|
||||
$cannotPreview = (!$isMember && in_array('memberonly', $metadata['category']))
|
||||
|| ((!$isPaywall && !$isStaff) && in_array('subscriberonly', $metadata['category']))
|
||||
|| (!$isStaff && in_array('staffonly', $metadata['category']));
|
||||
|
||||
$posts[] = [
|
||||
'title' => $metadata['title'] ?? '',
|
||||
@@ -54,7 +58,7 @@ class BlogPost {
|
||||
'thumborient' => $metadata['thumborient'] ?? '',
|
||||
'category' => $metadata['category'] ?? [],
|
||||
'uuid' => $metadata['uuid'] ?? '',
|
||||
'preview' => ((!$isMember && in_array('memberonly', $metadata['category'])) || (!$isStaff && in_array('staffonly', $metadata['category'])) ? '未許可' : $preview),
|
||||
'preview' => ($cannotPreview ? '未許可' : $preview),
|
||||
'slug' => $slug,
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user