summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Chabowski <kevin@kch42.de>2011-09-27 14:15:37 +0200
committerKevin Chabowski <kevin@kch42.de>2011-09-27 14:15:37 +0200
commitb28851a117de5a4a92a5c50b1f9738a6b6181d8d (patch)
tree989ebc71650ded3afb512d8a8474083f4a0584ed
parent3d4682d818226e585096b7428b2069eafdf7f27a (diff)
downloadste-b28851a117de5a4a92a5c50b1f9738a6b6181d8d.tar.gz
ste-b28851a117de5a4a92a5c50b1f9738a6b6181d8d.tar.bz2
ste-b28851a117de5a4a92a5c50b1f9738a6b6181d8d.zip
Fixed documentation and excluded NaturalDocs' project data.
-rw-r--r--docu/.gitignore1
-rw-r--r--docu/nd/Data/ClassHierarchy.ndbin385 -> 0 bytes
-rw-r--r--docu/nd/Data/ConfigFileInfo.ndbin26 -> 0 bytes
-rw-r--r--docu/nd/Data/FileInfo.nd7
-rw-r--r--docu/nd/Data/ImageFileInfo.ndbin8 -> 0 bytes
-rw-r--r--docu/nd/Data/ImageReferenceTable.ndbin165 -> 0 bytes
-rw-r--r--docu/nd/Data/IndexInfo.ndbin226 -> 0 bytes
-rw-r--r--docu/nd/Data/PreviousMenuState.ndbin239 -> 0 bytes
-rw-r--r--docu/nd/Data/PreviousSettings.ndbin127 -> 0 bytes
-rw-r--r--docu/nd/Data/SymbolTable.ndbin6606 -> 0 bytes
-rw-r--r--docu/nd/Languages.txt113
-rw-r--r--docu/nd/Menu.txt60
-rw-r--r--docu/nd/Topics.txt81
-rw-r--r--docu/nd/files/stupid_template_engine-php.html32
-rw-r--r--docu/nd/index/Functions.html10
-rw-r--r--docu/nd/index/General.html12
-rw-r--r--docu/nd/javascript/searchdata.js20
-rw-r--r--docu/nd/search/FunctionsP.html2
-rw-r--r--docu/nd/search/FunctionsS.html2
-rw-r--r--docu/nd/search/GeneralP.html2
-rw-r--r--docu/nd/search/GeneralS.html2
-rwxr-xr-xmkdocu.sh3
-rw-r--r--stupid_template_engine.php2
23 files changed, 47 insertions, 302 deletions
diff --git a/docu/.gitignore b/docu/.gitignore
new file mode 100644
index 0000000..02aeb19
--- /dev/null
+++ b/docu/.gitignore
@@ -0,0 +1 @@
+nd_project_dir
diff --git a/docu/nd/Data/ClassHierarchy.nd b/docu/nd/Data/ClassHierarchy.nd
deleted file mode 100644
index e4063da..0000000
--- a/docu/nd/Data/ClassHierarchy.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/ConfigFileInfo.nd b/docu/nd/Data/ConfigFileInfo.nd
deleted file mode 100644
index 36e0d8c..0000000
--- a/docu/nd/Data/ConfigFileInfo.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/FileInfo.nd b/docu/nd/Data/FileInfo.nd
deleted file mode 100644
index 696bf2b..0000000
--- a/docu/nd/Data/FileInfo.nd
+++ /dev/null
@@ -1,7 +0,0 @@
-1.4
-PHP
-/home/skadu/public_html/stupid_template_engine/stupid_template_engine.php 1316557025 1 stupid_template_engine.php
-/home/skadu/public_html/stupid_template_engine/example/templates/transc/master.html.php 1316556841 0 /home/skadu/public_html/stupid_template_engine/example/templates/transc/master.html.php
-/home/skadu/public_html/stupid_template_engine/example/templates/transc/articles.html.php 1316556695 0 /home/skadu/public_html/stupid_template_engine/example/templates/transc/articles.html.php
-/home/skadu/public_html/stupid_template_engine/example/index.php 1316556488 0 /home/skadu/public_html/stupid_template_engine/example/index.php
-/home/skadu/public_html/stupid_template_engine/example/templates/transc/custom_tags.tpl.php 1316556629 0 /home/skadu/public_html/stupid_template_engine/example/templates/transc/custom_tags.tpl.php
diff --git a/docu/nd/Data/ImageFileInfo.nd b/docu/nd/Data/ImageFileInfo.nd
deleted file mode 100644
index e6ccf0d..0000000
--- a/docu/nd/Data/ImageFileInfo.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/ImageReferenceTable.nd b/docu/nd/Data/ImageReferenceTable.nd
deleted file mode 100644
index ad9b847..0000000
--- a/docu/nd/Data/ImageReferenceTable.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/IndexInfo.nd b/docu/nd/Data/IndexInfo.nd
deleted file mode 100644
index 79e6270..0000000
--- a/docu/nd/Data/IndexInfo.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/PreviousMenuState.nd b/docu/nd/Data/PreviousMenuState.nd
deleted file mode 100644
index 7c0aeba..0000000
--- a/docu/nd/Data/PreviousMenuState.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/PreviousSettings.nd b/docu/nd/Data/PreviousSettings.nd
deleted file mode 100644
index d319ede..0000000
--- a/docu/nd/Data/PreviousSettings.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Data/SymbolTable.nd b/docu/nd/Data/SymbolTable.nd
deleted file mode 100644
index 34da931..0000000
--- a/docu/nd/Data/SymbolTable.nd
+++ /dev/null
Binary files differ
diff --git a/docu/nd/Languages.txt b/docu/nd/Languages.txt
deleted file mode 100644
index be96913..0000000
--- a/docu/nd/Languages.txt
+++ /dev/null
@@ -1,113 +0,0 @@
-Format: 1.4
-
-# This is the Natural Docs languages file for this project. If you change
-# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change
-# something for all your projects, edit the Languages.txt in Natural Docs'
-# Config directory instead.
-
-
-# You can prevent certain file extensions from being scanned like this:
-# Ignore Extensions: [extension] [extension] ...
-
-
-#-------------------------------------------------------------------------------
-# SYNTAX:
-#
-# Unlike other Natural Docs configuration files, in this file all comments
-# MUST be alone on a line. Some languages deal with the # character, so you
-# cannot put comments on the same line as content.
-#
-# Also, all lists are separated with spaces, not commas, again because some
-# languages may need to use them.
-#
-# Language: [name]
-# Alter Language: [name]
-# Defines a new language or alters an existing one. Its name can use any
-# characters. If any of the properties below have an add/replace form, you
-# must use that when using Alter Language.
-#
-# The language Shebang Script is special. It's entry is only used for
-# extensions, and files with those extensions have their shebang (#!) lines
-# read to determine the real language of the file. Extensionless files are
-# always treated this way.
-#
-# The language Text File is also special. It's treated as one big comment
-# so you can put Natural Docs content in them without special symbols. Also,
-# if you don't specify a package separator, ignored prefixes, or enum value
-# behavior, it will copy those settings from the language that is used most
-# in the source tree.
-#
-# Extensions: [extension] [extension] ...
-# [Add/Replace] Extensions: [extension] [extension] ...
-# Defines the file extensions of the language's source files. You can
-# redefine extensions found in the main languages file. You can use * to
-# mean any undefined extension.
-#
-# Shebang Strings: [string] [string] ...
-# [Add/Replace] Shebang Strings: [string] [string] ...
-# Defines a list of strings that can appear in the shebang (#!) line to
-# designate that it's part of the language. You can redefine strings found
-# in the main languages file.
-#
-# Ignore Prefixes in Index: [prefix] [prefix] ...
-# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ...
-#
-# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ...
-# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ...
-# Specifies prefixes that should be ignored when sorting symbols in an
-# index. Can be specified in general or for a specific topic type.
-#
-#------------------------------------------------------------------------------
-# For basic language support only:
-#
-# Line Comments: [symbol] [symbol] ...
-# Defines a space-separated list of symbols that are used for line comments,
-# if any.
-#
-# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ...
-# Defines a space-separated list of symbol pairs that are used for block
-# comments, if any.
-#
-# Package Separator: [symbol]
-# Defines the default package separator symbol. The default is a dot.
-#
-# [Topic Type] Prototype Enders: [symbol] [symbol] ...
-# When defined, Natural Docs will attempt to get a prototype from the code
-# immediately following the topic type. It stops when it reaches one of
-# these symbols. Use \n for line breaks.
-#
-# Line Extender: [symbol]
-# Defines the symbol that allows a prototype to span multiple lines if
-# normally a line break would end it.
-#
-# Enum Values: [global|under type|under parent]
-# Defines how enum values are referenced. The default is global.
-# global - Values are always global, referenced as 'value'.
-# under type - Values are under the enum type, referenced as
-# 'package.enum.value'.
-# under parent - Values are under the enum's parent, referenced as
-# 'package.value'.
-#
-# Perl Package: [perl package]
-# Specifies the Perl package used to fine-tune the language behavior in ways
-# too complex to do in this file.
-#
-#------------------------------------------------------------------------------
-# For full language support only:
-#
-# Full Language Support: [perl package]
-# Specifies the Perl package that has the parsing routines necessary for full
-# language support.
-#
-#-------------------------------------------------------------------------------
-
-# The following languages are defined in the main file, if you'd like to alter
-# them:
-#
-# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python,
-# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile,
-# ActionScript, ColdFusion, R, Fortran
-
-# If you add a language that you think would be useful to other developers
-# and should be included in Natural Docs by default, please e-mail it to
-# languages [at] naturaldocs [dot] org.
diff --git a/docu/nd/Menu.txt b/docu/nd/Menu.txt
deleted file mode 100644
index 85c51af..0000000
--- a/docu/nd/Menu.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-Format: 1.4
-
-
-# You can add a title and sub-title to your menu like this:
-# Title: [project name]
-# SubTitle: [subtitle]
-
-# You can add a footer to your documentation like this:
-# Footer: [text]
-# If you want to add a copyright notice, this would be the place to do it.
-
-# You can add a timestamp to your documentation like one of these:
-# Timestamp: Generated on month day, year
-# Timestamp: Updated mm/dd/yyyy
-# Timestamp: Last updated mon day
-#
-# m - One or two digit month. January is "1"
-# mm - Always two digit month. January is "01"
-# mon - Short month word. January is "Jan"
-# month - Long month word. January is "January"
-# d - One or two digit day. 1 is "1"
-# dd - Always two digit day. 1 is "01"
-# day - Day with letter extension. 1 is "1st"
-# yy - Two digit year. 2006 is "06"
-# yyyy - Four digit year. 2006 is "2006"
-# year - Four digit year. 2006 is "2006"
-
-
-# --------------------------------------------------------------------------
-#
-# Cut and paste the lines below to change the order in which your files
-# appear on the menu. Don't worry about adding or removing files, Natural
-# Docs will take care of that.
-#
-# You can further organize the menu by grouping the entries. Add a
-# "Group: [name] {" line to start a group, and add a "}" to end it.
-#
-# You can add text and web links to the menu by adding "Text: [text]" and
-# "Link: [name] ([URL])" lines, respectively.
-#
-# The formatting and comments are auto-generated, so don't worry about
-# neatness when editing the file. Natural Docs will clean it up the next
-# time it is run. When working with groups, just deal with the braces and
-# forget about the indentation and comments.
-#
-# --------------------------------------------------------------------------
-
-
-File: stupid_template_engine.php (stupid_template_engine.php)
-
-Group: Index {
-
- Index: Everything
- Class Index: Classes
- Constant Index: Constants
- File Index: Files
- Function Index: Functions
- Variable Index: Variables
- } # Group: Index
-
diff --git a/docu/nd/Topics.txt b/docu/nd/Topics.txt
deleted file mode 100644
index b1a9b93..0000000
--- a/docu/nd/Topics.txt
+++ /dev/null
@@ -1,81 +0,0 @@
-Format: 1.4
-
-# This is the Natural Docs topics file for this project. If you change anything
-# here, it will apply to THIS PROJECT ONLY. If you'd like to change something
-# for all your projects, edit the Topics.txt in Natural Docs' Config directory
-# instead.
-
-
-# If you'd like to prevent keywords from being recognized by Natural Docs, you
-# can do it like this:
-# Ignore Keywords: [keyword], [keyword], ...
-#
-# Or you can use the list syntax like how they are defined:
-# Ignore Keywords:
-# [keyword]
-# [keyword], [plural keyword]
-# ...
-
-
-#-------------------------------------------------------------------------------
-# SYNTAX:
-#
-# Topic Type: [name]
-# Alter Topic Type: [name]
-# Creates a new topic type or alters one from the main file. Each type gets
-# its own index and behavior settings. Its name can have letters, numbers,
-# spaces, and these charaters: - / . '
-#
-# Plural: [name]
-# Sets the plural name of the topic type, if different.
-#
-# Keywords:
-# [keyword]
-# [keyword], [plural keyword]
-# ...
-# Defines or adds to the list of keywords for the topic type. They may only
-# contain letters, numbers, and spaces and are not case sensitive. Plural
-# keywords are used for list topics. You can redefine keywords found in the
-# main topics file.
-#
-# Index: [yes|no]
-# Whether the topics get their own index. Defaults to yes. Everything is
-# included in the general index regardless of this setting.
-#
-# Scope: [normal|start|end|always global]
-# How the topics affects scope. Defaults to normal.
-# normal - Topics stay within the current scope.
-# start - Topics start a new scope for all the topics beneath it,
-# like class topics.
-# end - Topics reset the scope back to global for all the topics
-# beneath it.
-# always global - Topics are defined as global, but do not change the scope
-# for any other topics.
-#
-# Class Hierarchy: [yes|no]
-# Whether the topics are part of the class hierarchy. Defaults to no.
-#
-# Page Title If First: [yes|no]
-# Whether the topic's title becomes the page title if it's the first one in
-# a file. Defaults to no.
-#
-# Break Lists: [yes|no]
-# Whether list topics should be broken into individual topics in the output.
-# Defaults to no.
-#
-# Can Group With: [type], [type], ...
-# Defines a list of topic types that this one can possibly be grouped with.
-# Defaults to none.
-#-------------------------------------------------------------------------------
-
-# The following topics are defined in the main file, if you'd like to alter
-# their behavior or add keywords:
-#
-# Generic, Class, Interface, Section, File, Group, Function, Variable,
-# Property, Type, Constant, Enumeration, Event, Delegate, Macro,
-# Database, Database Table, Database View, Database Index, Database
-# Cursor, Database Trigger, Cookie, Build Target
-
-# If you add something that you think would be useful to other developers
-# and should be included in Natural Docs by default, please e-mail it to
-# topics [at] naturaldocs [dot] org.
diff --git a/docu/nd/files/stupid_template_engine-php.html b/docu/nd/files/stupid_template_engine-php.html
index efbb4b8..b7b8ea3 100644
--- a/docu/nd/files/stupid_template_engine-php.html
+++ b/docu/nd/files/stupid_template_engine-php.html
@@ -11,37 +11,39 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="stupid_template_engine.php"></a>stupid_template_engine.php</h1><div class=CBody><p>The implementation of the Stupid Template Engine.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#stupid_template_engine.php" >stupid_template_engine.php</a></td><td class=SDescription>The implementation of the Stupid Template Engine.</td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#License" >License</a></td><td class=SDescription>This file is licensed under the MIT/X11 License. </td></tr><tr class="SClass"><td class=SEntry><a href="#ste" >ste</a></td><td class=SDescription>Everything in this file is in this namespace.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#ste.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#ste.parse" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">parse</a></td><td class=SDescription>Parsing a STE T/PL template. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#ste.transcompile" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">transcompile</a></td><td class=SDescription>Transcompiles an abstract syntax tree to PHP.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#ste.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#ste.Template_modes" >Template modes</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#StorageAccess" >StorageAccess</a></td><td class=SDescription>An interface. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#StorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#StorageAccess.load" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">load</a></td><td class=SDescription>Loading a template.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#StorageAccess.save" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">save</a></td><td class=SDescription>Saves a template.</td></tr><tr class="SClass"><td class=SEntry><a href="#FilesystemStorageAccess" >FilesystemStorageAccess</a></td><td class=SDescription>The default <a href="#StorageAccess" class=LClass id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">StorageAccess</a> implementation for loading / saving templates into a directory structure.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#FilesystemStorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#FilesystemStorageAccess.__construct" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">__construct</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#STECore" >STECore</a></td><td class=SDescription>The Core of STE</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#STECore.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#STECore.Public_variables" >Public variables</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#STECore.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.__construct" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">__construct</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.register_tag" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">register_tag</a></td><td class=SDescription>Register a custom tag.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.call_tag" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">call_tag</a></td><td class=SDescription>Calling a custom tag (builtin ones can not be called)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.exectemplate" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">exectemplate</a></td><td class=SDescription>Executes a template and returns the result. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.get_var_reference" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">get_var_reference</a></td><td class=SDescription>Get a reference to a template variable using a variable name. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.get_var_by_name" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">get_var_by_name</a></td><td class=SDescription>Get a template variable by its name. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.load" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">load</a></td><td class=SDescription>Load a template and return its result (blocks not included, use <a href="#STECore.exectemplate" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt10', 'link14')" onMouseOut="HideTip('tt10')">exectemplate</a> for this).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.evalbool" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">evalbool</a></td><td class=SDescription>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="stupid_template_engine.php"></a>stupid_template_engine.php</h1><div class=CBody><p>The implementation of the Stupid Template Engine.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#stupid_template_engine.php" >stupid_template_engine.php</a></td><td class=SDescription>The implementation of the Stupid Template Engine.</td></tr><tr class="SGeneric SMarked"><td class=SEntry><a href="#License" >License</a></td><td class=SDescription>This file is licensed under the MIT/X11 License. </td></tr><tr class="SClass"><td class=SEntry><a href="#ste" >ste</a></td><td class=SDescription>Everything in this file is in this namespace.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#ste.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#ste.precompile" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">precompile</a></td><td class=SDescription>Precompiling STE T/PL templates. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#ste.parse" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">parse</a></td><td class=SDescription>Parsing a STE T/PL template. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#ste.transcompile" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">transcompile</a></td><td class=SDescription>Transcompiles an abstract syntax tree to PHP. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#ste.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#ste.Template_modes" >Template modes</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#StorageAccess" >StorageAccess</a></td><td class=SDescription>An interface. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#StorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#StorageAccess.load" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">load</a></td><td class=SDescription>Loading a template.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#StorageAccess.save" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">save</a></td><td class=SDescription>Saves a template.</td></tr><tr class="SClass"><td class=SEntry><a href="#FilesystemStorageAccess" >FilesystemStorageAccess</a></td><td class=SDescription>The default <a href="#StorageAccess" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">StorageAccess</a> implementation for loading / saving templates into a directory structure.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#FilesystemStorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#FilesystemStorageAccess.__construct" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">__construct</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#STECore" >STECore</a></td><td class=SDescription>The Core of STE</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#STECore.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#STECore.Public_variables" >Public variables</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#STECore.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.__construct" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">__construct</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.register_tag" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">register_tag</a></td><td class=SDescription>Register a custom tag.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.call_tag" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">call_tag</a></td><td class=SDescription>Calling a custom tag (builtin ones can not be called)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.exectemplate" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">exectemplate</a></td><td class=SDescription>Executes a template and returns the result. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.get_var_reference" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">get_var_reference</a></td><td class=SDescription>Get a reference to a template variable using a variable name. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.set_var_by_name" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">set_var_by_name</a></td><td class=SDescription>Set a template variable by its name. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.get_var_by_name" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">get_var_by_name</a></td><td class=SDescription>Get a template variable by its name. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#STECore.load" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">load</a></td><td class=SDescription>Load a template and return its result (blocks not included, use <a href="#STECore.exectemplate" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt11', 'link16')" onMouseOut="HideTip('tt11')">exectemplate</a> for this).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#STECore.evalbool" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">evalbool</a></td><td class=SDescription>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="License"></a>License</h3><div class=CBody><p>This file is licensed under the MIT/X11 License.&nbsp; See COPYING for more details.</p></div></div></div>
-<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ste"></a>ste</h2><div class=CBody><p>Everything in this file is in this namespace.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#ste.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#ste.parse" id=link16 onMouseOver="ShowTip(event, 'tt1', 'link16')" onMouseOut="HideTip('tt1')">parse</a></td><td class=SDescription>Parsing a STE T/PL template. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#ste.transcompile" id=link17 onMouseOver="ShowTip(event, 'tt2', 'link17')" onMouseOut="HideTip('tt2')">transcompile</a></td><td class=SDescription>Transcompiles an abstract syntax tree to PHP.</td></tr><tr class="SGroup"><td class=SEntry><a href="#ste.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#ste.Template_modes" >Template modes</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ste"></a>ste</h2><div class=CBody><p>Everything in this file is in this namespace.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#ste.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#ste.precompile" id=link18 onMouseOver="ShowTip(event, 'tt1', 'link18')" onMouseOut="HideTip('tt1')">precompile</a></td><td class=SDescription>Precompiling STE T/PL templates. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#ste.parse" id=link19 onMouseOver="ShowTip(event, 'tt2', 'link19')" onMouseOut="HideTip('tt2')">parse</a></td><td class=SDescription>Parsing a STE T/PL template. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#ste.transcompile" id=link20 onMouseOver="ShowTip(event, 'tt3', 'link20')" onMouseOut="HideTip('tt3')">transcompile</a></td><td class=SDescription>Transcompiles an abstract syntax tree to PHP. </td></tr><tr class="SGroup"><td class=SEntry><a href="#ste.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#ste.Template_modes" >Template modes</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ste.Functions"></a>Functions</h3></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="ste.parse"></a>parse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Parsing a STE T/PL template.&nbsp; You only need this function, if you want to manually transcompile a template.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$code</td><td class=CDLDescription>The STE T/PL code.</td></tr></table><h4 class=CHeading>Returns</h4><p>An abstract syntax tree, whic can be used with <a href="#ste.transcompile" class=LFunction id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">transcompile</a>.</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="ste.precompile"></a>precompile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function precompile(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Precompiling STE T/PL templates.&nbsp; You only need this function, if you want to manually transcompile a template.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$code</td><td class=CDLDescription>The input code</td></tr></table><h4 class=CHeading>Returns</h4><p>The precompiled code.</p></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="ste.transcompile"></a>transcompile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote><p>Transcompiles an abstract syntax tree to PHP.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$ast</td><td class=CDLDescription>The abstract syntax tree to transcompile.</td></tr></table><h4 class=CHeading>Returns</h4><p>PHP code.&nbsp; The PHP code is an anonymous function expecting a <a href="#STECore" class=LClass id=link19 onMouseOver="ShowTip(event, 'tt15', 'link19')" onMouseOut="HideTip('tt15')">STECore</a> instance as its parameter and returns a string (everything that was not pached into a section).</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="ste.parse"></a>parse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code,</td></tr><tr><td></td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Parsing a STE T/PL template.&nbsp; You only need this function, if you want to manually transcompile a template.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$code</td><td class=CDLDescription>The STE T/PL code.</td></tr><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template.</td></tr></table><h4 class=CHeading>Returns</h4><p>An abstract syntax tree, which can be used with <a href="#ste.transcompile" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt3', 'link21')" onMouseOut="HideTip('tt3')">transcompile</a>.</p></div></div></div>
+
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="ste.transcompile"></a>transcompile</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote><p>Transcompiles an abstract syntax tree to PHP.&nbsp; You only need this function, if you want to manually transcompile a template.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$ast</td><td class=CDLDescription>The abstract syntax tree to transcompile.</td></tr></table><h4 class=CHeading>Returns</h4><p>PHP code.&nbsp; The PHP code is an anonymous function expecting a <a href="#STECore" class=LClass id=link22 onMouseOver="ShowTip(event, 'tt17', 'link22')" onMouseOut="HideTip('tt17')">STECore</a> instance as its parameter and returns a string (everything that was not pached into a section).</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ste.Constants"></a>Constants</h3></div></div>
<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="ste.Template_modes"></a>Template modes</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="MODE_SOURCE"></a>MODE_SOURCE</td><td class=CDLDescription>The Templates source</td></tr><tr><td class=CDLEntry><a name="MODE_TRANSCOMPILED"></a>MODE_TRANSCOMPILED</td><td class=CDLDescription>The transcompiled template</td></tr></table></div></div></div>
-<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="StorageAccess"></a>StorageAccess</h2><div class=CBody><p>An interface.&nbsp; A StorageAccess implementation is used to access the templates from any storage.&nbsp; This means, that you are not limited to store the Templates inside directories, you can also use a database or something else.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#StorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#StorageAccess.load" id=link20 onMouseOver="ShowTip(event, 'tt3', 'link20')" onMouseOut="HideTip('tt3')">load</a></td><td class=SDescription>Loading a template.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#StorageAccess.save" id=link21 onMouseOver="ShowTip(event, 'tt4', 'link21')" onMouseOut="HideTip('tt4')">save</a></td><td class=SDescription>Saves a template.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="StorageAccess"></a>StorageAccess</h2><div class=CBody><p>An interface.&nbsp; A StorageAccess implementation is used to access the templates from any storage.&nbsp; This means, that you are not limited to store the Templates inside directories, you can also use a database or something else.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#StorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#StorageAccess.load" id=link23 onMouseOver="ShowTip(event, 'tt4', 'link23')" onMouseOut="HideTip('tt4')">load</a></td><td class=SDescription>Loading a template.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#StorageAccess.save" id=link24 onMouseOver="ShowTip(event, 'tt5', 'link24')" onMouseOut="HideTip('tt5')">save</a></td><td class=SDescription>Saves a template.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="StorageAccess.Functions"></a>Functions</h3></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="StorageAccess.load"></a>load</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameterPrefix nowrap>&amp;</td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loading a template.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template.</td></tr><tr><td class=CDLEntry>&amp;$mode</td><td class=CDLDescription>Which mode is preferred?&nbsp; One of the &lt;Template modes&gt;.&nbsp; If &lt;MODE_SOURCE&gt;, the raw sourcecode is expected, if &lt;MODE_TRANSCOMPILED&gt; the transcompiled template <b>as a callable function</b> (expecting an <a href="#STECore" class=LClass id=link22 onMouseOver="ShowTip(event, 'tt15', 'link22')" onMouseOut="HideTip('tt15')">STECore</a> instance as first parameter) is expected.&nbsp; If the transcompiled version is not available or older than the source, you can set this parameter to &lt;MODE_SOURCE&gt; and return the source.</td></tr></table><h4 class=CHeading>Returns</h4><p>Either the sourcecode or a callable function (first, and only parameter: an <a href="#STECore" class=LClass id=link23 onMouseOver="ShowTip(event, 'tt15', 'link23')" onMouseOut="HideTip('tt15')">STECore</a> instance).</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="StorageAccess.load"></a>load</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameterPrefix nowrap>&amp;</td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Loading a template.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template.</td></tr><tr><td class=CDLEntry>&amp;$mode</td><td class=CDLDescription>Which mode is preferred?&nbsp; One of the &lt;Template modes&gt;.&nbsp; If &lt;MODE_SOURCE&gt;, the raw sourcecode is expected, if &lt;MODE_TRANSCOMPILED&gt; the transcompiled template <b>as a callable function</b> (expecting an <a href="#STECore" class=LClass id=link25 onMouseOver="ShowTip(event, 'tt17', 'link25')" onMouseOut="HideTip('tt17')">STECore</a> instance as first parameter) is expected.&nbsp; If the transcompiled version is not available or older than the source, you can set this parameter to &lt;MODE_SOURCE&gt; and return the source.</td></tr></table><h4 class=CHeading>Returns</h4><p>Either the sourcecode or a callable function (first, and only parameter: an <a href="#STECore" class=LClass id=link26 onMouseOver="ShowTip(event, 'tt17', 'link26')" onMouseOut="HideTip('tt17')">STECore</a> instance).</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="StorageAccess.save"></a>save</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Saves a template.</p><h4 class=CHeading>Parameters</h4><p>$tpl -The name of the template.&nbsp; $data - The data to be saved.&nbsp; $mode - A &lt;Template mode&gt; constant.</p></div></div></div>
-<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="FilesystemStorageAccess"></a>FilesystemStorageAccess</h2><div class=CBody><p>The default <a href="#StorageAccess" class=LClass id=link25 onMouseOver="ShowTip(event, 'tt5', 'link25')" onMouseOut="HideTip('tt5')">StorageAccess</a> implementation for loading / saving templates into a directory structure.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#FilesystemStorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#FilesystemStorageAccess.__construct" id=link24 onMouseOver="ShowTip(event, 'tt6', 'link24')" onMouseOut="HideTip('tt6')">__construct</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="FilesystemStorageAccess"></a>FilesystemStorageAccess</h2><div class=CBody><p>The default <a href="#StorageAccess" class=LClass id=link28 onMouseOver="ShowTip(event, 'tt6', 'link28')" onMouseOut="HideTip('tt6')">StorageAccess</a> implementation for loading / saving templates into a directory structure.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#FilesystemStorageAccess.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#FilesystemStorageAccess.__construct" id=link27 onMouseOver="ShowTip(event, 'tt7', 'link27')" onMouseOut="HideTip('tt7')">__construct</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="FilesystemStorageAccess.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="FilesystemStorageAccess.__construct"></a>__construct</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$src,</td></tr><tr><td></td><td class=PParameter nowrap>$transc</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$src</td><td class=CDLDescription>The directory with the sources (Writing permissions are not mandatory, because STE does not save template sources).</td></tr><tr><td class=CDLEntry>$transc</td><td class=CDLDescription>The directory with the transcompiled templates (the PHP instance / the HTTP Server needs writing permissions to this directory).</td></tr></table></div></div></div>
-<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="STECore"></a>STECore</h2><div class=CBody><p>The Core of STE</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#STECore.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#STECore.Public_variables" >Public variables</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#STECore.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.__construct" id=link26 onMouseOver="ShowTip(event, 'tt7', 'link26')" onMouseOut="HideTip('tt7')">__construct</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.register_tag" id=link27 onMouseOver="ShowTip(event, 'tt8', 'link27')" onMouseOut="HideTip('tt8')">register_tag</a></td><td class=SDescription>Register a custom tag.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.call_tag" id=link28 onMouseOver="ShowTip(event, 'tt9', 'link28')" onMouseOut="HideTip('tt9')">call_tag</a></td><td class=SDescription>Calling a custom tag (builtin ones can not be called)</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.exectemplate" id=link29 onMouseOver="ShowTip(event, 'tt10', 'link29')" onMouseOut="HideTip('tt10')">exectemplate</a></td><td class=SDescription>Executes a template and returns the result. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.get_var_reference" id=link30 onMouseOver="ShowTip(event, 'tt11', 'link30')" onMouseOut="HideTip('tt11')">get_var_reference</a></td><td class=SDescription>Get a reference to a template variable using a variable name. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.get_var_by_name" id=link31 onMouseOver="ShowTip(event, 'tt12', 'link31')" onMouseOut="HideTip('tt12')">get_var_by_name</a></td><td class=SDescription>Get a template variable by its name. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.load" id=link32 onMouseOver="ShowTip(event, 'tt13', 'link32')" onMouseOut="HideTip('tt13')">load</a></td><td class=SDescription>Load a template and return its result (blocks not included, use <a href="#STECore.exectemplate" class=LFunction id=link33 onMouseOver="ShowTip(event, 'tt10', 'link33')" onMouseOut="HideTip('tt10')">exectemplate</a> for this).</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.evalbool" id=link34 onMouseOver="ShowTip(event, 'tt14', 'link34')" onMouseOut="HideTip('tt14')">evalbool</a></td><td class=SDescription>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="STECore"></a>STECore</h2><div class=CBody><p>The Core of STE</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#STECore.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#STECore.Public_variables" >Public variables</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#STECore.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.__construct" id=link29 onMouseOver="ShowTip(event, 'tt8', 'link29')" onMouseOut="HideTip('tt8')">__construct</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.register_tag" id=link30 onMouseOver="ShowTip(event, 'tt9', 'link30')" onMouseOut="HideTip('tt9')">register_tag</a></td><td class=SDescription>Register a custom tag.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.call_tag" id=link31 onMouseOver="ShowTip(event, 'tt10', 'link31')" onMouseOut="HideTip('tt10')">call_tag</a></td><td class=SDescription>Calling a custom tag (builtin ones can not be called)</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.exectemplate" id=link32 onMouseOver="ShowTip(event, 'tt11', 'link32')" onMouseOut="HideTip('tt11')">exectemplate</a></td><td class=SDescription>Executes a template and returns the result. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.get_var_reference" id=link33 onMouseOver="ShowTip(event, 'tt12', 'link33')" onMouseOut="HideTip('tt12')">get_var_reference</a></td><td class=SDescription>Get a reference to a template variable using a variable name. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.set_var_by_name" id=link34 onMouseOver="ShowTip(event, 'tt13', 'link34')" onMouseOut="HideTip('tt13')">set_var_by_name</a></td><td class=SDescription>Set a template variable by its name. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.get_var_by_name" id=link35 onMouseOver="ShowTip(event, 'tt14', 'link35')" onMouseOut="HideTip('tt14')">get_var_by_name</a></td><td class=SDescription>Get a template variable by its name. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#STECore.load" id=link36 onMouseOver="ShowTip(event, 'tt15', 'link36')" onMouseOut="HideTip('tt15')">load</a></td><td class=SDescription>Load a template and return its result (blocks not included, use <a href="#STECore.exectemplate" class=LFunction id=link37 onMouseOver="ShowTip(event, 'tt11', 'link37')" onMouseOut="HideTip('tt11')">exectemplate</a> for this).</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#STECore.evalbool" id=link38 onMouseOver="ShowTip(event, 'tt16', 'link38')" onMouseOut="HideTip('tt16')">evalbool</a></td><td class=SDescription>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="STECore.Variables"></a>Variables</h3></div></div>
@@ -49,19 +51,21 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="STECore.Functions"></a>Functions</h3></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.__construct"></a>__construct</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$storage_access</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$storage_access</td><td class=CDLDescription>An Instance of a <a href="#StorageAccess" class=LClass id=link35 onMouseOver="ShowTip(event, 'tt5', 'link35')" onMouseOut="HideTip('tt5')">StorageAccess</a> implementation.</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.__construct"></a>__construct</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$storage_access</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$storage_access</td><td class=CDLDescription>An Instance of a <a href="#StorageAccess" class=LClass id=link39 onMouseOver="ShowTip(event, 'tt6', 'link39')" onMouseOut="HideTip('tt6')">StorageAccess</a> implementation.</td></tr></table></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.register_tag"></a>register_tag</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Register a custom tag.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The name of the tag.</td></tr><tr><td class=CDLEntry>$callback</td><td class=CDLDescription>A callable function (This must tage three parameters: The <a href="#STECore" class=LClass id=link36 onMouseOver="ShowTip(event, 'tt15', 'link36')" onMouseOut="HideTip('tt15')">STECore</a> instance, an associative array of parameters, and a function representing the tags content(This expects the <a href="#STECore" class=LClass id=link37 onMouseOver="ShowTip(event, 'tt15', 'link37')" onMouseOut="HideTip('tt15')">STECore</a> instance as its only parameter and returns its text result, i.e to get the text, you neeed to call this function with the <a href="#STECore" class=LClass id=link38 onMouseOver="ShowTip(event, 'tt15', 'link38')" onMouseOut="HideTip('tt15')">STECore</a> instance as a parameter)).</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.register_tag"></a>register_tag</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Register a custom tag.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The name of the tag.</td></tr><tr><td class=CDLEntry>$callback</td><td class=CDLDescription>A callable function (This must tage three parameters: The <a href="#STECore" class=LClass id=link40 onMouseOver="ShowTip(event, 'tt17', 'link40')" onMouseOut="HideTip('tt17')">STECore</a> instance, an associative array of parameters, and a function representing the tags content(This expects the <a href="#STECore" class=LClass id=link41 onMouseOver="ShowTip(event, 'tt17', 'link41')" onMouseOut="HideTip('tt17')">STECore</a> instance as its only parameter and returns its text result, i.e to get the text, you neeed to call this function with the <a href="#STECore" class=LClass id=link42 onMouseOver="ShowTip(event, 'tt17', 'link42')" onMouseOut="HideTip('tt17')">STECore</a> instance as a parameter)).</td></tr></table></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.call_tag"></a>call_tag</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function call_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$params,</td></tr><tr><td></td><td class=PParameter nowrap>$sub</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Calling a custom tag (builtin ones can not be called)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The Tag&rsquo;s name</td></tr><tr><td class=CDLEntry>$params</td><td class=CDLDescription>Associative array of parameters</td></tr><tr><td class=CDLEntry>$sub</td><td class=CDLDescription>A callable function (expecting an <a href="#STECore" class=LClass id=link39 onMouseOver="ShowTip(event, 'tt15', 'link39')" onMouseOut="HideTip('tt15')">STECore</a> instance as it&rsquo;s parameter) that represents the tag&rsquo;s content.</td></tr></table><h4 class=CHeading>Returns</h4><p>The output of the tag.</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.call_tag"></a>call_tag</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function call_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$params,</td></tr><tr><td></td><td class=PParameter nowrap>$sub</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Calling a custom tag (builtin ones can not be called)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The Tag&rsquo;s name</td></tr><tr><td class=CDLEntry>$params</td><td class=CDLDescription>Associative array of parameters</td></tr><tr><td class=CDLEntry>$sub</td><td class=CDLDescription>A callable function (expecting an <a href="#STECore" class=LClass id=link43 onMouseOver="ShowTip(event, 'tt17', 'link43')" onMouseOut="HideTip('tt17')">STECore</a> instance as it&rsquo;s parameter) that represents the tag&rsquo;s content.</td></tr></table><h4 class=CHeading>Returns</h4><p>The output of the tag.</p></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.exectemplate"></a>exectemplate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function exectemplate(</td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Executes a template and returns the result.&nbsp; The huge difference to <a href="#STECore.load" class=LFunction id=link40 onMouseOver="ShowTip(event, 'tt13', 'link40')" onMouseOut="HideTip('tt13')">load</a> is that this function will also output all blocks.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template to execute.</td></tr></table><h4 class=CHeading>Returns</h4><p>The output of the template.</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.exectemplate"></a>exectemplate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function exectemplate(</td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Executes a template and returns the result.&nbsp; The huge difference to <a href="#STECore.load" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt15', 'link44')" onMouseOut="HideTip('tt15')">load</a> is that this function will also output all blocks.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template to execute.</td></tr></table><h4 class=CHeading>Returns</h4><p>The output of the template.</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.get_var_reference"></a>get_var_reference</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function &amp;get_var_reference(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$create_if_not_exist</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Get a reference to a template variable using a variable name.&nbsp; This can be used,if your custom tag takes a variable name as a parameter.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The variables name.</td></tr><tr><td class=CDLEntry>$create_if_not_exist</td><td class=CDLDescription>Should the variable be created, if it does not exist?&nbsp; Otherwise NULL will be returned, if the variable does not exist.</td></tr></table><h4 class=CHeading>Returns</h4><p>A Reference to the variable.</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.set_var_by_name"></a>set_var_by_name</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function set_var_by_name(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$val</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set a template variable by its name.&nbsp; This can be used,if your custom tag takes a variable name as a parameter.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The variables name.</td></tr><tr><td class=CDLEntry>$val</td><td class=CDLDescription>The new value.</td></tr></table></div></div></div>
+
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.get_var_by_name"></a>get_var_by_name</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function get_var_by_name(</td><td class=PParameter nowrap>$name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Get a template variable by its name.&nbsp; This can be used,if your custom tag takes a variable name as a parameter.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$name</td><td class=CDLDescription>The variables name.</td></tr></table><h4 class=CHeading>Returns</h4><p>The variables value.</p></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.load"></a>load</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameter nowrap>$tpl,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PParameter nowrap>$quiet</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>False</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Load a template and return its result (blocks not included, use <a href="#STECore.exectemplate" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt10', 'link41')" onMouseOut="HideTip('tt10')">exectemplate</a> for this).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template to be loaded.</td></tr><tr><td class=CDLEntry>$quiet</td><td class=CDLDescription>If true, do not output anything and do notmodify the blocks.&nbsp; This can be useful to load custom tags that are programmed in STE T/PL.&nbsp; Default: false.</td></tr></table><h4 class=CHeading>Returns</h4><p>The result of the template (if $quiet == false).</p></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.load"></a>load</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameter nowrap>$tpl,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PParameter nowrap>$quiet</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>False</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Load a template and return its result (blocks not included, use <a href="#STECore.exectemplate" class=LFunction id=link45 onMouseOver="ShowTip(event, 'tt11', 'link45')" onMouseOut="HideTip('tt11')">exectemplate</a> for this).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$tpl</td><td class=CDLDescription>The name of the template to be loaded.</td></tr><tr><td class=CDLEntry>$quiet</td><td class=CDLDescription>If true, do not output anything and do notmodify the blocks.&nbsp; This can be useful to load custom tags that are programmed in STE T/PL.&nbsp; Default: false.</td></tr></table><h4 class=CHeading>Returns</h4><p>The result of the template (if $quiet == false).</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="STECore.evalbool"></a>evalbool</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function evalbool(</td><td class=PParameter nowrap>$txt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>$txt</td><td class=CDLDescription>The text to test.</td></tr></table><h4 class=CHeading>Returns</h4><p>true/false.</p></div></div></div>
@@ -78,7 +82,7 @@ var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Parsing a STE T/PL template. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote>Transcompiles an abstract syntax tree to PHP.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameterPrefix nowrap>&amp;</td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loading a template.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Saves a template.</div></div><div class=CToolTip id="tt5"><div class=CClass>An interface. </div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$src,</td></tr><tr><td></td><td class=PParameter nowrap>$transc</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$storage_access</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Register a custom tag.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function call_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$params,</td></tr><tr><td></td><td class=PParameter nowrap>$sub</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calling a custom tag (builtin ones can not be called)</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function exectemplate(</td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Executes a template and returns the result. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function &amp;get_var_reference(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$create_if_not_exist</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get a reference to a template variable using a variable name. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function get_var_by_name(</td><td class=PParameter nowrap>$name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get a template variable by its name. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameter nowrap>$tpl,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PParameter nowrap>$quiet</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>False</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Load a template and return its result (blocks not included, use exectemplate for this).</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function evalbool(</td><td class=PParameter nowrap>$txt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</div></div><div class=CToolTip id="tt15"><div class=CClass>The Core of STE</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function precompile(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Precompiling STE T/PL templates. </div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code,</td></tr><tr><td></td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Parsing a STE T/PL template. </div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote>Transcompiles an abstract syntax tree to PHP. </div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameterPrefix nowrap></td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameterPrefix nowrap>&amp;</td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Loading a template.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Saves a template.</div></div><div class=CToolTip id="tt6"><div class=CClass>An interface. </div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$src,</td></tr><tr><td></td><td class=PParameter nowrap>$transc</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$storage_access</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Register a custom tag.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function call_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$params,</td></tr><tr><td></td><td class=PParameter nowrap>$sub</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calling a custom tag (builtin ones can not be called)</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function exectemplate(</td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Executes a template and returns the result. </div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function &amp;get_var_reference(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$create_if_not_exist</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get a reference to a template variable using a variable name. </div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function set_var_by_name(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$val</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Set a template variable by its name. </div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function get_var_by_name(</td><td class=PParameter nowrap>$name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Get a template variable by its name. </div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function load(</td><td class=PParameter nowrap>$tpl,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PParameter nowrap>$quiet</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>False</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Load a template and return its result (blocks not included, use exectemplate for this).</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function evalbool(</td><td class=PParameter nowrap>$txt</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Test, if a text represents false (an empty / only whitespace text) or true (everything else).</div></div><div class=CToolTip id="tt17"><div class=CClass>The Core of STE</div></div><!--END_ND_TOOLTIPS-->
diff --git a/docu/nd/index/Functions.html b/docu/nd/index/Functions.html
index 0420685..5a9cff5 100644
--- a/docu/nd/index/Functions.html
+++ b/docu/nd/index/Functions.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar><a href="#Symbols">$#!</a> &middot; 0-9 &middot; A &middot; B &middot; <a href="#C">C</a> &middot; D &middot; <a href="#E">E</a> &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; <a href="#L">L</a> &middot; M &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="Symbols"></a>$#!</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>__construct</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess.__construct" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=IParent>FilesystemStorageAccess</a><a href="../files/stupid_template_engine-php.html#STECore.__construct" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=IParent>STECore</a></div></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.call_tag" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>call_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.evalbool" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>evalbool</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.exectemplate" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>exectemplate</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_by_name" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>get_var_by_name</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_reference" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>get_var_reference</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>load</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#STECore.load" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=IParent>STECore</a><a href="../files/stupid_template_engine-php.html#StorageAccess.load" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=IParent>StorageAccess</a></div></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>parse</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.register_tag" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>register_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.transcompile" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>transcompile</a>, <span class=IParent>ste</span></td></tr></table>
+<div id=Index><div class=IPageTitle>Function Index</div><div class=INavigationBar><a href="#Symbols">$#!</a> &middot; 0-9 &middot; A &middot; B &middot; <a href="#C">C</a> &middot; D &middot; <a href="#E">E</a> &middot; F &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; <a href="#L">L</a> &middot; M &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="Symbols"></a>$#!</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>__construct</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess.__construct" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=IParent>FilesystemStorageAccess</a><a href="../files/stupid_template_engine-php.html#STECore.__construct" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=IParent>STECore</a></div></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.call_tag" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>call_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.evalbool" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>evalbool</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.exectemplate" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>exectemplate</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_by_name" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>get_var_by_name</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_reference" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>get_var_reference</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>load</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#STECore.load" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=IParent>STECore</a><a href="../files/stupid_template_engine-php.html#StorageAccess.load" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=IParent>StorageAccess</a></div></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>parse</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.precompile" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>precompile</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.register_tag" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=ISymbol>register_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.set_var_by_name" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>set_var_by_name</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.transcompile" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>transcompile</a>, <span class=IParent>ste</span></td></tr></table>
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$src,</td></tr><tr><td></td><td class=PParameter nowrap>$transc</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$storage_access</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
@@ -33,19 +33,19 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Parsing a STE T/PL template. </div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code,</td></tr><tr><td></td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Parsing a STE T/PL template. </div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function precompile(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Precompiling STE T/PL templates. </div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Register a custom tag.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Register a custom tag.</div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Saves a template.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Saves a template.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function set_var_by_name(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$val</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Set a template variable by its name. </div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote>Transcompiles an abstract syntax tree to PHP.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote>Transcompiles an abstract syntax tree to PHP. </div></div><!--END_ND_TOOLTIPS-->
</div><!--Index-->
diff --git a/docu/nd/index/General.html b/docu/nd/index/General.html
index 6e92b33..25c3cbb 100644
--- a/docu/nd/index/General.html
+++ b/docu/nd/index/General.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar><a href="#Symbols">$#!</a> &middot; 0-9 &middot; A &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; D &middot; <a href="#E">E</a> &middot; <a href="#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; <a href="#L">L</a> &middot; <a href="#M">M</a> &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; <a href="#V">V</a> &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="Symbols"></a>$#!</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>__construct</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess.__construct" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=IParent>FilesystemStorageAccess</a><a href="../files/stupid_template_engine-php.html#STECore.__construct" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=IParent>STECore</a></div></td></tr><tr><td class=IHeading><a name="B"></a>B</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>$</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.$blockorder" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>blockorder</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>$</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.$blocks" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>blocks</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.call_tag" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>call_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.Constants" class=ISymbol>Constants</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.evalbool" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>evalbool</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.exectemplate" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>exectemplate</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>FilesystemStorageAccess</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Functions</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess.Functions" class=IParent>FilesystemStorageAccess</a><a href="../files/stupid_template_engine-php.html#ste.Functions" class=IParent>ste</a><a href="../files/stupid_template_engine-php.html#STECore.Functions" class=IParent>STECore</a><a href="../files/stupid_template_engine-php.html#StorageAccess.Functions" class=IParent>StorageAccess</a></div></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_by_name" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>get_var_by_name</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_reference" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>get_var_reference</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#License" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>License</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>load</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#STECore.load" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=IParent>STECore</a><a href="../files/stupid_template_engine-php.html#StorageAccess.load" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=IParent>StorageAccess</a></div></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.MODE_SOURCE" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>MODE_SOURCE</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.MODE_TRANSCOMPILED" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>MODE_TRANSCOMPILED</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>parse</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.Public_variables" class=ISymbol>Public variables</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.register_tag" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>register_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>ste</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>STECore</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>StorageAccess</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#stupid_template_engine.php" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>stupid_template_engine.php</a></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.Template_modes" class=ISymbol>Template modes</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.transcompile" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>transcompile</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="V"></a>V</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.Variables" class=ISymbol>Variables</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>$</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.$vars" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>vars</a>, <span class=IParent>STECore</span></td></tr></table>
+<div id=Index><div class=IPageTitle>Index</div><div class=INavigationBar><a href="#Symbols">$#!</a> &middot; 0-9 &middot; A &middot; <a href="#B">B</a> &middot; <a href="#C">C</a> &middot; D &middot; <a href="#E">E</a> &middot; <a href="#F">F</a> &middot; <a href="#G">G</a> &middot; H &middot; I &middot; J &middot; K &middot; <a href="#L">L</a> &middot; <a href="#M">M</a> &middot; N &middot; O &middot; <a href="#P">P</a> &middot; Q &middot; <a href="#R">R</a> &middot; <a href="#S">S</a> &middot; <a href="#T">T</a> &middot; U &middot; <a href="#V">V</a> &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="Symbols"></a>$#!</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>__construct</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess.__construct" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=IParent>FilesystemStorageAccess</a><a href="../files/stupid_template_engine-php.html#STECore.__construct" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=IParent>STECore</a></div></td></tr><tr><td class=IHeading><a name="B"></a>B</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>$</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.$blockorder" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>blockorder</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>$</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.$blocks" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>blocks</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="C"></a>C</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.call_tag" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>call_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.Constants" class=ISymbol>Constants</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="E"></a>E</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.evalbool" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>evalbool</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.exectemplate" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>exectemplate</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="F"></a>F</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>FilesystemStorageAccess</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>Functions</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#FilesystemStorageAccess.Functions" class=IParent>FilesystemStorageAccess</a><a href="../files/stupid_template_engine-php.html#ste.Functions" class=IParent>ste</a><a href="../files/stupid_template_engine-php.html#STECore.Functions" class=IParent>STECore</a><a href="../files/stupid_template_engine-php.html#StorageAccess.Functions" class=IParent>StorageAccess</a></div></td></tr><tr><td class=IHeading><a name="G"></a>G</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_by_name" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>get_var_by_name</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.get_var_reference" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>get_var_reference</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="L"></a>L</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#License" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')" class=ISymbol>License</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><span class=ISymbol>load</span><div class=ISubIndex><a href="../files/stupid_template_engine-php.html#STECore.load" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')" class=IParent>STECore</a><a href="../files/stupid_template_engine-php.html#StorageAccess.load" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')" class=IParent>StorageAccess</a></div></td></tr><tr><td class=IHeading><a name="M"></a>M</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.MODE_SOURCE" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')" class=ISymbol>MODE_SOURCE</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.MODE_TRANSCOMPILED" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')" class=ISymbol>MODE_TRANSCOMPILED</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="P"></a>P</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')" class=ISymbol>parse</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.precompile" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')" class=ISymbol>precompile</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.Public_variables" class=ISymbol>Public variables</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="R"></a>R</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.register_tag" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')" class=ISymbol>register_tag</a>, <span class=IParent>STECore</span></td></tr><tr><td class=IHeading><a name="S"></a>S</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')" class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.set_var_by_name" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')" class=ISymbol>set_var_by_name</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')" class=ISymbol>ste</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')" class=ISymbol>STECore</a></td></tr><tr><td class=ISymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')" class=ISymbol>StorageAccess</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#stupid_template_engine.php" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')" class=ISymbol>stupid_template_engine.php</a></td></tr><tr><td class=IHeading><a name="T"></a>T</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.Template_modes" class=ISymbol>Template modes</a>, <span class=IParent>ste</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#ste.transcompile" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')" class=ISymbol>transcompile</a>, <span class=IParent>ste</span></td></tr><tr><td class=IHeading><a name="V"></a>V</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.Variables" class=ISymbol>Variables</a>, <span class=IParent>STECore</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>$</td><td class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.$vars" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')" class=ISymbol>vars</a>, <span class=IParent>STECore</span></td></tr></table>
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$src,</td></tr><tr><td></td><td class=PParameter nowrap>$transc</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function __construct(</td><td class=PParameter nowrap>$storage_access</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><!--END_ND_TOOLTIPS-->
@@ -45,23 +45,23 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Parsing a STE T/PL template. </div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function parse(</td><td class=PParameter nowrap>$code,</td></tr><tr><td></td><td class=PParameter nowrap>$tpl</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Parsing a STE T/PL template. </div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function precompile(</td><td class=PParameter nowrap>$code</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Precompiling STE T/PL templates. </div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Register a custom tag.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function register_tag(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$callback</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Register a custom tag.</div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Saves a template.</div></div><div class=CToolTip id="tt19"><div class=CClass>Everything in this file is in this namespace.</div></div><div class=CToolTip id="tt20"><div class=CClass>The Core of STE</div></div><div class=CToolTip id="tt21"><div class=CClass>An interface. </div></div><div class=CToolTip id="tt22"><div class=CFile>The implementation of the Stupid Template Engine.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function save(</td><td class=PParameter nowrap>$tpl,</td></tr><tr><td></td><td class=PParameter nowrap>$data,</td></tr><tr><td></td><td class=PParameter nowrap>$mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Saves a template.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>public function set_var_by_name(</td><td class=PParameter nowrap>$name,</td></tr><tr><td></td><td class=PParameter nowrap>$val</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Set a template variable by its name. </div></div><div class=CToolTip id="tt21"><div class=CClass>Everything in this file is in this namespace.</div></div><div class=CToolTip id="tt22"><div class=CClass>The Core of STE</div></div><div class=CToolTip id="tt23"><div class=CClass>An interface. </div></div><div class=CToolTip id="tt24"><div class=CFile>The implementation of the Stupid Template Engine.</div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote>Transcompiles an abstract syntax tree to PHP.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function transcompile(</td><td class=PParameter nowrap>$ast</td><td class=PAfterParameters nowrap>) /* Transcompile and add some boilerplate code. */</td></tr></table></td></tr></table></blockquote>Transcompiles an abstract syntax tree to PHP. </div></div><!--END_ND_TOOLTIPS-->
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt24"><div class=CVariable>Associative array of all template variables. </div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt26"><div class=CVariable>Associative array of all template variables. </div></div><!--END_ND_TOOLTIPS-->
</div><!--Index-->
diff --git a/docu/nd/javascript/searchdata.js b/docu/nd/javascript/searchdata.js
index 3095b6a..985032f 100644
--- a/docu/nd/javascript/searchdata.js
+++ b/docu/nd/javascript/searchdata.js
@@ -119,7 +119,7 @@ var indexSectionsWithContent = {
"Y": false,
"Z": false
},
- "Constants": {
+ "Classes": {
"Symbols": false,
"Numbers": false,
"A": false,
@@ -127,21 +127,21 @@ var indexSectionsWithContent = {
"C": false,
"D": false,
"E": false,
- "F": false,
+ "F": true,
"G": false,
"H": false,
"I": false,
"J": false,
"K": false,
"L": false,
- "M": true,
+ "M": false,
"N": false,
"O": false,
"P": false,
"Q": false,
"R": false,
- "S": false,
- "T": true,
+ "S": true,
+ "T": false,
"U": false,
"V": false,
"W": false,
@@ -149,7 +149,7 @@ var indexSectionsWithContent = {
"Y": false,
"Z": false
},
- "Classes": {
+ "Constants": {
"Symbols": false,
"Numbers": false,
"A": false,
@@ -157,21 +157,21 @@ var indexSectionsWithContent = {
"C": false,
"D": false,
"E": false,
- "F": true,
+ "F": false,
"G": false,
"H": false,
"I": false,
"J": false,
"K": false,
"L": false,
- "M": false,
+ "M": true,
"N": false,
"O": false,
"P": false,
"Q": false,
"R": false,
- "S": true,
- "T": false,
+ "S": false,
+ "T": true,
"U": false,
"V": false,
"W": false,
diff --git a/docu/nd/search/FunctionsP.html b/docu/nd/search/FunctionsP.html
index c4b218e..d5fc2ab 100644
--- a/docu/nd/search/FunctionsP.html
+++ b/docu/nd/search/FunctionsP.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_parse><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" target=_parent class=ISymbol>parse</a>, <span class=IParent>ste</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_parse><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" target=_parent class=ISymbol>parse</a>, <span class=IParent>ste</span></div></div><div class=SRResult id=SR_precompile><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste.precompile" target=_parent class=ISymbol>precompile</a>, <span class=IParent>ste</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults", "HTML");
diff --git a/docu/nd/search/FunctionsS.html b/docu/nd/search/FunctionsS.html
index 4e0fc1d..34da684 100644
--- a/docu/nd/search/FunctionsS.html
+++ b/docu/nd/search/FunctionsS.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" target=_parent class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" target=_parent class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></div></div><div class=SRResult id=SR_set_undvar_undby_undname><div class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.set_var_by_name" target=_parent class=ISymbol>set_var_by_name</a>, <span class=IParent>STECore</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults", "HTML");
diff --git a/docu/nd/search/GeneralP.html b/docu/nd/search/GeneralP.html
index 964ae42..a820109 100644
--- a/docu/nd/search/GeneralP.html
+++ b/docu/nd/search/GeneralP.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_parse><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" target=_parent class=ISymbol>parse</a>, <span class=IParent>ste</span></div></div><div class=SRResult id=SR_Public_spcvariables><div class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.Public_variables" target=_parent class=ISymbol>Public variables</a>, <span class=IParent>STECore</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_parse><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste.parse" target=_parent class=ISymbol>parse</a>, <span class=IParent>ste</span></div></div><div class=SRResult id=SR_precompile><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste.precompile" target=_parent class=ISymbol>precompile</a>, <span class=IParent>ste</span></div></div><div class=SRResult id=SR_Public_spcvariables><div class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.Public_variables" target=_parent class=ISymbol>Public variables</a>, <span class=IParent>STECore</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults", "HTML");
diff --git a/docu/nd/search/GeneralS.html b/docu/nd/search/GeneralS.html
index 27694c7..ea5fd6d 100644
--- a/docu/nd/search/GeneralS.html
+++ b/docu/nd/search/GeneralS.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" target=_parent class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></div></div><div class=SRResult id=SR_ste><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste" target=_parent class=ISymbol>ste</a></div></div><div class=SRResult id=SR_STECore><div class=IEntry><a href="../files/stupid_template_engine-php.html#STECore" target=_parent class=ISymbol>STECore</a></div></div><div class=SRResult id=SR_StorageAccess><div class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess" target=_parent class=ISymbol>StorageAccess</a></div></div><div class=SRResult id=SR_stupid_undtemplate_undengine_perphp><div class=IEntry><a href="../files/stupid_template_engine-php.html#stupid_template_engine.php" target=_parent class=ISymbol>stupid_template_engine.php</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
+<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess.save" target=_parent class=ISymbol>save</a>, <span class=IParent>StorageAccess</span></div></div><div class=SRResult id=SR_set_undvar_undby_undname><div class=IEntry><a href="../files/stupid_template_engine-php.html#STECore.set_var_by_name" target=_parent class=ISymbol>set_var_by_name</a>, <span class=IParent>STECore</span></div></div><div class=SRResult id=SR_ste><div class=IEntry><a href="../files/stupid_template_engine-php.html#ste" target=_parent class=ISymbol>ste</a></div></div><div class=SRResult id=SR_STECore><div class=IEntry><a href="../files/stupid_template_engine-php.html#STECore" target=_parent class=ISymbol>STECore</a></div></div><div class=SRResult id=SR_StorageAccess><div class=IEntry><a href="../files/stupid_template_engine-php.html#StorageAccess" target=_parent class=ISymbol>StorageAccess</a></div></div><div class=SRResult id=SR_stupid_undtemplate_undengine_perphp><div class=IEntry><a href="../files/stupid_template_engine-php.html#stupid_template_engine.php" target=_parent class=ISymbol>stupid_template_engine.php</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults", "HTML");
diff --git a/mkdocu.sh b/mkdocu.sh
index 36d0c7c..3f06062 100755
--- a/mkdocu.sh
+++ b/mkdocu.sh
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
if [ ! -d docu/nd ]; then mkdir docu/nd; fi
-NaturalDocs -i . -o html docu/nd -p docu/nd
+if [ ! -d docu/nd_project_dir ]; then mkdir docu/nd_project_dir; fi
+NaturalDocs -i . -o html docu/nd -p docu/nd_project_dir
diff --git a/stupid_template_engine.php b/stupid_template_engine.php
index c77e5d8..2be4f79 100644
--- a/stupid_template_engine.php
+++ b/stupid_template_engine.php
@@ -1121,7 +1121,7 @@ class STECore
}
/*
- * Function set_var_by_name
+ * Function: set_var_by_name
* Set a template variable by its name.
* This can be used,if your custom tag takes a variable name as a parameter.
*