View file MMO-Hide-2.3.4/upload/src/addons/MMO/Hide/BbCode/Tag/HideUsersIdExc.php

File size: 1.2Kb
<?php

namespace MMO\Hide\BbCode\Tag;

use MMO\Hide\BbCode\AbstractTag;
use XF\Entity\User;

class HideUsersIdExc extends AbstractTag
{
    /**
     * @inheritDoc
     */
    public function render($content, array $tagChildren, $tagOption, array $tag, array $options)
    {
        $canView = true;
        $userIds = \array_map('trim', \explode(',', $tagOption));
        $users = [];
        foreach ($userIds as $userId)
        {
            $user = $this->findOne(User::class, [
                'user_id' => $userId
            ]);
            if($user)
            {
                $users[] = $user['user_id'];
            }
        }

        if (\in_array($this->visitor()->user_id, $users))
        {
            $canView = false;
        }

        $params = ['user_id' => \implode(', ', $users)];
        $title = [
            'visible' => $this->getTitleVisible('mh_tag_users_id_exc_x', $params),
            'hidden'  => $this->getTitleHidden('mh_tag_users_id_exc_x', $params)
        ];

        return $this->renderTemplate($content, $title, [
            'canView' => $canView,
            'options' => $options,
            'tag' => $tag['tag']
        ]);
    }
}