summaryrefslogtreecommitdiff
path: root/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty')
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc1966
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini577
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl21
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl541
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl11
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl22
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl17
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl19
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl34
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl12
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl21
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl7
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl11
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl54
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl35
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl110
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl18
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl7
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.pngbin0 -> 307 bytes
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.pngbin0 -> 206 bytes
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.pngbin0 -> 7724 bytes
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css135
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl176
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl3
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl210
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl15
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl22
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl14
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl32
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl29
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl94
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini577
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl18
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl231
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl9
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl17
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl14
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl32
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl15
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl21
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl10
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl11
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl48
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl40
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl97
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl9
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl7
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.pngbin0 -> 238 bytes
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.pngbin0 -> 206 bytes
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css195
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl145
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl3
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl31
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl14
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl32
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl29
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl60
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini577
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl13
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl38
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl7
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl1
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl33
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl22
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl55
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl25
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl55
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl27
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl1
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl10
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl4
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl34
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl42
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl3
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl101
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl61
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl19
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl13
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl18
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl5
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl29
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl9
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl8
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl14
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl32
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl15
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl5
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl21
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl6
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl10
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl8
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl25
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl48
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl40
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl113
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl9
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl7
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.pngbin0 -> 238 bytes
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.pngbin0 -> 991 bytes
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.pngbin0 -> 206 bytes
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css260
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css598
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css129
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl58
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl3
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl31
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl5
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl6
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl14
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl32
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl29
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl5
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl28
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini577
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl17
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl173
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl17
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl14
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl23
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl13
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl21
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl7
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl39
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl24
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl101
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl8
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl7
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css81
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css81
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css25
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css236
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl123
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl3
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl31
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl6
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css172
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl14
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl32
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl29
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl5
-rwxr-xr-xbuildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl36
162 files changed, 10683 insertions, 0 deletions
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc
new file mode 100755
index 00000000..d9fe459c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc
@@ -0,0 +1,1966 @@
+<?php
+/**
+ * HTML output converter for Smarty Template.
+ * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}.
+ *
+ * phpDocumentor :: automatic documentation generator
+ *
+ * PHP versions 4 and 5
+ *
+ * Copyright (c) 2000-2006 Joshua Eichorn, Gregory Beaver
+ *
+ * LICENSE:
+ *
+ * This library is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU Lesser General
+ * Public License as published by the Free Software Foundation;
+ * either version 2.1 of the License, or (at your option) any
+ * later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * @package Converters
+ * @subpackage HTMLframes
+ * @author Joshua Eichorn <jeichorn@phpdoc.org>
+ * @author Greg Beaver <cellog@php.net>
+ * @copyright 2000-2006 Joshua Eichorn, Gregory Beaver
+ * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
+ * @version CVS: $Id: HTMLSmartyConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $
+ * @filesource
+ * @link http://www.phpdoc.org
+ * @link http://pear.php.net/PhpDocumentor
+ * @see parserDocBlock, parserInclude, parserPage, parserClass
+ * @see parserDefine, parserFunction, parserMethod, parserVar
+ * @since 1.0rc1
+ */
+/**
+ * HTML output converter.
+ * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}.
+ *
+ * @package Converters
+ * @subpackage HTMLSmarty
+ * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar
+ * @author Greg Beaver <cellog@php.net>
+ * @since 1.0rc1
+ * @version $Revision: 234145 $
+ */
+class HTMLSmartyConverter extends Converter
+{
+ /**
+ * This converter knows about the new root tree processing
+ * In order to fix PEAR Bug #6389
+ * @var boolean
+ */
+ var $processSpecialRoots = true;
+ /**
+ * Smarty Converter wants elements sorted by type as well as alphabetically
+ * @see Converter::$sort_page_contents_by_type
+ * @var boolean
+ */
+ var $sort_page_contents_by_type = true;
+ /** @var string */
+ var $outputformat = 'HTML';
+ /** @var string */
+ var $name = 'Smarty';
+ /**
+ * indexes of elements by package that need to be generated
+ * @var array
+ */
+ var $leftindex = array('classes' => true, 'pages' => true, 'functions' => true, 'defines' => false, 'globals' => false);
+
+ /**
+ * output directory for the current procedural page being processed
+ * @var string
+ */
+ var $page_dir;
+
+ /**
+ * target directory passed on the command-line.
+ * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it.
+ * @var string
+ */
+ var $base_dir;
+
+ /**
+ * output directory for the current class being processed
+ * @var string
+ */
+ var $class_dir;
+
+ /**
+ * array of converted package page names.
+ * Used to link to the package page in the left index
+ * @var array Format: array(package => 1)
+ */
+ var $package_pages = array();
+
+ /**
+ * controls formatting of parser informative output
+ *
+ * Converter prints:
+ * "Converting /path/to/file.php... Procedural Page Elements... Classes..."
+ * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line. However, if there
+ * is more than one class, output is messy, with multiple \n's just between class file output. This variable prevents that
+ * and is purely cosmetic
+ * @var boolean
+ */
+ var $juststarted = false;
+
+ /**
+ * contains all of the template procedural page element loop data needed for the current template
+ * @var array
+ */
+ var $current;
+
+ /**
+ * contains all of the template class element loop data needed for the current template
+ * @var array
+ */
+ var $currentclass;
+ var $wrote = false;
+ var $ric_set = array();
+
+ /**
+ * sets {@link $base_dir} to $targetDir
+ * @see Converter()
+ */
+
+ /**#@+
+ * @access private
+ */
+ var $_classleft_cache = false;
+ var $_classcontents_cache = false;
+ var $_pagecontents_cache = false;
+ var $_pageleft_cache = false;
+ var $_done_package_index = false;
+ var $_ric_done = false;
+ var $_wrote_tdir = false;
+ var $ric_contents = array();
+ /**#@-*/
+
+ function HTMLSmartyConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title)
+ {
+ Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title);
+ $this->base_dir = $targetDir;
+ }
+
+ function writeSource($path, $value)
+ {
+ $templ = &$this->newSmarty();
+ $pathinfo = $this->proceduralpages->getPathInfo($path, $this);
+ $templ->assign('source',$value);
+ $templ->assign('package',$pathinfo['package']);
+ $templ->assign('subpackage',$pathinfo['subpackage']);
+ $templ->assign('name',$pathinfo['name']);
+ $templ->assign('source_loc',$pathinfo['source_loc']);
+ $templ->assign('docs',$pathinfo['docs']);
+ $templ->assign("subdir",'../');
+ $templ->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->setTargetDir($this->getFileSourcePath($this->base_dir));
+ phpDocumentor_out("\n");
+ $this->setSourcePaths($path);
+ $this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl'));
+ }
+
+ function writeExample($title, $path, $source)
+ {
+ $templ = &$this->newSmarty();
+ $templ->assign('source',$source);
+ if (empty($title))
+ {
+ $title = 'example';
+ addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title);
+ }
+ $templ->assign('title',$title);
+ $templ->assign('file',$path);
+ $templ->assign("subdir",'../');
+ $templ->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource');
+ phpDocumentor_out("\n");
+ $this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl'));
+ }
+
+ function getExampleLink($path, $title)
+ {
+ return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title);
+ }
+
+ function getSourceLink($path)
+ {
+ return $this->returnLink('{$subdir}__filesource/' .
+ $this->getFileSourceName($path).'.html','Source Code for this file');
+ }
+
+ /**
+ * Retrieve a Converter-specific anchor to a segment of a source code file
+ * parsed via a {@tutorial tags.filesource.pkg} tag.
+ * @param string full path to source file
+ * @param string name of anchor
+ * @param string link text, if this is a link
+ * @param boolean returns either a link or a destination based on this
+ * parameter
+ * @return string link to an anchor, or the anchor
+ */
+ function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false)
+ {
+ if ($link) {
+ return $this->returnLink('{$subdir}__filesource/' .
+ $this->getFileSourceName($sourcefile) . '.html#a' . $anchor, $text);
+ } else {
+ return '<a name="a'.$anchor.'"></a>';
+ }
+ }
+
+ /**
+ * Return a line of highlighted source code with formatted line number
+ *
+ * If the $path is a full path, then an anchor to the line number will be
+ * added as well
+ * @param integer line number
+ * @param string highlighted source code line
+ * @param false|string full path to @filesource file this line is a part of,
+ * if this is a single line from a complete file.
+ * @return string formatted source code line with line number
+ */
+ function sourceLine($linenumber, $line, $path = false)
+ {
+ $extra = '';
+ if (strlen(str_replace("\n", '', $line)) == 0) {
+ $extra = '&nbsp;';
+ }
+ if ($path)
+ {
+ return '<li><div class="src-line">' . $this->getSourceAnchor($path, $linenumber) .
+ str_replace("\n",'',$line) . $extra .
+ "</div></li>\n";
+ } else
+ {
+ return '<li><div class="src-line">' . str_replace("\n",'',$line) . "$extra</div></li>\n";
+ }
+ }
+
+ /**
+ * Used to convert the <<code>> tag in a docblock
+ * @param string
+ * @param boolean
+ * @return string
+ */
+ function ProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/,
+ $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/)
+ {
+ $trans = $this->template_options['desctranslate'];
+ $this->template_options['desctranslate'] = array();
+ $example = '<ol>' . parent::ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath)
+ .'</ol>';
+ $this->template_options['desctranslate'] = $trans;
+ if (!isset($this->template_options['desctranslate'])) return $example;
+ if (!isset($this->template_options['desctranslate']['code'])) return $example;
+ $example = $this->template_options['desctranslate']['code'] . $example;
+ if (!isset($this->template_options['desctranslate']['/code'])) return $example;
+ return $example . $this->template_options['desctranslate']['/code'];
+ }
+
+ /**
+ * @param string
+ */
+ function TutorialExample($example)
+ {
+ $trans = $this->template_options['desctranslate'];
+ $this->template_options['desctranslate'] = array();
+ $example = '<ol>' . parent::TutorialExample($example)
+ .'</ol>';
+ $this->template_options['desctranslate'] = $trans;
+ if (!isset($this->template_options['desctranslate'])) return $example;
+ if (!isset($this->template_options['desctranslate']['code'])) return $example;
+ $example = $this->template_options['desctranslate']['code'] . $example;
+ if (!isset($this->template_options['desctranslate']['/code'])) return $example;
+ return $example . $this->template_options['desctranslate']['/code'];
+ }
+
+ function getCurrentPageLink()
+ {
+ return $this->curname . '.html';
+ }
+
+ function unmangle($sourcecode)
+ {
+ $sourcecode = str_replace('&nbsp;',' ',$sourcecode);
+ $sourcecode = str_replace('&amp;','&',$sourcecode);
+ $sourcecode = str_replace('<br />',"<br>",$sourcecode);
+ $sourcecode = str_replace('<code>','<pre>',$sourcecode);
+ $sourcecode = str_replace('</code>','</pre>',$sourcecode);
+ $sourcecode = str_replace('&lt;','<',$sourcecode);
+ $sourcecode = str_replace('&gt;','>',$sourcecode);
+ return $sourcecode;
+ }
+
+ /**
+ * Uses htmlspecialchars() on the input
+ */
+ function postProcess($text)
+ {
+ if ($this->highlightingSource) {
+ return str_replace(array(' ',"\t"), array('&nbsp;', '&nbsp;&nbsp;&nbsp;'),
+ htmlspecialchars($text));
+ }
+ return htmlspecialchars($text);
+ }
+
+ /**
+ * Use the template tutorial_toc.tpl to generate a table of contents for HTML
+ * @return string table of contents formatted for use in the current output format
+ * @param array format: array(array('tagname' => section, 'link' => returnsee link, 'id' => anchor name, 'title' => from title tag),...)
+ */
+ function formatTutorialTOC($toc)
+ {
+ $template = &$this->newSmarty();
+ $template->assign('toc',$toc);
+ return $template->fetch('tutorial_toc.tpl');
+ }
+
+ function &SmartyInit(&$templ)
+ {
+ $this->makeLeft();
+ $templ->assign("ric",$this->ric_set);
+ $templ->assign("packageindex",$this->package_index);
+ $templ->assign('hastodos',count($this->todoList));
+ $templ->assign('todolink','todolist.html');
+ $templ->assign("subdir",'');
+ return $templ;
+ }
+
+ /**
+ * Writes out the template file of {@link $class_data} and unsets the template to save memory
+ * @see registerCurrentClass()
+ * @see parent::endClass()
+ */
+ function endClass()
+ {
+ $a = '../';
+ if (!empty($this->subpackage)) $a .= '../';
+ if ($this->juststarted)
+ {
+ $this->juststarted = false;
+ phpDocumentor_out("\n");
+ flush();
+ }
+ $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir);
+ $classleft = $this->getClassLeft();
+ $this->class_data->assign("compiledfileindex",$this->getPageLeft());
+ $this->class_data->assign("compiledclassindex",$classleft['class']);
+ $this->class_data->assign("compiledinterfaceindex",$classleft['interface']);
+ $this->class_data->assign("tutorials",$this->getTutorialList());
+ $this->class_data->assign("contents",$this->getClassContents());
+ $this->class_data->assign("packageindex",$this->package_index);
+ $this->class_data->assign("package",$this->package);
+ $this->class_data->assign("subdir",$a);
+ $this->class_data->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->writefile($this->class . '.html',$this->class_data->fetch('class.tpl'));
+ unset($this->class_data);
+ }
+
+ function getTutorialList()
+ {
+ static $cache = false;
+ if ($cache)
+ {
+ if (isset($cache[$this->package])) return $cache[$this->package];
+ }
+ $package = $this->package;
+ if (!isset($this->tutorials[$package])) return false;
+ foreach($this->tutorials[$package] as $subpackage => $blah)
+ {
+ $subpackages[] = $subpackage;
+ }
+ $tutes = array();
+ foreach($subpackages as $subpackage)
+ {
+ if (isset($this->tutorial_tree) && is_array($this->tutorial_tree))
+ foreach($this->tutorial_tree as $root => $tr)
+ {
+ if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == $subpackage)
+ $tutes[$tr['tutorial']->tutorial_type][] = $this->getTutorialTree($tr['tutorial']);
+ }
+ }
+ $cache[$this->package] = $tutes;
+ return $tutes;
+ }
+
+ function getTutorialTree($tutorial,$k = false)
+ {
+ $ret = '';
+ if (is_object($tutorial)) $tree = parent::getTutorialTree($tutorial); else $tree = $tutorial;
+ if (!$tree)
+ {
+ $template = &$this->newSmarty();
+ $template->assign('subtree',false);
+ $template->assign('name',str_replace('.','',$tutorial->name));
+ $template->assign('parent',false);
+ $template->assign('haskids',false);
+ $template->assign('kids','');
+ $link = new tutorialLink;
+ $t = $tutorial;
+ $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this));
+ $main = array('link' => $this->getId($link), 'title' => $link->title);
+ $template->assign('main',$main);
+ return $template->fetch('tutorial_tree.tpl');
+ }
+ if (isset($tree['kids']))
+ {
+ foreach($tree['kids'] as $subtree)
+ {
+ $ret .= $this->getTutorialTree($subtree, true);
+ }
+ }
+ $template = &$this->newSmarty();
+ $template->assign('subtree',$k);
+ $template->assign('name',str_replace('.','',$tree['tutorial']->name));
+ $template->assign('parent',($k ? str_replace('.','',$tree['tutorial']->parent->name) : false));
+ $template->assign('haskids',strlen($ret));
+ $template->assign('kids',$ret);
+ $link = new tutorialLink;
+ $t = $tree['tutorial'];
+ $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this));
+ $main = array('link' => $this->getId($link), 'title' => $link->title);
+ $template->assign('main',$main);
+ return $template->fetch('tutorial_tree.tpl');
+ }
+
+ function getClassLeft()
+ {
+ if ($this->_classleft_cache)
+ {
+ if (isset($this->_classleft_cache[$this->package][$this->subpackage])) return $this->_classleft_cache[$this->package][$this->subpackage];
+ }
+ $arr = $classarr = $interfacearr = array();
+ if (isset($this->left['#class'][$this->package]))
+ foreach($this->left['#class'][$this->package] as $subpackage => $pages)
+ {
+ for ($i = 0; $i < count($pages); $i++) {
+ if ($pages[$i]['is_interface']) {
+ $interfacearr[$subpackage][] = $pages[$i];
+ } else {
+ $classarr[$subpackage][] = $pages[$i];
+ }
+ }
+ }
+ $templ = &$this->newSmarty();
+ $templ->assign('classleftindex',$classarr);
+ $classarr = $templ->fetch('classleft.tpl');
+ $this->_classleft_cache[$this->package][$this->subpackage]['class'] = $classarr;
+ $templ = &$this->newSmarty();
+ $templ->assign('classleftindex',$interfacearr);
+ $interfacearr = $templ->fetch('classleft.tpl');
+ $this->_classleft_cache[$this->package][$this->subpackage]['interface'] =
+ $interfacearr;
+ return $this->_classleft_cache[$this->package][$this->subpackage];
+ }
+
+ function getClassContents()
+ {
+ if ($this->_classcontents_cache)
+ {
+ if (isset($this->_classcontents_cache[$this->package][$this->subpackage][$this->class])) return $this->_classcontents_cache[$this->package][$this->subpackage][$this->class];
+ }
+ $arr = array();
+ foreach($this->class_contents[$this->package][$this->subpackage][$this->class] as $i => $link)
+ {
+ if (is_object($link))
+ $arr[$link->type][] = $this->returnSee($link,$link->name);
+ }
+ $this->_classcontents_cache[$this->package][$this->subpackage][$this->class] = $arr;
+ return $arr;
+ }
+
+ function getPageContents()
+ {
+ if (!isset($this->path)) $this->path = '#####';
+ if ($this->_pagecontents_cache)
+ {
+ if (isset($this->_pagecontents_cache[$this->package][$this->subpackage][$this->path])) return $this->_pagecontents_cache[$this->package][$this->subpackage][$this->path];
+ }
+ $arr = array();
+ foreach($this->page_contents[$this->curpage->package][$this->curpage->subpackage] as $i => $link)
+ {
+ if (is_object($link))
+ $arr[$link->type][$i] = $this->returnSee($link);
+ }
+ $this->_pagecontents_cache[$this->package][$this->subpackage][$this->path] = $arr;
+ return $arr;
+ }
+
+ function getPageLeft()
+ {
+ if ($this->_pageleft_cache)
+ {
+ if (isset($this->_pageleft_cache[$this->package][$this->subpackage])) return $this->_pageleft_cache[$this->package][$this->subpackage];
+ }
+ $arr = array();
+ if (isset($this->left[$this->package]))
+ foreach($this->left[$this->package] as $subpackage => $pages)
+ {
+ $arr[$subpackage] = $pages;
+ }
+ $templ = &$this->newSmarty();
+ $templ->assign('fileleftindex',$arr);
+ $arr = $templ->fetch('fileleft.tpl');
+ $this->_pageleft_cache[$this->package][$this->subpackage] = $arr;
+ return $arr;
+ }
+
+ /**
+ * Writes out the template file of {@link $page_data} and unsets the template to save memory
+ * @see registerCurrent()
+ * @see parent::endPage()
+ */
+ function endPage()
+ {
+ $this->package = $this->curpage->package;
+ $this->subpackage = $this->curpage->subpackage;
+ $a = '../';
+ if (!empty($this->subpackage)) $a .= '../';
+ $classleft = $this->getClassLeft();
+ $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir);
+ $this->page_data->assign("contents",$this->getPageContents());
+ $this->page_data->assign("compiledfileindex",$this->getPageLeft());
+ $this->page_data->assign("compiledclassindex",$classleft['class']);
+ $this->page_data->assign("compiledinterfaceindex",$classleft['interface']);
+ $this->page_data->assign("tutorials",$this->getTutorialList());
+ $this->page_data->assign("packageindex",$this->package_index);
+ $this->page_data->assign("package",$this->package);
+ $this->page_data->assign("subdir",$a);
+ $this->page_data->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl'));
+ unset($this->page_data);
+ }
+
+ /**
+ * @param string
+ * @param string
+ * @return string &lt;a href="'.$link.'">'.$text.'</a&gt;
+ */
+ function returnLink($link,$text)
+ {
+ return '<a href="'.$link.'">'.$text.'</a>';
+ }
+
+ function makeLeft()
+ {
+ if ($this->_done_package_index) return;
+ $this->_done_package_index = true;
+ if (!isset($this->package_index))
+ foreach($this->all_packages as $key => $val)
+ {
+ if (isset($this->pkg_elements[$key]))
+ {
+ if (!isset($start)) $start = $key;
+ $this->package_index[] = array('link' => "li_$key.html", 'title' => $key);
+ }
+ }
+ foreach($this->page_elements as $package => $o1)
+ {
+ foreach($o1 as $subpackage => $links)
+ {
+ for($i=0;$i<count($links);$i++)
+ {
+ $this->left[$package][$subpackage][] =
+ array("link" => $this->getId($links[$i]), "title" => $links[$i]->name);
+ }
+ }
+ }
+ foreach($this->class_elements as $package => $o1)
+ {
+ foreach($o1 as $subpackage => $links)
+ {
+ for($i=0;$i<count($links);$i++)
+ {
+ $isinterface = false;
+ if ($links[$i]->type == 'class') {
+ $class = $this->classes->getClass($links[$i]->name,
+ $links[$i]->path);
+ if ($class) {
+ $isinterface = $class->isInterface();
+ }
+ }
+ $this->left['#class'][$package][$subpackage][] =
+ array("link" => $this->getId($links[$i]), "title" => $links[$i]->name, 'is_interface' => $isinterface);
+ }
+ }
+ }
+ }
+
+ /**
+ * HTMLdefaultConverter chooses to format both package indexes and the complete index here
+ *
+ * This function formats output for the elementindex.html and pkgelementindex.html template files. It then
+ * writes them to the target directory
+ * @see generateElementIndex(), generatePkgElementIndex()
+ */
+ function formatPkgIndex()
+ {
+ list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes();
+ for($i=0;$i<count($package_indexes);$i++)
+ {
+ $template = &$this->newSmarty();
+ $this->package = $package_indexes[$i]['package'];
+ $this->subpackage = '';
+ $classleft = $this->getClassLeft();
+ $template->assign("compiledfileindex",$this->getPageLeft());
+ $template->assign("compiledclassindex",$classleft['class']);
+ $template->assign("compiledinterfaceindex",$classleft['interface']);
+ $template->assign("tutorials",$this->getTutorialList());
+ $template->assign("index",$package_indexes[$i]['pindex']);
+ $template->assign("package",$package_indexes[$i]['package']);
+ $template->assign("letters",$mletters[$package_indexes[$i]['package']]);
+ $template->assign("title","Package ".$package_indexes[$i]['package']." Element Index");
+ $template->assign("date",date("r",time()));
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->setTargetDir($this->base_dir);
+ $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl'));
+ }
+ phpDocumentor_out("\n");
+ flush();
+ }
+
+ /**
+ * HTMLdefaultConverter uses this function to format template index.html and packages.html
+ *
+ * This function generates the package list from {@link $all_packages}, eliminating any
+ * packages that don't have any entries in their package index (no files at all, due to @ignore
+ * or other factors). Then it uses the default package name as the first package index to display.
+ * It sets the right pane to be either a blank file with instructions on making package-level docs,
+ * or the package-level docs for the default package.
+ * @global string Used to set the starting package to display
+ */
+ function formatIndex()
+ {
+ global $phpDocumentor_DefaultPackageName;
+ if (!isset($this->package_index))
+ {
+ debug("\nERROR: Nothing parsed, check the command-line");
+ die();
+ }
+ list($elindex,$mletters) = $this->generateElementIndex();
+ $template = &$this->newSmarty();
+ $template->assign("index",$elindex);
+ $template->assign("letters",$mletters);
+ $template->assign("title","Element Index");
+ $template->assign("package", false);
+ $template->assign("date",date("r",time()));
+ phpDocumentor_out("\n");
+ flush();
+ $this->setTargetDir($this->base_dir);
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->writefile('elementindex.html',$template->fetch('elementindex.tpl'));
+ usort($this->package_index,"HTMLSmarty_pindexcmp");
+ $index = &$this->newSmarty();
+ foreach($this->all_packages as $key => $val)
+ {
+ if (isset($this->pkg_elements[$key]))
+ {
+ if (!isset($start)) $start = $key;
+ if (!isset($this->package_pages[$key])) $this->writeNewPPage($key);
+ }
+ }
+ // Created index.html
+ $start = $phpDocumentor_DefaultPackageName;
+ if (!isset($this->pkg_elements[$key]))
+ {
+ // if there are no elements, use a random package as the default
+ $a = array_keys($this->pkg_elements);
+ $start = array_shift($a);
+ }
+ $this->package = $start;
+ $this->subpackage = '';
+ $classleft = $this->getClassLeft();
+ $index->assign("compiledfileindex",$this->getPageLeft());
+ $index->assign("compiledclassindex",$classleft['class']);
+ $index->assign("compiledinterfaceindex",$classleft['interface']);
+ $index->assign('hastodos',count($this->todoList));
+ $index->assign('todolink','todolist.html');
+ $index->assign("tutorials",$this->getTutorialList());
+ $index->assign("date",date("r",time()));
+ $index->assign("package",$this->package);
+ $index->assign("title",$this->title);
+ $index->assign("start","li_$start.html");
+ if (isset($this->package_pages[$start]))
+ {
+ $index->assign("contents",$this->package_pages[$start]);
+ }
+ $index->register_outputfilter('HTMLSmarty_outputfilter');
+ phpDocumentor_out("\n");
+ flush();
+ $this->setTargetDir($this->base_dir);
+ $this->writefile("index.html",$index->fetch('index.tpl'));
+ unset($index);
+
+ }
+
+ function writeNewPPage($key)
+ {
+ $template = &$this->newSmarty();
+ $this->package = $key;
+ $this->subpackage = '';
+ $classleft = $this->getClassLeft();
+ $template->assign("compiledfileindex",$this->getPageLeft());
+ $template->assign("compiledclassindex",$classleft['class']);
+ $template->assign("compiledinterfaceindex",$classleft['interface']);
+ $template->assign("tutorials",$this->getTutorialList());
+ $template->assign("date",date("r",time()));
+ $template->assign("title",$this->title);
+ $template->assign("package",$key);
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ phpDocumentor_out("\n");
+ flush();
+ $this->setTargetDir($this->base_dir);
+ $this->writefile("li_$key.html",$template->fetch('index.tpl'));
+ unset($template);
+ }
+
+ /**
+ * Generate indexes for li_package.html and classtree output files
+ *
+ * This function generates the li_package.html files from the template file left.html. It does this by
+ * iterating through each of the $page_elements, $class_elements and $function_elements arrays to retrieve
+ * the pre-sorted {@link abstractLink} descendants needed for index generation. Conversion of these links to
+ * text is done by {@link returnSee()}.
+ *
+ * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html. Output
+ * filename is classtrees_packagename.html. This function also unsets {@link $elements} and {@link $pkg_elements} to free
+ * up the considerable memory these two class vars use
+ * @see $page_elements, $class_elements, $function_elements
+ */
+ function formatLeftIndex()
+ {
+ phpDocumentor_out("\n");
+ flush();
+ $this->setTargetDir($this->base_dir);
+ if (!isset($this->left))
+ {
+ debug("Nothing parsed, check the command-line");
+ die();
+ }
+ foreach($this->all_packages as $package => $rest)
+ {
+ if (!isset($this->pkg_elements[$package])) continue;
+ // Create class tree page
+ $template = &$this->newSmarty();
+ $classleft = $this->getClassLeft();
+ $template->assign("compiledfileindex",$this->getPageLeft());
+ $template->assign("compiledclassindex",$classleft['class']);
+ $template->assign("compiledinterfaceindex",$classleft['interface']);
+ $template->assign("classtrees",$this->generateFormattedClassTrees($package));
+ $template->assign("interfaces",$this->generateFormattedInterfaceTrees($package));
+ $template->assign("package",$package);
+ $template->assign("date",date("r",time()));
+ $template->assign("title","Class Trees for Package $package");
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl'));
+ phpDocumentor_out("\n");
+ flush();
+ }
+ $this->writeRIC();
+ // free up considerable memory
+ unset($this->elements);
+ unset($this->pkg_elements);
+ }
+
+
+ /**
+ * This function takes an {@link abstractLink} descendant and returns an html link
+ *
+ * @param abstractLink a descendant of abstractlink should be passed, and never text
+ * @param string text to display in the link
+ * @param boolean this parameter is not used, and is deprecated
+ * @param boolean determines whether the returned text is enclosed in an &lt;a> tag
+ */
+ function returnSee(&$element, $eltext = false, $with_a = true)
+ {
+ if (!is_object($element) || !$element) return false;
+ if (!$with_a) return $this->getId($element, false);
+ if (!$eltext)
+ {
+ $eltext = '';
+ switch($element->type)
+ {
+ case 'tutorial' :
+ $eltext = strip_tags($element->title);
+ break;
+ case 'method' :
+ case 'var' :
+ case 'const' :
+ $eltext .= $element->class.'::';
+ case 'page' :
+ case 'define' :
+ case 'class' :
+ case 'function' :
+ case 'global' :
+ default :
+ $eltext .= $element->name;
+ if ($element->type == 'function' || $element->type == 'method') $eltext .= '()';
+ break;
+ }
+ }
+ return '<a href="'.$this->getId($element).'">'.$eltext.'</a>';
+ }
+
+ function getId($element, $fullpath = true)
+ {
+ if (phpDocumentor_get_class($element) == 'parserdata')
+ {
+ $element = $this->addLink($element->parent);
+ $elp = $element->parent;
+ } elseif (is_a($element, 'parserbase'))
+ {
+ $elp = $element;
+ $element = $this->addLink($element);
+ }
+ $c = '';
+ if (!empty($element->subpackage))
+ {
+ $c = '/'.$element->subpackage;
+ }
+ $b = '{$subdir}';
+ switch ($element->type)
+ {
+ case 'page' :
+ if ($fullpath)
+ return $b.$element->package.$c.'/'.$element->fileAlias.'.html';
+ return 'top';
+ break;
+ case 'define' :
+ case 'global' :
+ case 'function' :
+ if ($fullpath)
+ return $b.$element->package.$c.'/'.$element->fileAlias.'.html#'.$element->type.$element->name;
+ return $element->type.$element->name;
+ break;
+ case 'class' :
+ if ($fullpath)
+ return $b.$element->package.$c.'/'.$element->name.'.html';
+ return 'top';
+ break;
+ case 'method' :
+ case 'var' :
+ case 'const' :
+ if ($fullpath)
+ return $b.$element->package.$c.'/'.$element->class.'.html#'.$element->type.$element->name;
+ return $element->type.$element->name;
+ break;
+ case 'tutorial' :
+ $d = '';
+ if ($element->section)
+ {
+ $d = '#'.$element->section;
+ }
+ return $b.$element->package.$c.'/tutorial_'.$element->name.'.html'.$d;
+ }
+ }
+
+ /**
+ * Convert README/INSTALL/CHANGELOG file contents to output format
+ * @param README|INSTALL|CHANGELOG
+ * @param string contents of the file
+ */
+ function Convert_RIC($name, $contents)
+ {
+ $this->ric_contents[$name] = $contents;
+ $this->ric_set[] = array('file' => 'ric_'.$name . '.html','name' => $name);
+ }
+
+ function writeRIC()
+ {
+ if ($this->_ric_done) return;
+ $this->_ric_done = true;
+ foreach($this->ric_contents as $name => $contents)
+ {
+ $template = &$this->newSmarty();
+ $template->assign('contents',$contents);
+ $template->assign('name',$name);
+ $template->assign('title',$name);
+ $this->setTargetDir($this->base_dir);
+ $this->writefile('ric_'.$name . '.html',$template->fetch('ric.tpl'));
+ }
+ }
+
+ function ConvertTodoList()
+ {
+ $todolist = array();
+ foreach($this->todoList as $package => $alltodos)
+ {
+ foreach($alltodos as $todos)
+ {
+ $converted = array();
+ $converted['link'] = $this->returnSee($todos[0]);
+ if (!is_array($todos[1]))
+ {
+ $converted['todos'][] = $todos[1]->Convert($this);
+ } else
+ {
+ foreach($todos[1] as $todo)
+ {
+ $converted['todos'][] = $todo->Convert($this);
+ }
+ }
+ $todolist[$package][] = $converted;
+ }
+ }
+ $templ = &$this->newSmarty();
+ $templ->assign('todos',$todolist);
+ $templ->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->setTargetDir($this->base_dir);
+ $this->writefile('todolist.html',$templ->fetch('todolist.tpl'));
+ }
+
+ /**
+ * Create errors.html template file output
+ *
+ * This method takes all parsing errors and warnings and spits them out ordered by file and line number.
+ * @global ErrorTracker We'll be using it's output facility
+ */
+ function ConvertErrorLog()
+ {
+ global $phpDocumentor_errors;
+ $allfiles = array();
+ $files = array();
+ $warnings = $phpDocumentor_errors->returnWarnings();
+ $errors = $phpDocumentor_errors->returnErrors();
+ $template = &$this->newSmarty();
+ foreach($warnings as $warning)
+ {
+ $file = '##none';
+ $linenum = 'Warning';
+ if ($warning->file)
+ {
+ $file = $warning->file;
+ $allfiles[$file] = 1;
+ $linenum .= ' on line '.$warning->linenum;
+ }
+ $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data);
+ }
+ foreach($errors as $error)
+ {
+ $file = '##none';
+ $linenum = 'Error';
+ if ($error->file)
+ {
+ $file = $error->file;
+ $allfiles[$file] = 1;
+ $linenum .= ' on line '.$error->linenum;
+ }
+ $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data);
+ }
+ $i=1;
+ $af = array();
+ foreach($allfiles as $file => $num)
+ {
+ $af[$i++] = $file;
+ }
+ $allfiles = $af;
+ usort($allfiles,'strnatcasecmp');
+ $allfiles[0] = "Post-parsing";
+ foreach($allfiles as $i => $a)
+ {
+ $allfiles[$i] = array('file' => $a);
+ }
+ $out = array();
+ foreach($files as $file => $data)
+ {
+ if ($file == '##none') $file = 'Post-parsing';
+ $out[$file] = $data;
+ }
+ $template->assign("files",$allfiles);
+ $template->assign("all",$out);
+ $template->assign("title","phpDocumentor Parser Errors and Warnings");
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->setTargetDir($this->base_dir);
+ $this->writefile("errors.html",$template->fetch('errors.tpl'));
+ unset($template);
+ phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n");
+ flush();
+ }
+
+ function getCData($value)
+ {
+ return '<pre>'.htmlentities($value).'</pre>';
+ }
+
+ function getTutorialId($package,$subpackage,$tutorial,$id)
+ {
+ return $id;
+ }
+
+ /**
+ * Converts package page and sets its package as used in {@link $package_pages}
+ * @param parserPackagePage
+ */
+ function convertPackagepage(&$element)
+ {
+ phpDocumentor_out("\n");
+ flush();
+ $template = &$this->newSmarty();
+ $this->package = $element->package;
+ $this->subpackage = '';
+ $classleft = $this->getClassLeft();
+ $template->assign("compiledfileindex",$this->getPageLeft());
+ $template->assign("compiledclassindex",$classleft['class']);
+ $template->assign("compiledinterfaceindex",$classleft['interface']);
+ $template->assign("tutorials",$this->getTutorialList());
+ $template->assign("date",date("r",time()));
+ $template->assign("title",$this->title);
+ $template->assign("package",$element->package);
+ $x = $element->Convert($this);
+ $x = substr($x,strpos($x,'<body'));
+ $template->assign("contents",trim(substr($x,strpos($x,'>') + 1)));
+ $this->package_pages[$element->package] = trim(substr($x,strpos($x,'>') + 1));
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ phpDocumentor_out("\n");
+ flush();
+ $this->setTargetDir($this->base_dir);
+ $this->writefile("li_".$element->package.".html",$template->fetch('index.tpl'));
+ unset($template);
+ }
+
+ /**
+ * @param parserTutorial
+ */
+ function convertTutorial(&$element)
+ {
+ phpDocumentor_out("\n");
+ flush();
+ $template = &parent::convertTutorial($element);
+ $this->package = $element->package;
+ $this->subpackage = $element->subpackage;
+ $classleft = $this->getClassLeft();
+ $template->assign("compiledfileindex",$this->getPageLeft());
+ $template->assign("compiledclassindex",$classleft['class']);
+ $template->assign("compiledinterfaceindex",$classleft['interface']);
+ $template->assign("tutorials",$this->getTutorialList());
+ $template->assign("title",strip_tags($element->getTitle($this)));
+ $contents = $element->Convert($this);
+ if ($element->name == $this->package . '.pkg')
+ {
+ $this->package_pages[$element->package] = $contents;
+ }
+ $a = '../';
+ if (!empty($element->subpackage)) $a .= $a;
+ $template->assign("subdir",$a);
+ $a = '';
+ if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage;
+ $template->register_outputfilter('HTMLSmarty_outputfilter');
+ $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package . $a);
+ $this->writeFile('tutorial_'.$element->name.'.html',$template->fetch('tutorial.tpl'));
+ if ($element->name == $element->package . '.pkg')
+ {
+ phpDocumentor_out("\n");
+ flush();
+ // package-level docs
+ $this->setTargetDir($this->base_dir);
+ $template->assign("subdir",'');
+ $this->writeFile('li_'.$element->package.'.html',$template->fetch('tutorial.tpl'));
+ }
+ unset($template);
+ }
+
+ /**
+ * Converts class for template output
+ * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts()
+ * @see getFormattedInheritedMethods(), getFormattedInheritedVars()
+ * @param parserClass
+ */
+ function convertClass(&$element)
+ {
+ parent::convertClass($element);
+ $this->class_dir = $element->docblock->package;
+ if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage;
+ $a = '../classtrees_';
+ if ($element->docblock->subpackage != '') $a = "../$a";
+
+ $this->class_data->assign('subdir',$a);
+ $this->class_data->assign("title","Docs For Class " . $element->getName());
+ $this->class_data->assign("page",$element->getName() . '.html');
+ }
+
+ /**
+ * Converts class variables for template output
+ * @see prepareDocBlock(), getFormattedConflicts()
+ * @param parserDefine
+ */
+ function convertVar(&$element)
+ {
+ parent::convertVar($element, array('var_dest' => $this->getId($element,false)));
+ }
+
+ /**
+ * Converts class variables for template output
+ * @see prepareDocBlock(), getFormattedConflicts()
+ * @param parserDefine
+ */
+ function convertConst(&$element)
+ {
+ parent::convertConst($element, array('const_dest' => $this->getId($element,false)));
+ }
+
+ /**
+ * Converts class methods for template output
+ * @see prepareDocBlock(), getFormattedConflicts()
+ * @param parserDefine
+ */
+ function convertMethod(&$element)
+ {
+ parent::convertMethod($element, array('method_dest' => $this->getId($element,false)));
+ }
+
+ /**
+ * Converts function for template output
+ * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts()
+ * @param parserFunction
+ */
+ function convertFunction(&$element)
+ {
+ $funcloc = $this->getId($this->addLink($element));
+ parent::convertFunction($element,array('function_dest' => $this->getId($element,false)));
+ }
+
+ /**
+ * Converts include elements for template output
+ * @see prepareDocBlock()
+ * @param parserInclude
+ */
+ function convertInclude(&$element)
+ {
+ parent::convertInclude($element, array('include_file' => '_'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '_'))));
+ }
+
+ /**
+ * Converts defines for template output
+ * @see prepareDocBlock(), getFormattedConflicts()
+ * @param parserDefine
+ */
+ function convertDefine(&$element)
+ {
+ parent::convertDefine($element, array('define_link' => $this->getId($element,false)));
+ }
+
+ /**
+ * Converts global variables for template output
+ * @param parserGlobal
+ * @see prepareDocBlock(), getFormattedConflicts()
+ */
+ function convertGlobal(&$element)
+ {
+ parent::convertGlobal($element, array('global_link' => $this->getId($element,false)));
+ }
+
+ /**
+ * converts procedural pages for template output
+ * @see prepareDocBlock(), getClassesOnPage()
+ * @param parserData
+ */
+ function convertPage(&$element)
+ {
+ parent::convertPage($element);
+ $this->juststarted = true;
+ $this->page_dir = $element->parent->package;
+ if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage;
+ // registering stuff on the template
+ $a = '../';
+ if (!empty($element->docblock->subpackage)) $a = $a . $a;
+ $this->page_data->assign('subdir',$a);
+ $this->page_data->assign("page",$this->getPageName($element) . '.html');
+ $this->page_data->assign("title","Docs for page ".$element->parent->getFile());
+ }
+
+ function getPageName(&$element)
+ {
+ if (phpDocumentor_get_class($element) == 'parserpage') return '_'.$element->getName();
+ return '_'.$element->parent->getName();
+ }
+
+ /**
+ * returns an array containing the class inheritance tree from the root object to the class
+ *
+ * @param parserClass class variable
+ * @return array Format: array(root,child,child,child,...,$class)
+ * @uses parserClass::getParentClassTree()
+ */
+
+ function generateFormattedClassTree($class)
+ {
+ $tree = $class->getParentClassTree($this);
+ $out = '';
+ if (count($tree) - 1)
+ {
+ $result = array($class->getName());
+ $parent = $tree[$class->getName()];
+ $distance[] = '';
+ while ($parent)
+ {
+ $x = $parent;
+ if (is_object($parent))
+ {
+ $subpackage = $parent->docblock->subpackage;
+ $package = $parent->docblock->package;
+ $x = $parent;
+ $x = $parent->getLink($this);
+ if (!$x) $x = $parent->getName();
+ }
+ $result[] =
+ $x;
+ $distance[] =
+ "\n%s|\n" .
+ "%s--";
+ if (is_object($parent))
+ $parent = $tree[$parent->getName()];
+ elseif (isset($tree[$parent]))
+ $parent = $tree[$parent];
+ }
+ $nbsp = ' ';
+ for($i=count($result) - 1;$i>=0;$i--)
+ {
+ $my_nbsp = '';
+ for($j=0;$j<count($result) - $i;$j++) $my_nbsp .= $nbsp;
+ $distance[$i] = sprintf($distance[$i],$my_nbsp,$my_nbsp);
+ }
+ return array('classes'=>array_reverse($result),'distance'=>array_reverse($distance));
+ } else
+ {
+ return array('classes'=>$class->getName(),'distance'=>array(''));
+ }
+ }
+
+ /** @access private */
+ function sortVar($a, $b)
+ {
+ return strnatcasecmp($a->getName(),$b->getName());
+ }
+
+ /** @access private */
+ function sortMethod($a, $b)
+ {
+ if ($a->isConstructor) return -1;
+ if ($b->isConstructor) return 1;
+ return strnatcasecmp($a->getName(),$b->getName());
+ }
+
+ /**
+ * returns a template-enabled array of class trees
+ *
+ * @param string $package package to generate a class tree for
+ * @see $roots, HTMLConverter::getRootTree()
+ */
+ function generateFormattedClassTrees($package)
+ {
+ if (!isset($this->roots['normal'][$package]) &&
+ !isset($this->roots['special'][$package])) {
+ return array();
+ }
+ $trees = array();
+ if (isset($this->roots['normal'][$package])) {
+ $roots = $this->roots['normal'][$package];
+ for($i=0;$i<count($roots);$i++)
+ {
+ $root = $this->classes->getClassByPackage($roots[$i], $package);
+ if ($root && $root->isInterface()) {
+ continue;
+ }
+ $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n");
+ }
+ }
+ if (isset($this->roots['special'][$package])) {
+ $roots = $this->roots['special'][$package];
+ foreach ($roots as $parent => $classes) {
+ $thistree = '';
+ foreach ($classes as $classinfo) {
+ $root = $this->classes->getClassByPackage($classinfo, $package);
+ if ($root && $root->isInterface()) {
+ continue;
+ }
+ $thistree .=
+ $this->getRootTree(
+ $this->getSortedClassTreeFromClass(
+ $classinfo,
+ $package,
+ ''),
+ $package,
+ true);
+ }
+ if (!$thistree) {
+ continue;
+ }
+ $trees[] = array(
+ 'class' => $parent,
+ 'class_tree' => "<ul>\n" . $thistree . "</ul>\n"
+ );
+ }
+ }
+ return $trees;
+ }
+
+ /**
+ * returns a template-enabled array of interface inheritance trees
+ *
+ * @param string $package package to generate a class tree for
+ * @see $roots, HTMLConverter::getRootTree()
+ */
+ function generateFormattedInterfaceTrees($package)
+ {
+ if (!isset($this->roots['normal'][$package]) &&
+ !isset($this->roots['special'][$package])) {
+ return array();
+ }
+ $trees = array();
+ if (isset($this->roots['normal'][$package])) {
+ $roots = $this->roots['normal'][$package];
+ for($i=0;$i<count($roots);$i++)
+ {
+ $root = $this->classes->getClassByPackage($roots[$i], $package);
+ if ($root && !$root->isInterface()) {
+ continue;
+ }
+ $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n");
+ }
+ }
+ if (isset($this->roots['special'][$package])) {
+ $roots = $this->roots['special'][$package];
+ foreach ($roots as $parent => $classes) {
+ $thistree = '';
+ foreach ($classes as $classinfo) {
+ $root = $this->classes->getClassByPackage($classinfo, $package);
+ if ($root && !$root->isInterface()) {
+ continue;
+ }
+ $thistree .=
+ $this->getRootTree(
+ $this->getSortedClassTreeFromClass(
+ $classinfo,
+ $package,
+ ''),
+ $package,
+ true);
+ }
+ if (!$thistree) {
+ continue;
+ }
+ $trees[] = array(
+ 'class' => $parent,
+ 'class_tree' => "<ul>\n" . $thistree . "</ul>\n"
+ );
+ }
+ }
+ return $trees;
+ }
+
+ /**
+ * return formatted class tree for the Class Trees page
+ *
+ * @param array $tree output from {@link getSortedClassTreeFromClass()}
+ * @param string $package package
+ * @param boolean $nounknownparent if true, an object's parent will not be checked
+ * @see Classes::$definitechild, generateFormattedClassTrees()
+ * @return string
+ */
+ function getRootTree($tree, $package, $noparent = false)
+ {
+ if (!$tree) return '';
+ $my_tree = '';
+ $cur = '#root';
+ $lastcur = array(false);
+ $kids = array();
+ $dopar = false;
+ if (!$noparent && $tree[$cur]['parent'])
+ {
+ $dopar = true;
+ if (!is_object($tree[$cur]['parent']))
+ {
+// debug("parent ".$tree[$cur]['parent']." not found");
+ $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>';
+ }
+ else
+ {
+// debug("parent ".$this->returnSee($tree[$cur]['parent'])." in other package");
+ $root = $this->classes->getClassByPackage($tree[$cur]['parent']->name,
+ $package);
+ $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent']);
+ if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>';
+ }
+ }
+ do
+ {
+// fancy_debug($cur,$lastcur,$kids);
+ if (count($tree[$cur]['children']))
+ {
+// debug("$cur has children");
+ if (!isset($kids[$cur]))
+ {
+// debug("set $cur kids");
+ $kids[$cur] = 1;
+ $root = $this->classes->getClassByPackage(
+ $tree[$cur]['link']->name,
+ $tree[$cur]['link']->package);
+ if ($implements = $root->getImplements()) {
+ $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']) .
+ ' (implements ';
+ foreach ($implements as $i => $interface) {
+ if ($i && $i != count($implements) - 1) $my_tree .= ', ';
+ if ($link = $this->getLink('object ' . $interface)) {
+ $my_tree .= $this->returnSee($link);
+ } else {
+ $my_tree .= $interface;
+ }
+ }
+ $my_tree .= ')';
+ } else {
+ $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']);
+ }
+ $my_tree .= '<ul>'."\n";
+ }
+ array_push($lastcur,$cur);
+ list(,$cur) = each($tree[$cur]['children']);
+// var_dump('listed',$cur);
+ if ($cur)
+ {
+ $cur = $cur['package'] . '#' . $cur['class'];
+// debug("set cur to child $cur");
+// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']);
+ continue;
+ } else
+ {
+// debug("end of children for $cur");
+ $cur = array_pop($lastcur);
+ $cur = array_pop($lastcur);
+ $my_tree .= '</ul></li>'."\n";
+ if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>';
+ }
+ } else
+ {
+// debug("$cur has no children");
+ $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'])."</li>";
+ if ($dopar && $cur == '#root') $my_tree .= '</ul></li>';
+ $cur = array_pop($lastcur);
+ }
+ } while ($cur);
+ return $my_tree;
+ }
+
+ /**
+ * Generate indexing information for given element
+ *
+ * @param parserElement descendant of parserElement
+ * @see generateElementIndex()
+ * @return array
+ */
+ function getIndexInformation($elt)
+ {
+ $Result['type'] = $elt->type;
+ $Result['file_name'] = $elt->file;
+ $Result['path'] = $elt->getPath();
+
+ if (isset($elt->docblock))
+ {
+ $Result['description'] = $elt->docblock->getSDesc($this);
+
+ if ($elt->docblock->hasaccess)
+ $Result['access'] = $elt->docblock->tags['access'][0]->value;
+ else
+ $Result['access'] = 'public';
+
+ $Result['abstract'] = isset ($elt->docblock->tags['abstract'][0]);
+ }
+ else
+ $Result['description'] = '';
+
+ $aa = $Result['description'];
+ if (!empty($aa)) $aa = "<br>&nbsp;&nbsp;&nbsp;&nbsp;$aa";
+
+ switch($elt->type)
+ {
+ case 'class':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Class';
+ $Result['link'] = $this->getClassLink($elt->getName(),
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->getName());
+ $Result['listing'] = 'in file '.$elt->file.', class '.$Result['link']."$aa";
+ break;
+ case 'define':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Constant';
+ $Result['link'] = $this->getDefineLink($elt->getName(),
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->getName());
+ $Result['listing'] = 'in file '.$elt->file.', constant '.$Result['link']."$aa";
+ break;
+ case 'global':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Global';
+ $Result['link'] = $this->getGlobalLink($elt->getName(),
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->getName());
+ $Result['listing'] = 'in file '.$elt->file.', global variable '.$Result['link']."$aa";
+ break;
+ case 'function':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Function';
+ $Result['link'] = $this->getFunctionLink($elt->getName(),
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->getName().'()');
+ $Result['listing'] = 'in file '.$elt->file.', function '.$Result['link']."$aa";
+ break;
+ case 'method':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Method';
+ $Result['link'] = $this->getMethodLink($elt->getName(),
+ $elt->class,
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->class.'::'.$elt->getName().'()'
+ );
+ if ($elt->isConstructor) $Result['constructor'] = 1;
+ $Result['listing'] = 'in file '.$elt->file.', method '.$Result['link']."$aa";
+ break;
+ case 'var':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Variable';
+ $Result['link'] = $this->getVarLink($elt->getName(),
+ $elt->class,
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->class.'::'.$elt->getName());
+ $Result['listing'] = 'in file '.$elt->file.', variable '.$Result['link']."$aa";
+ break;
+ case 'const':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Variable';
+ $Result['link'] = $this->getConstLink($elt->getName(),
+ $elt->class,
+ $elt->docblock->package,
+ $elt->getPath(),
+ $elt->class.'::'.$elt->getName());
+ $Result['listing'] = 'in file '.$elt->file.', class constant '.$Result['link']."$aa";
+ break;
+ case 'page':
+ $Result['name'] = $elt->getFile();
+ $Result['title'] = 'Page';
+ $Result['link'] = $this->getPageLink($elt->getFile(),
+ $elt->package,
+ $elt->getPath(),
+ $elt->getFile());
+ $Result['listing'] = 'procedural page '.$Result['link'];
+ break;
+ case 'include':
+ $Result['name'] = $elt->getName();
+ $Result['title'] = 'Include';
+ $Result['link'] = $elt->getValue();
+ $Result['listing'] = 'include '.$Result['name'];
+ break;
+ }
+
+ return $Result;
+ }
+
+ /**
+ * Generate alphabetical index of all elements
+ *
+ * @see $elements, walk()
+ */
+ function generateElementIndex()
+ {
+ $elementindex = array();
+ $letters = array();
+ $used = array();
+ foreach($this->elements as $letter => $nutoh)
+ {
+ foreach($this->elements[$letter] as $i => $yuh)
+ {
+ if ($this->elements[$letter][$i]->type != 'include')
+ {
+ if (!isset($used[$letter]))
+ {
+ $letters[]['letter'] = $letter;
+ $elindex['letter'] = $letter;
+ $used[$letter] = 1;
+ }
+
+ $elindex['index'][] = $this->getIndexInformation($this->elements[$letter][$i]);
+ }
+ }
+ if (isset($elindex['index']))
+ {
+ $elementindex[] = $elindex;
+ } else
+ {
+ unset($letters[count($letters) - 1]);
+ }
+ $elindex = array();
+ }
+ return array($elementindex,$letters);
+ }
+
+ function copyMediaRecursively($media,$targetdir,$subdir = '')
+ {
+ $versionControlDirectories = array ('CVS', 'media/CVS', 'media\\CVS', '.svn', 'media/.svn', 'media\\.svn');
+ if (!is_array($media)) {
+ return;
+ }
+ foreach($media as $dir => $files)
+ {
+ if ($dir === '/')
+ {
+ $this->copyMediaRecursively($files,$targetdir);
+ } else
+ {
+ if (!is_numeric($dir))
+ {
+ if (in_array($dir, $versionControlDirectories))
+ {
+ // skip it entirely
+ }
+ else
+ {
+ // create the subdir
+ phpDocumentor_out("creating $targetdir" . PATH_DELIMITER . "$dir\n");
+ Converter::setTargetDir($targetdir . PATH_DELIMITER . $dir);
+ if (!empty($subdir))
+ {
+ $subdir .= PATH_DELIMITER;
+ }
+ $this->copyMediaRecursively($files,"$targetdir/$dir",$subdir . $dir);
+ }
+ }
+ else
+ {
+ // copy the file
+ phpDocumentor_out("copying $targetdir" . PATH_DELIMITER . $files['file']."\n");
+ $this->copyFile($files['file'],$subdir);
+ }
+ }
+ }
+ }
+
+ /**
+ * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied
+ * @see Converter::setTargetDir()
+ */
+ function setTargetDir($dir)
+ {
+ Converter::setTargetDir($dir);
+ if ($this->_wrote_tdir) return;
+ $this->_wrote_tdir = true;
+ $template_images = array();
+ $stylesheets = array();
+ $tdir = $dir;
+ $dir = $this->templateDir;
+ $this->templateDir = $this->templateDir.'templates/';
+ $info = new Io;
+ $this->copyMediaRecursively($info->getDirTree($this->templateDir.'media',$this->templateDir),$tdir);
+ }
+
+ /**
+ * Generate alphabetical index of all elements by package and subpackage
+ *
+ * @param string $package name of a package
+ * @see $pkg_elements, walk(), generatePkgElementIndexes()
+ */
+ function generatePkgElementIndex($package)
+ {
+ $elementindex = array();
+ $letters = array();
+ $letterind = array();
+ $used = array();
+ $subp = '';
+ foreach($this->pkg_elements[$package] as $subpackage => $els)
+ {
+ if (empty($els)) continue;
+ if (!empty($subpackage)) $subp = " (<b>subpackage:</b> $subpackage)"; else $subp = '';
+ foreach($els as $letter => $yuh)
+ {
+ foreach($els[$letter] as $i => $yuh)
+ {
+ if ($els[$letter][$i]->type != 'include')
+ {
+ if (!isset($used[$letter]))
+ {
+ $letters[]['letter'] = $letter;
+ $letterind[$letter] = count($letters) - 1;
+ $used[$letter] = 1;
+ }
+ $elindex[$letter]['letter'] = $letter;
+
+ $elindex[$letter]['index'][] = $this->getIndexInformation($els[$letter][$i]);
+ }
+ }
+ }
+ }
+ ksort($elindex);
+ usort($letters,'HTMLSmarty_lettersort');
+ if (isset($elindex))
+ {
+ while(list($letter,$tempel) = each($elindex))
+ {
+ if (!isset($tempel))
+ {
+ unset($letters[$letterind[$tempel['letter']]]);
+ } else
+ $elementindex[] = $tempel;
+ }
+ } else $letters = array();
+ return array($elementindex,$letters);
+ }
+
+ /**
+ *
+ * @see generatePkgElementIndex()
+ */
+ function generatePkgElementIndexes()
+ {
+ $packages = array();
+ $package_names = array();
+ $pkg = array();
+ $letters = array();
+ foreach($this->pkg_elements as $package => $trash)
+ {
+ $pkgs['package'] = $package;
+ $pkg['package'] = $package;
+ list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package);
+ if (count($pkg['pindex']))
+ {
+ $packages[] = $pkg;
+ $package_names[] = $pkgs;
+ }
+ unset($pkgs);
+ unset($pkg);
+ }
+ foreach($packages as $i => $package)
+ {
+ $pnames = array();
+ for($j=0;$j<count($package_names);$j++)
+ {
+ if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j];
+ }
+ $packages[$i]['packageindexes'] = $pnames;
+ }
+ return array($packages,$package_names,$letters);
+ }
+
+ /**
+ * @param string name of class
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the class's documentation
+ * @see parent::getClassLink()
+ */
+ function getClassLink($expr,$package, $file = false,$text = false, $with_a = true)
+ {
+ $a = Converter::getClassLink($expr,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text, $with_a);
+ }
+
+ /**
+ * @param string name of function
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the function's documentation
+ * @see parent::getFunctionLink()
+ */
+ function getFunctionLink($expr,$package, $file = false,$text = false)
+ {
+ $a = Converter::getFunctionLink($expr,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * @param string name of define
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the define's documentation
+ * @see parent::getDefineLink()
+ */
+ function getDefineLink($expr,$package, $file = false,$text = false)
+ {
+ $a = Converter::getDefineLink($expr,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * @param string name of global variable
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the global variable's documentation
+ * @see parent::getGlobalLink()
+ */
+ function getGlobalLink($expr,$package, $file = false,$text = false)
+ {
+ $a = Converter::getGlobalLink($expr,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * @param string name of procedural page
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the procedural page's documentation
+ * @see parent::getPageLink()
+ */
+ function getPageLink($expr,$package, $path = false,$text = false)
+ {
+ $a = Converter::getPageLink($expr,$package,$path);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * @param string name of method
+ * @param string class containing method
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the method's documentation
+ * @see parent::getMethodLink()
+ */
+ function getMethodLink($expr,$class,$package, $file = false,$text = false)
+ {
+ $a = Converter::getMethodLink($expr,$class,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * @param string name of var
+ * @param string class containing var
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the var's documentation
+ * @see parent::getVarLink()
+ */
+ function getVarLink($expr,$class,$package, $file = false,$text = false)
+ {
+ $a = Converter::getVarLink($expr,$class,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * @param string name of class constant
+ * @param string class containing class constant
+ * @param string package name
+ * @param string full path to look in (used in index generation)
+ * @param boolean deprecated
+ * @param boolean return just the URL, or enclose it in an html a tag
+ * @return mixed false if not found, or an html a link to the var's documentation
+ * @see parent::getVarLink()
+ */
+ function getConstLink($expr,$class,$package, $file = false,$text = false)
+ {
+ $a = Converter::getConstLink($expr,$class,$package,$file);
+ if (!$a) return false;
+ return $this->returnSee($a, $text);
+ }
+
+ /**
+ * does a nat case sort on the specified second level value of the array
+ *
+ * @param mixed $a
+ * @param mixed $b
+ * @return int
+ */
+ function rcNatCmp ($a, $b)
+ {
+ $aa = strtoupper($a[$this->rcnatcmpkey]);
+ $bb = strtoupper($b[$this->rcnatcmpkey]);
+
+ return strnatcasecmp($aa, $bb);
+ }
+
+ /**
+ * does a nat case sort on the specified second level value of the array.
+ * this one puts constructors first
+ *
+ * @param mixed $a
+ * @param mixed $b
+ * @return int
+ */
+ function rcNatCmp1 ($a, $b)
+ {
+ $aa = strtoupper($a[$this->rcnatcmpkey]);
+ $bb = strtoupper($b[$this->rcnatcmpkey]);
+
+ if (strpos($aa,'CONSTRUCTOR') === 0)
+ {
+ return -1;
+ }
+ if (strpos($bb,'CONSTRUCTOR') === 0)
+ {
+ return 1;
+ }
+ if (strpos($aa,strtoupper($this->class)) === 0)
+ {
+ return -1;
+ }
+ if (strpos($bb,strtoupper($this->class)) === 0)
+ {
+ return -1;
+ }
+ return strnatcasecmp($aa, $bb);
+ }
+
+ /**
+ * This function is not used by HTMLdefaultConverter, but is required by Converter
+ */
+ function Output()
+ {
+ }
+}
+
+/**
+ * @access private
+ * @global string name of the package to set as the first package
+ */
+function HTMLSmarty_pindexcmp($a, $b)
+{
+ global $phpDocumentor_DefaultPackageName;
+ if ($a['title'] == $phpDocumentor_DefaultPackageName) return -1;
+ if ($b['title'] == $phpDocumentor_DefaultPackageName) return 1;
+ return strnatcasecmp($a['title'],$b['title']);
+}
+
+/** @access private */
+function HTMLSmarty_lettersort($a, $b)
+{
+ return strnatcasecmp($a['letter'],$b['letter']);
+}
+
+/** @access private */
+function HTMLSmarty_outputfilter($src, &$smarty)
+{
+ return str_replace('{$subdir}',$smarty->_tpl_vars['subdir'],$src);
+}
+?>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini
new file mode 100755
index 00000000..32ea2088
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini
@@ -0,0 +1,577 @@
+preservedocbooktags = false
+
+;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
+[highlightSourceTokens]
+;; format:
+;; T_CONSTANTNAME = open
+;; /T_CONSTANTNAME = close
+
+T_INCLUDE = <span class="src-inc">
+/T_INCLUDE = </span>
+T_INCLUDE_ONCE = <span class="src-inc">
+/T_INCLUDE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+
+T_CONSTANT_ENCAPSED_STRING = <span class="src-str">
+/T_CONSTANT_ENCAPSED_STRING = </span>
+T_STRING_VARNAME = <span class="src-str">
+/T_STRING_VARNAME = </span>
+
+T_STRING = <span class="src-id">
+/T_STRING = </span>
+
+T_DNUMBER = <span class="src-num">
+/T_DNUMBER = </span>
+T_LNUMBER = <span class="src-num">
+/T_LNUMBER = </span>
+
+T_VARIABLE = <span class="src-var">
+/T_VARIABLE = </span>
+
+T_COMMENT = <span class="src-comm">
+/T_COMMENT = </span>
+T_ML_COMMENT = <span class="src-comm">
+/T_ML_COMMENT = </span>
+
+T_OBJECT_OPERATOR = <span class="src-sym">
+/T_OBJECT_OPERATOR = </span>
+
+T_ABSTRACT = <span class="src-key">
+/T_ABSTRACT = </span>
+T_CLONE = <span class="src-key">
+/T_CLONE = </span>
+T_HALT_COMPILER = <span class="src-key">
+/T_HALT_COMPILER = </span>
+T_ARRAY = <span class="src-key">
+/T_ARRAY = </span>
+T_AS = <span class="src-key">
+/T_AS = </span>
+T_BREAK = <span class="src-key">
+/T_BREAK = </span>
+T_CLASS = <span class="src-key">
+/T_CLASS = </span>
+T_CASE = <span class="src-key">
+/T_CASE = </span>
+T_CONST = <span class="src-key">
+/T_CONST = </span>
+T_CONTINUE = <span class="src-key">
+/T_CONTINUE = </span>
+T_DECLARE = <span class="src-key">
+/T_DECLARE = </span>
+T_DEFAULT = <span class="src-key">
+/T_DEFAULT = </span>
+T_ELSE = <span class="src-key">
+/T_ELSE = </span>
+T_ELSEIF = <span class="src-key">
+/T_ELSEIF = </span>
+T_EMPTY = <span class="src-key">
+/T_EMPTY = </span>
+T_ENDDECLARE = <span class="src-key">
+/T_ENDDECLARE = </span>
+T_ENDFOR = <span class="src-key">
+/T_ENDFOR = </span>
+T_ENDSWITCH = <span class="src-key">
+/T_ENDSWITCH = </span>
+T_ENDFOREACH = <span class="src-key">
+/T_ENDFOREACH = </span>
+T_ENDIF = <span class="src-key">
+/T_ENDIF = </span>
+T_ENDWHILE = <span class="src-key">
+/T_ENDWHILE = </span>
+T_EXIT = <span class="src-key">
+/T_EXIT = </span>
+T_EXTENDS = <span class="src-key">
+/T_EXTENDS = </span>
+T_FINAL = <span class="src-key">
+/T_FINAL = </span>
+T_FOR = <span class="src-key">
+/T_FOR = </span>
+T_FOREACH = <span class="src-key">
+/T_FOREACH = </span>
+T_FUNCTION = <span class="src-key">
+/T_FUNCTION = </span>
+T_GLOBAL = <span class="src-key">
+/T_GLOBAL = </span>
+T_IF = <span class="src-key">
+/T_IF = </span>
+T_IMPLEMENTS = <span class="src-key">
+/T_IMPLEMENTS = </span>
+T_INTERFACE = <span class="src-key">
+/T_INTERFACE = </span>
+T_LOGICAL_AND = <span class="src-key">
+/T_LOGICAL_AND = </span>
+T_LOGICAL_OR = <span class="src-key">
+/T_LOGICAL_OR = </span>
+T_LOGICAL_XOR = <span class="src-key">
+/T_LOGICAL_XOR = </span>
+T_NEW = <span class="src-key">
+/T_NEW = </span>
+T_PRIVATE = <span class="src-key">
+/T_PRIVATE = </span>
+T_PROTECTED = <span class="src-key">
+/T_PROTECTED = </span>
+T_PUBLIC = <span class="src-key">
+/T_PUBLIC = </span>
+T_RETURN = <span class="src-key">
+/T_RETURN = </span>
+T_STATIC = <span class="src-key">
+/T_STATIC = </span>
+T_SWITCH = <span class="src-key">
+/T_SWITCH = </span>
+T_VAR = <span class="src-key">
+/T_VAR = </span>
+T_WHILE = <span class="src-key">
+/T_WHILE = </span>
+
+T_DOUBLE_COLON = <span class="src-sym">
+/T_DOUBLE_COLON = </span>
+
+T_OPEN_TAG = <span class="src-php">
+/T_OPEN_TAG = </span>
+T_OPEN_TAG_WITH_ECHO = <span class="src-php">
+/T_OPEN_TAG_WITH_ECHO = </span>
+T_CLOSE_TAG = <span class="src-php">
+/T_CLOSE_TAG = </span>
+
+
+[highlightSource]
+;; this is for highlighting things that aren't tokens like "&"
+;; format:
+;; word = open
+;; /word = close
+@ = <span class="src-sym">
+/@ = </span>
+& = <span class="src-sym">
+/& = </span>
+[ = <span class="src-sym">
+/[ = </span>
+] = <span class="src-sym">
+/] = </span>
+! = <span class="src-sym">
+/! = </span>
+";" = <span class="src-sym">
+/; = </span>
+( = <span class="src-sym">
+/( = </span>
+) = <span class="src-sym">
+/) = </span>
+, = <span class="src-sym">
+/, = </span>
+{ = <span class="src-sym">
+/{ = </span>
+} = <span class="src-sym">
+/} = </span>
+""" = <span class="src-str">
+/" = </span>
+
+[highlightDocBlockSourceTokens]
+;; this is for docblock tokens, highlighted by phpDocumentor_HighlightParser
+;; tagphptype is for "string" in @param string description, for example
+docblock = <span class="src-doc">
+/docblock = </span>
+tagphptype = <span class="src-doc-type">
+/tagphptype = </span>
+tagvarname = <span class="src-doc-var">
+/tagvarname = </span>
+coretag = <span class="src-doc-coretag">
+/coretag = </span>
+tag = <span class="src-doc-tag">
+/tag = </span>
+inlinetag = <span class="src-doc-inlinetag">
+/inlinetag = </span>
+internal = <span class="src-doc-internal">
+/internal = </span>
+closetemplate = <span class="src-doc-close-template">
+/closetemplate = </span>
+docblocktemplate = <span class="src-doc-template">
+/docblocktemplate = </span>
+
+[highlightTutorialSourceTokens]
+;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser
+;; <tag>
+opentag = <span class="tute-tag">
+/opentag = </span>
+;; </tag>
+closetag = <span class="tute-tag">
+/closetag = </span>
+;; <tag attribute="value">
+attribute = <span class="tute-attribute-name">
+/attribute = </span>
+;; <tag attribute="value">
+attributevalue = <span class="tute-attribute-value">
+/attributevalue = </span>
+;; &entity;
+entity = <span class="tute-entity">
+/entity = </span>
+;; <!-- comment -->
+comment = <span class="tute-comment">
+/comment = </span>
+;; {@inline tag}
+itag = <span class="tute-inline-tag">
+/itag = </span>
+
+;; used for translation of html in DocBlocks
+[desctranslate]
+ul = <ul>
+/ul = </ul>
+ol = <ol>
+/ol = </ol>
+li = <li>
+/li = </li>
+code =
+/code =
+var = <var>
+/var = </var>
+samp = <samp>
+/samp = </samp>
+kbd = <kbd>
+/kbd = </kbd>
+pre = <pre>
+/pre = </pre>
+p = <p>
+/p = </p>
+b = <strong>
+/b = </strong>
+i = <em>
+/i = </em>
+br = <br />
+
+[ppage]
+;; this is the DocBook package page translation section. All DocBook tags
+;; that have a corresponding html tag must be listed here. Entities should
+;; also be listed here
+;;
+;; examples:
+;; 1)
+;; tagname = newtagname
+;;
+;; This is the simplest case, where all attributes will be added into the
+;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
+;; <tagname></tagname> becomes <newtagname></newtagname> and
+;; <tagname attr="value"></tagname> becomes
+;; <newtagname attr="value"></newtagname>
+;;
+;; 2)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;;
+;; in this case, everything will be like the first case, except tags like:
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="value"></newtagname>
+;;
+;; 3)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;; tagname->attr+value = newvalue
+;;
+;; in this case, the value is also translated to another. This can be useful
+;; for instances such as focus="middle" changing to align="center" or something
+;; of that nature.
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 4)
+;; tagname = newtagname
+;; tagname->attr1 = newattrname
+;; tagname->attr2 = newattrname
+;; tagname->attr1+value|attr2+value = newvalue
+;;
+;; in this case, two attributes combine to make one new attribute, and the combined
+;; value is translated into a new value
+;; <tagname attr1="value1" attr2="value2"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 5)
+;; tagname = newtagname
+;; tagname!attr = dummy
+;;
+;; here, the attribute will be ignored. dummy is not used and may be any value
+;; <tagname attr="value"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 6)
+;; tagname = newtagname
+;; tagname! = dummy
+;;
+;; here, all attributes will be ignored. dummy is not used and may be any value
+;; <tagname attr1="value" attr2="foo"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 7)
+;; tagname = newtagname
+;; tagname/ = 1
+;;
+;; here, the tag will be translated as a single tag with no closing tag, and all
+;; attributes
+;; <tagname attr="val">{text text}</tagname> will become
+;; <newtagname attr="val" />
+;;
+;; 8)
+;; tagname = <starttaginfo />
+;; /tagname = closetagtext
+;;
+;; in this case, the text <starttaginfo> will be inserted exactly as entered for
+;; <tagname> and closetagtext for </tagname>
+;; <tagname attr="val"></tagname> will become
+;; <starttaginfo />closetagtext
+;;
+;; 9)
+;; $attr$my_attribute = newattrname
+;;
+;; tagname = newtagname
+;;
+;; in this case, all occurences of my_attribute in any tag will be changed to
+;; newattrname. This is useful for changing things like role="php" to
+;; class="php," for example. Note that the text "$attr$" MUST be on the line
+;; start for phpDocumentor to recognize it.
+;;
+;; 10)
+;; &entity; = translation text
+;; &quot; = &quot;
+;; &quot; = """
+;; &lt; = <
+;;
+;; Use this to control translation of entities to their appropriate values
+
+&nbsp; = &nbsp;
+&quot; = &quot;
+&rdquo; = &rdquo;
+&ldquo; = &ldquo;
+&amp; = &amp;
+&lt; = &lt;
+&gt; = &gt;
+&copy; = &copy;
+
+$attr$role = class
+
+abbrev = abbr
+
+blockquote = blockquote
+
+arg = span
+arg->choice = class
+
+author = <strong>by <span class="author">
+/author = </span></strong>
+author! = 0
+
+authorblurb = <div class="author-blurb">
+/authorblurb = </div>
+
+authorgroup = <div class="authors"><h2 class="title">Authors</h2>
+/authorgroup = </div>
+authorgroup! = 0
+
+caution = <span class="warning">
+/caution = </span>
+caution! = 0
+
+cmdsynopsis = <div class="cmd-synopsis">
+/cmdsynopsis = </div>
+
+command = <span class="cmd-title">
+/command = </span>
+
+copyright = <div class="notes">
+/copyright = </div>
+
+emphasis = strong
+
+example = <div class="src-code">
+/example = </div>
+example! = 0
+
+function =
+/function = ()
+
+formalpara = p
+
+graphic = img
+graphic->fileref = src
+graphic/ =
+
+important = strong
+
+informalequation = blockquote
+
+informalexample = div
+
+inlineequation = em
+
+itemizedlist = ul
+
+listitem = li
+
+literal = code
+
+literallayout = span
+
+option = " "
+/option =
+
+orderedlist = ol
+
+para = p
+
+programlisting = <div class="src-code">
+/programlisting = </div>
+programlisting! = 0
+
+refentry = div
+
+refnamediv = <div class="ref-title-box">
+/refnamediv = </div>
+refnamediv! = 0
+
+refname = <h1 class="ref-title">
+/refname = </h1>
+
+refpurpose = <h2 class="ref-purpose">
+/refpurpose = </h2>
+
+refsynopsisdiv = <div class="ref-synopsis">
+/refsynopsisdiv = </div>
+refsynopsisdiv! = 0
+
+refsect1 = span
+
+refsect2 =
+/refsect2 = <hr />
+
+refsect3 =
+/refsect3 = <br />
+
+releaseinfo = <div class="release-info">(
+/releaseinfo = )</div>
+
+simpara =
+/simpara = <br />
+simpara! = 0
+
+subscript = sub
+
+superscript = super
+
+table = table
+
+table->colsep = rules
+table->rowsep = rules
+table->colsep+1|rowsep+1 = all
+table->colsep+1|rowsep+0 = cols
+table->colsep+0|rowsep+1 = rows
+
+table->frame = frame
+table->frame+all = border
+table->frame+none = void
+table->frame+sides = vsides
+table->frame+top = above
+table->frame+topbot = hsides
+
+thead = thead
+
+tfoot = tfoot
+
+tbody = tbody
+
+colspec = col
+
+tgroup = colgroup
+tgroup/ = 1
+tgroup->cols = span
+
+row = tr
+
+entry = td
+entry->morerows = colspan
+entry->morerows+1 = 2
+entry->morerows+2 = 3
+entry->morerows+3 = 4
+entry->morerows+4 = 5
+entry->morerows+5 = 6
+entry->morerows+6 = 7
+entry->morerows+7 = 8
+entry->morerows+8 = 9
+entry->morerows+9 = 10
+entry->morerows+10 = 11
+;; add more if you need more colspans
+
+warning = <span class="warning">
+/warning = </span>
+warning! = 0
+
+;; now begins the attributes that should be tags in cdata
+[$attr$id]
+open = a
+;close = /a
+cdata! = true
+quotevalues = true
+separator = "="
+;separateall = true
+$id = name
+
+;; now begins the sections that deal with <title>
+[refsynopsisdiv_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h1 class="title">
+close = </h1>
+
+[refsect1_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h2 class="title">
+close = </h2>
+
+[refsect2_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h3 class="title">
+close = </h3>
+
+[refsect3_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h4 class="title">
+close = </h4>
+
+[para_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[formalpara_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[example_title]
+;tag_attr = true
+;attr_name = title
+;cdata_start = true
+cdata_end = true
+open = </td></tr><tr><td><strong>
+close = </strong>
+
+[table_title]
+;tag_attr = true
+;attr_name = true
+cdata_start = true
+open = <caption>
+close = </caption>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl
new file mode 100755
index 00000000..02da5c40
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl
@@ -0,0 +1,21 @@
+{section name=letter loop=$letters}
+ [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ]
+{/section}
+<br /><br />
+{section name=index loop=$index}
+ <a name="{$index[index].letter}"></a>
+ <div class="index-letter-section">
+ <div style="float: left" class="index-letter-title">{$index[index].letter}</div>
+ <div style="float: right"><a href="#top">[Top]</a></div>
+ <div style="clear: both"></div>
+ </div>
+ <div>
+ <h2>{$index[index].letter}</h2>
+ <dl>
+ {section name=contents loop=$index[index].index}
+ <dt><b>{$index[index].index[contents].name}</b></dt>
+ <dd>{$index[index].index[contents].listing}</dd>
+ {/section}
+ </dl>
+ </div>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl
new file mode 100755
index 00000000..a7f6308f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl
@@ -0,0 +1,6 @@
+<div align="center"><h1>{$maintitle}</h1></div>
+<strong>Welcome to {$package}!</strong><br />
+<br />
+This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a>
+<br />
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl
new file mode 100755
index 00000000..fe930904
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl
@@ -0,0 +1,541 @@
+{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
+
+<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2>
+
+<a name="sec-description"></a>
+<div class="info-box">
+ <div class="info-box-title">{if $is_interface}Interface{else}Class{/if} Overview</div>
+ <div class="nav-bar">
+ {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts}
+ <span class="disabled">{if $is_interface}Interface{else}Class{/if} Overview</span>
+ {/if}
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+
+ {if $ivars || $imethods}
+ | <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a>
+ {/if}
+ {if $vars || $ivars}
+ {if $vars}
+ | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a>
+ {else}
+ | <a href="#sec-vars">Properties</a>
+ {/if}
+ {/if}
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ <table width="100%" border="0">
+ <tr><td valign="top" width="60%" class="class-overview">
+
+ {if $implements}
+ <p class="implements">
+ Implements interfaces:
+ <ul>
+ {foreach item="int" from=$implements}<li>{$int}</li>{/foreach}
+ </ul>
+ </p>
+ {/if}
+ {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc}
+
+ <p class="notes">
+ Located in <a class="field" href="{$page_link}">{$source_location}</a> [<span class="field">line {if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>]
+ </p>
+
+ {if $tutorial}
+ <hr class="separator" />
+ <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div>
+ {/if}
+
+ <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre>
+
+ {if $conflicts.conflict_type}
+ <hr class="separator" />
+ <div><span class="warning">Conflicts with classes:</span><br />
+ {section name=me loop=$conflicts.conflicts}
+ {$conflicts.conflicts[me]}<br />
+ {/section}
+ </div>
+ {/if}
+
+ {if count($tags) > 0}
+ <strong>Author(s):</strong>
+ <ul>
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword eq "author"}
+ <li>{$tags[tag].data}</li>
+ {/if}
+ {/section}
+ </ul>
+ {/if}
+
+ {include file="classtags.tpl" tags=$tags}
+ </td>
+
+ {if count($contents.var) > 0}
+ <td valign="top" width="20%" class="class-overview">
+ <p align="center" class="short-description"><strong><a href="#sec_vars">Properties</a></strong></p>
+ <ul>
+ {section name=contents loop=$contents.var}
+ <li>{$contents.var[contents]}</li>
+ {/section}
+ </ul>
+ </td>
+ {/if}
+
+ {if count($contents.method) > 0}
+ <td valign="top" width="20%" class="class-overview">
+ <p align="center" class="short-description"><strong><a href="#sec_methods">Methods</a></strong></p>
+ <ul>
+ {section name=contents loop=$contents.method}
+ <li>{$contents.method[contents]}</li>
+ {/section}
+ </ul>
+ </td>
+ {/if}
+
+ </tr></table>
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+</div>
+
+{if $children}
+ <a name="sec-descendants"></a>
+ <div class="info-box">
+ <div class="info-box-title">Descendants</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <span class="disabled">Descendants</span>
+ {/if}
+ {if $ivars || $imethods}
+ | <a href="#sec-inherited">Inherited Properties and Methods</a>
+ {/if}
+ {if $vars || $ivars}
+ {if $vars}
+ | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a>
+ {else}
+ | <a href="#sec-vars">Properties</a>
+ {/if}
+ {/if}
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ <table cellpadding="2" cellspacing="0" class="class-table">
+ <tr>
+ <th class="class-table-header">Child Class</th>
+ <th class="class-table-header">Description</th>
+ </tr>
+ {section name=kids loop=$children}
+ <tr>
+ <td style="padding-right: 2em">{$children[kids].link}</td>
+ <td>
+ {if $children[kids].sdesc}
+ {$children[kids].sdesc}
+ {else}
+ {$children[kids].desc}
+ {/if}
+ </td>
+ </tr>
+ {/section}
+ </table>
+ <br /><div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+ </div>
+{/if}
+
+{if $ivars || $imethods || $iconsts}
+ <a name="sec-inherited"></a>
+ <div class="info-box">
+ <div class="info-box-title">Inherited Properties, Constants, and Methods</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ | <span class="disabled">Inherited Properties, Constants, and Methods</span>
+ {if $vars || $ivars}
+ {if $vars}
+ | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a>
+ {else}
+ | <a href="#sec-vars">Properties</a>
+ {/if}
+ {/if}
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ <table cellpadding="2" cellspacing="0" class="class-table">
+ <tr>
+ <th class="class-table-header" width="30%">Inherited Properties</th>
+ <th class="class-table-header" width="40%">Inherited Methods</th>
+ <th class="class-table-header" width="30%">Inherited Constants</th>
+ </tr>
+ <tr>
+ <td width="30%">
+ {section name=ivars loop=$ivars}
+ <p>Inherited From <span class="classname">{$ivars[ivars].parent_class}</span></p>
+ <blockquote>
+ <dl>
+ {section name=ivars2 loop=$ivars[ivars].ivars}
+ <dt>
+ <span class="method-definition">{$ivars[ivars].ivars[ivars2].link}</span>
+ </dt>
+ <dd>
+ <span class="method-definition">{$ivars[ivars].ivars[ivars2].ivars_sdesc}</span>
+ </dd>
+ {/section}
+ </dl>
+ </blockquote>
+ {/section}
+ </td>
+ <td width="40%">
+ {section name=imethods loop=$imethods}
+ <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p>
+ <blockquote>
+ <dl>
+ {section name=im2 loop=$imethods[imethods].imethods}
+ <dt>
+ <span class="method-definition">{$imethods[imethods].imethods[im2].link}</span>
+ </dt>
+ <dd>
+ <span class="method-definition">{$imethods[imethods].imethods[im2].sdesc}</span>
+ </dd>
+ {/section}
+ </dl>
+ </blockquote>
+ {/section}
+ </td>
+ <td width="30%">
+ {section name=iconsts loop=$iconsts}
+ <p>Inherited From <span class="classname">{$iconsts[iconsts].parent_class}</span></p>
+ <blockquote>
+ <dl>
+ {section name=iconsts2 loop=$iconsts[iconsts].iconsts}
+ <dt>
+ <span class="method-definition">{$iconsts[iconsts].iconsts[iconsts2].link}</span>
+ </dt>
+ <dd>
+ <span class="method-definition">{$iconsts[iconsts].iconsts[iconsts2].iconsts_sdesc}</span>
+ </dd>
+ {/section}
+ </dl>
+ </blockquote>
+ {/section}
+ </td>
+ </tr>
+ </table>
+ <br /><div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+ </div>
+{/if}
+
+{if $consts}
+ <a name="sec-const-summary"></a>
+ <div class="info-box">
+ <div class="info-box-title">Constant Summary</span></div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ {if $ivars || $imethods || $iconsts}
+ | <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a>
+ {/if}
+ | <span class="disabled">Constants Summary</span> | <a href="#sec-consts">Constants Detail</a>
+ {if $vars || $ivars}
+ {if $vars}
+ | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a>
+ {else}
+ | <a href="#sec-vars">Properties</a>
+ {/if}
+ {/if}
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ <div class="const-summary">
+ <table border="0" cellspacing="0" cellpadding="0" class="var-summary">
+ {section name=consts loop=$consts}
+ <div class="var-title">
+ <tr>
+ <td class="var-title"><a href="#{$consts[consts].const_dest}" title="details" class="const-name-summary">{$consts[consts].const_name}</a>&nbsp;&nbsp;</td>
+ <td class="const-summary-description">{$consts[consts].sdesc}</td></tr>
+ </div>
+ {/section}
+ </table>
+ </div>
+ <br /><div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+ </div>
+{/if}
+
+{if $vars}
+ <a name="sec-var-summary"></a>
+ <div class="info-box">
+ <div class="info-box-title">Property Summary</span></div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ {if $ivars || $imethods || $iconsts}
+ | <a href="#sec-inherited">Inherited Properties and Methods</a>
+ {/if}
+ | <span class="disabled">Property Summary</span> | <a href="#sec-vars">Properties Detail</a>
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ <div class="var-summary">
+ <table border="0" cellspacing="0" cellpadding="0" class="var-summary">
+ {section name=vars loop=$vars}
+ {if $vars[vars].static}
+ <div class="var-title">
+ <tr><td class="var-title">static <span class="var-type-summary">{$vars[vars].var_type}</span>&nbsp;&nbsp;</td>
+ <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a>&nbsp;&nbsp;</td>
+ <td class="var-summary-description">{$vars[vars].sdesc}</td></tr>
+ </div>
+ {/if}
+ {/section}
+ {section name=vars loop=$vars}
+ {if !$vars[vars].static}
+ <div class="var-title">
+ <tr><td class="var-title"><span class="var-type-summary">{$vars[vars].var_type}</span>&nbsp;&nbsp;</td>
+ <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a>&nbsp;&nbsp;</td>
+ <td class="var-summary-description">{$vars[vars].sdesc}</td></tr>
+ </div>
+ {/if}
+ {/section}
+ </table>
+ </div>
+ <br /><div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+ </div>
+{/if}
+
+{if $methods}
+ <a name="sec-method-summary"></a>
+ <div class="info-box">
+ <div class="info-box-title">Method Summary</span></div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ {if $ivars || $imethods || $iconsts}
+ | <a href="#sec-inherited">Inherited Properties and Methods</a>
+ {/if}
+ {if $vars || $ivars}
+ {if $vars}
+ | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a>
+ {else}
+ | <a href="#sec-vars">Properties</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ | <span class="disabled">Method Summary</span> | <a href="#sec-methods">Methods Detail</a>
+ </div>
+ <div class="info-box-body">
+ <div class="method-summary">
+ <table border="0" cellspacing="0" cellpadding="0" class="method-summary">
+ {section name=methods loop=$methods}
+ {if $methods[methods].static}
+ <div class="method-definition">
+ <tr><td class="method-definition">static
+ {if $methods[methods].function_return}
+ <span class="method-result">{$methods[methods].function_return}</span>&nbsp;&nbsp;
+ {/if}</td>
+ <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}</a>()&nbsp;&nbsp;</td>
+ <td class="method-definition">{$methods[methods].sdesc}</td></tr>
+ </div>
+ {/if}
+ {/section}
+ {section name=methods loop=$methods}
+ {if !$methods[methods].static}
+ <div class="method-definition">
+ {if $methods[methods].function_return}
+ <tr><td class="method-definition"><span class="method-result">{$methods[methods].function_return}</span>&nbsp;&nbsp;</td>
+ {/if}
+ <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}</a>()&nbsp;&nbsp;</td>
+ <td class="method-definition">{$methods[methods].sdesc}</td></tr>
+ </div>
+ {/if}
+ {/section}
+ </table>
+ </div>
+ <br /><div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+ </div>
+{/if}
+
+{if $vars || $ivars}
+ <a name="sec-vars"></a>
+ <div class="info-box">
+ <div class="info-box-title">Properties</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ {if $ivars || $imethods || $iconsts}
+ | <a href="#sec-inherited">Inherited Properties and Methods</a>
+ {/if}
+ {if $methods}
+ | <a href="#sec-var-summary">Property Summary</a> | <span class="disabled">Properties Detail</span>
+ {else}
+ | <span class="disabled">Properties</span>
+ {/if}
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="var.tpl"}
+ </div>
+ </div>
+{/if}
+
+{if $methods || $imethods}
+ <a name="sec-methods"></a>
+ <div class="info-box">
+ <div class="info-box-title">Methods</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ {if $ivars || $imethods || $iconsts}
+ | <a href="#sec-inherited">Inherited Properties and Methods</a>
+ {/if}
+ {if $vars || $ivars}
+ {if $vars}
+ | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a>
+ {else}
+ | <a href="#sec-vars">Properties</a>
+ {/if}
+ {/if}
+ {if $consts || $iconsts}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a>
+ {else}
+ | <a href="#sec-consts">Constants</a>
+ {/if}
+ {/if}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <span class="disabled">Methods Detail</span>
+ {else}
+ | <span class="disabled">Methods</span>
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="method.tpl"}
+ </div>
+ </div>
+{/if}
+
+{if $consts || $consts}
+ <a name="sec-consts"></a>
+ <div class="info-box">
+ <div class="info-box-title">Constants</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Class Overview</a>
+ {if $children}
+ | <a href="#sec-descendants">Descendants</a>
+ {/if}
+ {if $consts}
+ | <a href="#sec-const-summary">Constants Summary</a> | <span class="disabled">Constants Detail</span>
+ {else}
+ | <span class="disabled">Constants</span>
+ {/if}
+ {if $ivars || $imethods || $iconsts}
+ | <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a>
+ {/if}
+ {if $methods || $imethods}
+ {if $methods}
+ | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a>
+ {else}
+ | <a href="#sec-methods">Methods</a>
+ {/if}
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="const.tpl"}
+ </div>
+ </div>
+{/if}
+
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl
new file mode 100755
index 00000000..3bae1684
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl
@@ -0,0 +1,11 @@
+{foreach key=subpackage item=files from=$classleftindex}
+ <div class="package">
+ {if $subpackage != ""}{$subpackage}<br />{/if}
+ {section name=files loop=$files}
+ {if $subpackage != ""}<span style="padding-left: 1em;">{/if}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}
+ {if $subpackage != ""}</span>{/if}
+ <br />
+ {/section}
+ </div>
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl
new file mode 100755
index 00000000..b810ecf8
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl
@@ -0,0 +1,22 @@
+{if count($api_tags) > 0}
+<strong>API Tags:</strong><br />
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$api_tags}
+ <tr>
+ <td class="indent"><strong>{$api_tags[tag].keyword|capitalize}:</strong>&nbsp;&nbsp;</td><td>{$api_tags[tag].data}</td>
+ </tr>
+{/section}
+</table>
+<br />
+{/if}
+
+{if count($info_tags) > 0}
+<strong>Information Tags:</strong><br />
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$info_tags}
+ {if $info_tags[tag].keyword ne "author"}
+ <tr><td><strong>{$info_tags[tag].keyword|capitalize}:</strong>&nbsp;&nbsp;</td><td>{$info_tags[tag].data}</td></tr>
+ {/if}
+{/section}
+</table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl
new file mode 100755
index 00000000..0c0e974a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl
@@ -0,0 +1,17 @@
+{include file="header.tpl" noleftindex=true}
+<h1>{$title}</h1>
+{if $interfaces}
+{section name=classtrees loop=$interfaces}
+<hr />
+<div class="classtree">Root interface {$interfaces[classtrees].class}</div><br />
+{$interfaces[classtrees].class_tree}
+{/section}
+{/if}
+{if $classtrees}
+{section name=classtrees loop=$classtrees}
+<hr />
+<div class="classtree">Root class {$classtrees[classtrees].class}</div><br />
+{$classtrees[classtrees].class_tree}
+{/section}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl
new file mode 100644
index 00000000..2e3270e0
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl
@@ -0,0 +1,19 @@
+{section name=consts loop=$consts}
+<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div class="var-header">
+ <span class="var-title">
+ <span class="var-name">{$consts[consts].const_name}</span>
+ = <span class="var-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span>
+ <span class="smalllinenumber">[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</span>
+ </span>
+ </div>
+
+ {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc}
+ {include file="tags.tpl" api_tags=$consts[consts].api_tags info_tags=$consts[consts].info_tags}
+
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+</div>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl
new file mode 100755
index 00000000..9b3809df
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl
@@ -0,0 +1,34 @@
+{if count($defines) > 0}
+{section name=def loop=$defines}
+<a name="{$defines[def].define_link}"><!-- --></a>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div>
+ <span class="const-title">
+ <span class="const-name">{$defines[def].define_name}</span>&nbsp;&nbsp;<span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span>
+ </span>
+ </div>
+<br />
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$defines[def].define_name} = {$defines[def].define_value}</code>
+ </td></tr></table>
+ </td></tr></table>
+
+ {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc}
+ {include file="tags.tpl" api_tags=$defines[def].api_tags info_tags=$defines[def].info_tags}
+ <br />
+
+ {if $globals[glob].global_conflicts.conflict_type}
+ <hr class="separator" />
+ <div><span class="warning">Conflicts with constants:</span><br />
+ {section name=me loop=$defines[def].define_conflicts.conflicts}
+ {$defines[def].define_conflicts.conflicts[me]}<br />
+ {/section}
+ </div><br />
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ <br />
+</div>
+{/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl
new file mode 100755
index 00000000..20bda10b
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl
@@ -0,0 +1,5 @@
+{if $sdesc != ''}
+<p align="center" class="short-description"><strong>{$sdesc|default:''}
+</strong></p>
+{/if}
+{if $desc != ''}<span class="description">{$desc|default:''}</span>{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl
new file mode 100755
index 00000000..0bb2be85
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl
@@ -0,0 +1,12 @@
+{include file="header.tpl" noleftindex=true}
+<a name="top"></a>
+<h1>Index of All Elements</h1>
+<h3>Package Indexes</h3>
+<ul>
+{section name=p loop=$packageindex}
+ <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li>
+{/section}
+</ul>
+<br />
+{include file="basicindex.tpl" indexname="elementindex"}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl
new file mode 100755
index 00000000..0f526584
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl
@@ -0,0 +1,21 @@
+{include file="header.tpl" noleftindex=true}
+{section name=files loop=$files}
+<a href="#{$files[files].file}">{$files[files].file}</a><br>
+{/section}
+{foreach key=file item=issues from=$all}
+<a name="{$file}"></a>
+<h1>{$file}</h1>
+{if count($issues.warnings)}
+<h2>Warnings:</h2><br>
+{section name=warnings loop=$issues.warnings}
+<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
+{/section}
+{/if}
+{if count($issues.errors)}
+<h2>Errors:</h2><br>
+{section name=errors loop=$issues.errors}
+<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
+{/section}
+{/if}
+{/foreach}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl
new file mode 100755
index 00000000..8b8c94fc
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl" title=$title}
+<h1 align="center">{$title}</h1>
+<div class="src-code"><span class="php">
+{$source}
+</span></div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl
new file mode 100755
index 00000000..44d254e1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl
@@ -0,0 +1,8 @@
+{foreach key=subpackage item=files from=$fileleftindex}
+ <div class="package">
+ {if $subpackage != ""}<strong>{$subpackage}</strong><br />{/if}
+ {section name=files loop=$files}
+ <span style="padding-left: 1em;">{if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}</span><br />
+ {/section}
+ </div>
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl
new file mode 100755
index 00000000..73074863
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl
@@ -0,0 +1,8 @@
+{capture name="tutle"}File Source for {$name}{/capture}
+{include file="header.tpl" title=$smarty.capture.tutle}
+<h1 align="center">Source for file {$name}</h1>
+<p>Documentation is available at {$docs}</p>
+<div class="src-code"><span class="php">
+{$source}
+</span></div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl
new file mode 100755
index 00000000..77427b0e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl
@@ -0,0 +1,7 @@
+{if count($tags) > 0}
+<table border="0" cellspacing="0" cellpadding="0">
+ {section name=tag loop=$tags}
+ <tr><td><strong>{$tags[tag].keyword|capitalize}:</strong>&nbsp;&nbsp;</td><td>{$tags[tag].data}</td></tr>
+ {/section}
+</table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl
new file mode 100755
index 00000000..32b09c11
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl
@@ -0,0 +1,11 @@
+ <div class="credit">
+ <hr class="separator" />
+ Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a>
+ </div>
+ </td></tr></table>
+ </td>
+ </tr>
+</table>
+
+</body>
+</html> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl
new file mode 100755
index 00000000..417bbf76
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl
@@ -0,0 +1,54 @@
+{section name=func loop=$functions}
+<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div>
+ <span class="method-title">{$functions[func].function_name}</span>&nbsp;&nbsp;<span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span>
+ </div>
+<br />
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&amp;{/if}{$functions[func].function_name}(
+{if count($functions[func].ifunction_call.params)}
+{section name=params loop=$functions[func].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if}
+{/section}
+&nbsp;
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table>
+
+ {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc}
+
+ {if count($functions[func].params) > 0}
+ <strong>Parameters:</strong><br />
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$functions[func].params}
+ <tr><td class="indent">
+ <span class="var-type">{$functions[func].params[params].datatype}</span>&nbsp;&nbsp;</td>
+ <td>
+ <span class="var-name">{$functions[func].params[params].var}:&nbsp;</span></td>
+ <td>
+ {if $functions[func].params[params].data}<span class="var-description"> {$functions[func].params[params].data}</span>{/if}
+ </td></tr>
+ {/section}
+ </table>
+ {/if}
+
+<br />
+ {include file="tags.tpl" api_tags=$functions[func].api_tags info_tags=$functions[func].info_tags}
+
+ {if $functions[func].function_conflicts.conflict_type}
+ <hr class="separator" />
+ <div><span class="warning">Conflicts with functions:</span><br />
+ {section name=me loop=$functions[func].function_conflicts.conflicts}
+ {$functions[func].function_conflicts.conflicts[me]}<br />
+ {/section}
+ </div>
+ {/if}
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+ </div>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl
new file mode 100755
index 00000000..f616349b
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl
@@ -0,0 +1,35 @@
+{if count($globals) > 0}
+{section name=glob loop=$globals}
+<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div>
+ <span class="var-title">
+ <span class="var-type">{$globals[glob].global_type}</span>&nbsp;&nbsp;
+ <span class="var-name">{$globals[glob].global_name}</span>
+ <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span>
+ </span>
+ </div>
+
+ {if $globals[glob].sdesc != ""}
+ {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc}
+ {/if}
+
+ <b>Default value:</b>&nbsp;&nbsp;<span class="var-default">{$globals[glob].global_value|replace:" ":"&nbsp;"|replace:"\n":"<br />\n"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span>
+<br />
+ {include file="tags.tpl" api_tags=$globals[glob].api_tags info_tags=$globals[glob].info_tags}
+
+ {if $globals[glob].global_conflicts.conflict_type}
+ <hr class="separator" />
+ <div><span class="warning">Conflicts with global variables:</span><br />
+ {section name=me loop=$globals[glob].global_conflicts.conflicts}
+ {$globals[glob].global_conflicts.conflicts[me]}<br />
+ {/section}
+ </div>
+ {/if}
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ <br />
+</div>
+{/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl
new file mode 100755
index 00000000..b57cbdb6
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>{$title}</title>
+ <link rel="stylesheet" type="text/css" href="{$subdir}media/style.css">
+ <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
+</head>
+<body>
+
+<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%">
+ <tr>
+ <td class="header-top-left"><img src="{$subdir}media/logo.png" border="0" alt="phpDocumentor {$phpdocver}" /></td>
+ <td class="header-top-right">{$package}<br /><div class="header-top-right-subpackage">{$subpackage}</div></td>
+ </tr>
+ <tr><td colspan="2" class="header-line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
+ <tr>
+ <td colspan="2" class="header-menu">
+ {assign var="packagehaselements" value=false}
+ {foreach from=$packageindex item=thispackage}
+ {if in_array($package, $thispackage)}
+ {assign var="packagehaselements" value=true}
+ {/if}
+ {/foreach}
+ {if $packagehaselements}
+ [ <a href="{$subdir}classtrees_{$package}.html" class="menu">class tree: {$package}</a> ]
+ [ <a href="{$subdir}elementindex_{$package}.html" class="menu">index: {$package}</a> ]
+ {/if}
+ [ <a href="{$subdir}elementindex.html" class="menu">all elements</a> ]
+ </td>
+ </tr>
+ <tr><td colspan="2" class="header-line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
+</table>
+
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="195" class="menu">
+ <div class="package-title">{$package}</div>
+{if count($ric) >= 1}
+ <div class="package">
+ <div id="ric">
+ {section name=ric loop=$ric}
+ <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p>
+ {/section}
+ </div>
+ </div>
+{/if}
+{if $hastodos}
+ <div class="package">
+ <div id="todolist">
+ <p><a href="{$subdir}{$todolink}">Todo List</a></p>
+ </div>
+ </div>
+{/if}
+ <b>Packages:</b><br />
+ <div class="package">
+ {section name=packagelist loop=$packageindex}
+ <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br />
+ {/section}
+ </div>
+ <br />
+{if $tutorials}
+ <b>Tutorials/Manuals:</b><br />
+ <div class="package">
+ {if $tutorials.pkg}
+ <strong>Package-level:</strong>
+ {section name=ext loop=$tutorials.pkg}
+ {$tutorials.pkg[ext]}
+ {/section}
+ {/if}
+ {if $tutorials.cls}
+ <strong>Class-level:</strong>
+ {section name=ext loop=$tutorials.cls}
+ {$tutorials.cls[ext]}
+ {/section}
+ {/if}
+ {if $tutorials.proc}
+ <strong>Procedural-level:</strong>
+ {section name=ext loop=$tutorials.proc}
+ {$tutorials.proc[ext]}
+ {/section}
+ </div>
+ {/if}
+{/if}
+ {if !$noleftindex}{assign var="noleftindex" value=false}{/if}
+ {if !$noleftindex}
+ {if $compiledfileindex}
+ <b>Files:</b><br />
+ {eval var=$compiledfileindex}
+ {/if}
+ <br />
+ {if $compiledinterfaceindex}
+ <b>Interfaces:</b><br />
+ {eval var=$compiledinterfaceindex}
+ {/if}
+ {if $compiledclassindex}
+ <b>Classes:</b><br />
+ {eval var=$compiledclassindex}
+ {/if}
+ {/if}
+ </td>
+ <td>
+ <table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top">
+
+{if !$hasel}{assign var="hasel" value=false}{/if}
+{if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if}
+{if $hasel}
+<h1>{$eltype|capitalize}: {$class_name}</h1>
+Source Location: {$source_location}<br /><br />
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl
new file mode 100755
index 00000000..ffab8eff
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl
@@ -0,0 +1,18 @@
+{section name=includes loop=$includes}
+<a name="{$includes[includes].include_file}"><!-- --></a>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div>
+ <span class="include-title">
+ <span class="include-type">{$includes[includes].include_name}</span>
+ (<span class="include-name">{$includes[includes].include_value}</span>)
+ <span class="smalllinenumber">[line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]</span>
+ </span>
+ </div>
+
+ {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
+ {include file="tags.tpl" api_tags=$includes[includes].api_tags info_tags=$includes[includes].info_tags}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ <br />
+</div>
+{/section} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl
new file mode 100755
index 00000000..a493f70e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl
@@ -0,0 +1,7 @@
+{include file="header.tpl"}
+{if $contents}
+{$contents}
+{else}
+{include file="blank.tpl"}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.png
new file mode 100755
index 00000000..8c4ff464
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.png
new file mode 100755
index 00000000..a9f29bb1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.png
new file mode 100644
index 00000000..10fe5d61
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css
new file mode 100755
index 00000000..a06eee2f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css
@@ -0,0 +1,135 @@
+a{ background-color: transparent; color: #636331; text-decoration: none; }
+a:hover{ text-decoration: underline; }
+a.menu{ background-color: transparent; color: #636331; }
+body{ background-color: #ffffff; background-image: url("background.png"); background-repeat: repeat-y; color: #000000; font-family: tahoma,verdana,arial,sans-serif; font-size: 10pt; margin: 0; padding: 0; }
+dd { margin-left: 0px; padding-left: 1em; }
+div.credit{ font-size: 8pt; text-align: center; }
+div.description,div.tags,div.function{ padding-left: 15px; }
+div.header-top-right-subpackage{ background-color: #fdfcf2; color: #636331; font-size: 12pt; font-weight: bold; padding: 10px; text-align: right; }
+div.package{ padding-left: 5px; }
+div.warning{ background-color: transparent; color: #ff0000; }
+hr{ border-color: #ccc9a4; border-style: solid; height: 1px; margin-bottom: 10px; margin-top: 10px; }
+li { list-style-type: square; }
+td{ font-size: 10pt; vertical-align: top; }
+td.class-overview{ padding: 2px; padding-left: 1em; }
+td.code{ background-color: #ccc9a4; color: #000000; padding-left: 3em; padding-right: 1em; text-indent: -2em; }
+td.code-border{ background-color: #636331; color: #000000; }
+td.header-line{ background-color: #636331; color: #ffffff; }
+td.header-menu{ background-color: #ccc9a4; color: #636331; font-size: 8pt; padding: 2px; padding-right: 5px; text-align: right; }
+td.header-top-left{ background-color: #fdfcf2; color: #636331; font-size: 16pt; font-weight: bold; padding: 10px; text-align: left; }
+td.header-top-right{ background-color: #fdfcf2; color: #636331; font-size: 16pt; font-weight: bold; padding: 10px; text-align: right; }
+td.indent { padding-left: 1em; }
+td.menu{ padding: 2px; padding-left: 5px; }
+td.type,.folder-title,.method-result,.include-type{ font-style: italic; }
+ul{ margin-left: 0px; padding-left: 8px; vertical-align: top; }
+.class-name { color: #000000; font-weight: bold; }
+.class-table { width: 100%; }
+.class-table-header { border-bottom: 1px dotted #666666; text-align: left; }
+.const-title { }
+.description{ color: #000000; }
+.detail,div.top,span.smalllinenumber{ font-size: 8pt; }
+.disabled{ color: #ccc9a4; font-style: italic; }
+.evenrow{ border: 1px solid #ccc9a4; color: #000000; margin-bottom: 1em; padding: .5em; }
+.include-title{ }
+.index-item-body { margin-bottom: .5em; margin-top: .5em; }
+.index-item-description { margin-top: .25em; }
+.index-item-details { font-size: 8pt; font-style: italic; font-weight: normal; }
+.index-letter { font-size: 12pt; }
+.index-letter-menu { margin: 1em; text-align: center; }
+.index-letter-section { background-color: #ccc9a4; border: 1px dotted #636331; margin-bottom: 1em; padding: .5em; }
+.index-letter-title { font-size: 12pt; font-weight: bold; }
+.info-box{ }
+.info-box-body{ border: 1px solid #ccc9a4; padding: .5em; }
+.info-box-title{ background-color: #ccc9a4; border: 1px solid #636331; color: #636331; font-size: 14pt; font-weight: normal; margin: 1em 0em 0em 0em; padding: .25em; }
+.line-number, .var-name-summary { font-size: 8pt; font-weight: bold; }
+.method-definition { font-size: 8pt; margin-bottom: .3em; padding-left: 1em; }
+.method-definition{ font-size: 8pt; margin-bottom: .3em; }
+.method-header{ }
+.method-result { color: #636331; font-size: 8pt; font-style: italic; }
+.method-signature{ color: #ccc9a4; font-size: 85%; margin: .5em 0em; }
+.nav-bar{ font-size: 8pt; margin: 0em 0em 1em 0em; padding: .2em; text-align: right; white-space: nowrap; }
+.nav-button:active,
+.nav-button:focus,
+.nav-button:hover{ background-color: #dddddd; outline: 1px solid #999999; text-decoration: none; }
+.nav-button-disabled{ color: #999999; }
+.notes{ font-size: 8pt; font-style: italic; }
+.oddrow{ background-color: #fdfcf2; border: 1px solid #ccc9a4; color: #000000; margin-bottom: 1em; padding: .5em; }
+.package{ padding-left : 2em; font-size : 9pt; }
+.package-details{ font-size: 85%; }
+.package-title{ border-bottom: 1px solid #000000; font-size: 14pt; font-weight: bold; }
+.page-body{ margin: auto; max-width: 800px; }
+.parameters{ list-style-type: square; margin-bottom: 0em; margin-left: 3em; margin-right: 1em; margin-top: 0em; padding-left: 0em; vertical-align: top; }
+.redefinitions{ font-size: 8pt; margin-left: 2em; padding-left: 0em; }
+.separator{ background-color: #ccc9a4; height: 1px; }
+.short-description{ color: #636331; font-weight: bold; }
+.src-code li, .php-src li, .php li, .listing li { list-style-type: decimal }
+/* This will not be executed by IE, so now we have a fix! */
+.php-src { font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+.sub-package{ font-size: 120%; font-weight: bold; }
+.tags{ color: #636331; list-style-type: square; margin-bottom: 0em; margin-left: 3em; margin-right: 1em; margin-top: 0em; padding-left: 0em; vertical-align: top; }
+.tree dl { margin: 0px; }
+.tutorial{ border-color: #0066ff; border-width: thin; }
+.tutorial-nav-box{ background-color: #fdfcf2; border: 1px solid #999999; width: 100%; }
+.var-default{ }
+.var-summary-description { font-size: 8pt; font-weight: normal; color: #000000; }
+.var-description{ color: #000000; font-weight: normal; }
+.var-header{ }
+.var-name, .const-name, .method-title,.method-name,.include-name,.var-name,.field { font-weight: bold; }
+.var-summary,.method-summary{ font-size: 8pt;}
+.var-title{ margin-bottom: .3em; }
+.var-type{ color: #636331; font-style: italic; }
+.var-type-summary{ color: #636331; font-size: 8pt; font-style: italic; padding-left: 1em; }
+.warning{ color: #ff6600; }
+
+/* Syntax highlighting */
+
+.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 1em; margin : 0px;
+ font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+
+.src-comm { color: green; }
+.src-id { }
+.src-inc { color: #0000FF; }
+.src-key { color: #0000FF; }
+.src-num { color: #CC0000; }
+.src-str { color: #66cccc; }
+.src-sym { font-weight: bold; }
+.src-var { }
+
+.src-php { font-weight: bold; }
+
+.src-doc { color: #009999 }
+.src-doc-close-template { color: #0000FF }
+.src-doc-coretag { color: #0099FF; font-weight: bold }
+.src-doc-inlinetag { color: #0099FF }
+.src-doc-internal { color: #6699cc }
+.src-doc-tag { color: #0080CC }
+.src-doc-template { color: #0000FF }
+.src-doc-type { font-style: italic }
+.src-doc-var { font-style: italic }
+
+.tute-tag { color: #009999 }
+.tute-attribute-name { color: #0000FF }
+.tute-attribute-value { color: #0099FF }
+.tute-entity { font-weight: bold; }
+.tute-comment { font-style: italic }
+.tute-inline-tag { color: #636311; font-weight: bold }
+
+/* tutorial */
+
+.authors { }
+.author { font-style: italic; font-weight: bold }
+.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }
+.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; }
+.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; }
+.release-info { font-size: 85%; font-style: italic; margin: 1em 0em }
+.ref-title-box { }
+.ref-title { }
+.ref-purpose { font-style: italic; color: #666666 }
+.ref-synopsis { }
+.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #fdfcf2;
+ color: #636331; }
+.cmd-synopsis { margin: 1em 0em }
+.cmd-title { font-weight: bold }
+.toc { margin-left: 2em; padding-left: 0em }
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl
new file mode 100755
index 00000000..8ea3853c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl
@@ -0,0 +1,176 @@
+<a name='method_detail'></a>
+{section name=methods loop=$methods}
+{if $methods[methods].static}
+<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a>
+<div class="{cycle values="evenrow,oddrow"}">
+
+<div class="method-header">
+ <span class="method-title">static method {$methods[methods].function_name}</span>&nbsp;&nbsp;<span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span>
+</div>
+<br />
+
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">&nbsp;
+ <code>static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+&nbsp;
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br /></div>
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc}
+
+ {if $methods[methods].params}
+ <strong>Parameters:</strong><br />
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr><td class="indent">
+ <span class="var-type">{$methods[methods].params[params].datatype}</span>&nbsp;&nbsp;</td>
+ <td>
+ <span class="var-name">{$methods[methods].params[params].var}:&nbsp;</span></td>
+ <td>
+ {if $methods[methods].params[params].data}<span class="var-description"> {$methods[methods].params[params].data}</span>{/if}
+ </td></tr>
+ {/section}
+ </table>
+
+ {/if}
+<br />
+ {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags}
+
+ {if $methods[methods].method_overrides}
+ <hr class="separator" />
+ <div class="notes">Redefinition of:</div>
+ <dl>
+ <dt>{$methods[methods].method_overrides.link}</dt>
+ {if $methods[methods].method_overrides.sdesc}
+ <dd>{$methods[methods].method_overrides.sdesc}</dd>
+ {/if}
+ </dl>
+ {/if}
+ {if $methods[methods].method_implements}
+ <hr class="separator" />
+ <div class="notes">Implementation of:</div>
+ {section name=imp loop=$methods[methods].method_implements}
+ <dl>
+ <dt>{$methods[methods].method_implements[imp].link}</dt>
+ {if $methods[methods].method_implements[imp].sdesc}
+ <dd>{$methods[methods].method_implements[imp].sdesc}</dd>
+ {/if}
+ </dl>
+ {/section}
+ {/if}
+
+ {if $methods[methods].descmethod}
+ <hr class="separator" />
+ <div class="notes">Redefined in descendants as:</div>
+ <ul class="redefinitions">
+ {section name=dm loop=$methods[methods].descmethod}
+ <li>
+ {$methods[methods].descmethod[dm].link}
+ {if $methods[methods].descmethod[dm].sdesc}
+ : {$methods[methods].descmethod[dm].sdesc}
+ {/if}
+ </li>
+ {/section}
+ </ul>
+ {/if}
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+</div>
+{/if}
+{/section}
+
+{section name=methods loop=$methods}
+{if !$methods[methods].static}
+<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a>
+<div class="{cycle values="evenrow,oddrow"}">
+
+<div class="method-header">
+ <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span>&nbsp;&nbsp;<span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span>
+</div>
+<br />
+
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">&nbsp;
+ <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+&nbsp;
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br /></div>
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc}
+
+ {if $methods[methods].params}
+ <strong>Parameters:</strong><br />
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr><td class="indent">
+ <span class="var-type">{$methods[methods].params[params].datatype}</span>&nbsp;&nbsp;</td>
+ <td>
+ <span class="var-name">{$methods[methods].params[params].var}:&nbsp;</span></td>
+ <td>
+ {if $methods[methods].params[params].data}<span class="var-description"> {$methods[methods].params[params].data}</span>{/if}
+ </td></tr>
+ {/section}
+ </table>
+
+ {/if}
+<br />
+ {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags}
+
+ {if $methods[methods].method_overrides}
+ <hr class="separator" />
+ <div class="notes">Redefinition of:</div>
+ <dl>
+ <dt>{$methods[methods].method_overrides.link}</dt>
+ {if $methods[methods].method_overrides.sdesc}
+ <dd>{$methods[methods].method_overrides.sdesc}</dd>
+ {/if}
+ </dl>
+ {/if}
+ {if $methods[methods].method_implements}
+ <hr class="separator" />
+ <div class="notes">Implementation of:</div>
+ {section name=imp loop=$methods[methods].method_implements}
+ <dl>
+ <dt>{$methods[methods].method_implements[imp].link}</dt>
+ {if $methods[methods].method_implements[imp].sdesc}
+ <dd>{$methods[methods].method_implements[imp].sdesc}</dd>
+ {/if}
+ </dl>
+ {/section}
+ {/if}
+
+ {if $methods[methods].descmethod}
+ <hr class="separator" />
+ <div class="notes">Redefined in descendants as:</div>
+ <ul class="redefinitions">
+ {section name=dm loop=$methods[methods].descmethod}
+ <li>
+ {$methods[methods].descmethod[dm].link}
+ {if $methods[methods].descmethod[dm].sdesc}
+ : {$methods[methods].descmethod[dm].sdesc}
+ {/if}
+ </li>
+ {/section}
+ </ul>
+ {/if}
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+</div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl
new file mode 100755
index 00000000..0967e6e7
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl
@@ -0,0 +1,3 @@
+{section name=packages loop=$packages}
+<a href="{$packages[packages].link}">{$packages[packages].title}</a>
+{/section} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl
new file mode 100755
index 00000000..83cfc582
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl
@@ -0,0 +1,210 @@
+{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
+
+<a name="sec-description"></a>
+<div class="info-box">
+ <div class="info-box-title">Page Details</div>
+ <div class="nav-bar">
+ {if $classes || $includes || $defines || $globals || $functions}
+ <span class="disabled">Page Details</span> |
+ {/if}
+ {if $classes}
+ <a href="#sec-classes">Classes</a>
+ {if $includes || $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $includes}
+ <a href="#sec-includes">Includes</a>
+ {if $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $defines}
+ <a href="#sec-constants">Constants</a>
+ {if $globals || $functions}|{/if}
+ {/if}
+ {if $globals}
+ <a href="#sec-variables">Globals</a>
+ {if $functions}|{/if}
+ {/if}
+ {if $functions}
+ <a href="#sec-functions">Functions</a>
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="docblock.tpl" type="page" desc=$desc sdesc=$sdesc}
+ {include file="filetags.tpl" tags=$tags}
+
+ {if $tutorial}
+ <hr class="separator" />
+ <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div>
+ {/if}
+ </div>
+</div>
+
+{if $classes}
+ <a name="sec-classes"></a>
+ <div class="info-box">
+ <div class="info-box-title">Classes</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Page Details</a> |
+ <span class="disabled">Classes</span>
+ {if $includes || $defines || $globals || $functions}|{/if}
+ {if $includes}
+ <a href="#sec-includes">Includes</a>
+ {if $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $defines}
+ <a href="#sec-constants">Constants</a>
+ {if $globals || $functions}|{/if}
+ {/if}
+ {if $globals}
+ <a href="#sec-variables">Globals</a>
+ {if $functions}|{/if}
+ {/if}
+ {if $functions}
+ <a href="#sec-functions">Functions</a>
+ {/if}
+ </div>
+ <div class="info-box-body">
+ <table cellpadding="2" cellspacing="0" class="class-table">
+ <tr>
+ <th class="class-table-header">Class</th>
+ <th class="class-table-header">Description</th>
+ </tr>
+ {section name=classes loop=$classes}
+ <tr>
+ <td style="padding-right: 2em; vertical-align: top">
+ {$classes[classes].link}
+ </td>
+ <td>
+ {if $classes[classes].sdesc}
+ {$classes[classes].sdesc}
+ {else}
+ {$classes[classes].desc}
+ {/if}
+ </td>
+ </tr>
+ {/section}
+ </table>
+ </div>
+ </div>
+{/if}
+
+{if $includes}
+ <a name="sec-includes"></a>
+ <div class="info-box">
+ <div class="info-box-title">Includes</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Page Details</a> |
+ {if $classes}
+ <a href="#sec-classes">Classes</a>
+ {if $includes || $defines || $globals || $functions}|{/if}
+ {/if}
+ <span class="disabled">Includes</span>
+ {if $defines || $globals || $functions}|{/if}
+ {if $defines}
+ <a href="#sec-constants">Constants</a>
+ {if $globals || $functions}|{/if}
+ {/if}
+ {if $globals}
+ <a href="#sec-variables">Globals</a>
+ {if $functions}|{/if}
+ {/if}
+ {if $functions}
+ <a href="#sec-functions">Functions</a>
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="include.tpl"}
+ </div>
+ </div><br />
+{/if}
+
+{if $defines}
+ <a name="sec-constants"></a>
+ <div class="info-box">
+ <div class="info-box-title">Constants</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Page Details</a> |
+ {if $classes}
+ <a href="#sec-classes">Classes</a>
+ {if $includes || $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $includes}
+ <a href="#sec-includes">Includes</a>
+ {if $defines || $globals || $functions}|{/if}
+ {/if}
+ <span class="disabled">Constants</span>
+ {if $globals || $functions}|{/if}
+ {if $globals}
+ <a href="#sec-variables">Globals</a>
+ {if $functions}|{/if}
+ {/if}
+ {if $functions}
+ <a href="#sec-functions">Functions</a>
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="define.tpl"}
+ </div>
+ </div><br />
+{/if}
+
+{if $globals}
+ <a name="sec-variables"></a>
+ <div class="info-box">
+ <div class="info-box-title">Globals</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Page Details</a> |
+ {if $classes}
+ <a href="#sec-classes">Classes</a>
+ {if $includes || $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $includes}
+ <a href="#sec-includes">Includes</a>
+ {if $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $defines}
+ <a href="#sec-constants">Constants</a>
+ {if $globals || $functions}|{/if}
+ {/if}
+ <span class="disabled">Globals</span>
+ {if $functions}|{/if}
+ {if $globals}
+ <a href="#sec-functions">Functions</a>
+ {/if}
+ </div>
+ <div class="info-box-body">
+ {include file="global.tpl"}
+ </div>
+ </div><br />
+{/if}
+
+{if $functions}
+ <a name="sec-functions"></a>
+ <div class="info-box">
+ <div class="info-box-title">Functions</div>
+ <div class="nav-bar">
+ <a href="#sec-description">Page Details</a> |
+ {if $classes}
+ <a href="#sec-classes">Classes</a>
+ {if $includes || $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $includes}
+ <a href="#sec-includes">Includes</a>
+ {if $defines || $globals || $functions}|{/if}
+ {/if}
+ {if $defines}
+ <a href="#sec-constants">Constants</a>
+ {if $globals || $functions}|{/if}
+ {/if}
+ {if $globals}
+ <a href="#sec-variables">Globals</a>
+ {if $functions}|{/if}
+ {/if}
+ <span class="disabled">Functions</span>
+ </div>
+ <div class="info-box-body">
+ {include file="function.tpl"}
+ </div>
+ </div><br />
+{/if}
+
+{include file="footer.tpl" top3=true}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl
new file mode 100755
index 00000000..7f12c6c5
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl
@@ -0,0 +1,15 @@
+{include file="header.tpl"}
+<a name="top"></a>
+<h1>Element index for package {$package}</h1>
+{if count($packageindex) > 1}
+ <h3>Package indexes</h3>
+ <ul>
+ {section name=p loop=$packageindex}
+ {if $packageindex[p].title != $package}
+ <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li>
+ {/if}
+ {/section}
+ </ul>
+{/if}
+{include file="basicindex.tpl" indexname=elementindex_$package}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl
new file mode 100755
index 00000000..eff734c1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl"}
+<h1 align="center">{$name}</h1>
+<pre>
+{$contents|htmlentities}
+</pre>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl
new file mode 100755
index 00000000..9f965d88
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl
@@ -0,0 +1,22 @@
+{if count($api_tags) > 0}
+<strong>API Tags:</strong><br />
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$api_tags}
+ <tr>
+ <td class="indent"><strong>{$api_tags[tag].keyword|capitalize}:</strong>&nbsp;&nbsp;</td><td>{$api_tags[tag].data}</td>
+ </tr>
+{/section}
+</table>
+<br />
+{/if}
+
+{if count($info_tags) > 0}
+<strong>Information Tags:</strong><br />
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$info_tags}
+ <tr>
+ <td class="indent"><strong>{$info_tags[tag].keyword|capitalize}:</strong>&nbsp;&nbsp;</td><td>{$info_tags[tag].data}</td>
+ </tr>
+{/section}
+</table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl
new file mode 100755
index 00000000..f929ccdb
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl
@@ -0,0 +1,14 @@
+{include file="header.tpl" title="Todo List"}
+<div align="center"><h1>Todo List</h1></div>
+{foreach from=$todos key=todopackage item=todo}
+<h2>{$todopackage}</h2>
+{section name=todo loop=$todo}
+<h3>{$todo[todo].link}</h3>
+<ul>
+{section name=t loop=$todo[todo].todos}
+ <li>{$todo[todo].todos[t]}</li>
+{/section}
+</ul>
+{/section}
+{/foreach}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl
new file mode 100755
index 00000000..a943522c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl
@@ -0,0 +1,32 @@
+{include file="header.tpl" title=$title}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="10%" align="left" valign="bottom">{if $prev}<a href=
+"{$prev}">{/if}Prev{if $prev}</a>{/if}</td>
+<td width="80%" align="center" valign="bottom"></td>
+<td width="10%" align="right" valign="bottom">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+</table>
+{/if}
+{$contents}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if}
+Prev{if $prev}</a>{/if}</td>
+<td width="34%" align="center" valign="top">{if $up}<a href=
+"{$up}">Up</a>{else}&nbsp;{/if}</td>
+<td width="33%" align="right" valign="top">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td>
+<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td>
+<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td>
+</tr>
+</table>
+{/if}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl
new file mode 100755
index 00000000..3d22d403
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl
@@ -0,0 +1,29 @@
+{if count($toc)}
+<h1 align="center">Table of Contents</h1>
+<ul>
+{section name=toc loop=$toc}
+{if $toc[toc].tagname == 'refsect1'}
+{assign var="context" value="refsect1"}
+{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect2'}
+{assign var="context" value="refsect2"}
+&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect3'}
+{assign var="context" value="refsect3"}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'table'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{if $toc[toc].tagname == 'example'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{/section}
+</ul>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl
new file mode 100755
index 00000000..dd2e5811
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl
@@ -0,0 +1,5 @@
+<ul>
+ <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a>
+{if $kids}{$kids}</li>{/if}
+</ul>
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl
new file mode 100755
index 00000000..45aba195
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl
@@ -0,0 +1,94 @@
+{section name=vars loop=$vars}
+{if $vars[vars].static}
+<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div class="var-header">
+ <span class="var-title">
+ static <span class="var-type">{$vars[vars].var_type}</span>&nbsp;&nbsp;
+ <span class="var-name">{$vars[vars].var_name}</span>
+ {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if}
+ <span class="smalllinenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</span>
+ </span>
+ </div>
+
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc}
+ {include file="tags.tpl" api_tags=$vars[vars].api_tags info_tags=$vars[vars].info_tags}
+
+ {if $vars[vars].var_overrides}
+ <hr class="separator" />
+ <div class="notes">Redefinition of:</div>
+ <dl>
+ <dt>{$vars[vars].var_overrides.link}</dt>
+ {if $vars[vars].var_overrides.sdesc}
+ <dd>{$vars[vars].var_overrides.sdesc}</dd>
+ {/if}
+ </dl>
+ {/if}
+
+ {if $vars[vars].descvar}
+ <hr class="separator" />
+ <div class="notes">Redefined in descendants as:</div>
+ <ul class="redefinitions">
+ {section name=vm loop=$vars[vars].descvar}
+ <li>
+ {$vars[vars].descvar[vm].link}
+ {if $vars[vars].descvar[vm].sdesc}
+ : {$vars[vars].descvar[vm].sdesc}
+ {/if}
+ </li>
+ {/section}
+ </ul>
+ {/if}
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+</div>
+{/if}
+{/section}
+{section name=vars loop=$vars}
+{if !$vars[vars].static}
+<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A>
+<div class="{cycle values="evenrow,oddrow"}">
+
+ <div class="var-header">
+ <span class="var-title">
+ <span class="var-type">{$vars[vars].var_type}</span>&nbsp;&nbsp;
+ <span class="var-name">{$vars[vars].var_name}</span>
+ {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if}
+ <span class="smalllinenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</span>
+ </span>
+ </div>
+
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc}
+ {include file="tags.tpl" api_tags=$vars[vars].api_tags info_tags=$vars[vars].info_tags}
+
+ {if $vars[vars].var_overrides}
+ <hr class="separator" />
+ <div class="notes">Redefinition of:</div>
+ <dl>
+ <dt>{$vars[vars].var_overrides.link}</dt>
+ {if $vars[vars].var_overrides.sdesc}
+ <dd>{$vars[vars].var_overrides.sdesc}</dd>
+ {/if}
+ </dl>
+ {/if}
+
+ {if $vars[vars].descvar}
+ <hr class="separator" />
+ <div class="notes">Redefined in descendants as:</div>
+ <ul class="redefinitions">
+ {section name=vm loop=$vars[vars].descvar}
+ <li>
+ {$vars[vars].descvar[vm].link}
+ {if $vars[vars].descvar[vm].sdesc}
+ : {$vars[vars].descvar[vm].sdesc}
+ {/if}
+ </li>
+ {/section}
+ </ul>
+ {/if}
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+</div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini
new file mode 100755
index 00000000..73479c5f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini
@@ -0,0 +1,577 @@
+preservedocbooktags = false
+
+;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
+[highlightSourceTokens]
+;; format:
+;; T_CONSTANTNAME = open
+;; /T_CONSTANTNAME = close
+
+T_INCLUDE = <span class="src-inc">
+/T_INCLUDE = </span>
+T_INCLUDE_ONCE = <span class="src-inc">
+/T_INCLUDE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+
+T_CONSTANT_ENCAPSED_STRING = <span class="src-str">
+/T_CONSTANT_ENCAPSED_STRING = </span>
+T_STRING_VARNAME = <span class="src-str">
+/T_STRING_VARNAME = </span>
+
+T_STRING = <span class="src-id">
+/T_STRING = </span>
+
+T_DNUMBER = <span class="src-num">
+/T_DNUMBER = </span>
+T_LNUMBER = <span class="src-num">
+/T_LNUMBER = </span>
+
+T_VARIABLE = <span class="src-var">
+/T_VARIABLE = </span>
+
+T_COMMENT = <span class="src-comm">
+/T_COMMENT = </span>
+T_ML_COMMENT = <span class="src-comm">
+/T_ML_COMMENT = </span>
+
+T_OBJECT_OPERATOR = <span class="src-sym">
+/T_OBJECT_OPERATOR = </span>
+
+T_ABSTRACT = <span class="src-key">
+/T_ABSTRACT = </span>
+T_CLONE = <span class="src-key">
+/T_CLONE = </span>
+T_HALT_COMPILER = <span class="src-key">
+/T_HALT_COMPILER = </span>
+T_ARRAY = <span class="src-key">
+/T_ARRAY = </span>
+T_AS = <span class="src-key">
+/T_AS = </span>
+T_BREAK = <span class="src-key">
+/T_BREAK = </span>
+T_CLASS = <span class="src-key">
+/T_CLASS = </span>
+T_CASE = <span class="src-key">
+/T_CASE = </span>
+T_CONST = <span class="src-key">
+/T_CONST = </span>
+T_CONTINUE = <span class="src-key">
+/T_CONTINUE = </span>
+T_DECLARE = <span class="src-key">
+/T_DECLARE = </span>
+T_DEFAULT = <span class="src-key">
+/T_DEFAULT = </span>
+T_ELSE = <span class="src-key">
+/T_ELSE = </span>
+T_ELSEIF = <span class="src-key">
+/T_ELSEIF = </span>
+T_EMPTY = <span class="src-key">
+/T_EMPTY = </span>
+T_ENDDECLARE = <span class="src-key">
+/T_ENDDECLARE = </span>
+T_ENDFOR = <span class="src-key">
+/T_ENDFOR = </span>
+T_ENDSWITCH = <span class="src-key">
+/T_ENDSWITCH = </span>
+T_ENDFOREACH = <span class="src-key">
+/T_ENDFOREACH = </span>
+T_ENDIF = <span class="src-key">
+/T_ENDIF = </span>
+T_ENDWHILE = <span class="src-key">
+/T_ENDWHILE = </span>
+T_EXIT = <span class="src-key">
+/T_EXIT = </span>
+T_EXTENDS = <span class="src-key">
+/T_EXTENDS = </span>
+T_FINAL = <span class="src-key">
+/T_FINAL = </span>
+T_FOR = <span class="src-key">
+/T_FOR = </span>
+T_FOREACH = <span class="src-key">
+/T_FOREACH = </span>
+T_FUNCTION = <span class="src-key">
+/T_FUNCTION = </span>
+T_GLOBAL = <span class="src-key">
+/T_GLOBAL = </span>
+T_IF = <span class="src-key">
+/T_IF = </span>
+T_IMPLEMENTS = <span class="src-key">
+/T_IMPLEMENTS = </span>
+T_INTERFACE = <span class="src-key">
+/T_INTERFACE = </span>
+T_LOGICAL_AND = <span class="src-key">
+/T_LOGICAL_AND = </span>
+T_LOGICAL_OR = <span class="src-key">
+/T_LOGICAL_OR = </span>
+T_LOGICAL_XOR = <span class="src-key">
+/T_LOGICAL_XOR = </span>
+T_NEW = <span class="src-key">
+/T_NEW = </span>
+T_PRIVATE = <span class="src-key">
+/T_PRIVATE = </span>
+T_PROTECTED = <span class="src-key">
+/T_PROTECTED = </span>
+T_PUBLIC = <span class="src-key">
+/T_PUBLIC = </span>
+T_RETURN = <span class="src-key">
+/T_RETURN = </span>
+T_STATIC = <span class="src-key">
+/T_STATIC = </span>
+T_SWITCH = <span class="src-key">
+/T_SWITCH = </span>
+T_VAR = <span class="src-key">
+/T_VAR = </span>
+T_WHILE = <span class="src-key">
+/T_WHILE = </span>
+
+T_DOUBLE_COLON = <span class="src-sym">
+/T_DOUBLE_COLON = </span>
+
+T_OPEN_TAG = <span class="src-php">
+/T_OPEN_TAG = </span>
+T_OPEN_TAG_WITH_ECHO = <span class="src-php">
+/T_OPEN_TAG_WITH_ECHO = </span>
+T_CLOSE_TAG = <span class="src-php">
+/T_CLOSE_TAG = </span>
+
+
+[highlightSource]
+;; this is for highlighting things that aren't tokens like "&"
+;; format:
+;; word = open
+;; /word = close
+@ = <span class="src-sym">
+/@ = </span>
+& = <span class="src-sym">
+/& = </span>
+[ = <span class="src-sym">
+/[ = </span>
+] = <span class="src-sym">
+/] = </span>
+! = <span class="src-sym">
+/! = </span>
+";" = <span class="src-sym">
+/; = </span>
+( = <span class="src-sym">
+/( = </span>
+) = <span class="src-sym">
+/) = </span>
+, = <span class="src-sym">
+/, = </span>
+{ = <span class="src-sym">
+/{ = </span>
+} = <span class="src-sym">
+/} = </span>
+""" = <span class="src-str">
+/" = </span>
+
+[highlightDocBlockSourceTokens]
+;; this is for docblock tokens, using by phpDocumentor_HighlightParser
+;; tagphptype is for "string" in @param string description, for example
+docblock = <span class="src-doc">
+/docblock = </span>
+tagphptype = <span class="src-doc-type">
+/tagphptype = </span>
+tagvarname = <span class="src-doc-var">
+/tagvarname = </span>
+coretag = <span class="src-doc-coretag">
+/coretag = </span>
+tag = <span class="src-doc-tag">
+/tag = </span>
+inlinetag = <span class="src-doc-inlinetag">
+/inlinetag = </span>
+internal = <span class="src-doc-internal">
+/internal = </span>
+closetemplate = <span class="src-doc-close-template">
+/closetemplate = </span>
+docblocktemplate = <span class="src-doc-template">
+/docblocktemplate = </span>
+
+[highlightTutorialSourceTokens]
+;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser
+;; <tag>
+opentag = <span class="tute-tag">
+/opentag = </span>
+;; </tag>
+closetag = <span class="tute-tag">
+/closetag = </span>
+;; <tag attribute="value">
+attribute = <span class="tute-attribute-name">
+/attribute = </span>
+;; <tag attribute="value">
+attributevalue = <span class="tute-attribute-value">
+/attributevalue = </span>
+;; &entity;
+entity = <span class="tute-entity">
+/entity = </span>
+;; <!-- comment -->
+comment = <span class="tute-comment">
+/comment = </span>
+;; {@inline tag}
+itag = <span class="tute-inline-tag">
+/itag = </span>
+
+;; used for translation of html in DocBlocks
+[desctranslate]
+ul = <ul>
+/ul = </ul>
+ol = <ol>
+/ol = </ol>
+li = <li>
+/li = </li>
+code =
+/code =
+var = <var>
+/var = </var>
+samp = <samp>
+/samp = </samp>
+kbd = <kbd>
+/kbd = </kbd>
+pre = <pre>
+/pre = </pre>
+p = <p>
+/p = </p>
+b = <strong>
+/b = </strong>
+i = <em>
+/i = </em>
+br = <br />
+
+[ppage]
+;; this is the DocBook package page translation section. All DocBook tags
+;; that have a corresponding html tag must be listed here. Entities should
+;; also be listed here
+;;
+;; examples:
+;; 1)
+;; tagname = newtagname
+;;
+;; This is the simplest case, where all attributes will be added into the
+;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
+;; <tagname></tagname> becomes <newtagname></newtagname> and
+;; <tagname attr="value"></tagname> becomes
+;; <newtagname attr="value"></newtagname>
+;;
+;; 2)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;;
+;; in this case, everything will be like the first case, except tags like:
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="value"></newtagname>
+;;
+;; 3)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;; tagname->attr+value = newvalue
+;;
+;; in this case, the value is also translated to another. This can be useful
+;; for instances such as focus="middle" changing to align="center" or something
+;; of that nature.
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 4)
+;; tagname = newtagname
+;; tagname->attr1 = newattrname
+;; tagname->attr2 = newattrname
+;; tagname->attr1+value|attr2+value = newvalue
+;;
+;; in this case, two attributes combine to make one new attribute, and the combined
+;; value is translated into a new value
+;; <tagname attr1="value1" attr2="value2"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 5)
+;; tagname = newtagname
+;; tagname!attr = dummy
+;;
+;; here, the attribute will be ignored. dummy is not used and may be any value
+;; <tagname attr="value"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 6)
+;; tagname = newtagname
+;; tagname! = dummy
+;;
+;; here, all attributes will be ignored. dummy is not used and may be any value
+;; <tagname attr1="value" attr2="foo"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 7)
+;; tagname = newtagname
+;; tagname/ = 1
+;;
+;; here, the tag will be translated as a single tag with no closing tag, and all
+;; attributes
+;; <tagname attr="val">{text text}</tagname> will become
+;; <newtagname attr="val" />
+;;
+;; 8)
+;; tagname = <starttaginfo />
+;; /tagname = closetagtext
+;;
+;; in this case, the text <starttaginfo> will be inserted exactly as entered for
+;; <tagname> and closetagtext for </tagname>
+;; <tagname attr="val"></tagname> will become
+;; <starttaginfo />closetagtext
+;;
+;; 9)
+;; $attr$my_attribute = newattrname
+;;
+;; tagname = newtagname
+;;
+;; in this case, all occurences of my_attribute in any tag will be changed to
+;; newattrname. This is useful for changing things like role="php" to
+;; class="php," for example. Note that the text "$attr$" MUST be on the line
+;; start for phpDocumentor to recognize it.
+;;
+;; 10)
+;; &entity; = translation text
+;; &quot; = &quot;
+;; &quot; = """
+;; &lt; = <
+;;
+;; Use this to control translation of entities to their appropriate values
+
+&nbsp; = &nbsp;
+&quot; = &quot;
+&rdquo; = &rdquo;
+&ldquo; = &ldquo;
+&amp; = &amp;
+&lt; = &lt;
+&gt; = &gt;
+&copy; = &copy;
+
+$attr$role = class
+
+abbrev = abbr
+
+blockquote = blockquote
+
+arg = span
+arg->choice = class
+
+author = <span class="author">
+/author = </span>
+author! = 0
+
+authorblurb = <div class="author-blurb">
+/authorblurb = </div>
+
+authorgroup = <div class="authors"><h2 class="title">Authors</h2>
+/authorgroup = </div>
+authorgroup! = 0
+
+caution = <span class="warning">
+/caution = </span>
+caution! = 0
+
+cmdsynopsis = <div class="cmd-synopsis">
+/cmdsynopsis = </div>
+
+command = <span class="cmd-title">
+/command = </span>
+
+copyright = <div class="notes">
+/copyright = </div>
+
+emphasis = strong
+
+example = <div class="src-code">
+/example = </div>
+example! = 0
+
+function =
+/function = ()
+
+formalpara = p
+
+graphic = img
+graphic->fileref = src
+graphic/ =
+
+important = strong
+
+informalequation = blockquote
+
+informalexample = div
+
+inlineequation = em
+
+itemizedlist = ul
+
+listitem = li
+
+literal = code
+
+literallayout = span
+
+option = " "
+/option =
+
+orderedlist = ol
+
+para = p
+
+programlisting = <div class="src-code">
+/programlisting = </div>
+programlisting! = 0
+
+refentry = div
+
+refnamediv = <div class="ref-title-box">
+/refnamediv = </div>
+refnamediv! = 0
+
+refname = <h1 class="ref-title">
+/refname = </h1>
+
+refpurpose = <h2 class="ref-purpose">
+/refpurpose = </h2>
+
+refsynopsisdiv = <div class="ref-synopsis">
+/refsynopsisdiv = </div>
+refsynopsisdiv! = 0
+
+refsect1 = span
+
+refsect2 =
+/refsect2 = <hr />
+
+refsect3 =
+/refsect3 = <br />
+
+releaseinfo = <div class="release-info">(
+/releaseinfo = )</div>
+
+simpara =
+/simpara = <br />
+simpara! = 0
+
+subscript = sub
+
+superscript = super
+
+table = table
+
+table->colsep = rules
+table->rowsep = rules
+table->colsep+1|rowsep+1 = all
+table->colsep+1|rowsep+0 = cols
+table->colsep+0|rowsep+1 = rows
+
+table->frame = frame
+table->frame+all = border
+table->frame+none = void
+table->frame+sides = vsides
+table->frame+top = above
+table->frame+topbot = hsides
+
+thead = thead
+
+tfoot = tfoot
+
+tbody = tbody
+
+colspec = col
+
+tgroup = colgroup
+tgroup/ = 1
+tgroup->cols = span
+
+row = tr
+
+entry = td
+entry->morerows = colspan
+entry->morerows+1 = 2
+entry->morerows+2 = 3
+entry->morerows+3 = 4
+entry->morerows+4 = 5
+entry->morerows+5 = 6
+entry->morerows+6 = 7
+entry->morerows+7 = 8
+entry->morerows+8 = 9
+entry->morerows+9 = 10
+entry->morerows+10 = 11
+;; add more if you need more colspans
+
+warning = <span class="warning">
+/warning = </span>
+warning! = 0
+
+;; now begins the attributes that should be tags in cdata
+[$attr$id]
+open = a
+;close = /a
+cdata! = true
+quotevalues = true
+separator = "="
+;separateall = true
+$id = name
+
+;; now begins the sections that deal with <title>
+[refsynopsisdiv_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h1 class="title">
+close = </h1>
+
+[refsect1_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h2 class="title">
+close = </h2>
+
+[refsect2_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h3 class="title">
+close = </h3>
+
+[refsect3_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h4 class="title">
+close = </h4>
+
+[para_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[formalpara_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[example_title]
+;tag_attr = true
+;attr_name = title
+;cdata_start = true
+cdata_end = true
+open = </td></tr><tr><td><strong>
+close = </strong>
+
+[table_title]
+;tag_attr = true
+;attr_name = true
+cdata_start = true
+open = <caption>
+close = </caption>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl
new file mode 100755
index 00000000..36cf9b4f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl
@@ -0,0 +1,18 @@
+{section name=letter loop=$letters}
+ [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ]
+{/section}
+
+{section name=index loop=$index}
+ <hr />
+ <a name="{$index[index].letter}"></a>
+ <div>
+ <h2>{$index[index].letter}</h2>
+ <dl>
+ {section name=contents loop=$index[index].index}
+ <dt><b>{$index[index].index[contents].name}</b></dt>
+ <dd>{$index[index].index[contents].listing}</dd>
+ {/section}
+ </dl>
+ </div>
+ <a href="{$indexname}.html#top">top</a><br>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl
new file mode 100755
index 00000000..aae59975
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl
@@ -0,0 +1,5 @@
+<div align="center"><h1>{$maintitle}</h1></div>
+<b>Welcome to {$package}!</b><br />
+<br />
+This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br />
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl
new file mode 100755
index 00000000..860707eb
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl
@@ -0,0 +1,231 @@
+{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
+
+{if $conflicts.conflict_type}<div class="warning">Conflicts with classes:<br />
+ {section name=me loop=$conflicts.conflicts}
+ {$conflicts.conflicts[me]}<br />
+ {/section}
+</div>
+ {/if}
+{* original <div class="warning">{$conflicts</div> *}
+
+<table width="100%" border="0">
+<tr><td valign="top">
+
+<h3><a href="#class_details">{if $is_interface}Interface{else}Class{/if} Overview</a></h3>
+<pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre><br />
+<div class="description">{$sdesc|default:''}</div><br /><br />
+{if $tutorial}
+<h4 class="classtutorial">{if $is_interface}Interface{else}Class{/if} Tutorial:</h4>
+<ul>
+ <li>{$tutorial}</li>
+</ul>
+{/if}
+{if count($tags) > 0}
+<h4>Author(s):</h4>
+<ul>
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword eq "author"}
+ <li>{$tags[tag].data}</li>
+ {/if}
+ {/section}
+</ul>
+{/if}
+
+{assign var="version" value=""}
+{assign var="copyright" value=""}
+
+{section name=tag loop=$tags}
+ {if $tags[tag].keyword eq "version"}
+ {assign var="version" value=$tags[tag].data}
+ {/if}
+ {if $tags[tag].keyword eq "copyright"}
+ {assign var="copyright" value=$tags[tag].data}
+ {/if}
+{/section}
+
+{if $version}
+<h4>Version:</h4>
+<ul>
+ <li>{$version}</li>
+</ul>
+{/if}
+
+{if $copyright}
+<h4>Copyright:</h4>
+<ul>
+ <li>{$copyright}</li>
+</ul>
+{/if}
+ {if $implements}
+ <p class="implements">
+ Implements interfaces:
+ <ul>
+ {foreach item="int" from=$implements}<li>{$int}</li>{/foreach}
+ </ul>
+ </p>
+ {/if}
+
+</td>
+
+{if count($contents.var) > 0}
+<td valign="top">
+<h3><a href="#class_vars">Variables</a></h3>
+<ul>
+ {section name=contents loop=$contents.var}
+ <li>{$contents.var[contents]}</li>
+ {/section}
+</ul>
+</td>
+{/if}
+
+{if count($contents.const) > 0}
+<td valign="top">
+<h3><a href="#class_consts">Constants</a></h3>
+<ul>
+ {section name=contents loop=$contents.const}
+ <li>{$contents.const[contents]}</li>
+ {/section}
+</ul>
+</td>
+{/if}
+
+{if count($contents.method) > 0}
+<td valign="top">
+<h3><a href="#class_methods">Methods</a></h3>
+<ul>
+ {section name=contents loop=$contents.method}
+ <li>{$contents.method[contents]}</li>
+ {/section}
+</ul>
+</td>
+{/if}
+
+</tr></table>
+<hr />
+
+<table width="100%" border="0"><tr>
+
+{* original {if $children != ""
+<td valign="top">
+<h3>Child classes:</h3>
+<div class="tags">
+{$children *}
+
+{if $children}
+<td valign="top">
+<h3>Child classes:</h3>
+<div class="tags">
+{section name=kids loop=$children}
+<dl>
+<dt>{$children[kids].link}</dt>
+ <dd>{$children[kids].sdesc}</dd>
+</dl>
+{/section}
+</div>
+</td>
+{/if}
+
+{if $iconsts && count($iconsts) > 0}
+<td valign="top">
+<h3>Inherited Constants</h3>
+{section name=iconsts loop=$iconsts}
+<div class="tags">
+<h4>Class: {$iconsts[iconsts].parent_class}</h4>
+<dl>
+{section name=iconsts2 loop=$iconsts[iconsts].iconsts}
+<dt>
+ {$iconsts[iconsts].iconsts[iconsts2].link}
+</dt>
+<dd>
+ {$iconsts[iconsts].iconsts[iconsts2].iconsts_sdesc}
+</dd>
+{/section}
+</dl>
+</div>
+{/section}
+</td>
+{/if}
+
+{if $ivars && count($ivars) > 0}
+<td valign="top">
+<h3>Inherited Variables</h3>
+{section name=ivars loop=$ivars}
+<div class="tags">
+<h4>Class: {$ivars[ivars].parent_class}</h4>
+<dl>
+{section name=ivars2 loop=$ivars[ivars].ivars}
+<dt>
+ {$ivars[ivars].ivars[ivars2].link}
+ {* original <a href="{$ivars[ivars].ivars[ivars2].ipath #{$ivars[ivars].ivars[ivars2].ivar_name ">{$ivars[ivars].ivars[ivars2].ivar_name </a> *}
+</dt>
+<dd>
+ {$ivars[ivars].ivars[ivars2].ivars_sdesc}
+</dd>
+{/section}
+</dl>
+</div>
+{/section}
+</td>
+{/if}
+
+{if $imethods && count($imethods) > 0}
+<td valign="top">
+<h3>Inherited Methods</h3>
+<div class="tags">
+{section name=imethods loop=$imethods}
+<h4>Class: {$imethods[imethods].parent_class}</h4>
+<dl>
+ {section name=im2 loop=$imethods[imethods].imethods}
+ <dt>
+ {$imethods[imethods].imethods[im2].link}
+{* original <a href="{$imethods[imethods].imethods[im2].ipath#{$imethods[imethods].imethods[im2].ifunction_name">{$imethods[imethods].imethods[im2].ifunction_call</a> *}
+ </dt>
+ <dd>
+ {$imethods[imethods].imethods[im2].sdesc}
+ </dd>
+ {/section}
+</dl>
+{/section}
+</div>
+</td>
+{/if}
+
+</tr></table>
+<hr />
+
+<a name="class_details"></a>
+<h3>Class Details</h3>
+<div class="tags">
+[line {if $class_slink}{$class_slink}{else}{$line_number}{/if}]<br />
+{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc}
+</div><br /><br />
+<div class="top">[ <a href="#top">Top</a> ]</div><br />
+
+{if $vars && count($vars) > 0}
+<hr />
+<a name="class_vars"></a>
+<h3>Class Variables</h3>
+<div class="tags">
+{include file="var.tpl"}
+</div><br />
+{/if}
+
+{if $methods & count($methods) > 0}
+<hr />
+<a name="class_methods"></a>
+<h3>Class Methods</h3>
+<div class="tags">
+{include file="method.tpl"}
+</div><br />
+{/if}
+
+{if $consts && count($consts) > 0}
+<hr />
+<a name="class_consts"></a>
+<h3>Class Constants</h3>
+<div class="tags">
+{include file="const.tpl"}
+</div><br />
+{/if}
+
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl
new file mode 100755
index 00000000..b847f409
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl
@@ -0,0 +1,9 @@
+{foreach key=subpackage item=files from=$classleftindex}
+ <div class="package">
+ {if $subpackage != ""}{$subpackage}<br />{/if}
+ {section name=files loop=$files}
+ {if $subpackage != ""}&nbsp;&nbsp;{/if}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}<br />
+ {/section}
+ </div>
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl
new file mode 100755
index 00000000..0c0e974a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl
@@ -0,0 +1,17 @@
+{include file="header.tpl" noleftindex=true}
+<h1>{$title}</h1>
+{if $interfaces}
+{section name=classtrees loop=$interfaces}
+<hr />
+<div class="classtree">Root interface {$interfaces[classtrees].class}</div><br />
+{$interfaces[classtrees].class_tree}
+{/section}
+{/if}
+{if $classtrees}
+{section name=classtrees loop=$classtrees}
+<hr />
+<div class="classtree">Root class {$classtrees[classtrees].class}</div><br />
+{$classtrees[classtrees].class_tree}
+{/section}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl
new file mode 100644
index 00000000..9ad36e01
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl
@@ -0,0 +1,14 @@
+{section name=consts loop=$consts}
+{if $show == 'summary'}
+ var {$consts[consts].const_name}, {$consts[consts].sdesc}<br>
+{else}
+ <a name="{$consts[consts].const_dest}"></a>
+ <p></p>
+ <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}
+
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl
new file mode 100755
index 00000000..3cc84da3
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl
@@ -0,0 +1,32 @@
+{if count($defines) > 0}
+{section name=def loop=$defines}
+{if $show == 'summary'}
+define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br>
+{else}
+ <hr />
+ <a name="{$defines[def].define_link}"></a>
+ <h3>{$defines[def].define_name} <span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span></h3>
+ <div class="tags">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$defines[def].define_name} = {$defines[def].define_value}</code>
+ </td></tr></table>
+ </td></tr></table>
+
+ {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
+ <br />
+ {if $defines[def].define_conflicts.conflict_type}
+ <p><b>Conflicts with defines:</b>
+ {section name=me loop=$defines[def].define_conflicts.conflicts}
+ {$defines[def].define_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $defines[def].define_conflicts != ""
+ <b>Conflicts:</b> {$defines[def].define_conflicts<br /><br />
+ {/if *}
+ </div>
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl
new file mode 100755
index 00000000..2ddfa0be
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl
@@ -0,0 +1,15 @@
+{if $sdesc != ''}{$sdesc|default:''}<br /><br />{/if}
+{if $desc != ''}{$desc|default:''}<br />{/if}
+{if count($tags) > 0}
+<br /><br />
+<h4>Tags:</h4>
+<div class="tags">
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$tags}
+ <tr>
+ <td><b>{$tags[tag].keyword}:</b>&nbsp;&nbsp;</td><td>{$tags[tag].data}</td>
+ </tr>
+{/section}
+</table>
+</div>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl
new file mode 100755
index 00000000..adb7b136
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl
@@ -0,0 +1,5 @@
+{include file="header.tpl" noleftindex=true}
+<a name="top"></a>
+<h1>Index of all elements</h1>
+{include file="basicindex.tpl" indexname="elementindex"}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl
new file mode 100755
index 00000000..0f526584
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl
@@ -0,0 +1,21 @@
+{include file="header.tpl" noleftindex=true}
+{section name=files loop=$files}
+<a href="#{$files[files].file}">{$files[files].file}</a><br>
+{/section}
+{foreach key=file item=issues from=$all}
+<a name="{$file}"></a>
+<h1>{$file}</h1>
+{if count($issues.warnings)}
+<h2>Warnings:</h2><br>
+{section name=warnings loop=$issues.warnings}
+<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
+{/section}
+{/if}
+{if count($issues.errors)}
+<h2>Errors:</h2><br>
+{section name=errors loop=$issues.errors}
+<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
+{/section}
+{/if}
+{/foreach}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl
new file mode 100755
index 00000000..c9ed8b86
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl" title=$title}
+<h1 align="center">{$title}</h1>
+<div class="php">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl
new file mode 100755
index 00000000..9af5e1cf
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl
@@ -0,0 +1,10 @@
+{foreach key=subpackage item=files from=$fileleftindex}
+ {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if}
+ <div class="package">
+ {section name=files loop=$files}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}
+ {$files[files].title}
+ {if $files[files].link != ''}</a>{/if}<br>
+ {/section}
+ </div><br />
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl
new file mode 100755
index 00000000..3d93199e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl
@@ -0,0 +1,8 @@
+{capture name="tutle"}File Source for {$name}{/capture}
+{include file="header.tpl" title=$smarty.capture.tutle}
+<h1 align="center">Source for file {$name}</h1>
+<p>Documentation is available at {$docs}</p>
+<div class="src-code">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl
new file mode 100755
index 00000000..57097ba5
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl
@@ -0,0 +1,11 @@
+ <div class="credit">
+ <hr />
+ Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a>
+ </div>
+ </td></tr></table>
+ </td>
+ </tr>
+</table>
+
+</body>
+</html> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl
new file mode 100755
index 00000000..204c582f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl
@@ -0,0 +1,48 @@
+{section name=func loop=$functions}
+{if $show == 'summary'}
+function {$functions[func].id}, {$functions[func].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$functions[func].function_dest}"></a>
+ <h3>{$functions[func].function_name} <span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&amp;{/if}{$functions[func].function_name}(
+{if count($functions[func].ifunction_call.params)}
+{section name=params loop=$functions[func].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags}
+ <br /><br />
+ {if $functions[func].function_conflicts.conflict_type}
+ <p><b>Conflicts with functions:</b>
+ {section name=me loop=$functions[func].function_conflicts.conflicts}
+ {$functions[func].function_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $functions[func].function_conflicts != ""
+ <b>Conflicts:</b> {$functions[func].function_conflicts<br /><br />
+ {/if *}
+
+ {if count($functions[func].params) > 0}
+ <h4>Parameters</h4>
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$functions[func].params}
+ <tr>
+ <td class="type">{$functions[func].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$functions[func].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$functions[func].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+ </div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl
new file mode 100755
index 00000000..51ba0855
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl
@@ -0,0 +1,40 @@
+{if count($globals) > 0}
+{section name=glob loop=$globals}
+{if $show == 'summary'}
+global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br>
+{else}
+ <hr />
+ <a name="{$globals[glob].global_link}"></a>
+ <h4><i>{$globals[glob].global_type}</i> {$globals[glob].global_name} <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span></h4>
+ <div class="tags">
+ {if $globals[glob].sdesc != ""}
+ {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
+ {/if}
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Default value:</b>&nbsp;&nbsp;</td>
+ <td>{$globals[glob].global_value|replace:" ":"&nbsp;"|replace:"\n":"<br />\n"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</td>
+ </tr>
+ {if $globals[glob].global_conflicts.conflict_type}
+ <tr>
+ <td><b>Conflicts with globals:</b>&nbsp;&nbsp;</td>
+ <td>
+ {section name=me loop=$globals[glob].global_conflicts.conflicts}
+ {$globals[glob].global_conflicts.conflicts[me]}<br />
+ {/section}
+ </td>
+ </tr>
+ {/if}
+{* original {if $globals[glob].global_conflicts != ""
+ <tr>
+ <td><b>Conflicts:</b>&nbsp;&nbsp;</td>
+ <td>{$globals[glob].global_conflicts</td>
+ </tr>
+ {/if *}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl
new file mode 100755
index 00000000..7d3e8f7d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl
@@ -0,0 +1,97 @@
+<html>
+<head>
+<title>{$title}</title>
+<link rel="stylesheet" type="text/css" href="{$subdir}media/style.css">
+</head>
+<body>
+
+<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%">
+ <tr>
+ <td class="header_top">{$package}</td>
+ </tr>
+ <tr><td class="header_line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
+ <tr>
+ <td class="header_menu">
+ {assign var="packagehaselements" value=false}
+ {foreach from=$packageindex item=thispackage}
+ {if in_array($package, $thispackage)}
+ {assign var="packagehaselements" value=true}
+ {/if}
+ {/foreach}
+ {if $packagehaselements}
+ [ <a href="{$subdir}classtrees_{$package}.html" class="menu">class tree: {$package}</a> ]
+ [ <a href="{$subdir}elementindex_{$package}.html" class="menu">index: {$package}</a> ]
+ {/if}
+ [ <a href="{$subdir}elementindex.html" class="menu">all elements</a> ]
+ </td>
+ </tr>
+ <tr><td class="header_line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr>
+</table>
+
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="200" class="menu">
+{if count($ric) >= 1}
+ <div id="ric">
+ {section name=ric loop=$ric}
+ <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p>
+ {/section}
+ </div>
+{/if}
+{if $hastodos}
+ <div id="todolist">
+ <p><a href="{$subdir}{$todolink}">Todo List</a></p>
+ </div>
+{/if}
+ <b>Packages:</b><br />
+ {section name=packagelist loop=$packageindex}
+ <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br />
+ {/section}
+ <br /><br />
+{if $tutorials}
+ <b>Tutorials/Manuals:</b><br />
+ {if $tutorials.pkg}
+ <strong>Package-level:</strong>
+ {section name=ext loop=$tutorials.pkg}
+ {$tutorials.pkg[ext]}
+ {/section}
+ {/if}
+ {if $tutorials.cls}
+ <strong>Class-level:</strong>
+ {section name=ext loop=$tutorials.cls}
+ {$tutorials.cls[ext]}
+ {/section}
+ {/if}
+ {if $tutorials.proc}
+ <strong>Procedural-level:</strong>
+ {section name=ext loop=$tutorials.proc}
+ {$tutorials.proc[ext]}
+ {/section}
+ {/if}
+{/if}
+ {if !$noleftindex}{assign var="noleftindex" value=false}{/if}
+ {if !$noleftindex}
+ {if $compiledfileindex}
+ <b>Files:</b><br />
+ {eval var=$compiledfileindex}
+ {/if}
+
+ {if $compiledinterfaceindex}
+ <b>Interfaces:</b><br />
+ {eval var=$compiledinterfaceindex}
+ {/if}
+
+ {if $compiledclassindex}
+ <b>Classes:</b><br />
+ {eval var=$compiledclassindex}
+ {/if}
+ {/if}
+ </td>
+ <td>
+ <table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top">
+
+{if !$hasel}{assign var="hasel" value=false}{/if}
+{if $hasel}
+<h1>{$eltype|capitalize}: {$class_name}</h1>
+Source Location: {$source_location}<br /><br />
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl
new file mode 100755
index 00000000..68b80081
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl
@@ -0,0 +1,9 @@
+{if count($includes) > 0}
+<h4>Includes:</h4>
+<div class="tags">
+{section name=includes loop=$includes}
+{$includes[includes].include_name}({$includes[includes].include_value}) [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]<br />
+{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
+{/section}
+</div>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl
new file mode 100755
index 00000000..a493f70e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl
@@ -0,0 +1,7 @@
+{include file="header.tpl"}
+{if $contents}
+{$contents}
+{else}
+{include file="blank.tpl"}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.png
new file mode 100755
index 00000000..d6f36f60
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.png
new file mode 100755
index 00000000..a9f29bb1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css
new file mode 100755
index 00000000..bc65d896
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css
@@ -0,0 +1,195 @@
+.php {
+ padding: 1em;
+}
+.php-src { font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+
+body
+{
+ color: #000000;
+ background-color: #ffffff;
+ background-image: url("background.png");
+ background-repeat: repeat-y;
+ font-family: tahoma, verdana, arial, sans-serif;
+ font-size: 10pt;
+ margin: 0;
+ padding: 0;
+}
+
+a
+{
+ color: #000099;
+ background-color: transparent;
+ text-decoration: none;
+}
+
+a:hover
+{
+ text-decoration: underline;
+}
+
+a.menu
+{
+ color: #ffffff;
+ background-color: transparent;
+}
+
+td
+{
+ font-size: 10pt;
+}
+
+td.header_top
+{
+ color: #ffffff;
+ background-color: #9999cc;
+ font-size: 16pt;
+ font-weight: bold;
+ text-align: right;
+ padding: 10px;
+}
+
+td.header_line
+{
+ color: #ffffff;
+ background-color: #333366;
+}
+
+td.header_menu
+{
+ color: #ffffff;
+ background-color: #666699;
+ font-size: 8pt;
+ text-align: right;
+ padding: 2px;
+ padding-right: 5px;
+}
+
+td.menu
+{
+ padding: 2px;
+ padding-left: 5px;
+}
+
+td.code_border
+{
+ color: #000000;
+ background-color: #c0c0c0;
+}
+
+td.code
+{
+ color: #000000;
+ background-color: #f0f0f0;
+}
+
+td.type
+{
+ font-style: italic;
+}
+
+div.credit
+{
+ font-size: 8pt;
+ text-align: center;
+}
+
+div.package
+{
+ padding-left: 5px;
+}
+
+div.tags
+{
+ padding-left: 15px;
+}
+
+div.function
+{
+ padding-left: 15px;
+}
+
+div.top
+{
+ font-size: 8pt;
+}
+
+div.warning
+{
+ color: #ff0000;
+ background-color: transparent;
+}
+
+div.description
+{
+ padding-left: 15px;
+}
+
+hr
+{
+ height: 1px;
+ border-style: solid;
+ border-color: #c0c0c0;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+span.smalllinenumber
+{
+ font-size: 8pt;
+}
+
+ul {
+ margin-left: 0px;
+ padding-left: 8px;
+}
+/* Syntax highlighting */
+
+.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 0 0 0 1em; margin : 0px;
+ font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+
+.src-comm { color: green; }
+.src-id { }
+.src-inc { color: #0000FF; }
+.src-key { color: #0000FF; }
+.src-num { color: #CC0000; }
+.src-str { color: #66cccc; }
+.src-sym { font-weight: bold; }
+.src-var { }
+
+.src-php { font-weight: bold; }
+
+.src-doc { color: #009999 }
+.src-doc-close-template { color: #0000FF }
+.src-doc-coretag { color: #0099FF; font-weight: bold }
+.src-doc-inlinetag { color: #0099FF }
+.src-doc-internal { color: #6699cc }
+.src-doc-tag { color: #0080CC }
+.src-doc-template { color: #0000FF }
+.src-doc-type { font-style: italic }
+.src-doc-var { font-style: italic }
+
+.tute-tag { color: #009999 }
+.tute-attribute-name { color: #0000FF }
+.tute-attribute-value { color: #0099FF }
+.tute-entity { font-weight: bold; }
+.tute-comment { font-style: italic }
+.tute-inline-tag { color: #636311; font-weight: bold }
+
+/* tutorial */
+
+.authors { }
+.author { font-style: italic; font-weight: bold }
+.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }
+.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; }
+.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; }
+.release-info { font-size: 85%; font-style: italic; margin: 1em 0em }
+.ref-title-box { }
+.ref-title { }
+.ref-purpose { font-style: italic; color: #666666 }
+.ref-synopsis { }
+.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #9999CC }
+.cmd-synopsis { margin: 1em 0em }
+.cmd-title { font-weight: bold }
+.toc { margin-left: 2em; padding-left: 0em }
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl
new file mode 100755
index 00000000..bcc4dcee
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl
@@ -0,0 +1,145 @@
+{section name=methods loop=$methods}
+{if $methods[methods].static}
+{if $show == 'summary'}
+static method {$methods[methods].function_call}, {$methods[methods].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$methods[methods].method_dest}"></a>
+ <h3>static method {$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br />
+
+{if $methods[methods].descmethod}
+ <p>Overridden in child classes as:<br />
+ {section name=dm loop=$methods[methods].descmethod}
+ <dl>
+ <dt>{$methods[methods].descmethod[dm].link}</dt>
+ <dd>{$methods[methods].descmethod[dm].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+ {if $methods[methods].method_implements}
+ <hr class="separator" />
+ <div class="notes">Implementation of:</div>
+ {section name=imp loop=$methods[methods].method_implements}
+ <dl>
+ <dt>{$methods[methods].method_implements[imp].link}</dt>
+ {if $methods[methods].method_implements[imp].sdesc}
+ <dd>{$methods[methods].method_implements[imp].sdesc}</dd>
+ {/if}
+ </dl>
+ {/section}
+ {/if}
+{* original {if $methods[methods].descmethod != ""
+ {$methods[methods].descmethod<br /><br />
+ {/if *}
+{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if}
+{* original {if $methods[methods].method_overrides != ""
+ {$methods[methods].method_overrides<br /><br />
+ {/if *}
+
+ {if count($methods[methods].params) > 0}
+ <h4>Parameters:</h4>
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr>
+ <td class="type">{$methods[methods].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$methods[methods].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$methods[methods].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ </div><br />
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+{/if}
+{/if}
+{/section}
+
+{section name=methods loop=$methods}
+{if !$methods[methods].static}
+{if $show == 'summary'}
+method {$methods[methods].function_call}, {$methods[methods].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$methods[methods].method_dest}"></a>
+ <h3>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br />
+
+{if $methods[methods].descmethod}
+ <p>Overridden in child classes as:<br />
+ {section name=dm loop=$methods[methods].descmethod}
+ <dl>
+ <dt>{$methods[methods].descmethod[dm].link}</dt>
+ <dd>{$methods[methods].descmethod[dm].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+ {if $methods[methods].method_implements}
+ <hr class="separator" />
+ <div class="notes">Implementation of:</div>
+ {section name=imp loop=$methods[methods].method_implements}
+ <dl>
+ <dt>{$methods[methods].method_implements[imp].link}</dt>
+ {if $methods[methods].method_implements[imp].sdesc}
+ <dd>{$methods[methods].method_implements[imp].sdesc}</dd>
+ {/if}
+ </dl>
+ {/section}
+ {/if}
+{* original {if $methods[methods].descmethod != ""
+ {$methods[methods].descmethod<br /><br />
+ {/if *}
+{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if}
+{* original {if $methods[methods].method_overrides != ""
+ {$methods[methods].method_overrides<br /><br />
+ {/if *}
+
+ {if count($methods[methods].params) > 0}
+ <h4>Parameters:</h4>
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr>
+ <td class="type">{$methods[methods].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$methods[methods].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$methods[methods].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ </div><br />
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+{/if}
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl
new file mode 100755
index 00000000..0967e6e7
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl
@@ -0,0 +1,3 @@
+{section name=packages loop=$packages}
+<a href="{$packages[packages].link}">{$packages[packages].title}</a>
+{/section} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl
new file mode 100755
index 00000000..db2cd607
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl
@@ -0,0 +1,31 @@
+{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
+
+<br>
+<br>
+
+{if $classes}
+<div class="contents">
+{if $tutorial}
+<span class="maintutorial">Main Tutorial: {$tutorial}</span>
+{/if}
+<h2>Classes:</h2>
+{section name=classes loop=$classes}
+<dt>{$classes[classes].link}</dt>
+ <dd>{$classes[classes].sdesc}</dd>
+{/section}
+</div><br /><br />
+{/if}
+
+<h2>Page Details:</h2>
+{include file="docblock.tpl" type="page"}
+<br /><br />
+{include file="include.tpl"}
+<br /><br />
+{include file="global.tpl"}
+<br /><br />
+{include file="define.tpl"}
+<br />
+{include file="function.tpl"}
+
+{include file="footer.tpl"}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl
new file mode 100755
index 00000000..0dabfdb7
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl
@@ -0,0 +1,5 @@
+{include file="header.tpl"}
+<a name="top"></a>
+<h1>Element index for package {$package}</h1>
+{include file="basicindex.tpl" indexname=elementindex_$package}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl
new file mode 100755
index 00000000..eff734c1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl"}
+<h1 align="center">{$name}</h1>
+<pre>
+{$contents|htmlentities}
+</pre>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl
new file mode 100755
index 00000000..f929ccdb
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl
@@ -0,0 +1,14 @@
+{include file="header.tpl" title="Todo List"}
+<div align="center"><h1>Todo List</h1></div>
+{foreach from=$todos key=todopackage item=todo}
+<h2>{$todopackage}</h2>
+{section name=todo loop=$todo}
+<h3>{$todo[todo].link}</h3>
+<ul>
+{section name=t loop=$todo[todo].todos}
+ <li>{$todo[todo].todos[t]}</li>
+{/section}
+</ul>
+{/section}
+{/foreach}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl
new file mode 100755
index 00000000..a943522c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl
@@ -0,0 +1,32 @@
+{include file="header.tpl" title=$title}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="10%" align="left" valign="bottom">{if $prev}<a href=
+"{$prev}">{/if}Prev{if $prev}</a>{/if}</td>
+<td width="80%" align="center" valign="bottom"></td>
+<td width="10%" align="right" valign="bottom">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+</table>
+{/if}
+{$contents}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if}
+Prev{if $prev}</a>{/if}</td>
+<td width="34%" align="center" valign="top">{if $up}<a href=
+"{$up}">Up</a>{else}&nbsp;{/if}</td>
+<td width="33%" align="right" valign="top">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td>
+<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td>
+<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td>
+</tr>
+</table>
+{/if}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl
new file mode 100755
index 00000000..3d22d403
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl
@@ -0,0 +1,29 @@
+{if count($toc)}
+<h1 align="center">Table of Contents</h1>
+<ul>
+{section name=toc loop=$toc}
+{if $toc[toc].tagname == 'refsect1'}
+{assign var="context" value="refsect1"}
+{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect2'}
+{assign var="context" value="refsect2"}
+&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect3'}
+{assign var="context" value="refsect3"}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'table'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{if $toc[toc].tagname == 'example'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{/section}
+</ul>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl
new file mode 100755
index 00000000..dd2e5811
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl
@@ -0,0 +1,5 @@
+<ul>
+ <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a>
+{if $kids}{$kids}</li>{/if}
+</ul>
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl
new file mode 100755
index 00000000..e36c61fd
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl
@@ -0,0 +1,60 @@
+{section name=vars loop=$vars}
+{if $vars[vars].static}
+{if $show == 'summary'}
+ static var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
+{else}
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>static {$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
+
+ <br />
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Type:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_type}</td>
+ </tr>
+ {if $vars[vars].var_overrides != ""}
+ <tr>
+ <td><b>Overrides:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_overrides}</td>
+ </tr>
+ {/if}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/if}
+{/section}
+{section name=vars loop=$vars}
+{if !$vars[vars].static}
+{if $show == 'summary'}
+ var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
+{else}
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>{$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
+
+ <br />
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Type:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_type}</td>
+ </tr>
+ {if $vars[vars].var_overrides != ""}
+ <tr>
+ <td><b>Overrides:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_overrides}</td>
+ </tr>
+ {/if}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini
new file mode 100644
index 00000000..4566db60
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini
@@ -0,0 +1,577 @@
+preservedocbooktags = false
+
+;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
+[highlightSourceTokens]
+;; format:
+;; T_CONSTANTNAME = open
+;; /T_CONSTANTNAME = close
+
+T_INCLUDE = <span class="src-inc">
+/T_INCLUDE = </span>
+T_INCLUDE_ONCE = <span class="src-inc">
+/T_INCLUDE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+
+T_CONSTANT_ENCAPSED_STRING = <span class="src-str">
+/T_CONSTANT_ENCAPSED_STRING = </span>
+T_STRING_VARNAME = <span class="src-str">
+/T_STRING_VARNAME = </span>
+
+T_STRING = <span class="src-id">
+/T_STRING = </span>
+
+T_DNUMBER = <span class="src-num">
+/T_DNUMBER = </span>
+T_LNUMBER = <span class="src-num">
+/T_LNUMBER = </span>
+
+T_VARIABLE = <span class="src-var">
+/T_VARIABLE = </span>
+
+T_COMMENT = <span class="src-comm">
+/T_COMMENT = </span>
+T_ML_COMMENT = <span class="src-comm">
+/T_ML_COMMENT = </span>
+
+T_OBJECT_OPERATOR = <span class="src-sym">
+/T_OBJECT_OPERATOR = </span>
+
+T_ABSTRACT = <span class="src-key">
+/T_ABSTRACT = </span>
+T_CLONE = <span class="src-key">
+/T_CLONE = </span>
+T_HALT_COMPILER = <span class="src-key">
+/T_HALT_COMPILER = </span>
+T_ARRAY = <span class="src-key">
+/T_ARRAY = </span>
+T_AS = <span class="src-key">
+/T_AS = </span>
+T_BREAK = <span class="src-key">
+/T_BREAK = </span>
+T_CLASS = <span class="src-key">
+/T_CLASS = </span>
+T_CASE = <span class="src-key">
+/T_CASE = </span>
+T_CONST = <span class="src-key">
+/T_CONST = </span>
+T_CONTINUE = <span class="src-key">
+/T_CONTINUE = </span>
+T_DECLARE = <span class="src-key">
+/T_DECLARE = </span>
+T_DEFAULT = <span class="src-key">
+/T_DEFAULT = </span>
+T_ELSE = <span class="src-key">
+/T_ELSE = </span>
+T_ELSEIF = <span class="src-key">
+/T_ELSEIF = </span>
+T_EMPTY = <span class="src-key">
+/T_EMPTY = </span>
+T_ENDDECLARE = <span class="src-key">
+/T_ENDDECLARE = </span>
+T_ENDFOR = <span class="src-key">
+/T_ENDFOR = </span>
+T_ENDSWITCH = <span class="src-key">
+/T_ENDSWITCH = </span>
+T_ENDFOREACH = <span class="src-key">
+/T_ENDFOREACH = </span>
+T_ENDIF = <span class="src-key">
+/T_ENDIF = </span>
+T_ENDWHILE = <span class="src-key">
+/T_ENDWHILE = </span>
+T_EXIT = <span class="src-key">
+/T_EXIT = </span>
+T_EXTENDS = <span class="src-key">
+/T_EXTENDS = </span>
+T_FINAL = <span class="src-key">
+/T_FINAL = </span>
+T_FOR = <span class="src-key">
+/T_FOR = </span>
+T_FOREACH = <span class="src-key">
+/T_FOREACH = </span>
+T_FUNCTION = <span class="src-key">
+/T_FUNCTION = </span>
+T_GLOBAL = <span class="src-key">
+/T_GLOBAL = </span>
+T_IF = <span class="src-key">
+/T_IF = </span>
+T_IMPLEMENTS = <span class="src-key">
+/T_IMPLEMENTS = </span>
+T_INTERFACE = <span class="src-key">
+/T_INTERFACE = </span>
+T_LOGICAL_AND = <span class="src-key">
+/T_LOGICAL_AND = </span>
+T_LOGICAL_OR = <span class="src-key">
+/T_LOGICAL_OR = </span>
+T_LOGICAL_XOR = <span class="src-key">
+/T_LOGICAL_XOR = </span>
+T_NEW = <span class="src-key">
+/T_NEW = </span>
+T_PRIVATE = <span class="src-key">
+/T_PRIVATE = </span>
+T_PROTECTED = <span class="src-key">
+/T_PROTECTED = </span>
+T_PUBLIC = <span class="src-key">
+/T_PUBLIC = </span>
+T_RETURN = <span class="src-key">
+/T_RETURN = </span>
+T_STATIC = <span class="src-key">
+/T_STATIC = </span>
+T_SWITCH = <span class="src-key">
+/T_SWITCH = </span>
+T_VAR = <span class="src-key">
+/T_VAR = </span>
+T_WHILE = <span class="src-key">
+/T_WHILE = </span>
+
+T_DOUBLE_COLON = <span class="src-sym">
+/T_DOUBLE_COLON = </span>
+
+T_OPEN_TAG = <span class="src-php">
+/T_OPEN_TAG = </span>
+T_OPEN_TAG_WITH_ECHO = <span class="src-php">
+/T_OPEN_TAG_WITH_ECHO = </span>
+T_CLOSE_TAG = <span class="src-php">
+/T_CLOSE_TAG = </span>
+
+
+[highlightSource]
+;; this is for highlighting things that aren't tokens like "&"
+;; format:
+;; word = open
+;; /word = close
+@ = <span class="src-sym">
+/@ = </span>
+& = <span class="src-sym">
+/& = </span>
+[ = <span class="src-sym">
+/[ = </span>
+] = <span class="src-sym">
+/] = </span>
+! = <span class="src-sym">
+/! = </span>
+";" = <span class="src-sym">
+/; = </span>
+( = <span class="src-sym">
+/( = </span>
+) = <span class="src-sym">
+/) = </span>
+, = <span class="src-sym">
+/, = </span>
+{ = <span class="src-sym">
+/{ = </span>
+} = <span class="src-sym">
+/} = </span>
+""" = <span class="src-str">
+/" = </span>
+
+[highlightDocBlockSourceTokens]
+;; this is for docblock tokens, using by phpDocumentor_HighlightParser
+;; tagphptype is for "string" in @param string description, for example
+docblock = <span class="src-doc">
+/docblock = </span>
+tagphptype = <span class="src-doc-type">
+/tagphptype = </span>
+tagvarname = <span class="src-doc-var">
+/tagvarname = </span>
+coretag = <span class="src-doc-coretag">
+/coretag = </span>
+tag = <span class="src-doc-tag">
+/tag = </span>
+inlinetag = <span class="src-doc-inlinetag">
+/inlinetag = </span>
+internal = <span class="src-doc-internal">
+/internal = </span>
+closetemplate = <span class="src-doc-close-template">
+/closetemplate = </span>
+docblocktemplate = <span class="src-doc-template">
+/docblocktemplate = </span>
+
+[highlightTutorialSourceTokens]
+;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser
+;; <tag>
+opentag = <span class="tute-tag">
+/opentag = </span>
+;; </tag>
+closetag = <span class="tute-tag">
+/closetag = </span>
+;; <tag attribute="value">
+attribute = <span class="tute-attribute-name">
+/attribute = </span>
+;; <tag attribute="value">
+attributevalue = <span class="tute-attribute-value">
+/attributevalue = </span>
+;; &entity;
+entity = <span class="tute-entity">
+/entity = </span>
+;; <!-- comment -->
+comment = <span class="tute-comment">
+/comment = </span>
+;; {@inline tag}
+itag = <span class="tute-inline-tag">
+/itag = </span>
+
+;; used for translation of html in DocBlocks
+[desctranslate]
+ul = <ul>
+/ul = </ul>
+ol = <ol>
+/ol = </ol>
+li = <li>
+/li = </li>
+code = <div class="listing"><pre>
+/code = </pre></div>
+var = <var>
+/var = </var>
+samp = <samp>
+/samp = </samp>
+kbd = <kbd>
+/kbd = </kbd>
+pre = <pre>
+/pre = </pre>
+p = <p>
+/p = </p>
+b = <strong>
+/b = </strong>
+i = <em>
+/i = </em>
+br = <br />
+
+[ppage]
+;; this is the DocBook package page translation section. All DocBook tags
+;; that have a corresponding html tag must be listed here. Entities should
+;; also be listed here
+;;
+;; examples:
+;; 1)
+;; tagname = newtagname
+;;
+;; This is the simplest case, where all attributes will be added into the
+;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
+;; <tagname></tagname> becomes <newtagname></newtagname> and
+;; <tagname attr="value"></tagname> becomes
+;; <newtagname attr="value"></newtagname>
+;;
+;; 2)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;;
+;; in this case, everything will be like the first case, except tags like:
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="value"></newtagname>
+;;
+;; 3)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;; tagname->attr+value = newvalue
+;;
+;; in this case, the value is also translated to another. This can be useful
+;; for instances such as focus="middle" changing to align="center" or something
+;; of that nature.
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 4)
+;; tagname = newtagname
+;; tagname->attr1 = newattrname
+;; tagname->attr2 = newattrname
+;; tagname->attr1+value|attr2+value = newvalue
+;;
+;; in this case, two attributes combine to make one new attribute, and the combined
+;; value is translated into a new value
+;; <tagname attr1="value1" attr2="value2"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 5)
+;; tagname = newtagname
+;; tagname!attr = dummy
+;;
+;; here, the attribute will be ignored. dummy is not used and may be any value
+;; <tagname attr="value"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 6)
+;; tagname = newtagname
+;; tagname! = dummy
+;;
+;; here, all attributes will be ignored. dummy is not used and may be any value
+;; <tagname attr1="value" attr2="foo"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 7)
+;; tagname = newtagname
+;; tagname/ = 1
+;;
+;; here, the tag will be translated as a single tag with no closing tag, and all
+;; attributes
+;; <tagname attr="val">{text text}</tagname> will become
+;; <newtagname attr="val" />
+;;
+;; 8)
+;; tagname = <starttaginfo />
+;; /tagname = closetagtext
+;;
+;; in this case, the text <starttaginfo> will be inserted exactly as entered for
+;; <tagname> and closetagtext for </tagname>
+;; <tagname attr="val"></tagname> will become
+;; <starttaginfo />closetagtext
+;;
+;; 9)
+;; $attr$my_attribute = newattrname
+;;
+;; tagname = newtagname
+;;
+;; in this case, all occurences of my_attribute in any tag will be changed to
+;; newattrname. This is useful for changing things like role="php" to
+;; class="php," for example. Note that the text "$attr$" MUST be on the line
+;; start for phpDocumentor to recognize it.
+;;
+;; 10)
+;; &entity; = translation text
+;; &quot; = &quot;
+;; &quot; = """
+;; &lt; = <
+;;
+;; Use this to control translation of entities to their appropriate values
+
+&nbsp; = &nbsp;
+&quot; = &quot;
+&rdquo; = &rdquo;
+&ldquo; = &ldquo;
+&amp; = &amp;
+&lt; = &lt;
+&gt; = &gt;
+&copy; = &copy;
+
+$attr$role = class
+
+abbrev = abbr
+
+blockquote = blockquote
+
+arg = span
+arg->choice = class
+
+author = <span class="author">
+/author = </span>
+author! = 0
+
+authorblurb = <div class="author-blurb">
+/authorblurb = </div>
+
+authorgroup = <div class="authors"><h2 class="title">Authors</h2>
+/authorgroup = </div>
+authorgroup! = 0
+
+caution = <span class="warning">
+/caution = </span>
+caution! = 0
+
+cmdsynopsis = <div class="cmd-synopsis">
+/cmdsynopsis = </div>
+
+command = <span class="cmd-title">
+/command = </span>
+
+copyright = <div class="notes">
+/copyright = </div>
+
+emphasis = strong
+
+example = <pre class="example">
+/example = </pre>
+example! = 0
+
+function =
+/function = ()
+
+formalpara = p
+
+graphic = img
+graphic->fileref = src
+graphic/ =
+
+important = strong
+
+informalequation = blockquote
+
+informalexample = div
+
+inlineequation = em
+
+itemizedlist = ul
+
+listitem = li
+
+literal = code
+
+literallayout = span
+
+option = " "
+/option =
+
+orderedlist = ol
+
+para = p
+
+programlisting = <pre class="listing">
+/programlisting = </pre>
+programlisting! = 0
+
+refentry = div
+
+refnamediv = <div class="ref-title-box">
+/refnamediv = </div>
+refnamediv! = 0
+
+refname = <h1 class="ref-title">
+/refname = </h1>
+
+refpurpose = <h2 class="ref-purpose">
+/refpurpose = </h2>
+
+refsynopsisdiv = <div class="ref-synopsis">
+/refsynopsisdiv = </div>
+refsynopsisdiv! = 0
+
+refsect1 = span
+
+refsect2 =
+/refsect2 = <hr />
+
+refsect3 =
+/refsect3 = <br />
+
+releaseinfo = <div class="release-info">(
+/releaseinfo = )</div>
+
+simpara =
+/simpara = <br />
+simpara! = 0
+
+subscript = sub
+
+superscript = super
+
+table = table
+
+table->colsep = rules
+table->rowsep = rules
+table->colsep+1|rowsep+1 = all
+table->colsep+1|rowsep+0 = cols
+table->colsep+0|rowsep+1 = rows
+
+table->frame = frame
+table->frame+all = border
+table->frame+none = void
+table->frame+sides = vsides
+table->frame+top = above
+table->frame+topbot = hsides
+
+thead = thead
+
+tfoot = tfoot
+
+tbody = tbody
+
+colspec = col
+
+tgroup = colgroup
+tgroup/ = 1
+tgroup->cols = span
+
+row = tr
+
+entry = td
+entry->morerows = colspan
+entry->morerows+1 = 2
+entry->morerows+2 = 3
+entry->morerows+3 = 4
+entry->morerows+4 = 5
+entry->morerows+5 = 6
+entry->morerows+6 = 7
+entry->morerows+7 = 8
+entry->morerows+8 = 9
+entry->morerows+9 = 10
+entry->morerows+10 = 11
+;; add more if you need more colspans
+
+warning = <span class="warning">
+/warning = </span>
+warning! = 0
+
+;; now begins the attributes that should be tags in cdata
+[$attr$id]
+open = a
+;close = /a
+cdata! = true
+quotevalues = true
+separator = "="
+;separateall = true
+$id = name
+
+;; now begins the sections that deal with <title>
+[refsynopsisdiv_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h1 class="title">
+close = </h1>
+
+[refsect1_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h2 class="title">
+close = </h2>
+
+[refsect2_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h3 class="title">
+close = </h3>
+
+[refsect3_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h4 class="title">
+close = </h4>
+
+[para_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[formalpara_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[example_title]
+;tag_attr = true
+;attr_name = title
+;cdata_start = true
+cdata_end = true
+open = </td></tr><tr><td><strong>
+close = </strong>
+
+[table_title]
+;tag_attr = true
+;attr_name = true
+cdata_start = true
+open = <caption>
+close = </caption>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl
new file mode 100644
index 00000000..221830c4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl
@@ -0,0 +1,13 @@
+<div class="tag-list">
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword != "abstract" &&
+ $tags[tag].keyword != "access" &&
+ $tags[tag].keyword != "static" &&
+ $tags[tag].keyword != "version"
+ }
+
+ <strong>{$tags[tag].keyword|capitalize}:</strong>
+ {$tags[tag].data}<br />
+ {/if}
+ {/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl
new file mode 100644
index 00000000..d7fe2f82
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl
@@ -0,0 +1,38 @@
+<hr size="1" noshade="noshade"/>
+<div class="class-declaration">
+ {if count($tags) > 0}
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword == "abstract"}
+ abstract
+ {/if}
+ {/section}
+ {/if}
+
+ {if $is_interface}
+ interface
+ {else}
+ class
+ {/if}
+
+ <strong>{$class_name}</strong>
+
+ {if count($class_tree) > 1}
+ {section name=tree loop=$class_tree.classes}
+ {if $smarty.section.tree.last}
+ extends {$class_tree.classes[$smarty.section.tree.index_prev]}
+ {/if}
+ {/section}
+ {/if}
+
+ {if $implements}
+ <br/>
+ implements
+ {foreach item="interface" from=$implements}
+ {if !$smarty.foreach.interface.first}
+ , {$interface}
+ {else}
+ {$interface}
+ {/if}
+ {/foreach}
+ {/if}
+</div> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl
new file mode 100644
index 00000000..12025c1c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl
@@ -0,0 +1,7 @@
+<div class="class-description">
+ <p>{$sdesc}</p>
+
+ {if $desc != ""}{$desc}{/if}
+</div>
+
+{include file="_tags.tpl" tags=$tags}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl
new file mode 100644
index 00000000..d6a1d398
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl
@@ -0,0 +1 @@
+{eval var=$compiledclassindex} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl
new file mode 100644
index 00000000..bca71e17
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl
@@ -0,0 +1,33 @@
+{if $consts}
+ <hr size="1" noshade="noshade"/>
+ <a name="constant-details"></a>
+ <table class="constant-details" cellspacing="1">
+ <tr>
+ <th>Constant Details</th>
+ </tr>
+ {section name=const loop=$consts}
+ <tr>
+ <td>
+ <a name="{$consts[const].const_dest}"></a>
+
+ <h3>{$consts[const].const_name}</h3>
+
+ <p>{$consts[const].sdesc}</p>
+
+ {if $consts[const].desc}
+ {$consts[const].desc}
+ {/if}
+
+ <div class="tag-list">
+ <h4 class="tag">Type:</h4>
+ <div class="tag-data">{include file="_get_constant_type.tpl" const=$consts[const].const_value}</div>
+ <h4 class="tag">Value:</h4>
+ <div class="tag-data">{$consts[const].const_value}</div>
+ </div>
+ {include file="_tags.tpl" tags=$consts[const].tags}
+ <p/>
+ </td>
+ </tr>
+ {/section}
+ </table>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl
new file mode 100644
index 00000000..8049c4b0
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl
@@ -0,0 +1,22 @@
+{if $consts || $iconsts}
+ <hr size="1" noshade="noshade"/>
+ <a name="constant-summary"></a>
+ <table class="constant-summary" cellspacing="1">
+ <tr>
+ <th colspan="3">Constant Summary</th>
+ </tr>
+ {section name=const loop=$consts}
+ <tr>
+ <td class="type" nowrap="nowrap">{strip}{include file="_get_constant_type.tpl" const=$consts[const].const_value}{/strip}</td>
+ <td class="name"><a href="{$consts[const].id}">{$consts[const].const_name}</a></td>
+ <td class="description" width="100%">
+ {$consts[const].sdesc}
+
+ {if $consts[const].desc}
+ {$consts[const].desc}
+ {/if}
+ </td>
+ </tr>
+ {/section}
+ </table>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl
new file mode 100644
index 00000000..ec4fd0a2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl
@@ -0,0 +1,55 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__construct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="sec-method"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th colspan="3">Constructor Details</th>
+ </tr>
+ <tr>
+ <td class="method-data">
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == "1"}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == "1"}
+ static&nbsp;
+ {/if}
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td nowrap="nowrap">{strip}
+ {$methods[method].ifunction_call.params}
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+
+ {include file="_tags.tpl" tags=$methods[method].tags}
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl
new file mode 100644
index 00000000..8819f63e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl
@@ -0,0 +1,25 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__construct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="constructor-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Constructor Summary</th>
+ </tr>
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">{$methods[method].access}</td>
+ <td>
+ <div class="declaration">
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ {$methods[method].ifunction_call.params}
+ </div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl
new file mode 100644
index 00000000..3cb5534a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl
@@ -0,0 +1,55 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__destruct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="sec-method"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th colspan="3">Destructor Details</th>
+ </tr>
+ <tr>
+ <td class="method-data">
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == "1"}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == "1"}
+ static&nbsp;
+ {/if}
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td nowrap="nowrap">{strip}
+ {build_argument_list args=$methods[method].ifunction_call.params style="vertical"}
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+
+ {include file="_tags.tpl" tags=$methods[method].tags}
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl
new file mode 100644
index 00000000..53e8f1d2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl
@@ -0,0 +1,27 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__destruct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="desructor-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Destructor Summary</th>
+ </tr>
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">{strip}
+ {$methods[method].access}
+ {/strip}</td>
+ <td>
+ <div class="declaration">{strip}
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ {$methods[method].ifunction_call.params}
+ {/strip}</div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl
new file mode 100644
index 00000000..0c2eddc2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl
@@ -0,0 +1 @@
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl
new file mode 100644
index 00000000..48301da4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl
@@ -0,0 +1,10 @@
+{if is_numeric(strtolower(trim($const)))}
+ int
+{elseif strtolower(trim($const)) == "true" ||
+ strtolower(trim($const)) == "false"}
+ bool
+{elseif strtolower(trim($const)) == "null"}
+ null
+{else}
+ string
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl
new file mode 100644
index 00000000..f92571a4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl
@@ -0,0 +1,4 @@
+<div id="bar" nowrap="nowrap">
+ {include file="_class_list.tpl"}
+</div>
+<div id="content1">
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl
new file mode 100644
index 00000000..66c37633
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl
@@ -0,0 +1,34 @@
+{if $iconsts}
+ {section name=iconst loop=$iconsts}
+ <table class="inherited-constants" cellspacing="1">
+ <tr>
+ <th>Constants Inherited From {$iconsts[iconst].parent_class}</th>
+ </tr>
+ <tr>
+ <td>
+ {assign var="_consts" value=""}
+
+ {section name=_const loop=$iconsts[iconst].iconsts}
+ {if $_consts != ""},
+ {* append var="_consts" value=", "*}
+ {/if}
+ <a href="{$href}">{$iconsts[iconst].iconsts[_const].name}</a>{if !$smarty.section.name.last},{/if}
+ {*
+ {extract_attribute attribute="href"
+ element=$iconsts[iconst].iconsts[_const].link
+ var="href" append="no"}
+
+ {append var="_consts" value="<a href=\""}
+ {append var="_consts" value=$href}
+ {append var="_consts" value="\">"}
+ {append var="_consts" value=$iconsts[iconst].iconsts[_const].name}
+ {append var="_consts" value="</a>"}
+ *}
+{/section}
+
+ {*$_consts*}
+ </td>
+ </tr>
+ </table>
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl
new file mode 100644
index 00000000..55aafb17
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl
@@ -0,0 +1,42 @@
+{if $imethods}
+ {section name=imethod loop=$imethods}
+ {if count($imethods[imethod].imethods) > 1 ||
+ ($imethods[imethod].imethods[0].name != "__construct" &&
+ $imethods[imethod].imethods[0].name != "__destruct" &&
+ $imethods[imethod].imethods[0].abstract != "1")}
+ <table class="inherited-methods" cellspacing="1">
+ <tr>
+ <th>Methods Inherited From {$imethods[imethod].parent_class}</th>
+ </tr>
+ <tr>
+ <td>
+ {* assign var="_methods" value="" *}
+
+ {section name=_method loop=$imethods[imethod].imethods}
+ {if $imethods[imethod].imethods[_method].name != "__construct" &&
+ $imethods[imethod].imethods[_method].abstract != "1"}
+ {*
+ {if $_methods != ""}
+ {append var="_methods" value=", "}
+ {/if}
+
+ {extract_attribute attribute="href"
+ element=$imethods[imethod].imethods[_method].link
+ var="href" append="no"}
+
+ {append var="_methods" value="<a href=\""}
+ {append var="_methods" value=$href}
+ {append var="_methods" value="\">"}
+ {append var="_methods" value=$imethods[imethod].imethods[_method].name}
+ {append var="_methods" value="</a>"}
+ *}
+ {$imethods[imethod].imethods[_method].link}{if !$smarty.section._method.last},{/if}
+ {/if}
+ {/section}
+
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl
new file mode 100644
index 00000000..471c7972
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl
@@ -0,0 +1,3 @@
+<div class="inheritence-tree">
+ <pre>{section name=tree loop=$class_tree.classes}{if $smarty.section.tree.last}<strong>{$class_tree.classes[tree]}</strong>{else}{$class_tree.classes[tree]}{/if}{$class_tree.distance[tree]}{/section}</pre>
+</div> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl
new file mode 100644
index 00000000..b5ddfb10
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl
@@ -0,0 +1,101 @@
+{if $methods && (count($methods) > 1 ||
+ ($methods[0].function_name != "__construct" &&
+ $methods[0].function_name != "__destruct"))}
+
+ <hr size="1" noshade="noshade"/>
+ <a name="method-details"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th>Method Details</th>
+ </tr>
+ {section name=method loop=$methods}
+ {if $methods[method].function_name != "__construct" &&
+ $methods[method].function_name != "__destruct"}
+
+ <tr>
+ <td class="method-data">
+
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == 1}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == 1}
+ static&nbsp;
+ {/if}
+
+ {$methods[method].function_return}&nbsp;
+
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td width="100%">{strip}
+ (
+ {if $methods[method].ifunction_call.params}
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ {$param.type} {$param.name} {if !$smarty.foreach.method.last}, {/if}
+ {/foreach}
+
+ {/if}
+ )
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+ {* $methods[method]|print_r *}
+ <div class="tag-list"><table class="method-summary" cellspacing="1">
+ {if $methods[method].ifunction_call.params}
+ <tr><th colspan="3" class="small">Input</th></tr>
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ <tr><td valign="top">{$param.type}</td><td valign="top"><strong>{$param.name}</strong><td valign="top">{$param.description}</td></tr>
+ {/foreach}
+ {/if}
+ {if $methods[method].tags}
+ <tr><th colspan="3" class="small">Output</th></tr>
+
+ {foreach item=param name="method" from=$methods[method].tags}
+ {if $param.keyword == "return"}
+ <tr><td valign="top">
+ {$methods[method].function_return}
+ </td><td valign="top" colspan="2">{$param.data}</td></tr>
+ {/if}
+ {/foreach}
+ {/if}
+ {if $methods[method].tags}
+ <tr><th colspan="3" class="small">Exception</th></tr>
+
+ {foreach item=param name="method" from=$methods[method].tags}
+ {if $param.keyword == "throws"}
+ <tr><td valign="top">{$param.keyword}</td><td valign="top" colspan="2">{$param.data}</td></tr>
+ {/if}
+ {/foreach}
+ {/if}
+ </table></div>
+
+ {* include file="_tags.tpl" tags=$methods[method].tags *}
+ <p/>
+ </td>
+ </tr>
+ {/if}
+ {/section}
+ </table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl
new file mode 100644
index 00000000..8fefd671
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl
@@ -0,0 +1,61 @@
+{if $methods || $imethods}
+ <hr size="1" noshade="noshade"/>
+ <a name="method-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Method Summary</th>
+ </tr>
+ {section name=method loop=$methods}
+ {if $methods[method].function_name != "__construct" &&
+ $methods[method].function_name != "__destruct"}
+ {*
+ {if trim(substr($methods[method].function_call, 0, 1)) == "&"}
+ {assign var="ref" value="true"}
+ {assign var="css" value=" class=\"reference\""}
+ {else}
+ {assign var="ref" value="false"}
+ {assign var="css" value=""}
+ {/if}
+ *}
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == 1}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == 1}
+ static&nbsp;
+ {/if}
+
+ {$methods[method].function_return}
+{*
+ {if $ref == "true"}
+ &nbsp;&amp;
+ {/if}
+*}
+ </td>
+ <td>
+ <div class="declaration">
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ ({strip}
+ {if $methods[method].ifunction_call.params}
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ {$param.type} {$param.name}{if !$smarty.foreach.method.last}, {/if}
+ {/foreach}
+
+ {/if}
+ {/strip})
+ </div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ {/if}
+ {/section}
+ </table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl
new file mode 100644
index 00000000..e605b314
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl
@@ -0,0 +1,19 @@
+{if $children}
+ <div class="sub-classes">
+ {if $is_interface}
+ <h4>Direct Known Sub-interfaces:</h4>
+ {else}
+ <h4>Direct Known Sub-classes:</h4>
+ {/if}
+
+ <div><small>
+ {section name=child loop=$children}
+ {if !$smarty.section.child.first}
+ , {$children[child].link}
+ {else}
+ {$children[child].link}
+ {/if}
+ {/section}
+ </small></div>
+ </div>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl
new file mode 100644
index 00000000..221830c4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl
@@ -0,0 +1,13 @@
+<div class="tag-list">
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword != "abstract" &&
+ $tags[tag].keyword != "access" &&
+ $tags[tag].keyword != "static" &&
+ $tags[tag].keyword != "version"
+ }
+
+ <strong>{$tags[tag].keyword|capitalize}:</strong>
+ {$tags[tag].data}<br />
+ {/if}
+ {/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl
new file mode 100644
index 00000000..37e94343
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl
@@ -0,0 +1,18 @@
+{section name=letter loop=$letters}
+ [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ]
+{/section}
+
+{section name=index loop=$index}
+ <hr />
+ <a name="{$index[index].letter}"></a>
+ <div>
+ <h2>{$index[index].letter}</h2>
+ <dl>
+ {section name=contents loop=$index[index].index}
+ <dt><b>{$index[index].index[contents].name}</b></dt>
+ <dd>{$index[index].index[contents].listing}</dd>
+ {/section}
+ </dl>
+ </div>
+ <a href="{$indexname}.html#top">top</a><br>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl
new file mode 100644
index 00000000..b503c142
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl
@@ -0,0 +1,5 @@
+<div align="center"><h1>{$maintitle}</h1></div>
+<b>Welcome to {$package}!</b><br />
+<br />
+This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br />
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl
new file mode 100644
index 00000000..e791bbba
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl
@@ -0,0 +1,29 @@
+{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
+
+<h1>{if $is_interface}Interface{else}Class{/if} {$class_name}</h1>
+
+{*inheritence tree*}
+<div class="inheritence-tree">
+ <pre>{section name=tree loop=$class_tree.classes}{if $smarty.section.tree.last}<strong>{$class_tree.classes[tree]}</strong>{else}{$class_tree.classes[tree]}{/if}{$class_tree.distance[tree]}{/section}</pre>
+</div>
+
+{include file="_sub_classes.tpl"}
+{include file="_class_description.tpl"}
+{include file="_inherited_constants.tpl"}
+
+{include file="_constructor_summary.tpl"}
+{* include file="_destructor_summary.tpl" *}
+
+{include file="_method_summary.tpl"}
+
+{include file="_inherited_methods.tpl"}
+{include file="_constant_summary.tpl"}
+{include file="_constructor_details.tpl"}
+
+{* include file="_destructor_details.tpl" *}
+
+{include file="_method_details.tpl"}
+
+{include file="_constant_details.tpl"}
+
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl
new file mode 100644
index 00000000..c07fc33a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl
@@ -0,0 +1,9 @@
+{foreach key=subpackage item=files from=$classleftindex}
+ <div class="package">
+ {if $subpackage != ""}{$subpackage}<br />{/if}
+ {section name=files loop=$files}
+ {if $subpackage != ""}&nbsp;&nbsp;{/if}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}<br />
+ {/section}
+ </div>
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl
new file mode 100644
index 00000000..4020e3a8
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl
@@ -0,0 +1,8 @@
+{include file="header.tpl" noleftindex=true}
+<h1>{$title}</h1>
+{section name=classtrees loop=$classtrees}
+<hr />
+<div class="classtree">Root class {$classtrees[classtrees].class}</div><br>
+{$classtrees[classtrees].class_tree}
+{/section}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl
new file mode 100644
index 00000000..88856c4b
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl
@@ -0,0 +1,14 @@
+{section name=consts loop=$consts}
+{if $show == 'summary'}
+ var {$consts[consts].const_name}, {$consts[consts].sdesc}<br>
+{else}
+ <a name="{$consts[consts].const_dest}"></a>
+ <p></p>
+ <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}
+
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl
new file mode 100644
index 00000000..04ce5b48
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl
@@ -0,0 +1,32 @@
+{if count($defines) > 0}
+{section name=def loop=$defines}
+{if $show == 'summary'}
+define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br>
+{else}
+ <hr />
+ <a name="{$defines[def].define_link}"></a>
+ <h3>{$defines[def].define_name} <span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span></h3>
+ <div class="tags">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$defines[def].define_name} = {$defines[def].define_value}</code>
+ </td></tr></table>
+ </td></tr></table>
+
+ {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
+ <br />
+ {if $defines[def].define_conflicts.conflict_type}
+ <p><b>Conflicts with defines:</b>
+ {section name=me loop=$defines[def].define_conflicts.conflicts}
+ {$defines[def].define_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $defines[def].define_conflicts != ""
+ <b>Conflicts:</b> {$defines[def].define_conflicts<br /><br />
+ {/if *}
+ </div>
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl
new file mode 100644
index 00000000..09a603f8
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl
@@ -0,0 +1,15 @@
+{if $sdesc != ''}{$sdesc|default:''}<br /><br />{/if}
+{if $desc != ''}{$desc|default:''}<br />{/if}
+{if count($tags) > 0}
+<br /><br />
+<h4>Tags:</h4>
+<div class="tags">
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$tags}
+ <tr>
+ <td><b>{$tags[tag].keyword}:</b>&nbsp;&nbsp;</td><td>{$tags[tag].data}</td>
+ </tr>
+{/section}
+</table>
+</div>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl
new file mode 100644
index 00000000..175a5136
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl
@@ -0,0 +1,5 @@
+{include file="header.tpl" noleftindex=true}
+<a name="top"></a>
+<h1>Index of all elements</h1>
+{include file="basicindex.tpl" indexname="elementindex"}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl
new file mode 100644
index 00000000..1576a822
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl
@@ -0,0 +1,21 @@
+{include file="header.tpl" noleftindex=true}
+{section name=files loop=$files}
+<a href="#{$files[files].file}">{$files[files].file}</a><br>
+{/section}
+{foreach key=file item=issues from=$all}
+<a name="{$file}"></a>
+<h1>{$file}</h1>
+{if count($issues.warnings)}
+<h2>Warnings:</h2><br>
+{section name=warnings loop=$issues.warnings}
+<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
+{/section}
+{/if}
+{if count($issues.errors)}
+<h2>Errors:</h2><br>
+{section name=errors loop=$issues.errors}
+<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
+{/section}
+{/if}
+{/foreach}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl
new file mode 100644
index 00000000..fb85654b
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl" title=$title}
+<h1 align="center">{$title}</h1>
+<div class="php">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl
new file mode 100644
index 00000000..50f108d7
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl
@@ -0,0 +1,10 @@
+{foreach key=subpackage item=files from=$fileleftindex}
+ {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if}
+ <div class="package">
+ {section name=files loop=$files}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}
+ {$files[files].title}
+ {if $files[files].link != ''}</a>{/if}<br>
+ {/section}
+ </div><br />
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl
new file mode 100644
index 00000000..b23076a0
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl
@@ -0,0 +1,8 @@
+{capture name="tutle"}File Source for {$name}{/capture}
+{include file="header.tpl" title=$smarty.capture.tutle}
+<h1 align="center">Source for file {$name}</h1>
+<p>Documentation is available at {$docs}</p>
+<div class="php">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl
new file mode 100644
index 00000000..68135cd6
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl
@@ -0,0 +1,25 @@
+ <!-- content end --></td></tr></table>
+ </td>
+ </tr>
+</table>
+
+</div><!-- main -->
+
+<div id="footer">
+ <a href="/tos/">Terms of Service</a> |
+ <a href="/support/">Contact Us</a>
+ <br/>
+ Copyright &copy; 2006-2007 by the PRADO Group.<br/>
+ <a title="Powered by PRADO" href="http://www.pradosoft.com/"><img src="http://www.pradosoft.com/images/powered2.gif" style="border-width:0px;" alt="Powered by PRADO" /></a>
+</div>
+
+</div><!-- page -->
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-186303-3";
+urchinTracker();
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl
new file mode 100644
index 00000000..098aeb17
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl
@@ -0,0 +1,48 @@
+{section name=func loop=$functions}
+{if $show == 'summary'}
+function {$functions[func].id}, {$functions[func].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$functions[func].function_dest}"></a>
+ <h3>{$functions[func].function_name} <span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&amp;{/if}{$functions[func].function_name}(
+{if count($functions[func].ifunction_call.params)}
+{section name=params loop=$functions[func].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].default != ''}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].default != ''} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags}
+ <br /><br />
+ {if $functions[func].function_conflicts.conflict_type}
+ <p><b>Conflicts with functions:</b>
+ {section name=me loop=$functions[func].function_conflicts.conflicts}
+ {$functions[func].function_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $functions[func].function_conflicts != ""
+ <b>Conflicts:</b> {$functions[func].function_conflicts<br /><br />
+ {/if *}
+
+ {if count($functions[func].params) > 0}
+ <h4>Parameters</h4>
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$functions[func].params}
+ <tr>
+ <td class="type">{$functions[func].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$functions[func].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$functions[func].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+ </div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl
new file mode 100644
index 00000000..1053f748
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl
@@ -0,0 +1,40 @@
+{if count($globals) > 0}
+{section name=glob loop=$globals}
+{if $show == 'summary'}
+global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br>
+{else}
+ <hr />
+ <a name="{$globals[glob].global_link}"></a>
+ <h4><i>{$globals[glob].global_type}</i> {$globals[glob].global_name} <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span></h4>
+ <div class="tags">
+ {if $globals[glob].sdesc != ""}
+ {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
+ {/if}
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Default value:</b>&nbsp;&nbsp;</td>
+ <td>{$globals[glob].global_value|replace:" ":"&nbsp;"|replace:"\n":"<br />\n"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</td>
+ </tr>
+ {if $globals[glob].global_conflicts.conflict_type}
+ <tr>
+ <td><b>Conflicts with globals:</b>&nbsp;&nbsp;</td>
+ <td>
+ {section name=me loop=$globals[glob].global_conflicts.conflicts}
+ {$globals[glob].global_conflicts.conflicts[me]}<br />
+ {/section}
+ </td>
+ </tr>
+ {/if}
+{* original {if $globals[glob].global_conflicts != ""
+ <tr>
+ <td><b>Conflicts:</b>&nbsp;&nbsp;</td>
+ <td>{$globals[glob].global_conflicts</td>
+ </tr>
+ {/if *}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl
new file mode 100644
index 00000000..659168cf
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+ <head>
+ <title>PRADO API Manual: {$title}</title>
+ <meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT"/>
+ <meta http-equiv="Pragma" content="no-cache"/>
+ <meta http-equiv="Cache-Control" content="no-cache"/>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <meta http-equiv="content-language" content="en"/>
+ <meta name="Keywords" content="PRADO PHP framework component template delphi asp.net event property OOP PHP5 object oriented programming Web programming development" />
+ <meta name="Description" content="PRADO is a component-based and event-driven framework for Web application development in PHP 5." />
+ <meta name="Author" content="Qiang Xue" />
+ <meta name="Subject" content="Web programming, PHP framework" />
+ <meta name="Language" content="en" />
+ <link rel="Shortcut Icon" href="/favicon.ico" />
+ <link rel="stylesheet" type="text/css" href="/css/style.css" />
+ <link rel="stylesheet" type="text/css" href="/css/manual.css" />
+ </head>
+ <body>
+ <div id="page">
+ <div id="header">
+ <div id="logo"><img src="/css/pradoheader.gif" alt="PRADO Component Framework for PHP 5" /></div>
+ <div id="mainmenu">
+ <ul>
+ <li><a href="/">Home</a></li>
+ <li><a href="/about/" >About</a></li>
+ <li><a href="/testimonials/" >Testimonials</a></li>
+ <li><a href="/demos/" >Demos</a></li>
+ <li><a href="/download/" >Download</a></li>
+ <li><a href="/documentation/" class="active">Documentation</a></li>
+ <li><a href="/forum/" >Forum</a></li>
+ <li><a href="http://code.google.com/p/prado3/updates/list">Development</a></li>
+ </ul>
+ </div><!-- mainmenu -->
+ </div><!-- header -->
+ <div id="main">
+ <div id="navbar">
+ <ul>
+ <li><a href="/tutorials/">Tutorials</a></li>
+ <li><a href="/docs/classdoc/">Class Docs</a></li>
+ <li><a href="/docs/manual/" class="active">API Manual</a></li>
+ <li><a href="/wiki/">Wiki</a></li>
+ </ul>
+ </div>
+ <table width="100%" border="0" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="200" id="infobar">
+{if count($ric) >= 1}
+ <div id="ric">
+{section name=ric loop=$ric}
+ <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p>
+{/section}
+ </div>
+{/if}
+ <b>Packages:</b><br />
+{section name=packagelist loop=$packageindex}
+ <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br />
+{/section}
+ <br /><br />
+{if $tutorials}
+ <b>Tutorials/Manuals:</b><br />
+{if $tutorials.pkg}
+ <strong>Package-level:</strong>
+{section name=ext loop=$tutorials.pkg}
+ {$tutorials.pkg[ext]}
+{/section}
+{/if}
+{if $tutorials.cls}
+ <strong>Class-level:</strong>
+{section name=ext loop=$tutorials.cls}
+ {$tutorials.cls[ext]}
+{/section}
+{/if}
+{if $tutorials.proc}
+ <strong>Procedural-level:</strong>
+{section name=ext loop=$tutorials.proc}
+ {$tutorials.proc[ext]}
+{/section}
+{/if}
+{/if}
+{if !$noleftindex}{assign var="noleftindex" value=false}{/if}
+{if !$noleftindex}
+{*
+{if $compiledfileindex}
+ <b>Files:</b><br />
+ {eval var=$compiledfileindex}
+{/if}
+*}
+{if $compiledclassindex}
+ <b>Classes:</b><br />
+ {eval var=$compiledclassindex}
+{/if}
+{/if}
+ </td>
+ <td>
+ <table cellpadding="10" cellspacing="0" width="100%" border="0">
+ <tr>
+ <td valign="top" align="center">
+ <form type="get" action="/docs/manual/search.php">
+ Keyword <input type="text" name="keyword" size="50" />
+ <input type="submit" value="Search" />
+ </form>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top"><!-- content begin -->
+{*
+{if !$hasel}{assign var="hasel" value=false}{/if}
+{if $hasel}
+ <h1>{$eltype|capitalize}: {$class_name}</h1>
+ Source Location: {$source_location}<br /><br />
+{/if}
+*}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl
new file mode 100644
index 00000000..cff067db
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl
@@ -0,0 +1,9 @@
+{if count($includes) > 0}
+<h4>Includes:</h4>
+<div class="tags">
+{section name=includes loop=$includes}
+{$includes[includes].include_name}({$includes[includes].include_value}) [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]<br />
+{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
+{/section}
+</div>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl
new file mode 100644
index 00000000..60c74b47
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl
@@ -0,0 +1,7 @@
+{include file="header.tpl"}
+{if $contents}
+{$contents}
+{else}
+{include file="blank.tpl"}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png
new file mode 100644
index 00000000..d6f36f60
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png
new file mode 100644
index 00000000..19fdf05d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png
new file mode 100644
index 00000000..a9f29bb1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css
new file mode 100644
index 00000000..8aaa937d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css
@@ -0,0 +1,260 @@
+/* thanks to symfony for a great base template for phpdoc */
+/* symfony-project.com */
+
+#page
+{
+ width: 99%;
+}
+
+div.credit
+{
+ font-size: 10px;
+ color: #888;
+}
+
+.inherited-methods
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ margin-top: 10px;
+ width: 100%;
+}
+
+.inherited-methods td
+{
+ background-color: #FFFFFF;
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding: 5px;
+}
+
+.inherited-methods th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-detail
+{
+ font-size: 1.0em;
+}
+
+.method-detail a
+{
+ font-weight: bold;
+}
+
+.method-detail td
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding-top: 10px;
+ vertical-align: top;
+}
+
+.method-details
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.method-details td
+{
+ background-color: #FFFFFF;
+}
+
+.method-details td.method-data
+{
+ padding: 5px;
+}
+
+.method-details h2
+{
+ color: #750000;
+}
+
+.method-details th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-summary
+{
+ background-color: #aaa;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.method-summary td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.method-summary td a
+{
+ font-weight: bold;
+}
+
+.method-summary td.type
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+ text-align: right;
+ vertical-align: top;
+}
+
+.method-summary div.declaration
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+}
+
+.method-summary th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-summary th.small
+{
+ font-size: 1.0em;
+}
+
+.method-summary tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.constant-details
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.constant-details h3
+{
+ color: #750000;
+}
+
+.constant-details td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.constant-details th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.constant-summary
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.constant-summary td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.constant-summary td.name a
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+ font-weight: bold;
+}
+
+.constant-summary td.type
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+}
+
+.constant-summary th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.inherited-constants
+{
+ background-color: #eee;
+ font-size: 1.0em;
+ margin-top: 10px;
+ width: 100%;
+}
+
+.inherited-constants td
+{
+ background-color: #FFFFFF;
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding: 5px;
+}
+
+.inherited-constants th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.class-declaration
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+}
+
+.class-description
+{
+ background-color: #F0F0F0;
+ margin-top: 10px;
+ padding: 1px 8px 1px 8px;
+ margin-bottom: 5px;
+}
+
+.inheritence-tree pre
+{
+ margin-bottom: 0;
+}
+
+.sub-classes h4
+{
+ margin: 10px 0 0 0;
+}
+
+.sub-classes div
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ margin: 5px 0 0 40px;
+}
+
+.sub-classes div small
+{
+ font-size: 1.0em;
+}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css
new file mode 100644
index 00000000..918d43e4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css
@@ -0,0 +1,598 @@
+/**
+ * PradoSoft profile by Carl G. Mathisen and Stefan A. Petrov
+ * http://decart.no
+ */
+
+body
+{
+ text-align: center;
+}
+
+body, div, span, p, input
+{
+ font-family: Verdana, sans-serif, Arial;
+ font-size: 10pt;
+ color: #333333;
+}
+
+h1, h2, h3, h4
+{
+ font-family: Verdana, Helvetica, Arial, Lucida Grande, Trebuchet MS;
+ padding: 0px;
+ margin: 0px;
+ margin-bottom: 10px;
+ color: #821B18;
+ font-weight: normal;
+}
+
+h2
+{
+ font-size: 18px;
+}
+
+h3
+{
+ font-size: 16px;
+}
+
+div
+{
+ text-align: left;
+}
+
+.instructions
+{
+ background-color: #EEEEEE;
+}
+
+img
+{
+ border: none;
+}
+
+a
+{
+ color: #CD2C27;
+ text-decoration: none;
+}
+
+a:hover
+{
+ color: #821B18;
+ text-decoration: underline;
+}
+
+#page
+{
+ margin: 0 auto;
+ padding: 0;
+ position: relative;
+}
+
+#header
+{
+ position: relative;
+ height: 98px;
+}
+
+#logo
+{
+ height: 99px;
+}
+
+/* main page */
+
+div.intro
+{
+ height: 190px;
+ background-image: url('bigmantis.jpg');
+ background-repeat: no-repeat;
+ background-position: top right;
+ background-color: #fff;
+}
+
+div.statements
+{
+ height: 135px;
+ background-image: url('statementsbg.gif');
+ background-repeat: repeat-x;
+ position: relative;
+ border-bottom : 1px solid #EEE;
+}
+
+div.statements div
+{
+ position: absolute;
+ width: 250px;
+ top: 20px;
+}
+
+div.statements div p
+{
+ font-size: 13px;
+ color: #818181;
+}
+
+div.statements div.whatis
+{
+ left: 20px;
+}
+
+div.statements div.whatreq
+{
+ left: 290px;
+}
+
+div.statements div.cani
+{
+ left: 600px;
+ width: 210px;
+}
+
+/* navbar */
+#navbar
+{
+ border-bottom: 2px solid #E9EEEF;
+ height: 30px;
+ margin-bottom: 20px;
+}
+
+#navbar ul
+{
+ margin-left: 0;
+ padding-left: 0;
+ display: inline;
+}
+
+#navbar ul li
+{
+ margin-left: 0px;
+ list-style: none;
+ display: inline;
+}
+
+#navbar ul li a
+{
+ display: block;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding-right: 14px;
+ padding-top: 5px;
+ color: #CD2B26;
+ text-decoration: none;
+ height: 29px;
+}
+
+#navbar ul li a.active, #navbar ul li a.hover
+{
+ color: #821B18;
+}
+
+/* infobar */
+div#infobar
+{
+ float: right;
+ width: 200px;
+ padding-left: 20px;
+ border-left: 2px solid #E9EEEF;
+}
+
+div#infobar div
+{
+ margin-bottom: 20px;
+}
+
+div#infobar div#featured img
+{
+ margin-top: 10px;
+}
+
+/* articles */
+
+div#articles
+{
+ width: 560px;
+ float: left;
+}
+
+/* article */
+
+div.article
+{
+ margin-bottom: 40px;
+}
+
+div.article .date
+{
+ color: #9F9291;
+}
+
+div.article .more
+{
+ margin-right: 10px;
+ display: block;
+ text-align: right;
+}
+
+.logo
+{
+ position: absolute;
+ margin-left: 15px;
+ margin-top: 0px;
+ z-index: 1;
+}
+
+#main
+{
+ padding: 20px;
+ padding-top: 20px;
+ background-color: #fff;
+}
+
+div.mantis
+{
+ height: 190px;
+ background-color: #fff;
+ border-bottom: 1px solid #DCDCDC;
+}
+
+div.releases
+{
+ float: left;
+ width: 240px;
+ height: 190px;
+}
+
+div.releases div.official
+{
+ width: 190px;
+ position: relative;
+ left: 52px;
+ top: 128px;
+ font-size: 8pt;
+ color: #6D6D6D;
+}
+
+div.releases div.official a
+{
+ display: block;
+}
+
+div.whyprado
+{
+ display: block;
+ float: left;
+}
+
+div.whyprado ul.list
+{
+ margin-top: 40px;
+ margin-left: 40px;
+}
+
+div.whyprado ul.list li
+{
+ display: block;
+ margin: 5px;
+ padding: 0px;
+ font-size: 18px;
+ background-repeat: no-repeat;
+ background-position: bottom left;
+ padding-left: 30px;
+ list-style: none;
+}
+
+
+#footer
+{
+ border-top: 1px solid #e9eeef;
+ background-color: #fff;
+ clear: both;
+ color: #A7A7A7;
+ font-size: 8pt;
+ text-align: center;
+ padding-top: 10px;
+ padding-bottom: 30px;
+ background-repeat: repeat-x;
+ background-position: bottom;
+}
+
+#features
+{
+ margin-left: 610px;
+ padding: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #BEDD75;
+ color: #344A1E;
+ font-size: 9pt;
+}
+
+#features ul
+{
+ margin: 10px;
+ padding: 0px;
+}
+
+#features ul li
+{
+ font-size: 8pt;
+ padding: 0px;
+ margin: 0px;
+ margin-top: 8px;
+}
+
+#features h3
+{
+ margin: 0px;
+ padding: 0px;
+ font-size: 10pt;
+ color: #292E1D;
+ text-align: center;
+ border-bottom: 1px solid silver;
+}
+
+#news
+{
+ float: left;
+ width: 590px;
+}
+
+.newstitle
+{
+ font-size: 12pt;
+ font-weight: bold;
+ color: #555;
+ margin-top: 10px;
+ margin-bottom: 0px;
+ border-bottom: 1px solid silver;
+}
+
+.newscontentmore
+{
+ margin-right: 10px;
+ display: block;
+ color: #50811A;
+ text-align: right;
+}
+
+.newscontentmore:hover
+{
+ color: red;
+}
+
+.newstime
+{
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ text-align: right;
+}
+
+.newscontent
+{
+ margin-top: 5px;
+}
+
+#leftpanel
+{
+ float: left;
+ width: 550px;
+}
+
+#topics
+{
+ border: 1px solid #804040;
+ margin-left: 610px;
+ padding-bottom: 10px;
+}
+
+#topicsheader
+{
+ text-align:center;
+ font-weight:bold;
+ background-color:#804040;
+ color:#FFFFBC;
+ padding: 3px;
+ margin-bottom:0px;
+}
+
+.topicitem
+{
+ padding: 5px;
+}
+
+.topicitem a:hover
+{
+ text-decoration: underline;
+}
+
+.topicitem p
+{
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ white-space:nowrap;
+}
+
+.reference
+{
+}
+
+.reference img
+{
+ margin: 10px;
+}
+
+.reference h3
+{
+}
+
+
+.download
+{
+ width: 100%;
+ background-color: #aaa;
+}
+
+.download td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+ font-size: 9pt;
+}
+
+.download td a
+{
+ font-weight: bold;
+}
+
+.download td.type
+{
+ font-family: "courier new", courier;
+ text-align: right;
+ vertical-align: top;
+}
+
+.download div.declaration
+{
+ font-family: "courier new", courier;
+}
+
+
+.download th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.download th.small
+{
+ font-size: 1.0em;
+}
+
+.download tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.doc-title
+{
+ font-size: 14pt;
+ font-weight: bold;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.doc-subtitle
+{
+ font-size: 11pt;
+ font-weight: bold;
+ background-color: #EEE;
+ padding: 5px;
+ margin-top: 20px;
+}
+
+.doc-namespace
+{
+ font-size: 8pt;
+}
+
+
+.doc-menu
+{
+}
+
+.doc-classes
+{
+}
+
+.doc-ancestors
+{
+ font-size: 8pt;
+}
+
+.doc-properties
+{
+ font-size: 9pt;
+}
+
+.doc-properties table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-properties td, .doc-properties th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-events
+{
+ font-size: 9pt;
+}
+
+.doc-events table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-events td, .doc-events th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-methods
+{
+ font-size: 9pt;
+}
+
+.doc-methods table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-methods td, .doc-methods th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-derived
+{
+}
+
+.doc-inherited
+{
+}
+
+.doc-native td
+{
+ background-color: lightyellow;
+}
+
+.forum-topic
+{
+ padding: 10px;
+ border:1px solid silver;
+ margin-bottom: 10px;
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css
new file mode 100644
index 00000000..2c08f94f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css
@@ -0,0 +1,129 @@
+BODY, DIV, SPAN, PRE, CODE, TD, TH {
+ line-height: 140%;
+ font-size: 10pt;
+ font-family: verdana,arial,sans-serif;
+}
+
+H1 {
+ font-size: 12pt;
+}
+
+H4 {
+ font-size: 10pt;
+ font-weight: bold;
+}
+
+P.label {
+ margin-bottom: 5px;
+}
+P.dt {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+P.indent {
+ margin-top: 0px;
+ margin-left: 20px;
+ margin-bottom: 0px;
+}
+P.method {
+ background-color: #f0f0f0;
+ padding: 2px;
+ border: 1px #cccccc solid;
+}
+
+A {
+ text-decoration: none;
+}
+
+A:link{
+ color: #336699;
+}
+
+A:visited {
+ color: #003366;
+}
+
+A:active, A:hover {
+ color: #6699CC;
+}
+
+A:hover{
+ text-decoration: underline;
+}
+
+SPAN.type {
+ color: #336699;
+ font-size: xx-small;
+ font-weight: normal;
+ }
+
+PRE {
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+HR {
+ color: #336699;
+ background-color: #336699;
+ border-width: 0px;
+ height: 1px;
+ filter: Alpha (opacity=100,finishopacity=0,style=1);
+}
+
+DIV.sdesc {
+ font-weight: bold;
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+DIV.desc {
+ font-family: monospace;
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+SPAN.code {
+ font-family: monospace;
+}
+
+CODE.varsummarydefault{
+ padding: 1px;
+ border-width: 1px;
+ border-style: dashed;
+ border-color: #336699;
+}
+
+UL.tute {
+ margin: 0px;
+ padding: 0px;
+ padding-left: 5px;
+ }
+
+LI.tute {
+ line-height: 140%;
+ font-size: 10pt;
+ text-indent: -15px;
+ padding-bottom: 2px;
+ padding-left: 14px;
+}
+
+.small{
+ font-size: 9pt;
+}
+
+
+.tute-tag { color: #009999 }
+.tute-attribute-name { color: #0000FF }
+.tute-attribute-value { color: #0099FF }
+.tute-entity { font-weight: bold; }
+.tute-comment { font-style: italic }
+.tute-inline-tag { color: #636311; font-weight: bold }
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl
new file mode 100644
index 00000000..07cb76e5
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl
@@ -0,0 +1,58 @@
+{section name=methods loop=$methods}
+{if $show == 'summary'}
+method {$methods[methods].function_call}, {$methods[methods].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$methods[methods].method_dest}"></a>
+ <h3>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].default != ''}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].default != ''} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br />
+
+{if $methods[methods].descmethod}
+ <p>Overridden in child classes as:<br />
+ {section name=dm loop=$methods[methods].descmethod}
+ <dl>
+ <dt>{$methods[methods].descmethod[dm].link}</dt>
+ <dd>{$methods[methods].descmethod[dm].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+{* original {if $methods[methods].descmethod != ""
+ {$methods[methods].descmethod<br /><br />
+ {/if *}
+{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if}
+{* original {if $methods[methods].method_overrides != ""
+ {$methods[methods].method_overrides<br /><br />
+ {/if *}
+
+ {if count($methods[methods].params) > 0}
+ <h4>Parameters:</h4>
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr>
+ <td class="type">{$methods[methods].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$methods[methods].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$methods[methods].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ </div><br />
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl
new file mode 100644
index 00000000..b48b6719
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl
@@ -0,0 +1,3 @@
+{section name=packages loop=$packages}
+<a href="{$packages[packages].link}">{$packages[packages].title}</a>
+{/section} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl
new file mode 100644
index 00000000..6dd8683d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl
@@ -0,0 +1,31 @@
+{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
+
+<br>
+<br>
+
+{if $classes}
+<div class="contents">
+{if $tutorial}
+<span class="maintutorial">Main Tutorial: {$tutorial}</span>
+{/if}
+<h2>Classes:</h2>
+{section name=classes loop=$classes}
+<dt>{$classes[classes].link}</dt>
+ <dd>{$classes[classes].sdesc}</dd>
+{/section}
+</div><br /><br />
+{/if}
+
+<h2>Page Details:</h2>
+{include file="docblock.tpl" type="page"}
+<br /><br />
+{include file="include.tpl"}
+<br /><br />
+{include file="global.tpl"}
+<br /><br />
+{include file="define.tpl"}
+<br />
+{include file="function.tpl"}
+
+{include file="footer.tpl"}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl
new file mode 100644
index 00000000..753ad7cf
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl
@@ -0,0 +1,5 @@
+{include file="header.tpl"}
+<a name="top"></a>
+<h1>Element index for package {$package}</h1>
+{include file="basicindex.tpl" indexname=elementindex_$package}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl
new file mode 100644
index 00000000..c4cb83f9
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl"}
+<h1 align="center">{$name}</h1>
+<pre>
+{$contents|htmlentities}
+</pre>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl
new file mode 100644
index 00000000..5ab0bca2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl
@@ -0,0 +1,14 @@
+{include file="header.tpl" title="Todo List"}
+<div align="center"><h1>Todo List</h1></div>
+{foreach from=$todos key=todopackage item=todo}
+<h2>{$todopackage}</h2>
+{section name=todo loop=$todo}
+<h3>{$todo[todo].link}</h3>
+<ul>
+{section name=t loop=$todo[todo].todos}
+ <li>{$todo[todo].todos[t]}</li>
+{/section}
+</ul>
+{/section}
+{/foreach}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl
new file mode 100644
index 00000000..22c71c3b
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl
@@ -0,0 +1,32 @@
+{include file="header.tpl" title=$title}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="10%" align="left" valign="bottom">{if $prev}<a href=
+"{$prev}">{/if}Prev{if $prev}</a>{/if}</td>
+<td width="80%" align="center" valign="bottom"></td>
+<td width="10%" align="right" valign="bottom">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+</table>
+{/if}
+{$contents}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if}
+Prev{if $prev}</a>{/if}</td>
+<td width="34%" align="center" valign="top">{if $up}<a href=
+"{$up}">Up</a>{else}&nbsp;{/if}</td>
+<td width="33%" align="right" valign="top">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td>
+<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td>
+<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td>
+</tr>
+</table>
+{/if}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl
new file mode 100644
index 00000000..1db34438
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl
@@ -0,0 +1,29 @@
+{if count($toc)}
+<h1 align="center">Table of Contents</h1>
+<ul>
+{section name=toc loop=$toc}
+{if $toc[toc].tagname == 'refsect1'}
+{assign var="context" value="refsect1"}
+{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect2'}
+{assign var="context" value="refsect2"}
+&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect3'}
+{assign var="context" value="refsect3"}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'table'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{if $toc[toc].tagname == 'example'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{/section}
+</ul>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl
new file mode 100644
index 00000000..faf7bcef
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl
@@ -0,0 +1,5 @@
+<ul>
+ <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a>
+{if $kids}{$kids}</li>{/if}
+</ul>
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl
new file mode 100644
index 00000000..c76929fe
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl
@@ -0,0 +1,28 @@
+{section name=vars loop=$vars}
+{if $show == 'summary'}
+ var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
+{else}
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>{$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
+
+ <br />
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Type:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_type}</td>
+ </tr>
+ {if $vars[vars].var_overrides != ""}
+ <tr>
+ <td><b>Overrides:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_overrides}</td>
+ </tr>
+ {/if}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini
new file mode 100755
index 00000000..e61aeba8
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini
@@ -0,0 +1,577 @@
+preservedocbooktags = false
+
+;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
+[highlightSourceTokens]
+;; format:
+;; T_CONSTANTNAME = open
+;; /T_CONSTANTNAME = close
+
+T_INCLUDE = <span class="src-inc">
+/T_INCLUDE = </span>
+T_INCLUDE_ONCE = <span class="src-inc">
+/T_INCLUDE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+
+T_CONSTANT_ENCAPSED_STRING = <span class="src-str">
+/T_CONSTANT_ENCAPSED_STRING = </span>
+T_STRING_VARNAME = <span class="src-str">
+/T_STRING_VARNAME = </span>
+
+T_STRING = <span class="src-id">
+/T_STRING = </span>
+
+T_DNUMBER = <span class="src-num">
+/T_DNUMBER = </span>
+T_LNUMBER = <span class="src-num">
+/T_LNUMBER = </span>
+
+T_VARIABLE = <span class="src-var">
+/T_VARIABLE = </span>
+
+T_COMMENT = <span class="src-comm">
+/T_COMMENT = </span>
+T_ML_COMMENT = <span class="src-comm">
+/T_ML_COMMENT = </span>
+
+T_OBJECT_OPERATOR = <span class="src-sym">
+/T_OBJECT_OPERATOR = </span>
+
+T_ABSTRACT = <span class="src-key">
+/T_ABSTRACT = </span>
+T_CLONE = <span class="src-key">
+/T_CLONE = </span>
+T_HALT_COMPILER = <span class="src-key">
+/T_HALT_COMPILER = </span>
+T_ARRAY = <span class="src-key">
+/T_ARRAY = </span>
+T_AS = <span class="src-key">
+/T_AS = </span>
+T_BREAK = <span class="src-key">
+/T_BREAK = </span>
+T_CLASS = <span class="src-key">
+/T_CLASS = </span>
+T_CASE = <span class="src-key">
+/T_CASE = </span>
+T_CONST = <span class="src-key">
+/T_CONST = </span>
+T_CONTINUE = <span class="src-key">
+/T_CONTINUE = </span>
+T_DECLARE = <span class="src-key">
+/T_DECLARE = </span>
+T_DEFAULT = <span class="src-key">
+/T_DEFAULT = </span>
+T_ELSE = <span class="src-key">
+/T_ELSE = </span>
+T_ELSEIF = <span class="src-key">
+/T_ELSEIF = </span>
+T_EMPTY = <span class="src-key">
+/T_EMPTY = </span>
+T_ENDDECLARE = <span class="src-key">
+/T_ENDDECLARE = </span>
+T_ENDFOR = <span class="src-key">
+/T_ENDFOR = </span>
+T_ENDSWITCH = <span class="src-key">
+/T_ENDSWITCH = </span>
+T_ENDFOREACH = <span class="src-key">
+/T_ENDFOREACH = </span>
+T_ENDIF = <span class="src-key">
+/T_ENDIF = </span>
+T_ENDWHILE = <span class="src-key">
+/T_ENDWHILE = </span>
+T_EXIT = <span class="src-key">
+/T_EXIT = </span>
+T_EXTENDS = <span class="src-key">
+/T_EXTENDS = </span>
+T_FINAL = <span class="src-key">
+/T_FINAL = </span>
+T_FOR = <span class="src-key">
+/T_FOR = </span>
+T_FOREACH = <span class="src-key">
+/T_FOREACH = </span>
+T_FUNCTION = <span class="src-key">
+/T_FUNCTION = </span>
+T_GLOBAL = <span class="src-key">
+/T_GLOBAL = </span>
+T_IF = <span class="src-key">
+/T_IF = </span>
+T_IMPLEMENTS = <span class="src-key">
+/T_IMPLEMENTS = </span>
+T_INTERFACE = <span class="src-key">
+/T_INTERFACE = </span>
+T_LOGICAL_AND = <span class="src-key">
+/T_LOGICAL_AND = </span>
+T_LOGICAL_OR = <span class="src-key">
+/T_LOGICAL_OR = </span>
+T_LOGICAL_XOR = <span class="src-key">
+/T_LOGICAL_XOR = </span>
+T_NEW = <span class="src-key">
+/T_NEW = </span>
+T_PRIVATE = <span class="src-key">
+/T_PRIVATE = </span>
+T_PROTECTED = <span class="src-key">
+/T_PROTECTED = </span>
+T_PUBLIC = <span class="src-key">
+/T_PUBLIC = </span>
+T_RETURN = <span class="src-key">
+/T_RETURN = </span>
+T_STATIC = <span class="src-key">
+/T_STATIC = </span>
+T_SWITCH = <span class="src-key">
+/T_SWITCH = </span>
+T_VAR = <span class="src-key">
+/T_VAR = </span>
+T_WHILE = <span class="src-key">
+/T_WHILE = </span>
+
+T_DOUBLE_COLON = <span class="src-sym">
+/T_DOUBLE_COLON = </span>
+
+T_OPEN_TAG = <span class="src-php">
+/T_OPEN_TAG = </span>
+T_OPEN_TAG_WITH_ECHO = <span class="src-php">
+/T_OPEN_TAG_WITH_ECHO = </span>
+T_CLOSE_TAG = <span class="src-php">
+/T_CLOSE_TAG = </span>
+
+
+[highlightSource]
+;; this is for highlighting things that aren't tokens like "&"
+;; format:
+;; word = open
+;; /word = close
+@ = <span class="src-sym">
+/@ = </span>
+& = <span class="src-sym">
+/& = </span>
+[ = <span class="src-sym">
+/[ = </span>
+] = <span class="src-sym">
+/] = </span>
+! = <span class="src-sym">
+/! = </span>
+";" = <span class="src-sym">
+/; = </span>
+( = <span class="src-sym">
+/( = </span>
+) = <span class="src-sym">
+/) = </span>
+, = <span class="src-sym">
+/, = </span>
+{ = <span class="src-sym">
+/{ = </span>
+} = <span class="src-sym">
+/} = </span>
+""" = <span class="src-str">
+/" = </span>
+
+[highlightDocBlockSourceTokens]
+;; this is for docblock tokens, using by phpDocumentor_HighlightParser
+;; tagphptype is for "string" in @param string description, for example
+docblock = <span class="src-doc">
+/docblock = </span>
+tagphptype = <span class="src-doc-type">
+/tagphptype = </span>
+tagvarname = <span class="src-doc-var">
+/tagvarname = </span>
+coretag = <span class="src-doc-coretag">
+/coretag = </span>
+tag = <span class="src-doc-tag">
+/tag = </span>
+inlinetag = <span class="src-doc-inlinetag">
+/inlinetag = </span>
+internal = <span class="src-doc-internal">
+/internal = </span>
+closetemplate = <span class="src-doc-close-template">
+/closetemplate = </span>
+docblocktemplate = <span class="src-doc-template">
+/docblocktemplate = </span>
+
+[highlightTutorialSourceTokens]
+;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser
+;; <tag>
+opentag = <span class="tute-tag">
+/opentag = </span>
+;; </tag>
+closetag = <span class="tute-tag">
+/closetag = </span>
+;; <tag attribute="value">
+attribute = <span class="tute-attribute-name">
+/attribute = </span>
+;; <tag attribute="value">
+attributevalue = <span class="tute-attribute-value">
+/attributevalue = </span>
+;; &entity;
+entity = <span class="tute-entity">
+/entity = </span>
+;; <!-- comment -->
+comment = <span class="tute-comment">
+/comment = </span>
+;; {@inline tag}
+itag = <span class="tute-inline-tag">
+/itag = </span>
+
+;; used for translation of html in DocBlocks
+[desctranslate]
+ul = <ul>
+/ul = </ul>
+ol = <ol>
+/ol = </ol>
+li = <li>
+/li = </li>
+code =
+/code =
+var = <var>
+/var = </var>
+samp = <samp>
+/samp = </samp>
+kbd = <kbd>
+/kbd = </kbd>
+pre = <pre>
+/pre = </pre>
+p = <p>
+/p = </p>
+b = <strong>
+/b = </strong>
+i = <em>
+/i = </em>
+br = <br />
+
+[ppage]
+;; this is the DocBook package page translation section. All DocBook tags
+;; that have a corresponding html tag must be listed here. Entities should
+;; also be listed here
+;;
+;; examples:
+;; 1)
+;; tagname = newtagname
+;;
+;; This is the simplest case, where all attributes will be added into the
+;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
+;; <tagname></tagname> becomes <newtagname></newtagname> and
+;; <tagname attr="value"></tagname> becomes
+;; <newtagname attr="value"></newtagname>
+;;
+;; 2)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;;
+;; in this case, everything will be like the first case, except tags like:
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="value"></newtagname>
+;;
+;; 3)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;; tagname->attr+value = newvalue
+;;
+;; in this case, the value is also translated to another. This can be useful
+;; for instances such as focus="middle" changing to align="center" or something
+;; of that nature.
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 4)
+;; tagname = newtagname
+;; tagname->attr1 = newattrname
+;; tagname->attr2 = newattrname
+;; tagname->attr1+value|attr2+value = newvalue
+;;
+;; in this case, two attributes combine to make one new attribute, and the combined
+;; value is translated into a new value
+;; <tagname attr1="value1" attr2="value2"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 5)
+;; tagname = newtagname
+;; tagname!attr = dummy
+;;
+;; here, the attribute will be ignored. dummy is not used and may be any value
+;; <tagname attr="value"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 6)
+;; tagname = newtagname
+;; tagname! = dummy
+;;
+;; here, all attributes will be ignored. dummy is not used and may be any value
+;; <tagname attr1="value" attr2="foo"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 7)
+;; tagname = newtagname
+;; tagname/ = 1
+;;
+;; here, the tag will be translated as a single tag with no closing tag, and all
+;; attributes
+;; <tagname attr="val">{text text}</tagname> will become
+;; <newtagname attr="val" />
+;;
+;; 8)
+;; tagname = <starttaginfo />
+;; /tagname = closetagtext
+;;
+;; in this case, the text <starttaginfo> will be inserted exactly as entered for
+;; <tagname> and closetagtext for </tagname>
+;; <tagname attr="val"></tagname> will become
+;; <starttaginfo />closetagtext
+;;
+;; 9)
+;; $attr$my_attribute = newattrname
+;;
+;; tagname = newtagname
+;;
+;; in this case, all occurences of my_attribute in any tag will be changed to
+;; newattrname. This is useful for changing things like role="php" to
+;; class="php," for example. Note that the text "$attr$" MUST be on the line
+;; start for phpDocumentor to recognize it.
+;;
+;; 10)
+;; &entity; = translation text
+;; &quot; = &quot;
+;; &quot; = """
+;; &lt; = <
+;;
+;; Use this to control translation of entities to their appropriate values
+
+&nbsp; = &nbsp;
+&quot; = &quot;
+&rdquo; = &rdquo;
+&ldquo; = &ldquo;
+&amp; = &amp;
+&lt; = &lt;
+&gt; = &gt;
+&copy; = &copy;
+
+$attr$role = class
+
+abbrev = abbr
+
+blockquote = blockquote
+
+arg = span
+arg->choice = class
+
+author = <span class="author">
+/author = </span>
+author! = 0
+
+authorblurb = <div class="author-blurb">
+/authorblurb = </div>
+
+authorgroup = <div class="authors"><h2 class="title">Authors</h2>
+/authorgroup = </div>
+authorgroup! = 0
+
+caution = <span class="warning">
+/caution = </span>
+caution! = 0
+
+cmdsynopsis = <div class="cmd-synopsis">
+/cmdsynopsis = </div>
+
+command = <span class="cmd-title">
+/command = </span>
+
+copyright = <div class="notes">
+/copyright = </div>
+
+emphasis = em
+
+example = <div class="src-code">
+/example = </div>
+example! = 0
+
+function =
+/function = ()
+
+formalpara = p
+
+graphic = img
+graphic->fileref = src
+graphic/ =
+
+important = strong
+
+informalequation = blockquote
+
+informalexample = div
+
+inlineequation = em
+
+itemizedlist = ul
+
+listitem = li
+
+literal = code
+
+literallayout = span
+
+option = " "
+/option =
+
+orderedlist = ol
+
+para = p
+
+programlisting = <div class="src-code">
+/programlisting = </div>
+programlisting! = 0
+
+refentry = div
+
+refnamediv = <div class="ref-title-box">
+/refnamediv = </div>
+refnamediv! = 0
+
+refname = <h1 class="ref-title">
+/refname = </h1>
+
+refpurpose = <h2 class="ref-purpose">
+/refpurpose = </h2>
+
+refsynopsisdiv = <div class="ref-synopsis">
+/refsynopsisdiv = </div>
+refsynopsisdiv! = 0
+
+refsect1 = span
+
+refsect2 =
+/refsect2 = <hr />
+
+refsect3 =
+/refsect3 = <br />
+
+releaseinfo = <div class="release-info">(
+/releaseinfo = )</div>
+
+simpara =
+/simpara = <br />
+simpara! = 0
+
+subscript = sub
+
+superscript = super
+
+table = table
+
+table->colsep = rules
+table->rowsep = rules
+table->colsep+1|rowsep+1 = all
+table->colsep+1|rowsep+0 = cols
+table->colsep+0|rowsep+1 = rows
+
+table->frame = frame
+table->frame+all = border
+table->frame+none = void
+table->frame+sides = vsides
+table->frame+top = above
+table->frame+topbot = hsides
+
+thead = thead
+
+tfoot = tfoot
+
+tbody = tbody
+
+colspec = col
+
+tgroup = colgroup
+tgroup/ = 1
+tgroup->cols = span
+
+row = tr
+
+entry = td
+entry->morerows = colspan
+entry->morerows+1 = 2
+entry->morerows+2 = 3
+entry->morerows+3 = 4
+entry->morerows+4 = 5
+entry->morerows+5 = 6
+entry->morerows+6 = 7
+entry->morerows+7 = 8
+entry->morerows+8 = 9
+entry->morerows+9 = 10
+entry->morerows+10 = 11
+;; add more if you need more colspans
+
+warning = <span class="warning">
+/warning = </span>
+warning! = 0
+
+;; now begins the attributes that should be tags in cdata
+[$attr$id]
+open = a
+;close = /a
+cdata! = true
+quotevalues = true
+separator = "="
+;separateall = true
+$id = name
+
+;; now begins the sections that deal with <title>
+[refsynopsisdiv_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h1 class="title" align="center">
+close = </h1>
+
+[refsect1_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h2 class="title">
+close = </h2>
+
+[refsect2_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h3 class="title">
+close = </h3>
+
+[refsect3_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h4 class="title">
+close = </h4>
+
+[para_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[formalpara_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[example_title]
+;tag_attr = true
+;attr_name = title
+;cdata_start = true
+cdata_end = true
+open = </td></tr><tr><td><strong>
+close = </strong>
+
+[table_title]
+;tag_attr = true
+;attr_name = true
+cdata_start = true
+open = <caption>
+close = </caption>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl
new file mode 100755
index 00000000..b3f0c4a4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl
@@ -0,0 +1,17 @@
+{section name=letter loop=$letters}
+ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a>
+{/section}
+
+{section name=index loop=$index}
+ <a name="{$index[index].letter}"></a>
+ <a href="{$indexname}.html#top">top</a><br>
+ <div>
+ <h2>{$index[index].letter}</h2>
+ <dl class="lettercontents">
+ {section name=contents loop=$index[index].index}
+ <dt>{$index[index].index[contents].name}</dt>
+ <dd>{$index[index].index[contents].listing}</dd>
+ {/section}
+ </dl>
+ </div>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl
new file mode 100755
index 00000000..aae59975
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl
@@ -0,0 +1,5 @@
+<div align="center"><h1>{$maintitle}</h1></div>
+<b>Welcome to {$package}!</b><br />
+<br />
+This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br />
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl
new file mode 100755
index 00000000..399116ad
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl
@@ -0,0 +1,173 @@
+{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
+
+{if $conflicts.conflict_type}<p class="warning">Conflicts with classes:<br />
+ {section name=me loop=$conflicts.conflicts}
+ {$conflicts.conflicts[me]}<br />
+ {/section}
+<p>
+ {/if}
+
+<div class="leftcol">
+ <h3><a href="#class_details">{if $is_interface}Interface{else}Class{/if} Overview</a> <span class="smalllinenumber">[line {if $class_slink}{$class_slink}{else}{$line_number}{/if}]</span></h3>
+ <div id="classTree"><pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre>
+</div>
+ <div class="small">
+ <p>{$sdesc|default:''}</p>
+ {if $tutorial}
+ <h4 class="classtutorial">{if $is_interface}Interface{else}Class{/if} Tutorial:</h4>
+ <ul>
+ <li>{$tutorial}</li>
+ </ul>
+ {/if}
+ <h4>Author(s):</h4>
+ <ul>
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword eq "author"}
+ <li>{$tags[tag].data}</li>
+ {/if}
+ {/section}
+ </ul>
+ <h4>Version:</h4>
+ <ul>
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword eq "version"}
+ <li>{$tags[tag].data}</li>
+ {/if}
+ {/section}
+ </ul>
+
+ <h4>Copyright:</h4>
+ <ul>
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword eq "copyright"}
+ <li>{$tags[tag].data}</li>
+ {/if}
+ {/section}
+ </li>
+ </div>
+</div>
+
+<div class="middlecol">
+ <h3><a href="#class_vars">Variables</a></h3>
+ <ul class="small">
+ {section name=contents loop=$contents.var}
+ <li>{$contents.var[contents]}</li>
+ {/section}
+ </ul>
+ <h3><a href="#class_consts">Constants</a></h3>
+ <ul class="small">
+ {section name=contents loop=$contents.const}
+ <li>{$contents.const[contents]}</li>
+ {/section}
+ </ul>
+</div>
+<div class="rightcol">
+ <h3><a href="#class_methods">Methods</a></h3>
+ <ul class="small">
+ {section name=contents loop=$contents.method}
+ <li>{$contents.method[contents]}</li>
+ {/section}
+ </ul>
+</div>
+
+<div id="content">
+<hr>
+ <div class="contents">
+{if $children}
+ <h2>Child classes:</h2>
+ {section name=kids loop=$children}
+ <dl>
+ <dt>{$children[kids].link}</dt>
+ <dd>{$children[kids].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+ </div>
+
+ <div class="leftCol">
+ {if $implements}
+ <h2>Implements interfaces</h2>
+ <ul>
+ {foreach item="int" from=$implements}<li>{$int}</li>{/foreach}
+ </ul>
+ {/if}
+ <h2>Inherited Variables</h2>
+ {section name=ivars loop=$ivars}
+ <div class="indent">
+ <h3>Class: {$ivars[ivars].parent_class}</h3>
+ <div class="small">
+ <dl>
+ {section name=ivars2 loop=$ivars[ivars].ivars}
+ <dt>
+ {$ivars[ivars].ivars[ivars2].link}
+ </dt>
+ <dd>
+ {$ivars[ivars].ivars[ivars2].ivars_sdesc}
+ </dd>
+ {/section}
+ </dl>
+ </div>
+ </div>
+ {/section}
+ <h2>Inherited Constants</h2>
+ {section name=iconsts loop=$iconsts}
+ <div class="indent">
+ <h3>Class: {$iconsts[iconsts].parent_class}</h3>
+ <div class="small">
+ <dl>
+ {section name=iconsts2 loop=$iconsts[iconsts].iconsts}
+ <dt>
+ {$iconsts[iconsts].iconsts[iconsts2].link}
+ </dt>
+ <dd>
+ {$iconsts[iconsts].iconsts[iconsts2].iconsts_sdesc}
+ </dd>
+ {/section}
+ </dl>
+ </div>
+ </div>
+ {/section}
+ </div>
+
+ <div class="rightCol">
+ <h2>Inherited Methods</h2>
+ {section name=imethods loop=$imethods}
+ <div class="indent">
+ <h3>Class: {$imethods[imethods].parent_class}</h3>
+ <dl class="small">
+ {section name=im2 loop=$imethods[imethods].imethods}
+ <dt>
+ {$imethods[imethods].imethods[im2].link}
+ </dt>
+ <dd>
+ {$imethods[imethods].imethods[im2].sdesc}
+ </dd>
+ {/section}
+ </dl>
+ </div>
+ {/section}
+ </div>
+ <br clear="all">
+ <hr>
+
+ <a name="class_details"></a>
+ <h2>Class Details</h2>
+ {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc}
+ <p class="small" style="color: #334B66;">[ <a href="#top">Top</a> ]</p>
+
+ <hr>
+ <a name="class_vars"></a>
+ <h2>Class Variables</h2>
+ {include file="var.tpl"}
+
+ <hr>
+ <a name="class_methods"></a>
+ <h2>Class Methods</h2>
+ {include file="method.tpl"}
+
+ <hr>
+ <a name="class_consts"></a>
+ <h2>Class Constants</h2>
+ {include file="const.tpl"}
+</div>
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl
new file mode 100755
index 00000000..7d7de89a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl
@@ -0,0 +1,8 @@
+{foreach key=subpackage item=files from=$classleftindex}
+ {if $subpackage != ""}<b>{$subpackage}</b><br>{/if}
+ {section name=files loop=$files}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}
+ {$files[files].title}
+ {if $files[files].link != ''}</a>{/if}<br>
+ {/section}
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl
new file mode 100755
index 00000000..0c0e974a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl
@@ -0,0 +1,17 @@
+{include file="header.tpl" noleftindex=true}
+<h1>{$title}</h1>
+{if $interfaces}
+{section name=classtrees loop=$interfaces}
+<hr />
+<div class="classtree">Root interface {$interfaces[classtrees].class}</div><br />
+{$interfaces[classtrees].class_tree}
+{/section}
+{/if}
+{if $classtrees}
+{section name=classtrees loop=$classtrees}
+<hr />
+<div class="classtree">Root class {$classtrees[classtrees].class}</div><br />
+{$classtrees[classtrees].class_tree}
+{/section}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl
new file mode 100644
index 00000000..aeab7293
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl
@@ -0,0 +1,14 @@
+{section name=consts loop=$consts}
+{if $show == 'summary'}
+ var {$consts[consts].const_name}, {$consts[consts].sdesc}<br>
+{else}
+ <a name="{$consts[consts].const_dest}"></a>
+ <p></p>
+ <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <div class="indent">
+ <p class="linenumber">[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl
new file mode 100755
index 00000000..0aa7ef76
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl
@@ -0,0 +1,23 @@
+<div id="define{if $show == 'summary'}_summary{/if}">
+{section name=def loop=$defines}
+{if $show == 'summary'}
+define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br>
+{else}
+ <a name="{$defines[def].define_link}"></a>
+ <h3>{$defines[def].define_name}</h3>
+ <div class="indent">
+ <p class="linenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</p>
+ <p><code>{$defines[def].define_name} = {$defines[def].define_value}</code></p>
+ {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
+ {if $defines[def].define_conflicts.conflict_type}
+ <p><b>Conflicts with defines:</b>
+ {section name=me loop=$defines[def].define_conflicts.conflicts}
+ {$defines[def].define_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl
new file mode 100755
index 00000000..9ea60cf2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl
@@ -0,0 +1,13 @@
+{if $sdesc != ''}
+<p align="center"><strong>{$sdesc|default:''}
+</strong></p>
+{/if}
+{if $desc != ''}{$desc|default:''}{/if}
+{if count($tags)}
+<h4>Tags:</h4>
+<ul>
+{section name=tag loop=$tags}
+ <li><b>{$tags[tag].keyword}</b> - {$tags[tag].data}</li>
+{/section}
+</ul>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl
new file mode 100755
index 00000000..0ff4a79e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl
@@ -0,0 +1,5 @@
+{include file="header.tpl" noleftindex=true}
+<a name="top"></a>
+<h1>Index of All Elements</h1>
+{include file="basicindex.tpl" indexname="elementindex"}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl
new file mode 100755
index 00000000..0f526584
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl
@@ -0,0 +1,21 @@
+{include file="header.tpl" noleftindex=true}
+{section name=files loop=$files}
+<a href="#{$files[files].file}">{$files[files].file}</a><br>
+{/section}
+{foreach key=file item=issues from=$all}
+<a name="{$file}"></a>
+<h1>{$file}</h1>
+{if count($issues.warnings)}
+<h2>Warnings:</h2><br>
+{section name=warnings loop=$issues.warnings}
+<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
+{/section}
+{/if}
+{if count($issues.errors)}
+<h2>Errors:</h2><br>
+{section name=errors loop=$issues.errors}
+<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
+{/section}
+{/if}
+{/foreach}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl
new file mode 100755
index 00000000..1bf1f882
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl" title=$title}
+<h1 align="center">{$title}</h1>
+<div class="php-src">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl
new file mode 100755
index 00000000..9e141dc5
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl
@@ -0,0 +1,8 @@
+{foreach key=subpackage item=files from=$fileleftindex}
+ {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if}
+ {section name=files loop=$files}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}
+ {$files[files].title}
+ {if $files[files].link != ''}</a>{/if}<br>
+ {/section}
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl
new file mode 100755
index 00000000..15f7fbfe
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl
@@ -0,0 +1,8 @@
+{capture name="tutle"}File Source for {$name}{/capture}
+{include file="header.tpl" title=$smarty.capture.tutle}
+<h1 align="center">Source for file {$name}</h1>
+<p>Documentation is available at {$docs}</p>
+<div class="php-src">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl
new file mode 100755
index 00000000..0bdda65c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl
@@ -0,0 +1,7 @@
+ <div id="credit">
+ <hr>
+ Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a>
+ </div>
+</div>
+</body>
+</html>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl
new file mode 100755
index 00000000..14fd78eb
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl
@@ -0,0 +1,39 @@
+<div id="function{if $show == 'summary'}_summary{/if}">
+{section name=func loop=$functions}
+{if $show == 'summary'}
+function {$functions[func].id}, {$functions[func].sdesc}<br>
+{else}
+ <a name="{$functions[func].function_dest}"></a>
+ <h3>{$functions[func].function_name}</h3>
+ <div class="indent">
+ <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&amp;{/if}{$functions[func].function_name}(
+{if count($functions[func].ifunction_call.params)}
+{section name=params loop=$functions[func].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if}
+{/section}
+{/if})</code>
+ <p class="linenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags}
+ {if $functions[func].function_conflicts.conflict_type}
+ <p><b>Conflicts with functions:</b>
+ {section name=me loop=$functions[func].function_conflicts.conflicts}
+ {$functions[func].function_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+
+ <h4>Parameters</h4>
+ <ul>
+ {section name=params loop=$functions[func].params}
+ <li>
+ <span class="type">{$functions[func].params[params].datatype}</span>
+ <b>{$functions[func].params[params].var}</b>
+ -
+ {$functions[func].params[params].data}</li>
+ {/section}
+ </ul>
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl
new file mode 100755
index 00000000..9fa52bce
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl
@@ -0,0 +1,24 @@
+<div id="global{if $show == 'summary'}_summary{/if}">
+{section name=glob loop=$globals}
+{if $show == 'summary'}
+global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br>
+{else}
+ <a name="{$globals[glob].global_link}"></a>
+ <h3><i>{$globals[glob].global_type}</i> {$globals[glob].global_name}</h3>
+ <div class="indent">
+ <p class="linenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
+
+ <p><b>Default Value:</b>{$globals[glob].global_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</p>
+ {if $globals[glob].global_conflicts.conflict_type}
+ <p><b>Conflicts with globals:</b>
+ {section name=me loop=$globals[glob].global_conflicts.conflicts}
+ {$globals[glob].global_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl
new file mode 100755
index 00000000..f23687eb
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>{$title}</title>
+ <link rel="stylesheet" type="text/css" id="layout" href="{$subdir}media/layout.css" media="screen">
+ <link rel="stylesheet" type="text/css" href="{$subdir}media/style.css" media="all">
+ <link rel="stylesheet" type="text/css" href="{$subdir}media/print.css" media="print">
+</head>
+
+<body>
+<div id="header">
+ <div id="navLinks">
+ {assign var="packagehaselements" value=false}
+ {foreach from=$packageindex item=thispackage}
+ {if in_array($package, $thispackage)}
+ {assign var="packagehaselements" value=true}
+ {/if}
+ {/foreach}
+ {if $packagehaselements}
+ [ <a href="{$subdir}classtrees_{$package}.html">Class Tree: {$package}</a> ]
+ [ <a href="{$subdir}elementindex_{$package}.html">Index: {$package}</a> ]
+ {/if}
+ [ <a href="{$subdir}elementindex.html">All elements</a> ]
+ </div>
+ <div id="packagePosition">
+ <div id="packageTitle2">{$package}</div>
+ <div id="packageTitle">{$package}</div>
+ <div id="elementPath">{$subpackage} &middot; {$current}</div>
+ </div>
+</div>
+
+<div id="nav" class="small">
+{if count($ric) >= 1}
+ <div id="ric">
+ {section name=ric loop=$ric}
+ <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p>
+ {/section}
+ </div>
+{/if}
+{if $hastodos}
+ <div id="todolist">
+ <p><a href="{$subdir}{$todolink}">Todo List</a></p>
+ </div>
+{/if}
+ <div id="packages">
+ Packages:
+ {section name=packagelist loop=$packageindex}
+ <p><a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a></p>
+ {/section}
+ </div>
+{if $tutorials}
+ <div id="tutorials">
+ Tutorials/Manuals:<br />
+ {if $tutorials.pkg}
+ <strong>Package-level:</strong>
+ {section name=ext loop=$tutorials.pkg}
+ {$tutorials.pkg[ext]}
+ {/section}
+ {/if}
+ {if $tutorials.cls}
+ <strong>Class-level:</strong>
+ {section name=ext loop=$tutorials.cls}
+ {$tutorials.cls[ext]}
+ {/section}
+ {/if}
+ {if $tutorials.proc}
+ <strong>Procedural-level:</strong>
+ {section name=ext loop=$tutorials.proc}
+ {$tutorials.proc[ext]}
+ {/section}
+ {/if}
+ </div>
+{/if}
+
+ {if !$noleftindex}{assign var="noleftindex" value=false}{/if}
+ {if !$noleftindex}
+ <div id="index">
+ <div id="files">
+ {if $compiledfileindex}
+ Files:<br>
+ {eval var=$compiledfileindex}{/if}
+ </div>
+ <div id="interfaces">
+ {if $compiledinterfaceindex}Interfaces:<br>
+ {eval var=$compiledinterfaceindex}{/if}
+ </div>
+ <div id="classes">
+ {if $compiledclassindex}Classes:<br>
+ {eval var=$compiledclassindex}{/if}
+ </div>
+ </div>
+ {/if}
+</div>
+
+<div id="body">
+ {if !$hasel}{assign var="hasel" value=false}{/if}
+ {if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if}
+ {if $hasel}
+ <h1>{$eltype|capitalize}: {$class_name}</h1>
+ <p style="margin: 0px;">Source Location: {$source_location}</p>
+ {/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl
new file mode 100755
index 00000000..f2f5625d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl
@@ -0,0 +1,8 @@
+{if count($includes) > 0}
+Includes:<br>
+{section name=includes loop=$includes}
+{$includes[includes].include_name}({$includes[includes].include_value}) <span class="linenumber">[line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]</span>
+<br />
+{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
+{/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl
new file mode 100755
index 00000000..a493f70e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl
@@ -0,0 +1,7 @@
+{include file="header.tpl"}
+{if $contents}
+{$contents}
+{else}
+{include file="blank.tpl"}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css
new file mode 100755
index 00000000..1184cf1f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css
@@ -0,0 +1,81 @@
+#header {
+ z-index: 100;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 5%;
+}
+#nav {
+ z-index: 200;
+ position: absolute;
+ top: 5%;
+ left: 0px;
+ width: 15%;
+ height: 1600px;
+ clip: auto;
+ overflow: auto;
+}
+#body {
+ position: absolute;
+ top: 6%;
+ left: 17%;
+ width: 82%;
+}
+#content {
+ clear: both;
+ top: -1px;
+}
+#packagePosition {
+ position: absolute;
+ right: 5px;
+ top: 0px;
+ width: 35%;
+ height: 100%;
+}
+#packageTitle {
+ position: absolute;
+ right: 0px;
+}
+#packageTitle2 {
+ position: absolute;
+ right: -3px;
+ top: -2px;
+}
+#elementPath {
+ position: absolute;
+ right: 0px;
+ bottom: 0px;
+}
+#navLinks {
+ position: absolute;
+ top: 0px;
+ left: 10px;
+ height: 100%;
+
+}
+.leftCol {
+ width: auto;
+ float: left;
+}
+.middleCol {
+ width: auto;
+ float: left;
+}
+.rightCol {
+ width: auto;
+ float: left;
+}
+#credit {
+ margin-top: 20px;
+ margin-bottom: 50px;
+}
+
+/** Fixed layout for nav on mozilla */
+head:first-child+body div#header {
+ position: fixed;
+}
+head:first-child+body div#nav {
+ position: fixed;
+ height: 94%
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css
new file mode 100755
index 00000000..1184cf1f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css
@@ -0,0 +1,81 @@
+#header {
+ z-index: 100;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 5%;
+}
+#nav {
+ z-index: 200;
+ position: absolute;
+ top: 5%;
+ left: 0px;
+ width: 15%;
+ height: 1600px;
+ clip: auto;
+ overflow: auto;
+}
+#body {
+ position: absolute;
+ top: 6%;
+ left: 17%;
+ width: 82%;
+}
+#content {
+ clear: both;
+ top: -1px;
+}
+#packagePosition {
+ position: absolute;
+ right: 5px;
+ top: 0px;
+ width: 35%;
+ height: 100%;
+}
+#packageTitle {
+ position: absolute;
+ right: 0px;
+}
+#packageTitle2 {
+ position: absolute;
+ right: -3px;
+ top: -2px;
+}
+#elementPath {
+ position: absolute;
+ right: 0px;
+ bottom: 0px;
+}
+#navLinks {
+ position: absolute;
+ top: 0px;
+ left: 10px;
+ height: 100%;
+
+}
+.leftCol {
+ width: auto;
+ float: left;
+}
+.middleCol {
+ width: auto;
+ float: left;
+}
+.rightCol {
+ width: auto;
+ float: left;
+}
+#credit {
+ margin-top: 20px;
+ margin-bottom: 50px;
+}
+
+/** Fixed layout for nav on mozilla */
+head:first-child+body div#header {
+ position: fixed;
+}
+head:first-child+body div#nav {
+ position: fixed;
+ height: 94%
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css
new file mode 100755
index 00000000..3fcc2baa
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css
@@ -0,0 +1,25 @@
+BODY {
+ margin: 1em;
+}
+#header {
+}
+#nav {
+ display: none;
+}
+#packagePosition {
+ text-align: right;
+}
+#packageTitle {
+ display: inline;
+ margin: 5px;
+}
+#packageTitle2 {
+ display: none;
+}
+#elementPath {
+ display: inline;
+ margin: 5px;
+}
+#navLinks {
+ display: none;
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css
new file mode 100755
index 00000000..041c489a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css
@@ -0,0 +1,236 @@
+BODY {
+ background: #FFFFFF;
+ font-family: Arial;
+ margin: 0px;
+ padding: 0px;
+}
+A {
+ color: #CC4400;
+ font-weight: bold;
+}
+A:Hover {
+ color: white;
+ background-color: #334B66;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+#packageTitle {
+ font-size: 160%;
+ font-weight: bold;
+ text-align: right;
+ color: #CC6633;
+}
+#packageTitle2 {
+ font-size: 160%;
+ font-weight: bold;
+ text-align: right;
+ color: #334B66;
+ background-color: #6699CC;
+}
+#packageLinks {
+ background-color: #6699CC;
+}
+#header {
+ background-color: #6699CC;
+ border-bottom: solid #334B66 4px;
+}
+#nav {
+ background-color: #6699CC;
+ padding: 4px;
+ border-right: solid #334B66 4px;
+}
+#index {
+ padding: 18px;
+}
+hr {
+ width: 80%;
+ background-color: #6699CC;
+ color: #6699CC;
+ margin-top: 15px;
+ margin-bottom: 15px;
+ clear: both;
+}
+.links {
+ text-align: left;
+ width: 98%;
+ margin: auto;
+}
+UL {
+ margin: 0px;
+ padding: 0px;
+ padding-left: 5px;
+ list-style-type: none;
+}
+li {
+ text-indent: -15px;
+ padding-bottom: 2px;
+ padding-left: 14px;
+}
+dd {
+ margin-bottom: .5em;
+}
+.small {
+ font-size: 80%;
+}
+h3 {
+}
+.middleCol {
+ margin-left: -1px;
+ border-right: dotted gray 1px;
+ border-left: dotted gray 1px;
+ padding: 5px;
+}
+.leftCol {
+ border-right: dotted gray 1px;
+ padding: 5px;
+}
+.rightCol {
+ margin-left: -1px;
+ border-left: dotted gray 1px;
+ padding: 5px;
+}
+#elementPath {
+ font-size: 14px;
+ font-weight: bold;
+ color: #334B66;
+}
+.constructor {
+ /*border: dashed #334B66 1px;*/
+ font-weight: bold;
+}
+#credit {
+ text-align: center;
+ color: #334B66;
+ font-weight: bold;
+}
+div.contents {
+ border: solid #334B66 1px;
+ padding: 3px;
+ margin-bottom: 5px;
+ clear: all;
+}
+H1 {
+ margin: 0px;
+}
+H2 {
+ margin: 0px;
+ margin-bottom: 2px;
+}
+H3 {
+ margin: 0px;
+}
+H4 {
+ margin: 0px;
+}
+#classTree {
+ padding: 0px;
+ margin: 0px;
+}
+div.indent {
+ margin-left: 15px;
+}
+.warning {
+ color: red;
+ background-color: #334B66;
+ font-weight: bold;
+}
+code {
+ font-family: fixed;
+ padding: 3px;
+ color: #334B66;
+ background-color: #dddddd;
+}
+.type {
+ color: #334B66;
+}
+.value {
+ color: #334B66;
+ border: dotted #334B66 1px;
+}
+.top {
+ color: #334B66;
+ border-bottom: dotted #334B66 1px;
+ padding-bottom: 4px;
+}
+.php-src, .php, .listing {
+ font-family: fixed;
+ padding: 3px;
+ color: #334B66;
+ background-color: #dddddd;
+ font-family: 'Courier New', Courier, monospace; font-weight: normal;
+}
+DIV#nav DL {
+ margin: 0px;
+ padding: 0px;
+ list-style-type: none;
+}
+div.classtree {
+ font-size: 130%;
+ font-weight: bold;
+ background-color: #CC6633;
+ border: dotted #334B66 2px;
+}
+span.linenumber,p.linenumber {
+ font-weight: bold,italic;
+}
+span.smalllinenumber {
+ font-weight: bold,italic;
+ font-size: 9pt;
+}
+ul {
+ margin-left: 0px;
+ padding-left: 8px;
+}
+/* Syntax highlighting */
+
+.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 0px; margin : 0px}
+.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; }
+/*.src-code pre { }*/
+
+.src-comm { color: green; }
+.src-id { }
+.src-inc { color: #0000FF; }
+.src-key { color: #0000FF; }
+.src-num { color: #CC0000; }
+.src-str { color: #66cccc; }
+.src-sym { font-weight: bold; }
+.src-var { }
+
+.src-php { font-weight: bold; }
+
+.src-doc { color: #009999 }
+.src-doc-close-template { color: #0000FF }
+.src-doc-coretag { color: #0099FF; font-weight: bold }
+.src-doc-inlinetag { color: #0099FF }
+.src-doc-internal { color: #6699cc }
+.src-doc-tag { color: #0080CC }
+.src-doc-template { color: #0000FF }
+.src-doc-type { font-style: italic }
+.src-doc-var { font-style: italic }
+
+.tute-tag { color: #009999 }
+.tute-attribute-name { color: #0000FF }
+.tute-attribute-value { color: #0099FF }
+.tute-entity { font-weight: bold; }
+.tute-comment { font-style: italic }
+.tute-inline-tag { color: #636311; font-weight: bold }
+
+/* tutorial */
+
+.authors { }
+.author { font-style: italic; font-weight: bold }
+.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }
+.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; }
+.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; }
+.release-info { font-size: 85%; font-style: italic; margin: 1em 0em }
+.ref-title-box { }
+.ref-title { }
+.ref-purpose { font-style: italic; color: #666666 }
+.ref-synopsis { }
+.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em;
+ border: 2px solid #CC6633; background-color: #6699CC }
+.cmd-synopsis { margin: 1em 0em }
+.cmd-title { font-weight: bold }
+.toc { margin-left: 2em; padding-left: 0em }
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl
new file mode 100755
index 00000000..f9bcdd38
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl
@@ -0,0 +1,123 @@
+{section name=methods loop=$methods}
+{if $methods[methods].static}
+{if $show == 'summary'}
+ <p>static method {$methods[methods].function_call}, {$methods[methods].sdesc}</p>
+{else}
+ <a name="{$methods[methods].method_dest}"></a>
+ <p></p>
+ <h3>static {$methods[methods].function_name}</h3>
+ <div class="indent">
+ <p>
+ <code>static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+{/if})</code>
+ </p>
+
+ <p class="linenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}
+
+{if $methods[methods].descmethod}
+ <p>Overridden in child classes as:<br />
+ {section name=dm loop=$methods[methods].descmethod}
+ <dl>
+ <dt>{$methods[methods].descmethod[dm].link}</dt>
+ <dd>{$methods[methods].descmethod[dm].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+{if $methods[methods].method_overrides}<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p>{/if}
+ {if $methods[methods].method_implements}
+ <hr class="separator" />
+ <div class="notes">Implementation of:</div>
+ {section name=imp loop=$methods[methods].method_implements}
+ <dl>
+ <dt>{$methods[methods].method_implements[imp].link}</dt>
+ {if $methods[methods].method_implements[imp].sdesc}
+ <dd>{$methods[methods].method_implements[imp].sdesc}</dd>
+ {/if}
+ </dl>
+ {/section}
+ {/if}
+
+ <h4>Parameters:</h4>
+ <ul>
+ {section name=params loop=$methods[methods].params}
+ <li>
+ <span class="type">{$methods[methods].params[params].datatype}</span>
+ <b>{$methods[methods].params[params].var}</b>
+ -
+ {$methods[methods].params[params].data}</li>
+ {/section}
+ </ul>
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/if}
+{/section}
+
+{section name=methods loop=$methods}
+{if !$methods[methods].static}
+{if $show == 'summary'}
+ <p>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_call}, {$methods[methods].sdesc}</p>
+{else}
+ <a name="{$methods[methods].method_dest}"></a>
+ <p></p>
+ <h3>{$methods[methods].function_name}</h3>
+ <div class="indent">
+ <p>
+ <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+{/if})</code>
+ </p>
+
+ <p class="linenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}
+
+{if $methods[methods].descmethod}
+ <p>Overridden in child classes as:<br />
+ {section name=dm loop=$methods[methods].descmethod}
+ <dl>
+ <dt>{$methods[methods].descmethod[dm].link}</dt>
+ <dd>{$methods[methods].descmethod[dm].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+{if $methods[methods].method_overrides}<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p>{/if}
+ {if $methods[methods].method_implements}
+ <hr class="separator" />
+ <div class="notes">Implementation of:</div>
+ {section name=imp loop=$methods[methods].method_implements}
+ <dl>
+ <dt>{$methods[methods].method_implements[imp].link}</dt>
+ {if $methods[methods].method_implements[imp].sdesc}
+ <dd>{$methods[methods].method_implements[imp].sdesc}</dd>
+ {/if}
+ </dl>
+ {/section}
+ {/if}
+
+ <h4>Parameters:</h4>
+ <ul>
+ {section name=params loop=$methods[methods].params}
+ <li>
+ <span class="type">{$methods[methods].params[params].datatype}</span>
+ <b>{$methods[methods].params[params].var}</b>
+ -
+ {$methods[methods].params[params].data}</li>
+ {/section}
+ </ul>
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl
new file mode 100755
index 00000000..0967e6e7
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl
@@ -0,0 +1,3 @@
+{section name=packages loop=$packages}
+<a href="{$packages[packages].link}">{$packages[packages].title}</a>
+{/section} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl
new file mode 100755
index 00000000..c3cb9fd1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl
@@ -0,0 +1,31 @@
+{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
+
+<br>
+<br>
+
+<div class="contents">
+{if $tutorial}
+<span class="maintutorial">Main Tutorial: {$tutorial}</span>
+{/if}
+<h2>Classes:</h2>
+<dl>
+{section name=classes loop=$classes}
+<dt>{$classes[classes].link}</dt>
+ <dd>{$classes[classes].sdesc}</dd>
+{/section}
+</dl>
+</div>
+
+<h2>Page Details:</h2>
+{include file="docblock.tpl" type="page"}
+<hr>
+{include file="include.tpl"}
+<hr>
+{include file="global.tpl"}
+<hr>
+{include file="define.tpl"}
+<hr>
+{include file="function.tpl"}
+
+{include file="footer.tpl"}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl
new file mode 100755
index 00000000..0dabfdb7
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl
@@ -0,0 +1,5 @@
+{include file="header.tpl"}
+<a name="top"></a>
+<h1>Element index for package {$package}</h1>
+{include file="basicindex.tpl" indexname=elementindex_$package}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl
new file mode 100755
index 00000000..eff734c1
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl"}
+<h1 align="center">{$name}</h1>
+<pre>
+{$contents|htmlentities}
+</pre>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css
new file mode 100755
index 00000000..993997ae
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css
@@ -0,0 +1,172 @@
+BODY {
+ font-family: Arial;
+ margin: 0px;
+ padding: 0px;
+}
+A {
+ color: #CC4400;
+ font-weight: bold;
+}
+A:Hover {
+ color: white;
+ background-color: #334B66;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+#packageTitle {
+ font-size: 160%;
+ font-weight: bold;
+ text-align: right;
+ color: #CC6633;
+}
+#packageTitle2 {
+ font-size: 160%;
+ font-weight: bold;
+ text-align: right;
+ color: #334B66;
+ background-color: #6699CC;
+}
+#packageLinks {
+ background-color: #6699CC;
+}
+#header {
+ background-color: #6699CC;
+ border-bottom: solid #334B66 4px;
+}
+#nav {
+ background-color: #6699CC;
+ padding: 4px;
+ border-right: solid #334B66 4px;
+}
+#index {
+ padding: 18px;
+}
+hr {
+ width: 80%;
+ background-color: #6699CC;
+ color: #6699CC;
+ margin-top: 15px;
+ margin-bottom: 15px;
+ clear: both;
+}
+.links {
+ text-align: left;
+ width: 98%;
+ margin: auto;
+}
+UL {
+ margin: 0px;
+ padding: 0px;
+ padding-left: 5px;
+ list-style-type: none;
+}
+li {
+ text-indent: -15px;
+ padding-bottom: 2px;
+ padding-left: 14px;
+}
+dd {
+ margin-bottom: .5em;
+}
+.small {
+ font-size: 80%;
+}
+h3 {
+}
+.middleCol {
+ margin-left: -1px;
+ border-right: dotted gray 1px;
+ border-left: dotted gray 1px;
+ padding: 5px;
+}
+.leftCol {
+ border-right: dotted gray 1px;
+ padding: 5px;
+}
+.rightCol {
+ margin-left: -1px;
+ border-left: dotted gray 1px;
+ padding: 5px;
+}
+#elementPath {
+ font-size: 14px;
+ font-weight: bold;
+ color: #334B66;
+}
+.constructor {
+ /*border: dashed #334B66 1px;*/
+ font-weight: bold;
+}
+#credit {
+ text-align: center;
+ color: #334B66;
+ font-weight: bold;
+}
+div.contents {
+ border: solid #334B66 1px;
+ padding: 3px;
+ margin-bottom: 5px;
+ clear: all;
+}
+H1 {
+ margin: 0px;
+}
+H2 {
+ margin: 0px;
+ margin-bottom: 2px;
+}
+H3 {
+ margin: 0px;
+}
+H4 {
+ margin: 0px;
+}
+#classTree {
+ padding: 0px;
+ margin: 0px;
+}
+div.indent {
+ margin-left: 15px;
+}
+.warning {
+ color: red;
+ background-color: #334B66;
+ font-weight: bold;
+}
+code {
+ font-family: fixed;
+ padding: 3px;
+ color: #334B66;
+ background-color: #dddddd;
+}
+.type {
+ color: #334B66;
+}
+.value {
+ color: #334B66;
+ border: dotted #334B66 1px;
+}
+.top {
+ color: #334B66;
+ border-bottom: dotted #334B66 1px;
+ padding-bottom: 4px;
+}
+DIV#nav DL {
+ margin: 0px;
+ padding: 0px;
+ list-style-type: none;
+}
+div.classtree {
+ font-size: 130%;
+ font-weight: bold;
+ background-color: #CC6633;
+ border: dotted #334B66 2px;
+}
+span.linenumber,p.linenumber {
+ font-weight: bold,italic;
+}
+span.smalllinenumber {
+ font-weight: bold,italic;
+ font-size: 9pt;
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl
new file mode 100755
index 00000000..f929ccdb
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl
@@ -0,0 +1,14 @@
+{include file="header.tpl" title="Todo List"}
+<div align="center"><h1>Todo List</h1></div>
+{foreach from=$todos key=todopackage item=todo}
+<h2>{$todopackage}</h2>
+{section name=todo loop=$todo}
+<h3>{$todo[todo].link}</h3>
+<ul>
+{section name=t loop=$todo[todo].todos}
+ <li>{$todo[todo].todos[t]}</li>
+{/section}
+</ul>
+{/section}
+{/foreach}
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl
new file mode 100755
index 00000000..71fbb4fe
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl
@@ -0,0 +1,32 @@
+{include file="header.tpl" title=$title}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="10%" align="left" valign="bottom">{if $prev}<a href=
+"{$prev}">{/if}Prev{if $prev}</a>{/if}</td>
+<td width="80%" align="center" valign="bottom"></td>
+<td width="10%" align="right" valign="bottom">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+</table>
+{/if}
+{$contents}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if}
+Prev{if $prev}</a>{/if}</td>
+<td width="34%" align="center" valign="top">{if $up}<a href=
+"{$up}">Up</a>{else}&nbsp;{/if}</td>
+<td width="33%" align="right" valign="top">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td>
+<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td>
+<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td>
+</tr>
+</table>
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl
new file mode 100755
index 00000000..3d22d403
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl
@@ -0,0 +1,29 @@
+{if count($toc)}
+<h1 align="center">Table of Contents</h1>
+<ul>
+{section name=toc loop=$toc}
+{if $toc[toc].tagname == 'refsect1'}
+{assign var="context" value="refsect1"}
+{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect2'}
+{assign var="context" value="refsect2"}
+&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect3'}
+{assign var="context" value="refsect3"}
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'table'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{if $toc[toc].tagname == 'example'}
+{if $context == 'refsect2'}&nbsp;&nbsp;&nbsp;{/if}
+{if $context == 'refsect3'}&nbsp;&nbsp;&nbsp;{/if}
+Table: {$toc[toc].link}
+{/if}
+{/section}
+</ul>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl
new file mode 100755
index 00000000..ccb0289e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl
@@ -0,0 +1,5 @@
+<ul>
+ <li><a href="{$main.link}">{$main.title|strip_tags}</a>
+{if $kids}{$kids}</li>{/if}
+</ul>
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl
new file mode 100755
index 00000000..262f427a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl
@@ -0,0 +1,36 @@
+{section name=vars loop=$vars}
+{if $vars[vars].static}
+{if $show == 'summary'}
+ static var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
+{else}
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>static {$vars[vars].var_name}{if $vars[vars].has_default} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span>{/if}</h4>
+ <div class="indent">
+ <p class="linenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
+ <p><b>Type:</b> {$vars[vars].var_type}</p>
+ <p><b>Overrides:</b> {$vars[vars].var_overrides}</p>
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/if}
+{/section}
+{section name=vars loop=$vars}
+{if !$vars[vars].static}
+{if $show == 'summary'}
+ var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
+{else}
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>{$vars[vars].var_name}{if $vars[vars].has_default} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span>{/if}</h4>
+ <div class="indent">
+ <p class="linenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
+ <p><b>Type:</b> {$vars[vars].var_type}</p>
+ <p><b>Overrides:</b> {$vars[vars].var_overrides}</p>
+ </div>
+ <p class="top">[ <a href="#top">Top</a> ]</p>
+{/if}
+{/if}
+{/section}