for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Goetas\Twital\Attribute;
use Goetas\Twital\Attribute;
use Goetas\Twital\Compiler;
/**
*
* @author Asmir Mustafic <[email protected]>
*/
class OmitAttribute implements Attribute
{
public function visit(\DOMAttr $att, Compiler $context)
$node = $att->ownerElement;
$pi = $context->createControlNode("set __tmp_omit = " . html_entity_decode($att->value));
$node->parentNode->insertBefore($pi, $node);
$pi = $context->createControlNode("if not __tmp_omit");
$pi = $context->createControlNode("endif");
if ($node->firstChild) {
$node->insertBefore($pi, $node->firstChild);
} else {
$node->appendChild($pi);
}
if ($node->parentNode->nextSibling) {
$node->parentNode->insertBefore($pi, $node->parentNode->nextSibling);
$node->parentNode->appendChild($pi);
$node->removeAttributeNode($att);
if ($att->value == "true" || $att->value == "1") {
foreach (iterator_to_array($node->attributes) as $att) {
return Attribute::STOP_ATTRIBUTE;