post; $key = TextHelper::reprPost($post); $flagged = SessionHelper::get('flagged', []); if (in_array($key, $flagged)) throw new SimpleException('You already flagged this post'); $flagged []= $key; SessionHelper::set('flagged', $flagged); Logger::log('{user} flagged {post} for moderator attention', [ 'user' => TextHelper::reprUser(Auth::getCurrentUser()), 'post' => TextHelper::reprPost($post)]); return $post; } public function requiresPrivilege() { return new Privilege( Privilege::FlagPost, Access::getIdentity($this->post->getUploader())); } }