View file MMO-Hide-2.3.4/upload/src/addons/MMO/Hide/BbCode/ProcessorAction/AnalyzeHideBbCodeUsage.php

File size: 0.99Kb
<?php

namespace MMO\Hide\BbCode\ProcessorAction;

use MMO\Hide\Data\HideTags;
use XF\BbCode\ProcessorAction\AnalyzerHooks;
use XF\BbCode\ProcessorAction\AnalyzerInterface;

class AnalyzeHideBbCodeUsage implements AnalyzerInterface
{
    public $option;
    public string $tag = '';

    public function addAnalysisHooks(AnalyzerHooks $hooks)
    {
        $hooks->addSetupHook('initialize');

        /** @var HideTags $tags */
        $tags = \XF::app()->data(HideTags::class);
        foreach ($tags->getHideTags() as $tag)
        {
            $hooks->addTagHook($tag, 'analyzeHideTag');
        }
    }

    public function initialize()
    {
        $this->option = null;
        $this->tag = '';
    }

    public function analyzeHideTag(array $tag, array $options)
    {
        $option = $tag['option'];
        if (!empty($option) && is_numeric($option))
        {
            $this->tag = $tag['tag'];
            $this->option = \intval($option);
        }
    }
}