Example #1
0
 /**
  * Processes the opt:selectorelse element.
  * @internal
  * @param Opt_Xml_Element $node
  * @throws Opt_InstructionInvalidParent_Exception
  */
 protected function _processSelectorelse(Opt_Xml_Element $node)
 {
     $parent = $node->getParent();
     if ($parent instanceof Opt_Xml_Element && $parent->getXmlName() == 'opt:selector') {
         $parent->set('priv:alternative', true);
         $section = self::getSection($parent->get('priv:section'));
         $node->addBefore(Opt_Xml_Buffer::TAG_BEFORE, ' } ' . $section['format']->get('section:endLoop') . ' } else { ');
         $this->_sectionEnd($parent);
         $this->_process($node);
     } else {
         throw new Opt_InstructionInvalidParent_Exception($node->getXmlName(), 'opt:section');
     }
 }
Example #2
0
 /**
  * Processes opt:treeelse node.
  * @internal
  * @param Opt_Xml_Element $node The instruction node found by the compiler.
  */
 protected function _processTreeelse(Opt_Xml_Element $node)
 {
     $parent = $node->getParent();
     if ($parent instanceof Opt_Xml_Element && $parent->getXmlName() == 'opt:tree') {
         $parent->set('sectionElse', true);
         $section = $this->getSection($parent->get('sectionName'));
         $node->addBefore(Opt_Xml_Buffer::TAG_BEFORE, ' } else { ');
         $this->_process($node);
     }
 }
Example #3
0
 public function testNodeSetParent()
 {
     $buffer = new Opt_Xml_Root();
     $element = new Opt_Xml_Element('foo');
     $element->setParent($buffer);
     if ($element->getParent() === $buffer) {
         return true;
     }
     $this->fail('The element parent has not been set properly.');
 }
Example #4
0
 /**
  * Processes the opt:sectionelse element.
  * @internal
  * @param Opt_Xml_Element $node The recognized element.
  */
 protected function _processSectionelse(Opt_Xml_Element $node)
 {
     $parent = $node->getParent();
     if ($parent instanceof Opt_Xml_Element && $parent->getXmlName() == 'opt:section') {
         $parent->set('priv:alternative', true);
         $section = self::getSection($parent->get('priv:section'));
         if (!is_array($section)) {
             throw new Opt_APINoDataReturned_Exception('Opt_Instruction_BaseSection::getSection', 'processing opt:sectionelse');
         }
         $node->addBefore(Opt_Xml_Buffer::TAG_BEFORE, $section['format']->get('section:endLoop') . ' } else { ');
         $this->_sectionEnd($parent);
         $this->_process($node);
     } else {
         throw new Opt_InstructionInvalidParent_Exception($node->getXmlName(), 'opt:section');
     }
 }
Example #5
0
 /**
  * Processes the opt:gridelse tag.
  * @internal
  * @param Opt_Xml_Element $node The recognized node.
  */
 protected function _processGridelse(Opt_Xml_Element $node)
 {
     $parent = $node->getParent();
     if ($parent instanceof Opt_Xml_Element && $parent->getXmlName() == 'opt:grid') {
         $parent->set('priv:alternative', true);
         $section = $parent->get('priv:section');
         $node->addBefore(Opt_Xml_Buffer::TAG_BEFORE, ' } else { ');
         //	$this->_deactivateSection($parent->get('sectionName'));
         $this->_process($node);
     }
 }