Author: Asmir Mustafic (goetas@gmail.com)
Inheritance: implements Goetas\Twital\Attribute
Esempio n. 1
0
 public function visit(\DOMAttr $att, Compiler $context)
 {
     $node = $att->ownerElement;
     if (!($prev = IfAttribute::findPrevElement($node))) {
         throw new Exception("The attribute 'elseif' must be the very next sibling of an 'if' of 'elseif' attribute");
     }
     $pi = $context->createControlNode("else");
     $node->parentNode->insertBefore($pi, $node);
     $pi = $context->createControlNode("endif");
     $node->parentNode->insertBefore($pi, $node->nextSibling);
     $node->removeAttributeNode($att);
 }
Esempio n. 2
0
 public function visit(\DOMAttr $att, Compiler $context)
 {
     $node = $att->ownerElement;
     if (!($prev = IfAttribute::findPrevElement($node))) {
         throw new Exception("The attribute 'elseif' must be the very next sibling of an 'if' of 'elseif' attribute");
     }
     $pi = $context->createControlNode("elseif " . html_entity_decode($att->value));
     $node->parentNode->insertBefore($pi, $node);
     if (!($nextElement = IfAttribute::findNextElement($node)) || !$nextElement->hasAttributeNS(Twital::NS, 'elseif') && !$nextElement->hasAttributeNS(Twital::NS, 'else')) {
         $pi = $context->createControlNode("endif");
         $node->parentNode->insertBefore($pi, $node->nextSibling);
         // insert after
     } else {
         IfAttribute::removeWhitespace($node);
     }
     $node->removeAttributeNode($att);
 }