<?php

namespace Acms\Services\Auth;

class SimulateSubscriber extends General
{
    /**
     * 指定ユーザーが読者か
     *
     * @param int|null $uid
     * @return bool
     */
    public function isSubscriber($uid = SUID)
    {
        return true;
    }

    /**
     * 指定したユーザーが投稿者か
     *
     * @param int|null $uid
     * @return bool
     */
    public function isContributor($uid = SUID)
    {
        return false;
    }

    /**
     * 指定したユーザーが編集者か
     *
     * @param int|null $uid
     * @return bool
     */
    public function isEditor($uid = SUID)
    {
        return false;
    }

    /**
     * 指定したユーザーが管理者か
     *
     * @param int|null $uid
     * @return bool
     */
    public function isAdministrator($uid = SUID)
    {
        return false;
    }

    /**
     * 指定したユーザーがそのブログにおいて投稿者以上の権限があるか
     *
     * @param int|null $blogId
     * @param int|null $userId
     * @return bool
     */
    public function isPermissionOfContributor($blogId = BID, $userId = SUID)
    {
        return false;
    }

    /**
     * 指定したユーザーがそのブログにおいて編集者以上の権限があるか
     *
     * @param int|null $blogId
     * @param int|null $userId
     * @return bool
     */
    public function isPermissionOfEditor($blogId = BID, $userId = SUID)
    {
        return false;
    }

    /**
     * 指定したユーザーがそのブログにおいて管理者以上の権限があるか
     *
     * @param int|null $blogId
     * @param int|null $userId
     * @return bool
     */
    public function isPermissionOfAdministrator($blogId = BID, $userId = SUID)
    {
        return false;
    }

    /**
     * @inheritDoc
     */
    public function checkShortcut(array $ids, ?int $userId = SUID): bool
    {
        return false;
    }

    /**
     * 指定したユーザーがそのブログにおいて権限があるか
     *
     * @param int|null $blogId
     * @param int|null $userId
     * @return bool
     */
    public function isControlBlog($blogId, $userId = SUID)
    {
        return false;
    }
}
