Source for file _class_renderer.php
Documentation is available at _class_renderer.php
* This file implements the renderer (EXPERIMENTAL)
* b2evolution - {@link http://b2evolution.net/}
* Released under GNU GPL License - {@link http://b2evolution.net/about/license.html}
* @copyright (c)2003-2005 by Francois PLANQUE - {@link http://fplanque.net/}
if( !defined('DB_USER') ) die( 'Please, do not access this page directly.' );
require_once dirname(__FILE__
).
'/_class_plug.php';
* {@internal Renderer::Renderer(-)}}
// Call parent constructor:
parent::Plug( 'renderer' );
* {@internal Renderer::validate_list(-)}}
* @param array renderer codes
* @return array validated array
$this->init(); // Init if not done yet.
$validated_renderers =
array();
while( $loop_RendererPlugin =
$this->get_next() )
{ // Go through whole list of renders
// echo ' ',$loop_RendererPlugin->code;
switch( $loop_RendererPlugin->apply_when )
$validated_renderers[] =
$loop_RendererPlugin->code;
if( in_array( $loop_RendererPlugin->code, $renderers ) // Option is activated
||
in_array( 'default', $renderers ) ) // OR we're asking for default renderer set
$validated_renderers[] =
$loop_RendererPlugin->code;
if( in_array( $loop_RendererPlugin->code, $renderers ) ) // Option is activated
$validated_renderers[] =
$loop_RendererPlugin->code;
continue; // STOP, don't render, go to next renderer
// echo count( $validated_renderers );
return $validated_renderers;
* {@internal Renderer::render(-)}}
* @param string content to render
* @param array renderer codes
* @param string Output format, see {@link format_to_output()}
* @return string rendered content
function render( & $content, & $renderers, $format )
$this->init(); // Init if not done yet.
// echo implode(',',$renderers);
while( $loop_RendererPlugin =
$this->get_next() )
{ // Go through whole list of renders
//echo ' ',$loop_RendererPlugin->code, ':';
switch( $loop_RendererPlugin->apply_when )
$loop_RendererPlugin->render( $content, $format );
if( in_array( $loop_RendererPlugin->code, $renderers ) )
$loop_RendererPlugin->render( $content, $format );
break; // STOP, don't render, go to next renderer