App\Libraries\OsuAuthorize::checkForumPostDelete PHP Method

checkForumPostDelete() public method

public checkForumPostDelete ( $user, $post )
    public function checkForumPostDelete($user, $post)
    {
        $prefix = 'forum.post.delete.';
        $this->ensureLoggedIn($user);
        $this->ensureCleanRecord($user);
        if ($user->isGMT()) {
            return 'ok';
        }
        if (!$this->doCheckUser($user, 'ForumView', $post->topic->forum)->can()) {
            return $prefix . 'no_forum_access';
        }
        if ($post->poster_id !== $user->user_id) {
            return $prefix . 'not_owner';
        }
        if ($post->topic->isLocked()) {
            return $prefix . 'locked';
        }
        $position = $post->postPosition;
        $topicPostsCount = $post->topic->postsCount();
        if ($position !== $topicPostsCount) {
            return $prefix . 'only_last_post';
        }
        return 'ok';
    }