Exemplo n.º 1
0
 /**
  * @param Tokenizer $tokens
  * @param Tag $scope
  */
 public static function tagBlockClose($tokens, Tag $scope)
 {
     $tpl = $scope->tpl;
     $name = $scope["name"];
     if (isset($tpl->blocks[$name])) {
         // block defined
         $block =& $tpl->blocks[$name];
         if ($block['use_parent']) {
             $parent = $scope->getContent();
             $block['block'] = str_replace($block['use_parent'] . " ?>", "?>" . $parent, $block['block']);
         }
         if (!$block["import"]) {
             // not from {use} - redefine block
             $scope->replaceContent($block["block"]);
             return;
         } elseif ($block["import"] != $tpl->getName()) {
             // tag {use} was in another template
             $tpl->blocks[$scope["name"]]["import"] = false;
             $scope->replaceContent($block["block"]);
         }
     }
     $tpl->blocks[$scope["name"]] = array("from" => $tpl->getName(), "import" => false, "use_parent" => $scope["use_parent"], "block" => $scope->getContent());
 }