View file upload/src/addons/MMO/Hide/XF/Service/Message/Preparer.php

File size: 829B
<?php

namespace MMO\Hide\XF\Service\Message;

use MMO\Hide\BbCode\HideTags;
use XF\Mvc\Entity\Entity;

class Preparer extends XFCP_Preparer
{
    /**
     * @param $message
     *
     * @return bool
     */
    public function checkValidity($message)
    {
        parent::checkValidity($message);

        /** @var \XF\BbCode\ProcessorAction\AnalyzeUsage $usage */
        $usage = $this->bbCodeProcessor->getAnalyzer('usage');
        foreach (HideTags::getHideTags() as $tag)
        {
            if ($usage->getTagCount($tag) && !\XF::visitor()->canUseHideTag(ucfirst($tag)))
            {
                $this->errors[] = \XF::phraseDeferred("mh_tag_{$tag}_no_permission");
            }
        }
        $this->isValid = (count($this->errors) == 0);
        return $this->isValid;
    }
}