public function addBlock($type, array $params, $paramtype)
    {
        if ($this->debug) {
            echo 'Compiler::' . __FUNCTION__ . "\n";
        }

        $class = current(array_filter([
            'Plugin' . Core::toCamelCase($type),
            Core::NAMESPACE_PLUGINS_BLOCKS . 'Plugin' . Core::toCamelCase($type)
        ], 'class_exists'));
        if (false === $class) {
            $this->getCore()->getLoader()->loadPlugin($type);
        }
        $params = $this->mapParams($params, array($class, 'init'), $paramtype);

        $this->stack[]  = array(
            'type'   => $type,
            'params' => $params,
            'custom' => false,
            'class'  => $class,
            'buffer' => null
        );
        $this->curBlock = &$this->stack[count($this->stack) - 1];

        return call_user_func(array($class, 'preProcessing'), $this, $params, '', '', $type);
    }
public function addBlock($type, array $params, $paramtype)
    {
        if ($this->debug) {
            echo 'Compiler::' . __FUNCTION__ . "\n";
        }

        $class = current(array_filter([
            'Plugin' . Core::toCamelCase($type),
            Core::NAMESPACE_PLUGINS_BLOCKS . 'Plugin' . Core::toCamelCase($type)
        ], 'class_exists'));
        if (false === $class) {
            $this->getCore()->getLoader()->loadPlugin($type);
        }
        $params = $this->mapParams($params, array($class, 'init'), $paramtype);

        $this->stack[]  = array(
            'type'   => $type,
            'params' => $params,
            'custom' => false,
            'class'  => $class,
            'buffer' => null
        );
        $this->curBlock = &$this->stack[count($this->stack) - 1];

        return call_user_func(array($class, 'preProcessing'), $this, $params, '', '', $type);
    }
public function addBlock ( $ type , array $ params , $ paramtype ) { if ( $ this -> debug ) { echo 'Compiler::' . __FUNCTION__ . "\n" ; } $ class = current ( array_filter ( [ 'Plugin' . Core :: toCamelCase ( $ type ) , Core :: NAMESPACE_PLUGINS_BLOCKS . 'Plugin' . Core :: toCamelCase ( $ type ) ] , 'class_exists' ) ) ; if ( false === $ class ) { $ this -> getCore ( ) -> getLoader ( ) -> loadPlugin ( $ type ) ; } $ params = $ this -> mapParams ( $ params , array ( $ class , 'init' ) , $ paramtype ) ; $ this -> stack [ ] = array ( 'type' => $ type , 'params' => $ params , 'custom' => false , 'class' => $ class , 'buffer' => null ) ; $ this -> curBlock = & $ this -> stack [ count ( $ this -> stack ) - 1 ] ; return call_user_func ( array ( $ class , 'preProcessing' ) , $ this , $ params , '' , '' , $ type ) ; }
Adds a block to the top of the block stack.

@param string $type      block type (name)
@param array  $params    the parameters array
@param int    $paramtype the parameters type (see mapParams), 0, 1 or 2

@return string the preProcessing() method's output
Adds a block to the top of the block stack .