File size: 1.41Kb
<?php
namespace MMO\Hide\BbCode\Tag;
use MMO\Hide\BbCode\AbstractTag;
use XF\Repository\UserGroupRepository;
class HideGroups extends AbstractTag
{
/**
* @inheritDoc
*/
public function render($content, array $tagChildren, $tagOption, array $tag, array $options)
{
$canView = false;
$tagOptions = explode(',', $tagOption);
$groupsAvailable = $this->repository(UserGroupRepository::class)->getUserGroupTitlePairs();
$groupsValid = [];
foreach ($tagOptions as $group_id)
{
if (empty($groupsAvailable[$group_id]))
{
continue;
}
$groupsValid[$group_id] = $groupsAvailable[$group_id];
if ($this->visitor()->isMemberOf($group_id))
{
$canView = true;
}
}
if (!$groupsValid)
{
$groupsValid[] = \XF::phrase('n_a');
}
$params = [
'groups' => \implode(', ', $groupsValid)
];
$title = [
'visible' => $this->getTitleVisible('mh_tag_groups', $params),
'hidden' => $this->getTitleHidden('mh_tag_groups', $params)
];
return $this->renderTemplate($content, $title, [
'canView' => $canView,
'options' => $options,
'tag' => $tag['tag']
]);
}
}