/** * Adds block * * @param Aste_Block $block * @access private * @return void */ private function addBlock($block) { $this->blocks[$block->getName()] = $block; }
/** * Fetchs block content * * @param Aste_Block $block * @access public * @return void */ public function fetch($block) { $fake_tag = self::FAKE_TAG_PREFIX . $block->getName() . self::FAKE_RIGHT_DELIMITER; $fake_tag_length = strlen($fake_tag); $fake_tag_begin = strpos($this->getContent(), $fake_tag); if ($fake_tag_begin !== false) { if ($block->isDisplayable() === true) { $content = substr_replace($this->getContent(), $block->fetch(), $fake_tag_begin, $fake_tag_length); } elseif ($block->isDisplayable() === false) { $content = substr_replace($this->getContent(), '', $fake_tag_begin, $fake_tag_length); } else { $content = substr_replace($this->getContent(), self::LEFT_DELIMITER . $block->getName() . self::RIGHT_DELIMITER . $block->getContent() . self::LEFT_DELIMITER . self::END_BLOCK_MARK . $block->getName() . self::RIGHT_DELIMITER, $fake_tag_begin, $fake_tag_length); } $this->setContent($content); } // replaces variable which are used for recursive loops $this->parseVar($block->getName(), ''); }