12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?php
- /* SVN FILE: $Id: HamlCodeBlockNode.php 92 2010-05-20 17:42:59Z chris.l.yates $ */
- /**
- * HamlCodeBlockNode class file.
- * @author Chris Yates <chris.l.yates@gmail.com>
- * @copyright Copyright (c) 2010 PBM Web Development
- * @license http://phamlp.googlecode.com/files/license.txt
- * @package PHamlP
- * @subpackage Haml.tree
- */
- require_once('HamlRootNode.php');
- require_once('HamlNodeExceptions.php');
- /**
- * HamlCodeBlockNode class.
- * Represents a code block - if, elseif, else, foreach, do, and while.
- * @package PHamlP
- * @subpackage Haml.tree
- */
- class HamlCodeBlockNode extends HamlNode {
- /**
- * @var HamlCodeBlockNode else nodes for if statements
- */
- public $else;
- /**
- * @var string while clause for do-while loops
- */
- public $doWhile;
- /**
- * Adds an "else" statement to this node.
- * @param SassIfNode "else" statement node to add
- * @return SassIfNode this node
- */
- public function addElse($node) {
- if (is_null($this->else)) {
- $node->root = $this->root;
- $node->parent = $this->parent;
- $this->else = $node;
- }
- else {
- $this->else->addElse($node);
- }
- return $this;
- }
- public function render() {
- $output = $this->renderer->renderStartCodeBlock($this);
- foreach ($this->children as $child) {
- $output .= $child->render();
- } // foreach
- $output .= (empty($this->else) ?
- $this->renderer->renderEndCodeBlock($this) : $this->else->render());
- return $this->debug($output);
- }
- }
|