src/EventHandler/FilterRawEventHandler.php
<?php
namespace Thunder\Shortcode\EventHandler;
use Thunder\Shortcode\Event\FilterShortcodesEvent;
/**
* @author Tomasz Kowalczyk <tomasz@kowalczyk.cc>
*/
final class FilterRawEventHandler
{
/** @var string[] */
private $names = array();
public function __construct(array $names)
{
foreach($names as $name) {
if(false === is_string($name)) {
throw new \InvalidArgumentException('Expected array of strings!');
}
$this->names[] = $name;
}
}
public function __invoke(FilterShortcodesEvent $event)
{
$parent = $event->getParent();
if($parent && \in_array($parent->getName(), $this->names, true)) {
$event->setShortcodes(array());
return;
}
}
}