abstract class Template

Class Template

Properties

static array $theme_set_config

Stores Theme configuration information

static protected int $output_mode
string $block_id
array $data_blocks
array $marker_sets
Controller $mod
array $html_blocks
mixed $markers
protected array $file_cache
protected string $render_stage
protected bool $render_stage_key
protected bool $render_stage_block
protected int $render_stage_ttl
protected int $render_stage_force_render
protected array $_prerendered
protected bool $final_render_call
protected array[] $auto_render_sub_blocks
protected mixed $template_includes
protected string $render_mode
protected $previous_render_mode
$render_mode_block
protected $_raw_markers
protected bool $option_template_debug
protected $last_xtag_if_value
protected $last_parse_template

Methods

__construct()

Template constructor.

__toString()

No description

static string
_parse_template_content(string $template_content, bool $block = false, bool $parseLangStrings = true, Template $to = null)

No description

static string
_parse_template_content_markers(string $template_content, Template $to)

Parse for ###Markers###

static mixed
_parse_template_content_xtags(mixed $content, bool|Template $to = false)

Parse the passed HTML source for xTags and render these xTags

bool|string
_render_array_block(mixed $array, mixed $key = false)

Internal Render Function

void
add_renderer(string|array $auto_render_sub_block)

No description

bool
add_template(string $name, string $path)

Add a template to the registry

void
append(string $marker, string $content, string $block = 'content')

No description

void
append_to_list(string $marker, string $content, string $block = 'content')

No description

assign(mixed $marker, string $content = 'array_fill', string $block = 'content', int|bool $cache_ttl = false, string $cache_group = 'default')

No description

assign_js($options)

No description

assign_xss()

No description

string|null
auto_render_block(string $block)

No description

static 
cb_gettext($matches)

No description

bool
clear_marker_cache(string $marker = '', string $cache_group = '', string $block = 'content')

No description

static DOMNode
convert_to_xml(string $xml_source, array $errors = array())

Convert String to XML Node

void
disable_render_stage()

DISABLE Pre-Rendering and resets staging params

enable_render_stage(string $render_stage = 'pre', string $cache_key = 'auto', int $ttl = 3600, string $block_id = 'content')

ENABLE Pre-Rendering for template parsing

string
format_template_specialchars(string $text)

Escape / Convert Template specific characters (###;{{{;}}})

string
generateTemplateCacheKey(string $template_file, string $section, string|null $render_stage = null, string|null $cache_key = null)

No description

string
getFileCacheContent(string $tpl, string $section)

No description

static mixed
get_config(string $var)

Get Config Value of Custom Theme Config

array
get_marker_block(string $block)

No description

get_marker_content(string $block, string $marker, bool $render_objects = false, $params = false)

No description

get_output_mode()

No description

array
get_render_blocks()

No description

mixed
get_render_mode(bool $changes_only = false, bool $previous_mode = false)

No description

object|string
get_rendered_object(object $object, array $params = null)

Calls the render() function recursively of the passed object and returns the content

string
get_template_debug()

Returns the debug output for the current template

get_xtag_marker_value($params, $is_indexed = false, $clean_params = false, $escape_markers = true)

No description

static array
get_xtag_registry()

Returns the xtag registry

array
handle_custom_namespace(mixed $ns, int $k, mixed $name)

This function is used to fund

init_template_vars()

put your comment there.

bool
is_final_render_call()

Is the current render cycle the last cycle? (i.e. initiated from view)

load_theme_set_config()

Set the theme configuration (theme set config)

bool
marker_is_cached(string $marker, string $cache_group = 'default', string $block = 'content')

No description

string
output_html()

Output the final HTML

string
output_login_form()

No description

string
output_pw_change_form()

No description

string
output_two_factor_auth_form()

No description

string
parse_partial_template(string $template, string $section, $values)

No description

mixed
parse_template(string $template, string|bool $section = false, string|bool $block_id = false, string|bool $recursive = false)

Generic Template Loader

string
parse_template_content($template_content, bool $block = false, bool $parseLangStrings = true, bool $to = false)

No description

string
parse_template_translate_cb(array $matches)

Callback used by template language replace

mixed|string
parse_xtag(array $xml_source)

Evaluate the passed XML Source parse xTags

mixed
pre_render_action(string $page, array $args = array())

Enables a template to execute certain tasks before page is fully rendered (e.g. AJAX navigation)

register_xtag_parser(string $module_name, bool|array $callback = false)

Register custom xtag parser

removeRenderer($block)

Remove a block which in turn will not be rendered

string
render()

No description

mixed
render_action(mixed $page, array $args = array())

Render Action Function on Template if exists

string
render_array_block(mixed $array, string|bool $key = false)

No description

string
render_content_marker()

No description

string
render_error()

No description

string
render_html(bool $final_render_call = false)

No description

bool
render_is_prepared(mixed $template, mixed $section = 'false', mixed $render_stage = 'pre', mixed $cache_key = null)

Check wether a render stage is already cached or not This allows controllers to save on processing time if certain fields are calculated for the template only You need to call this function AFTER getting a view

string
render_login()

wrapper for beeing able to use the output_login_form as renderer

string
render_meta_script_resources()

Render Meta Script Resources

string
render_meta_style_resources()

Render CSS Resources

render_prepare(string $render_stage = 'pre', string $cache_key = 'global', int $ttl = 3600, string $block_id = 'content')

Pre-Render Templates

string
render_system_flash_message()

put your comment there.

string
render_xtag(string $tag, array $params)

xTag Controller, regisitered for namespace xt (xelos template)

string
render_xtag_element(DOMNode $dom_node, bool $render_only_childs = false, bool $special_child_handling_overwrite = false)

Renders the passed XML Element to String and uses registered xTag Controllers if possible

mixed
retrieve(string $marker, string $block = 'content', bool $clean_params = false)

No description

void
setFileCacheContent(string $tpl, string $section, string $content = null)

No description

set_block_id($block_id)

No description

void
set_marker_content(string $block, mixed $marker, string $content = 'array_fill', int|bool $cache_ttl = false, string $cache_group = 'default')

Set Marker

set_output_mode(int $flags = 0)

Set Output Mode

void
set_render_mode(string $mode = 'full', string $block = 'content')

No description

Details

at line 157
__construct()

Template constructor.

at line 2713
__toString()

No description

at line 1512
static string _parse_template_content(string $template_content, bool $block = false, bool $parseLangStrings = true, Template $to = null)

internal  param parse $bool Language Token?
 

No description

Parameters

string $template_content

Template Content

bool $block
bool $parseLangStrings
Template $to

Return Value

string

Parsed Template Content

Exceptions

Exception

at line 1559
static string _parse_template_content_markers(string $template_content, Template $to)

Parse for ###Markers###

Parameters

string $template_content
Template $to

Return Value

string

HTML

at line 1601
static mixed _parse_template_content_xtags(mixed $content, bool|Template $to = false)

Parse the passed HTML source for xTags and render these xTags

Parameters

mixed $content
bool|Template $to

Return Value

mixed

at line 958
protected bool|string _render_array_block(mixed $array, mixed $key = false)

Internal Render Function

Parameters

mixed $array
mixed $key

Return Value

bool|string

at line 638
void add_renderer(string|array $auto_render_sub_block)

No description

Parameters

string|array $auto_render_sub_block

Renderer-Name (e.g. overview for a function render_overview)

Return Value

void

at line 278
bool add_template(string $name, string $path)

Add a template to the registry

Parameters

string $name

template caller

string $path

path to template

Return Value

bool

success

at line 1193
void append(string $marker, string $content, string $block = 'content')

No description

Parameters

string $marker

Marker ID (e.g. title)

string $content

Content

string $block

Block ID (e.g. content)

Return Value

void

at line 1214
void append_to_list(string $marker, string $content, string $block = 'content')

No description

Parameters

string $marker

Marker ID (e.g. title)

string $content

Content

string $block

Block ID (e.g. content)

Return Value

void

at line 1147
Template assign(mixed $marker, string $content = 'array_fill', string $block = 'content', int|bool $cache_ttl = false, string $cache_group = 'default')

No description

Parameters

mixed $marker

Marker ID or Model Object

string $content

Content (Default assumes $marker to be an array)

string $block

Block ID (e.g. content)

int|bool $cache_ttl

Cache TTL (in seconds)

string $cache_group

Cache Group (e.g. userID, Group)

Return Value

Template

at line 3145
assign_js($options)

No description

Parameters

$options

at line 1171
Template assign_xss()

internal  param mixed $marker Marker ID or Model Object
internal  param string $content Content (Default assumes $marker to be an array)
internal  param string $block Block ID (e.g. content)
internal  param int $cache_ttl Cache TTL (in seconds)
internal  param string $cache_group Cache Group (e.g. userID, Group)
 

No description

Return Value

Template

at line 598
final protected string|null auto_render_block(string $block)

No description

Parameters

string $block

Block to be rendered (e.g. content)

Return Value

string|null

Returns HTML if staged rendering is active

at line 1543
static cb_gettext($matches)

No description

Parameters

$matches

at line 1087
bool clear_marker_cache(string $marker = '', string $cache_group = '', string $block = 'content')

No description

Parameters

string $marker

Marker ID

string $cache_group

Cache Group

string $block

Block

Return Value

bool

success

at line 2580
static DOMNode convert_to_xml(string $xml_source, array $errors = array())

Convert String to XML Node

Parameters

string $xml_source
array $errors

Return Value

DOMNode

at line 458
protected void disable_render_stage()

DISABLE Pre-Rendering and resets staging params

Return Value

void

at line 446
protected enable_render_stage(string $render_stage = 'pre', string $cache_key = 'auto', int $ttl = 3600, string $block_id = 'content')

ENABLE Pre-Rendering for template parsing

Parameters

string $render_stage
  • This string will identify items which should be cached during the pre-render phase
string $cache_key
  • Set the cache key to be used
int $ttl
  • Time to live for the cache
string $block_id
  • rendering applies to this block

at line 3141
string format_template_specialchars(string $text)

Escape / Convert Template specific characters (###;{{{;}}})

Parameters

string $text

Return Value

string

at line 1299
string generateTemplateCacheKey(string $template_file, string $section, string|null $render_stage = null, string|null $cache_key = null)

No description

Parameters

string $template_file
string $section
string|null $render_stage
string|null $cache_key

Return Value

string

at line 3184
string getFileCacheContent(string $tpl, string $section)

No description

Parameters

string $tpl
string $section

Return Value

string

at line 232
static mixed get_config(string $var)

Get Config Value of Custom Theme Config

Parameters

string $var

Return Value

mixed

Value of Config, FALSE if not set

at line 1052
array get_marker_block(string $block)

No description

Parameters

string $block

Block ID

Return Value

array

Markers

at line 738
protected get_marker_content(string $block, string $marker, bool $render_objects = false, $params = false)

No description

Parameters

string $block

Block ID (e.g. content)

string $marker

Marker ID (e.g. title)

bool $render_objects

Auto-Render Objects?

$params

at line 586
get_output_mode()

No description

at line 663
array get_render_blocks()

No description

Return Value

array

Renderers with priorities

at line 559
mixed get_render_mode(bool $changes_only = false, bool $previous_mode = false)

No description

Parameters

bool $changes_only

Changes only? (Returns False if Render Mode is default)

bool $previous_mode

If true, the previous render mode will be returned

Return Value

mixed

at line 676
protected object|string get_rendered_object(object $object, array $params = null)

Calls the render() function recursively of the passed object and returns the content

Parameters

object $object

Object with render() method

array $params

If object hase set_render_params() method these argument will be passed

Return Value

object|string

If Object cannot be rendered the function will return the object unmodified

at line 340
string get_template_debug()

Returns the debug output for the current template

Return Value

string

html

at line 2605
get_xtag_marker_value($params, $is_indexed = false, $clean_params = false, $escape_markers = true)

No description

Parameters

$params
$is_indexed
$clean_params
$escape_markers

at line 179
static array get_xtag_registry()

Returns the xtag registry

Return Value

array

at line 2085
array handle_custom_namespace(mixed $ns, int $k, mixed $name)

This function is used to fund

Parameters

mixed $ns

namespace of registry (usually 'xm')

int $k

key in name-space-array

mixed $name

Return Value

array

Exceptions

Exception

at line 326
init_template_vars()

put your comment there.

..

at line 418
bool is_final_render_call()

Is the current render cycle the last cycle? (i.e. initiated from view)

Return Value

bool

TRUE if final render call

at line 195
load_theme_set_config()

Set the theme configuration (theme set config)

at line 1065
bool marker_is_cached(string $marker, string $cache_group = 'default', string $block = 'content')

No description

Parameters

string $marker

Marker ID

string $cache_group

Cache Group

string $block

Block

Return Value

bool

success

at line 188
string output_html()

Output the final HTML

Return Value

string

HTML

at line 2835
string output_login_form()

No description

Return Value

string

html

at line 3090
string output_pw_change_form()

No description

Return Value

string

html

Exceptions

Exception

at line 2931
string output_two_factor_auth_form()

No description

Return Value

string

html

at line 1251
protected string parse_partial_template(string $template, string $section, $values)

No description

Parameters

string $template

Template ID

string $section

Section within the template

$values

Return Value

string

html or false if no array supplied

at line 1327
mixed parse_template(string $template, string|bool $section = false, string|bool $block_id = false, string|bool $recursive = false)

Generic Template Loader

Parameters

string $template
  • a given template (maps to a certain file in the template directory)
string|bool $section

A section can be used to separate multiple template parts in one template file. Use

and
string|bool $block_id

The block id of the marker block to be used. CONTENT is the default is no block is passed

string|bool $recursive

Return Value

mixed

Exceptions

Exception

at line 1491
string parse_template_content($template_content, bool $block = false, bool $parseLangStrings = true, bool $to = false)

No description

Parameters

$template_content
bool $block
bool $parseLangStrings
bool $to

Return Value

string

at line 1458
string parse_template_translate_cb(array $matches)

Callback used by template language replace

Parameters

array $matches

preg_match replace array

Return Value

string

html

at line 1620
mixed|string parse_xtag(array $xml_source)

Evaluate the passed XML Source parse xTags

Parameters

array $xml_source

Preg Replace Matching Array

Return Value

mixed|string

Exceptions

ContentException

at line 295
mixed pre_render_action(string $page, array $args = array())

Enables a template to execute certain tasks before page is fully rendered (e.g. AJAX navigation)

Parameters

string $page
array $args

Return Value

mixed

See call_user_func_array

at line 167
register_xtag_parser(string $module_name, bool|array $callback = false)

Register custom xtag parser

Parameters

string $module_name
bool|array $callback

at line 651
removeRenderer($block)

Remove a block which in turn will not be rendered

Parameters

$block

at line 2706
string render()

No description

Return Value

string

HTML

at line 313
mixed render_action(mixed $page, array $args = array())

Render Action Function on Template if exists

Parameters

mixed $page
array $args

Return Value

mixed

See call_user_func_array

at line 931
protected string render_array_block(mixed $array, string|bool $key = false)

No description

Parameters

mixed $array

Array

string|bool $key

Section/Key

Return Value

string

html

at line 2697
final string render_content_marker()

No description

Return Value

string

HTML

at line 2764
protected string render_error()

No description

Return Value

string

HTML Error

at line 473
string render_html(bool $final_render_call = false)

No description

Parameters

bool $final_render_call

Is the considered the final render call?

Return Value

string

Returns HTML in case of staged rendering process

at line 1277
bool render_is_prepared(mixed $template, mixed $section = 'false', mixed $render_stage = 'pre', mixed $cache_key = null)

Check wether a render stage is already cached or not This allows controllers to save on processing time if certain fields are calculated for the template only You need to call this function AFTER getting a view

Parameters

mixed $template
mixed $section
mixed $render_stage
mixed $cache_key

Return Value

bool

true if cached

at line 2826
string render_login()

wrapper for beeing able to use the output_login_form as renderer

Return Value

string

html?

at line 245
string render_meta_script_resources()

Render Meta Script Resources

Return Value

string

at line 259
string render_meta_style_resources()

Render CSS Resources

Return Value

string

at line 430
render_prepare(string $render_stage = 'pre', string $cache_key = 'global', int $ttl = 3600, string $block_id = 'content')

Pre-Render Templates

Parameters

string $render_stage
  • This string will identify items which should be cached during the pre-render phase
string $cache_key
  • Set the cache key to be used
int $ttl
  • Time to live for the cache
string $block_id
  • rendering applies to this block

at line 2816
string render_system_flash_message()

put your comment there.

..

Return Value

string

html

at line 2129
string render_xtag(string $tag, array $params)

xTag Controller, regisitered for namespace xt (xelos template)

Parameters

string $tag
array $params

Return Value

string

Exceptions

Exception

at line 1716
string render_xtag_element(DOMNode $dom_node, bool $render_only_childs = false, bool $special_child_handling_overwrite = false)

Renders the passed XML Element to String and uses registered xTag Controllers if possible

Parameters

DOMNode $dom_node

XML DOM Element

bool $render_only_childs

only render childs

bool $special_child_handling_overwrite

overwrite the skip condition in common child handling - used in special child render function of e.g. foreach

Return Value

string

html

Exceptions

Exception

at line 1231
mixed retrieve(string $marker, string $block = 'content', bool $clean_params = false)

No description

Parameters

string $marker

Marker ID (e.g. title)

string $block

Block ID (e.g. content)

bool $clean_params

Return Value

mixed

HTML/Array/Object [Contents of Marker]

at line 3193
void setFileCacheContent(string $tpl, string $section, string $content = null)

No description

Parameters

string $tpl
string $section
string $content

Return Value

void

at line 1547
set_block_id($block_id)

No description

Parameters

$block_id

at line 1109
void set_marker_content(string $block, mixed $marker, string $content = 'array_fill', int|bool $cache_ttl = false, string $cache_group = 'default')

Set Marker

Parameters

string $block

markers are split into groups, you give the appropiate group here (e.g. meta,header,content)

mixed $marker

A marker corresponds to a specific placeholder within a tpl template, you can submit an array here and leave the third param empty

string $content

your content/html/link

int|bool $cache_ttl

Cache TTL (in seconds)

string $cache_group

Cache Group (e.g. context, userID, Group)

Return Value

void

at line 582
set_output_mode(int $flags = 0)

Set Output Mode

Parameters

int $flags

Mode: XELOS_OUTPUT_NOJS - assumes that you don't have regular JS frameworks and will reduce JS output for UI Helpers XELOS_OUTPUT_NOTEMPLATE - No default Template wrapping (No Header/Footer, No JS, No CSS Files)

at line 529
void set_render_mode(string $mode = 'full', string $block = 'content')

No description

Parameters

string $mode

Mode is 'html_only' or 'block_only' , default is 'full'

string $block

Block

Return Value

void