Esempio n. 1
0
function smarty_block_block($params, $content, $template, &$repeat)
{
    global $smarty_block_stack;
    global $smarty_blocks;
    if (!$content) {
        $block = new Block($params['name']);
        apply_block_params($block, $params);
        $block->output(false);
        if (count($smarty_block_stack) > 0) {
            $parent = end($smarty_block_stack);
            $parent->add_block($block);
        }
        array_push($smarty_block_stack, $block);
    } else {
        $block = end($smarty_block_stack);
        if (count($smarty_block_stack) > 0) {
            array_pop($smarty_block_stack);
        }
        if (strpos($content, '{elements}') !== FALSE) {
            $count = substr_count($content, '{elements}');
            $count -= 1;
            if ($count > 0) {
                $content = preg_replace('/{elements}/', "", $content, $count);
            }
        }
        PC::content($content);
        $block->html($content);
        str_replace('{elements}', '', $content);
        if (count($smarty_block_stack) == 0) {
            return $block->show();
        } else {
            return '{elements}';
        }
    }
}