From dd639a368983c930d4a174ab4085213f2e7c8e99 Mon Sep 17 00:00:00 2001 From: johmathe Date: Fri, 11 Apr 2008 13:38:22 +0000 Subject: Convert txt files to unix format --- config/_config.ini.php | 2 +- index.php | 40 +- libs/HTML/Common.php | 928 +-- libs/HTML/QuickForm.php | 4106 ++++++------- libs/HTML/QuickForm/Renderer.php | 316 +- libs/HTML/QuickForm/Renderer/Array.php | 678 +-- libs/HTML/QuickForm/Renderer/ArraySmarty.php | 802 +-- libs/HTML/QuickForm/Rule.php | 162 +- libs/HTML/QuickForm/Rule/Callback.php | 246 +- libs/HTML/QuickForm/Rule/Compare.php | 210 +- libs/HTML/QuickForm/Rule/Email.php | 144 +- libs/HTML/QuickForm/Rule/Range.php | 148 +- libs/HTML/QuickForm/Rule/Regex.php | 200 +- libs/HTML/QuickForm/Rule/Required.php | 126 +- libs/HTML/QuickForm/RuleRegistry.php | 698 +-- libs/HTML/QuickForm/advcheckbox.php | 572 +- libs/HTML/QuickForm/autocomplete.php | 516 +- libs/HTML/QuickForm/button.php | 160 +- libs/HTML/QuickForm/checkbox.php | 554 +- libs/HTML/QuickForm/date.php | 1020 ++-- libs/HTML/QuickForm/element.php | 986 ++-- libs/HTML/QuickForm/file.php | 716 +-- libs/HTML/QuickForm/group.php | 1174 ++-- libs/HTML/QuickForm/header.php | 148 +- libs/HTML/QuickForm/hidden.php | 188 +- libs/HTML/QuickForm/hiddenselect.php | 236 +- libs/HTML/QuickForm/hierselect.php | 1184 ++-- libs/HTML/QuickForm/html.php | 154 +- libs/HTML/QuickForm/image.php | 254 +- libs/HTML/QuickForm/input.php | 418 +- libs/HTML/QuickForm/link.php | 400 +- libs/HTML/QuickForm/password.php | 230 +- libs/HTML/QuickForm/radio.php | 502 +- libs/HTML/QuickForm/reset.php | 158 +- libs/HTML/QuickForm/select.php | 1228 ++-- libs/HTML/QuickForm/static.php | 402 +- libs/HTML/QuickForm/submit.php | 178 +- libs/HTML/QuickForm/text.php | 196 +- libs/HTML/QuickForm/textarea.php | 458 +- libs/HTML/QuickForm/xbutton.php | 306 +- .../HTML_TreeMenu-1.1.2/TreeMenu.js | 1280 ++-- .../HTML_TreeMenu-1.1.2/TreeMenu.php | 1194 ++-- libs/PhpDocumentor-1.3.2/docbuilder/actions.php | 200 +- libs/PhpDocumentor-1.3.2/docbuilder/blank.html | 10 +- libs/PhpDocumentor-1.3.2/docbuilder/builder.php | 254 +- libs/PhpDocumentor-1.3.2/docbuilder/config.php | 1288 ++-- .../PhpDocumentor-1.3.2/docbuilder/file_dialog.php | 586 +- .../docbuilder/includes/tab.webfx.css | 18 +- .../docbuilder/includes/tabpane.js | 618 +- .../docbuilder/includes/utilities.php | 430 +- libs/PhpDocumentor-1.3.2/docbuilder/top.php | 178 +- libs/PhpDocumentor-1.3.2/new_phpdoc.php | 1324 ++--- libs/PhpDocumentor-1.3.2/phpDocumentor.ini | 236 +- .../CHM/default/templates/default/options.ini | 1014 ++-- .../templates/default/templates/basicindex.tpl | 42 +- .../default/templates/default/templates/blank.tpl | 24 +- .../default/templates/default/templates/class.tpl | 188 +- .../templates/default/templates/classleft.tpl | 16 +- .../templates/default/templates/classtrees.tpl | 22 +- .../default/templates/default/templates/const.tpl | 56 +- .../templates/default/templates/contents.hhc.tpl | 22 +- .../default/templates/default/templates/define.tpl | 64 +- .../templates/default/templates/docblock.tpl | 60 +- .../templates/default/templates/elementindex.tpl | 18 +- .../default/templates/default/templates/errors.tpl | 42 +- .../templates/default/templates/fileleft.tpl | 16 +- .../templates/default/templates/filesource.tpl | 10 +- .../default/templates/default/templates/footer.tpl | 16 +- .../templates/default/templates/function.tpl | 86 +- .../default/templates/default/templates/global.tpl | 62 +- .../default/templates/default/templates/header.tpl | 42 +- .../default/templates/default/templates/hhp.tpl | 34 +- .../templates/default/templates/include.tpl | 50 +- .../templates/default/templates/index.hhk.tpl | 16 +- .../default/templates/default/templates/index.tpl | 48 +- .../default/templates/default/templates/method.tpl | 250 +- .../templates/default/templates/packages.tpl | 4 +- .../default/templates/default/templates/page.tpl | 66 +- .../default/templates/pkgelementindex.tpl | 28 +- .../default/templates/default/templates/ric.tpl | 10 +- .../templates/default/templates/tocentry.tpl | 22 +- .../templates/default/templates/todolist.tpl | 26 +- .../templates/default/templates/tutorial.tpl | 62 +- .../templates/default/templates/tutorial_toc.tpl | 56 +- .../templates/default/templates/tutorial_tree.tpl | 10 +- .../default/templates/default/templates/var.tpl | 100 +- .../HTML/Smarty/templates/HandS/options.ini | 1154 ++-- .../templates/HandS/templates/basicindex.tpl | 42 +- .../Smarty/templates/HandS/templates/blank.tpl | 12 +- .../Smarty/templates/HandS/templates/class.tpl | 1138 ++-- .../Smarty/templates/HandS/templates/classleft.tpl | 22 +- .../Smarty/templates/HandS/templates/classtags.tpl | 44 +- .../templates/HandS/templates/classtrees.tpl | 34 +- .../Smarty/templates/HandS/templates/const.tpl | 38 +- .../Smarty/templates/HandS/templates/define.tpl | 66 +- .../Smarty/templates/HandS/templates/docblock.tpl | 10 +- .../templates/HandS/templates/elementindex.tpl | 24 +- .../Smarty/templates/HandS/templates/errors.tpl | 42 +- .../templates/HandS/templates/examplesource.tpl | 10 +- .../Smarty/templates/HandS/templates/fileleft.tpl | 16 +- .../templates/HandS/templates/filesource.tpl | 14 +- .../Smarty/templates/HandS/templates/filetags.tpl | 14 +- .../Smarty/templates/HandS/templates/footer.tpl | 20 +- .../Smarty/templates/HandS/templates/function.tpl | 108 +- .../Smarty/templates/HandS/templates/global.tpl | 70 +- .../Smarty/templates/HandS/templates/header.tpl | 202 +- .../Smarty/templates/HandS/templates/include.tpl | 34 +- .../Smarty/templates/HandS/templates/index.tpl | 14 +- .../Smarty/templates/HandS/templates/method.tpl | 352 +- .../Smarty/templates/HandS/templates/packages.tpl | 4 +- .../HTML/Smarty/templates/HandS/templates/page.tpl | 420 +- .../templates/HandS/templates/pkgelementindex.tpl | 30 +- .../HTML/Smarty/templates/HandS/templates/ric.tpl | 10 +- .../HTML/Smarty/templates/HandS/templates/tags.tpl | 44 +- .../Smarty/templates/HandS/templates/todolist.tpl | 26 +- .../Smarty/templates/HandS/templates/tutorial.tpl | 62 +- .../templates/HandS/templates/tutorial_toc.tpl | 56 +- .../templates/HandS/templates/tutorial_tree.tpl | 10 +- .../HTML/Smarty/templates/HandS/templates/var.tpl | 188 +- .../HTML/Smarty/templates/PHP/options.ini | 1154 ++-- .../Smarty/templates/PHP/templates/basicindex.tpl | 36 +- .../HTML/Smarty/templates/PHP/templates/blank.tpl | 10 +- .../HTML/Smarty/templates/PHP/templates/class.tpl | 460 +- .../Smarty/templates/PHP/templates/classleft.tpl | 18 +- .../Smarty/templates/PHP/templates/classtrees.tpl | 34 +- .../HTML/Smarty/templates/PHP/templates/const.tpl | 28 +- .../HTML/Smarty/templates/PHP/templates/define.tpl | 62 +- .../Smarty/templates/PHP/templates/docblock.tpl | 28 +- .../templates/PHP/templates/elementindex.tpl | 10 +- .../HTML/Smarty/templates/PHP/templates/errors.tpl | 42 +- .../templates/PHP/templates/examplesource.tpl | 10 +- .../Smarty/templates/PHP/templates/fileleft.tpl | 20 +- .../Smarty/templates/PHP/templates/filesource.tpl | 14 +- .../HTML/Smarty/templates/PHP/templates/footer.tpl | 20 +- .../Smarty/templates/PHP/templates/function.tpl | 96 +- .../HTML/Smarty/templates/PHP/templates/global.tpl | 78 +- .../HTML/Smarty/templates/PHP/templates/header.tpl | 176 +- .../Smarty/templates/PHP/templates/include.tpl | 16 +- .../HTML/Smarty/templates/PHP/templates/index.tpl | 14 +- .../HTML/Smarty/templates/PHP/templates/method.tpl | 290 +- .../Smarty/templates/PHP/templates/packages.tpl | 4 +- .../HTML/Smarty/templates/PHP/templates/page.tpl | 62 +- .../templates/PHP/templates/pkgelementindex.tpl | 10 +- .../HTML/Smarty/templates/PHP/templates/ric.tpl | 10 +- .../Smarty/templates/PHP/templates/todolist.tpl | 26 +- .../Smarty/templates/PHP/templates/tutorial.tpl | 62 +- .../templates/PHP/templates/tutorial_toc.tpl | 56 +- .../templates/PHP/templates/tutorial_tree.tpl | 10 +- .../HTML/Smarty/templates/PHP/templates/var.tpl | 120 +- .../HTML/Smarty/templates/default/options.ini | 1154 ++-- .../templates/default/templates/basicindex.tpl | 34 +- .../Smarty/templates/default/templates/blank.tpl | 10 +- .../Smarty/templates/default/templates/class.tpl | 346 +- .../templates/default/templates/classleft.tpl | 16 +- .../templates/default/templates/classtrees.tpl | 34 +- .../Smarty/templates/default/templates/const.tpl | 28 +- .../Smarty/templates/default/templates/define.tpl | 46 +- .../templates/default/templates/docblock.tpl | 26 +- .../templates/default/templates/elementindex.tpl | 10 +- .../Smarty/templates/default/templates/errors.tpl | 42 +- .../templates/default/templates/examplesource.tpl | 10 +- .../templates/default/templates/fileleft.tpl | 16 +- .../templates/default/templates/filesource.tpl | 14 +- .../Smarty/templates/default/templates/footer.tpl | 14 +- .../templates/default/templates/function.tpl | 78 +- .../Smarty/templates/default/templates/global.tpl | 48 +- .../Smarty/templates/default/templates/header.tpl | 186 +- .../Smarty/templates/default/templates/include.tpl | 14 +- .../Smarty/templates/default/templates/index.tpl | 14 +- .../Smarty/templates/default/templates/method.tpl | 246 +- .../templates/default/templates/packages.tpl | 4 +- .../Smarty/templates/default/templates/page.tpl | 62 +- .../default/templates/pkgelementindex.tpl | 10 +- .../Smarty/templates/default/templates/ric.tpl | 10 +- .../templates/default/templates/todolist.tpl | 26 +- .../templates/default/templates/tutorial.tpl | 64 +- .../templates/default/templates/tutorial_toc.tpl | 56 +- .../templates/default/templates/tutorial_tree.tpl | 10 +- .../Smarty/templates/default/templates/var.tpl | 72 +- .../HTML/frames/templates/DOM/default/options.ini | 1154 ++-- .../templates/DOM/default/templates/basicindex.tpl | 94 +- .../templates/DOM/default/templates/blank.tpl | 24 +- .../templates/DOM/default/templates/class.tpl | 858 +-- .../templates/DOM/default/templates/classtrees.tpl | 36 +- .../templates/DOM/default/templates/const.tpl | 36 +- .../templates/DOM/default/templates/define.tpl | 46 +- .../templates/DOM/default/templates/docblock.tpl | 28 +- .../DOM/default/templates/elementindex.tpl | 24 +- .../templates/DOM/default/templates/errors.tpl | 42 +- .../DOM/default/templates/examplesource.tpl | 10 +- .../templates/DOM/default/templates/filesource.tpl | 14 +- .../templates/DOM/default/templates/footer.tpl | 16 +- .../templates/DOM/default/templates/function.tpl | 88 +- .../templates/DOM/default/templates/global.tpl | 50 +- .../templates/DOM/default/templates/header.tpl | 190 +- .../templates/DOM/default/templates/include.tpl | 30 +- .../templates/DOM/default/templates/index.tpl | 48 +- .../templates/DOM/default/templates/left_frame.tpl | 394 +- .../DOM/default/templates/media/lib/classTree.js | 906 +-- .../DOM/default/templates/media/stylesheet.css | 4 +- .../templates/DOM/default/templates/method.tpl | 298 +- .../templates/DOM/default/templates/page.tpl | 422 +- .../DOM/default/templates/pkgelementindex.tpl | 34 +- .../frames/templates/DOM/default/templates/ric.tpl | 10 +- .../templates/DOM/default/templates/todolist.tpl | 26 +- .../templates/DOM/default/templates/top_frame.tpl | 90 +- .../templates/DOM/default/templates/tutorial.tpl | 24 +- .../DOM/default/templates/tutorial_nav.tpl | 80 +- .../DOM/default/templates/tutorial_toc.tpl | 78 +- .../DOM/default/templates/tutorial_tree.tpl | 16 +- .../frames/templates/DOM/default/templates/var.tpl | 180 +- .../HTML/frames/templates/DOM/earthli/options.ini | 1154 ++-- .../templates/DOM/earthli/templates/basicindex.tpl | 114 +- .../templates/DOM/earthli/templates/blank.tpl | 24 +- .../templates/DOM/earthli/templates/class.tpl | 888 +-- .../templates/DOM/earthli/templates/classtrees.tpl | 36 +- .../templates/DOM/earthli/templates/const.tpl | 36 +- .../templates/DOM/earthli/templates/define.tpl | 48 +- .../templates/DOM/earthli/templates/docblock.tpl | 28 +- .../DOM/earthli/templates/elementindex.tpl | 24 +- .../templates/DOM/earthli/templates/errors.tpl | 42 +- .../DOM/earthli/templates/examplesource.tpl | 10 +- .../templates/DOM/earthli/templates/filesource.tpl | 14 +- .../templates/DOM/earthli/templates/footer.tpl | 16 +- .../templates/DOM/earthli/templates/function.tpl | 88 +- .../templates/DOM/earthli/templates/global.tpl | 52 +- .../templates/DOM/earthli/templates/header.tpl | 190 +- .../templates/DOM/earthli/templates/include.tpl | 32 +- .../templates/DOM/earthli/templates/index.tpl | 48 +- .../templates/DOM/earthli/templates/left_frame.tpl | 500 +- .../DOM/earthli/templates/media/lib/classTree.js | 906 +-- .../DOM/earthli/templates/media/stylesheet.css | 4 +- .../templates/DOM/earthli/templates/method.tpl | 302 +- .../templates/DOM/earthli/templates/page.tpl | 428 +- .../DOM/earthli/templates/pkgelementindex.tpl | 34 +- .../frames/templates/DOM/earthli/templates/ric.tpl | 10 +- .../templates/DOM/earthli/templates/todolist.tpl | 26 +- .../templates/DOM/earthli/templates/top_frame.tpl | 90 +- .../templates/DOM/earthli/templates/tutorial.tpl | 24 +- .../DOM/earthli/templates/tutorial_nav.tpl | 80 +- .../DOM/earthli/templates/tutorial_toc.tpl | 78 +- .../DOM/earthli/templates/tutorial_tree.tpl | 18 +- .../frames/templates/DOM/earthli/templates/var.tpl | 188 +- .../HTML/frames/templates/DOM/l0l33t/options.ini | 1154 ++-- .../templates/DOM/l0l33t/templates/basicindex.tpl | 94 +- .../templates/DOM/l0l33t/templates/blank.tpl | 24 +- .../templates/DOM/l0l33t/templates/class.tpl | 858 +-- .../templates/DOM/l0l33t/templates/classtrees.tpl | 36 +- .../templates/DOM/l0l33t/templates/const.tpl | 36 +- .../templates/DOM/l0l33t/templates/define.tpl | 46 +- .../templates/DOM/l0l33t/templates/docblock.tpl | 28 +- .../DOM/l0l33t/templates/elementindex.tpl | 24 +- .../templates/DOM/l0l33t/templates/errors.tpl | 42 +- .../DOM/l0l33t/templates/examplesource.tpl | 10 +- .../templates/DOM/l0l33t/templates/filesource.tpl | 14 +- .../templates/DOM/l0l33t/templates/footer.tpl | 16 +- .../templates/DOM/l0l33t/templates/function.tpl | 88 +- .../templates/DOM/l0l33t/templates/global.tpl | 50 +- .../templates/DOM/l0l33t/templates/header.tpl | 198 +- .../templates/DOM/l0l33t/templates/include.tpl | 30 +- .../templates/DOM/l0l33t/templates/index.tpl | 48 +- .../templates/DOM/l0l33t/templates/left_frame.tpl | 396 +- .../DOM/l0l33t/templates/media/lib/classTree.js | 906 +-- .../DOM/l0l33t/templates/media/stylesheet.css | 4 +- .../templates/DOM/l0l33t/templates/method.tpl | 298 +- .../frames/templates/DOM/l0l33t/templates/page.tpl | 422 +- .../DOM/l0l33t/templates/pkgelementindex.tpl | 34 +- .../frames/templates/DOM/l0l33t/templates/ric.tpl | 10 +- .../templates/DOM/l0l33t/templates/todolist.tpl | 26 +- .../templates/DOM/l0l33t/templates/top_frame.tpl | 90 +- .../templates/DOM/l0l33t/templates/tutorial.tpl | 24 +- .../DOM/l0l33t/templates/tutorial_nav.tpl | 80 +- .../DOM/l0l33t/templates/tutorial_toc.tpl | 78 +- .../DOM/l0l33t/templates/tutorial_tree.tpl | 16 +- .../frames/templates/DOM/l0l33t/templates/var.tpl | 184 +- .../frames/templates/DOM/phpdoc.de/options.ini | 1154 ++-- .../DOM/phpdoc.de/templates/basicindex.tpl | 94 +- .../templates/DOM/phpdoc.de/templates/blank.tpl | 24 +- .../templates/DOM/phpdoc.de/templates/class.tpl | 858 +-- .../DOM/phpdoc.de/templates/classtrees.tpl | 36 +- .../templates/DOM/phpdoc.de/templates/const.tpl | 36 +- .../templates/DOM/phpdoc.de/templates/define.tpl | 46 +- .../templates/DOM/phpdoc.de/templates/docblock.tpl | 28 +- .../DOM/phpdoc.de/templates/elementindex.tpl | 24 +- .../templates/DOM/phpdoc.de/templates/errors.tpl | 42 +- .../DOM/phpdoc.de/templates/examplesource.tpl | 10 +- .../DOM/phpdoc.de/templates/filesource.tpl | 14 +- .../templates/DOM/phpdoc.de/templates/footer.tpl | 16 +- .../templates/DOM/phpdoc.de/templates/function.tpl | 88 +- .../templates/DOM/phpdoc.de/templates/global.tpl | 50 +- .../templates/DOM/phpdoc.de/templates/header.tpl | 190 +- .../templates/DOM/phpdoc.de/templates/include.tpl | 30 +- .../templates/DOM/phpdoc.de/templates/index.tpl | 48 +- .../DOM/phpdoc.de/templates/left_frame.tpl | 432 +- .../DOM/phpdoc.de/templates/media/lib/classTree.js | 906 +-- .../DOM/phpdoc.de/templates/media/stylesheet.css | 4 +- .../templates/DOM/phpdoc.de/templates/method.tpl | 298 +- .../templates/DOM/phpdoc.de/templates/page.tpl | 422 +- .../DOM/phpdoc.de/templates/pkgelementindex.tpl | 34 +- .../templates/DOM/phpdoc.de/templates/ric.tpl | 10 +- .../templates/DOM/phpdoc.de/templates/todolist.tpl | 26 +- .../DOM/phpdoc.de/templates/top_frame.tpl | 90 +- .../templates/DOM/phpdoc.de/templates/tutorial.tpl | 24 +- .../DOM/phpdoc.de/templates/tutorial_nav.tpl | 80 +- .../DOM/phpdoc.de/templates/tutorial_toc.tpl | 78 +- .../DOM/phpdoc.de/templates/tutorial_tree.tpl | 16 +- .../templates/DOM/phpdoc.de/templates/var.tpl | 184 +- .../frames/templates/DOM/phphtmllib/options.ini | 1154 ++-- .../DOM/phphtmllib/templates/basicindex.tpl | 94 +- .../templates/DOM/phphtmllib/templates/blank.tpl | 24 +- .../templates/DOM/phphtmllib/templates/class.tpl | 858 +-- .../DOM/phphtmllib/templates/classtrees.tpl | 36 +- .../templates/DOM/phphtmllib/templates/const.tpl | 36 +- .../templates/DOM/phphtmllib/templates/define.tpl | 46 +- .../DOM/phphtmllib/templates/docblock.tpl | 28 +- .../DOM/phphtmllib/templates/elementindex.tpl | 24 +- .../templates/DOM/phphtmllib/templates/errors.tpl | 42 +- .../DOM/phphtmllib/templates/examplesource.tpl | 10 +- .../DOM/phphtmllib/templates/filesource.tpl | 14 +- .../templates/DOM/phphtmllib/templates/footer.tpl | 16 +- .../DOM/phphtmllib/templates/function.tpl | 88 +- .../templates/DOM/phphtmllib/templates/global.tpl | 50 +- .../templates/DOM/phphtmllib/templates/header.tpl | 190 +- .../templates/DOM/phphtmllib/templates/include.tpl | 30 +- .../templates/DOM/phphtmllib/templates/index.tpl | 48 +- .../DOM/phphtmllib/templates/left_frame.tpl | 432 +- .../phphtmllib/templates/media/lib/classTree.js | 906 +-- .../DOM/phphtmllib/templates/media/stylesheet.css | 4 +- .../templates/DOM/phphtmllib/templates/method.tpl | 298 +- .../templates/DOM/phphtmllib/templates/page.tpl | 422 +- .../DOM/phphtmllib/templates/pkgelementindex.tpl | 34 +- .../templates/DOM/phphtmllib/templates/ric.tpl | 10 +- .../DOM/phphtmllib/templates/todolist.tpl | 26 +- .../DOM/phphtmllib/templates/top_frame.tpl | 90 +- .../DOM/phphtmllib/templates/tutorial.tpl | 24 +- .../DOM/phphtmllib/templates/tutorial_nav.tpl | 80 +- .../DOM/phphtmllib/templates/tutorial_toc.tpl | 78 +- .../DOM/phphtmllib/templates/tutorial_tree.tpl | 16 +- .../templates/DOM/phphtmllib/templates/var.tpl | 184 +- .../HTML/frames/templates/default/options.ini | 1154 ++-- .../templates/default/templates/basicindex.tpl | 94 +- .../frames/templates/default/templates/blank.tpl | 24 +- .../frames/templates/default/templates/class.tpl | 860 +-- .../templates/default/templates/classtrees.tpl | 36 +- .../frames/templates/default/templates/const.tpl | 36 +- .../frames/templates/default/templates/define.tpl | 46 +- .../templates/default/templates/docblock.tpl | 28 +- .../templates/default/templates/elementindex.tpl | 24 +- .../frames/templates/default/templates/errors.tpl | 42 +- .../templates/default/templates/examplesource.tpl | 10 +- .../templates/default/templates/filesource.tpl | 14 +- .../frames/templates/default/templates/footer.tpl | 16 +- .../templates/default/templates/function.tpl | 88 +- .../frames/templates/default/templates/global.tpl | 50 +- .../frames/templates/default/templates/header.tpl | 24 +- .../frames/templates/default/templates/include.tpl | 30 +- .../frames/templates/default/templates/index.tpl | 48 +- .../templates/default/templates/left_frame.tpl | 318 +- .../frames/templates/default/templates/method.tpl | 302 +- .../frames/templates/default/templates/page.tpl | 422 +- .../default/templates/pkgelementindex.tpl | 34 +- .../frames/templates/default/templates/ric.tpl | 10 +- .../templates/default/templates/todolist.tpl | 26 +- .../templates/default/templates/top_frame.tpl | 84 +- .../templates/default/templates/tutorial.tpl | 24 +- .../templates/default/templates/tutorial_nav.tpl | 80 +- .../templates/default/templates/tutorial_toc.tpl | 78 +- .../templates/default/templates/tutorial_tree.tpl | 12 +- .../frames/templates/default/templates/var.tpl | 182 +- .../HTML/frames/templates/earthli/options.ini | 1152 ++-- .../templates/earthli/templates/basicindex.tpl | 114 +- .../frames/templates/earthli/templates/blank.tpl | 24 +- .../frames/templates/earthli/templates/class.tpl | 874 +-- .../templates/earthli/templates/classtrees.tpl | 36 +- .../frames/templates/earthli/templates/const.tpl | 36 +- .../frames/templates/earthli/templates/define.tpl | 48 +- .../templates/earthli/templates/docblock.tpl | 28 +- .../templates/earthli/templates/elementindex.tpl | 24 +- .../frames/templates/earthli/templates/errors.tpl | 42 +- .../templates/earthli/templates/examplesource.tpl | 10 +- .../templates/earthli/templates/filesource.tpl | 14 +- .../frames/templates/earthli/templates/footer.tpl | 16 +- .../templates/earthli/templates/function.tpl | 88 +- .../frames/templates/earthli/templates/global.tpl | 52 +- .../frames/templates/earthli/templates/header.tpl | 24 +- .../frames/templates/earthli/templates/include.tpl | 32 +- .../frames/templates/earthli/templates/index.tpl | 48 +- .../templates/earthli/templates/left_frame.tpl | 318 +- .../frames/templates/earthli/templates/method.tpl | 302 +- .../frames/templates/earthli/templates/page.tpl | 428 +- .../earthli/templates/pkgelementindex.tpl | 34 +- .../frames/templates/earthli/templates/ric.tpl | 10 +- .../templates/earthli/templates/todolist.tpl | 26 +- .../templates/earthli/templates/top_frame.tpl | 88 +- .../templates/earthli/templates/tutorial.tpl | 24 +- .../templates/earthli/templates/tutorial_nav.tpl | 80 +- .../templates/earthli/templates/tutorial_toc.tpl | 78 +- .../templates/earthli/templates/tutorial_tree.tpl | 12 +- .../frames/templates/earthli/templates/var.tpl | 188 +- .../HTML/frames/templates/l0l33t/options.ini | 1152 ++-- .../templates/l0l33t/templates/basicindex.tpl | 94 +- .../frames/templates/l0l33t/templates/blank.tpl | 24 +- .../frames/templates/l0l33t/templates/class.tpl | 858 +-- .../templates/l0l33t/templates/classtrees.tpl | 36 +- .../frames/templates/l0l33t/templates/const.tpl | 36 +- .../frames/templates/l0l33t/templates/define.tpl | 46 +- .../frames/templates/l0l33t/templates/docblock.tpl | 28 +- .../templates/l0l33t/templates/elementindex.tpl | 24 +- .../frames/templates/l0l33t/templates/errors.tpl | 42 +- .../templates/l0l33t/templates/examplesource.tpl | 10 +- .../templates/l0l33t/templates/filesource.tpl | 14 +- .../frames/templates/l0l33t/templates/footer.tpl | 16 +- .../frames/templates/l0l33t/templates/function.tpl | 88 +- .../frames/templates/l0l33t/templates/global.tpl | 50 +- .../frames/templates/l0l33t/templates/header.tpl | 36 +- .../frames/templates/l0l33t/templates/include.tpl | 30 +- .../frames/templates/l0l33t/templates/index.tpl | 48 +- .../templates/l0l33t/templates/left_frame.tpl | 318 +- .../frames/templates/l0l33t/templates/method.tpl | 298 +- .../frames/templates/l0l33t/templates/page.tpl | 422 +- .../templates/l0l33t/templates/pkgelementindex.tpl | 34 +- .../HTML/frames/templates/l0l33t/templates/ric.tpl | 10 +- .../frames/templates/l0l33t/templates/todolist.tpl | 26 +- .../templates/l0l33t/templates/top_frame.tpl | 90 +- .../frames/templates/l0l33t/templates/tutorial.tpl | 24 +- .../templates/l0l33t/templates/tutorial_nav.tpl | 80 +- .../templates/l0l33t/templates/tutorial_toc.tpl | 78 +- .../templates/l0l33t/templates/tutorial_tree.tpl | 12 +- .../HTML/frames/templates/l0l33t/templates/var.tpl | 184 +- .../HTML/frames/templates/phpdoc.de/options.ini | 1154 ++-- .../templates/phpdoc.de/templates/basicindex.tpl | 94 +- .../frames/templates/phpdoc.de/templates/blank.tpl | 24 +- .../frames/templates/phpdoc.de/templates/class.tpl | 858 +-- .../templates/phpdoc.de/templates/classtrees.tpl | 36 +- .../frames/templates/phpdoc.de/templates/const.tpl | 36 +- .../templates/phpdoc.de/templates/define.tpl | 46 +- .../templates/phpdoc.de/templates/docblock.tpl | 28 +- .../templates/phpdoc.de/templates/elementindex.tpl | 24 +- .../templates/phpdoc.de/templates/errors.tpl | 42 +- .../phpdoc.de/templates/examplesource.tpl | 10 +- .../templates/phpdoc.de/templates/filesource.tpl | 14 +- .../templates/phpdoc.de/templates/footer.tpl | 16 +- .../templates/phpdoc.de/templates/function.tpl | 88 +- .../templates/phpdoc.de/templates/global.tpl | 50 +- .../templates/phpdoc.de/templates/header.tpl | 24 +- .../templates/phpdoc.de/templates/include.tpl | 30 +- .../frames/templates/phpdoc.de/templates/index.tpl | 48 +- .../templates/phpdoc.de/templates/left_frame.tpl | 318 +- .../templates/phpdoc.de/templates/method.tpl | 298 +- .../frames/templates/phpdoc.de/templates/page.tpl | 422 +- .../phpdoc.de/templates/pkgelementindex.tpl | 34 +- .../frames/templates/phpdoc.de/templates/ric.tpl | 10 +- .../templates/phpdoc.de/templates/todolist.tpl | 26 +- .../templates/phpdoc.de/templates/top_frame.tpl | 90 +- .../templates/phpdoc.de/templates/tutorial.tpl | 24 +- .../templates/phpdoc.de/templates/tutorial_nav.tpl | 80 +- .../templates/phpdoc.de/templates/tutorial_toc.tpl | 78 +- .../phpdoc.de/templates/tutorial_tree.tpl | 12 +- .../frames/templates/phpdoc.de/templates/var.tpl | 184 +- .../HTML/frames/templates/phpedit/options.ini | 1014 ++-- .../templates/phpedit/templates/basicindex.tpl | 48 +- .../frames/templates/phpedit/templates/blank.tpl | 24 +- .../frames/templates/phpedit/templates/class.tpl | 190 +- .../templates/phpedit/templates/classtrees.tpl | 36 +- .../frames/templates/phpedit/templates/const.tpl | 42 +- .../frames/templates/phpedit/templates/define.tpl | 46 +- .../templates/phpedit/templates/docblock.tpl | 60 +- .../templates/phpedit/templates/elementindex.tpl | 26 +- .../frames/templates/phpedit/templates/errors.tpl | 42 +- .../templates/phpedit/templates/examplesource.tpl | 10 +- .../templates/phpedit/templates/filesource.tpl | 14 +- .../frames/templates/phpedit/templates/footer.tpl | 16 +- .../templates/phpedit/templates/function.tpl | 58 +- .../frames/templates/phpedit/templates/global.tpl | 46 +- .../frames/templates/phpedit/templates/header.tpl | 194 +- .../frames/templates/phpedit/templates/include.tpl | 30 +- .../frames/templates/phpedit/templates/index.tpl | 48 +- .../templates/phpedit/templates/left_frame.tpl | 332 +- .../phpedit/templates/media/lib/classTree.js | 906 +-- .../phpedit/templates/media/lib/tab.webfx.css | 12 +- .../phpedit/templates/media/lib/tabpane.js | 614 +- .../templates/phpedit/templates/media/lib/ua.js | 222 +- .../phpedit/templates/media/stylesheet.css | 8 +- .../frames/templates/phpedit/templates/method.tpl | 252 +- .../frames/templates/phpedit/templates/page.tpl | 104 +- .../phpedit/templates/pkgelementindex.tpl | 34 +- .../frames/templates/phpedit/templates/ric.tpl | 10 +- .../templates/phpedit/templates/todolist.tpl | 26 +- .../templates/phpedit/templates/top_frame.tpl | 30 +- .../templates/phpedit/templates/tutorial.tpl | 62 +- .../templates/phpedit/templates/tutorial_toc.tpl | 56 +- .../templates/phpedit/templates/tutorial_tree.tpl | 26 +- .../frames/templates/phpedit/templates/var.tpl | 98 +- .../HTML/frames/templates/phphtmllib/options.ini | 1154 ++-- .../templates/phphtmllib/templates/basicindex.tpl | 94 +- .../templates/phphtmllib/templates/blank.tpl | 24 +- .../templates/phphtmllib/templates/class.tpl | 858 +-- .../templates/phphtmllib/templates/classtrees.tpl | 36 +- .../templates/phphtmllib/templates/const.tpl | 36 +- .../templates/phphtmllib/templates/define.tpl | 46 +- .../templates/phphtmllib/templates/docblock.tpl | 28 +- .../phphtmllib/templates/elementindex.tpl | 24 +- .../templates/phphtmllib/templates/errors.tpl | 42 +- .../phphtmllib/templates/examplesource.tpl | 10 +- .../templates/phphtmllib/templates/filesource.tpl | 14 +- .../templates/phphtmllib/templates/footer.tpl | 16 +- .../templates/phphtmllib/templates/function.tpl | 88 +- .../templates/phphtmllib/templates/global.tpl | 50 +- .../templates/phphtmllib/templates/header.tpl | 24 +- .../templates/phphtmllib/templates/include.tpl | 30 +- .../templates/phphtmllib/templates/index.tpl | 48 +- .../templates/phphtmllib/templates/left_frame.tpl | 318 +- .../templates/phphtmllib/templates/method.tpl | 298 +- .../frames/templates/phphtmllib/templates/page.tpl | 422 +- .../phphtmllib/templates/pkgelementindex.tpl | 34 +- .../frames/templates/phphtmllib/templates/ric.tpl | 10 +- .../templates/phphtmllib/templates/todolist.tpl | 26 +- .../templates/phphtmllib/templates/top_frame.tpl | 90 +- .../templates/phphtmllib/templates/tutorial.tpl | 24 +- .../phphtmllib/templates/tutorial_nav.tpl | 80 +- .../phphtmllib/templates/tutorial_toc.tpl | 78 +- .../phphtmllib/templates/tutorial_tree.tpl | 12 +- .../frames/templates/phphtmllib/templates/var.tpl | 184 +- .../Converters/PDF/default/class.ezpdf.php | 3140 +++++----- .../Converters/PDF/default/class.pdf.php | 6148 ++++++++++---------- .../Converters/PDF/default/class.phpdocpdf.php | 706 +-- .../PDF/default/templates/default/options.ini | 862 +-- .../default/templates/appendix_title_page.tpl | 8 +- .../default/templates/default/templates/class.tpl | 24 +- .../templates/default/templates/classtree.tpl | 20 +- .../default/templates/default/templates/const.tpl | 14 +- .../default/templates/default/templates/define.tpl | 8 +- .../templates/default/templates/docblock.tpl | 20 +- .../templates/default/templates/examplesource.tpl | 10 +- .../templates/default/templates/filesource.tpl | 22 +- .../default/templates/default/templates/footer.tpl | 20 +- .../templates/default/templates/function.tpl | 8 +- .../default/templates/default/templates/global.tpl | 14 +- .../templates/default/templates/include.tpl | 4 +- .../default/templates/default/templates/index.tpl | 28 +- .../default/templates/default/templates/method.tpl | 8 +- .../default/templates/newpackage_header.tpl | 12 +- .../templates/default/templates/packagepage.tpl | 8 +- .../default/templates/default/templates/page.tpl | 12 +- .../templates/default/templates/pagenumbering.tpl | 2 +- .../default/templates/default/templates/params.tpl | 8 +- .../default/templates/default/templates/ric.tpl | 12 +- .../templates/default/templates/ric_title_page.tpl | 10 +- .../templates/default/templates/source_loop.tpl | 14 +- .../default/templates/source_title_page.tpl | 10 +- .../templates/default/templates/title_page.tpl | 12 +- .../default/templates/default/templates/toc.tpl | 30 +- .../templates/default/templates/todolist.tpl | 32 +- .../templates/default/templates/tutorial.tpl | 12 +- .../default/templates/default/templates/var.tpl | 14 +- .../Converters/XML/DocBook/peardoc2/Beautifier.php | 268 +- .../Converters/XML/DocBook/peardoc2/Plain.php | 498 +- .../Converters/XML/DocBook/peardoc2/Tokenizer.php | 1504 ++--- .../DocBook/peardoc2/templates/default/options.ini | 78 +- .../templates/default/templates/category.tpl | 50 +- .../peardoc2/templates/default/templates/class.tpl | 56 +- .../templates/default/templates/class_summary.tpl | 106 +- .../templates/default/templates/constants.tpl | 136 +- .../templates/default/templates/docblock.tpl | 232 +- .../templates/default/templates/errors.tpl | 42 +- .../templates/default/templates/globals.tpl | 138 +- .../templates/default/templates/imethods.tpl | 48 +- .../peardoc2/templates/default/templates/ivars.tpl | 52 +- .../templates/default/templates/method.tpl | 90 +- .../templates/default/templates/package.tpl | 50 +- .../templates/default/templates/tutorial.tpl | 40 +- .../peardoc2/templates/default/templates/var.tpl | 30 +- .../templates/peardoc2/templates/class_summary.tpl | 184 +- .../DocBook/templates/peardoc2/templates/ivars.tpl | 52 +- .../templates/peardoc2/templates/tutorial.tpl | 40 +- .../phpDocumentor/Setup.inc.php | 1744 +++--- .../Smarty-2.6.0/libs/Config_File.class.php | 730 +-- .../Smarty-2.6.0/libs/Smarty.class.php | 4020 ++++++------- .../Smarty-2.6.0/libs/Smarty_Compiler.class.php | 4246 +++++++------- .../libs/core/core.assemble_plugin_filepath.php | 124 +- .../libs/core/core.assign_smarty_interface.php | 86 +- .../libs/core/core.create_dir_structure.php | 158 +- .../libs/core/core.display_debug_console.php | 120 +- .../libs/core/core.get_include_path.php | 88 +- .../Smarty-2.6.0/libs/core/core.get_microtime.php | 46 +- .../libs/core/core.get_php_resource.php | 160 +- .../Smarty-2.6.0/libs/core/core.is_secure.php | 118 +- .../Smarty-2.6.0/libs/core/core.is_trusted.php | 100 +- .../Smarty-2.6.0/libs/core/core.load_plugins.php | 250 +- .../libs/core/core.load_resource_plugin.php | 148 +- .../libs/core/core.process_cached_inserts.php | 142 +- .../libs/core/core.process_compiled_include.php | 64 +- .../libs/core/core.read_cache_file.php | 222 +- .../Smarty-2.6.0/libs/core/core.rm_auto.php | 142 +- .../Smarty-2.6.0/libs/core/core.rmdir.php | 110 +- .../libs/core/core.run_insert_handler.php | 142 +- .../libs/core/core.smarty_include_php.php | 100 +- .../libs/core/core.write_cache_file.php | 146 +- .../libs/core/core.write_compiled_include.php | 118 +- .../libs/core/core.write_compiled_resource.php | 74 +- .../Smarty-2.6.0/libs/core/core.write_file.php | 96 +- .../phpDocumentor/Smarty-2.6.0/libs/debug.tpl | 128 +- .../Smarty-2.6.0/libs/plugins/block.strip.php | 70 +- .../Smarty-2.6.0/libs/plugins/block.textformat.php | 166 +- .../Smarty-2.6.0/libs/plugins/function.assign.php | 76 +- .../libs/plugins/function.assign_debug_info.php | 78 +- .../libs/plugins/function.config_load.php | 260 +- .../Smarty-2.6.0/libs/plugins/function.counter.php | 176 +- .../Smarty-2.6.0/libs/plugins/function.cycle.php | 238 +- .../Smarty-2.6.0/libs/plugins/function.debug.php | 70 +- .../Smarty-2.6.0/libs/plugins/function.eval.php | 96 +- .../Smarty-2.6.0/libs/plugins/function.fetch.php | 434 +- .../libs/plugins/function.html_checkboxes.php | 270 +- .../libs/plugins/function.html_image.php | 286 +- .../libs/plugins/function.html_options.php | 236 +- .../libs/plugins/function.html_radios.php | 276 +- .../libs/plugins/function.html_select_date.php | 486 +- .../libs/plugins/function.html_select_time.php | 326 +- .../libs/plugins/function.html_table.php | 226 +- .../Smarty-2.6.0/libs/plugins/function.mailto.php | 280 +- .../Smarty-2.6.0/libs/plugins/function.math.php | 164 +- .../Smarty-2.6.0/libs/plugins/function.popup.php | 174 +- .../libs/plugins/function.popup_init.php | 78 +- .../libs/plugins/function.var_dump.php | 40 +- .../libs/plugins/modifier.capitalize.php | 50 +- .../Smarty-2.6.0/libs/plugins/modifier.cat.php | 66 +- .../libs/plugins/modifier.count_characters.php | 62 +- .../libs/plugins/modifier.count_paragraphs.php | 56 +- .../libs/plugins/modifier.count_sentences.php | 56 +- .../libs/plugins/modifier.count_words.php | 64 +- .../libs/plugins/modifier.date_format.php | 86 +- .../libs/plugins/modifier.debug_print_var.php | 114 +- .../Smarty-2.6.0/libs/plugins/modifier.default.php | 62 +- .../Smarty-2.6.0/libs/plugins/modifier.escape.php | 126 +- .../libs/plugins/modifier.htmlentities.php | 36 +- .../Smarty-2.6.0/libs/plugins/modifier.indent.php | 54 +- .../Smarty-2.6.0/libs/plugins/modifier.lower.php | 50 +- .../Smarty-2.6.0/libs/plugins/modifier.nl2br.php | 70 +- .../libs/plugins/modifier.rawurlencode.php | 36 +- .../libs/plugins/modifier.regex_replace.php | 58 +- .../Smarty-2.6.0/libs/plugins/modifier.replace.php | 58 +- .../Smarty-2.6.0/libs/plugins/modifier.spacify.php | 58 +- .../libs/plugins/modifier.string_format.php | 56 +- .../Smarty-2.6.0/libs/plugins/modifier.strip.php | 66 +- .../libs/plugins/modifier.strip_tags.php | 62 +- .../libs/plugins/modifier.truncate.php | 86 +- .../Smarty-2.6.0/libs/plugins/modifier.upper.php | 50 +- .../libs/plugins/modifier.wordwrap.php | 56 +- .../libs/plugins/outputfilter.trimwhitespace.php | 150 +- .../libs/plugins/shared.escape_special_chars.php | 60 +- .../libs/plugins/shared.make_timestamp.php | 86 +- .../phpDocumentor/clone.inc.php | 24 +- .../phpDocumentor/clone5.inc.php | 26 +- .../phpDocumentor/common.inc.php | 516 +- .../phpDocumentor/find_phpdoc.php | 88 +- libs/PhpDocumentor-1.3.2/phpdoc.php | 938 +-- libs/Zend/Auth/Storage/NonPersistent.php | 192 +- libs/Zend/Db/Adapter/Abstract.php | 1822 +++--- libs/jquery/jquery.scrollTo-min.js | 16 +- libs/jquery/original lib/jquery.blockUI.js | 722 +-- libs/jquery/original lib/jquery.scrollTo.js | 282 +- libs/jquery/original lib/ui.mouse.js | 506 +- libs/jquery/thickbox.css | 20 +- libs/jquery/tooltip/chili-1.7.pack.js | 2 +- libs/jquery/tooltip/index.html | 176 +- libs/jquery/ui.sortable_modif.js | 540 +- misc/api_internal_call.php | 44 +- misc/api_rest_call.php | 12 +- misc/generateVisits.php | 74 +- misc/phpdoc-config.ini | 128 +- misc/testJavascriptTracker/index.php | 80 +- misc/testJavascriptTracker/page2.php | 88 +- modules/API/APIable.php | 32 +- modules/API/Proxy.php | 342 +- modules/ArchiveProcessing.php | 222 +- modules/ArchiveProcessing/Day.php | 258 +- modules/ArchiveProcessing/Period.php | 20 +- modules/ArchiveProcessing/Record.php | 22 +- modules/Auth.php | 28 +- modules/Common.php | 24 +- modules/Config.php | 28 +- modules/Controller.php | 30 +- modules/Cookie.php | 24 +- modules/DataFiles/Browsers.php | 22 +- modules/DataFiles/Countries.php | 22 +- modules/DataFiles/OS.php | 22 +- modules/DataFiles/SearchEngines.php | 20 +- modules/DataTable.php | 254 +- modules/DataTable/Filter.php | 22 +- modules/DataTable/Filter/AddConstantDetail.php | 22 +- .../DataTable/Filter/ColumnCallbackAddDetail.php | 22 +- .../DataTable/Filter/ColumnCallbackDeleteRow.php | 22 +- modules/DataTable/Filter/ColumnCallbackReplace.php | 22 +- .../DataTable/Filter/DetailCallbackAddDetail.php | 22 +- modules/DataTable/Filter/Empty.php | 22 +- modules/DataTable/Filter/ExcludeLowPopulation.php | 22 +- modules/DataTable/Filter/Limit.php | 22 +- modules/DataTable/Filter/Pattern.php | 22 +- modules/DataTable/Filter/PatternRecursive.php | 24 +- modules/DataTable/Filter/ReplaceColumnNames.php | 22 +- modules/DataTable/Filter/Sort.php | 30 +- modules/DataTable/Manager.php | 22 +- modules/DataTable/Renderer.php | 50 +- modules/DataTable/Renderer/Console.php | 22 +- modules/DataTable/Renderer/Csv.php | 40 +- modules/DataTable/Renderer/Html.php | 22 +- modules/DataTable/Renderer/Json.php | 26 +- modules/DataTable/Renderer/Php.php | 112 +- modules/DataTable/Renderer/Xml.php | 24 +- modules/DataTable/Row.php | 70 +- modules/DataTable/Row/DataTableSummary.php | 22 +- modules/DataTable/Simple.php | 22 +- modules/Date.php | 28 +- modules/ErrorHandler.php | 26 +- modules/ExceptionHandler.php | 26 +- modules/Form.php | 30 +- modules/Log.php | 40 +- modules/Log/APICall.php | 24 +- modules/Log/Error.php | 24 +- modules/Log/Exception.php | 24 +- modules/Log/Message.php | 24 +- modules/LogStats.php | 28 +- modules/LogStats/Config.php | 22 +- modules/LogStats/Generator.php | 20 +- modules/LogStats/Visit.php | 348 +- modules/Period.php | 92 +- modules/Piwik.php | 100 +- modules/Plugin.php | 40 +- modules/PluginsManager.php | 86 +- modules/Site.php | 22 +- modules/SmartyPlugins/function.url.php | 30 +- modules/SmartyPlugins/modifier.sumtime.php | 20 +- modules/Timer.php | 24 +- modules/Translate.php | 44 +- modules/Url.php | 50 +- modules/View.php | 76 +- modules/ViewDataTable/Cloud.php | 34 +- modules/ViewDataTable/GenerateGraphData.php | 106 +- modules/ViewDataTable/Graph.php | 86 +- modules/Visualization/Chart.php | 34 +- modules/Visualization/Cloud.php | 30 +- modules/Visualization/OpenFlashChart.php | 44 +- modules/iView.php | 36 +- modules/testMinimumPhpVersion.php | 58 +- piwik.php | 16 +- plugins/API/Controller.php | 104 +- plugins/AdminHome/templates/index.tpl | 94 +- plugins/AdminHome/templates/menu.tpl | 10 +- plugins/ExamplePlugin/API.php | 124 +- plugins/Home/templates/datatable.tpl | 2 +- plugins/Home/templates/datatable_actions_js.tpl | 8 +- .../Home/templates/datatable_actions_recursive.tpl | 2 +- plugins/Home/templates/datatable_js.tpl | 8 +- plugins/Home/templates/index.tpl | 664 +-- plugins/Home/templates/links_misc_modules.tpl | 12 +- plugins/Home/templates/menu.tpl | 32 +- plugins/Home/templates/sparkline.js | 118 +- plugins/Installation/Controller.php | 52 +- plugins/Installation/FormDatabaseSetup.php | 32 +- plugins/Installation/FormFirstWebsiteSetup.php | 32 +- plugins/Installation/FormGeneralSetup.php | 32 +- plugins/Installation/Installation.php | 32 +- plugins/Installation/View.php | 32 +- plugins/Login/Controller.php | 36 +- plugins/Login/Form.php | 32 +- plugins/Login/Login.php | 38 +- plugins/Openads/Controller.php | 32 +- plugins/Openads/Openads.php | 18 +- plugins/PluginsAdmin/templates/manage.tpl | 4 +- plugins/Provider/API.php | 28 +- plugins/Provider/Provider.php | 38 +- plugins/Referers/API.php | 30 +- plugins/Referers/Referers.php | 32 +- plugins/SitesManager/API.php | 40 +- plugins/SitesManager/Controller.php | 52 +- plugins/SitesManager/SitesManager.php | 72 +- .../templates/DisplayJavascriptCode.tpl | 10 +- plugins/UserCountry/API.php | 32 +- plugins/UserCountry/UserCountry.php | 28 +- plugins/UserSettings/API.php | 30 +- plugins/UserSettings/UserSettings.php | 28 +- plugins/UsersManager/API.php | 72 +- plugins/UsersManager/Controller.php | 32 +- plugins/UsersManager/templates/UsersManager.tpl | 2 +- plugins/VisitFrequency/API.php | 32 +- plugins/VisitFrequency/VisitFrequency.php | 28 +- plugins/VisitTime/API.php | 32 +- plugins/VisitTime/VisitTime.php | 60 +- plugins/VisitorInterest/API.php | 38 +- plugins/VisitorInterest/VisitorInterest.php | 34 +- plugins/VisitsSummary/API.php | 32 +- plugins/VisitsSummary/VisitsSummary.php | 28 +- tests/all_tests.php | 26 +- tests/config_test.php | 12 +- tests/modules/Common.test.php | 50 +- tests/modules/LogStats_Db.test.php | 74 +- tests/modules/PHP_Related.test.php | 74 +- tests/modules/Period.test.php | 238 +- tests/modules/Piwik.test.php | 22 +- tests/modules/SitesManager.test.php | 12 +- tests/modules/TablePartitioning.test.php | 2 +- tests/modules/UsersManager.test.php | 152 +- 802 files changed, 71090 insertions(+), 71090 deletions(-) diff --git a/config/_config.ini.php b/config/_config.ini.php index 6036cbc25b..33bc599e7c 100644 --- a/config/_config.ini.php +++ b/config/_config.ini.php @@ -1,4 +1,4 @@ -; DO NOT REMOVE THIS LINE +; DO NOT REMOVE THIS LINE ; this file is just here for documentation purpose ; the config.ini.php is normally created during the installation process ; when this file is absent it triggers the Installation process diff --git a/index.php b/index.php index 7180b43582..7e630dd0c8 100755 --- a/index.php +++ b/index.php @@ -1,31 +1,31 @@ -init(); +$controller->init(); $controller->dispatch(); diff --git a/libs/HTML/Common.php b/libs/HTML/Common.php index 16fd318858..01ba372445 100755 --- a/libs/HTML/Common.php +++ b/libs/HTML/Common.php @@ -1,464 +1,464 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_Common/ - */ - -/** - * Base class for all HTML classes - * - * @category HTML - * @package HTML_Common - * @author Adam Daniel - * @version Release: 1.2.4 - * @abstract - */ -class HTML_Common -{ - /** - * Associative array of attributes - * @var array - * @access private - */ - var $_attributes = array(); - - /** - * Tab offset of the tag - * @var int - * @access private - */ - var $_tabOffset = 0; - - /** - * Tab string - * @var string - * @since 1.7 - * @access private - */ - var $_tab = "\11"; - - /** - * Contains the line end string - * @var string - * @since 1.7 - * @access private - */ - var $_lineEnd = "\12"; - - /** - * HTML comment on the object - * @var string - * @since 1.5 - * @access private - */ - var $_comment = ''; - - /** - * Class constructor - * @param mixed $attributes Associative array of table tag attributes - * or HTML attributes name="value" pairs - * @param int $tabOffset Indent offset in tabs - * @access public - */ - function HTML_Common($attributes = null, $tabOffset = 0) - { - $this->setAttributes($attributes); - $this->setTabOffset($tabOffset); - } // end constructor - - /** - * Returns the current API version - * @access public - * @returns double - */ - function apiVersion() - { - return 1.7; - } // end func apiVersion - - /** - * Returns the lineEnd - * - * @since 1.7 - * @access private - * @return string - */ - function _getLineEnd() - { - return $this->_lineEnd; - } // end func getLineEnd - - /** - * Returns a string containing the unit for indenting HTML - * - * @since 1.7 - * @access private - * @return string - */ - function _getTab() - { - return $this->_tab; - } // end func _getTab - - /** - * Returns a string containing the offset for the whole HTML code - * - * @return string - * @access private - */ - function _getTabs() - { - return str_repeat($this->_getTab(), $this->_tabOffset); - } // end func _getTabs - - /** - * Returns an HTML formatted attribute string - * @param array $attributes - * @return string - * @access private - */ - function _getAttrString($attributes) - { - $strAttr = ''; - - if (is_array($attributes)) { - $charset = HTML_Common::charset(); - foreach ($attributes as $key => $value) { - $strAttr .= ' ' . $key . '="' . htmlspecialchars($value, ENT_COMPAT, $charset) . '"'; - } - } - return $strAttr; - } // end func _getAttrString - - /** - * Returns a valid atrributes array from either a string or array - * @param mixed $attributes Either a typical HTML attribute string or an associative array - * @access private - * @return array - */ - function _parseAttributes($attributes) - { - if (is_array($attributes)) { - $ret = array(); - foreach ($attributes as $key => $value) { - if (is_int($key)) { - $key = $value = strtolower($value); - } else { - $key = strtolower($key); - } - $ret[$key] = $value; - } - return $ret; - - } elseif (is_string($attributes)) { - $preg = "/(([A-Za-z_:]|[^\\x00-\\x7F])([A-Za-z0-9_:.-]|[^\\x00-\\x7F])*)" . - "([ \\n\\t\\r]+)?(=([ \\n\\t\\r]+)?(\"[^\"]*\"|'[^']*'|[^ \\n\\t\\r]*))?/"; - if (preg_match_all($preg, $attributes, $regs)) { - for ($counter=0; $counter $value) { - $attr1[$key] = $value; - } - } // end func _updateAtrrArray - - /** - * Removes the given attribute from the given array - * - * @param string $attr Attribute name - * @param array $attributes Attribute array - * @since 1.4 - * @access private - * @return void - */ - function _removeAttr($attr, &$attributes) - { - $attr = strtolower($attr); - if (isset($attributes[$attr])) { - unset($attributes[$attr]); - } - } //end func _removeAttr - - /** - * Returns the value of the given attribute - * - * @param string $attr Attribute name - * @since 1.5 - * @access public - * @return string|null returns null if an attribute does not exist - */ - function getAttribute($attr) - { - $attr = strtolower($attr); - if (isset($this->_attributes[$attr])) { - return $this->_attributes[$attr]; - } - return null; - } //end func getAttribute - - /** - * Sets the value of the attribute - * - * @param string Attribute name - * @param string Attribute value (will be set to $name if omitted) - * @access public - */ - function setAttribute($name, $value = null) - { - $name = strtolower($name); - if (is_null($value)) { - $value = $name; - } - $this->_attributes[$name] = $value; - } // end func setAttribute - - /** - * Sets the HTML attributes - * @param mixed $attributes Either a typical HTML attribute string or an associative array - * @access public - */ - function setAttributes($attributes) - { - $this->_attributes = $this->_parseAttributes($attributes); - } // end func setAttributes - - /** - * Returns the assoc array (default) or string of attributes - * - * @param bool Whether to return the attributes as string - * @since 1.6 - * @access public - * @return mixed attributes - */ - function getAttributes($asString = false) - { - if ($asString) { - return $this->_getAttrString($this->_attributes); - } else { - return $this->_attributes; - } - } //end func getAttributes - - /** - * Updates the passed attributes without changing the other existing attributes - * @param mixed $attributes Either a typical HTML attribute string or an associative array - * @access public - */ - function updateAttributes($attributes) - { - $this->_updateAttrArray($this->_attributes, $this->_parseAttributes($attributes)); - } // end func updateAttributes - - /** - * Removes an attribute - * - * @param string $attr Attribute name - * @since 1.4 - * @access public - * @return void - */ - function removeAttribute($attr) - { - $this->_removeAttr($attr, $this->_attributes); - } //end func removeAttribute - - /** - * Sets the line end style to Windows, Mac, Unix or a custom string. - * - * @param string $style "win", "mac", "unix" or custom string. - * @since 1.7 - * @access public - * @return void - */ - function setLineEnd($style) - { - switch ($style) { - case 'win': - $this->_lineEnd = "\15\12"; - break; - case 'unix': - $this->_lineEnd = "\12"; - break; - case 'mac': - $this->_lineEnd = "\15"; - break; - default: - $this->_lineEnd = $style; - } - } // end func setLineEnd - - /** - * Sets the tab offset - * - * @param int $offset - * @access public - */ - function setTabOffset($offset) - { - $this->_tabOffset = $offset; - } // end func setTabOffset - - /** - * Returns the tabOffset - * - * @since 1.5 - * @access public - * @return int - */ - function getTabOffset() - { - return $this->_tabOffset; - } //end func getTabOffset - - /** - * Sets the string used to indent HTML - * - * @since 1.7 - * @param string $string String used to indent ("\11", "\t", ' ', etc.). - * @access public - * @return void - */ - function setTab($string) - { - $this->_tab = $string; - } // end func setTab - - /** - * Sets the HTML comment to be displayed at the beginning of the HTML string - * - * @param string - * @since 1.4 - * @access public - * @return void - */ - function setComment($comment) - { - $this->_comment = $comment; - } // end func setHtmlComment - - /** - * Returns the HTML comment - * - * @since 1.5 - * @access public - * @return string - */ - function getComment() - { - return $this->_comment; - } //end func getComment - - /** - * Abstract method. Must be extended to return the objects HTML - * - * @access public - * @return string - * @abstract - */ - function toHtml() - { - return ''; - } // end func toHtml - - /** - * Displays the HTML to the screen - * - * @access public - */ - function display() - { - print $this->toHtml(); - } // end func display - - /** - * Sets the charset to use by htmlspecialchars() function - * - * Since this parameter is expected to be global, the function is designed - * to be called statically: - * - * HTML_Common::charset('utf-8'); - * - * or - * - * $charset = HTML_Common::charset(); - * - * - * @param string New charset to use. Omit if just getting the - * current value. Consult the htmlspecialchars() docs - * for a list of supported character sets. - * @return string Current charset - * @access public - * @static - */ - function charset($newCharset = null) - { - static $charset = 'ISO-8859-1'; - - if (!is_null($newCharset)) { - $charset = $newCharset; - } - return $charset; - } // end func charset -} // end class HTML_Common -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_Common/ + */ + +/** + * Base class for all HTML classes + * + * @category HTML + * @package HTML_Common + * @author Adam Daniel + * @version Release: 1.2.4 + * @abstract + */ +class HTML_Common +{ + /** + * Associative array of attributes + * @var array + * @access private + */ + var $_attributes = array(); + + /** + * Tab offset of the tag + * @var int + * @access private + */ + var $_tabOffset = 0; + + /** + * Tab string + * @var string + * @since 1.7 + * @access private + */ + var $_tab = "\11"; + + /** + * Contains the line end string + * @var string + * @since 1.7 + * @access private + */ + var $_lineEnd = "\12"; + + /** + * HTML comment on the object + * @var string + * @since 1.5 + * @access private + */ + var $_comment = ''; + + /** + * Class constructor + * @param mixed $attributes Associative array of table tag attributes + * or HTML attributes name="value" pairs + * @param int $tabOffset Indent offset in tabs + * @access public + */ + function HTML_Common($attributes = null, $tabOffset = 0) + { + $this->setAttributes($attributes); + $this->setTabOffset($tabOffset); + } // end constructor + + /** + * Returns the current API version + * @access public + * @returns double + */ + function apiVersion() + { + return 1.7; + } // end func apiVersion + + /** + * Returns the lineEnd + * + * @since 1.7 + * @access private + * @return string + */ + function _getLineEnd() + { + return $this->_lineEnd; + } // end func getLineEnd + + /** + * Returns a string containing the unit for indenting HTML + * + * @since 1.7 + * @access private + * @return string + */ + function _getTab() + { + return $this->_tab; + } // end func _getTab + + /** + * Returns a string containing the offset for the whole HTML code + * + * @return string + * @access private + */ + function _getTabs() + { + return str_repeat($this->_getTab(), $this->_tabOffset); + } // end func _getTabs + + /** + * Returns an HTML formatted attribute string + * @param array $attributes + * @return string + * @access private + */ + function _getAttrString($attributes) + { + $strAttr = ''; + + if (is_array($attributes)) { + $charset = HTML_Common::charset(); + foreach ($attributes as $key => $value) { + $strAttr .= ' ' . $key . '="' . htmlspecialchars($value, ENT_COMPAT, $charset) . '"'; + } + } + return $strAttr; + } // end func _getAttrString + + /** + * Returns a valid atrributes array from either a string or array + * @param mixed $attributes Either a typical HTML attribute string or an associative array + * @access private + * @return array + */ + function _parseAttributes($attributes) + { + if (is_array($attributes)) { + $ret = array(); + foreach ($attributes as $key => $value) { + if (is_int($key)) { + $key = $value = strtolower($value); + } else { + $key = strtolower($key); + } + $ret[$key] = $value; + } + return $ret; + + } elseif (is_string($attributes)) { + $preg = "/(([A-Za-z_:]|[^\\x00-\\x7F])([A-Za-z0-9_:.-]|[^\\x00-\\x7F])*)" . + "([ \\n\\t\\r]+)?(=([ \\n\\t\\r]+)?(\"[^\"]*\"|'[^']*'|[^ \\n\\t\\r]*))?/"; + if (preg_match_all($preg, $attributes, $regs)) { + for ($counter=0; $counter $value) { + $attr1[$key] = $value; + } + } // end func _updateAtrrArray + + /** + * Removes the given attribute from the given array + * + * @param string $attr Attribute name + * @param array $attributes Attribute array + * @since 1.4 + * @access private + * @return void + */ + function _removeAttr($attr, &$attributes) + { + $attr = strtolower($attr); + if (isset($attributes[$attr])) { + unset($attributes[$attr]); + } + } //end func _removeAttr + + /** + * Returns the value of the given attribute + * + * @param string $attr Attribute name + * @since 1.5 + * @access public + * @return string|null returns null if an attribute does not exist + */ + function getAttribute($attr) + { + $attr = strtolower($attr); + if (isset($this->_attributes[$attr])) { + return $this->_attributes[$attr]; + } + return null; + } //end func getAttribute + + /** + * Sets the value of the attribute + * + * @param string Attribute name + * @param string Attribute value (will be set to $name if omitted) + * @access public + */ + function setAttribute($name, $value = null) + { + $name = strtolower($name); + if (is_null($value)) { + $value = $name; + } + $this->_attributes[$name] = $value; + } // end func setAttribute + + /** + * Sets the HTML attributes + * @param mixed $attributes Either a typical HTML attribute string or an associative array + * @access public + */ + function setAttributes($attributes) + { + $this->_attributes = $this->_parseAttributes($attributes); + } // end func setAttributes + + /** + * Returns the assoc array (default) or string of attributes + * + * @param bool Whether to return the attributes as string + * @since 1.6 + * @access public + * @return mixed attributes + */ + function getAttributes($asString = false) + { + if ($asString) { + return $this->_getAttrString($this->_attributes); + } else { + return $this->_attributes; + } + } //end func getAttributes + + /** + * Updates the passed attributes without changing the other existing attributes + * @param mixed $attributes Either a typical HTML attribute string or an associative array + * @access public + */ + function updateAttributes($attributes) + { + $this->_updateAttrArray($this->_attributes, $this->_parseAttributes($attributes)); + } // end func updateAttributes + + /** + * Removes an attribute + * + * @param string $attr Attribute name + * @since 1.4 + * @access public + * @return void + */ + function removeAttribute($attr) + { + $this->_removeAttr($attr, $this->_attributes); + } //end func removeAttribute + + /** + * Sets the line end style to Windows, Mac, Unix or a custom string. + * + * @param string $style "win", "mac", "unix" or custom string. + * @since 1.7 + * @access public + * @return void + */ + function setLineEnd($style) + { + switch ($style) { + case 'win': + $this->_lineEnd = "\15\12"; + break; + case 'unix': + $this->_lineEnd = "\12"; + break; + case 'mac': + $this->_lineEnd = "\15"; + break; + default: + $this->_lineEnd = $style; + } + } // end func setLineEnd + + /** + * Sets the tab offset + * + * @param int $offset + * @access public + */ + function setTabOffset($offset) + { + $this->_tabOffset = $offset; + } // end func setTabOffset + + /** + * Returns the tabOffset + * + * @since 1.5 + * @access public + * @return int + */ + function getTabOffset() + { + return $this->_tabOffset; + } //end func getTabOffset + + /** + * Sets the string used to indent HTML + * + * @since 1.7 + * @param string $string String used to indent ("\11", "\t", ' ', etc.). + * @access public + * @return void + */ + function setTab($string) + { + $this->_tab = $string; + } // end func setTab + + /** + * Sets the HTML comment to be displayed at the beginning of the HTML string + * + * @param string + * @since 1.4 + * @access public + * @return void + */ + function setComment($comment) + { + $this->_comment = $comment; + } // end func setHtmlComment + + /** + * Returns the HTML comment + * + * @since 1.5 + * @access public + * @return string + */ + function getComment() + { + return $this->_comment; + } //end func getComment + + /** + * Abstract method. Must be extended to return the objects HTML + * + * @access public + * @return string + * @abstract + */ + function toHtml() + { + return ''; + } // end func toHtml + + /** + * Displays the HTML to the screen + * + * @access public + */ + function display() + { + print $this->toHtml(); + } // end func display + + /** + * Sets the charset to use by htmlspecialchars() function + * + * Since this parameter is expected to be global, the function is designed + * to be called statically: + * + * HTML_Common::charset('utf-8'); + * + * or + * + * $charset = HTML_Common::charset(); + * + * + * @param string New charset to use. Omit if just getting the + * current value. Consult the htmlspecialchars() docs + * for a list of supported character sets. + * @return string Current charset + * @access public + * @static + */ + function charset($newCharset = null) + { + static $charset = 'ISO-8859-1'; + + if (!is_null($newCharset)) { + $charset = $newCharset; + } + return $charset; + } // end func charset +} // end class HTML_Common +?> diff --git a/libs/HTML/QuickForm.php b/libs/HTML/QuickForm.php index 42cb850a94..ff5f8395dc 100755 --- a/libs/HTML/QuickForm.php +++ b/libs/HTML/QuickForm.php @@ -1,2054 +1,2054 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * PEAR and PEAR_Error classes, for error handling - */ -require_once 'PEAR.php'; -/** - * Base class for all HTML classes - */ -require_once 'HTML/Common.php'; - -/** - * Element types known to HTML_QuickForm - * @see HTML_QuickForm::registerElementType(), HTML_QuickForm::getRegisteredTypes(), - * HTML_QuickForm::isTypeRegistered() - * @global array $GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'] - */ -$GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'] = - array( - 'group' =>array('HTML/QuickForm/group.php','HTML_QuickForm_group'), - 'hidden' =>array('HTML/QuickForm/hidden.php','HTML_QuickForm_hidden'), - 'reset' =>array('HTML/QuickForm/reset.php','HTML_QuickForm_reset'), - 'checkbox' =>array('HTML/QuickForm/checkbox.php','HTML_QuickForm_checkbox'), - 'file' =>array('HTML/QuickForm/file.php','HTML_QuickForm_file'), - 'image' =>array('HTML/QuickForm/image.php','HTML_QuickForm_image'), - 'password' =>array('HTML/QuickForm/password.php','HTML_QuickForm_password'), - 'radio' =>array('HTML/QuickForm/radio.php','HTML_QuickForm_radio'), - 'button' =>array('HTML/QuickForm/button.php','HTML_QuickForm_button'), - 'submit' =>array('HTML/QuickForm/submit.php','HTML_QuickForm_submit'), - 'select' =>array('HTML/QuickForm/select.php','HTML_QuickForm_select'), - 'hiddenselect' =>array('HTML/QuickForm/hiddenselect.php','HTML_QuickForm_hiddenselect'), - 'text' =>array('HTML/QuickForm/text.php','HTML_QuickForm_text'), - 'textarea' =>array('HTML/QuickForm/textarea.php','HTML_QuickForm_textarea'), - 'link' =>array('HTML/QuickForm/link.php','HTML_QuickForm_link'), - 'advcheckbox' =>array('HTML/QuickForm/advcheckbox.php','HTML_QuickForm_advcheckbox'), - 'date' =>array('HTML/QuickForm/date.php','HTML_QuickForm_date'), - 'static' =>array('HTML/QuickForm/static.php','HTML_QuickForm_static'), - 'header' =>array('HTML/QuickForm/header.php', 'HTML_QuickForm_header'), - 'html' =>array('HTML/QuickForm/html.php', 'HTML_QuickForm_html'), - 'hierselect' =>array('HTML/QuickForm/hierselect.php', 'HTML_QuickForm_hierselect'), - 'autocomplete' =>array('HTML/QuickForm/autocomplete.php', 'HTML_QuickForm_autocomplete'), - 'xbutton' =>array('HTML/QuickForm/xbutton.php','HTML_QuickForm_xbutton') - ); - -/** - * Validation rules known to HTML_QuickForm - * @see HTML_QuickForm::registerRule(), HTML_QuickForm::getRegisteredRules(), - * HTML_QuickForm::isRuleRegistered() - * @global array $GLOBALS['_HTML_QuickForm_registered_rules'] - */ -$GLOBALS['_HTML_QuickForm_registered_rules'] = array( - 'required' => array('html_quickform_rule_required', 'HTML/QuickForm/Rule/Required.php'), - 'maxlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'), - 'minlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'), - 'rangelength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'), - 'email' => array('html_quickform_rule_email', 'HTML/QuickForm/Rule/Email.php'), - 'regex' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), - 'lettersonly' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), - 'alphanumeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), - 'numeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), - 'nopunctuation' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), - 'nonzero' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'), - 'callback' => array('html_quickform_rule_callback', 'HTML/QuickForm/Rule/Callback.php'), - 'compare' => array('html_quickform_rule_compare', 'HTML/QuickForm/Rule/Compare.php') -); - -// {{{ error codes - -/**#@+ - * Error codes for HTML_QuickForm - * - * Codes are mapped to textual messages by errorMessage() method, if you add a - * new code be sure to add a new message for it to errorMessage() - * - * @see HTML_QuickForm::errorMessage() - */ -define('QUICKFORM_OK', 1); -define('QUICKFORM_ERROR', -1); -define('QUICKFORM_INVALID_RULE', -2); -define('QUICKFORM_NONEXIST_ELEMENT', -3); -define('QUICKFORM_INVALID_FILTER', -4); -define('QUICKFORM_UNREGISTERED_ELEMENT', -5); -define('QUICKFORM_INVALID_ELEMENT_NAME', -6); -define('QUICKFORM_INVALID_PROCESS', -7); -define('QUICKFORM_DEPRECATED', -8); -define('QUICKFORM_INVALID_DATASOURCE', -9); -/**#@-*/ - -// }}} - -/** - * Create, validate and process HTML forms - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - */ -class HTML_QuickForm extends HTML_Common -{ - // {{{ properties - - /** - * Array containing the form fields - * @since 1.0 - * @var array - * @access private - */ - var $_elements = array(); - - /** - * Array containing element name to index map - * @since 1.1 - * @var array - * @access private - */ - var $_elementIndex = array(); - - /** - * Array containing indexes of duplicate elements - * @since 2.10 - * @var array - * @access private - */ - var $_duplicateIndex = array(); - - /** - * Array containing required field IDs - * @since 1.0 - * @var array - * @access private - */ - var $_required = array(); - - /** - * Prefix message in javascript alert if error - * @since 1.0 - * @var string - * @access public - */ - var $_jsPrefix = 'Invalid information entered.'; - - /** - * Postfix message in javascript alert if error - * @since 1.0 - * @var string - * @access public - */ - var $_jsPostfix = 'Please correct these fields.'; - - /** - * Datasource object implementing the informal - * datasource protocol - * @since 3.3 - * @var object - * @access private - */ - var $_datasource; - - /** - * Array of default form values - * @since 2.0 - * @var array - * @access private - */ - var $_defaultValues = array(); - - /** - * Array of constant form values - * @since 2.0 - * @var array - * @access private - */ - var $_constantValues = array(); - - /** - * Array of submitted form values - * @since 1.0 - * @var array - * @access private - */ - var $_submitValues = array(); - - /** - * Array of submitted form files - * @since 1.0 - * @var integer - * @access public - */ - var $_submitFiles = array(); - - /** - * Value for maxfilesize hidden element if form contains file input - * @since 1.0 - * @var integer - * @access public - */ - var $_maxFileSize = 1048576; // 1 Mb = 1048576 - - /** - * Flag to know if all fields are frozen - * @since 1.0 - * @var boolean - * @access private - */ - var $_freezeAll = false; - - /** - * Array containing the form rules - * @since 1.0 - * @var array - * @access private - */ - var $_rules = array(); - - /** - * Form rules, global variety - * @var array - * @access private - */ - var $_formRules = array(); - - /** - * Array containing the validation errors - * @since 1.0 - * @var array - * @access private - */ - var $_errors = array(); - - /** - * Note for required fields in the form - * @var string - * @since 1.0 - * @access private - */ - var $_requiredNote = '* denotes required field'; - - /** - * Whether the form was submitted - * @var boolean - * @access private - */ - var $_flagSubmitted = false; - - // }}} - // {{{ constructor - - /** - * Class constructor - * @param string $formName Form's name. - * @param string $method (optional)Form's method defaults to 'POST' - * @param string $action (optional)Form's action - * @param string $target (optional)Form's target defaults to '_self' - * @param mixed $attributes (optional)Extra attributes for
tag - * @param bool $trackSubmit (optional)Whether to track if the form was submitted by adding a special hidden field - * @access public - */ - function HTML_QuickForm($formName='', $method='post', $action='', $target='', $attributes=null, $trackSubmit = false) - { - HTML_Common::HTML_Common($attributes); - $method = (strtoupper($method) == 'GET') ? 'get' : 'post'; - $action = ($action == '') ? $_SERVER['PHP_SELF'] : $action; - $target = empty($target) ? array() : array('target' => $target); - $attributes = array('action'=>$action, 'method'=>$method, 'name'=>$formName, 'id'=>$formName) + $target; - $this->updateAttributes($attributes); - if (!$trackSubmit || isset($_REQUEST['_qf__' . $formName])) { - if (1 == get_magic_quotes_gpc()) { - $this->_submitValues = $this->_recursiveFilter('stripslashes', 'get' == $method? $_GET: $_POST); - foreach ($_FILES as $keyFirst => $valFirst) { - foreach ($valFirst as $keySecond => $valSecond) { - if ('name' == $keySecond) { - $this->_submitFiles[$keyFirst][$keySecond] = $this->_recursiveFilter('stripslashes', $valSecond); - } else { - $this->_submitFiles[$keyFirst][$keySecond] = $valSecond; - } - } - } - } else { - $this->_submitValues = 'get' == $method? $_GET: $_POST; - $this->_submitFiles = $_FILES; - } - $this->_flagSubmitted = count($this->_submitValues) > 0 || count($this->_submitFiles) > 0; - } - if ($trackSubmit) { - unset($this->_submitValues['_qf__' . $formName]); - $this->addElement('hidden', '_qf__' . $formName, null); - } - if (preg_match('/^([0-9]+)([a-zA-Z]*)$/', ini_get('upload_max_filesize'), $matches)) { - // see http://www.php.net/manual/en/faq.using.php#faq.using.shorthandbytes - switch (strtoupper($matches['2'])) { - case 'G': - $this->_maxFileSize = $matches['1'] * 1073741824; - break; - case 'M': - $this->_maxFileSize = $matches['1'] * 1048576; - break; - case 'K': - $this->_maxFileSize = $matches['1'] * 1024; - break; - default: - $this->_maxFileSize = $matches['1']; - } - } - } // end constructor - - // }}} - // {{{ apiVersion() - - /** - * Returns the current API version - * - * @since 1.0 - * @access public - * @return float - */ - function apiVersion() - { - return 3.2; - } // end func apiVersion - - // }}} - // {{{ registerElementType() - - /** - * Registers a new element type - * - * @param string $typeName Name of element type - * @param string $include Include path for element type - * @param string $className Element class name - * @since 1.0 - * @access public - * @return void - */ - function registerElementType($typeName, $include, $className) - { - $GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'][strtolower($typeName)] = array($include, $className); - } // end func registerElementType - - // }}} - // {{{ registerRule() - - /** - * Registers a new validation rule - * - * @param string $ruleName Name of validation rule - * @param string $type Either: 'regex', 'function' or 'rule' for an HTML_QuickForm_Rule object - * @param string $data1 Name of function, regular expression or HTML_QuickForm_Rule classname - * @param string $data2 Object parent of above function or HTML_QuickForm_Rule file path - * @since 1.0 - * @access public - * @return void - */ - function registerRule($ruleName, $type, $data1, $data2 = null) - { - include_once('HTML/QuickForm/RuleRegistry.php'); - $registry =& HTML_QuickForm_RuleRegistry::singleton(); - $registry->registerRule($ruleName, $type, $data1, $data2); - } // end func registerRule - - // }}} - // {{{ elementExists() - - /** - * Returns true if element is in the form - * - * @param string $element form name of element to check - * @since 1.0 - * @access public - * @return boolean - */ - function elementExists($element=null) - { - return isset($this->_elementIndex[$element]); - } // end func elementExists - - // }}} - // {{{ setDatasource() - - /** - * Sets a datasource object for this form object - * - * Datasource default and constant values will feed the QuickForm object if - * the datasource implements defaultValues() and constantValues() methods. - * - * @param object $datasource datasource object implementing the informal datasource protocol - * @param mixed $defaultsFilter string or array of filter(s) to apply to default values - * @param mixed $constantsFilter string or array of filter(s) to apply to constants values - * @since 3.3 - * @access public - * @return void - * @throws HTML_QuickForm_Error - */ - function setDatasource(&$datasource, $defaultsFilter = null, $constantsFilter = null) - { - if (is_object($datasource)) { - $this->_datasource =& $datasource; - if (is_callable(array($datasource, 'defaultValues'))) { - $this->setDefaults($datasource->defaultValues($this), $defaultsFilter); - } - if (is_callable(array($datasource, 'constantValues'))) { - $this->setConstants($datasource->constantValues($this), $constantsFilter); - } - } else { - return PEAR::raiseError(null, QUICKFORM_INVALID_DATASOURCE, null, E_USER_WARNING, "Datasource is not an object in QuickForm::setDatasource()", 'HTML_QuickForm_Error', true); - } - } // end func setDatasource - - // }}} - // {{{ setDefaults() - - /** - * Initializes default form values - * - * @param array $defaultValues values used to fill the form - * @param mixed $filter (optional) filter(s) to apply to all default values - * @since 1.0 - * @access public - * @return void - * @throws HTML_QuickForm_Error - */ - function setDefaults($defaultValues = null, $filter = null) - { - if (is_array($defaultValues)) { - if (isset($filter)) { - if (is_array($filter) && (2 != count($filter) || !is_callable($filter))) { - foreach ($filter as $val) { - if (!is_callable($val)) { - return PEAR::raiseError(null, QUICKFORM_INVALID_FILTER, null, E_USER_WARNING, "Callback function does not exist in QuickForm::setDefaults()", 'HTML_QuickForm_Error', true); - } else { - $defaultValues = $this->_recursiveFilter($val, $defaultValues); - } - } - } elseif (!is_callable($filter)) { - return PEAR::raiseError(null, QUICKFORM_INVALID_FILTER, null, E_USER_WARNING, "Callback function does not exist in QuickForm::setDefaults()", 'HTML_QuickForm_Error', true); - } else { - $defaultValues = $this->_recursiveFilter($filter, $defaultValues); - } - } - $this->_defaultValues = HTML_QuickForm::arrayMerge($this->_defaultValues, $defaultValues); - foreach (array_keys($this->_elements) as $key) { - $this->_elements[$key]->onQuickFormEvent('updateValue', null, $this); - } - } - } // end func setDefaults - - // }}} - // {{{ setConstants() - - /** - * Initializes constant form values. - * These values won't get overridden by POST or GET vars - * - * @param array $constantValues values used to fill the form - * @param mixed $filter (optional) filter(s) to apply to all default values - * - * @since 2.0 - * @access public - * @return void - * @throws HTML_QuickForm_Error - */ - function setConstants($constantValues = null, $filter = null) - { - if (is_array($constantValues)) { - if (isset($filter)) { - if (is_array($filter) && (2 != count($filter) || !is_callable($filter))) { - foreach ($filter as $val) { - if (!is_callable($val)) { - return PEAR::raiseError(null, QUICKFORM_INVALID_FILTER, null, E_USER_WARNING, "Callback function does not exist in QuickForm::setConstants()", 'HTML_QuickForm_Error', true); - } else { - $constantValues = $this->_recursiveFilter($val, $constantValues); - } - } - } elseif (!is_callable($filter)) { - return PEAR::raiseError(null, QUICKFORM_INVALID_FILTER, null, E_USER_WARNING, "Callback function does not exist in QuickForm::setConstants()", 'HTML_QuickForm_Error', true); - } else { - $constantValues = $this->_recursiveFilter($filter, $constantValues); - } - } - $this->_constantValues = HTML_QuickForm::arrayMerge($this->_constantValues, $constantValues); - foreach (array_keys($this->_elements) as $key) { - $this->_elements[$key]->onQuickFormEvent('updateValue', null, $this); - } - } - } // end func setConstants - - // }}} - // {{{ setMaxFileSize() - - /** - * Sets the value of MAX_FILE_SIZE hidden element - * - * @param int $bytes Size in bytes - * @since 3.0 - * @access public - * @return void - */ - function setMaxFileSize($bytes = 0) - { - if ($bytes > 0) { - $this->_maxFileSize = $bytes; - } - if (!$this->elementExists('MAX_FILE_SIZE')) { - $this->addElement('hidden', 'MAX_FILE_SIZE', $this->_maxFileSize); - } else { - $el =& $this->getElement('MAX_FILE_SIZE'); - $el->updateAttributes(array('value' => $this->_maxFileSize)); - } - } // end func setMaxFileSize - - // }}} - // {{{ getMaxFileSize() - - /** - * Returns the value of MAX_FILE_SIZE hidden element - * - * @since 3.0 - * @access public - * @return int max file size in bytes - */ - function getMaxFileSize() - { - return $this->_maxFileSize; - } // end func getMaxFileSize - - // }}} - // {{{ &createElement() - - /** - * Creates a new form element of the given type. - * - * This method accepts variable number of parameters, their - * meaning and count depending on $elementType - * - * @param string $elementType type of element to add (text, textarea, file...) - * @since 1.0 - * @access public - * @return HTML_QuickForm_Element - * @throws HTML_QuickForm_Error - */ - function &createElement($elementType) - { - $args = func_get_args(); - $element =& HTML_QuickForm::_loadElement('createElement', $elementType, array_slice($args, 1)); - return $element; - } // end func createElement - - // }}} - // {{{ _loadElement() - - /** - * Returns a form element of the given type - * - * @param string $event event to send to newly created element ('createElement' or 'addElement') - * @param string $type element type - * @param array $args arguments for event - * @since 2.0 - * @access private - * @return HTML_QuickForm_Element - * @throws HTML_QuickForm_Error - */ - function &_loadElement($event, $type, $args) - { - $type = strtolower($type); - if (!HTML_QuickForm::isTypeRegistered($type)) { - $error = PEAR::raiseError(null, QUICKFORM_UNREGISTERED_ELEMENT, null, E_USER_WARNING, "Element '$type' does not exist in HTML_QuickForm::_loadElement()", 'HTML_QuickForm_Error', true); - return $error; - } - $className = $GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'][$type][1]; - $includeFile = $GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'][$type][0]; - include_once($includeFile); - $elementObject = new $className(); - for ($i = 0; $i < 5; $i++) { - if (!isset($args[$i])) { - $args[$i] = null; - } - } - $err = $elementObject->onQuickFormEvent($event, $args, $this); - if ($err !== true) { - return $err; - } - return $elementObject; - } // end func _loadElement - - // }}} - // {{{ addElement() - - /** - * Adds an element into the form - * - * If $element is a string representing element type, then this - * method accepts variable number of parameters, their meaning - * and count depending on $element - * - * @param mixed $element element object or type of element to add (text, textarea, file...) - * @since 1.0 - * @return HTML_QuickForm_Element a reference to newly added element - * @access public - * @throws HTML_QuickForm_Error - */ - function &addElement($element) - { - if (is_object($element) && is_subclass_of($element, 'html_quickform_element')) { - $elementObject = &$element; - $elementObject->onQuickFormEvent('updateValue', null, $this); - } else { - $args = func_get_args(); - $elementObject =& $this->_loadElement('addElement', $element, array_slice($args, 1)); - if (PEAR::isError($elementObject)) { - return $elementObject; - } - } - $elementName = $elementObject->getName(); - - // Add the element if it is not an incompatible duplicate - if (!empty($elementName) && isset($this->_elementIndex[$elementName])) { - if ($this->_elements[$this->_elementIndex[$elementName]]->getType() == - $elementObject->getType()) { - $this->_elements[] =& $elementObject; - $elKeys = array_keys($this->_elements); - $this->_duplicateIndex[$elementName][] = end($elKeys); - } else { - $error = PEAR::raiseError(null, QUICKFORM_INVALID_ELEMENT_NAME, null, E_USER_WARNING, "Element '$elementName' already exists in HTML_QuickForm::addElement()", 'HTML_QuickForm_Error', true); - return $error; - } - } else { - $this->_elements[] =& $elementObject; - $elKeys = array_keys($this->_elements); - $this->_elementIndex[$elementName] = end($elKeys); - } - if ($this->_freezeAll) { - $elementObject->freeze(); - } - - return $elementObject; - } // end func addElement - - // }}} - // {{{ insertElementBefore() - - /** - * Inserts a new element right before the other element - * - * Warning: it is not possible to check whether the $element is already - * added to the form, therefore if you want to move the existing form - * element to a new position, you'll have to use removeElement(): - * $form->insertElementBefore($form->removeElement('foo', false), 'bar'); - * - * @access public - * @since 3.2.4 - * @param HTML_QuickForm_element Element to insert - * @param string Name of the element before which the new - * one is inserted - * @return HTML_QuickForm_element reference to inserted element - * @throws HTML_QuickForm_Error - */ - function &insertElementBefore(&$element, $nameAfter) - { - if (!empty($this->_duplicateIndex[$nameAfter])) { - $error = PEAR::raiseError(null, QUICKFORM_INVALID_ELEMENT_NAME, null, E_USER_WARNING, 'Several elements named "' . $nameAfter . '" exist in HTML_QuickForm::insertElementBefore().', 'HTML_QuickForm_Error', true); - return $error; - } elseif (!$this->elementExists($nameAfter)) { - $error = PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$nameAfter' does not exist in HTML_QuickForm::insertElementBefore()", 'HTML_QuickForm_Error', true); - return $error; - } - $elementName = $element->getName(); - $targetIdx = $this->_elementIndex[$nameAfter]; - $duplicate = false; - // Like in addElement(), check that it's not an incompatible duplicate - if (!empty($elementName) && isset($this->_elementIndex[$elementName])) { - if ($this->_elements[$this->_elementIndex[$elementName]]->getType() != $element->getType()) { - $error = PEAR::raiseError(null, QUICKFORM_INVALID_ELEMENT_NAME, null, E_USER_WARNING, "Element '$elementName' already exists in HTML_QuickForm::insertElementBefore()", 'HTML_QuickForm_Error', true); - return $error; - } - $duplicate = true; - } - // Move all the elements after added back one place, reindex _elementIndex and/or _duplicateIndex - $elKeys = array_keys($this->_elements); - for ($i = end($elKeys); $i >= $targetIdx; $i--) { - if (isset($this->_elements[$i])) { - $currentName = $this->_elements[$i]->getName(); - $this->_elements[$i + 1] =& $this->_elements[$i]; - if ($this->_elementIndex[$currentName] == $i) { - $this->_elementIndex[$currentName] = $i + 1; - } else { - $dupIdx = array_search($i, $this->_duplicateIndex[$currentName]); - $this->_duplicateIndex[$currentName][$dupIdx] = $i + 1; - } - unset($this->_elements[$i]); - } - } - // Put the element in place finally - $this->_elements[$targetIdx] =& $element; - if (!$duplicate) { - $this->_elementIndex[$elementName] = $targetIdx; - } else { - $this->_duplicateIndex[$elementName][] = $targetIdx; - } - $element->onQuickFormEvent('updateValue', null, $this); - if ($this->_freezeAll) { - $element->freeze(); - } - // If not done, the elements will appear in reverse order - ksort($this->_elements); - return $element; - } - - // }}} - // {{{ addGroup() - - /** - * Adds an element group - * @param array $elements array of elements composing the group - * @param string $name (optional)group name - * @param string $groupLabel (optional)group label - * @param string $separator (optional)string to separate elements - * @param string $appendName (optional)specify whether the group name should be - * used in the form element name ex: group[element] - * @return HTML_QuickForm_group reference to a newly added group - * @since 2.8 - * @access public - * @throws HTML_QuickForm_Error - */ - function &addGroup($elements, $name=null, $groupLabel='', $separator=null, $appendName = true) - { - static $anonGroups = 1; - - if (0 == strlen($name)) { - $name = 'qf_group_' . $anonGroups++; - $appendName = false; - } - $group =& $this->addElement('group', $name, $groupLabel, $elements, $separator, $appendName); - return $group; - } // end func addGroup - - // }}} - // {{{ &getElement() - - /** - * Returns a reference to the element - * - * @param string $element Element name - * @since 2.0 - * @access public - * @return HTML_QuickForm_element reference to element - * @throws HTML_QuickForm_Error - */ - function &getElement($element) - { - if (isset($this->_elementIndex[$element])) { - return $this->_elements[$this->_elementIndex[$element]]; - } else { - $error = PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$element' does not exist in HTML_QuickForm::getElement()", 'HTML_QuickForm_Error', true); - return $error; - } - } // end func getElement - - // }}} - // {{{ &getElementValue() - - /** - * Returns the element's raw value - * - * This returns the value as submitted by the form (not filtered) - * or set via setDefaults() or setConstants() - * - * @param string $element Element name - * @since 2.0 - * @access public - * @return mixed element value - * @throws HTML_QuickForm_Error - */ - function &getElementValue($element) - { - if (!isset($this->_elementIndex[$element])) { - $error = PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$element' does not exist in HTML_QuickForm::getElementValue()", 'HTML_QuickForm_Error', true); - return $error; - } - $value = $this->_elements[$this->_elementIndex[$element]]->getValue(); - if (isset($this->_duplicateIndex[$element])) { - foreach ($this->_duplicateIndex[$element] as $index) { - if (null !== ($v = $this->_elements[$index]->getValue())) { - if (is_array($value)) { - $value[] = $v; - } else { - $value = (null === $value)? $v: array($value, $v); - } - } - } - } - return $value; - } // end func getElementValue - - // }}} - // {{{ getSubmitValue() - - /** - * Returns the elements value after submit and filter - * - * @param string Element name - * @since 2.0 - * @access public - * @return mixed submitted element value or null if not set - */ - function getSubmitValue($elementName) - { - $value = null; - if (isset($this->_submitValues[$elementName]) || isset($this->_submitFiles[$elementName])) { - $value = isset($this->_submitValues[$elementName])? $this->_submitValues[$elementName]: array(); - if (is_array($value) && isset($this->_submitFiles[$elementName])) { - foreach ($this->_submitFiles[$elementName] as $k => $v) { - $value = HTML_QuickForm::arrayMerge($value, $this->_reindexFiles($this->_submitFiles[$elementName][$k], $k)); - } - } - - } elseif ('file' == $this->getElementType($elementName)) { - return $this->getElementValue($elementName); - - } elseif (false !== ($pos = strpos($elementName, '['))) { - $base = str_replace( - array('\\', '\''), array('\\\\', '\\\''), - substr($elementName, 0, $pos) - ); - $idx = "['" . str_replace( - array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), - substr($elementName, $pos + 1, -1) - ) . "']"; - if (isset($this->_submitValues[$base])) { - $value = eval("return (isset(\$this->_submitValues['{$base}']{$idx})) ? \$this->_submitValues['{$base}']{$idx} : null;"); - } - - if ((is_array($value) || null === $value) && isset($this->_submitFiles[$base])) { - $props = array('name', 'type', 'size', 'tmp_name', 'error'); - $code = "if (!isset(\$this->_submitFiles['{$base}']['name']{$idx})) {\n" . - " return null;\n" . - "} else {\n" . - " \$v = array();\n"; - foreach ($props as $prop) { - $code .= " \$v = HTML_QuickForm::arrayMerge(\$v, \$this->_reindexFiles(\$this->_submitFiles['{$base}']['{$prop}']{$idx}, '{$prop}'));\n"; - } - $fileValue = eval($code . " return \$v;\n}\n"); - if (null !== $fileValue) { - $value = null === $value? $fileValue: HTML_QuickForm::arrayMerge($value, $fileValue); - } - } - } - - // This is only supposed to work for groups with appendName = false - if (null === $value && 'group' == $this->getElementType($elementName)) { - $group =& $this->getElement($elementName); - $elements =& $group->getElements(); - foreach (array_keys($elements) as $key) { - $name = $group->getElementName($key); - // prevent endless recursion in case of radios and such - if ($name != $elementName) { - if (null !== ($v = $this->getSubmitValue($name))) { - $value[$name] = $v; - } - } - } - } - return $value; - } // end func getSubmitValue - - // }}} - // {{{ _reindexFiles() - - /** - * A helper function to change the indexes in $_FILES array - * - * @param mixed Some value from the $_FILES array - * @param string The key from the $_FILES array that should be appended - * @return array - */ - function _reindexFiles($value, $key) - { - if (!is_array($value)) { - return array($key => $value); - } else { - $ret = array(); - foreach ($value as $k => $v) { - $ret[$k] = $this->_reindexFiles($v, $key); - } - return $ret; - } - } - - // }}} - // {{{ getElementError() - - /** - * Returns error corresponding to validated element - * - * @param string $element Name of form element to check - * @since 1.0 - * @access public - * @return string error message corresponding to checked element - */ - function getElementError($element) - { - if (isset($this->_errors[$element])) { - return $this->_errors[$element]; - } - } // end func getElementError - - // }}} - // {{{ setElementError() - - /** - * Set error message for a form element - * - * @param string $element Name of form element to set error for - * @param string $message Error message, if empty then removes the current error message - * @since 1.0 - * @access public - * @return void - */ - function setElementError($element, $message = null) - { - if (!empty($message)) { - $this->_errors[$element] = $message; - } else { - unset($this->_errors[$element]); - } - } // end func setElementError - - // }}} - // {{{ getElementType() - - /** - * Returns the type of the given element - * - * @param string $element Name of form element - * @since 1.1 - * @access public - * @return string Type of the element, false if the element is not found - */ - function getElementType($element) - { - if (isset($this->_elementIndex[$element])) { - return $this->_elements[$this->_elementIndex[$element]]->getType(); - } - return false; - } // end func getElementType - - // }}} - // {{{ updateElementAttr() - - /** - * Updates Attributes for one or more elements - * - * @param mixed $elements Array of element names/objects or string of elements to be updated - * @param mixed $attrs Array or sting of html attributes - * @since 2.10 - * @access public - * @return void - */ - function updateElementAttr($elements, $attrs) - { - if (is_string($elements)) { - $elements = split('[ ]?,[ ]?', $elements); - } - foreach (array_keys($elements) as $key) { - if (is_object($elements[$key]) && is_a($elements[$key], 'HTML_QuickForm_element')) { - $elements[$key]->updateAttributes($attrs); - } elseif (isset($this->_elementIndex[$elements[$key]])) { - $this->_elements[$this->_elementIndex[$elements[$key]]]->updateAttributes($attrs); - if (isset($this->_duplicateIndex[$elements[$key]])) { - foreach ($this->_duplicateIndex[$elements[$key]] as $index) { - $this->_elements[$index]->updateAttributes($attrs); - } - } - } - } - } // end func updateElementAttr - - // }}} - // {{{ removeElement() - - /** - * Removes an element - * - * The method "unlinks" an element from the form, returning the reference - * to the element object. If several elements named $elementName exist, - * it removes the first one, leaving the others intact. - * - * @param string $elementName The element name - * @param boolean $removeRules True if rules for this element are to be removed too - * @access public - * @since 2.0 - * @return HTML_QuickForm_element a reference to the removed element - * @throws HTML_QuickForm_Error - */ - function &removeElement($elementName, $removeRules = true) - { - if (!isset($this->_elementIndex[$elementName])) { - $error = PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$elementName' does not exist in HTML_QuickForm::removeElement()", 'HTML_QuickForm_Error', true); - return $error; - } - $el =& $this->_elements[$this->_elementIndex[$elementName]]; - unset($this->_elements[$this->_elementIndex[$elementName]]); - if (empty($this->_duplicateIndex[$elementName])) { - unset($this->_elementIndex[$elementName]); - } else { - $this->_elementIndex[$elementName] = array_shift($this->_duplicateIndex[$elementName]); - } - if ($removeRules) { - unset($this->_rules[$elementName], $this->_errors[$elementName]); - } - return $el; - } // end func removeElement - - // }}} - // {{{ addRule() - - /** - * Adds a validation rule for the given field - * - * If the element is in fact a group, it will be considered as a whole. - * To validate grouped elements as separated entities, - * use addGroupRule instead of addRule. - * - * @param string $element Form element name - * @param string $message Message to display for invalid data - * @param string $type Rule type, use getRegisteredRules() to get types - * @param string $format (optional)Required for extra rule data - * @param string $validation (optional)Where to perform validation: "server", "client" - * @param boolean $reset Client-side validation: reset the form element to its original value if there is an error? - * @param boolean $force Force the rule to be applied, even if the target form element does not exist - * @since 1.0 - * @access public - * @throws HTML_QuickForm_Error - */ - function addRule($element, $message, $type, $format=null, $validation='server', $reset = false, $force = false) - { - if (!$force) { - if (!is_array($element) && !$this->elementExists($element)) { - return PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$element' does not exist in HTML_QuickForm::addRule()", 'HTML_QuickForm_Error', true); - } elseif (is_array($element)) { - foreach ($element as $el) { - if (!$this->elementExists($el)) { - return PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$el' does not exist in HTML_QuickForm::addRule()", 'HTML_QuickForm_Error', true); - } - } - } - } - if (false === ($newName = $this->isRuleRegistered($type, true))) { - return PEAR::raiseError(null, QUICKFORM_INVALID_RULE, null, E_USER_WARNING, "Rule '$type' is not registered in HTML_QuickForm::addRule()", 'HTML_QuickForm_Error', true); - } elseif (is_string($newName)) { - $type = $newName; - } - if (is_array($element)) { - $dependent = $element; - $element = array_shift($dependent); - } else { - $dependent = null; - } - if ($type == 'required' || $type == 'uploadedfile') { - $this->_required[] = $element; - } - if (!isset($this->_rules[$element])) { - $this->_rules[$element] = array(); - } - if ($validation == 'client') { - $this->updateAttributes(array('onsubmit' => 'try { var myValidator = validate_' . $this->_attributes['id'] . '; } catch(e) { return true; } return myValidator(this);')); - } - $this->_rules[$element][] = array( - 'type' => $type, - 'format' => $format, - 'message' => $message, - 'validation' => $validation, - 'reset' => $reset, - 'dependent' => $dependent - ); - } // end func addRule - - // }}} - // {{{ addGroupRule() - - /** - * Adds a validation rule for the given group of elements - * - * Only groups with a name can be assigned a validation rule - * Use addGroupRule when you need to validate elements inside the group. - * Use addRule if you need to validate the group as a whole. In this case, - * the same rule will be applied to all elements in the group. - * Use addRule if you need to validate the group against a function. - * - * @param string $group Form group name - * @param mixed $arg1 Array for multiple elements or error message string for one element - * @param string $type (optional)Rule type use getRegisteredRules() to get types - * @param string $format (optional)Required for extra rule data - * @param int $howmany (optional)How many valid elements should be in the group - * @param string $validation (optional)Where to perform validation: "server", "client" - * @param bool $reset Client-side: whether to reset the element's value to its original state if validation failed. - * @since 2.5 - * @access public - * @throws HTML_QuickForm_Error - */ - function addGroupRule($group, $arg1, $type='', $format=null, $howmany=0, $validation = 'server', $reset = false) - { - if (!$this->elementExists($group)) { - return PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Group '$group' does not exist in HTML_QuickForm::addGroupRule()", 'HTML_QuickForm_Error', true); - } - - $groupObj =& $this->getElement($group); - if (is_array($arg1)) { - $required = 0; - foreach ($arg1 as $elementIndex => $rules) { - $elementName = $groupObj->getElementName($elementIndex); - foreach ($rules as $rule) { - $format = (isset($rule[2])) ? $rule[2] : null; - $validation = (isset($rule[3]) && 'client' == $rule[3])? 'client': 'server'; - $reset = isset($rule[4]) && $rule[4]; - $type = $rule[1]; - if (false === ($newName = $this->isRuleRegistered($type, true))) { - return PEAR::raiseError(null, QUICKFORM_INVALID_RULE, null, E_USER_WARNING, "Rule '$type' is not registered in HTML_QuickForm::addGroupRule()", 'HTML_QuickForm_Error', true); - } elseif (is_string($newName)) { - $type = $newName; - } - - $this->_rules[$elementName][] = array( - 'type' => $type, - 'format' => $format, - 'message' => $rule[0], - 'validation' => $validation, - 'reset' => $reset, - 'group' => $group); - - if ('required' == $type || 'uploadedfile' == $type) { - $groupObj->_required[] = $elementName; - $this->_required[] = $elementName; - $required++; - } - if ('client' == $validation) { - $this->updateAttributes(array('onsubmit' => 'try { var myValidator = validate_' . $this->_attributes['id'] . '; } catch(e) { return true; } return myValidator(this);')); - } - } - } - if ($required > 0 && count($groupObj->getElements()) == $required) { - $this->_required[] = $group; - } - } elseif (is_string($arg1)) { - if (false === ($newName = $this->isRuleRegistered($type, true))) { - return PEAR::raiseError(null, QUICKFORM_INVALID_RULE, null, E_USER_WARNING, "Rule '$type' is not registered in HTML_QuickForm::addGroupRule()", 'HTML_QuickForm_Error', true); - } elseif (is_string($newName)) { - $type = $newName; - } - - // addGroupRule() should also handle + if (is_a($groupObj, 'html_quickform_group')) { + // Radios need to be handled differently when required + if ($type == 'required' && $groupObj->getGroupType() == 'radio') { + $howmany = ($howmany == 0) ? 1 : $howmany; + } else { + $howmany = ($howmany == 0) ? count($groupObj->getElements()) : $howmany; + } + } + + $this->_rules[$group][] = array('type' => $type, + 'format' => $format, + 'message' => $arg1, + 'validation' => $validation, + 'howmany' => $howmany, + 'reset' => $reset); + if ($type == 'required') { + $this->_required[] = $group; + } + if ($validation == 'client') { + $this->updateAttributes(array('onsubmit' => 'try { var myValidator = validate_' . $this->_attributes['id'] . '; } catch(e) { return true; } return myValidator(this);')); + } + } + } // end func addGroupRule + + // }}} + // {{{ addFormRule() + + /** + * Adds a global validation rule + * + * This should be used when for a rule involving several fields or if + * you want to use some completely custom validation for your form. + * The rule function/method should return true in case of successful + * validation and array('element name' => 'error') when there were errors. + * + * @access public + * @param mixed Callback, either function name or array(&$object, 'method') + * @throws HTML_QuickForm_Error + */ + function addFormRule($rule) + { + if (!is_callable($rule)) { + return PEAR::raiseError(null, QUICKFORM_INVALID_RULE, null, E_USER_WARNING, 'Callback function does not exist in HTML_QuickForm::addFormRule()', 'HTML_QuickForm_Error', true); + } + $this->_formRules[] = $rule; + } + + // }}} + // {{{ applyFilter() + + /** + * Applies a data filter for the given field(s) + * + * @param mixed $element Form element name or array of such names + * @param mixed $filter Callback, either function name or array(&$object, 'method') + * @since 2.0 + * @access public + * @throws HTML_QuickForm_Error + */ + function applyFilter($element, $filter) + { + if (!is_callable($filter)) { + return PEAR::raiseError(null, QUICKFORM_INVALID_FILTER, null, E_USER_WARNING, "Callback function does not exist in QuickForm::applyFilter()", 'HTML_QuickForm_Error', true); + } + if ($element == '__ALL__') { + $this->_submitValues = $this->_recursiveFilter($filter, $this->_submitValues); + } else { + if (!is_array($element)) { + $element = array($element); + } + foreach ($element as $elName) { + $value = $this->getSubmitValue($elName); + if (null !== $value) { + if (false === strpos($elName, '[')) { + $this->_submitValues[$elName] = $this->_recursiveFilter($filter, $value); + } else { + $idx = "['" . str_replace( + array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), + $elName + ) . "']"; + eval("\$this->_submitValues{$idx} = \$this->_recursiveFilter(\$filter, \$value);"); + } + } + } + } + } // end func applyFilter + + // }}} + // {{{ _recursiveFilter() + + /** + * Recursively apply a filter function + * + * @param string $filter filter to apply + * @param mixed $value submitted values + * @since 2.0 + * @access private + * @return cleaned values + */ + function _recursiveFilter($filter, $value) + { + if (is_array($value)) { + $cleanValues = array(); + foreach ($value as $k => $v) { + $cleanValues[$k] = $this->_recursiveFilter($filter, $v); + } + return $cleanValues; + } else { + return call_user_func($filter, $value); + } + } // end func _recursiveFilter + + // }}} + // {{{ arrayMerge() + + /** + * Merges two arrays + * + * Merges two array like the PHP function array_merge but recursively. + * The main difference is that existing keys will not be renumbered + * if they are integers. + * + * @access public + * @param array $a original array + * @param array $b array which will be merged into first one + * @return array merged array + */ + function arrayMerge($a, $b) + { + foreach ($b as $k => $v) { + if (is_array($v)) { + if (isset($a[$k]) && !is_array($a[$k])) { + $a[$k] = $v; + } else { + if (!isset($a[$k])) { + $a[$k] = array(); + } + $a[$k] = HTML_QuickForm::arrayMerge($a[$k], $v); + } + } else { + $a[$k] = $v; + } + } + return $a; + } // end func arrayMerge + + // }}} + // {{{ isTypeRegistered() + + /** + * Returns whether or not the form element type is supported + * + * @param string $type Form element type + * @since 1.0 + * @access public + * @return boolean + */ + function isTypeRegistered($type) + { + return isset($GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES'][strtolower($type)]); + } // end func isTypeRegistered + + // }}} + // {{{ getRegisteredTypes() + + /** + * Returns an array of registered element types + * + * @since 1.0 + * @access public + * @return array + */ + function getRegisteredTypes() + { + return array_keys($GLOBALS['HTML_QUICKFORM_ELEMENT_TYPES']); + } // end func getRegisteredTypes + + // }}} + // {{{ isRuleRegistered() + + /** + * Returns whether or not the given rule is supported + * + * @param string $name Validation rule name + * @param bool Whether to automatically register subclasses of HTML_QuickForm_Rule + * @since 1.0 + * @access public + * @return mixed true if previously registered, false if not, new rule name if auto-registering worked + */ + function isRuleRegistered($name, $autoRegister = false) + { + if (is_scalar($name) && isset($GLOBALS['_HTML_QuickForm_registered_rules'][$name])) { + return true; + } elseif (!$autoRegister) { + return false; + } + // automatically register the rule if requested + include_once 'HTML/QuickForm/RuleRegistry.php'; + $ruleName = false; + if (is_object($name) && is_a($name, 'html_quickform_rule')) { + $ruleName = !empty($name->name)? $name->name: strtolower(get_class($name)); + } elseif (is_string($name) && class_exists($name)) { + $parent = strtolower($name); + do { + if ('html_quickform_rule' == strtolower($parent)) { + $ruleName = strtolower($name); + break; + } + } while ($parent = get_parent_class($parent)); + } + if ($ruleName) { + $registry =& HTML_QuickForm_RuleRegistry::singleton(); + $registry->registerRule($ruleName, null, $name); + } + return $ruleName; + } // end func isRuleRegistered + + // }}} + // {{{ getRegisteredRules() + + /** + * Returns an array of registered validation rules + * + * @since 1.0 + * @access public + * @return array + */ + function getRegisteredRules() + { + return array_keys($GLOBALS['_HTML_QuickForm_registered_rules']); + } // end func getRegisteredRules + + // }}} + // {{{ isElementRequired() + + /** + * Returns whether or not the form element is required + * + * @param string $element Form element name + * @since 1.0 + * @access public + * @return boolean + */ + function isElementRequired($element) + { + return in_array($element, $this->_required, true); + } // end func isElementRequired + + // }}} + // {{{ isElementFrozen() + + /** + * Returns whether or not the form element is frozen + * + * @param string $element Form element name + * @since 1.0 + * @access public + * @return boolean + */ + function isElementFrozen($element) + { + if (isset($this->_elementIndex[$element])) { + return $this->_elements[$this->_elementIndex[$element]]->isFrozen(); + } + return false; + } // end func isElementFrozen + + // }}} + // {{{ setJsWarnings() + + /** + * Sets JavaScript warning messages + * + * @param string $pref Prefix warning + * @param string $post Postfix warning + * @since 1.1 + * @access public + * @return void + */ + function setJsWarnings($pref, $post) + { + $this->_jsPrefix = $pref; + $this->_jsPostfix = $post; + } // end func setJsWarnings + + // }}} + // {{{ setRequiredNote() + + /** + * Sets required-note + * + * @param string $note Message indicating some elements are required + * @since 1.1 + * @access public + * @return void + */ + function setRequiredNote($note) + { + $this->_requiredNote = $note; + } // end func setRequiredNote + + // }}} + // {{{ getRequiredNote() + + /** + * Returns the required note + * + * @since 2.0 + * @access public + * @return string + */ + function getRequiredNote() + { + return $this->_requiredNote; + } // end func getRequiredNote + + // }}} + // {{{ validate() + + /** + * Performs the server side validation + * @access public + * @since 1.0 + * @return boolean true if no error found + * @throws HTML_QuickForm_Error + */ + function validate() + { + if (count($this->_rules) == 0 && count($this->_formRules) == 0 && + $this->isSubmitted()) { + return (0 == count($this->_errors)); + } elseif (!$this->isSubmitted()) { + return false; + } + + include_once('HTML/QuickForm/RuleRegistry.php'); + $registry = HTML_QuickForm_RuleRegistry::singleton(); + + foreach ($this->_rules as $target => $rules) { + $submitValue = $this->getSubmitValue($target); + + foreach ($rules as $rule) { + if ((isset($rule['group']) && isset($this->_errors[$rule['group']])) || + isset($this->_errors[$target])) { + continue 2; + } + // If element is not required and is empty, we shouldn't validate it + if (!$this->isElementRequired($target)) { + if (!isset($submitValue) || '' == $submitValue) { + continue 2; + // Fix for bug #3501: we shouldn't validate not uploaded files, either. + // Unfortunately, we can't just use $element->isUploadedFile() since + // the element in question can be buried in group. Thus this hack. + } elseif (is_array($submitValue)) { + if (false === ($pos = strpos($target, '['))) { + $isUpload = !empty($this->_submitFiles[$target]); + } else { + $base = str_replace( + array('\\', '\''), array('\\\\', '\\\''), + substr($target, 0, $pos) + ); + $idx = "['" . str_replace( + array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), + substr($target, $pos + 1, -1) + ) . "']"; + eval("\$isUpload = isset(\$this->_submitFiles['{$base}']['name']{$idx});"); + } + if ($isUpload && (!isset($submitValue['error']) || 0 != $submitValue['error'])) { + continue 2; + } + } + } + if (isset($rule['dependent']) && is_array($rule['dependent'])) { + $values = array($submitValue); + foreach ($rule['dependent'] as $elName) { + $values[] = $this->getSubmitValue($elName); + } + $result = $registry->validate($rule['type'], $values, $rule['format'], true); + } elseif (is_array($submitValue) && !isset($rule['howmany'])) { + $result = $registry->validate($rule['type'], $submitValue, $rule['format'], true); + } else { + $result = $registry->validate($rule['type'], $submitValue, $rule['format'], false); + } + + if (!$result || (!empty($rule['howmany']) && $rule['howmany'] > (int)$result)) { + if (isset($rule['group'])) { + $this->_errors[$rule['group']] = $rule['message']; + } else { + $this->_errors[$target] = $rule['message']; + } + } + } + } + + // process the global rules now + foreach ($this->_formRules as $rule) { + if (true !== ($res = call_user_func($rule, $this->_submitValues, $this->_submitFiles))) { + if (is_array($res)) { + $this->_errors += $res; + } else { + return PEAR::raiseError(null, QUICKFORM_ERROR, null, E_USER_WARNING, 'Form rule callback returned invalid value in HTML_QuickForm::validate()', 'HTML_QuickForm_Error', true); + } + } + } + + return (0 == count($this->_errors)); + } // end func validate + + // }}} + // {{{ freeze() + + /** + * Displays elements without HTML input tags + * + * @param mixed $elementList array or string of element(s) to be frozen + * @since 1.0 + * @access public + * @throws HTML_QuickForm_Error + */ + function freeze($elementList=null) + { + if (!isset($elementList)) { + $this->_freezeAll = true; + $elementList = array(); + } else { + if (!is_array($elementList)) { + $elementList = preg_split('/[ ]*,[ ]*/', $elementList); + } + $elementList = array_flip($elementList); + } + + foreach (array_keys($this->_elements) as $key) { + $name = $this->_elements[$key]->getName(); + if ($this->_freezeAll || isset($elementList[$name])) { + $this->_elements[$key]->freeze(); + unset($elementList[$name]); + } + } + + if (!empty($elementList)) { + return PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Nonexistant element(s): '" . implode("', '", array_keys($elementList)) . "' in HTML_QuickForm::freeze()", 'HTML_QuickForm_Error', true); + } + return true; + } // end func freeze + + // }}} + // {{{ isFrozen() + + /** + * Returns whether or not the whole form is frozen + * + * @since 3.0 + * @access public + * @return boolean + */ + function isFrozen() + { + return $this->_freezeAll; + } // end func isFrozen + + // }}} + // {{{ process() + + /** + * Performs the form data processing + * + * @param mixed $callback Callback, either function name or array(&$object, 'method') + * @param bool $mergeFiles Whether uploaded files should be processed too + * @since 1.0 + * @access public + * @throws HTML_QuickForm_Error + * @return mixed Whatever value the $callback function returns + */ + function process($callback, $mergeFiles = true) + { + if (!is_callable($callback)) { + return PEAR::raiseError(null, QUICKFORM_INVALID_PROCESS, null, E_USER_WARNING, "Callback function does not exist in QuickForm::process()", 'HTML_QuickForm_Error', true); + } + $values = ($mergeFiles === true) ? HTML_QuickForm::arrayMerge($this->_submitValues, $this->_submitFiles) : $this->_submitValues; + return call_user_func($callback, $values); + } // end func process + + // }}} + // {{{ accept() + + /** + * Accepts a renderer + * + * @param object An HTML_QuickForm_Renderer object + * @since 3.0 + * @access public + * @return void + */ + function accept(&$renderer) + { + $renderer->startForm($this); + foreach (array_keys($this->_elements) as $key) { + $element =& $this->_elements[$key]; + $elementName = $element->getName(); + $required = ($this->isElementRequired($elementName) && !$element->isFrozen()); + $error = $this->getElementError($elementName); + $element->accept($renderer, $required, $error); + } + $renderer->finishForm($this); + } // end func accept + + // }}} + // {{{ defaultRenderer() + + /** + * Returns a reference to default renderer object + * + * @access public + * @since 3.0 + * @return object a default renderer object + */ + function &defaultRenderer() + { + if (!isset($GLOBALS['_HTML_QuickForm_default_renderer'])) { + include_once('HTML/QuickForm/Renderer/Default.php'); + $GLOBALS['_HTML_QuickForm_default_renderer'] = new HTML_QuickForm_Renderer_Default(); + } + return $GLOBALS['_HTML_QuickForm_default_renderer']; + } // end func defaultRenderer + + // }}} + // {{{ toHtml () + + /** + * Returns an HTML version of the form + * + * @param string $in_data (optional) Any extra data to insert right + * before form is rendered. Useful when using templates. + * + * @return string Html version of the form + * @since 1.0 + * @access public + */ + function toHtml ($in_data = null) + { + if (!is_null($in_data)) { + $this->addElement('html', $in_data); + } + $renderer =& $this->defaultRenderer(); + $this->accept($renderer); + return $renderer->toHtml(); + } // end func toHtml + + // }}} + // {{{ getValidationScript() + + /** + * Returns the client side validation script + * + * @since 2.0 + * @access public + * @return string Javascript to perform validation, empty string if no 'client' rules were added + */ + function getValidationScript() + { + if (empty($this->_rules) || empty($this->_attributes['onsubmit'])) { + return ''; + } + + include_once('HTML/QuickForm/RuleRegistry.php'); + $registry =& HTML_QuickForm_RuleRegistry::singleton(); + $test = array(); + $js_escape = array( + "\r" => '\r', + "\n" => '\n', + "\t" => '\t', + "'" => "\\'", + '"' => '\"', + '\\' => '\\\\' + ); + + foreach ($this->_rules as $elementName => $rules) { + foreach ($rules as $rule) { + if ('client' == $rule['validation']) { + unset($element); + + $dependent = isset($rule['dependent']) && is_array($rule['dependent']); + $rule['message'] = strtr($rule['message'], $js_escape); + + if (isset($rule['group'])) { + $group =& $this->getElement($rule['group']); + // No JavaScript validation for frozen elements + if ($group->isFrozen()) { + continue 2; + } + $elements =& $group->getElements(); + foreach (array_keys($elements) as $key) { + if ($elementName == $group->getElementName($key)) { + $element =& $elements[$key]; + break; + } + } + } elseif ($dependent) { + $element = array(); + $element[] =& $this->getElement($elementName); + foreach ($rule['dependent'] as $elName) { + $element[] =& $this->getElement($elName); + } + } else { + $element =& $this->getElement($elementName); + } + // No JavaScript validation for frozen elements + if (is_object($element) && $element->isFrozen()) { + continue 2; + } elseif (is_array($element)) { + foreach (array_keys($element) as $key) { + if ($element[$key]->isFrozen()) { + continue 3; + } + } + } + + $test[] = $registry->getValidationScript($element, $elementName, $rule); + } + } + } + if (count($test) > 0) { + return + "\n"; + } + return ''; + } // end func getValidationScript + + // }}} + // {{{ getSubmitValues() + + /** + * Returns the values submitted by the form + * + * @since 2.0 + * @access public + * @param bool Whether uploaded files should be returned too + * @return array + */ + function getSubmitValues($mergeFiles = false) + { + return $mergeFiles? HTML_QuickForm::arrayMerge($this->_submitValues, $this->_submitFiles): $this->_submitValues; + } // end func getSubmitValues + + // }}} + // {{{ toArray() + + /** + * Returns the form's contents in an array. + * + * The description of the array structure is in HTML_QuickForm_Renderer_Array docs + * + * @since 2.0 + * @access public + * @param bool Whether to collect hidden elements (passed to the Renderer's constructor) + * @return array of form contents + */ + function toArray($collectHidden = false) + { + include_once 'HTML/QuickForm/Renderer/Array.php'; + $renderer = new HTML_QuickForm_Renderer_Array($collectHidden); + $this->accept($renderer); + return $renderer->toArray(); + } // end func toArray + + // }}} + // {{{ exportValue() + + /** + * Returns a 'safe' element's value + * + * This method first tries to find a cleaned-up submitted value, + * it will return a value set by setValue()/setDefaults()/setConstants() + * if submitted value does not exist for the given element. + * + * @param string Name of an element + * @access public + * @return mixed + * @throws HTML_QuickForm_Error + */ + function exportValue($element) + { + if (!isset($this->_elementIndex[$element])) { + return PEAR::raiseError(null, QUICKFORM_NONEXIST_ELEMENT, null, E_USER_WARNING, "Element '$element' does not exist in HTML_QuickForm::getElementValue()", 'HTML_QuickForm_Error', true); + } + $value = $this->_elements[$this->_elementIndex[$element]]->exportValue($this->_submitValues, false); + if (isset($this->_duplicateIndex[$element])) { + foreach ($this->_duplicateIndex[$element] as $index) { + if (null !== ($v = $this->_elements[$index]->exportValue($this->_submitValues, false))) { + if (is_array($value)) { + $value[] = $v; + } else { + $value = (null === $value)? $v: array($value, $v); + } + } + } + } + return $value; + } + + // }}} + // {{{ exportValues() + + /** + * Returns 'safe' elements' values + * + * Unlike getSubmitValues(), this will return only the values + * corresponding to the elements present in the form. + * + * @param mixed Array/string of element names, whose values we want. If not set then return all elements. + * @access public + * @return array An assoc array of elements' values + * @throws HTML_QuickForm_Error + */ + function exportValues($elementList = null) + { + $values = array(); + if (null === $elementList) { + // iterate over all elements, calling their exportValue() methods + foreach (array_keys($this->_elements) as $key) { + $value = $this->_elements[$key]->exportValue($this->_submitValues, true); + if (is_array($value)) { + // This shit throws a bogus warning in PHP 4.3.x + $values = HTML_QuickForm::arrayMerge($values, $value); + } + } + } else { + if (!is_array($elementList)) { + $elementList = array_map('trim', explode(',', $elementList)); + } + foreach ($elementList as $elementName) { + $value = $this->exportValue($elementName); + if (PEAR::isError($value)) { + return $value; + } + $values[$elementName] = $value; + } + } + return $values; + } + + // }}} + // {{{ isSubmitted() + + /** + * Tells whether the form was already submitted + * + * This is useful since the _submitFiles and _submitValues arrays + * may be completely empty after the trackSubmit value is removed. + * + * @access public + * @return bool + */ + function isSubmitted() + { + return $this->_flagSubmitted; + } + + + // }}} + // {{{ isError() + + /** + * Tell whether a result from a QuickForm method is an error (an instance of HTML_QuickForm_Error) + * + * @access public + * @param mixed result code + * @return bool whether $value is an error + * @static + */ + static function isError($value) + { + return (is_object($value) && is_a($value, 'html_quickform_error')); + } // end func isError + + // }}} + // {{{ errorMessage() + + /** + * Return a textual error message for an QuickForm error code + * + * @access public + * @param int error code + * @return string error message + * @static + */ + static function errorMessage($value) + { + // make the variable static so that it only has to do the defining on the first call + static $errorMessages; + + // define the varies error messages + if (!isset($errorMessages)) { + $errorMessages = array( + QUICKFORM_OK => 'no error', + QUICKFORM_ERROR => 'unknown error', + QUICKFORM_INVALID_RULE => 'the rule does not exist as a registered rule', + QUICKFORM_NONEXIST_ELEMENT => 'nonexistent html element', + QUICKFORM_INVALID_FILTER => 'invalid filter', + QUICKFORM_UNREGISTERED_ELEMENT => 'unregistered element', + QUICKFORM_INVALID_ELEMENT_NAME => 'element already exists', + QUICKFORM_INVALID_PROCESS => 'process callback does not exist', + QUICKFORM_DEPRECATED => 'method is deprecated', + QUICKFORM_INVALID_DATASOURCE => 'datasource is not an object' + ); + } + + // If this is an error object, then grab the corresponding error code + if (HTML_QuickForm::isError($value)) { + $value = $value->getCode(); + } + + // return the textual error message corresponding to the code + return isset($errorMessages[$value]) ? $errorMessages[$value] : $errorMessages[QUICKFORM_ERROR]; + } // end func errorMessage + + // }}} +} // end class HTML_QuickForm + +/** + * Class for errors thrown by HTML_QuickForm package + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + */ +class HTML_QuickForm_Error extends PEAR_Error { + + // {{{ properties + + /** + * Prefix for all error messages + * @var string + */ + var $error_message_prefix = 'QuickForm Error: '; + + // }}} + // {{{ constructor + + /** + * Creates a quickform error object, extending the PEAR_Error class + * + * @param int $code the error code + * @param int $mode the reaction to the error, either return, die or trigger/callback + * @param int $level intensity of the error (PHP error code) + * @param mixed $debuginfo any information that can inform user as to nature of the error + */ + function HTML_QuickForm_Error($code = QUICKFORM_ERROR, $mode = PEAR_ERROR_RETURN, + $level = E_USER_NOTICE, $debuginfo = null) + { + if (is_int($code)) { + $this->PEAR_Error(HTML_QuickForm::errorMessage($code), $code, $mode, $level, $debuginfo); + } else { + $this->PEAR_Error("Invalid error code: $code", QUICKFORM_ERROR, $mode, $level, $debuginfo); + } + } + + // }}} +} // end class HTML_QuickForm_Error ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Renderer.php b/libs/HTML/QuickForm/Renderer.php index 9524dfd4f7..970d4367d8 100755 --- a/libs/HTML/QuickForm/Renderer.php +++ b/libs/HTML/QuickForm/Renderer.php @@ -1,158 +1,158 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * An abstract base class for QuickForm renderers - * - * The class implements a Visitor design pattern - * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.0 - * @abstract - */ -class HTML_QuickForm_Renderer -{ - /** - * Constructor - * - * @access public - */ - function HTML_QuickForm_Renderer() - { - } // end constructor - - /** - * Called when visiting a form, before processing any form elements - * - * @param HTML_QuickForm a form being visited - * @access public - * @return void - * @abstract - */ - function startForm(&$form) - { - return; - } // end func startForm - - /** - * Called when visiting a form, after processing all form elements - * - * @param HTML_QuickForm a form being visited - * @access public - * @return void - * @abstract - */ - function finishForm(&$form) - { - return; - } // end func finishForm - - /** - * Called when visiting a header element - * - * @param HTML_QuickForm_header a header element being visited - * @access public - * @return void - * @abstract - */ - function renderHeader(&$header) - { - return; - } // end func renderHeader - - /** - * Called when visiting an element - * - * @param HTML_QuickForm_element form element being visited - * @param bool Whether an element is required - * @param string An error message associated with an element - * @access public - * @return void - * @abstract - */ - function renderElement(&$element, $required, $error) - { - return; - } // end func renderElement - - /** - * Called when visiting a hidden element - * - * @param HTML_QuickForm_element a hidden element being visited - * @access public - * @return void - * @abstract - */ - function renderHidden(&$element) - { - return; - } // end func renderHidden - - /** - * Called when visiting a raw HTML/text pseudo-element - * - * Only implemented in Default renderer. Usage of 'html' elements is - * discouraged, templates should be used instead. - * - * @param HTML_QuickForm_html a 'raw html' element being visited - * @access public - * @return void - * @abstract - */ - function renderHtml(&$data) - { - return; - } // end func renderHtml - - /** - * Called when visiting a group, before processing any group elements - * - * @param HTML_QuickForm_group A group being visited - * @param bool Whether a group is required - * @param string An error message associated with a group - * @access public - * @return void - * @abstract - */ - function startGroup(&$group, $required, $error) - { - return; - } // end func startGroup - - /** - * Called when visiting a group, after processing all group elements - * - * @param HTML_QuickForm_group A group being visited - * @access public - * @return void - * @abstract - */ - function finishGroup(&$group) - { - return; - } // end func finishGroup -} // end class HTML_QuickForm_Renderer -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * An abstract base class for QuickForm renderers + * + * The class implements a Visitor design pattern + * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.0 + * @abstract + */ +class HTML_QuickForm_Renderer +{ + /** + * Constructor + * + * @access public + */ + function HTML_QuickForm_Renderer() + { + } // end constructor + + /** + * Called when visiting a form, before processing any form elements + * + * @param HTML_QuickForm a form being visited + * @access public + * @return void + * @abstract + */ + function startForm(&$form) + { + return; + } // end func startForm + + /** + * Called when visiting a form, after processing all form elements + * + * @param HTML_QuickForm a form being visited + * @access public + * @return void + * @abstract + */ + function finishForm(&$form) + { + return; + } // end func finishForm + + /** + * Called when visiting a header element + * + * @param HTML_QuickForm_header a header element being visited + * @access public + * @return void + * @abstract + */ + function renderHeader(&$header) + { + return; + } // end func renderHeader + + /** + * Called when visiting an element + * + * @param HTML_QuickForm_element form element being visited + * @param bool Whether an element is required + * @param string An error message associated with an element + * @access public + * @return void + * @abstract + */ + function renderElement(&$element, $required, $error) + { + return; + } // end func renderElement + + /** + * Called when visiting a hidden element + * + * @param HTML_QuickForm_element a hidden element being visited + * @access public + * @return void + * @abstract + */ + function renderHidden(&$element) + { + return; + } // end func renderHidden + + /** + * Called when visiting a raw HTML/text pseudo-element + * + * Only implemented in Default renderer. Usage of 'html' elements is + * discouraged, templates should be used instead. + * + * @param HTML_QuickForm_html a 'raw html' element being visited + * @access public + * @return void + * @abstract + */ + function renderHtml(&$data) + { + return; + } // end func renderHtml + + /** + * Called when visiting a group, before processing any group elements + * + * @param HTML_QuickForm_group A group being visited + * @param bool Whether a group is required + * @param string An error message associated with a group + * @access public + * @return void + * @abstract + */ + function startGroup(&$group, $required, $error) + { + return; + } // end func startGroup + + /** + * Called when visiting a group, after processing all group elements + * + * @param HTML_QuickForm_group A group being visited + * @access public + * @return void + * @abstract + */ + function finishGroup(&$group) + { + return; + } // end func finishGroup +} // end class HTML_QuickForm_Renderer +?> diff --git a/libs/HTML/QuickForm/Renderer/Array.php b/libs/HTML/QuickForm/Renderer/Array.php index b8eab80b7a..fd2fefc60e 100755 --- a/libs/HTML/QuickForm/Renderer/Array.php +++ b/libs/HTML/QuickForm/Renderer/Array.php @@ -1,340 +1,340 @@ - - * @author Adam Daniel - * @author Bertrand Mansion - * @author Thomas Schulz - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * An abstract base class for QuickForm renderers - */ -require_once 'HTML/QuickForm/Renderer.php'; - -/** - * A concrete renderer for HTML_QuickForm, makes an array of form contents - * - * Based on old HTML_QuickForm::toArray() code. - * - * The form array structure is the following: - *
- * array(
- *   'frozen'           => 'whether the form is frozen',
- *   'javascript'       => 'javascript for client-side validation',
- *   'attributes'       => 'attributes for  tag',
- *   'requirednote      => 'note about the required elements',
- *   // if we set the option to collect hidden elements
- *   'hidden'           => 'collected html of all hidden elements',
- *   // if there were some validation errors:
- *   'errors' => array(
- *     '1st element name' => 'Error for the 1st element',
- *     ...
- *     'nth element name' => 'Error for the nth element'
- *   ),
- *   // if there are no headers in the form:
- *   'elements' => array(
- *     element_1,
- *     ...
- *     element_N
- *   )
- *   // if there are headers in the form:
- *   'sections' => array(
- *     array(
- *       'header'   => 'Header text for the first header',
- *       'name'     => 'Header name for the first header',
- *       'elements' => array(
- *          element_1,
- *          ...
- *          element_K1
- *       )
- *     ),
- *     ...
- *     array(
- *       'header'   => 'Header text for the Mth header',
- *       'name'     => 'Header name for the Mth header',
- *       'elements' => array(
- *          element_1,
- *          ...
- *          element_KM
- *       )
- *     )
- *   )
- * );
- * 
- * - * where element_i is an array of the form: - *
- * array(
- *   'name'      => 'element name',
- *   'value'     => 'element value',
- *   'type'      => 'type of the element',
- *   'frozen'    => 'whether element is frozen',
- *   'label'     => 'label for the element',
- *   'required'  => 'whether element is required',
- *   'error'     => 'error associated with the element',
- *   'style'     => 'some information about element style (e.g. for Smarty)',
- *   // if element is not a group
- *   'html'      => 'HTML for the element'
- *   // if element is a group
- *   'separator' => 'separator for group elements',
- *   'elements'  => array(
- *     element_1,
- *     ...
- *     element_N
- *   )
- * );
- * 
- * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @author Adam Daniel - * @author Bertrand Mansion - * @author Thomas Schulz - * @version Release: 3.2.9 - * @since 3.0 - */ -class HTML_QuickForm_Renderer_Array extends HTML_QuickForm_Renderer -{ - /**#@+ - * @access private - */ - /** - * An array being generated - * @var array - */ - var $_ary; - - /** - * Number of sections in the form (i.e. number of headers in it) - * @var integer - */ - var $_sectionCount; - - /** - * Current section number - * @var integer - */ - var $_currentSection; - - /** - * Array representing current group - * @var array - */ - var $_currentGroup = null; - - /** - * Additional style information for different elements - * @var array - */ - var $_elementStyles = array(); - - /** - * true: collect all hidden elements into string; false: process them as usual form elements - * @var bool - */ - var $_collectHidden = false; - - /** - * true: render an array of labels to many labels, $key 0 named 'label', the rest "label_$key" - * false: leave labels as defined - * @var bool - */ - var $_staticLabels = false; - /**#@-*/ - - /** - * Constructor - * - * @param bool true: collect all hidden elements into string; false: process them as usual form elements - * @param bool true: render an array of labels to many labels, $key 0 to 'label' and the oterh to "label_$key" - * @access public - */ - function HTML_QuickForm_Renderer_Array($collectHidden = false, $staticLabels = false) - { - $this->HTML_QuickForm_Renderer(); - $this->_collectHidden = $collectHidden; - $this->_staticLabels = $staticLabels; - } // end constructor - - - /** - * Returns the resultant array - * - * @access public - * @return array - */ - function toArray() - { - return $this->_ary; - } - - - function startForm(&$form) - { - $this->_ary = array( - 'frozen' => $form->isFrozen(), - 'javascript' => $form->getValidationScript(), - 'attributes' => $form->getAttributes(true), - 'requirednote' => $form->getRequiredNote(), - 'errors' => array() - ); - if ($this->_collectHidden) { - $this->_ary['hidden'] = ''; - } - $this->_elementIdx = 1; - $this->_currentSection = null; - $this->_sectionCount = 0; - } // end func startForm - - - function renderHeader(&$header) - { - $this->_ary['sections'][$this->_sectionCount] = array( - 'header' => $header->toHtml(), - 'name' => $header->getName() - ); - $this->_currentSection = $this->_sectionCount++; - } // end func renderHeader - - - function renderElement(&$element, $required, $error) - { - $elAry = $this->_elementToArray($element, $required, $error); - if (!empty($error)) { - $this->_ary['errors'][$elAry['name']] = $error; - } - $this->_storeArray($elAry); - } // end func renderElement - - - function renderHidden(&$element) - { - if ($this->_collectHidden) { - $this->_ary['hidden'] .= $element->toHtml() . "\n"; - } else { - $this->renderElement($element, false, null); - } - } // end func renderHidden - - - function startGroup(&$group, $required, $error) - { - $this->_currentGroup = $this->_elementToArray($group, $required, $error); - if (!empty($error)) { - $this->_ary['errors'][$this->_currentGroup['name']] = $error; - } - } // end func startGroup - - - function finishGroup(&$group) - { - $this->_storeArray($this->_currentGroup); - $this->_currentGroup = null; - } // end func finishGroup - - - /** - * Creates an array representing an element - * - * @access private - * @param HTML_QuickForm_element element being processed - * @param bool Whether an element is required - * @param string Error associated with the element - * @return array - */ - function _elementToArray(&$element, $required, $error) - { - $ret = array( - 'name' => $element->getName(), - 'value' => $element->getValue(), - 'type' => $element->getType(), - 'frozen' => $element->isFrozen(), - 'required' => $required, - 'error' => $error - ); - // render label(s) - $labels = $element->getLabel(); - if (is_array($labels) && $this->_staticLabels) { - foreach($labels as $key => $label) { - $key = is_int($key)? $key + 1: $key; - if (1 === $key) { - $ret['label'] = $label; - } else { - $ret['label_' . $key] = $label; - } - } - } else { - $ret['label'] = $labels; - } - - // set the style for the element - if (isset($this->_elementStyles[$ret['name']])) { - $ret['style'] = $this->_elementStyles[$ret['name']]; - } - if ('group' == $ret['type']) { - $ret['separator'] = $element->_separator; - $ret['elements'] = array(); - } else { - $ret['html'] = $element->toHtml(); - } - return $ret; - } - - - /** - * Stores an array representation of an element in the form array - * - * @access private - * @param array Array representation of an element - * @return void - */ - function _storeArray($elAry) - { - // where should we put this element... - if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) { - $this->_currentGroup['elements'][] = $elAry; - } elseif (isset($this->_currentSection)) { - $this->_ary['sections'][$this->_currentSection]['elements'][] = $elAry; - } else { - $this->_ary['elements'][] = $elAry; - } - } - - - /** - * Sets a style to use for element rendering - * - * @param mixed element name or array ('element name' => 'style name') - * @param string style name if $elementName is not an array - * @access public - * @return void - */ - function setElementStyle($elementName, $styleName = null) - { - if (is_array($elementName)) { - $this->_elementStyles = array_merge($this->_elementStyles, $elementName); - } else { - $this->_elementStyles[$elementName] = $styleName; - } - } -} + + * @author Adam Daniel + * @author Bertrand Mansion + * @author Thomas Schulz + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * An abstract base class for QuickForm renderers + */ +require_once 'HTML/QuickForm/Renderer.php'; + +/** + * A concrete renderer for HTML_QuickForm, makes an array of form contents + * + * Based on old HTML_QuickForm::toArray() code. + * + * The form array structure is the following: + *
+ * array(
+ *   'frozen'           => 'whether the form is frozen',
+ *   'javascript'       => 'javascript for client-side validation',
+ *   'attributes'       => 'attributes for  tag',
+ *   'requirednote      => 'note about the required elements',
+ *   // if we set the option to collect hidden elements
+ *   'hidden'           => 'collected html of all hidden elements',
+ *   // if there were some validation errors:
+ *   'errors' => array(
+ *     '1st element name' => 'Error for the 1st element',
+ *     ...
+ *     'nth element name' => 'Error for the nth element'
+ *   ),
+ *   // if there are no headers in the form:
+ *   'elements' => array(
+ *     element_1,
+ *     ...
+ *     element_N
+ *   )
+ *   // if there are headers in the form:
+ *   'sections' => array(
+ *     array(
+ *       'header'   => 'Header text for the first header',
+ *       'name'     => 'Header name for the first header',
+ *       'elements' => array(
+ *          element_1,
+ *          ...
+ *          element_K1
+ *       )
+ *     ),
+ *     ...
+ *     array(
+ *       'header'   => 'Header text for the Mth header',
+ *       'name'     => 'Header name for the Mth header',
+ *       'elements' => array(
+ *          element_1,
+ *          ...
+ *          element_KM
+ *       )
+ *     )
+ *   )
+ * );
+ * 
+ * + * where element_i is an array of the form: + *
+ * array(
+ *   'name'      => 'element name',
+ *   'value'     => 'element value',
+ *   'type'      => 'type of the element',
+ *   'frozen'    => 'whether element is frozen',
+ *   'label'     => 'label for the element',
+ *   'required'  => 'whether element is required',
+ *   'error'     => 'error associated with the element',
+ *   'style'     => 'some information about element style (e.g. for Smarty)',
+ *   // if element is not a group
+ *   'html'      => 'HTML for the element'
+ *   // if element is a group
+ *   'separator' => 'separator for group elements',
+ *   'elements'  => array(
+ *     element_1,
+ *     ...
+ *     element_N
+ *   )
+ * );
+ * 
+ * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @author Adam Daniel + * @author Bertrand Mansion + * @author Thomas Schulz + * @version Release: 3.2.9 + * @since 3.0 + */ +class HTML_QuickForm_Renderer_Array extends HTML_QuickForm_Renderer +{ + /**#@+ + * @access private + */ + /** + * An array being generated + * @var array + */ + var $_ary; + + /** + * Number of sections in the form (i.e. number of headers in it) + * @var integer + */ + var $_sectionCount; + + /** + * Current section number + * @var integer + */ + var $_currentSection; + + /** + * Array representing current group + * @var array + */ + var $_currentGroup = null; + + /** + * Additional style information for different elements + * @var array + */ + var $_elementStyles = array(); + + /** + * true: collect all hidden elements into string; false: process them as usual form elements + * @var bool + */ + var $_collectHidden = false; + + /** + * true: render an array of labels to many labels, $key 0 named 'label', the rest "label_$key" + * false: leave labels as defined + * @var bool + */ + var $_staticLabels = false; + /**#@-*/ + + /** + * Constructor + * + * @param bool true: collect all hidden elements into string; false: process them as usual form elements + * @param bool true: render an array of labels to many labels, $key 0 to 'label' and the oterh to "label_$key" + * @access public + */ + function HTML_QuickForm_Renderer_Array($collectHidden = false, $staticLabels = false) + { + $this->HTML_QuickForm_Renderer(); + $this->_collectHidden = $collectHidden; + $this->_staticLabels = $staticLabels; + } // end constructor + + + /** + * Returns the resultant array + * + * @access public + * @return array + */ + function toArray() + { + return $this->_ary; + } + + + function startForm(&$form) + { + $this->_ary = array( + 'frozen' => $form->isFrozen(), + 'javascript' => $form->getValidationScript(), + 'attributes' => $form->getAttributes(true), + 'requirednote' => $form->getRequiredNote(), + 'errors' => array() + ); + if ($this->_collectHidden) { + $this->_ary['hidden'] = ''; + } + $this->_elementIdx = 1; + $this->_currentSection = null; + $this->_sectionCount = 0; + } // end func startForm + + + function renderHeader(&$header) + { + $this->_ary['sections'][$this->_sectionCount] = array( + 'header' => $header->toHtml(), + 'name' => $header->getName() + ); + $this->_currentSection = $this->_sectionCount++; + } // end func renderHeader + + + function renderElement(&$element, $required, $error) + { + $elAry = $this->_elementToArray($element, $required, $error); + if (!empty($error)) { + $this->_ary['errors'][$elAry['name']] = $error; + } + $this->_storeArray($elAry); + } // end func renderElement + + + function renderHidden(&$element) + { + if ($this->_collectHidden) { + $this->_ary['hidden'] .= $element->toHtml() . "\n"; + } else { + $this->renderElement($element, false, null); + } + } // end func renderHidden + + + function startGroup(&$group, $required, $error) + { + $this->_currentGroup = $this->_elementToArray($group, $required, $error); + if (!empty($error)) { + $this->_ary['errors'][$this->_currentGroup['name']] = $error; + } + } // end func startGroup + + + function finishGroup(&$group) + { + $this->_storeArray($this->_currentGroup); + $this->_currentGroup = null; + } // end func finishGroup + + + /** + * Creates an array representing an element + * + * @access private + * @param HTML_QuickForm_element element being processed + * @param bool Whether an element is required + * @param string Error associated with the element + * @return array + */ + function _elementToArray(&$element, $required, $error) + { + $ret = array( + 'name' => $element->getName(), + 'value' => $element->getValue(), + 'type' => $element->getType(), + 'frozen' => $element->isFrozen(), + 'required' => $required, + 'error' => $error + ); + // render label(s) + $labels = $element->getLabel(); + if (is_array($labels) && $this->_staticLabels) { + foreach($labels as $key => $label) { + $key = is_int($key)? $key + 1: $key; + if (1 === $key) { + $ret['label'] = $label; + } else { + $ret['label_' . $key] = $label; + } + } + } else { + $ret['label'] = $labels; + } + + // set the style for the element + if (isset($this->_elementStyles[$ret['name']])) { + $ret['style'] = $this->_elementStyles[$ret['name']]; + } + if ('group' == $ret['type']) { + $ret['separator'] = $element->_separator; + $ret['elements'] = array(); + } else { + $ret['html'] = $element->toHtml(); + } + return $ret; + } + + + /** + * Stores an array representation of an element in the form array + * + * @access private + * @param array Array representation of an element + * @return void + */ + function _storeArray($elAry) + { + // where should we put this element... + if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) { + $this->_currentGroup['elements'][] = $elAry; + } elseif (isset($this->_currentSection)) { + $this->_ary['sections'][$this->_currentSection]['elements'][] = $elAry; + } else { + $this->_ary['elements'][] = $elAry; + } + } + + + /** + * Sets a style to use for element rendering + * + * @param mixed element name or array ('element name' => 'style name') + * @param string style name if $elementName is not an array + * @access public + * @return void + */ + function setElementStyle($elementName, $styleName = null) + { + if (is_array($elementName)) { + $this->_elementStyles = array_merge($this->_elementStyles, $elementName); + } else { + $this->_elementStyles[$elementName] = $styleName; + } + } +} ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Renderer/ArraySmarty.php b/libs/HTML/QuickForm/Renderer/ArraySmarty.php index e7495a17b3..6eb06dc2c8 100755 --- a/libs/HTML/QuickForm/Renderer/ArraySmarty.php +++ b/libs/HTML/QuickForm/Renderer/ArraySmarty.php @@ -1,402 +1,402 @@ - - * @author Bertrand Mansion - * @author Thomas Schulz - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * A concrete renderer for HTML_QuickForm, makes an array of form contents - */ -require_once 'HTML/QuickForm/Renderer/Array.php'; - -/** - * A static renderer for HTML_QuickForm, makes an array of form content - * useful for a Smarty template - * - * Based on old HTML_QuickForm::toArray() code and ITStatic renderer. - * - * The form array structure is the following: - *
- * Array (
- *  [frozen]       => whether the complete form is frozen'
- *  [javascript]   => javascript for client-side validation
- *  [attributes]   => attributes for  tag
- *  [hidden]       => html of all hidden elements
- *  [requirednote] => note about the required elements
- *  [errors] => Array
- *      (
- *          [1st_element_name] => Error for the 1st element
- *          ...
- *          [nth_element_name] => Error for the nth element
- *      )
- *
- *  [header] => Array
- *      (
- *          [1st_header_name] => Header text for the 1st header
- *          ...
- *          [nth_header_name] => Header text for the nth header
- *      )
- *
- *  [1st_element_name] => Array for the 1st element
- *  ...
- *  [nth_element_name] => Array for the nth element
- * 
- * - * where an element array has the form: - *
- *      (
- *          [name]      => element name
- *          [value]     => element value,
- *          [type]      => type of the element
- *          [frozen]    => whether element is frozen
- *          [label]     => label for the element
- *          [required]  => whether element is required
- * // if element is not a group:
- *          [html]      => HTML for the element
- * // if element is a group:
- *          [separator] => separator for group elements
- *          [1st_gitem_name] => Array for the 1st element in group
- *          ...
- *          [nth_gitem_name] => Array for the nth element in group
- *      )
- * )
- * 
- * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @author Bertrand Mansion - * @author Thomas Schulz - * @version Release: 3.2.9 - * @since 3.0 - */ -class HTML_QuickForm_Renderer_ArraySmarty extends HTML_QuickForm_Renderer_Array -{ - /**#@+ - * @access private - */ - /** - * The Smarty template engine instance - * @var object - */ - var $_tpl = null; - - /** - * Current element index - * @var integer - */ - var $_elementIdx = 0; - - /** - * The current element index inside a group - * @var integer - */ - var $_groupElementIdx = 0; - - /** - * How to handle the required tag for required fields - * @var string - * @see setRequiredTemplate() - */ - var $_required = ''; - - /** - * How to handle error messages in form validation - * @var string - * @see setErrorTemplate() - */ - var $_error = ''; - /**#@-*/ - - /** - * Constructor - * - * @param Smarty reference to the Smarty template engine instance - * @param bool true: render an array of labels to many labels, $key 0 to 'label' and the oterh to "label_$key" - * @access public - */ - function HTML_QuickForm_Renderer_ArraySmarty(&$tpl, $staticLabels = false) - { - $this->HTML_QuickForm_Renderer_Array(false, $staticLabels); - $this->_tpl =& $tpl; - } // end constructor - - /** - * Called when visiting a header element - * - * @param HTML_QuickForm_header header element being visited - * @access public - * @return void - */ - function renderHeader(&$header) - { - if ($name = $header->getName()) { - $this->_ary['header'][$name] = $header->toHtml(); - } else { - $this->_ary['header'][$this->_sectionCount] = $header->toHtml(); - } - $this->_currentSection = $this->_sectionCount++; - } // end func renderHeader - - /** - * Called when visiting a group, before processing any group elements - * - * @param HTML_QuickForm_group group being visited - * @param bool Whether a group is required - * @param string An error message associated with a group - * @access public - * @return void - */ - function startGroup(&$group, $required, $error) - { - parent::startGroup($group, $required, $error); - $this->_groupElementIdx = 1; - } // end func startGroup - - /** - * Creates an array representing an element containing - * the key for storing this - * - * @access private - * @param HTML_QuickForm_element form element being visited - * @param bool Whether an element is required - * @param string Error associated with the element - * @return array - */ - function _elementToArray(&$element, $required, $error) - { - $ret = parent::_elementToArray($element, $required, $error); - - if ('group' == $ret['type']) { - $ret['html'] = $element->toHtml(); - // we don't need the elements, see the array structure - unset($ret['elements']); - } - if (($required || $error) && !empty($this->_required)){ - $this->_renderRequired($ret['label'], $ret['html'], $required, $error); - } - if ($error && !empty($this->_error)) { - $this->_renderError($ret['label'], $ret['html'], $error); - $ret['error'] = $error; - } - // create keys for elements grouped by native group or name - if (strstr($ret['name'], '[') or $this->_currentGroup) { - // Fix for bug #8123: escape backslashes and quotes to prevent errors - // in eval(). The code below seems to handle the case where element - // name has unbalanced square brackets. Dunno whether we really - // need this after the fix for #8123, but I'm wary of making big - // changes to this code. - preg_match('/([^]]*)\\[([^]]*)\\]/', $ret['name'], $matches); - if (isset($matches[1])) { - $sKeysSub = substr_replace($ret['name'], '', 0, strlen($matches[1])); - $sKeysSub = str_replace( - array('\\', '\'', '[' , ']', '[\'\']'), - array('\\\\', '\\\'', '[\'', '\']', '[]' ), - $sKeysSub - ); - $sKeys = '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $matches[1]) . '\']' . $sKeysSub; - } else { - $sKeys = '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $ret['name']) . '\']'; - } - // special handling for elements in native groups - if ($this->_currentGroup) { - // skip unnamed group items unless radios: no name -> no static access - // identification: have the same key string as the parent group - if ($this->_currentGroup['keys'] == $sKeys and 'radio' != $ret['type']) { - return false; - } - // reduce string of keys by remove leading group keys - if (0 === strpos($sKeys, $this->_currentGroup['keys'])) { - $sKeys = substr_replace($sKeys, '', 0, strlen($this->_currentGroup['keys'])); - } - } - // element without a name - } elseif ($ret['name'] == '') { - $sKeys = '[\'element_' . $this->_elementIdx . '\']'; - // other elements - } else { - $sKeys = '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $ret['name']) . '\']'; - } - // for radios: add extra key from value - if ('radio' == $ret['type'] and substr($sKeys, -2) != '[]') { - $sKeys .= '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $ret['value']) . '\']'; - } - $this->_elementIdx++; - $ret['keys'] = $sKeys; - return $ret; - } // end func _elementToArray - - /** - * Stores an array representation of an element in the form array - * - * @access private - * @param array Array representation of an element - * @return void - */ - function _storeArray($elAry) - { - if ($elAry) { - $sKeys = $elAry['keys']; - unset($elAry['keys']); - // where should we put this element... - if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) { - $toEval = '$this->_currentGroup' . $sKeys . ' = $elAry;'; - } else { - $toEval = '$this->_ary' . $sKeys . ' = $elAry;'; - } - eval($toEval); - } - return; - } - - /** - * Called when an element is required - * - * This method will add the required tag to the element label and/or the element html - * such as defined with the method setRequiredTemplate. - * - * @param string The element label - * @param string The element html rendering - * @param boolean The element required - * @param string The element error - * @see setRequiredTemplate() - * @access private - * @return void - */ - function _renderRequired(&$label, &$html, &$required, &$error) - { - $this->_tpl->assign(array( - 'label' => $label, - 'html' => $html, - 'required' => $required, - 'error' => $error - )); - if (!empty($label) && strpos($this->_required, $this->_tpl->left_delimiter . '$label') !== false) { - $label = $this->_tplFetch($this->_required); - } - if (!empty($html) && strpos($this->_required, $this->_tpl->left_delimiter . '$html') !== false) { - $html = $this->_tplFetch($this->_required); - } - $this->_tpl->clear_assign(array('label', 'html', 'required')); - } // end func _renderRequired - - /** - * Called when an element has a validation error - * - * This method will add the error message to the element label or the element html - * such as defined with the method setErrorTemplate. If the error placeholder is not found - * in the template, the error will be displayed in the form error block. - * - * @param string The element label - * @param string The element html rendering - * @param string The element error - * @see setErrorTemplate() - * @access private - * @return void - */ - function _renderError(&$label, &$html, &$error) - { - $this->_tpl->assign(array('label' => '', 'html' => '', 'error' => $error)); - $error = $this->_tplFetch($this->_error); - $this->_tpl->assign(array('label' => $label, 'html' => $html)); - - if (!empty($label) && strpos($this->_error, $this->_tpl->left_delimiter . '$label') !== false) { - $label = $this->_tplFetch($this->_error); - } elseif (!empty($html) && strpos($this->_error, $this->_tpl->left_delimiter . '$html') !== false) { - $html = $this->_tplFetch($this->_error); - } - $this->_tpl->clear_assign(array('label', 'html', 'error')); - } // end func _renderError - - /** - * Process an template sourced in a string with Smarty - * - * Smarty has no core function to render a template given as a string. - * So we use the smarty eval plugin function to do this. - * - * @param string The template source - * @access private - * @return void - */ - function _tplFetch($tplSource) - { - if (!function_exists('smarty_function_eval')) { - require SMARTY_DIR . '/plugins/function.eval.php'; - } - return smarty_function_eval(array('var' => $tplSource), $this->_tpl); - }// end func _tplFetch - - /** - * Sets the way required elements are rendered - * - * You can use {$label} or {$html} placeholders to let the renderer know where - * where the element label or the element html are positionned according to the - * required tag. They will be replaced accordingly with the right value. You - * can use the full smarty syntax here, especially a custom modifier for I18N. - * For example: - * {if $required}*{/if}{$label|translate} - * will put a red star in front of the label if the element is required and - * translate the label. - * - * - * @param string The required element template - * @access public - * @return void - */ - function setRequiredTemplate($template) - { - $this->_required = $template; - } // end func setRequiredTemplate - - /** - * Sets the way elements with validation errors are rendered - * - * You can use {$label} or {$html} placeholders to let the renderer know where - * where the element label or the element html are positionned according to the - * error message. They will be replaced accordingly with the right value. - * The error message will replace the {$error} placeholder. - * For example: - * {if $error}{$error}{/if}
{$html} - * will put the error message in red on top of the element html. - * - * If you want all error messages to be output in the main error block, use - * the {$form.errors} part of the rendered array that collects all raw error - * messages. - * - * If you want to place all error messages manually, do not specify {$html} - * nor {$label}. - * - * Groups can have special layouts. With this kind of groups, you have to - * place the formated error message manually. In this case, use {$form.group.error} - * where you want the formated error message to appear in the form. - * - * @param string The element error template - * @access public - * @return void - */ - function setErrorTemplate($template) - { - $this->_error = $template; - } // end func setErrorTemplate -} + + * @author Bertrand Mansion + * @author Thomas Schulz + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * A concrete renderer for HTML_QuickForm, makes an array of form contents + */ +require_once 'HTML/QuickForm/Renderer/Array.php'; + +/** + * A static renderer for HTML_QuickForm, makes an array of form content + * useful for a Smarty template + * + * Based on old HTML_QuickForm::toArray() code and ITStatic renderer. + * + * The form array structure is the following: + *
+ * Array (
+ *  [frozen]       => whether the complete form is frozen'
+ *  [javascript]   => javascript for client-side validation
+ *  [attributes]   => attributes for  tag
+ *  [hidden]       => html of all hidden elements
+ *  [requirednote] => note about the required elements
+ *  [errors] => Array
+ *      (
+ *          [1st_element_name] => Error for the 1st element
+ *          ...
+ *          [nth_element_name] => Error for the nth element
+ *      )
+ *
+ *  [header] => Array
+ *      (
+ *          [1st_header_name] => Header text for the 1st header
+ *          ...
+ *          [nth_header_name] => Header text for the nth header
+ *      )
+ *
+ *  [1st_element_name] => Array for the 1st element
+ *  ...
+ *  [nth_element_name] => Array for the nth element
+ * 
+ * + * where an element array has the form: + *
+ *      (
+ *          [name]      => element name
+ *          [value]     => element value,
+ *          [type]      => type of the element
+ *          [frozen]    => whether element is frozen
+ *          [label]     => label for the element
+ *          [required]  => whether element is required
+ * // if element is not a group:
+ *          [html]      => HTML for the element
+ * // if element is a group:
+ *          [separator] => separator for group elements
+ *          [1st_gitem_name] => Array for the 1st element in group
+ *          ...
+ *          [nth_gitem_name] => Array for the nth element in group
+ *      )
+ * )
+ * 
+ * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @author Bertrand Mansion + * @author Thomas Schulz + * @version Release: 3.2.9 + * @since 3.0 + */ +class HTML_QuickForm_Renderer_ArraySmarty extends HTML_QuickForm_Renderer_Array +{ + /**#@+ + * @access private + */ + /** + * The Smarty template engine instance + * @var object + */ + var $_tpl = null; + + /** + * Current element index + * @var integer + */ + var $_elementIdx = 0; + + /** + * The current element index inside a group + * @var integer + */ + var $_groupElementIdx = 0; + + /** + * How to handle the required tag for required fields + * @var string + * @see setRequiredTemplate() + */ + var $_required = ''; + + /** + * How to handle error messages in form validation + * @var string + * @see setErrorTemplate() + */ + var $_error = ''; + /**#@-*/ + + /** + * Constructor + * + * @param Smarty reference to the Smarty template engine instance + * @param bool true: render an array of labels to many labels, $key 0 to 'label' and the oterh to "label_$key" + * @access public + */ + function HTML_QuickForm_Renderer_ArraySmarty(&$tpl, $staticLabels = false) + { + $this->HTML_QuickForm_Renderer_Array(false, $staticLabels); + $this->_tpl =& $tpl; + } // end constructor + + /** + * Called when visiting a header element + * + * @param HTML_QuickForm_header header element being visited + * @access public + * @return void + */ + function renderHeader(&$header) + { + if ($name = $header->getName()) { + $this->_ary['header'][$name] = $header->toHtml(); + } else { + $this->_ary['header'][$this->_sectionCount] = $header->toHtml(); + } + $this->_currentSection = $this->_sectionCount++; + } // end func renderHeader + + /** + * Called when visiting a group, before processing any group elements + * + * @param HTML_QuickForm_group group being visited + * @param bool Whether a group is required + * @param string An error message associated with a group + * @access public + * @return void + */ + function startGroup(&$group, $required, $error) + { + parent::startGroup($group, $required, $error); + $this->_groupElementIdx = 1; + } // end func startGroup + + /** + * Creates an array representing an element containing + * the key for storing this + * + * @access private + * @param HTML_QuickForm_element form element being visited + * @param bool Whether an element is required + * @param string Error associated with the element + * @return array + */ + function _elementToArray(&$element, $required, $error) + { + $ret = parent::_elementToArray($element, $required, $error); + + if ('group' == $ret['type']) { + $ret['html'] = $element->toHtml(); + // we don't need the elements, see the array structure + unset($ret['elements']); + } + if (($required || $error) && !empty($this->_required)){ + $this->_renderRequired($ret['label'], $ret['html'], $required, $error); + } + if ($error && !empty($this->_error)) { + $this->_renderError($ret['label'], $ret['html'], $error); + $ret['error'] = $error; + } + // create keys for elements grouped by native group or name + if (strstr($ret['name'], '[') or $this->_currentGroup) { + // Fix for bug #8123: escape backslashes and quotes to prevent errors + // in eval(). The code below seems to handle the case where element + // name has unbalanced square brackets. Dunno whether we really + // need this after the fix for #8123, but I'm wary of making big + // changes to this code. + preg_match('/([^]]*)\\[([^]]*)\\]/', $ret['name'], $matches); + if (isset($matches[1])) { + $sKeysSub = substr_replace($ret['name'], '', 0, strlen($matches[1])); + $sKeysSub = str_replace( + array('\\', '\'', '[' , ']', '[\'\']'), + array('\\\\', '\\\'', '[\'', '\']', '[]' ), + $sKeysSub + ); + $sKeys = '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $matches[1]) . '\']' . $sKeysSub; + } else { + $sKeys = '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $ret['name']) . '\']'; + } + // special handling for elements in native groups + if ($this->_currentGroup) { + // skip unnamed group items unless radios: no name -> no static access + // identification: have the same key string as the parent group + if ($this->_currentGroup['keys'] == $sKeys and 'radio' != $ret['type']) { + return false; + } + // reduce string of keys by remove leading group keys + if (0 === strpos($sKeys, $this->_currentGroup['keys'])) { + $sKeys = substr_replace($sKeys, '', 0, strlen($this->_currentGroup['keys'])); + } + } + // element without a name + } elseif ($ret['name'] == '') { + $sKeys = '[\'element_' . $this->_elementIdx . '\']'; + // other elements + } else { + $sKeys = '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $ret['name']) . '\']'; + } + // for radios: add extra key from value + if ('radio' == $ret['type'] and substr($sKeys, -2) != '[]') { + $sKeys .= '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $ret['value']) . '\']'; + } + $this->_elementIdx++; + $ret['keys'] = $sKeys; + return $ret; + } // end func _elementToArray + + /** + * Stores an array representation of an element in the form array + * + * @access private + * @param array Array representation of an element + * @return void + */ + function _storeArray($elAry) + { + if ($elAry) { + $sKeys = $elAry['keys']; + unset($elAry['keys']); + // where should we put this element... + if (is_array($this->_currentGroup) && ('group' != $elAry['type'])) { + $toEval = '$this->_currentGroup' . $sKeys . ' = $elAry;'; + } else { + $toEval = '$this->_ary' . $sKeys . ' = $elAry;'; + } + eval($toEval); + } + return; + } + + /** + * Called when an element is required + * + * This method will add the required tag to the element label and/or the element html + * such as defined with the method setRequiredTemplate. + * + * @param string The element label + * @param string The element html rendering + * @param boolean The element required + * @param string The element error + * @see setRequiredTemplate() + * @access private + * @return void + */ + function _renderRequired(&$label, &$html, &$required, &$error) + { + $this->_tpl->assign(array( + 'label' => $label, + 'html' => $html, + 'required' => $required, + 'error' => $error + )); + if (!empty($label) && strpos($this->_required, $this->_tpl->left_delimiter . '$label') !== false) { + $label = $this->_tplFetch($this->_required); + } + if (!empty($html) && strpos($this->_required, $this->_tpl->left_delimiter . '$html') !== false) { + $html = $this->_tplFetch($this->_required); + } + $this->_tpl->clear_assign(array('label', 'html', 'required')); + } // end func _renderRequired + + /** + * Called when an element has a validation error + * + * This method will add the error message to the element label or the element html + * such as defined with the method setErrorTemplate. If the error placeholder is not found + * in the template, the error will be displayed in the form error block. + * + * @param string The element label + * @param string The element html rendering + * @param string The element error + * @see setErrorTemplate() + * @access private + * @return void + */ + function _renderError(&$label, &$html, &$error) + { + $this->_tpl->assign(array('label' => '', 'html' => '', 'error' => $error)); + $error = $this->_tplFetch($this->_error); + $this->_tpl->assign(array('label' => $label, 'html' => $html)); + + if (!empty($label) && strpos($this->_error, $this->_tpl->left_delimiter . '$label') !== false) { + $label = $this->_tplFetch($this->_error); + } elseif (!empty($html) && strpos($this->_error, $this->_tpl->left_delimiter . '$html') !== false) { + $html = $this->_tplFetch($this->_error); + } + $this->_tpl->clear_assign(array('label', 'html', 'error')); + } // end func _renderError + + /** + * Process an template sourced in a string with Smarty + * + * Smarty has no core function to render a template given as a string. + * So we use the smarty eval plugin function to do this. + * + * @param string The template source + * @access private + * @return void + */ + function _tplFetch($tplSource) + { + if (!function_exists('smarty_function_eval')) { + require SMARTY_DIR . '/plugins/function.eval.php'; + } + return smarty_function_eval(array('var' => $tplSource), $this->_tpl); + }// end func _tplFetch + + /** + * Sets the way required elements are rendered + * + * You can use {$label} or {$html} placeholders to let the renderer know where + * where the element label or the element html are positionned according to the + * required tag. They will be replaced accordingly with the right value. You + * can use the full smarty syntax here, especially a custom modifier for I18N. + * For example: + * {if $required}*{/if}{$label|translate} + * will put a red star in front of the label if the element is required and + * translate the label. + * + * + * @param string The required element template + * @access public + * @return void + */ + function setRequiredTemplate($template) + { + $this->_required = $template; + } // end func setRequiredTemplate + + /** + * Sets the way elements with validation errors are rendered + * + * You can use {$label} or {$html} placeholders to let the renderer know where + * where the element label or the element html are positionned according to the + * error message. They will be replaced accordingly with the right value. + * The error message will replace the {$error} placeholder. + * For example: + * {if $error}{$error}{/if}
{$html} + * will put the error message in red on top of the element html. + * + * If you want all error messages to be output in the main error block, use + * the {$form.errors} part of the rendered array that collects all raw error + * messages. + * + * If you want to place all error messages manually, do not specify {$html} + * nor {$label}. + * + * Groups can have special layouts. With this kind of groups, you have to + * place the formated error message manually. In this case, use {$form.group.error} + * where you want the formated error message to appear in the form. + * + * @param string The element error template + * @access public + * @return void + */ + function setErrorTemplate($template) + { + $this->_error = $template; + } // end func setErrorTemplate +} ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Rule.php b/libs/HTML/QuickForm/Rule.php index e172a43199..4870ad1720 100755 --- a/libs/HTML/QuickForm/Rule.php +++ b/libs/HTML/QuickForm/Rule.php @@ -1,82 +1,82 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - * - * @category HTML - * @package HTML_QuickForm - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 3.2 - * @abstract - */ -class HTML_QuickForm_Rule -{ - /** - * Name of the rule to use in validate method - * - * This property is used in more global rules like Callback and Regex - * to determine which callback and which regex is to be used for validation - * - * @var string - * @access public - */ - var $name; - - /** - * Validates a value - * - * @access public - * @abstract - */ - function validate($value) - { - return true; - } - - /** - * Sets the rule name - * - * @param string rule name - * @access public - */ - function setName($ruleName) - { - $this->name = $ruleName; - } - - /** - * Returns the javascript test (the test should return true if the value is INVALID) - * - * @param mixed Options for the rule - * @access public - * @return array first element is code to setup validation, second is the check itself - * @abstract - */ - function getValidationScript($options = null) - { - return array('', ''); - } -} + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + * + * @category HTML + * @package HTML_QuickForm + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 3.2 + * @abstract + */ +class HTML_QuickForm_Rule +{ + /** + * Name of the rule to use in validate method + * + * This property is used in more global rules like Callback and Regex + * to determine which callback and which regex is to be used for validation + * + * @var string + * @access public + */ + var $name; + + /** + * Validates a value + * + * @access public + * @abstract + */ + function validate($value) + { + return true; + } + + /** + * Sets the rule name + * + * @param string rule name + * @access public + */ + function setName($ruleName) + { + $this->name = $ruleName; + } + + /** + * Returns the javascript test (the test should return true if the value is INVALID) + * + * @param mixed Options for the rule + * @access public + * @return array first element is code to setup validation, second is the check itself + * @abstract + */ + function getValidationScript($options = null) + { + return array('', ''); + } +} ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Rule/Callback.php b/libs/HTML/QuickForm/Rule/Callback.php index e35b79f223..d5dec846a6 100755 --- a/libs/HTML/QuickForm/Rule/Callback.php +++ b/libs/HTML/QuickForm/Rule/Callback.php @@ -1,124 +1,124 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - */ -require_once 'HTML/QuickForm/Rule.php'; - -/** - * Validates values using callback functions or methods - * - * @category HTML - * @package HTML_QuickForm - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_Rule_Callback extends HTML_QuickForm_Rule -{ - /** - * Array of callbacks - * - * Array is in the format: - * $_data['rulename'] = array('functionname', 'classname'); - * If the callback is not a method, then the class name is not set. - * - * @var array - * @access private - */ - var $_data = array(); - - /** - * Whether to use BC mode for specific rules - * - * Previous versions of QF passed element's name as a first parameter - * to validation functions, but not to validation methods. This behaviour - * is emulated if you are using 'function' as rule type when registering. - * - * @var array - * @access private - */ - var $_BCMode = array(); - - /** - * Validates a value using a callback - * - * @param string $value Value to be checked - * @param mixed $options Options for callback - * @access public - * @return boolean true if value is valid - */ - function validate($value, $options = null) - { - if (isset($this->_data[$this->name])) { - $callback = $this->_data[$this->name]; - if (isset($callback[1])) { - return call_user_func(array($callback[1], $callback[0]), $value, $options); - } elseif ($this->_BCMode[$this->name]) { - return $callback[0]('', $value, $options); - } else { - return $callback[0]($value, $options); - } - } elseif (is_callable($options)) { - return call_user_func($options, $value); - } else { - return true; - } - } // end func validate - - /** - * Adds new callbacks to the callbacks list - * - * @param string $name Name of rule - * @param string $callback Name of function or method - * @param string $class Name of class containing the method - * @param bool $BCMode Backwards compatibility mode - * @access public - */ - function addData($name, $callback, $class = null, $BCMode = false) - { - if (!empty($class)) { - $this->_data[$name] = array($callback, $class); - } else { - $this->_data[$name] = array($callback); - } - $this->_BCMode[$name] = $BCMode; - } // end func addData - - - function getValidationScript($options = null) - { - if (isset($this->_data[$this->name])) { - $callback = $this->_data[$this->name][0]; - $params = ($this->_BCMode[$this->name]? "'', {jsVar}": '{jsVar}') . - (isset($options)? ", '{$options}'": ''); - } else { - $callback = is_array($options)? $options[1]: $options; - $params = '{jsVar}'; - } - return array('', "{jsVar} != '' && !{$callback}({$params})"); - } // end func getValidationScript - -} // end class HTML_QuickForm_Rule_Callback + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + */ +require_once 'HTML/QuickForm/Rule.php'; + +/** + * Validates values using callback functions or methods + * + * @category HTML + * @package HTML_QuickForm + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_Rule_Callback extends HTML_QuickForm_Rule +{ + /** + * Array of callbacks + * + * Array is in the format: + * $_data['rulename'] = array('functionname', 'classname'); + * If the callback is not a method, then the class name is not set. + * + * @var array + * @access private + */ + var $_data = array(); + + /** + * Whether to use BC mode for specific rules + * + * Previous versions of QF passed element's name as a first parameter + * to validation functions, but not to validation methods. This behaviour + * is emulated if you are using 'function' as rule type when registering. + * + * @var array + * @access private + */ + var $_BCMode = array(); + + /** + * Validates a value using a callback + * + * @param string $value Value to be checked + * @param mixed $options Options for callback + * @access public + * @return boolean true if value is valid + */ + function validate($value, $options = null) + { + if (isset($this->_data[$this->name])) { + $callback = $this->_data[$this->name]; + if (isset($callback[1])) { + return call_user_func(array($callback[1], $callback[0]), $value, $options); + } elseif ($this->_BCMode[$this->name]) { + return $callback[0]('', $value, $options); + } else { + return $callback[0]($value, $options); + } + } elseif (is_callable($options)) { + return call_user_func($options, $value); + } else { + return true; + } + } // end func validate + + /** + * Adds new callbacks to the callbacks list + * + * @param string $name Name of rule + * @param string $callback Name of function or method + * @param string $class Name of class containing the method + * @param bool $BCMode Backwards compatibility mode + * @access public + */ + function addData($name, $callback, $class = null, $BCMode = false) + { + if (!empty($class)) { + $this->_data[$name] = array($callback, $class); + } else { + $this->_data[$name] = array($callback); + } + $this->_BCMode[$name] = $BCMode; + } // end func addData + + + function getValidationScript($options = null) + { + if (isset($this->_data[$this->name])) { + $callback = $this->_data[$this->name][0]; + $params = ($this->_BCMode[$this->name]? "'', {jsVar}": '{jsVar}') . + (isset($options)? ", '{$options}'": ''); + } else { + $callback = is_array($options)? $options[1]: $options; + $params = '{jsVar}'; + } + return array('', "{jsVar} != '' && !{$callback}({$params})"); + } // end func getValidationScript + +} // end class HTML_QuickForm_Rule_Callback ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Rule/Compare.php b/libs/HTML/QuickForm/Rule/Compare.php index e7d491301d..7b8ed4a283 100755 --- a/libs/HTML/QuickForm/Rule/Compare.php +++ b/libs/HTML/QuickForm/Rule/Compare.php @@ -1,105 +1,105 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - */ -require_once 'HTML/QuickForm/Rule.php'; - -/** - * Rule to compare two form fields - * - * The most common usage for this is to ensure that the password - * confirmation field matches the password field - * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_Rule_Compare extends HTML_QuickForm_Rule -{ - /** - * Possible operators to use - * @var array - * @access private - */ - var $_operators = array( - 'eq' => '===', - 'neq' => '!==', - 'gt' => '>', - 'gte' => '>=', - 'lt' => '<', - 'lte' => '<=', - '==' => '===', - '!=' => '!==' - ); - - - /** - * Returns the operator to use for comparing the values - * - * @access private - * @param string operator name - * @return string operator to use for validation - */ - function _findOperator($name) - { - if (empty($name)) { - return '==='; - } elseif (isset($this->_operators[$name])) { - return $this->_operators[$name]; - } elseif (in_array($name, $this->_operators)) { - return $name; - } else { - return '==='; - } - } - - - function validate($values, $operator = null) - { - $operator = $this->_findOperator($operator); - if ('===' != $operator && '!==' != $operator) { - $compareFn = create_function('$a, $b', 'return floatval($a) ' . $operator . ' floatval($b);'); - } else { - $compareFn = create_function('$a, $b', 'return strval($a) ' . $operator . ' strval($b);'); - } - - return $compareFn($values[0], $values[1]); - } - - - function getValidationScript($operator = null) - { - $operator = $this->_findOperator($operator); - if ('===' != $operator && '!==' != $operator) { - $check = "!(Number({jsVar}[0]) {$operator} Number({jsVar}[1]))"; - } else { - $check = "!(String({jsVar}[0]) {$operator} String({jsVar}[1]))"; - } - return array('', "'' != {jsVar}[0] && {$check}"); - } -} -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + */ +require_once 'HTML/QuickForm/Rule.php'; + +/** + * Rule to compare two form fields + * + * The most common usage for this is to ensure that the password + * confirmation field matches the password field + * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_Rule_Compare extends HTML_QuickForm_Rule +{ + /** + * Possible operators to use + * @var array + * @access private + */ + var $_operators = array( + 'eq' => '===', + 'neq' => '!==', + 'gt' => '>', + 'gte' => '>=', + 'lt' => '<', + 'lte' => '<=', + '==' => '===', + '!=' => '!==' + ); + + + /** + * Returns the operator to use for comparing the values + * + * @access private + * @param string operator name + * @return string operator to use for validation + */ + function _findOperator($name) + { + if (empty($name)) { + return '==='; + } elseif (isset($this->_operators[$name])) { + return $this->_operators[$name]; + } elseif (in_array($name, $this->_operators)) { + return $name; + } else { + return '==='; + } + } + + + function validate($values, $operator = null) + { + $operator = $this->_findOperator($operator); + if ('===' != $operator && '!==' != $operator) { + $compareFn = create_function('$a, $b', 'return floatval($a) ' . $operator . ' floatval($b);'); + } else { + $compareFn = create_function('$a, $b', 'return strval($a) ' . $operator . ' strval($b);'); + } + + return $compareFn($values[0], $values[1]); + } + + + function getValidationScript($operator = null) + { + $operator = $this->_findOperator($operator); + if ('===' != $operator && '!==' != $operator) { + $check = "!(Number({jsVar}[0]) {$operator} Number({jsVar}[1]))"; + } else { + $check = "!(String({jsVar}[0]) {$operator} String({jsVar}[1]))"; + } + return array('', "'' != {jsVar}[0] && {$check}"); + } +} +?> diff --git a/libs/HTML/QuickForm/Rule/Email.php b/libs/HTML/QuickForm/Rule/Email.php index bb30c6546c..06ca30f172 100755 --- a/libs/HTML/QuickForm/Rule/Email.php +++ b/libs/HTML/QuickForm/Rule/Email.php @@ -1,73 +1,73 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - */ -require_once 'HTML/QuickForm/Rule.php'; - -/** - * Email validation rule - * - * @category HTML - * @package HTML_QuickForm - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_Rule_Email extends HTML_QuickForm_Rule -{ - var $regex = '/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/'; - - /** - * Validates an email address - * - * @param string $email Email address - * @param boolean $checkDomain True if dns check should be performed - * @access public - * @return boolean true if email is valid - */ - function validate($email, $checkDomain = false) - { - // Fix for bug #10799: add 'D' modifier to regex - if (preg_match($this->regex . 'D', $email)) { - if ($checkDomain && function_exists('checkdnsrr')) { - $tokens = explode('@', $email); - if (checkdnsrr($tokens[1], 'MX') || checkdnsrr($tokens[1], 'A')) { - return true; - } - return false; - } - return true; - } - return false; - } // end func validate - - - function getValidationScript($options = null) - { - return array(" var regex = " . $this->regex . ";\n", "{jsVar} != '' && !regex.test({jsVar})"); - } // end func getValidationScript - -} // end class HTML_QuickForm_Rule_Email + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + */ +require_once 'HTML/QuickForm/Rule.php'; + +/** + * Email validation rule + * + * @category HTML + * @package HTML_QuickForm + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_Rule_Email extends HTML_QuickForm_Rule +{ + var $regex = '/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/'; + + /** + * Validates an email address + * + * @param string $email Email address + * @param boolean $checkDomain True if dns check should be performed + * @access public + * @return boolean true if email is valid + */ + function validate($email, $checkDomain = false) + { + // Fix for bug #10799: add 'D' modifier to regex + if (preg_match($this->regex . 'D', $email)) { + if ($checkDomain && function_exists('checkdnsrr')) { + $tokens = explode('@', $email); + if (checkdnsrr($tokens[1], 'MX') || checkdnsrr($tokens[1], 'A')) { + return true; + } + return false; + } + return true; + } + return false; + } // end func validate + + + function getValidationScript($options = null) + { + return array(" var regex = " . $this->regex . ";\n", "{jsVar} != '' && !regex.test({jsVar})"); + } // end func getValidationScript + +} // end class HTML_QuickForm_Rule_Email ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Rule/Range.php b/libs/HTML/QuickForm/Rule/Range.php index aaa32d0660..76f1837a3e 100755 --- a/libs/HTML/QuickForm/Rule/Range.php +++ b/libs/HTML/QuickForm/Rule/Range.php @@ -1,75 +1,75 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - */ -require_once 'HTML/QuickForm/Rule.php'; - -/** - * Checks that the length of value is within range - * - * @category HTML - * @package HTML_QuickForm - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_Rule_Range extends HTML_QuickForm_Rule -{ - /** - * Validates a value using a range comparison - * - * @param string $value Value to be checked - * @param mixed $options Int for length, array for range - * @access public - * @return boolean true if value is valid - */ - function validate($value, $options) - { - $length = strlen($value); - switch ($this->name) { - case 'minlength': return ($length >= $options); - case 'maxlength': return ($length <= $options); - default: return ($length >= $options[0] && $length <= $options[1]); - } - } // end func validate - - - function getValidationScript($options = null) - { - switch ($this->name) { - case 'minlength': - $test = '{jsVar}.length < '.$options; - break; - case 'maxlength': - $test = '{jsVar}.length > '.$options; - break; - default: - $test = '({jsVar}.length < '.$options[0].' || {jsVar}.length > '.$options[1].')'; - } - return array('', "{jsVar} != '' && {$test}"); - } // end func getValidationScript - -} // end class HTML_QuickForm_Rule_Range + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + */ +require_once 'HTML/QuickForm/Rule.php'; + +/** + * Checks that the length of value is within range + * + * @category HTML + * @package HTML_QuickForm + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_Rule_Range extends HTML_QuickForm_Rule +{ + /** + * Validates a value using a range comparison + * + * @param string $value Value to be checked + * @param mixed $options Int for length, array for range + * @access public + * @return boolean true if value is valid + */ + function validate($value, $options) + { + $length = strlen($value); + switch ($this->name) { + case 'minlength': return ($length >= $options); + case 'maxlength': return ($length <= $options); + default: return ($length >= $options[0] && $length <= $options[1]); + } + } // end func validate + + + function getValidationScript($options = null) + { + switch ($this->name) { + case 'minlength': + $test = '{jsVar}.length < '.$options; + break; + case 'maxlength': + $test = '{jsVar}.length > '.$options; + break; + default: + $test = '({jsVar}.length < '.$options[0].' || {jsVar}.length > '.$options[1].')'; + } + return array('', "{jsVar} != '' && {$test}"); + } // end func getValidationScript + +} // end class HTML_QuickForm_Rule_Range ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Rule/Regex.php b/libs/HTML/QuickForm/Rule/Regex.php index bc060b9887..2417a022e2 100755 --- a/libs/HTML/QuickForm/Rule/Regex.php +++ b/libs/HTML/QuickForm/Rule/Regex.php @@ -1,101 +1,101 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - */ -require_once 'HTML/QuickForm/Rule.php'; - -/** - * Validates values using regular expressions - * - * @category HTML - * @package HTML_QuickForm - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_Rule_Regex extends HTML_QuickForm_Rule -{ - /** - * Array of regular expressions - * - * Array is in the format: - * $_data['rulename'] = 'pattern'; - * - * @var array - * @access private - */ - var $_data = array( - 'lettersonly' => '/^[a-zA-Z]+$/', - 'alphanumeric' => '/^[a-zA-Z0-9]+$/', - 'numeric' => '/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/', - 'nopunctuation' => '/^[^().\/\*\^\?#!@$%+=,\"\'><~\[\]{}]+$/', - 'nonzero' => '/^-?[1-9][0-9]*/' - ); - - /** - * Validates a value using a regular expression - * - * @param string $value Value to be checked - * @param string $regex Regular expression - * @access public - * @return boolean true if value is valid - */ - function validate($value, $regex = null) - { - // Fix for bug #10799: add 'D' modifier to regex - if (isset($this->_data[$this->name])) { - if (!preg_match($this->_data[$this->name] . 'D', $value)) { - return false; - } - } else { - if (!preg_match($regex . 'D', $value)) { - return false; - } - } - return true; - } // end func validate - - /** - * Adds new regular expressions to the list - * - * @param string $name Name of rule - * @param string $pattern Regular expression pattern - * @access public - */ - function addData($name, $pattern) - { - $this->_data[$name] = $pattern; - } // end func addData - - - function getValidationScript($options = null) - { - $regex = isset($this->_data[$this->name]) ? $this->_data[$this->name] : $options; - - return array(" var regex = " . $regex . ";\n", "{jsVar} != '' && !regex.test({jsVar})"); - } // end func getValidationScript - -} // end class HTML_QuickForm_Rule_Regex + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + */ +require_once 'HTML/QuickForm/Rule.php'; + +/** + * Validates values using regular expressions + * + * @category HTML + * @package HTML_QuickForm + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_Rule_Regex extends HTML_QuickForm_Rule +{ + /** + * Array of regular expressions + * + * Array is in the format: + * $_data['rulename'] = 'pattern'; + * + * @var array + * @access private + */ + var $_data = array( + 'lettersonly' => '/^[a-zA-Z]+$/', + 'alphanumeric' => '/^[a-zA-Z0-9]+$/', + 'numeric' => '/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/', + 'nopunctuation' => '/^[^().\/\*\^\?#!@$%+=,\"\'><~\[\]{}]+$/', + 'nonzero' => '/^-?[1-9][0-9]*/' + ); + + /** + * Validates a value using a regular expression + * + * @param string $value Value to be checked + * @param string $regex Regular expression + * @access public + * @return boolean true if value is valid + */ + function validate($value, $regex = null) + { + // Fix for bug #10799: add 'D' modifier to regex + if (isset($this->_data[$this->name])) { + if (!preg_match($this->_data[$this->name] . 'D', $value)) { + return false; + } + } else { + if (!preg_match($regex . 'D', $value)) { + return false; + } + } + return true; + } // end func validate + + /** + * Adds new regular expressions to the list + * + * @param string $name Name of rule + * @param string $pattern Regular expression pattern + * @access public + */ + function addData($name, $pattern) + { + $this->_data[$name] = $pattern; + } // end func addData + + + function getValidationScript($options = null) + { + $regex = isset($this->_data[$this->name]) ? $this->_data[$this->name] : $options; + + return array(" var regex = " . $regex . ";\n", "{jsVar} != '' && !regex.test({jsVar})"); + } // end func getValidationScript + +} // end class HTML_QuickForm_Rule_Regex ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/Rule/Required.php b/libs/HTML/QuickForm/Rule/Required.php index 831efcf3ee..f8cc8f5924 100755 --- a/libs/HTML/QuickForm/Rule/Required.php +++ b/libs/HTML/QuickForm/Rule/Required.php @@ -1,63 +1,63 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Abstract base class for QuickForm validation rules - */ -require_once 'HTML/QuickForm/Rule.php'; - -/** - * Required elements validation - * - * @category HTML - * @package HTML_QuickForm - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_Rule_Required extends HTML_QuickForm_Rule -{ - /** - * Checks if an element is empty - * - * @param string $value Value to check - * @param mixed $options Not used yet - * @access public - * @return boolean true if value is not empty - */ - function validate($value, $options = null) - { - if ((string)$value == '') { - return false; - } - return true; - } // end func validate - - - function getValidationScript($options = null) - { - return array('', "{jsVar} == ''"); - } // end func getValidationScript - -} // end class HTML_QuickForm_Rule_Required -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Abstract base class for QuickForm validation rules + */ +require_once 'HTML/QuickForm/Rule.php'; + +/** + * Required elements validation + * + * @category HTML + * @package HTML_QuickForm + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_Rule_Required extends HTML_QuickForm_Rule +{ + /** + * Checks if an element is empty + * + * @param string $value Value to check + * @param mixed $options Not used yet + * @access public + * @return boolean true if value is not empty + */ + function validate($value, $options = null) + { + if ((string)$value == '') { + return false; + } + return true; + } // end func validate + + + function getValidationScript($options = null) + { + return array('', "{jsVar} == ''"); + } // end func getValidationScript + +} // end class HTML_QuickForm_Rule_Required +?> diff --git a/libs/HTML/QuickForm/RuleRegistry.php b/libs/HTML/QuickForm/RuleRegistry.php index e77c338a25..cb1a74eb18 100755 --- a/libs/HTML/QuickForm/RuleRegistry.php +++ b/libs/HTML/QuickForm/RuleRegistry.php @@ -1,349 +1,349 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Registers rule objects and uses them for validation - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_RuleRegistry -{ - /** - * Array containing references to used rules - * @var array - * @access private - */ - var $_rules = array(); - - - /** - * Returns a singleton of HTML_QuickForm_RuleRegistry - * - * Usually, only one RuleRegistry object is needed, this is the reason - * why it is recommended to use this method to get the validation object. - * - * @access public - * @static - * @return HTML_QuickForm_RuleRegistry - */ - static function &singleton() - { - static $obj; - if (!isset($obj)) { - $obj = new HTML_QuickForm_RuleRegistry(); - } - return $obj; - } // end func singleton - - /** - * Registers a new validation rule - * - * In order to use a custom rule in your form, you need to register it - * first. For regular expressions, one can directly use the 'regex' type - * rule in addRule(), this is faster than registering the rule. - * - * Functions and methods can be registered. Use the 'function' type. - * When registering a method, specify the class name as second parameter. - * - * You can also register an HTML_QuickForm_Rule subclass with its own - * validate() method. - * - * @param string $ruleName Name of validation rule - * @param string $type Either: 'regex', 'function' or null - * @param string $data1 Name of function, regular expression or - * HTML_QuickForm_Rule object class name - * @param string $data2 Object parent of above function or HTML_QuickForm_Rule file path - * @access public - * @return void - */ - function registerRule($ruleName, $type, $data1, $data2 = null) - { - $type = strtolower($type); - if ($type == 'regex') { - // Regular expression - $rule =& $this->getRule('regex'); - $rule->addData($ruleName, $data1); - $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = $GLOBALS['_HTML_QuickForm_registered_rules']['regex']; - - } elseif ($type == 'function' || $type == 'callback') { - // Callback function - $rule =& $this->getRule('callback'); - $rule->addData($ruleName, $data1, $data2, 'function' == $type); - $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = $GLOBALS['_HTML_QuickForm_registered_rules']['callback']; - - } elseif (is_object($data1)) { - // An instance of HTML_QuickForm_Rule - $this->_rules[strtolower(get_class($data1))] = $data1; - $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = array(strtolower(get_class($data1)), null); - - } else { - // Rule class name - $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = array(strtolower($data1), $data2); - } - } // end func registerRule - - /** - * Returns a reference to the requested rule object - * - * @param string $ruleName Name of the requested rule - * @access public - * @return HTML_QuickForm_Rule - */ - function &getRule($ruleName) - { - list($class, $path) = $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName]; - - if (!isset($this->_rules[$class])) { - if (!empty($path)) { - include_once($path); - } - $this->_rules[$class] = new $class(); - } - $this->_rules[$class]->setName($ruleName); - return $this->_rules[$class]; - } // end func getRule - - /** - * Performs validation on the given values - * - * @param string $ruleName Name of the rule to be used - * @param mixed $values Can be a scalar or an array of values - * to be validated - * @param mixed $options Options used by the rule - * @param mixed $multiple Whether to validate an array of values altogether - * @access public - * @return mixed true if no error found, int of valid values (when an array of values is given) or false if error - */ - function validate($ruleName, $values, $options = null, $multiple = false) - { - $rule =& $this->getRule($ruleName); - - if (is_array($values) && !$multiple) { - $result = 0; - foreach ($values as $value) { - if ($rule->validate($value, $options) === true) { - $result++; - } - } - return ($result == 0) ? false : $result; - } else { - return $rule->validate($values, $options); - } - } // end func validate - - /** - * Returns the validation test in javascript code - * - * @param array|HTML_QuickForm_element Element(s) the rule applies to - * @param string Element name, in case $element is - * not an array - * @param array Rule data - * @access public - * @return string JavaScript for the rule - */ - function getValidationScript(&$element, $elementName, $ruleData) - { - $reset = (isset($ruleData['reset'])) ? $ruleData['reset'] : false; - $rule =& $this->getRule($ruleData['type']); - if (!is_array($element)) { - list($jsValue, $jsReset) = $this->_getJsValue($element, $elementName, $reset, null); - } else { - $jsValue = " value = new Array();\n"; - $jsReset = ''; - for ($i = 0; $i < count($element); $i++) { - list($tmp_value, $tmp_reset) = $this->_getJsValue($element[$i], $element[$i]->getName(), $reset, $i); - $jsValue .= "\n" . $tmp_value; - $jsReset .= $tmp_reset; - } - } - $jsField = isset($ruleData['group'])? $ruleData['group']: $elementName; - list ($jsPrefix, $jsCheck) = $rule->getValidationScript($ruleData['format']); - if (!isset($ruleData['howmany'])) { - $js = $jsValue . "\n" . $jsPrefix . - " if (" . str_replace('{jsVar}', 'value', $jsCheck) . " && !errFlag['{$jsField}']) {\n" . - " errFlag['{$jsField}'] = true;\n" . - " _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" . - $jsReset . - " }\n"; - } else { - $js = $jsValue . "\n" . $jsPrefix . - " var res = 0;\n" . - " for (var i = 0; i < value.length; i++) {\n" . - " if (!(" . str_replace('{jsVar}', 'value[i]', $jsCheck) . ")) {\n" . - " res++;\n" . - " }\n" . - " }\n" . - " if (res < {$ruleData['howmany']} && !errFlag['{$jsField}']) {\n" . - " errFlag['{$jsField}'] = true;\n" . - " _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" . - $jsReset . - " }\n"; - } - return $js; - } // end func getValidationScript - - - /** - * Returns JavaScript to get and to reset the element's value - * - * @access private - * @param HTML_QuickForm_element element being processed - * @param string element's name - * @param bool whether to generate JavaScript to reset - * the value - * @param integer value's index in the array (only used for - * multielement rules) - * @return array first item is value javascript, second is reset - */ - function _getJsValue(&$element, $elementName, $reset = false, $index = null) - { - $jsIndex = isset($index)? '[' . $index . ']': ''; - $tmp_reset = $reset? " var field = frm.elements['$elementName'];\n": ''; - if (is_a($element, 'html_quickform_group')) { - $value = " _qfGroups['{$elementName}'] = {"; - $elements =& $element->getElements(); - for ($i = 0, $count = count($elements); $i < $count; $i++) { - $append = ($elements[$i]->getType() == 'select' && $elements[$i]->getMultiple())? '[]': ''; - $value .= "'" . $element->getElementName($i) . $append . "': true" . - ($i < $count - 1? ', ': ''); - } - $value .= - "};\n" . - " value{$jsIndex} = new Array();\n" . - " var valueIdx = 0;\n" . - " for (var i = 0; i < frm.elements.length; i++) {\n" . - " var _element = frm.elements[i];\n" . - " if (_element.name in _qfGroups['{$elementName}']) {\n" . - " switch (_element.type) {\n" . - " case 'checkbox':\n" . - " case 'radio':\n" . - " if (_element.checked) {\n" . - " value{$jsIndex}[valueIdx++] = _element.value;\n" . - " }\n" . - " break;\n" . - " case 'select-one':\n" . - " if (-1 != _element.selectedIndex) {\n" . - " value{$jsIndex}[valueIdx++] = _element.options[_element.selectedIndex].value;\n" . - " }\n" . - " break;\n" . - " case 'select-multiple':\n" . - " var tmpVal = new Array();\n" . - " var tmpIdx = 0;\n" . - " for (var j = 0; j < _element.options.length; j++) {\n" . - " if (_element.options[j].selected) {\n" . - " tmpVal[tmpIdx++] = _element.options[j].value;\n" . - " }\n" . - " }\n" . - " if (tmpIdx > 0) {\n" . - " value{$jsIndex}[valueIdx++] = tmpVal;\n" . - " }\n" . - " break;\n" . - " default:\n" . - " value{$jsIndex}[valueIdx++] = _element.value;\n" . - " }\n" . - " }\n" . - " }\n"; - if ($reset) { - $tmp_reset = - " for (var i = 0; i < frm.elements.length; i++) {\n" . - " var _element = frm.elements[i];\n" . - " if (_element.name in _qfGroups['{$elementName}']) {\n" . - " switch (_element.type) {\n" . - " case 'checkbox':\n" . - " case 'radio':\n" . - " _element.checked = _element.defaultChecked;\n" . - " break;\n" . - " case 'select-one':\n" . - " case 'select-multiple':\n" . - " for (var j = 0; j < _element.options.length; j++) {\n" . - " _element.options[j].selected = _element.options[j].defaultSelected;\n" . - " }\n" . - " break;\n" . - " default:\n" . - " _element.value = _element.defaultValue;\n" . - " }\n" . - " }\n" . - " }\n"; - } - - } elseif ($element->getType() == 'select') { - if ($element->getMultiple()) { - $elementName .= '[]'; - $value = - " value{$jsIndex} = new Array();\n" . - " var valueIdx = 0;\n" . - " for (var i = 0; i < frm.elements['{$elementName}'].options.length; i++) {\n" . - " if (frm.elements['{$elementName}'].options[i].selected) {\n" . - " value{$jsIndex}[valueIdx++] = frm.elements['{$elementName}'].options[i].value;\n" . - " }\n" . - " }\n"; - } else { - $value = " value{$jsIndex} = frm.elements['{$elementName}'].selectedIndex == -1? '': frm.elements['{$elementName}'].options[frm.elements['{$elementName}'].selectedIndex].value;\n"; - } - if ($reset) { - $tmp_reset .= - " for (var i = 0; i < field.options.length; i++) {\n" . - " field.options[i].selected = field.options[i].defaultSelected;\n" . - " }\n"; - } - - } elseif ($element->getType() == 'checkbox') { - if (is_a($element, 'html_quickform_advcheckbox')) { - $value = " value{$jsIndex} = frm.elements['$elementName'][1].checked? frm.elements['$elementName'][1].value: frm.elements['$elementName'][0].value;\n"; - $tmp_reset .= $reset ? " field[1].checked = field[1].defaultChecked;\n" : ''; - } else { - $value = " value{$jsIndex} = frm.elements['$elementName'].checked? '1': '';\n"; - $tmp_reset .= $reset ? " field.checked = field.defaultChecked;\n" : ''; - } - - } elseif ($element->getType() == 'radio') { - $value = " value{$jsIndex} = '';\n" . - // Fix for bug #5644 - " var els = 'length' in frm.elements['$elementName']? frm.elements['$elementName']: [ frm.elements['$elementName'] ];\n" . - " for (var i = 0; i < els.length; i++) {\n" . - " if (els[i].checked) {\n" . - " value{$jsIndex} = els[i].value;\n" . - " }\n" . - " }"; - if ($reset) { - $tmp_reset .= " for (var i = 0; i < field.length; i++) {\n" . - " field[i].checked = field[i].defaultChecked;\n" . - " }"; - } - - } else { - $value = " value{$jsIndex} = frm.elements['$elementName'].value;"; - $tmp_reset .= ($reset) ? " field.value = field.defaultValue;\n" : ''; - } - return array($value, $tmp_reset); - } -} // end class HTML_QuickForm_RuleRegistry -?> + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Registers rule objects and uses them for validation + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_RuleRegistry +{ + /** + * Array containing references to used rules + * @var array + * @access private + */ + var $_rules = array(); + + + /** + * Returns a singleton of HTML_QuickForm_RuleRegistry + * + * Usually, only one RuleRegistry object is needed, this is the reason + * why it is recommended to use this method to get the validation object. + * + * @access public + * @static + * @return HTML_QuickForm_RuleRegistry + */ + static function &singleton() + { + static $obj; + if (!isset($obj)) { + $obj = new HTML_QuickForm_RuleRegistry(); + } + return $obj; + } // end func singleton + + /** + * Registers a new validation rule + * + * In order to use a custom rule in your form, you need to register it + * first. For regular expressions, one can directly use the 'regex' type + * rule in addRule(), this is faster than registering the rule. + * + * Functions and methods can be registered. Use the 'function' type. + * When registering a method, specify the class name as second parameter. + * + * You can also register an HTML_QuickForm_Rule subclass with its own + * validate() method. + * + * @param string $ruleName Name of validation rule + * @param string $type Either: 'regex', 'function' or null + * @param string $data1 Name of function, regular expression or + * HTML_QuickForm_Rule object class name + * @param string $data2 Object parent of above function or HTML_QuickForm_Rule file path + * @access public + * @return void + */ + function registerRule($ruleName, $type, $data1, $data2 = null) + { + $type = strtolower($type); + if ($type == 'regex') { + // Regular expression + $rule =& $this->getRule('regex'); + $rule->addData($ruleName, $data1); + $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = $GLOBALS['_HTML_QuickForm_registered_rules']['regex']; + + } elseif ($type == 'function' || $type == 'callback') { + // Callback function + $rule =& $this->getRule('callback'); + $rule->addData($ruleName, $data1, $data2, 'function' == $type); + $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = $GLOBALS['_HTML_QuickForm_registered_rules']['callback']; + + } elseif (is_object($data1)) { + // An instance of HTML_QuickForm_Rule + $this->_rules[strtolower(get_class($data1))] = $data1; + $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = array(strtolower(get_class($data1)), null); + + } else { + // Rule class name + $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName] = array(strtolower($data1), $data2); + } + } // end func registerRule + + /** + * Returns a reference to the requested rule object + * + * @param string $ruleName Name of the requested rule + * @access public + * @return HTML_QuickForm_Rule + */ + function &getRule($ruleName) + { + list($class, $path) = $GLOBALS['_HTML_QuickForm_registered_rules'][$ruleName]; + + if (!isset($this->_rules[$class])) { + if (!empty($path)) { + include_once($path); + } + $this->_rules[$class] = new $class(); + } + $this->_rules[$class]->setName($ruleName); + return $this->_rules[$class]; + } // end func getRule + + /** + * Performs validation on the given values + * + * @param string $ruleName Name of the rule to be used + * @param mixed $values Can be a scalar or an array of values + * to be validated + * @param mixed $options Options used by the rule + * @param mixed $multiple Whether to validate an array of values altogether + * @access public + * @return mixed true if no error found, int of valid values (when an array of values is given) or false if error + */ + function validate($ruleName, $values, $options = null, $multiple = false) + { + $rule =& $this->getRule($ruleName); + + if (is_array($values) && !$multiple) { + $result = 0; + foreach ($values as $value) { + if ($rule->validate($value, $options) === true) { + $result++; + } + } + return ($result == 0) ? false : $result; + } else { + return $rule->validate($values, $options); + } + } // end func validate + + /** + * Returns the validation test in javascript code + * + * @param array|HTML_QuickForm_element Element(s) the rule applies to + * @param string Element name, in case $element is + * not an array + * @param array Rule data + * @access public + * @return string JavaScript for the rule + */ + function getValidationScript(&$element, $elementName, $ruleData) + { + $reset = (isset($ruleData['reset'])) ? $ruleData['reset'] : false; + $rule =& $this->getRule($ruleData['type']); + if (!is_array($element)) { + list($jsValue, $jsReset) = $this->_getJsValue($element, $elementName, $reset, null); + } else { + $jsValue = " value = new Array();\n"; + $jsReset = ''; + for ($i = 0; $i < count($element); $i++) { + list($tmp_value, $tmp_reset) = $this->_getJsValue($element[$i], $element[$i]->getName(), $reset, $i); + $jsValue .= "\n" . $tmp_value; + $jsReset .= $tmp_reset; + } + } + $jsField = isset($ruleData['group'])? $ruleData['group']: $elementName; + list ($jsPrefix, $jsCheck) = $rule->getValidationScript($ruleData['format']); + if (!isset($ruleData['howmany'])) { + $js = $jsValue . "\n" . $jsPrefix . + " if (" . str_replace('{jsVar}', 'value', $jsCheck) . " && !errFlag['{$jsField}']) {\n" . + " errFlag['{$jsField}'] = true;\n" . + " _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" . + $jsReset . + " }\n"; + } else { + $js = $jsValue . "\n" . $jsPrefix . + " var res = 0;\n" . + " for (var i = 0; i < value.length; i++) {\n" . + " if (!(" . str_replace('{jsVar}', 'value[i]', $jsCheck) . ")) {\n" . + " res++;\n" . + " }\n" . + " }\n" . + " if (res < {$ruleData['howmany']} && !errFlag['{$jsField}']) {\n" . + " errFlag['{$jsField}'] = true;\n" . + " _qfMsg = _qfMsg + '\\n - {$ruleData['message']}';\n" . + $jsReset . + " }\n"; + } + return $js; + } // end func getValidationScript + + + /** + * Returns JavaScript to get and to reset the element's value + * + * @access private + * @param HTML_QuickForm_element element being processed + * @param string element's name + * @param bool whether to generate JavaScript to reset + * the value + * @param integer value's index in the array (only used for + * multielement rules) + * @return array first item is value javascript, second is reset + */ + function _getJsValue(&$element, $elementName, $reset = false, $index = null) + { + $jsIndex = isset($index)? '[' . $index . ']': ''; + $tmp_reset = $reset? " var field = frm.elements['$elementName'];\n": ''; + if (is_a($element, 'html_quickform_group')) { + $value = " _qfGroups['{$elementName}'] = {"; + $elements =& $element->getElements(); + for ($i = 0, $count = count($elements); $i < $count; $i++) { + $append = ($elements[$i]->getType() == 'select' && $elements[$i]->getMultiple())? '[]': ''; + $value .= "'" . $element->getElementName($i) . $append . "': true" . + ($i < $count - 1? ', ': ''); + } + $value .= + "};\n" . + " value{$jsIndex} = new Array();\n" . + " var valueIdx = 0;\n" . + " for (var i = 0; i < frm.elements.length; i++) {\n" . + " var _element = frm.elements[i];\n" . + " if (_element.name in _qfGroups['{$elementName}']) {\n" . + " switch (_element.type) {\n" . + " case 'checkbox':\n" . + " case 'radio':\n" . + " if (_element.checked) {\n" . + " value{$jsIndex}[valueIdx++] = _element.value;\n" . + " }\n" . + " break;\n" . + " case 'select-one':\n" . + " if (-1 != _element.selectedIndex) {\n" . + " value{$jsIndex}[valueIdx++] = _element.options[_element.selectedIndex].value;\n" . + " }\n" . + " break;\n" . + " case 'select-multiple':\n" . + " var tmpVal = new Array();\n" . + " var tmpIdx = 0;\n" . + " for (var j = 0; j < _element.options.length; j++) {\n" . + " if (_element.options[j].selected) {\n" . + " tmpVal[tmpIdx++] = _element.options[j].value;\n" . + " }\n" . + " }\n" . + " if (tmpIdx > 0) {\n" . + " value{$jsIndex}[valueIdx++] = tmpVal;\n" . + " }\n" . + " break;\n" . + " default:\n" . + " value{$jsIndex}[valueIdx++] = _element.value;\n" . + " }\n" . + " }\n" . + " }\n"; + if ($reset) { + $tmp_reset = + " for (var i = 0; i < frm.elements.length; i++) {\n" . + " var _element = frm.elements[i];\n" . + " if (_element.name in _qfGroups['{$elementName}']) {\n" . + " switch (_element.type) {\n" . + " case 'checkbox':\n" . + " case 'radio':\n" . + " _element.checked = _element.defaultChecked;\n" . + " break;\n" . + " case 'select-one':\n" . + " case 'select-multiple':\n" . + " for (var j = 0; j < _element.options.length; j++) {\n" . + " _element.options[j].selected = _element.options[j].defaultSelected;\n" . + " }\n" . + " break;\n" . + " default:\n" . + " _element.value = _element.defaultValue;\n" . + " }\n" . + " }\n" . + " }\n"; + } + + } elseif ($element->getType() == 'select') { + if ($element->getMultiple()) { + $elementName .= '[]'; + $value = + " value{$jsIndex} = new Array();\n" . + " var valueIdx = 0;\n" . + " for (var i = 0; i < frm.elements['{$elementName}'].options.length; i++) {\n" . + " if (frm.elements['{$elementName}'].options[i].selected) {\n" . + " value{$jsIndex}[valueIdx++] = frm.elements['{$elementName}'].options[i].value;\n" . + " }\n" . + " }\n"; + } else { + $value = " value{$jsIndex} = frm.elements['{$elementName}'].selectedIndex == -1? '': frm.elements['{$elementName}'].options[frm.elements['{$elementName}'].selectedIndex].value;\n"; + } + if ($reset) { + $tmp_reset .= + " for (var i = 0; i < field.options.length; i++) {\n" . + " field.options[i].selected = field.options[i].defaultSelected;\n" . + " }\n"; + } + + } elseif ($element->getType() == 'checkbox') { + if (is_a($element, 'html_quickform_advcheckbox')) { + $value = " value{$jsIndex} = frm.elements['$elementName'][1].checked? frm.elements['$elementName'][1].value: frm.elements['$elementName'][0].value;\n"; + $tmp_reset .= $reset ? " field[1].checked = field[1].defaultChecked;\n" : ''; + } else { + $value = " value{$jsIndex} = frm.elements['$elementName'].checked? '1': '';\n"; + $tmp_reset .= $reset ? " field.checked = field.defaultChecked;\n" : ''; + } + + } elseif ($element->getType() == 'radio') { + $value = " value{$jsIndex} = '';\n" . + // Fix for bug #5644 + " var els = 'length' in frm.elements['$elementName']? frm.elements['$elementName']: [ frm.elements['$elementName'] ];\n" . + " for (var i = 0; i < els.length; i++) {\n" . + " if (els[i].checked) {\n" . + " value{$jsIndex} = els[i].value;\n" . + " }\n" . + " }"; + if ($reset) { + $tmp_reset .= " for (var i = 0; i < field.length; i++) {\n" . + " field[i].checked = field[i].defaultChecked;\n" . + " }"; + } + + } else { + $value = " value{$jsIndex} = frm.elements['$elementName'].value;"; + $tmp_reset .= ($reset) ? " field.value = field.defaultValue;\n" : ''; + } + return array($value, $tmp_reset); + } +} // end class HTML_QuickForm_RuleRegistry +?> diff --git a/libs/HTML/QuickForm/advcheckbox.php b/libs/HTML/QuickForm/advcheckbox.php index 3112d4f415..adda853f90 100755 --- a/libs/HTML/QuickForm/advcheckbox.php +++ b/libs/HTML/QuickForm/advcheckbox.php @@ -1,286 +1,286 @@ - - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * HTML class for a checkbox type field - */ -require_once 'HTML/QuickForm/checkbox.php'; - -/** - * HTML class for an advanced checkbox type field - * - * Basically this fixes a problem that HTML has had - * where checkboxes can only pass a single value (the - * value of the checkbox when checked). A value for when - * the checkbox is not checked cannot be passed, and - * furthermore the checkbox variable doesn't even exist if - * the checkbox was submitted unchecked. - * - * It works by prepending a hidden field with the same name and - * another "unchecked" value to the checbox. If the checkbox is - * checked, PHP overwrites the value of the hidden field with - * its value. - * - * @category HTML - * @package HTML_QuickForm - * @author Jason Rust - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 2.0 - */ -class HTML_QuickForm_advcheckbox extends HTML_QuickForm_checkbox -{ - // {{{ properties - - /** - * The values passed by the hidden elment - * - * @var array - * @access private - */ - var $_values = null; - - /** - * The default value - * - * @var boolean - * @access private - */ - var $_currentValue = null; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $elementLabel (optional)Input field label - * @param string $text (optional)Text to put after the checkbox - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @param mixed $values (optional)Values to pass if checked or not checked - * - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_advcheckbox($elementName=null, $elementLabel=null, $text=null, $attributes=null, $values=null) - { - $this->HTML_QuickForm_checkbox($elementName, $elementLabel, $text, $attributes); - $this->setValues($values); - } //end constructor - - // }}} - // {{{ getPrivateName() - - /** - * Gets the private name for the element - * - * @param string $elementName The element name to make private - * - * @access public - * @return string - * - * @deprecated Deprecated since 3.2.6, both generated elements have the same name - */ - function getPrivateName($elementName) - { - return '__'.$elementName; - } - - // }}} - // {{{ getOnclickJs() - - /** - * Create the javascript for the onclick event which will - * set the value of the hidden field - * - * @param string $elementName The element name - * - * @access public - * @return string - * - * @deprecated Deprecated since 3.2.6, this element no longer uses any javascript - */ - function getOnclickJs($elementName) - { - $onclickJs = 'if (this.checked) { this.form[\''.$elementName.'\'].value=\''.addcslashes($this->_values[1], '\'').'\'; }'; - $onclickJs .= 'else { this.form[\''.$elementName.'\'].value=\''.addcslashes($this->_values[0], '\'').'\'; }'; - return $onclickJs; - } - - // }}} - // {{{ setValues() - - /** - * Sets the values used by the hidden element - * - * @param mixed $values The values, either a string or an array - * - * @access public - * @return void - */ - function setValues($values) - { - if (empty($values)) { - // give it default checkbox behavior - $this->_values = array('', 1); - } elseif (is_scalar($values)) { - // if it's string, then assume the value to - // be passed is for when the element is checked - $this->_values = array('', $values); - } else { - $this->_values = $values; - } - $this->updateAttributes(array('value' => $this->_values[1])); - $this->setChecked($this->_currentValue == $this->_values[1]); - } - - // }}} - // {{{ setValue() - - /** - * Sets the element's value - * - * @param mixed Element's value - * @access public - */ - function setValue($value) - { - $this->setChecked(isset($this->_values[1]) && $value == $this->_values[1]); - $this->_currentValue = $value; - } - - // }}} - // {{{ getValue() - - /** - * Returns the element's value - * - * @access public - * @return mixed - */ - function getValue() - { - if (is_array($this->_values)) { - return $this->_values[$this->getChecked()? 1: 0]; - } else { - return null; - } - } - - // }}} - // {{{ toHtml() - - /** - * Returns the checkbox element in HTML - * and the additional hidden element in HTML - * - * @access public - * @return string - */ - function toHtml() - { - if ($this->_flagFrozen) { - return parent::toHtml(); - } else { - return '_getAttrString(array( - 'type' => 'hidden', - 'name' => $this->getName(), - 'value' => $this->_values[0] - )) . ' />' . parent::toHtml(); - - } - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Unlike checkbox, this has to append a hidden input in both - * checked and non-checked states - */ - function getFrozenHtml() - { - return ($this->getChecked()? '[x]': '[ ]') . - $this->_getPersistantData(); - } - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'updateValue': - // constant values override both default and submitted ones - // default values are overriden by submitted - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_submitValues); - if (null === $value) { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (null !== $value) { - $this->setValue($value); - } - break; - default: - parent::onQuickFormEvent($event, $arg, $caller); - } - return true; - } // end func onQuickFormLoad - - // }}} - // {{{ exportValue() - - /** - * This element has a value even if it is not checked, thus we override - * checkbox's behaviour here - */ - function exportValue(&$submitValues, $assoc) - { - $value = $this->_findValue($submitValues); - if (null === $value) { - $value = $this->getValue(); - } elseif (is_array($this->_values) && ($value != $this->_values[0]) && ($value != $this->_values[1])) { - $value = null; - } - return $this->_prepareValue($value, $assoc); - } - // }}} -} //end class HTML_QuickForm_advcheckbox -?> + + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * HTML class for a checkbox type field + */ +require_once 'HTML/QuickForm/checkbox.php'; + +/** + * HTML class for an advanced checkbox type field + * + * Basically this fixes a problem that HTML has had + * where checkboxes can only pass a single value (the + * value of the checkbox when checked). A value for when + * the checkbox is not checked cannot be passed, and + * furthermore the checkbox variable doesn't even exist if + * the checkbox was submitted unchecked. + * + * It works by prepending a hidden field with the same name and + * another "unchecked" value to the checbox. If the checkbox is + * checked, PHP overwrites the value of the hidden field with + * its value. + * + * @category HTML + * @package HTML_QuickForm + * @author Jason Rust + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 2.0 + */ +class HTML_QuickForm_advcheckbox extends HTML_QuickForm_checkbox +{ + // {{{ properties + + /** + * The values passed by the hidden elment + * + * @var array + * @access private + */ + var $_values = null; + + /** + * The default value + * + * @var boolean + * @access private + */ + var $_currentValue = null; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $elementLabel (optional)Input field label + * @param string $text (optional)Text to put after the checkbox + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @param mixed $values (optional)Values to pass if checked or not checked + * + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_advcheckbox($elementName=null, $elementLabel=null, $text=null, $attributes=null, $values=null) + { + $this->HTML_QuickForm_checkbox($elementName, $elementLabel, $text, $attributes); + $this->setValues($values); + } //end constructor + + // }}} + // {{{ getPrivateName() + + /** + * Gets the private name for the element + * + * @param string $elementName The element name to make private + * + * @access public + * @return string + * + * @deprecated Deprecated since 3.2.6, both generated elements have the same name + */ + function getPrivateName($elementName) + { + return '__'.$elementName; + } + + // }}} + // {{{ getOnclickJs() + + /** + * Create the javascript for the onclick event which will + * set the value of the hidden field + * + * @param string $elementName The element name + * + * @access public + * @return string + * + * @deprecated Deprecated since 3.2.6, this element no longer uses any javascript + */ + function getOnclickJs($elementName) + { + $onclickJs = 'if (this.checked) { this.form[\''.$elementName.'\'].value=\''.addcslashes($this->_values[1], '\'').'\'; }'; + $onclickJs .= 'else { this.form[\''.$elementName.'\'].value=\''.addcslashes($this->_values[0], '\'').'\'; }'; + return $onclickJs; + } + + // }}} + // {{{ setValues() + + /** + * Sets the values used by the hidden element + * + * @param mixed $values The values, either a string or an array + * + * @access public + * @return void + */ + function setValues($values) + { + if (empty($values)) { + // give it default checkbox behavior + $this->_values = array('', 1); + } elseif (is_scalar($values)) { + // if it's string, then assume the value to + // be passed is for when the element is checked + $this->_values = array('', $values); + } else { + $this->_values = $values; + } + $this->updateAttributes(array('value' => $this->_values[1])); + $this->setChecked($this->_currentValue == $this->_values[1]); + } + + // }}} + // {{{ setValue() + + /** + * Sets the element's value + * + * @param mixed Element's value + * @access public + */ + function setValue($value) + { + $this->setChecked(isset($this->_values[1]) && $value == $this->_values[1]); + $this->_currentValue = $value; + } + + // }}} + // {{{ getValue() + + /** + * Returns the element's value + * + * @access public + * @return mixed + */ + function getValue() + { + if (is_array($this->_values)) { + return $this->_values[$this->getChecked()? 1: 0]; + } else { + return null; + } + } + + // }}} + // {{{ toHtml() + + /** + * Returns the checkbox element in HTML + * and the additional hidden element in HTML + * + * @access public + * @return string + */ + function toHtml() + { + if ($this->_flagFrozen) { + return parent::toHtml(); + } else { + return '_getAttrString(array( + 'type' => 'hidden', + 'name' => $this->getName(), + 'value' => $this->_values[0] + )) . ' />' . parent::toHtml(); + + } + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Unlike checkbox, this has to append a hidden input in both + * checked and non-checked states + */ + function getFrozenHtml() + { + return ($this->getChecked()? '[x]': '[ ]') . + $this->_getPersistantData(); + } + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'updateValue': + // constant values override both default and submitted ones + // default values are overriden by submitted + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_submitValues); + if (null === $value) { + $value = $this->_findValue($caller->_defaultValues); + } + } + if (null !== $value) { + $this->setValue($value); + } + break; + default: + parent::onQuickFormEvent($event, $arg, $caller); + } + return true; + } // end func onQuickFormLoad + + // }}} + // {{{ exportValue() + + /** + * This element has a value even if it is not checked, thus we override + * checkbox's behaviour here + */ + function exportValue(&$submitValues, $assoc) + { + $value = $this->_findValue($submitValues); + if (null === $value) { + $value = $this->getValue(); + } elseif (is_array($this->_values) && ($value != $this->_values[0]) && ($value != $this->_values[1])) { + $value = null; + } + return $this->_prepareValue($value, $assoc); + } + // }}} +} //end class HTML_QuickForm_advcheckbox +?> diff --git a/libs/HTML/QuickForm/autocomplete.php b/libs/HTML/QuickForm/autocomplete.php index b4b537c6db..fa10b5e435 100755 --- a/libs/HTML/QuickForm/autocomplete.php +++ b/libs/HTML/QuickForm/autocomplete.php @@ -1,258 +1,258 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * HTML class for a text field - */ -require_once 'HTML/QuickForm/text.php'; - -/** - * HTML class for an autocomplete element - * - * Creates an HTML input text element that - * at every keypressed javascript event checks in an array of options - * if there's a match and autocompletes the text in case of match. - * - * For the JavaScript code thanks to Martin Honnen and Nicholas C. Zakas - * See {@link http://www.faqts.com/knowledge_base/view.phtml/aid/13562} and - * {@link http://www.sitepoint.com/article/1220} - * - * Example: - * - * $autocomplete =& $form->addElement('autocomplete', 'fruit', 'Favourite fruit:'); - * $options = array("Apple", "Orange", "Pear", "Strawberry"); - * $autocomplete->setOptions($options); - * - * - * @category HTML - * @package HTML_QuickForm - * @author Matteo Di Giovinazzo - * @version Release: 3.2.9 - * @since 3.2 - */ -class HTML_QuickForm_autocomplete extends HTML_QuickForm_text -{ - // {{{ properties - - /** - * Options for the autocomplete input text element - * - * @var array - * @access private - */ - var $_options = array(); - - /** - * "One-time" javascript (containing functions), see bug #4611 - * - * @var string - * @access private - */ - var $_js = ''; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $elementLabel (optional)Input field label in form - * @param array $options (optional)Autocomplete options - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array. Date format is passed along the attributes. - * @access public - * @return void - */ - function HTML_QuickForm_autocomplete($elementName = null, $elementLabel = null, $options = null, $attributes = null) - { - $this->HTML_QuickForm_text($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->_type = 'autocomplete'; - if (isset($options)) { - $this->setOptions($options); - } - } //end constructor - - // }}} - // {{{ setOptions() - - /** - * Sets the options for the autocomplete input text element - * - * @param array $options Array of options for the autocomplete input text element - * @access public - * @return void - */ - function setOptions($options) - { - $this->_options = array_values($options); - } // end func setOptions - - // }}} - // {{{ toHtml() - - /** - * Returns Html for the autocomplete input text element - * - * @access public - * @return string - */ - function toHtml() - { - // prevent problems with grouped elements - $arrayName = str_replace(array('[', ']'), array('__', ''), $this->getName()) . '_values'; - - $this->updateAttributes(array( - 'onkeypress' => 'return autocomplete(this, event, ' . $arrayName . ');' - )); - if ($this->_flagFrozen) { - $js = ''; - } else { - $js = ""; - } - return $js . parent::toHtml(); - }// end func toHtml - - // }}} -} // end class HTML_QuickForm_autocomplete -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * HTML class for a text field + */ +require_once 'HTML/QuickForm/text.php'; + +/** + * HTML class for an autocomplete element + * + * Creates an HTML input text element that + * at every keypressed javascript event checks in an array of options + * if there's a match and autocompletes the text in case of match. + * + * For the JavaScript code thanks to Martin Honnen and Nicholas C. Zakas + * See {@link http://www.faqts.com/knowledge_base/view.phtml/aid/13562} and + * {@link http://www.sitepoint.com/article/1220} + * + * Example: + * + * $autocomplete =& $form->addElement('autocomplete', 'fruit', 'Favourite fruit:'); + * $options = array("Apple", "Orange", "Pear", "Strawberry"); + * $autocomplete->setOptions($options); + * + * + * @category HTML + * @package HTML_QuickForm + * @author Matteo Di Giovinazzo + * @version Release: 3.2.9 + * @since 3.2 + */ +class HTML_QuickForm_autocomplete extends HTML_QuickForm_text +{ + // {{{ properties + + /** + * Options for the autocomplete input text element + * + * @var array + * @access private + */ + var $_options = array(); + + /** + * "One-time" javascript (containing functions), see bug #4611 + * + * @var string + * @access private + */ + var $_js = ''; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $elementLabel (optional)Input field label in form + * @param array $options (optional)Autocomplete options + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array. Date format is passed along the attributes. + * @access public + * @return void + */ + function HTML_QuickForm_autocomplete($elementName = null, $elementLabel = null, $options = null, $attributes = null) + { + $this->HTML_QuickForm_text($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_type = 'autocomplete'; + if (isset($options)) { + $this->setOptions($options); + } + } //end constructor + + // }}} + // {{{ setOptions() + + /** + * Sets the options for the autocomplete input text element + * + * @param array $options Array of options for the autocomplete input text element + * @access public + * @return void + */ + function setOptions($options) + { + $this->_options = array_values($options); + } // end func setOptions + + // }}} + // {{{ toHtml() + + /** + * Returns Html for the autocomplete input text element + * + * @access public + * @return string + */ + function toHtml() + { + // prevent problems with grouped elements + $arrayName = str_replace(array('[', ']'), array('__', ''), $this->getName()) . '_values'; + + $this->updateAttributes(array( + 'onkeypress' => 'return autocomplete(this, event, ' . $arrayName . ');' + )); + if ($this->_flagFrozen) { + $js = ''; + } else { + $js = ""; + } + return $js . parent::toHtml(); + }// end func toHtml + + // }}} +} // end class HTML_QuickForm_autocomplete +?> diff --git a/libs/HTML/QuickForm/button.php b/libs/HTML/QuickForm/button.php index a91f5900ca..15885503e2 100755 --- a/libs/HTML/QuickForm/button.php +++ b/libs/HTML/QuickForm/button.php @@ -1,80 +1,80 @@ - elements - * - * PHP versions 4 and 5 - * - * LICENSE: This source file is subject to version 3.01 of the PHP license - * that is available through the world-wide-web at the following URI: - * http://www.php.net/license/3_01.txt If you did not receive a copy of - * the PHP License and are unable to obtain it through the web, please - * send a note to license@php.net so we can mail you a copy immediately. - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for an elements - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_button extends HTML_QuickForm_input -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $value (optional)Input field value - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_button($elementName=null, $value=null, $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); - $this->_persistantFreeze = false; - $this->setValue($value); - $this->setType('button'); - } //end constructor - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return void - */ - function freeze() - { - return false; - } //end func freeze - - // }}} - -} //end class HTML_QuickForm_button -?> + elements + * + * PHP versions 4 and 5 + * + * LICENSE: This source file is subject to version 3.01 of the PHP license + * that is available through the world-wide-web at the following URI: + * http://www.php.net/license/3_01.txt If you did not receive a copy of + * the PHP License and are unable to obtain it through the web, please + * send a note to license@php.net so we can mail you a copy immediately. + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for an elements + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_button extends HTML_QuickForm_input +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $value (optional)Input field value + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_button($elementName=null, $value=null, $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); + $this->_persistantFreeze = false; + $this->setValue($value); + $this->setType('button'); + } //end constructor + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return void + */ + function freeze() + { + return false; + } //end func freeze + + // }}} + +} //end class HTML_QuickForm_button +?> diff --git a/libs/HTML/QuickForm/checkbox.php b/libs/HTML/QuickForm/checkbox.php index 2475b43712..123a7679cd 100755 --- a/libs/HTML/QuickForm/checkbox.php +++ b/libs/HTML/QuickForm/checkbox.php @@ -1,277 +1,277 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a checkbox type field - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_checkbox extends HTML_QuickForm_input -{ - // {{{ properties - - /** - * Checkbox display text - * @var string - * @since 1.1 - * @access private - */ - var $_text = ''; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $elementLabel (optional)Input field value - * @param string $text (optional)Checkbox display text - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_checkbox($elementName=null, $elementLabel=null, $text='', $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->_text = $text; - $this->setType('checkbox'); - $this->updateAttributes(array('value'=>1)); - $this->_generateId(); - } //end constructor - - // }}} - // {{{ setChecked() - - /** - * Sets whether a checkbox is checked - * - * @param bool $checked Whether the field is checked or not - * @since 1.0 - * @access public - * @return void - */ - function setChecked($checked) - { - if (!$checked) { - $this->removeAttribute('checked'); - } else { - $this->updateAttributes(array('checked'=>'checked')); - } - } //end func setChecked - - // }}} - // {{{ getChecked() - - /** - * Returns whether a checkbox is checked - * - * @since 1.0 - * @access public - * @return bool - */ - function getChecked() - { - return (bool)$this->getAttribute('checked'); - } //end func getChecked - - // }}} - // {{{ toHtml() - - /** - * Returns the checkbox element in HTML - * - * @since 1.0 - * @access public - * @return string - */ - function toHtml() - { - if (0 == strlen($this->_text)) { - $label = ''; - } elseif ($this->_flagFrozen) { - $label = $this->_text; - } else { - $label = ''; - } - return HTML_QuickForm_input::toHtml() . $label; - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags - * - * @since 1.0 - * @access public - * @return string - */ - function getFrozenHtml() - { - if ($this->getChecked()) { - return '[x]' . - $this->_getPersistantData(); - } else { - return '[ ]'; - } - } //end func getFrozenHtml - - // }}} - // {{{ setText() - - /** - * Sets the checkbox text - * - * @param string $text - * @since 1.1 - * @access public - * @return void - */ - function setText($text) - { - $this->_text = $text; - } //end func setText - - // }}} - // {{{ getText() - - /** - * Returns the checkbox text - * - * @since 1.1 - * @access public - * @return string - */ - function getText() - { - return $this->_text; - } //end func getText - - // }}} - // {{{ setValue() - - /** - * Sets the value of the form element - * - * @param string $value Default value of the form element - * @since 1.0 - * @access public - * @return void - */ - function setValue($value) - { - return $this->setChecked($value); - } // end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns the value of the form element - * - * @since 1.0 - * @access public - * @return bool - */ - function getValue() - { - return $this->getChecked(); - } // end func getValue - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'updateValue': - // constant values override both default and submitted ones - // default values are overriden by submitted - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - // if no boxes were checked, then there is no value in the array - // yet we don't want to display default value in this case - if ($caller->isSubmitted()) { - $value = $this->_findValue($caller->_submitValues); - } else { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (null !== $value || $caller->isSubmitted()) { - $this->setChecked($value); - } - break; - case 'setGroupValue': - $this->setChecked($arg); - break; - default: - parent::onQuickFormEvent($event, $arg, $caller); - } - return true; - } // end func onQuickFormEvent - - // }}} - // {{{ exportValue() - - /** - * Return true if the checkbox is checked, null if it is not checked (getValue() returns false) - */ - function exportValue(&$submitValues, $assoc = false) - { - $value = $this->_findValue($submitValues); - if (null === $value) { - $value = $this->getChecked()? true: null; - } - return $this->_prepareValue($value, $assoc); - } - - // }}} -} //end class HTML_QuickForm_checkbox -?> + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a checkbox type field + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_checkbox extends HTML_QuickForm_input +{ + // {{{ properties + + /** + * Checkbox display text + * @var string + * @since 1.1 + * @access private + */ + var $_text = ''; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $elementLabel (optional)Input field value + * @param string $text (optional)Checkbox display text + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_checkbox($elementName=null, $elementLabel=null, $text='', $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_text = $text; + $this->setType('checkbox'); + $this->updateAttributes(array('value'=>1)); + $this->_generateId(); + } //end constructor + + // }}} + // {{{ setChecked() + + /** + * Sets whether a checkbox is checked + * + * @param bool $checked Whether the field is checked or not + * @since 1.0 + * @access public + * @return void + */ + function setChecked($checked) + { + if (!$checked) { + $this->removeAttribute('checked'); + } else { + $this->updateAttributes(array('checked'=>'checked')); + } + } //end func setChecked + + // }}} + // {{{ getChecked() + + /** + * Returns whether a checkbox is checked + * + * @since 1.0 + * @access public + * @return bool + */ + function getChecked() + { + return (bool)$this->getAttribute('checked'); + } //end func getChecked + + // }}} + // {{{ toHtml() + + /** + * Returns the checkbox element in HTML + * + * @since 1.0 + * @access public + * @return string + */ + function toHtml() + { + if (0 == strlen($this->_text)) { + $label = ''; + } elseif ($this->_flagFrozen) { + $label = $this->_text; + } else { + $label = ''; + } + return HTML_QuickForm_input::toHtml() . $label; + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags + * + * @since 1.0 + * @access public + * @return string + */ + function getFrozenHtml() + { + if ($this->getChecked()) { + return '[x]' . + $this->_getPersistantData(); + } else { + return '[ ]'; + } + } //end func getFrozenHtml + + // }}} + // {{{ setText() + + /** + * Sets the checkbox text + * + * @param string $text + * @since 1.1 + * @access public + * @return void + */ + function setText($text) + { + $this->_text = $text; + } //end func setText + + // }}} + // {{{ getText() + + /** + * Returns the checkbox text + * + * @since 1.1 + * @access public + * @return string + */ + function getText() + { + return $this->_text; + } //end func getText + + // }}} + // {{{ setValue() + + /** + * Sets the value of the form element + * + * @param string $value Default value of the form element + * @since 1.0 + * @access public + * @return void + */ + function setValue($value) + { + return $this->setChecked($value); + } // end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns the value of the form element + * + * @since 1.0 + * @access public + * @return bool + */ + function getValue() + { + return $this->getChecked(); + } // end func getValue + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'updateValue': + // constant values override both default and submitted ones + // default values are overriden by submitted + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + // if no boxes were checked, then there is no value in the array + // yet we don't want to display default value in this case + if ($caller->isSubmitted()) { + $value = $this->_findValue($caller->_submitValues); + } else { + $value = $this->_findValue($caller->_defaultValues); + } + } + if (null !== $value || $caller->isSubmitted()) { + $this->setChecked($value); + } + break; + case 'setGroupValue': + $this->setChecked($arg); + break; + default: + parent::onQuickFormEvent($event, $arg, $caller); + } + return true; + } // end func onQuickFormEvent + + // }}} + // {{{ exportValue() + + /** + * Return true if the checkbox is checked, null if it is not checked (getValue() returns false) + */ + function exportValue(&$submitValues, $assoc = false) + { + $value = $this->_findValue($submitValues); + if (null === $value) { + $value = $this->getChecked()? true: null; + } + return $this->_prepareValue($value, $assoc); + } + + // }}} +} //end class HTML_QuickForm_checkbox +?> diff --git a/libs/HTML/QuickForm/date.php b/libs/HTML/QuickForm/date.php index 3f3e00eeef..9e897a3e3a 100755 --- a/libs/HTML/QuickForm/date.php +++ b/libs/HTML/QuickForm/date.php @@ -1,511 +1,511 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Class for a group of form elements - */ -require_once 'HTML/QuickForm/group.php'; -/** - * Class for elements - */ -require_once 'HTML/QuickForm/select.php'; - -/** - * Class for a group of elements used to input dates (and times). - * - * Inspired by original 'date' element but reimplemented as a subclass - * of HTML_QuickForm_group - * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.1 - */ -class HTML_QuickForm_date extends HTML_QuickForm_group -{ - // {{{ properties - - /** - * Various options to control the element's display. - * - * @access private - * @var array - */ - var $_options = array( - 'language' => 'en', - 'format' => 'dMY', - 'minYear' => 2001, - 'maxYear' => 2010, - 'addEmptyOption' => false, - 'emptyOptionValue' => '', - 'emptyOptionText' => ' ', - 'optionIncrement' => array('i' => 1, 's' => 1) - ); - - /** - * These complement separators, they are appended to the resultant HTML - * @access private - * @var array - */ - var $_wrap = array('', ''); - - /** - * Options in different languages - * - * Note to potential translators: to avoid encoding problems please send - * your translations with "weird" letters encoded as HTML Unicode entities - * - * @access private - * @var array - */ - var $_locale = array( - 'en' => array ( - 'weekdays_short'=> array ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'), - 'weekdays_long' => array ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), - 'months_long' => array ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December') - ), - 'de' => array ( - 'weekdays_short'=> array ('So', 'Mon', 'Di', 'Mi', 'Do', 'Fr', 'Sa'), - 'weekdays_long' => array ('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'), - 'months_short' => array ('Jan', 'Feb', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dez'), - 'months_long' => array ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember') - ), - 'fr' => array ( - 'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'), - 'weekdays_long' => array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'), - 'months_short' => array ('Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Déc'), - 'months_long' => array ('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre') - ), - 'hu' => array ( - 'weekdays_short'=> array ('V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'), - 'weekdays_long' => array ('vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'), - 'months_short' => array ('jan', 'feb', 'márc', 'ápr', 'máj', 'jún', 'júl', 'aug', 'szept', 'okt', 'nov', 'dec'), - 'months_long' => array ('január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december') - ), - 'pl' => array ( - 'weekdays_short'=> array ('Nie', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'Sob'), - 'weekdays_long' => array ('Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota'), - 'months_short' => array ('Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'), - 'months_long' => array ('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień') - ), - 'sl' => array ( - 'weekdays_short'=> array ('Ned', 'Pon', 'Tor', 'Sre', 'Cet', 'Pet', 'Sob'), - 'weekdays_long' => array ('Nedelja', 'Ponedeljek', 'Torek', 'Sreda', 'Cetrtek', 'Petek', 'Sobota'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'), - 'months_long' => array ('Januar', 'Februar', 'Marec', 'April', 'Maj', 'Junij', 'Julij', 'Avgust', 'September', 'Oktober', 'November', 'December') - ), - 'ru' => array ( - 'weekdays_short'=> array ('Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'), - 'weekdays_long' => array ('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'), - 'months_short' => array ('Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'), - 'months_long' => array ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь') - ), - 'es' => array ( - 'weekdays_short'=> array ('Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'), - 'weekdays_long' => array ('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'), - 'months_short' => array ('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'), - 'months_long' => array ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre') - ), - 'da' => array ( - 'weekdays_short'=> array ('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'), - 'weekdays_long' => array ('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), - 'months_long' => array ('Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December') - ), - 'is' => array ( - 'weekdays_short'=> array ('Sun', 'Mán', 'Þri', 'Mið', 'Fim', 'Fös', 'Lau'), - 'weekdays_long' => array ('Sunnudagur', 'Mánudagur', 'Þriðjudagur', 'Miðvikudagur', 'Fimmtudagur', 'Föstudagur', 'Laugardagur'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maí', 'Jún', 'Júl', 'Ágú', 'Sep', 'Okt', 'Nóv', 'Des'), - 'months_long' => array ('Janúar', 'Febrúar', 'Mars', 'Apríl', 'Maí', 'Júní', 'Júlí', 'Ágúst', 'September', 'Október', 'Nóvember', 'Desember') - ), - 'it' => array ( - 'weekdays_short'=> array ('Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'), - 'weekdays_long' => array ('Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'), - 'months_short' => array ('Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'), - 'months_long' => array ('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre') - ), - 'sk' => array ( - 'weekdays_short'=> array ('Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'), - 'weekdays_long' => array ('Nedeža', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Júl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), - 'months_long' => array ('Január', 'Február', 'Marec', 'Apríl', 'Máj', 'Jún', 'Júl', 'August', 'September', 'Október', 'November', 'December') - ), - 'cs' => array ( - 'weekdays_short'=> array ('Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'), - 'weekdays_long' => array ('Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'), - 'months_short' => array ('Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čen', 'Čec', 'Srp', 'Zář', 'Říj', 'Lis', 'Pro'), - 'months_long' => array ('Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec') - ), - 'hy' => array ( - 'weekdays_short'=> array ('Կրկ', 'Երկ', 'Երք', 'Չրք', 'Հնգ', 'Ուր', 'Շբթ'), - 'weekdays_long' => array ('Կիրակի', 'Երկուշաբթի', 'Երեքշաբթի', 'Չորեքշաբթի', 'Հինգշաբթի', 'Ուրբաթ', 'Շաբաթ'), - 'months_short' => array ('Հնվ', 'Փտր', 'Մրտ', 'Ապր', 'Մյս', 'Հնս', 'Հլս', 'Օգս', 'Սպտ', 'Հկտ', 'Նյմ', 'Դկտ'), - 'months_long' => array ('Հունվար', 'Փետրվար', 'Մարտ', 'Ապրիլ', 'Մայիս', 'Հունիս', 'Հուլիս', 'Օգոստոս', 'Սեպտեմբեր', 'Հոկտեմբեր', 'Նոյեմբեր', 'Դեկտեմբեր') - ), - 'nl' => array ( - 'weekdays_short'=> array ('Zo', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za'), - 'weekdays_long' => array ('Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), - 'months_long' => array ('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December') - ), - 'et' => array ( - 'weekdays_short'=> array ('P', 'E', 'T', 'K', 'N', 'R', 'L'), - 'weekdays_long' => array ('Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'), - 'months_short' => array ('Jaan', 'Veebr', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'), - 'months_long' => array ('Jaanuar', 'Veebruar', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli', 'August', 'September', 'Oktoober', 'November', 'Detsember') - ), - 'tr' => array ( - 'weekdays_short'=> array ('Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'), - 'weekdays_long' => array ('Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'), - 'months_short' => array ('Ock', 'Şbt', 'Mrt', 'Nsn', 'Mys', 'Hzrn', 'Tmmz', 'Ağst', 'Eyl', 'Ekm', 'Ksm', 'Arlk'), - 'months_long' => array ('Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık') - ), - 'no' => array ( - 'weekdays_short'=> array ('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'), - 'weekdays_long' => array ('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'), - 'months_long' => array ('Januar', 'Februar', 'Mars', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember') - ), - 'eo' => array ( - 'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Ĵaŭ', 'Ven', 'Sab'), - 'weekdays_long' => array ('Dimanĉo', 'Lundo', 'Mardo', 'Merkredo', 'Ĵaŭdo', 'Vendredo', 'Sabato'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aŭg', 'Sep', 'Okt', 'Nov', 'Dec'), - 'months_long' => array ('Januaro', 'Februaro', 'Marto', 'Aprilo', 'Majo', 'Junio', 'Julio', 'Aŭgusto', 'Septembro', 'Oktobro', 'Novembro', 'Decembro') - ), - 'ua' => array ( - 'weekdays_short'=> array('Ндл', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт'), - 'weekdays_long' => array('Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'), - 'months_short' => array('Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'), - 'months_long' => array('Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень') - ), - 'ro' => array ( - 'weekdays_short'=> array ('Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'), - 'weekdays_long' => array ('Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'), - 'months_short' => array ('Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), - 'months_long' => array ('Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Iunie', 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie') - ), - 'he' => array ( - 'weekdays_short'=> array ('ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'), - 'weekdays_long' => array ('יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'שבת'), - 'months_short' => array ('ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'), - 'months_long' => array ('ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר') - ), - 'sv' => array ( - 'weekdays_short'=> array ('Sön', 'Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör'), - 'weekdays_long' => array ('Söndag', 'Måndag', 'Tisdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lördag'), - 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), - 'months_long' => array ('Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December') - ), - 'pt' => array ( - 'weekdays_short'=> array ('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'), - 'weekdays_long' => array ('Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'), - 'months_short' => array ('Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'), - 'months_long' => array ('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro') - ), - 'tw' => array ( - 'weekdays_short'=> array ('週日','週一', '週二','週三', '週四','週五', '週六'), - 'weekdays_long' => array ('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'), - 'months_short' => array ('一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'), - 'months_long' => array ('一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月') - ), - 'pt-br' => array ( - 'weekdays_short'=> array ('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'), - 'weekdays_long' => array ('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'), - 'months_short' => array ('Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'), - 'months_long' => array ('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro') - ) - ); - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * The following keys may appear in $options array: - * - 'language': date language - * - 'format': Format of the date, based on PHP's date() function. - * The following characters are currently recognised in format string: - *
  
-    *       D => Short names of days
-    *       l => Long names of days
-    *       d => Day numbers
-    *       M => Short names of months
-    *       F => Long names of months
-    *       m => Month numbers
-    *       Y => Four digit year
-    *       y => Two digit year
-    *       h => 12 hour format
-    *       H => 23 hour  format
-    *       i => Minutes
-    *       s => Seconds
-    *       a => am/pm
-    *       A => AM/PM
-    *   
- * - 'minYear': Minimum year in year select - * - 'maxYear': Maximum year in year select - * - 'addEmptyOption': Should an empty option be added to the top of - * each select box? - * - 'emptyOptionValue': The value passed by the empty option. - * - 'emptyOptionText': The text displayed for the empty option. - * - 'optionIncrement': Step to increase the option values by (works for 'i' and 's') - * - * @access public - * @param string Element's name - * @param mixed Label(s) for an element - * @param array Options to control the element's display - * @param mixed Either a typical HTML attribute string or an associative array - */ - function HTML_QuickForm_date($elementName = null, $elementLabel = null, $options = array(), $attributes = null) - { - $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->_appendName = true; - $this->_type = 'date'; - // set the options, do not bother setting bogus ones - if (is_array($options)) { - foreach ($options as $name => $value) { - if ('language' == $name) { - $this->_options['language'] = isset($this->_locale[$value])? $value: 'en'; - } elseif (isset($this->_options[$name])) { - if (is_array($value) && is_array($this->_options[$name])) { - $this->_options[$name] = @array_merge($this->_options[$name], $value); - } else { - $this->_options[$name] = $value; - } - } - } - } - } - - // }}} - // {{{ _createElements() - - function _createElements() - { - $this->_separator = $this->_elements = array(); - $separator = ''; - $locale =& $this->_locale[$this->_options['language']]; - $backslash = false; - for ($i = 0, $length = strlen($this->_options['format']); $i < $length; $i++) { - $sign = $this->_options['format']{$i}; - if ($backslash) { - $backslash = false; - $separator .= $sign; - } else { - $loadSelect = true; - switch ($sign) { - case 'D': - // Sunday is 0 like with 'w' in date() - $options = $locale['weekdays_short']; - break; - case 'l': - $options = $locale['weekdays_long']; - break; - case 'd': - $options = $this->_createOptionList(1, 31); - break; - case 'M': - $options = $locale['months_short']; - array_unshift($options , ''); - unset($options[0]); - break; - case 'm': - $options = $this->_createOptionList(1, 12); - break; - case 'F': - $options = $locale['months_long']; - array_unshift($options , ''); - unset($options[0]); - break; - case 'Y': - $options = $this->_createOptionList( - $this->_options['minYear'], - $this->_options['maxYear'], - $this->_options['minYear'] > $this->_options['maxYear']? -1: 1 - ); - break; - case 'y': - $options = $this->_createOptionList( - $this->_options['minYear'], - $this->_options['maxYear'], - $this->_options['minYear'] > $this->_options['maxYear']? -1: 1 - ); - array_walk($options, create_function('&$v,$k','$v = substr($v,-2);')); - break; - case 'h': - $options = $this->_createOptionList(1, 12); - break; - case 'g': - $options = $this->_createOptionList(1, 12); - array_walk($options, create_function('&$v,$k', '$v = intval($v);')); - break; - case 'H': - $options = $this->_createOptionList(0, 23); - break; - case 'i': - $options = $this->_createOptionList(0, 59, $this->_options['optionIncrement']['i']); - break; - case 's': - $options = $this->_createOptionList(0, 59, $this->_options['optionIncrement']['s']); - break; - case 'a': - $options = array('am' => 'am', 'pm' => 'pm'); - break; - case 'A': - $options = array('AM' => 'AM', 'PM' => 'PM'); - break; - case 'W': - $options = $this->_createOptionList(1, 53); - break; - case '\\': - $backslash = true; - $loadSelect = false; - break; - default: - $separator .= (' ' == $sign? ' ': $sign); - $loadSelect = false; - } - - if ($loadSelect) { - if (0 < count($this->_elements)) { - $this->_separator[] = $separator; - } else { - $this->_wrap[0] = $separator; - } - $separator = ''; - // Should we add an empty option to the top of the select? - if (!is_array($this->_options['addEmptyOption']) && $this->_options['addEmptyOption'] || - is_array($this->_options['addEmptyOption']) && !empty($this->_options['addEmptyOption'][$sign])) { - - // Using '+' array operator to preserve the keys - if (is_array($this->_options['emptyOptionText']) && !empty($this->_options['emptyOptionText'][$sign])) { - $options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText'][$sign]) + $options; - } else { - $options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText']) + $options; - } - } - $this->_elements[] = new HTML_QuickForm_select($sign, null, $options, $this->getAttributes()); - } - } - } - $this->_wrap[1] = $separator . ($backslash? '\\': ''); - } - - // }}} - // {{{ _createOptionList() - - /** - * Creates an option list containing the numbers from the start number to the end, inclusive - * - * @param int The start number - * @param int The end number - * @param int Increment by this value - * @access private - * @return array An array of numeric options. - */ - function _createOptionList($start, $end, $step = 1) - { - for ($i = $start, $options = array(); $start > $end? $i >= $end: $i <= $end; $i += $step) { - $options[$i] = sprintf('%02d', $i); - } - return $options; - } - - // }}} - // {{{ setValue() - - function setValue($value) - { - $trimLeadingZeros = create_function('$a', '$b = ltrim($a, \'0\'); return strlen($b)? $b: \'0\';'); - if (empty($value)) { - $value = array(); - } elseif (is_scalar($value)) { - if (!is_numeric($value)) { - $value = strtotime($value); - } - // might be a unix epoch, then we fill all possible values - $arr = explode('-', date('w-j-n-Y-g-G-i-s-a-A-W', (int)$value)); - $value = array( - 'D' => $arr[0], - 'l' => $arr[0], - 'd' => $arr[1], - 'M' => $arr[2], - 'm' => $arr[2], - 'F' => $arr[2], - 'Y' => $arr[3], - 'y' => $arr[3], - 'h' => $arr[4], - 'g' => $arr[4], - 'H' => $arr[5], - 'i' => $trimLeadingZeros($arr[6]), - 's' => $trimLeadingZeros($arr[7]), - 'a' => $arr[8], - 'A' => $arr[9], - 'W' => $trimLeadingZeros($arr[10]) - ); - } else { - $value = array_map($trimLeadingZeros, $value); - } - parent::setValue($value); - } - - // }}} - // {{{ toHtml() - - function toHtml() - { - include_once('HTML/QuickForm/Renderer/Default.php'); - $renderer = new HTML_QuickForm_Renderer_Default(); - $renderer->setElementTemplate('{element}'); - parent::accept($renderer); - return $this->_wrap[0] . $renderer->toHtml() . $this->_wrap[1]; - } - - // }}} - // {{{ accept() - - function accept(&$renderer, $required = false, $error = null) - { - $renderer->renderElement($this, $required, $error); - } - - // }}} - // {{{ onQuickFormEvent() - - function onQuickFormEvent($event, $arg, &$caller) - { - if ('updateValue' == $event) { - // we need to call setValue(), 'cause the default/constant value - // may be in fact a timestamp, not an array - return HTML_QuickForm_element::onQuickFormEvent($event, $arg, $caller); - } else { - return parent::onQuickFormEvent($event, $arg, $caller); - } - } - - // }}} -} + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Class for a group of form elements + */ +require_once 'HTML/QuickForm/group.php'; +/** + * Class for elements + */ +require_once 'HTML/QuickForm/select.php'; + +/** + * Class for a group of elements used to input dates (and times). + * + * Inspired by original 'date' element but reimplemented as a subclass + * of HTML_QuickForm_group + * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.1 + */ +class HTML_QuickForm_date extends HTML_QuickForm_group +{ + // {{{ properties + + /** + * Various options to control the element's display. + * + * @access private + * @var array + */ + var $_options = array( + 'language' => 'en', + 'format' => 'dMY', + 'minYear' => 2001, + 'maxYear' => 2010, + 'addEmptyOption' => false, + 'emptyOptionValue' => '', + 'emptyOptionText' => ' ', + 'optionIncrement' => array('i' => 1, 's' => 1) + ); + + /** + * These complement separators, they are appended to the resultant HTML + * @access private + * @var array + */ + var $_wrap = array('', ''); + + /** + * Options in different languages + * + * Note to potential translators: to avoid encoding problems please send + * your translations with "weird" letters encoded as HTML Unicode entities + * + * @access private + * @var array + */ + var $_locale = array( + 'en' => array ( + 'weekdays_short'=> array ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'), + 'weekdays_long' => array ('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), + 'months_long' => array ('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December') + ), + 'de' => array ( + 'weekdays_short'=> array ('So', 'Mon', 'Di', 'Mi', 'Do', 'Fr', 'Sa'), + 'weekdays_long' => array ('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'), + 'months_short' => array ('Jan', 'Feb', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dez'), + 'months_long' => array ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember') + ), + 'fr' => array ( + 'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'), + 'weekdays_long' => array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'), + 'months_short' => array ('Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Déc'), + 'months_long' => array ('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre') + ), + 'hu' => array ( + 'weekdays_short'=> array ('V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'), + 'weekdays_long' => array ('vasárnap', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat'), + 'months_short' => array ('jan', 'feb', 'márc', 'ápr', 'máj', 'jún', 'júl', 'aug', 'szept', 'okt', 'nov', 'dec'), + 'months_long' => array ('január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december') + ), + 'pl' => array ( + 'weekdays_short'=> array ('Nie', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'Sob'), + 'weekdays_long' => array ('Niedziela', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek', 'Sobota'), + 'months_short' => array ('Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru'), + 'months_long' => array ('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień') + ), + 'sl' => array ( + 'weekdays_short'=> array ('Ned', 'Pon', 'Tor', 'Sre', 'Cet', 'Pet', 'Sob'), + 'weekdays_long' => array ('Nedelja', 'Ponedeljek', 'Torek', 'Sreda', 'Cetrtek', 'Petek', 'Sobota'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'), + 'months_long' => array ('Januar', 'Februar', 'Marec', 'April', 'Maj', 'Junij', 'Julij', 'Avgust', 'September', 'Oktober', 'November', 'December') + ), + 'ru' => array ( + 'weekdays_short'=> array ('Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'), + 'weekdays_long' => array ('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'), + 'months_short' => array ('Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'), + 'months_long' => array ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь') + ), + 'es' => array ( + 'weekdays_short'=> array ('Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'), + 'weekdays_long' => array ('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'), + 'months_short' => array ('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'), + 'months_long' => array ('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre') + ), + 'da' => array ( + 'weekdays_short'=> array ('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'), + 'weekdays_long' => array ('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), + 'months_long' => array ('Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December') + ), + 'is' => array ( + 'weekdays_short'=> array ('Sun', 'Mán', 'Þri', 'Mið', 'Fim', 'Fös', 'Lau'), + 'weekdays_long' => array ('Sunnudagur', 'Mánudagur', 'Þriðjudagur', 'Miðvikudagur', 'Fimmtudagur', 'Föstudagur', 'Laugardagur'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maí', 'Jún', 'Júl', 'Ágú', 'Sep', 'Okt', 'Nóv', 'Des'), + 'months_long' => array ('Janúar', 'Febrúar', 'Mars', 'Apríl', 'Maí', 'Júní', 'Júlí', 'Ágúst', 'September', 'Október', 'Nóvember', 'Desember') + ), + 'it' => array ( + 'weekdays_short'=> array ('Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'), + 'weekdays_long' => array ('Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'), + 'months_short' => array ('Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'), + 'months_long' => array ('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre') + ), + 'sk' => array ( + 'weekdays_short'=> array ('Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'), + 'weekdays_long' => array ('Nedeža', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Júl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), + 'months_long' => array ('Január', 'Február', 'Marec', 'Apríl', 'Máj', 'Jún', 'Júl', 'August', 'September', 'Október', 'November', 'December') + ), + 'cs' => array ( + 'weekdays_short'=> array ('Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'), + 'weekdays_long' => array ('Neděle', 'Pondělí', 'Úterý', 'Středa', 'Čtvrtek', 'Pátek', 'Sobota'), + 'months_short' => array ('Led', 'Úno', 'Bře', 'Dub', 'Kvě', 'Čen', 'Čec', 'Srp', 'Zář', 'Říj', 'Lis', 'Pro'), + 'months_long' => array ('Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec') + ), + 'hy' => array ( + 'weekdays_short'=> array ('Կրկ', 'Երկ', 'Երք', 'Չրք', 'Հնգ', 'Ուր', 'Շբթ'), + 'weekdays_long' => array ('Կիրակի', 'Երկուշաբթի', 'Երեքշաբթի', 'Չորեքշաբթի', 'Հինգշաբթի', 'Ուրբաթ', 'Շաբաթ'), + 'months_short' => array ('Հնվ', 'Փտր', 'Մրտ', 'Ապր', 'Մյս', 'Հնս', 'Հլս', 'Օգս', 'Սպտ', 'Հկտ', 'Նյմ', 'Դկտ'), + 'months_long' => array ('Հունվար', 'Փետրվար', 'Մարտ', 'Ապրիլ', 'Մայիս', 'Հունիս', 'Հուլիս', 'Օգոստոս', 'Սեպտեմբեր', 'Հոկտեմբեր', 'Նոյեմբեր', 'Դեկտեմբեր') + ), + 'nl' => array ( + 'weekdays_short'=> array ('Zo', 'Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za'), + 'weekdays_long' => array ('Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), + 'months_long' => array ('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December') + ), + 'et' => array ( + 'weekdays_short'=> array ('P', 'E', 'T', 'K', 'N', 'R', 'L'), + 'weekdays_long' => array ('Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'), + 'months_short' => array ('Jaan', 'Veebr', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'), + 'months_long' => array ('Jaanuar', 'Veebruar', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli', 'August', 'September', 'Oktoober', 'November', 'Detsember') + ), + 'tr' => array ( + 'weekdays_short'=> array ('Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'), + 'weekdays_long' => array ('Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'), + 'months_short' => array ('Ock', 'Şbt', 'Mrt', 'Nsn', 'Mys', 'Hzrn', 'Tmmz', 'Ağst', 'Eyl', 'Ekm', 'Ksm', 'Arlk'), + 'months_long' => array ('Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık') + ), + 'no' => array ( + 'weekdays_short'=> array ('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'), + 'weekdays_long' => array ('Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'), + 'months_long' => array ('Januar', 'Februar', 'Mars', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember') + ), + 'eo' => array ( + 'weekdays_short'=> array ('Dim', 'Lun', 'Mar', 'Mer', 'Ĵaŭ', 'Ven', 'Sab'), + 'weekdays_long' => array ('Dimanĉo', 'Lundo', 'Mardo', 'Merkredo', 'Ĵaŭdo', 'Vendredo', 'Sabato'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aŭg', 'Sep', 'Okt', 'Nov', 'Dec'), + 'months_long' => array ('Januaro', 'Februaro', 'Marto', 'Aprilo', 'Majo', 'Junio', 'Julio', 'Aŭgusto', 'Septembro', 'Oktobro', 'Novembro', 'Decembro') + ), + 'ua' => array ( + 'weekdays_short'=> array('Ндл', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт'), + 'weekdays_long' => array('Неділя', 'Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П\'ятниця', 'Субота'), + 'months_short' => array('Січ', 'Лют', 'Бер', 'Кві', 'Тра', 'Чер', 'Лип', 'Сер', 'Вер', 'Жов', 'Лис', 'Гру'), + 'months_long' => array('Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень') + ), + 'ro' => array ( + 'weekdays_short'=> array ('Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sam'), + 'weekdays_long' => array ('Duminica', 'Luni', 'Marti', 'Miercuri', 'Joi', 'Vineri', 'Sambata'), + 'months_short' => array ('Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'), + 'months_long' => array ('Ianuarie', 'Februarie', 'Martie', 'Aprilie', 'Mai', 'Iunie', 'Iulie', 'August', 'Septembrie', 'Octombrie', 'Noiembrie', 'Decembrie') + ), + 'he' => array ( + 'weekdays_short'=> array ('ראשון', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת'), + 'weekdays_long' => array ('יום ראשון', 'יום שני', 'יום שלישי', 'יום רביעי', 'יום חמישי', 'יום שישי', 'שבת'), + 'months_short' => array ('ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'), + 'months_long' => array ('ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר') + ), + 'sv' => array ( + 'weekdays_short'=> array ('Sön', 'Mån', 'Tis', 'Ons', 'Tor', 'Fre', 'Lör'), + 'weekdays_long' => array ('Söndag', 'Måndag', 'Tisdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lördag'), + 'months_short' => array ('Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'), + 'months_long' => array ('Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December') + ), + 'pt' => array ( + 'weekdays_short'=> array ('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'), + 'weekdays_long' => array ('Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado'), + 'months_short' => array ('Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'), + 'months_long' => array ('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro') + ), + 'tw' => array ( + 'weekdays_short'=> array ('週日','週一', '週二','週三', '週四','週五', '週六'), + 'weekdays_long' => array ('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'), + 'months_short' => array ('一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'), + 'months_long' => array ('一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月') + ), + 'pt-br' => array ( + 'weekdays_short'=> array ('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'), + 'weekdays_long' => array ('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'), + 'months_short' => array ('Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'), + 'months_long' => array ('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro') + ) + ); + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * The following keys may appear in $options array: + * - 'language': date language + * - 'format': Format of the date, based on PHP's date() function. + * The following characters are currently recognised in format string: + *
  
+    *       D => Short names of days
+    *       l => Long names of days
+    *       d => Day numbers
+    *       M => Short names of months
+    *       F => Long names of months
+    *       m => Month numbers
+    *       Y => Four digit year
+    *       y => Two digit year
+    *       h => 12 hour format
+    *       H => 23 hour  format
+    *       i => Minutes
+    *       s => Seconds
+    *       a => am/pm
+    *       A => AM/PM
+    *   
+ * - 'minYear': Minimum year in year select + * - 'maxYear': Maximum year in year select + * - 'addEmptyOption': Should an empty option be added to the top of + * each select box? + * - 'emptyOptionValue': The value passed by the empty option. + * - 'emptyOptionText': The text displayed for the empty option. + * - 'optionIncrement': Step to increase the option values by (works for 'i' and 's') + * + * @access public + * @param string Element's name + * @param mixed Label(s) for an element + * @param array Options to control the element's display + * @param mixed Either a typical HTML attribute string or an associative array + */ + function HTML_QuickForm_date($elementName = null, $elementLabel = null, $options = array(), $attributes = null) + { + $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_appendName = true; + $this->_type = 'date'; + // set the options, do not bother setting bogus ones + if (is_array($options)) { + foreach ($options as $name => $value) { + if ('language' == $name) { + $this->_options['language'] = isset($this->_locale[$value])? $value: 'en'; + } elseif (isset($this->_options[$name])) { + if (is_array($value) && is_array($this->_options[$name])) { + $this->_options[$name] = @array_merge($this->_options[$name], $value); + } else { + $this->_options[$name] = $value; + } + } + } + } + } + + // }}} + // {{{ _createElements() + + function _createElements() + { + $this->_separator = $this->_elements = array(); + $separator = ''; + $locale =& $this->_locale[$this->_options['language']]; + $backslash = false; + for ($i = 0, $length = strlen($this->_options['format']); $i < $length; $i++) { + $sign = $this->_options['format']{$i}; + if ($backslash) { + $backslash = false; + $separator .= $sign; + } else { + $loadSelect = true; + switch ($sign) { + case 'D': + // Sunday is 0 like with 'w' in date() + $options = $locale['weekdays_short']; + break; + case 'l': + $options = $locale['weekdays_long']; + break; + case 'd': + $options = $this->_createOptionList(1, 31); + break; + case 'M': + $options = $locale['months_short']; + array_unshift($options , ''); + unset($options[0]); + break; + case 'm': + $options = $this->_createOptionList(1, 12); + break; + case 'F': + $options = $locale['months_long']; + array_unshift($options , ''); + unset($options[0]); + break; + case 'Y': + $options = $this->_createOptionList( + $this->_options['minYear'], + $this->_options['maxYear'], + $this->_options['minYear'] > $this->_options['maxYear']? -1: 1 + ); + break; + case 'y': + $options = $this->_createOptionList( + $this->_options['minYear'], + $this->_options['maxYear'], + $this->_options['minYear'] > $this->_options['maxYear']? -1: 1 + ); + array_walk($options, create_function('&$v,$k','$v = substr($v,-2);')); + break; + case 'h': + $options = $this->_createOptionList(1, 12); + break; + case 'g': + $options = $this->_createOptionList(1, 12); + array_walk($options, create_function('&$v,$k', '$v = intval($v);')); + break; + case 'H': + $options = $this->_createOptionList(0, 23); + break; + case 'i': + $options = $this->_createOptionList(0, 59, $this->_options['optionIncrement']['i']); + break; + case 's': + $options = $this->_createOptionList(0, 59, $this->_options['optionIncrement']['s']); + break; + case 'a': + $options = array('am' => 'am', 'pm' => 'pm'); + break; + case 'A': + $options = array('AM' => 'AM', 'PM' => 'PM'); + break; + case 'W': + $options = $this->_createOptionList(1, 53); + break; + case '\\': + $backslash = true; + $loadSelect = false; + break; + default: + $separator .= (' ' == $sign? ' ': $sign); + $loadSelect = false; + } + + if ($loadSelect) { + if (0 < count($this->_elements)) { + $this->_separator[] = $separator; + } else { + $this->_wrap[0] = $separator; + } + $separator = ''; + // Should we add an empty option to the top of the select? + if (!is_array($this->_options['addEmptyOption']) && $this->_options['addEmptyOption'] || + is_array($this->_options['addEmptyOption']) && !empty($this->_options['addEmptyOption'][$sign])) { + + // Using '+' array operator to preserve the keys + if (is_array($this->_options['emptyOptionText']) && !empty($this->_options['emptyOptionText'][$sign])) { + $options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText'][$sign]) + $options; + } else { + $options = array($this->_options['emptyOptionValue'] => $this->_options['emptyOptionText']) + $options; + } + } + $this->_elements[] = new HTML_QuickForm_select($sign, null, $options, $this->getAttributes()); + } + } + } + $this->_wrap[1] = $separator . ($backslash? '\\': ''); + } + + // }}} + // {{{ _createOptionList() + + /** + * Creates an option list containing the numbers from the start number to the end, inclusive + * + * @param int The start number + * @param int The end number + * @param int Increment by this value + * @access private + * @return array An array of numeric options. + */ + function _createOptionList($start, $end, $step = 1) + { + for ($i = $start, $options = array(); $start > $end? $i >= $end: $i <= $end; $i += $step) { + $options[$i] = sprintf('%02d', $i); + } + return $options; + } + + // }}} + // {{{ setValue() + + function setValue($value) + { + $trimLeadingZeros = create_function('$a', '$b = ltrim($a, \'0\'); return strlen($b)? $b: \'0\';'); + if (empty($value)) { + $value = array(); + } elseif (is_scalar($value)) { + if (!is_numeric($value)) { + $value = strtotime($value); + } + // might be a unix epoch, then we fill all possible values + $arr = explode('-', date('w-j-n-Y-g-G-i-s-a-A-W', (int)$value)); + $value = array( + 'D' => $arr[0], + 'l' => $arr[0], + 'd' => $arr[1], + 'M' => $arr[2], + 'm' => $arr[2], + 'F' => $arr[2], + 'Y' => $arr[3], + 'y' => $arr[3], + 'h' => $arr[4], + 'g' => $arr[4], + 'H' => $arr[5], + 'i' => $trimLeadingZeros($arr[6]), + 's' => $trimLeadingZeros($arr[7]), + 'a' => $arr[8], + 'A' => $arr[9], + 'W' => $trimLeadingZeros($arr[10]) + ); + } else { + $value = array_map($trimLeadingZeros, $value); + } + parent::setValue($value); + } + + // }}} + // {{{ toHtml() + + function toHtml() + { + include_once('HTML/QuickForm/Renderer/Default.php'); + $renderer = new HTML_QuickForm_Renderer_Default(); + $renderer->setElementTemplate('{element}'); + parent::accept($renderer); + return $this->_wrap[0] . $renderer->toHtml() . $this->_wrap[1]; + } + + // }}} + // {{{ accept() + + function accept(&$renderer, $required = false, $error = null) + { + $renderer->renderElement($this, $required, $error); + } + + // }}} + // {{{ onQuickFormEvent() + + function onQuickFormEvent($event, $arg, &$caller) + { + if ('updateValue' == $event) { + // we need to call setValue(), 'cause the default/constant value + // may be in fact a timestamp, not an array + return HTML_QuickForm_element::onQuickFormEvent($event, $arg, $caller); + } else { + return parent::onQuickFormEvent($event, $arg, $caller); + } + } + + // }}} +} ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/element.php b/libs/HTML/QuickForm/element.php index 2604d39d47..9fbe41ef1f 100755 --- a/libs/HTML/QuickForm/element.php +++ b/libs/HTML/QuickForm/element.php @@ -1,494 +1,494 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for all HTML classes - */ -require_once 'HTML/Common.php'; - -/** - * Base class for form elements - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 1.0 - * @abstract - */ -class HTML_QuickForm_element extends HTML_Common -{ - // {{{ properties - - /** - * Label of the field - * @var string - * @since 1.3 - * @access private - */ - var $_label = ''; - - /** - * Form element type - * @var string - * @since 1.0 - * @access private - */ - var $_type = ''; - - /** - * Flag to tell if element is frozen - * @var boolean - * @since 1.0 - * @access private - */ - var $_flagFrozen = false; - - /** - * Does the element support persistant data when frozen - * @var boolean - * @since 1.3 - * @access private - */ - var $_persistantFreeze = false; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string Name of the element - * @param mixed Label(s) for the element - * @param mixed Associative array of tag attributes or HTML attributes name="value" pairs - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_element($elementName=null, $elementLabel=null, $attributes=null) - { - HTML_Common::HTML_Common($attributes); - if (isset($elementName)) { - $this->setName($elementName); - } - if (isset($elementLabel)) { - $this->setLabel($elementLabel); - } - } //end constructor - - // }}} - // {{{ apiVersion() - - /** - * Returns the current API version - * - * @since 1.0 - * @access public - * @return float - */ - function apiVersion() - { - return 3.2; - } // end func apiVersion - - // }}} - // {{{ getType() - - /** - * Returns element type - * - * @since 1.0 - * @access public - * @return string - */ - function getType() - { - return $this->_type; - } // end func getType - - // }}} - // {{{ setName() - - /** - * Sets the input field name - * - * @param string $name Input field name attribute - * @since 1.0 - * @access public - * @return void - */ - function setName($name) - { - // interface method - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the element name - * - * @since 1.0 - * @access public - * @return string - */ - function getName() - { - // interface method - } //end func getName - - // }}} - // {{{ setValue() - - /** - * Sets the value of the form element - * - * @param string $value Default value of the form element - * @since 1.0 - * @access public - * @return void - */ - function setValue($value) - { - // interface - } // end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns the value of the form element - * - * @since 1.0 - * @access public - * @return mixed - */ - function getValue() - { - // interface - return null; - } // end func getValue - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return void - */ - function freeze() - { - $this->_flagFrozen = true; - } //end func freeze - - // }}} - // {{{ unfreeze() - - /** - * Unfreezes the element so that it becomes editable - * - * @access public - * @return void - * @since 3.2.4 - */ - function unfreeze() - { - $this->_flagFrozen = false; - } - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags - * - * @since 1.0 - * @access public - * @return string - */ - function getFrozenHtml() - { - $value = $this->getValue(); - return ('' != $value? htmlspecialchars($value): ' ') . - $this->_getPersistantData(); - } //end func getFrozenHtml - - // }}} - // {{{ _getPersistantData() - - /** - * Used by getFrozenHtml() to pass the element's value if _persistantFreeze is on - * - * @access private - * @return string - */ - function _getPersistantData() - { - if (!$this->_persistantFreeze) { - return ''; - } else { - $id = $this->getAttribute('id'); - return '_getAttrString(array( - 'type' => 'hidden', - 'name' => $this->getName(), - 'value' => $this->getValue() - ) + (isset($id)? array('id' => $id): array())) . ' />'; - } - } - - // }}} - // {{{ isFrozen() - - /** - * Returns whether or not the element is frozen - * - * @since 1.3 - * @access public - * @return bool - */ - function isFrozen() - { - return $this->_flagFrozen; - } // end func isFrozen - - // }}} - // {{{ setPersistantFreeze() - - /** - * Sets wether an element value should be kept in an hidden field - * when the element is frozen or not - * - * @param bool $persistant True if persistant value - * @since 2.0 - * @access public - * @return void - */ - function setPersistantFreeze($persistant=false) - { - $this->_persistantFreeze = $persistant; - } //end func setPersistantFreeze - - // }}} - // {{{ setLabel() - - /** - * Sets display text for the element - * - * @param string $label Display text for the element - * @since 1.3 - * @access public - * @return void - */ - function setLabel($label) - { - $this->_label = $label; - } //end func setLabel - - // }}} - // {{{ getLabel() - - /** - * Returns display text for the element - * - * @since 1.3 - * @access public - * @return string - */ - function getLabel() - { - return $this->_label; - } //end func getLabel - - // }}} - // {{{ _findValue() - - /** - * Tries to find the element value from the values array - * - * @since 2.7 - * @access private - * @return mixed - */ - function _findValue(&$values) - { - if (empty($values)) { - return null; - } - $elementName = $this->getName(); - if (isset($values[$elementName])) { - return $values[$elementName]; - } elseif (strpos($elementName, '[')) { - $myVar = "['" . str_replace( - array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), - $elementName - ) . "']"; - return eval("return (isset(\$values$myVar)) ? \$values$myVar : null;"); - } else { - return null; - } - } //end func _findValue - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'createElement': - $className = get_class($this); - $this->$className($arg[0], $arg[1], $arg[2], $arg[3], $arg[4]); - break; - case 'addElement': - $this->onQuickFormEvent('createElement', $arg, $caller); - $this->onQuickFormEvent('updateValue', null, $caller); - break; - case 'updateValue': - // constant values override both default and submitted ones - // default values are overriden by submitted - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_submitValues); - if (null === $value) { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (null !== $value) { - $this->setValue($value); - } - break; - case 'setGroupValue': - $this->setValue($arg); - } - return true; - } // end func onQuickFormEvent - - // }}} - // {{{ accept() - - /** - * Accepts a renderer - * - * @param HTML_QuickForm_Renderer renderer object - * @param bool Whether an element is required - * @param string An error message associated with an element - * @access public - * @return void - */ - function accept(&$renderer, $required=false, $error=null) - { - $renderer->renderElement($this, $required, $error); - } // end func accept - - // }}} - // {{{ _generateId() - - /** - * Automatically generates and assigns an 'id' attribute for the element. - * - * Currently used to ensure that labels work on radio buttons and - * checkboxes. Per idea of Alexander Radivanovich. - * - * @access private - * @return void - */ - function _generateId() - { - static $idx = 1; - - if (!$this->getAttribute('id')) { - $this->updateAttributes(array('id' => 'qf_' . substr(md5(microtime() . $idx++), 0, 6))); - } - } // end func _generateId - - // }}} - // {{{ exportValue() - - /** - * Returns a 'safe' element's value - * - * @param array array of submitted values to search - * @param bool whether to return the value as associative array - * @access public - * @return mixed - */ - function exportValue(&$submitValues, $assoc = false) - { - $value = $this->_findValue($submitValues); - if (null === $value) { - $value = $this->getValue(); - } - return $this->_prepareValue($value, $assoc); - } - - // }}} - // {{{ _prepareValue() - - /** - * Used by exportValue() to prepare the value for returning - * - * @param mixed the value found in exportValue() - * @param bool whether to return the value as associative array - * @access private - * @return mixed - */ - function _prepareValue($value, $assoc) - { - if (null === $value) { - return null; - } elseif (!$assoc) { - return $value; - } else { - $name = $this->getName(); - if (!strpos($name, '[')) { - return array($name => $value); - } else { - $valueAry = array(); - $myIndex = "['" . str_replace( - array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), - $name - ) . "']"; - eval("\$valueAry$myIndex = \$value;"); - return $valueAry; - } - } - } - - // }}} -} // end class HTML_QuickForm_element + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for all HTML classes + */ +require_once 'HTML/Common.php'; + +/** + * Base class for form elements + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 1.0 + * @abstract + */ +class HTML_QuickForm_element extends HTML_Common +{ + // {{{ properties + + /** + * Label of the field + * @var string + * @since 1.3 + * @access private + */ + var $_label = ''; + + /** + * Form element type + * @var string + * @since 1.0 + * @access private + */ + var $_type = ''; + + /** + * Flag to tell if element is frozen + * @var boolean + * @since 1.0 + * @access private + */ + var $_flagFrozen = false; + + /** + * Does the element support persistant data when frozen + * @var boolean + * @since 1.3 + * @access private + */ + var $_persistantFreeze = false; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string Name of the element + * @param mixed Label(s) for the element + * @param mixed Associative array of tag attributes or HTML attributes name="value" pairs + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_element($elementName=null, $elementLabel=null, $attributes=null) + { + HTML_Common::HTML_Common($attributes); + if (isset($elementName)) { + $this->setName($elementName); + } + if (isset($elementLabel)) { + $this->setLabel($elementLabel); + } + } //end constructor + + // }}} + // {{{ apiVersion() + + /** + * Returns the current API version + * + * @since 1.0 + * @access public + * @return float + */ + function apiVersion() + { + return 3.2; + } // end func apiVersion + + // }}} + // {{{ getType() + + /** + * Returns element type + * + * @since 1.0 + * @access public + * @return string + */ + function getType() + { + return $this->_type; + } // end func getType + + // }}} + // {{{ setName() + + /** + * Sets the input field name + * + * @param string $name Input field name attribute + * @since 1.0 + * @access public + * @return void + */ + function setName($name) + { + // interface method + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the element name + * + * @since 1.0 + * @access public + * @return string + */ + function getName() + { + // interface method + } //end func getName + + // }}} + // {{{ setValue() + + /** + * Sets the value of the form element + * + * @param string $value Default value of the form element + * @since 1.0 + * @access public + * @return void + */ + function setValue($value) + { + // interface + } // end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns the value of the form element + * + * @since 1.0 + * @access public + * @return mixed + */ + function getValue() + { + // interface + return null; + } // end func getValue + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return void + */ + function freeze() + { + $this->_flagFrozen = true; + } //end func freeze + + // }}} + // {{{ unfreeze() + + /** + * Unfreezes the element so that it becomes editable + * + * @access public + * @return void + * @since 3.2.4 + */ + function unfreeze() + { + $this->_flagFrozen = false; + } + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags + * + * @since 1.0 + * @access public + * @return string + */ + function getFrozenHtml() + { + $value = $this->getValue(); + return ('' != $value? htmlspecialchars($value): ' ') . + $this->_getPersistantData(); + } //end func getFrozenHtml + + // }}} + // {{{ _getPersistantData() + + /** + * Used by getFrozenHtml() to pass the element's value if _persistantFreeze is on + * + * @access private + * @return string + */ + function _getPersistantData() + { + if (!$this->_persistantFreeze) { + return ''; + } else { + $id = $this->getAttribute('id'); + return '_getAttrString(array( + 'type' => 'hidden', + 'name' => $this->getName(), + 'value' => $this->getValue() + ) + (isset($id)? array('id' => $id): array())) . ' />'; + } + } + + // }}} + // {{{ isFrozen() + + /** + * Returns whether or not the element is frozen + * + * @since 1.3 + * @access public + * @return bool + */ + function isFrozen() + { + return $this->_flagFrozen; + } // end func isFrozen + + // }}} + // {{{ setPersistantFreeze() + + /** + * Sets wether an element value should be kept in an hidden field + * when the element is frozen or not + * + * @param bool $persistant True if persistant value + * @since 2.0 + * @access public + * @return void + */ + function setPersistantFreeze($persistant=false) + { + $this->_persistantFreeze = $persistant; + } //end func setPersistantFreeze + + // }}} + // {{{ setLabel() + + /** + * Sets display text for the element + * + * @param string $label Display text for the element + * @since 1.3 + * @access public + * @return void + */ + function setLabel($label) + { + $this->_label = $label; + } //end func setLabel + + // }}} + // {{{ getLabel() + + /** + * Returns display text for the element + * + * @since 1.3 + * @access public + * @return string + */ + function getLabel() + { + return $this->_label; + } //end func getLabel + + // }}} + // {{{ _findValue() + + /** + * Tries to find the element value from the values array + * + * @since 2.7 + * @access private + * @return mixed + */ + function _findValue(&$values) + { + if (empty($values)) { + return null; + } + $elementName = $this->getName(); + if (isset($values[$elementName])) { + return $values[$elementName]; + } elseif (strpos($elementName, '[')) { + $myVar = "['" . str_replace( + array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), + $elementName + ) . "']"; + return eval("return (isset(\$values$myVar)) ? \$values$myVar : null;"); + } else { + return null; + } + } //end func _findValue + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'createElement': + $className = get_class($this); + $this->$className($arg[0], $arg[1], $arg[2], $arg[3], $arg[4]); + break; + case 'addElement': + $this->onQuickFormEvent('createElement', $arg, $caller); + $this->onQuickFormEvent('updateValue', null, $caller); + break; + case 'updateValue': + // constant values override both default and submitted ones + // default values are overriden by submitted + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_submitValues); + if (null === $value) { + $value = $this->_findValue($caller->_defaultValues); + } + } + if (null !== $value) { + $this->setValue($value); + } + break; + case 'setGroupValue': + $this->setValue($arg); + } + return true; + } // end func onQuickFormEvent + + // }}} + // {{{ accept() + + /** + * Accepts a renderer + * + * @param HTML_QuickForm_Renderer renderer object + * @param bool Whether an element is required + * @param string An error message associated with an element + * @access public + * @return void + */ + function accept(&$renderer, $required=false, $error=null) + { + $renderer->renderElement($this, $required, $error); + } // end func accept + + // }}} + // {{{ _generateId() + + /** + * Automatically generates and assigns an 'id' attribute for the element. + * + * Currently used to ensure that labels work on radio buttons and + * checkboxes. Per idea of Alexander Radivanovich. + * + * @access private + * @return void + */ + function _generateId() + { + static $idx = 1; + + if (!$this->getAttribute('id')) { + $this->updateAttributes(array('id' => 'qf_' . substr(md5(microtime() . $idx++), 0, 6))); + } + } // end func _generateId + + // }}} + // {{{ exportValue() + + /** + * Returns a 'safe' element's value + * + * @param array array of submitted values to search + * @param bool whether to return the value as associative array + * @access public + * @return mixed + */ + function exportValue(&$submitValues, $assoc = false) + { + $value = $this->_findValue($submitValues); + if (null === $value) { + $value = $this->getValue(); + } + return $this->_prepareValue($value, $assoc); + } + + // }}} + // {{{ _prepareValue() + + /** + * Used by exportValue() to prepare the value for returning + * + * @param mixed the value found in exportValue() + * @param bool whether to return the value as associative array + * @access private + * @return mixed + */ + function _prepareValue($value, $assoc) + { + if (null === $value) { + return null; + } elseif (!$assoc) { + return $value; + } else { + $name = $this->getName(); + if (!strpos($name, '[')) { + return array($name => $value); + } else { + $valueAry = array(); + $myIndex = "['" . str_replace( + array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), + $name + ) . "']"; + eval("\$valueAry$myIndex = \$value;"); + return $valueAry; + } + } + } + + // }}} +} // end class HTML_QuickForm_element ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/file.php b/libs/HTML/QuickForm/file.php index de23a1ec0e..f3cbdfa7a8 100755 --- a/libs/HTML/QuickForm/file.php +++ b/libs/HTML/QuickForm/file.php @@ -1,358 +1,358 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -// register file-related rules -if (class_exists('HTML_QuickForm')) { - HTML_QuickForm::registerRule('uploadedfile', 'callback', '_ruleIsUploadedFile', 'HTML_QuickForm_file'); - HTML_QuickForm::registerRule('maxfilesize', 'callback', '_ruleCheckMaxFileSize', 'HTML_QuickForm_file'); - HTML_QuickForm::registerRule('mimetype', 'callback', '_ruleCheckMimeType', 'HTML_QuickForm_file'); - HTML_QuickForm::registerRule('filename', 'callback', '_ruleCheckFileName', 'HTML_QuickForm_file'); -} - -/** - * HTML class for a file upload field - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_file extends HTML_QuickForm_input -{ - // {{{ properties - - /** - * Uploaded file data, from $_FILES - * @var array - */ - var $_value = null; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string Input field name attribute - * @param string Input field label - * @param mixed (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - */ - function HTML_QuickForm_file($elementName=null, $elementLabel=null, $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); - $this->setType('file'); - } //end constructor - - // }}} - // {{{ setSize() - - /** - * Sets size of file element - * - * @param int Size of file element - * @since 1.0 - * @access public - */ - function setSize($size) - { - $this->updateAttributes(array('size' => $size)); - } //end func setSize - - // }}} - // {{{ getSize() - - /** - * Returns size of file element - * - * @since 1.0 - * @access public - * @return int - */ - function getSize() - { - return $this->getAttribute('size'); - } //end func getSize - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return bool - */ - function freeze() - { - return false; - } //end func freeze - - // }}} - // {{{ setValue() - - /** - * Sets value for file element. - * - * Actually this does nothing. The function is defined here to override - * HTML_Quickform_input's behaviour of setting the 'value' attribute. As - * no sane user-agent uses 's value for anything - * (because of security implications) we implement file's value as a - * read-only property with a special meaning. - * - * @param mixed Value for file element - * @since 3.0 - * @access public - */ - function setValue($value) - { - return null; - } //end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns information about the uploaded file - * - * @since 3.0 - * @access public - * @return array - */ - function getValue() - { - return $this->_value; - } // end func getValue - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string Name of event - * @param mixed event arguments - * @param object calling object - * @since 1.0 - * @access public - * @return bool - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'updateValue': - if ($caller->getAttribute('method') == 'get') { - return PEAR::raiseError('Cannot add a file upload field to a GET method form'); - } - $this->_value = $this->_findValue(); - $caller->updateAttributes(array('enctype' => 'multipart/form-data')); - $caller->setMaxFileSize(); - break; - case 'addElement': - $this->onQuickFormEvent('createElement', $arg, $caller); - return $this->onQuickFormEvent('updateValue', null, $caller); - break; - case 'createElement': - $className = get_class($this); - $this->$className($arg[0], $arg[1], $arg[2]); - break; - } - return true; - } // end func onQuickFormEvent - - // }}} - // {{{ moveUploadedFile() - - /** - * Moves an uploaded file into the destination - * - * @param string Destination directory path - * @param string New file name - * @access public - * @return bool Whether the file was moved successfully - */ - function moveUploadedFile($dest, $fileName = '') - { - if ($dest != '' && substr($dest, -1) != '/') { - $dest .= '/'; - } - $fileName = ($fileName != '') ? $fileName : basename($this->_value['name']); - return move_uploaded_file($this->_value['tmp_name'], $dest . $fileName); - } // end func moveUploadedFile - - // }}} - // {{{ isUploadedFile() - - /** - * Checks if the element contains an uploaded file - * - * @access public - * @return bool true if file has been uploaded, false otherwise - */ - function isUploadedFile() - { - return $this->_ruleIsUploadedFile($this->_value); - } // end func isUploadedFile - - // }}} - // {{{ _ruleIsUploadedFile() - - /** - * Checks if the given element contains an uploaded file - * - * @param array Uploaded file info (from $_FILES) - * @access private - * @return bool true if file has been uploaded, false otherwise - */ - function _ruleIsUploadedFile($elementValue) - { - if ((isset($elementValue['error']) && $elementValue['error'] == 0) || - (!empty($elementValue['tmp_name']) && $elementValue['tmp_name'] != 'none')) { - return is_uploaded_file($elementValue['tmp_name']); - } else { - return false; - } - } // end func _ruleIsUploadedFile - - // }}} - // {{{ _ruleCheckMaxFileSize() - - /** - * Checks that the file does not exceed the max file size - * - * @param array Uploaded file info (from $_FILES) - * @param int Max file size - * @access private - * @return bool true if filesize is lower than maxsize, false otherwise - */ - function _ruleCheckMaxFileSize($elementValue, $maxSize) - { - if (!empty($elementValue['error']) && - (UPLOAD_ERR_FORM_SIZE == $elementValue['error'] || UPLOAD_ERR_INI_SIZE == $elementValue['error'])) { - return false; - } - if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { - return true; - } - return ($maxSize >= @filesize($elementValue['tmp_name'])); - } // end func _ruleCheckMaxFileSize - - // }}} - // {{{ _ruleCheckMimeType() - - /** - * Checks if the given element contains an uploaded file of the right mime type - * - * @param array Uploaded file info (from $_FILES) - * @param mixed Mime Type (can be an array of allowed types) - * @access private - * @return bool true if mimetype is correct, false otherwise - */ - function _ruleCheckMimeType($elementValue, $mimeType) - { - if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { - return true; - } - if (is_array($mimeType)) { - return in_array($elementValue['type'], $mimeType); - } - return $elementValue['type'] == $mimeType; - } // end func _ruleCheckMimeType - - // }}} - // {{{ _ruleCheckFileName() - - /** - * Checks if the given element contains an uploaded file of the filename regex - * - * @param array Uploaded file info (from $_FILES) - * @param string Regular expression - * @access private - * @return bool true if name matches regex, false otherwise - */ - function _ruleCheckFileName($elementValue, $regex) - { - if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { - return true; - } - return preg_match($regex, $elementValue['name']); - } // end func _ruleCheckFileName - - // }}} - // {{{ _findValue() - - /** - * Tries to find the element value from the values array - * - * Needs to be redefined here as $_FILES is populated differently from - * other arrays when element name is of the form foo[bar] - * - * @access private - * @return mixed - */ - function _findValue() - { - if (empty($_FILES)) { - return null; - } - $elementName = $this->getName(); - if (isset($_FILES[$elementName])) { - return $_FILES[$elementName]; - } elseif (false !== ($pos = strpos($elementName, '['))) { - $base = str_replace( - array('\\', '\''), array('\\\\', '\\\''), - substr($elementName, 0, $pos) - ); - $idx = "['" . str_replace( - array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), - substr($elementName, $pos + 1, -1) - ) . "']"; - $props = array('name', 'type', 'size', 'tmp_name', 'error'); - $code = "if (!isset(\$_FILES['{$base}']['name']{$idx})) {\n" . - " return null;\n" . - "} else {\n" . - " \$value = array();\n"; - foreach ($props as $prop) { - $code .= " \$value['{$prop}'] = \$_FILES['{$base}']['{$prop}']{$idx};\n"; - } - return eval($code . " return \$value;\n}\n"); - } else { - return null; - } - } - - // }}} -} // end class HTML_QuickForm_file -?> + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +// register file-related rules +if (class_exists('HTML_QuickForm')) { + HTML_QuickForm::registerRule('uploadedfile', 'callback', '_ruleIsUploadedFile', 'HTML_QuickForm_file'); + HTML_QuickForm::registerRule('maxfilesize', 'callback', '_ruleCheckMaxFileSize', 'HTML_QuickForm_file'); + HTML_QuickForm::registerRule('mimetype', 'callback', '_ruleCheckMimeType', 'HTML_QuickForm_file'); + HTML_QuickForm::registerRule('filename', 'callback', '_ruleCheckFileName', 'HTML_QuickForm_file'); +} + +/** + * HTML class for a file upload field + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_file extends HTML_QuickForm_input +{ + // {{{ properties + + /** + * Uploaded file data, from $_FILES + * @var array + */ + var $_value = null; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string Input field name attribute + * @param string Input field label + * @param mixed (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + */ + function HTML_QuickForm_file($elementName=null, $elementLabel=null, $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); + $this->setType('file'); + } //end constructor + + // }}} + // {{{ setSize() + + /** + * Sets size of file element + * + * @param int Size of file element + * @since 1.0 + * @access public + */ + function setSize($size) + { + $this->updateAttributes(array('size' => $size)); + } //end func setSize + + // }}} + // {{{ getSize() + + /** + * Returns size of file element + * + * @since 1.0 + * @access public + * @return int + */ + function getSize() + { + return $this->getAttribute('size'); + } //end func getSize + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return bool + */ + function freeze() + { + return false; + } //end func freeze + + // }}} + // {{{ setValue() + + /** + * Sets value for file element. + * + * Actually this does nothing. The function is defined here to override + * HTML_Quickform_input's behaviour of setting the 'value' attribute. As + * no sane user-agent uses 's value for anything + * (because of security implications) we implement file's value as a + * read-only property with a special meaning. + * + * @param mixed Value for file element + * @since 3.0 + * @access public + */ + function setValue($value) + { + return null; + } //end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns information about the uploaded file + * + * @since 3.0 + * @access public + * @return array + */ + function getValue() + { + return $this->_value; + } // end func getValue + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string Name of event + * @param mixed event arguments + * @param object calling object + * @since 1.0 + * @access public + * @return bool + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'updateValue': + if ($caller->getAttribute('method') == 'get') { + return PEAR::raiseError('Cannot add a file upload field to a GET method form'); + } + $this->_value = $this->_findValue(); + $caller->updateAttributes(array('enctype' => 'multipart/form-data')); + $caller->setMaxFileSize(); + break; + case 'addElement': + $this->onQuickFormEvent('createElement', $arg, $caller); + return $this->onQuickFormEvent('updateValue', null, $caller); + break; + case 'createElement': + $className = get_class($this); + $this->$className($arg[0], $arg[1], $arg[2]); + break; + } + return true; + } // end func onQuickFormEvent + + // }}} + // {{{ moveUploadedFile() + + /** + * Moves an uploaded file into the destination + * + * @param string Destination directory path + * @param string New file name + * @access public + * @return bool Whether the file was moved successfully + */ + function moveUploadedFile($dest, $fileName = '') + { + if ($dest != '' && substr($dest, -1) != '/') { + $dest .= '/'; + } + $fileName = ($fileName != '') ? $fileName : basename($this->_value['name']); + return move_uploaded_file($this->_value['tmp_name'], $dest . $fileName); + } // end func moveUploadedFile + + // }}} + // {{{ isUploadedFile() + + /** + * Checks if the element contains an uploaded file + * + * @access public + * @return bool true if file has been uploaded, false otherwise + */ + function isUploadedFile() + { + return $this->_ruleIsUploadedFile($this->_value); + } // end func isUploadedFile + + // }}} + // {{{ _ruleIsUploadedFile() + + /** + * Checks if the given element contains an uploaded file + * + * @param array Uploaded file info (from $_FILES) + * @access private + * @return bool true if file has been uploaded, false otherwise + */ + function _ruleIsUploadedFile($elementValue) + { + if ((isset($elementValue['error']) && $elementValue['error'] == 0) || + (!empty($elementValue['tmp_name']) && $elementValue['tmp_name'] != 'none')) { + return is_uploaded_file($elementValue['tmp_name']); + } else { + return false; + } + } // end func _ruleIsUploadedFile + + // }}} + // {{{ _ruleCheckMaxFileSize() + + /** + * Checks that the file does not exceed the max file size + * + * @param array Uploaded file info (from $_FILES) + * @param int Max file size + * @access private + * @return bool true if filesize is lower than maxsize, false otherwise + */ + function _ruleCheckMaxFileSize($elementValue, $maxSize) + { + if (!empty($elementValue['error']) && + (UPLOAD_ERR_FORM_SIZE == $elementValue['error'] || UPLOAD_ERR_INI_SIZE == $elementValue['error'])) { + return false; + } + if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { + return true; + } + return ($maxSize >= @filesize($elementValue['tmp_name'])); + } // end func _ruleCheckMaxFileSize + + // }}} + // {{{ _ruleCheckMimeType() + + /** + * Checks if the given element contains an uploaded file of the right mime type + * + * @param array Uploaded file info (from $_FILES) + * @param mixed Mime Type (can be an array of allowed types) + * @access private + * @return bool true if mimetype is correct, false otherwise + */ + function _ruleCheckMimeType($elementValue, $mimeType) + { + if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { + return true; + } + if (is_array($mimeType)) { + return in_array($elementValue['type'], $mimeType); + } + return $elementValue['type'] == $mimeType; + } // end func _ruleCheckMimeType + + // }}} + // {{{ _ruleCheckFileName() + + /** + * Checks if the given element contains an uploaded file of the filename regex + * + * @param array Uploaded file info (from $_FILES) + * @param string Regular expression + * @access private + * @return bool true if name matches regex, false otherwise + */ + function _ruleCheckFileName($elementValue, $regex) + { + if (!HTML_QuickForm_file::_ruleIsUploadedFile($elementValue)) { + return true; + } + return preg_match($regex, $elementValue['name']); + } // end func _ruleCheckFileName + + // }}} + // {{{ _findValue() + + /** + * Tries to find the element value from the values array + * + * Needs to be redefined here as $_FILES is populated differently from + * other arrays when element name is of the form foo[bar] + * + * @access private + * @return mixed + */ + function _findValue() + { + if (empty($_FILES)) { + return null; + } + $elementName = $this->getName(); + if (isset($_FILES[$elementName])) { + return $_FILES[$elementName]; + } elseif (false !== ($pos = strpos($elementName, '['))) { + $base = str_replace( + array('\\', '\''), array('\\\\', '\\\''), + substr($elementName, 0, $pos) + ); + $idx = "['" . str_replace( + array('\\', '\'', ']', '['), array('\\\\', '\\\'', '', "']['"), + substr($elementName, $pos + 1, -1) + ) . "']"; + $props = array('name', 'type', 'size', 'tmp_name', 'error'); + $code = "if (!isset(\$_FILES['{$base}']['name']{$idx})) {\n" . + " return null;\n" . + "} else {\n" . + " \$value = array();\n"; + foreach ($props as $prop) { + $code .= " \$value['{$prop}'] = \$_FILES['{$base}']['{$prop}']{$idx};\n"; + } + return eval($code . " return \$value;\n}\n"); + } else { + return null; + } + } + + // }}} +} // end class HTML_QuickForm_file +?> diff --git a/libs/HTML/QuickForm/group.php b/libs/HTML/QuickForm/group.php index 9c1cd9b476..f90641b7d9 100755 --- a/libs/HTML/QuickForm/group.php +++ b/libs/HTML/QuickForm/group.php @@ -1,588 +1,588 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/element.php'; - -/** - * HTML class for a form element group - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_group extends HTML_QuickForm_element -{ - // {{{ properties - - /** - * Name of the element - * @var string - * @since 1.0 - * @access private - */ - var $_name = ''; - - /** - * Array of grouped elements - * @var array - * @since 1.0 - * @access private - */ - var $_elements = array(); - - /** - * String to separate elements - * @var mixed - * @since 2.5 - * @access private - */ - var $_separator = null; - - /** - * Required elements in this group - * @var array - * @since 2.5 - * @access private - */ - var $_required = array(); - - /** - * Whether to change elements' names to $groupName[$elementName] or leave them as is - * @var bool - * @since 3.0 - * @access private - */ - var $_appendName = true; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Group name - * @param array $elementLabel (optional)Group label - * @param array $elements (optional)Group elements - * @param mixed $separator (optional)Use a string for one separator, - * use an array to alternate the separators. - * @param bool $appendName (optional)whether to change elements' names to - * the form $groupName[$elementName] or leave - * them as is. - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_group($elementName=null, $elementLabel=null, $elements=null, $separator=null, $appendName = true) - { - $this->HTML_QuickForm_element($elementName, $elementLabel); - $this->_type = 'group'; - if (isset($elements) && is_array($elements)) { - $this->setElements($elements); - } - if (isset($separator)) { - $this->_separator = $separator; - } - if (isset($appendName)) { - $this->_appendName = $appendName; - } - } //end constructor - - // }}} - // {{{ setName() - - /** - * Sets the group name - * - * @param string $name Group name - * @since 1.0 - * @access public - * @return void - */ - function setName($name) - { - $this->_name = $name; - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the group name - * - * @since 1.0 - * @access public - * @return string - */ - function getName() - { - return $this->_name; - } //end func getName - - // }}} - // {{{ setValue() - - /** - * Sets values for group's elements - * - * @param mixed Values for group's elements - * @since 1.0 - * @access public - * @return void - */ - function setValue($value) - { - $this->_createElementsIfNotExist(); - foreach (array_keys($this->_elements) as $key) { - if (!$this->_appendName) { - $v = $this->_elements[$key]->_findValue($value); - if (null !== $v) { - $this->_elements[$key]->onQuickFormEvent('setGroupValue', $v, $this); - } - - } else { - $elementName = $this->_elements[$key]->getName(); - $index = strlen($elementName) ? $elementName : $key; - if (is_array($value)) { - if (isset($value[$index])) { - $this->_elements[$key]->onQuickFormEvent('setGroupValue', $value[$index], $this); - } - } elseif (isset($value)) { - $this->_elements[$key]->onQuickFormEvent('setGroupValue', $value, $this); - } - } - } - } //end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns the value of the group - * - * @since 1.0 - * @access public - * @return mixed - */ - function getValue() - { - $value = null; - foreach (array_keys($this->_elements) as $key) { - $element =& $this->_elements[$key]; - switch ($element->getType()) { - case 'radio': - $v = $element->getChecked()? $element->getValue(): null; - break; - case 'checkbox': - $v = $element->getChecked()? true: null; - break; - default: - $v = $element->getValue(); - } - if (null !== $v) { - $elementName = $element->getName(); - if (is_null($elementName)) { - $value = $v; - } else { - if (!is_array($value)) { - $value = is_null($value)? array(): array($value); - } - if ('' === $elementName) { - $value[] = $v; - } else { - $value[$elementName] = $v; - } - } - } - } - return $value; - } // end func getValue - - // }}} - // {{{ setElements() - - /** - * Sets the grouped elements - * - * @param array $elements Array of elements - * @since 1.1 - * @access public - * @return void - */ - function setElements($elements) - { - $this->_elements = array_values($elements); - if ($this->_flagFrozen) { - $this->freeze(); - } - } // end func setElements - - // }}} - // {{{ getElements() - - /** - * Gets the grouped elements - * - * @since 2.4 - * @access public - * @return array - */ - function &getElements() - { - $this->_createElementsIfNotExist(); - return $this->_elements; - } // end func getElements - - // }}} - // {{{ getGroupType() - - /** - * Gets the group type based on its elements - * Will return 'mixed' if elements contained in the group - * are of different types. - * - * @access public - * @return string group elements type - */ - function getGroupType() - { - $this->_createElementsIfNotExist(); - $prevType = ''; - foreach (array_keys($this->_elements) as $key) { - $type = $this->_elements[$key]->getType(); - if ($type != $prevType && $prevType != '') { - return 'mixed'; - } - $prevType = $type; - } - return $type; - } // end func getGroupType - - // }}} - // {{{ toHtml() - - /** - * Returns Html for the group - * - * @since 1.0 - * @access public - * @return string - */ - function toHtml() - { - include_once('HTML/QuickForm/Renderer/Default.php'); - $renderer = new HTML_QuickForm_Renderer_Default(); - $renderer->setElementTemplate('{element}'); - $this->accept($renderer); - return $renderer->toHtml(); - } //end func toHtml - - // }}} - // {{{ getElementName() - - /** - * Returns the element name inside the group such as found in the html form - * - * @param mixed $index Element name or element index in the group - * @since 3.0 - * @access public - * @return mixed string with element name, false if not found - */ - function getElementName($index) - { - $this->_createElementsIfNotExist(); - $elementName = false; - if (is_int($index) && isset($this->_elements[$index])) { - $elementName = $this->_elements[$index]->getName(); - if (isset($elementName) && $elementName == '') { - $elementName = $index; - } - if ($this->_appendName) { - if (is_null($elementName)) { - $elementName = $this->getName(); - } else { - $elementName = $this->getName().'['.$elementName.']'; - } - } - - } elseif (is_string($index)) { - foreach (array_keys($this->_elements) as $key) { - $elementName = $this->_elements[$key]->getName(); - if ($index == $elementName) { - if ($this->_appendName) { - $elementName = $this->getName().'['.$elementName.']'; - } - break; - } elseif ($this->_appendName && $this->getName().'['.$elementName.']' == $index) { - break; - } - } - } - return $elementName; - } //end func getElementName - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags - * - * @since 1.3 - * @access public - * @return string - */ - function getFrozenHtml() - { - $flags = array(); - $this->_createElementsIfNotExist(); - foreach (array_keys($this->_elements) as $key) { - if (false === ($flags[$key] = $this->_elements[$key]->isFrozen())) { - $this->_elements[$key]->freeze(); - } - } - $html = $this->toHtml(); - foreach (array_keys($this->_elements) as $key) { - if (!$flags[$key]) { - $this->_elements[$key]->unfreeze(); - } - } - return $html; - } //end func getFrozenHtml - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'updateValue': - $this->_createElementsIfNotExist(); - foreach (array_keys($this->_elements) as $key) { - if ($this->_appendName) { - $elementName = $this->_elements[$key]->getName(); - if (is_null($elementName)) { - $this->_elements[$key]->setName($this->getName()); - } elseif ('' === $elementName) { - $this->_elements[$key]->setName($this->getName() . '[' . $key . ']'); - } else { - $this->_elements[$key]->setName($this->getName() . '[' . $elementName . ']'); - } - } - $this->_elements[$key]->onQuickFormEvent('updateValue', $arg, $caller); - if ($this->_appendName) { - $this->_elements[$key]->setName($elementName); - } - } - break; - - default: - parent::onQuickFormEvent($event, $arg, $caller); - } - return true; - } // end func onQuickFormEvent - - // }}} - // {{{ accept() - - /** - * Accepts a renderer - * - * @param HTML_QuickForm_Renderer renderer object - * @param bool Whether a group is required - * @param string An error message associated with a group - * @access public - * @return void - */ - function accept(&$renderer, $required = false, $error = null) - { - $this->_createElementsIfNotExist(); - $renderer->startGroup($this, $required, $error); - $name = $this->getName(); - foreach (array_keys($this->_elements) as $key) { - $element =& $this->_elements[$key]; - - if ($this->_appendName) { - $elementName = $element->getName(); - if (isset($elementName)) { - $element->setName($name . '['. (strlen($elementName)? $elementName: $key) .']'); - } else { - $element->setName($name); - } - } - - $required = !$element->isFrozen() && in_array($element->getName(), $this->_required); - - $element->accept($renderer, $required); - - // restore the element's name - if ($this->_appendName) { - $element->setName($elementName); - } - } - $renderer->finishGroup($this); - } // end func accept - - // }}} - // {{{ exportValue() - - /** - * As usual, to get the group's value we access its elements and call - * their exportValue() methods - */ - function exportValue(&$submitValues, $assoc = false) - { - $value = null; - foreach (array_keys($this->_elements) as $key) { - $elementName = $this->_elements[$key]->getName(); - if ($this->_appendName) { - if (is_null($elementName)) { - $this->_elements[$key]->setName($this->getName()); - } elseif ('' === $elementName) { - $this->_elements[$key]->setName($this->getName() . '[' . $key . ']'); - } else { - $this->_elements[$key]->setName($this->getName() . '[' . $elementName . ']'); - } - } - $v = $this->_elements[$key]->exportValue($submitValues, $assoc); - if ($this->_appendName) { - $this->_elements[$key]->setName($elementName); - } - if (null !== $v) { - // Make $value an array, we will use it like one - if (null === $value) { - $value = array(); - } - if ($assoc) { - // just like HTML_QuickForm::exportValues() - $value = HTML_QuickForm::arrayMerge($value, $v); - } else { - // just like getValue(), but should work OK every time here - if (is_null($elementName)) { - $value = $v; - } elseif ('' === $elementName) { - $value[] = $v; - } else { - $value[$elementName] = $v; - } - } - } - } - // do not pass the value through _prepareValue, we took care of this already - return $value; - } - - // }}} - // {{{ _createElements() - - /** - * Creates the group's elements. - * - * This should be overriden by child classes that need to create their - * elements. The method will be called automatically when needed, calling - * it from the constructor is discouraged as the constructor is usually - * called _twice_ on element creation, first time with _no_ parameters. - * - * @access private - * @abstract - */ - function _createElements() - { - // abstract - } - - // }}} - // {{{ _createElementsIfNotExist() - - /** - * A wrapper around _createElements() - * - * This method calls _createElements() if the group's _elements array - * is empty. It also performs some updates, e.g. freezes the created - * elements if the group is already frozen. - * - * @access private - */ - function _createElementsIfNotExist() - { - if (empty($this->_elements)) { - $this->_createElements(); - if ($this->_flagFrozen) { - $this->freeze(); - } - } - } - - // }}} - // {{{ freeze() - - function freeze() - { - parent::freeze(); - foreach (array_keys($this->_elements) as $key) { - $this->_elements[$key]->freeze(); - } - } - - // }}} - // {{{ unfreeze() - - function unfreeze() - { - parent::unfreeze(); - foreach (array_keys($this->_elements) as $key) { - $this->_elements[$key]->unfreeze(); - } - } - - // }}} - // {{{ setPersistantFreeze() - - function setPersistantFreeze($persistant = false) - { - parent::setPersistantFreeze($persistant); - foreach (array_keys($this->_elements) as $key) { - $this->_elements[$key]->setPersistantFreeze($persistant); - } - } - - // }}} -} //end class HTML_QuickForm_group + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/element.php'; + +/** + * HTML class for a form element group + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_group extends HTML_QuickForm_element +{ + // {{{ properties + + /** + * Name of the element + * @var string + * @since 1.0 + * @access private + */ + var $_name = ''; + + /** + * Array of grouped elements + * @var array + * @since 1.0 + * @access private + */ + var $_elements = array(); + + /** + * String to separate elements + * @var mixed + * @since 2.5 + * @access private + */ + var $_separator = null; + + /** + * Required elements in this group + * @var array + * @since 2.5 + * @access private + */ + var $_required = array(); + + /** + * Whether to change elements' names to $groupName[$elementName] or leave them as is + * @var bool + * @since 3.0 + * @access private + */ + var $_appendName = true; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Group name + * @param array $elementLabel (optional)Group label + * @param array $elements (optional)Group elements + * @param mixed $separator (optional)Use a string for one separator, + * use an array to alternate the separators. + * @param bool $appendName (optional)whether to change elements' names to + * the form $groupName[$elementName] or leave + * them as is. + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_group($elementName=null, $elementLabel=null, $elements=null, $separator=null, $appendName = true) + { + $this->HTML_QuickForm_element($elementName, $elementLabel); + $this->_type = 'group'; + if (isset($elements) && is_array($elements)) { + $this->setElements($elements); + } + if (isset($separator)) { + $this->_separator = $separator; + } + if (isset($appendName)) { + $this->_appendName = $appendName; + } + } //end constructor + + // }}} + // {{{ setName() + + /** + * Sets the group name + * + * @param string $name Group name + * @since 1.0 + * @access public + * @return void + */ + function setName($name) + { + $this->_name = $name; + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the group name + * + * @since 1.0 + * @access public + * @return string + */ + function getName() + { + return $this->_name; + } //end func getName + + // }}} + // {{{ setValue() + + /** + * Sets values for group's elements + * + * @param mixed Values for group's elements + * @since 1.0 + * @access public + * @return void + */ + function setValue($value) + { + $this->_createElementsIfNotExist(); + foreach (array_keys($this->_elements) as $key) { + if (!$this->_appendName) { + $v = $this->_elements[$key]->_findValue($value); + if (null !== $v) { + $this->_elements[$key]->onQuickFormEvent('setGroupValue', $v, $this); + } + + } else { + $elementName = $this->_elements[$key]->getName(); + $index = strlen($elementName) ? $elementName : $key; + if (is_array($value)) { + if (isset($value[$index])) { + $this->_elements[$key]->onQuickFormEvent('setGroupValue', $value[$index], $this); + } + } elseif (isset($value)) { + $this->_elements[$key]->onQuickFormEvent('setGroupValue', $value, $this); + } + } + } + } //end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns the value of the group + * + * @since 1.0 + * @access public + * @return mixed + */ + function getValue() + { + $value = null; + foreach (array_keys($this->_elements) as $key) { + $element =& $this->_elements[$key]; + switch ($element->getType()) { + case 'radio': + $v = $element->getChecked()? $element->getValue(): null; + break; + case 'checkbox': + $v = $element->getChecked()? true: null; + break; + default: + $v = $element->getValue(); + } + if (null !== $v) { + $elementName = $element->getName(); + if (is_null($elementName)) { + $value = $v; + } else { + if (!is_array($value)) { + $value = is_null($value)? array(): array($value); + } + if ('' === $elementName) { + $value[] = $v; + } else { + $value[$elementName] = $v; + } + } + } + } + return $value; + } // end func getValue + + // }}} + // {{{ setElements() + + /** + * Sets the grouped elements + * + * @param array $elements Array of elements + * @since 1.1 + * @access public + * @return void + */ + function setElements($elements) + { + $this->_elements = array_values($elements); + if ($this->_flagFrozen) { + $this->freeze(); + } + } // end func setElements + + // }}} + // {{{ getElements() + + /** + * Gets the grouped elements + * + * @since 2.4 + * @access public + * @return array + */ + function &getElements() + { + $this->_createElementsIfNotExist(); + return $this->_elements; + } // end func getElements + + // }}} + // {{{ getGroupType() + + /** + * Gets the group type based on its elements + * Will return 'mixed' if elements contained in the group + * are of different types. + * + * @access public + * @return string group elements type + */ + function getGroupType() + { + $this->_createElementsIfNotExist(); + $prevType = ''; + foreach (array_keys($this->_elements) as $key) { + $type = $this->_elements[$key]->getType(); + if ($type != $prevType && $prevType != '') { + return 'mixed'; + } + $prevType = $type; + } + return $type; + } // end func getGroupType + + // }}} + // {{{ toHtml() + + /** + * Returns Html for the group + * + * @since 1.0 + * @access public + * @return string + */ + function toHtml() + { + include_once('HTML/QuickForm/Renderer/Default.php'); + $renderer = new HTML_QuickForm_Renderer_Default(); + $renderer->setElementTemplate('{element}'); + $this->accept($renderer); + return $renderer->toHtml(); + } //end func toHtml + + // }}} + // {{{ getElementName() + + /** + * Returns the element name inside the group such as found in the html form + * + * @param mixed $index Element name or element index in the group + * @since 3.0 + * @access public + * @return mixed string with element name, false if not found + */ + function getElementName($index) + { + $this->_createElementsIfNotExist(); + $elementName = false; + if (is_int($index) && isset($this->_elements[$index])) { + $elementName = $this->_elements[$index]->getName(); + if (isset($elementName) && $elementName == '') { + $elementName = $index; + } + if ($this->_appendName) { + if (is_null($elementName)) { + $elementName = $this->getName(); + } else { + $elementName = $this->getName().'['.$elementName.']'; + } + } + + } elseif (is_string($index)) { + foreach (array_keys($this->_elements) as $key) { + $elementName = $this->_elements[$key]->getName(); + if ($index == $elementName) { + if ($this->_appendName) { + $elementName = $this->getName().'['.$elementName.']'; + } + break; + } elseif ($this->_appendName && $this->getName().'['.$elementName.']' == $index) { + break; + } + } + } + return $elementName; + } //end func getElementName + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags + * + * @since 1.3 + * @access public + * @return string + */ + function getFrozenHtml() + { + $flags = array(); + $this->_createElementsIfNotExist(); + foreach (array_keys($this->_elements) as $key) { + if (false === ($flags[$key] = $this->_elements[$key]->isFrozen())) { + $this->_elements[$key]->freeze(); + } + } + $html = $this->toHtml(); + foreach (array_keys($this->_elements) as $key) { + if (!$flags[$key]) { + $this->_elements[$key]->unfreeze(); + } + } + return $html; + } //end func getFrozenHtml + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'updateValue': + $this->_createElementsIfNotExist(); + foreach (array_keys($this->_elements) as $key) { + if ($this->_appendName) { + $elementName = $this->_elements[$key]->getName(); + if (is_null($elementName)) { + $this->_elements[$key]->setName($this->getName()); + } elseif ('' === $elementName) { + $this->_elements[$key]->setName($this->getName() . '[' . $key . ']'); + } else { + $this->_elements[$key]->setName($this->getName() . '[' . $elementName . ']'); + } + } + $this->_elements[$key]->onQuickFormEvent('updateValue', $arg, $caller); + if ($this->_appendName) { + $this->_elements[$key]->setName($elementName); + } + } + break; + + default: + parent::onQuickFormEvent($event, $arg, $caller); + } + return true; + } // end func onQuickFormEvent + + // }}} + // {{{ accept() + + /** + * Accepts a renderer + * + * @param HTML_QuickForm_Renderer renderer object + * @param bool Whether a group is required + * @param string An error message associated with a group + * @access public + * @return void + */ + function accept(&$renderer, $required = false, $error = null) + { + $this->_createElementsIfNotExist(); + $renderer->startGroup($this, $required, $error); + $name = $this->getName(); + foreach (array_keys($this->_elements) as $key) { + $element =& $this->_elements[$key]; + + if ($this->_appendName) { + $elementName = $element->getName(); + if (isset($elementName)) { + $element->setName($name . '['. (strlen($elementName)? $elementName: $key) .']'); + } else { + $element->setName($name); + } + } + + $required = !$element->isFrozen() && in_array($element->getName(), $this->_required); + + $element->accept($renderer, $required); + + // restore the element's name + if ($this->_appendName) { + $element->setName($elementName); + } + } + $renderer->finishGroup($this); + } // end func accept + + // }}} + // {{{ exportValue() + + /** + * As usual, to get the group's value we access its elements and call + * their exportValue() methods + */ + function exportValue(&$submitValues, $assoc = false) + { + $value = null; + foreach (array_keys($this->_elements) as $key) { + $elementName = $this->_elements[$key]->getName(); + if ($this->_appendName) { + if (is_null($elementName)) { + $this->_elements[$key]->setName($this->getName()); + } elseif ('' === $elementName) { + $this->_elements[$key]->setName($this->getName() . '[' . $key . ']'); + } else { + $this->_elements[$key]->setName($this->getName() . '[' . $elementName . ']'); + } + } + $v = $this->_elements[$key]->exportValue($submitValues, $assoc); + if ($this->_appendName) { + $this->_elements[$key]->setName($elementName); + } + if (null !== $v) { + // Make $value an array, we will use it like one + if (null === $value) { + $value = array(); + } + if ($assoc) { + // just like HTML_QuickForm::exportValues() + $value = HTML_QuickForm::arrayMerge($value, $v); + } else { + // just like getValue(), but should work OK every time here + if (is_null($elementName)) { + $value = $v; + } elseif ('' === $elementName) { + $value[] = $v; + } else { + $value[$elementName] = $v; + } + } + } + } + // do not pass the value through _prepareValue, we took care of this already + return $value; + } + + // }}} + // {{{ _createElements() + + /** + * Creates the group's elements. + * + * This should be overriden by child classes that need to create their + * elements. The method will be called automatically when needed, calling + * it from the constructor is discouraged as the constructor is usually + * called _twice_ on element creation, first time with _no_ parameters. + * + * @access private + * @abstract + */ + function _createElements() + { + // abstract + } + + // }}} + // {{{ _createElementsIfNotExist() + + /** + * A wrapper around _createElements() + * + * This method calls _createElements() if the group's _elements array + * is empty. It also performs some updates, e.g. freezes the created + * elements if the group is already frozen. + * + * @access private + */ + function _createElementsIfNotExist() + { + if (empty($this->_elements)) { + $this->_createElements(); + if ($this->_flagFrozen) { + $this->freeze(); + } + } + } + + // }}} + // {{{ freeze() + + function freeze() + { + parent::freeze(); + foreach (array_keys($this->_elements) as $key) { + $this->_elements[$key]->freeze(); + } + } + + // }}} + // {{{ unfreeze() + + function unfreeze() + { + parent::unfreeze(); + foreach (array_keys($this->_elements) as $key) { + $this->_elements[$key]->unfreeze(); + } + } + + // }}} + // {{{ setPersistantFreeze() + + function setPersistantFreeze($persistant = false) + { + parent::setPersistantFreeze($persistant); + foreach (array_keys($this->_elements) as $key) { + $this->_elements[$key]->setPersistantFreeze($persistant); + } + } + + // }}} +} //end class HTML_QuickForm_group ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/header.php b/libs/HTML/QuickForm/header.php index 9cb0f364c6..dbbbcc07ea 100755 --- a/libs/HTML/QuickForm/header.php +++ b/libs/HTML/QuickForm/header.php @@ -1,74 +1,74 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * HTML class for static data - */ -require_once 'HTML/QuickForm/static.php'; - -/** - * A pseudo-element used for adding headers to form - * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.0 - */ -class HTML_QuickForm_header extends HTML_QuickForm_static -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName Header name - * @param string $text Header text - * @access public - * @return void - */ - function HTML_QuickForm_header($elementName = null, $text = null) - { - $this->HTML_QuickForm_static($elementName, null, $text); - $this->_type = 'header'; - } - - // }}} - // {{{ accept() - - /** - * Accepts a renderer - * - * @param HTML_QuickForm_Renderer renderer object - * @access public - * @return void - */ - function accept(&$renderer) - { - $renderer->renderHeader($this); - } // end func accept - - // }}} - -} //end class HTML_QuickForm_header -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * HTML class for static data + */ +require_once 'HTML/QuickForm/static.php'; + +/** + * A pseudo-element used for adding headers to form + * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.0 + */ +class HTML_QuickForm_header extends HTML_QuickForm_static +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName Header name + * @param string $text Header text + * @access public + * @return void + */ + function HTML_QuickForm_header($elementName = null, $text = null) + { + $this->HTML_QuickForm_static($elementName, null, $text); + $this->_type = 'header'; + } + + // }}} + // {{{ accept() + + /** + * Accepts a renderer + * + * @param HTML_QuickForm_Renderer renderer object + * @access public + * @return void + */ + function accept(&$renderer) + { + $renderer->renderHeader($this); + } // end func accept + + // }}} + +} //end class HTML_QuickForm_header +?> diff --git a/libs/HTML/QuickForm/hidden.php b/libs/HTML/QuickForm/hidden.php index b0fb3d9669..b3f5737f0c 100755 --- a/libs/HTML/QuickForm/hidden.php +++ b/libs/HTML/QuickForm/hidden.php @@ -1,94 +1,94 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a hidden type element - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_hidden extends HTML_QuickForm_input -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $value (optional)Input field value - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_hidden($elementName=null, $value='', $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); - $this->setType('hidden'); - $this->setValue($value); - } //end constructor - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return void - */ - function freeze() - { - return false; - } //end func freeze - - // }}} - // {{{ accept() - - /** - * Accepts a renderer - * - * @param HTML_QuickForm_Renderer renderer object - * @access public - * @return void - */ - function accept(&$renderer) - { - $renderer->renderHidden($this); - } // end func accept - - // }}} - -} //end class HTML_QuickForm_hidden -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a hidden type element + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_hidden extends HTML_QuickForm_input +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $value (optional)Input field value + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_hidden($elementName=null, $value='', $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); + $this->setType('hidden'); + $this->setValue($value); + } //end constructor + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return void + */ + function freeze() + { + return false; + } //end func freeze + + // }}} + // {{{ accept() + + /** + * Accepts a renderer + * + * @param HTML_QuickForm_Renderer renderer object + * @access public + * @return void + */ + function accept(&$renderer) + { + $renderer->renderHidden($this); + } // end func accept + + // }}} + +} //end class HTML_QuickForm_hidden +?> diff --git a/libs/HTML/QuickForm/hiddenselect.php b/libs/HTML/QuickForm/hiddenselect.php index d3ed8dc954..8f411ed9d4 100755 --- a/libs/HTML/QuickForm/hiddenselect.php +++ b/libs/HTML/QuickForm/hiddenselect.php @@ -1,118 +1,118 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Class for elements - */ -require_once 'HTML/QuickForm/select.php'; - -/** - * Hidden select pseudo-element - * - * This class takes the same arguments as a select element, but instead - * of creating a select ring it creates hidden elements for all values - * already selected with setDefault or setConstant. This is useful if - * you have a select ring that you don't want visible, but you need all - * selected values to be passed. - * - * @category HTML - * @package HTML_QuickForm - * @author Isaac Shepard - * @version Release: 3.2.9 - * @since 2.1 - */ -class HTML_QuickForm_hiddenselect extends HTML_QuickForm_select -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string Select name attribute - * @param mixed Label(s) for the select (not used) - * @param mixed Data to be used to populate options - * @param mixed Either a typical HTML attribute string or an associative array (not used) - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_hiddenselect($elementName=null, $elementLabel=null, $options=null, $attributes=null) - { - HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->_type = 'hiddenselect'; - if (isset($options)) { - $this->load($options); - } - } //end constructor - - // }}} - // {{{ toHtml() - - /** - * Returns the SELECT in HTML - * - * @since 1.0 - * @access public - * @return string - * @throws - */ - function toHtml() - { - if (empty($this->_values)) { - return ''; - } - - $tabs = $this->_getTabs(); - $name = $this->getPrivateName(); - $strHtml = ''; - - foreach ($this->_values as $key => $val) { - for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { - if ($val == $this->_options[$i]['attr']['value']) { - $strHtml .= $tabs . '_getAttrString(array( - 'type' => 'hidden', - 'name' => $name, - 'value' => $val - )) . " />\n" ; - } - } - } - - return $strHtml; - } //end func toHtml - - // }}} - // {{{ accept() - - /** - * This is essentially a hidden element and should be rendered as one - */ - function accept(&$renderer) - { - $renderer->renderHidden($this); - } - - // }}} -} //end class HTML_QuickForm_hiddenselect -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Class for elements + */ +require_once 'HTML/QuickForm/select.php'; + +/** + * Hidden select pseudo-element + * + * This class takes the same arguments as a select element, but instead + * of creating a select ring it creates hidden elements for all values + * already selected with setDefault or setConstant. This is useful if + * you have a select ring that you don't want visible, but you need all + * selected values to be passed. + * + * @category HTML + * @package HTML_QuickForm + * @author Isaac Shepard + * @version Release: 3.2.9 + * @since 2.1 + */ +class HTML_QuickForm_hiddenselect extends HTML_QuickForm_select +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string Select name attribute + * @param mixed Label(s) for the select (not used) + * @param mixed Data to be used to populate options + * @param mixed Either a typical HTML attribute string or an associative array (not used) + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_hiddenselect($elementName=null, $elementLabel=null, $options=null, $attributes=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_type = 'hiddenselect'; + if (isset($options)) { + $this->load($options); + } + } //end constructor + + // }}} + // {{{ toHtml() + + /** + * Returns the SELECT in HTML + * + * @since 1.0 + * @access public + * @return string + * @throws + */ + function toHtml() + { + if (empty($this->_values)) { + return ''; + } + + $tabs = $this->_getTabs(); + $name = $this->getPrivateName(); + $strHtml = ''; + + foreach ($this->_values as $key => $val) { + for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { + if ($val == $this->_options[$i]['attr']['value']) { + $strHtml .= $tabs . '_getAttrString(array( + 'type' => 'hidden', + 'name' => $name, + 'value' => $val + )) . " />\n" ; + } + } + } + + return $strHtml; + } //end func toHtml + + // }}} + // {{{ accept() + + /** + * This is essentially a hidden element and should be rendered as one + */ + function accept(&$renderer) + { + $renderer->renderHidden($this); + } + + // }}} +} //end class HTML_QuickForm_hiddenselect +?> diff --git a/libs/HTML/QuickForm/hierselect.php b/libs/HTML/QuickForm/hierselect.php index 0879aa9a72..89a9500806 100755 --- a/libs/HTML/QuickForm/hierselect.php +++ b/libs/HTML/QuickForm/hierselect.php @@ -1,593 +1,593 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Class for a group of form elements - */ -require_once 'HTML/QuickForm/group.php'; -/** - * Class for elements - */ -require_once 'HTML/QuickForm/select.php'; - -/** - * Hierarchical select element - * - * Class to dynamically create two or more HTML Select elements - * The first select changes the content of the second select and so on. - * This element is considered as a group. Selects will be named - * groupName[0], groupName[1], groupName[2]... - * - * @category HTML - * @package HTML_QuickForm - * @author Herim Vasquez - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.1 - */ -class HTML_QuickForm_hierselect extends HTML_QuickForm_group -{ - // {{{ properties - - /** - * Options for all the select elements - * - * @see setOptions() - * @var array - * @access private - */ - var $_options = array(); - - /** - * Number of select elements on this group - * - * @var int - * @access private - */ - var $_nbElements = 0; - - /** - * The javascript used to set and change the options - * - * @var string - * @access private - */ - var $_js = ''; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $elementLabel (optional)Input field label in form - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array. Date format is passed along the attributes. - * @param mixed $separator (optional)Use a string for one separator, - * use an array to alternate the separators. - * @access public - * @return void - */ - function HTML_QuickForm_hierselect($elementName=null, $elementLabel=null, $attributes=null, $separator=null) - { - $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - if (isset($separator)) { - $this->_separator = $separator; - } - $this->_type = 'hierselect'; - $this->_appendName = true; - } //end constructor - - // }}} - // {{{ setOptions() - - /** - * Initialize the array structure containing the options for each select element. - * Call the functions that actually do the magic. - * - * Format is a bit more complex than for a simple select as we need to know - * which options are related to the ones in the previous select: - * - * Ex: - * - * // first select - * $select1[0] = 'Pop'; - * $select1[1] = 'Classical'; - * $select1[2] = 'Funeral doom'; - * - * // second select - * $select2[0][0] = 'Red Hot Chil Peppers'; - * $select2[0][1] = 'The Pixies'; - * $select2[1][0] = 'Wagner'; - * $select2[1][1] = 'Strauss'; - * $select2[2][0] = 'Pantheist'; - * $select2[2][1] = 'Skepticism'; - * - * // If only need two selects - * // - and using the deprecated functions - * $sel =& $form->addElement('hierselect', 'cds', 'Choose CD:'); - * $sel->setMainOptions($select1); - * $sel->setSecOptions($select2); - * - * // - and using the new setOptions function - * $sel =& $form->addElement('hierselect', 'cds', 'Choose CD:'); - * $sel->setOptions(array($select1, $select2)); - * - * // If you have a third select with prices for the cds - * $select3[0][0][0] = '15.00$'; - * $select3[0][0][1] = '17.00$'; - * // etc - * - * // You can now use - * $sel =& $form->addElement('hierselect', 'cds', 'Choose CD:'); - * $sel->setOptions(array($select1, $select2, $select3)); - * - * - * @param array $options Array of options defining each element - * @access public - * @return void - */ - function setOptions($options) - { - $this->_options = $options; - - if (empty($this->_elements)) { - $this->_nbElements = count($this->_options); - $this->_createElements(); - } else { - // setDefaults has probably been called before this function - // check if all elements have been created - $totalNbElements = count($this->_options); - for ($i = $this->_nbElements; $i < $totalNbElements; $i ++) { - $this->_elements[] = new HTML_QuickForm_select($i, null, array(), $this->getAttributes()); - $this->_nbElements++; - } - } - - $this->_setOptions(); - } // end func setMainOptions - - // }}} - // {{{ setMainOptions() - - /** - * Sets the options for the first select element. Deprecated. setOptions() should be used. - * - * @param array $array Options for the first select element - * - * @access public - * @deprecated Deprecated since release 3.2.2 - * @return void - */ - function setMainOptions($array) - { - $this->_options[0] = $array; - - if (empty($this->_elements)) { - $this->_nbElements = 2; - $this->_createElements(); - } - } // end func setMainOptions - - // }}} - // {{{ setSecOptions() - - /** - * Sets the options for the second select element. Deprecated. setOptions() should be used. - * The main _options array is initialized and the _setOptions function is called. - * - * @param array $array Options for the second select element - * - * @access public - * @deprecated Deprecated since release 3.2.2 - * @return void - */ - function setSecOptions($array) - { - $this->_options[1] = $array; - - if (empty($this->_elements)) { - $this->_nbElements = 2; - $this->_createElements(); - } else { - // setDefaults has probably been called before this function - // check if all elements have been created - $totalNbElements = 2; - for ($i = $this->_nbElements; $i < $totalNbElements; $i ++) { - $this->_elements[] = new HTML_QuickForm_select($i, null, array(), $this->getAttributes()); - $this->_nbElements++; - } - } - - $this->_setOptions(); - } // end func setSecOptions - - // }}} - // {{{ _setOptions() - - /** - * Sets the options for each select element - * - * @access private - * @return void - */ - function _setOptions() - { - $toLoad = ''; - foreach (array_keys($this->_elements) AS $key) { - $array = eval("return isset(\$this->_options[{$key}]{$toLoad})? \$this->_options[{$key}]{$toLoad}: null;"); - if (is_array($array)) { - $select =& $this->_elements[$key]; - $select->_options = array(); - $select->loadArray($array); - - $value = is_array($v = $select->getValue()) ? $v[0] : key($array); - $toLoad .= '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $value) . '\']'; - } - } - } // end func _setOptions - - // }}} - // {{{ setValue() - - /** - * Sets values for group's elements - * - * @param array $value An array of 2 or more values, for the first, - * the second, the third etc. select - * - * @access public - * @return void - */ - function setValue($value) - { - // fix for bug #6766. Hope this doesn't break anything more - // after bug #7961. Forgot that _nbElements was used in - // _createElements() called in several places... - $this->_nbElements = max($this->_nbElements, count($value)); - parent::setValue($value); - $this->_setOptions(); - } // end func setValue - - // }}} - // {{{ _createElements() - - /** - * Creates all the elements for the group - * - * @access private - * @return void - */ - function _createElements() - { - for ($i = 0; $i < $this->_nbElements; $i++) { - $this->_elements[] = new HTML_QuickForm_select($i, null, array(), $this->getAttributes()); - } - } // end func _createElements - - // }}} - // {{{ toHtml() - - function toHtml() - { - $this->_js = ''; - if (!$this->_flagFrozen) { - // set the onchange attribute for each element except last - $keys = array_keys($this->_elements); - $onChange = array(); - for ($i = 0; $i < count($keys) - 1; $i++) { - $select =& $this->_elements[$keys[$i]]; - $onChange[$i] = $select->getAttribute('onchange'); - $select->updateAttributes( - array('onchange' => '_hs_swapOptions(this.form, \'' . $this->_escapeString($this->getName()) . '\', ' . $keys[$i] . ');' . $onChange[$i]) - ); - } - - // create the js function to call - if (!defined('HTML_QUICKFORM_HIERSELECT_EXISTS')) { - $this->_js .= <<_nbElements; $i++) { - $jsParts[] = $this->_convertArrayToJavascript($this->_options[$i]); - } - $this->_js .= "\n_hs_options['" . $this->_escapeString($this->getName()) . "'] = [\n" . - implode(",\n", $jsParts) . - "\n];\n"; - // default value; if we don't actually have any values yet just use - // the first option (for single selects) or empty array (for multiple) - $values = array(); - foreach (array_keys($this->_elements) as $key) { - if (is_array($v = $this->_elements[$key]->getValue())) { - $values[] = count($v) > 1? $v: $v[0]; - } else { - // XXX: accessing the supposedly private _options array - $values[] = $this->_elements[$key]->getMultiple() || empty($this->_elements[$key]->_options[0])? - array(): - $this->_elements[$key]->_options[0]['attr']['value']; - } - } - $this->_js .= "_hs_defaults['" . $this->_escapeString($this->getName()) . "'] = " . - $this->_convertArrayToJavascript($values, false) . ";\n"; - } - include_once('HTML/QuickForm/Renderer/Default.php'); - $renderer = new HTML_QuickForm_Renderer_Default(); - $renderer->setElementTemplate('{element}'); - parent::accept($renderer); - - if (!empty($onChange)) { - $keys = array_keys($this->_elements); - for ($i = 0; $i < count($keys) - 1; $i++) { - $this->_elements[$keys[$i]]->updateAttributes(array('onchange' => $onChange[$i])); - } - } - return (empty($this->_js)? '': "") . - $renderer->toHtml(); - } // end func toHtml - - // }}} - // {{{ accept() - - function accept(&$renderer, $required = false, $error = null) - { - $renderer->renderElement($this, $required, $error); - } // end func accept - - // }}} - // {{{ onQuickFormEvent() - - function onQuickFormEvent($event, $arg, &$caller) - { - if ('updateValue' == $event) { - // we need to call setValue() so that the secondary option - // matches the main option - return HTML_QuickForm_element::onQuickFormEvent($event, $arg, $caller); - } else { - $ret = parent::onQuickFormEvent($event, $arg, $caller); - // add onreset handler to form to properly reset hierselect (see bug #2970) - if ('addElement' == $event) { - $onReset = $caller->getAttribute('onreset'); - if (strlen($onReset)) { - if (strpos($onReset, '_hs_setupOnReset')) { - $caller->updateAttributes(array('onreset' => str_replace('_hs_setupOnReset(this, [', "_hs_setupOnReset(this, ['" . $this->_escapeString($this->getName()) . "', ", $onReset))); - } else { - $caller->updateAttributes(array('onreset' => "var temp = function() { {$onReset} } ; if (!temp()) { return false; } ; if (typeof _hs_setupOnReset != 'undefined') { return _hs_setupOnReset(this, ['" . $this->_escapeString($this->getName()) . "']); } ")); - } - } else { - $caller->updateAttributes(array('onreset' => "if (typeof _hs_setupOnReset != 'undefined') { return _hs_setupOnReset(this, ['" . $this->_escapeString($this->getName()) . "']); } ")); - } - } - return $ret; - } - } // end func onQuickFormEvent - - // }}} - // {{{ _convertArrayToJavascript() - - /** - * Converts PHP array to its Javascript analog - * - * @access private - * @param array PHP array to convert - * @param bool Generate Javascript object literal (default, works like PHP's associative array) or array literal - * @return string Javascript representation of the value - */ - function _convertArrayToJavascript($array, $assoc = true) - { - if (!is_array($array)) { - return $this->_convertScalarToJavascript($array); - } else { - $items = array(); - foreach ($array as $key => $val) { - $item = $assoc? "'" . $this->_escapeString($key) . "': ": ''; - if (is_array($val)) { - $item .= $this->_convertArrayToJavascript($val, $assoc); - } else { - $item .= $this->_convertScalarToJavascript($val); - } - $items[] = $item; - } - } - $js = implode(', ', $items); - return $assoc? '{ ' . $js . ' }': '[' . $js . ']'; - } - - // }}} - // {{{ _convertScalarToJavascript() - - /** - * Converts PHP's scalar value to its Javascript analog - * - * @access private - * @param mixed PHP value to convert - * @return string Javascript representation of the value - */ - function _convertScalarToJavascript($val) - { - if (is_bool($val)) { - return $val ? 'true' : 'false'; - } elseif (is_int($val) || is_double($val)) { - return $val; - } elseif (is_string($val)) { - return "'" . $this->_escapeString($val) . "'"; - } elseif (is_null($val)) { - return 'null'; - } else { - // don't bother - return '{}'; - } - } - - // }}} - // {{{ _escapeString() - - /** - * Quotes the string so that it can be used in Javascript string constants - * - * @access private - * @param string - * @return string - */ - function _escapeString($str) - { - return strtr($str,array( - "\r" => '\r', - "\n" => '\n', - "\t" => '\t', - "'" => "\\'", - '"' => '\"', - '\\' => '\\\\' - )); - } - - // }}} -} // end class HTML_QuickForm_hierselect + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Class for a group of form elements + */ +require_once 'HTML/QuickForm/group.php'; +/** + * Class for elements + */ +require_once 'HTML/QuickForm/select.php'; + +/** + * Hierarchical select element + * + * Class to dynamically create two or more HTML Select elements + * The first select changes the content of the second select and so on. + * This element is considered as a group. Selects will be named + * groupName[0], groupName[1], groupName[2]... + * + * @category HTML + * @package HTML_QuickForm + * @author Herim Vasquez + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.1 + */ +class HTML_QuickForm_hierselect extends HTML_QuickForm_group +{ + // {{{ properties + + /** + * Options for all the select elements + * + * @see setOptions() + * @var array + * @access private + */ + var $_options = array(); + + /** + * Number of select elements on this group + * + * @var int + * @access private + */ + var $_nbElements = 0; + + /** + * The javascript used to set and change the options + * + * @var string + * @access private + */ + var $_js = ''; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $elementLabel (optional)Input field label in form + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array. Date format is passed along the attributes. + * @param mixed $separator (optional)Use a string for one separator, + * use an array to alternate the separators. + * @access public + * @return void + */ + function HTML_QuickForm_hierselect($elementName=null, $elementLabel=null, $attributes=null, $separator=null) + { + $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + if (isset($separator)) { + $this->_separator = $separator; + } + $this->_type = 'hierselect'; + $this->_appendName = true; + } //end constructor + + // }}} + // {{{ setOptions() + + /** + * Initialize the array structure containing the options for each select element. + * Call the functions that actually do the magic. + * + * Format is a bit more complex than for a simple select as we need to know + * which options are related to the ones in the previous select: + * + * Ex: + * + * // first select + * $select1[0] = 'Pop'; + * $select1[1] = 'Classical'; + * $select1[2] = 'Funeral doom'; + * + * // second select + * $select2[0][0] = 'Red Hot Chil Peppers'; + * $select2[0][1] = 'The Pixies'; + * $select2[1][0] = 'Wagner'; + * $select2[1][1] = 'Strauss'; + * $select2[2][0] = 'Pantheist'; + * $select2[2][1] = 'Skepticism'; + * + * // If only need two selects + * // - and using the deprecated functions + * $sel =& $form->addElement('hierselect', 'cds', 'Choose CD:'); + * $sel->setMainOptions($select1); + * $sel->setSecOptions($select2); + * + * // - and using the new setOptions function + * $sel =& $form->addElement('hierselect', 'cds', 'Choose CD:'); + * $sel->setOptions(array($select1, $select2)); + * + * // If you have a third select with prices for the cds + * $select3[0][0][0] = '15.00$'; + * $select3[0][0][1] = '17.00$'; + * // etc + * + * // You can now use + * $sel =& $form->addElement('hierselect', 'cds', 'Choose CD:'); + * $sel->setOptions(array($select1, $select2, $select3)); + * + * + * @param array $options Array of options defining each element + * @access public + * @return void + */ + function setOptions($options) + { + $this->_options = $options; + + if (empty($this->_elements)) { + $this->_nbElements = count($this->_options); + $this->_createElements(); + } else { + // setDefaults has probably been called before this function + // check if all elements have been created + $totalNbElements = count($this->_options); + for ($i = $this->_nbElements; $i < $totalNbElements; $i ++) { + $this->_elements[] = new HTML_QuickForm_select($i, null, array(), $this->getAttributes()); + $this->_nbElements++; + } + } + + $this->_setOptions(); + } // end func setMainOptions + + // }}} + // {{{ setMainOptions() + + /** + * Sets the options for the first select element. Deprecated. setOptions() should be used. + * + * @param array $array Options for the first select element + * + * @access public + * @deprecated Deprecated since release 3.2.2 + * @return void + */ + function setMainOptions($array) + { + $this->_options[0] = $array; + + if (empty($this->_elements)) { + $this->_nbElements = 2; + $this->_createElements(); + } + } // end func setMainOptions + + // }}} + // {{{ setSecOptions() + + /** + * Sets the options for the second select element. Deprecated. setOptions() should be used. + * The main _options array is initialized and the _setOptions function is called. + * + * @param array $array Options for the second select element + * + * @access public + * @deprecated Deprecated since release 3.2.2 + * @return void + */ + function setSecOptions($array) + { + $this->_options[1] = $array; + + if (empty($this->_elements)) { + $this->_nbElements = 2; + $this->_createElements(); + } else { + // setDefaults has probably been called before this function + // check if all elements have been created + $totalNbElements = 2; + for ($i = $this->_nbElements; $i < $totalNbElements; $i ++) { + $this->_elements[] = new HTML_QuickForm_select($i, null, array(), $this->getAttributes()); + $this->_nbElements++; + } + } + + $this->_setOptions(); + } // end func setSecOptions + + // }}} + // {{{ _setOptions() + + /** + * Sets the options for each select element + * + * @access private + * @return void + */ + function _setOptions() + { + $toLoad = ''; + foreach (array_keys($this->_elements) AS $key) { + $array = eval("return isset(\$this->_options[{$key}]{$toLoad})? \$this->_options[{$key}]{$toLoad}: null;"); + if (is_array($array)) { + $select =& $this->_elements[$key]; + $select->_options = array(); + $select->loadArray($array); + + $value = is_array($v = $select->getValue()) ? $v[0] : key($array); + $toLoad .= '[\'' . str_replace(array('\\', '\''), array('\\\\', '\\\''), $value) . '\']'; + } + } + } // end func _setOptions + + // }}} + // {{{ setValue() + + /** + * Sets values for group's elements + * + * @param array $value An array of 2 or more values, for the first, + * the second, the third etc. select + * + * @access public + * @return void + */ + function setValue($value) + { + // fix for bug #6766. Hope this doesn't break anything more + // after bug #7961. Forgot that _nbElements was used in + // _createElements() called in several places... + $this->_nbElements = max($this->_nbElements, count($value)); + parent::setValue($value); + $this->_setOptions(); + } // end func setValue + + // }}} + // {{{ _createElements() + + /** + * Creates all the elements for the group + * + * @access private + * @return void + */ + function _createElements() + { + for ($i = 0; $i < $this->_nbElements; $i++) { + $this->_elements[] = new HTML_QuickForm_select($i, null, array(), $this->getAttributes()); + } + } // end func _createElements + + // }}} + // {{{ toHtml() + + function toHtml() + { + $this->_js = ''; + if (!$this->_flagFrozen) { + // set the onchange attribute for each element except last + $keys = array_keys($this->_elements); + $onChange = array(); + for ($i = 0; $i < count($keys) - 1; $i++) { + $select =& $this->_elements[$keys[$i]]; + $onChange[$i] = $select->getAttribute('onchange'); + $select->updateAttributes( + array('onchange' => '_hs_swapOptions(this.form, \'' . $this->_escapeString($this->getName()) . '\', ' . $keys[$i] . ');' . $onChange[$i]) + ); + } + + // create the js function to call + if (!defined('HTML_QUICKFORM_HIERSELECT_EXISTS')) { + $this->_js .= <<_nbElements; $i++) { + $jsParts[] = $this->_convertArrayToJavascript($this->_options[$i]); + } + $this->_js .= "\n_hs_options['" . $this->_escapeString($this->getName()) . "'] = [\n" . + implode(",\n", $jsParts) . + "\n];\n"; + // default value; if we don't actually have any values yet just use + // the first option (for single selects) or empty array (for multiple) + $values = array(); + foreach (array_keys($this->_elements) as $key) { + if (is_array($v = $this->_elements[$key]->getValue())) { + $values[] = count($v) > 1? $v: $v[0]; + } else { + // XXX: accessing the supposedly private _options array + $values[] = $this->_elements[$key]->getMultiple() || empty($this->_elements[$key]->_options[0])? + array(): + $this->_elements[$key]->_options[0]['attr']['value']; + } + } + $this->_js .= "_hs_defaults['" . $this->_escapeString($this->getName()) . "'] = " . + $this->_convertArrayToJavascript($values, false) . ";\n"; + } + include_once('HTML/QuickForm/Renderer/Default.php'); + $renderer = new HTML_QuickForm_Renderer_Default(); + $renderer->setElementTemplate('{element}'); + parent::accept($renderer); + + if (!empty($onChange)) { + $keys = array_keys($this->_elements); + for ($i = 0; $i < count($keys) - 1; $i++) { + $this->_elements[$keys[$i]]->updateAttributes(array('onchange' => $onChange[$i])); + } + } + return (empty($this->_js)? '': "") . + $renderer->toHtml(); + } // end func toHtml + + // }}} + // {{{ accept() + + function accept(&$renderer, $required = false, $error = null) + { + $renderer->renderElement($this, $required, $error); + } // end func accept + + // }}} + // {{{ onQuickFormEvent() + + function onQuickFormEvent($event, $arg, &$caller) + { + if ('updateValue' == $event) { + // we need to call setValue() so that the secondary option + // matches the main option + return HTML_QuickForm_element::onQuickFormEvent($event, $arg, $caller); + } else { + $ret = parent::onQuickFormEvent($event, $arg, $caller); + // add onreset handler to form to properly reset hierselect (see bug #2970) + if ('addElement' == $event) { + $onReset = $caller->getAttribute('onreset'); + if (strlen($onReset)) { + if (strpos($onReset, '_hs_setupOnReset')) { + $caller->updateAttributes(array('onreset' => str_replace('_hs_setupOnReset(this, [', "_hs_setupOnReset(this, ['" . $this->_escapeString($this->getName()) . "', ", $onReset))); + } else { + $caller->updateAttributes(array('onreset' => "var temp = function() { {$onReset} } ; if (!temp()) { return false; } ; if (typeof _hs_setupOnReset != 'undefined') { return _hs_setupOnReset(this, ['" . $this->_escapeString($this->getName()) . "']); } ")); + } + } else { + $caller->updateAttributes(array('onreset' => "if (typeof _hs_setupOnReset != 'undefined') { return _hs_setupOnReset(this, ['" . $this->_escapeString($this->getName()) . "']); } ")); + } + } + return $ret; + } + } // end func onQuickFormEvent + + // }}} + // {{{ _convertArrayToJavascript() + + /** + * Converts PHP array to its Javascript analog + * + * @access private + * @param array PHP array to convert + * @param bool Generate Javascript object literal (default, works like PHP's associative array) or array literal + * @return string Javascript representation of the value + */ + function _convertArrayToJavascript($array, $assoc = true) + { + if (!is_array($array)) { + return $this->_convertScalarToJavascript($array); + } else { + $items = array(); + foreach ($array as $key => $val) { + $item = $assoc? "'" . $this->_escapeString($key) . "': ": ''; + if (is_array($val)) { + $item .= $this->_convertArrayToJavascript($val, $assoc); + } else { + $item .= $this->_convertScalarToJavascript($val); + } + $items[] = $item; + } + } + $js = implode(', ', $items); + return $assoc? '{ ' . $js . ' }': '[' . $js . ']'; + } + + // }}} + // {{{ _convertScalarToJavascript() + + /** + * Converts PHP's scalar value to its Javascript analog + * + * @access private + * @param mixed PHP value to convert + * @return string Javascript representation of the value + */ + function _convertScalarToJavascript($val) + { + if (is_bool($val)) { + return $val ? 'true' : 'false'; + } elseif (is_int($val) || is_double($val)) { + return $val; + } elseif (is_string($val)) { + return "'" . $this->_escapeString($val) . "'"; + } elseif (is_null($val)) { + return 'null'; + } else { + // don't bother + return '{}'; + } + } + + // }}} + // {{{ _escapeString() + + /** + * Quotes the string so that it can be used in Javascript string constants + * + * @access private + * @param string + * @return string + */ + function _escapeString($str) + { + return strtr($str,array( + "\r" => '\r', + "\n" => '\n', + "\t" => '\t', + "'" => "\\'", + '"' => '\"', + '\\' => '\\\\' + )); + } + + // }}} +} // end class HTML_QuickForm_hierselect ?> \ No newline at end of file diff --git a/libs/HTML/QuickForm/html.php b/libs/HTML/QuickForm/html.php index 32894d1682..359c4bfbb5 100755 --- a/libs/HTML/QuickForm/html.php +++ b/libs/HTML/QuickForm/html.php @@ -1,77 +1,77 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * HTML class for static data - */ -require_once 'HTML/QuickForm/static.php'; - -/** - * A pseudo-element used for adding raw HTML to form - * - * Intended for use with the default renderer only, template-based - * ones may (and probably will) completely ignore this - * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 3.0 - * @deprecated Please use the templates rather than add raw HTML via this element - */ -class HTML_QuickForm_html extends HTML_QuickForm_static -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $text raw HTML to add - * @access public - * @return void - */ - function HTML_QuickForm_html($text = null) - { - $this->HTML_QuickForm_static(null, null, $text); - $this->_type = 'html'; - } - - // }}} - // {{{ accept() - - /** - * Accepts a renderer - * - * @param HTML_QuickForm_Renderer renderer object (only works with Default renderer!) - * @access public - * @return void - */ - function accept(&$renderer) - { - $renderer->renderHtml($this); - } // end func accept - - // }}} - -} //end class HTML_QuickForm_html -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * HTML class for static data + */ +require_once 'HTML/QuickForm/static.php'; + +/** + * A pseudo-element used for adding raw HTML to form + * + * Intended for use with the default renderer only, template-based + * ones may (and probably will) completely ignore this + * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 3.0 + * @deprecated Please use the templates rather than add raw HTML via this element + */ +class HTML_QuickForm_html extends HTML_QuickForm_static +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $text raw HTML to add + * @access public + * @return void + */ + function HTML_QuickForm_html($text = null) + { + $this->HTML_QuickForm_static(null, null, $text); + $this->_type = 'html'; + } + + // }}} + // {{{ accept() + + /** + * Accepts a renderer + * + * @param HTML_QuickForm_Renderer renderer object (only works with Default renderer!) + * @access public + * @return void + */ + function accept(&$renderer) + { + $renderer->renderHtml($this); + } // end func accept + + // }}} + +} //end class HTML_QuickForm_html +?> diff --git a/libs/HTML/QuickForm/image.php b/libs/HTML/QuickForm/image.php index 513f3beacd..5ee9547fdb 100755 --- a/libs/HTML/QuickForm/image.php +++ b/libs/HTML/QuickForm/image.php @@ -1,127 +1,127 @@ - element - * - * PHP versions 4 and 5 - * - * LICENSE: This source file is subject to version 3.01 of the PHP license - * that is available through the world-wide-web at the following URI: - * http://www.php.net/license/3_01.txt If you did not receive a copy of - * the PHP License and are unable to obtain it through the web, please - * send a note to license@php.net so we can mail you a copy immediately. - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for an element - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_image extends HTML_QuickForm_input -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Element name attribute - * @param string $src (optional)Image source - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_image($elementName=null, $src='', $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); - $this->setType('image'); - $this->setSource($src); - } // end class constructor - - // }}} - // {{{ setSource() - - /** - * Sets source for image element - * - * @param string $src source for image element - * @since 1.0 - * @access public - * @return void - */ - function setSource($src) - { - $this->updateAttributes(array('src' => $src)); - } // end func setSource - - // }}} - // {{{ setBorder() - - /** - * Sets border size for image element - * - * @param string $border border for image element - * @since 1.0 - * @access public - * @return void - */ - function setBorder($border) - { - $this->updateAttributes(array('border' => $border)); - } // end func setBorder - - // }}} - // {{{ setAlign() - - /** - * Sets alignment for image element - * - * @param string $align alignment for image element - * @since 1.0 - * @access public - * @return void - */ - function setAlign($align) - { - $this->updateAttributes(array('align' => $align)); - } // end func setAlign - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return void - */ - function freeze() - { - return false; - } //end func freeze - - // }}} - -} // end class HTML_QuickForm_image -?> + element + * + * PHP versions 4 and 5 + * + * LICENSE: This source file is subject to version 3.01 of the PHP license + * that is available through the world-wide-web at the following URI: + * http://www.php.net/license/3_01.txt If you did not receive a copy of + * the PHP License and are unable to obtain it through the web, please + * send a note to license@php.net so we can mail you a copy immediately. + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for an element + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_image extends HTML_QuickForm_input +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Element name attribute + * @param string $src (optional)Image source + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_image($elementName=null, $src='', $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); + $this->setType('image'); + $this->setSource($src); + } // end class constructor + + // }}} + // {{{ setSource() + + /** + * Sets source for image element + * + * @param string $src source for image element + * @since 1.0 + * @access public + * @return void + */ + function setSource($src) + { + $this->updateAttributes(array('src' => $src)); + } // end func setSource + + // }}} + // {{{ setBorder() + + /** + * Sets border size for image element + * + * @param string $border border for image element + * @since 1.0 + * @access public + * @return void + */ + function setBorder($border) + { + $this->updateAttributes(array('border' => $border)); + } // end func setBorder + + // }}} + // {{{ setAlign() + + /** + * Sets alignment for image element + * + * @param string $align alignment for image element + * @since 1.0 + * @access public + * @return void + */ + function setAlign($align) + { + $this->updateAttributes(array('align' => $align)); + } // end func setAlign + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return void + */ + function freeze() + { + return false; + } //end func freeze + + // }}} + +} // end class HTML_QuickForm_image +?> diff --git a/libs/HTML/QuickForm/input.php b/libs/HTML/QuickForm/input.php index 8166864a87..d4b7f1fdab 100755 --- a/libs/HTML/QuickForm/input.php +++ b/libs/HTML/QuickForm/input.php @@ -1,209 +1,209 @@ - form elements - * - * PHP versions 4 and 5 - * - * LICENSE: This source file is subject to version 3.01 of the PHP license - * that is available through the world-wide-web at the following URI: - * http://www.php.net/license/3_01.txt If you did not receive a copy of - * the PHP License and are unable to obtain it through the web, please - * send a note to license@php.net so we can mail you a copy immediately. - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/element.php'; - -/** - * Base class for form elements - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - * @abstract - */ -class HTML_QuickForm_input extends HTML_QuickForm_element -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string Input field name attribute - * @param mixed Label(s) for the input field - * @param mixed Either a typical HTML attribute string or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_input($elementName=null, $elementLabel=null, $attributes=null) - { - $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); - } //end constructor - - // }}} - // {{{ setType() - - /** - * Sets the element type - * - * @param string $type Element type - * @since 1.0 - * @access public - * @return void - */ - function setType($type) - { - $this->_type = $type; - $this->updateAttributes(array('type'=>$type)); - } // end func setType - - // }}} - // {{{ setName() - - /** - * Sets the input field name - * - * @param string $name Input field name attribute - * @since 1.0 - * @access public - * @return void - */ - function setName($name) - { - $this->updateAttributes(array('name'=>$name)); - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the element name - * - * @since 1.0 - * @access public - * @return string - */ - function getName() - { - return $this->getAttribute('name'); - } //end func getName - - // }}} - // {{{ setValue() - - /** - * Sets the value of the form element - * - * @param string $value Default value of the form element - * @since 1.0 - * @access public - * @return void - */ - function setValue($value) - { - $this->updateAttributes(array('value'=>$value)); - } // end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns the value of the form element - * - * @since 1.0 - * @access public - * @return string - */ - function getValue() - { - return $this->getAttribute('value'); - } // end func getValue - - // }}} - // {{{ toHtml() - - /** - * Returns the input field in HTML - * - * @since 1.0 - * @access public - * @return string - */ - function toHtml() - { - if ($this->_flagFrozen) { - return $this->getFrozenHtml(); - } else { - return $this->_getTabs() . '_getAttrString($this->_attributes) . ' />'; - } - } //end func toHtml - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - * @throws - */ - function onQuickFormEvent($event, $arg, &$caller) - { - // do not use submit values for button-type elements - $type = $this->getType(); - if (('updateValue' != $event) || - ('submit' != $type && 'reset' != $type && 'image' != $type && 'button' != $type)) { - parent::onQuickFormEvent($event, $arg, $caller); - } else { - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_defaultValues); - } - if (null !== $value) { - $this->setValue($value); - } - } - return true; - } // end func onQuickFormEvent - - // }}} - // {{{ exportValue() - - /** - * We don't need values from button-type elements (except submit) and files - */ - function exportValue(&$submitValues, $assoc = false) - { - $type = $this->getType(); - if ('reset' == $type || 'image' == $type || 'button' == $type || 'file' == $type) { - return null; - } else { - return parent::exportValue($submitValues, $assoc); - } - } - - // }}} -} // end class HTML_QuickForm_element -?> + form elements + * + * PHP versions 4 and 5 + * + * LICENSE: This source file is subject to version 3.01 of the PHP license + * that is available through the world-wide-web at the following URI: + * http://www.php.net/license/3_01.txt If you did not receive a copy of + * the PHP License and are unable to obtain it through the web, please + * send a note to license@php.net so we can mail you a copy immediately. + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/element.php'; + +/** + * Base class for form elements + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + * @abstract + */ +class HTML_QuickForm_input extends HTML_QuickForm_element +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string Input field name attribute + * @param mixed Label(s) for the input field + * @param mixed Either a typical HTML attribute string or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_input($elementName=null, $elementLabel=null, $attributes=null) + { + $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); + } //end constructor + + // }}} + // {{{ setType() + + /** + * Sets the element type + * + * @param string $type Element type + * @since 1.0 + * @access public + * @return void + */ + function setType($type) + { + $this->_type = $type; + $this->updateAttributes(array('type'=>$type)); + } // end func setType + + // }}} + // {{{ setName() + + /** + * Sets the input field name + * + * @param string $name Input field name attribute + * @since 1.0 + * @access public + * @return void + */ + function setName($name) + { + $this->updateAttributes(array('name'=>$name)); + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the element name + * + * @since 1.0 + * @access public + * @return string + */ + function getName() + { + return $this->getAttribute('name'); + } //end func getName + + // }}} + // {{{ setValue() + + /** + * Sets the value of the form element + * + * @param string $value Default value of the form element + * @since 1.0 + * @access public + * @return void + */ + function setValue($value) + { + $this->updateAttributes(array('value'=>$value)); + } // end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns the value of the form element + * + * @since 1.0 + * @access public + * @return string + */ + function getValue() + { + return $this->getAttribute('value'); + } // end func getValue + + // }}} + // {{{ toHtml() + + /** + * Returns the input field in HTML + * + * @since 1.0 + * @access public + * @return string + */ + function toHtml() + { + if ($this->_flagFrozen) { + return $this->getFrozenHtml(); + } else { + return $this->_getTabs() . '_getAttrString($this->_attributes) . ' />'; + } + } //end func toHtml + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + * @throws + */ + function onQuickFormEvent($event, $arg, &$caller) + { + // do not use submit values for button-type elements + $type = $this->getType(); + if (('updateValue' != $event) || + ('submit' != $type && 'reset' != $type && 'image' != $type && 'button' != $type)) { + parent::onQuickFormEvent($event, $arg, $caller); + } else { + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_defaultValues); + } + if (null !== $value) { + $this->setValue($value); + } + } + return true; + } // end func onQuickFormEvent + + // }}} + // {{{ exportValue() + + /** + * We don't need values from button-type elements (except submit) and files + */ + function exportValue(&$submitValues, $assoc = false) + { + $type = $this->getType(); + if ('reset' == $type || 'image' == $type || 'button' == $type || 'file' == $type) { + return null; + } else { + return parent::exportValue($submitValues, $assoc); + } + } + + // }}} +} // end class HTML_QuickForm_element +?> diff --git a/libs/HTML/QuickForm/link.php b/libs/HTML/QuickForm/link.php index 17e0276d74..db88be2229 100755 --- a/libs/HTML/QuickForm/link.php +++ b/libs/HTML/QuickForm/link.php @@ -1,200 +1,200 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * HTML class for static data - */ -require_once 'HTML/QuickForm/static.php'; - -/** - * HTML class for a link type field - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 2.0 - */ -class HTML_QuickForm_link extends HTML_QuickForm_static -{ - // {{{ properties - - /** - * Link display text - * @var string - * @since 1.0 - * @access private - */ - var $_text = ""; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementLabel (optional)Link label - * @param string $href (optional)Link href - * @param string $text (optional)Link display text - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - * @throws - */ - function HTML_QuickForm_link($elementName=null, $elementLabel=null, $href=null, $text=null, $attributes=null) - { - HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = false; - $this->_type = 'link'; - $this->setHref($href); - $this->_text = $text; - } //end constructor - - // }}} - // {{{ setName() - - /** - * Sets the input field name - * - * @param string $name Input field name attribute - * @since 1.0 - * @access public - * @return void - * @throws - */ - function setName($name) - { - $this->updateAttributes(array('name'=>$name)); - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the element name - * - * @since 1.0 - * @access public - * @return string - * @throws - */ - function getName() - { - return $this->getAttribute('name'); - } //end func getName - - // }}} - // {{{ setValue() - - /** - * Sets value for textarea element - * - * @param string $value Value for password element - * @since 1.0 - * @access public - * @return void - * @throws - */ - function setValue($value) - { - return; - } //end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns the value of the form element - * - * @since 1.0 - * @access public - * @return void - * @throws - */ - function getValue() - { - return; - } // end func getValue - - - // }}} - // {{{ setHref() - - /** - * Sets the links href - * - * @param string $href - * @since 1.0 - * @access public - * @return void - * @throws - */ - function setHref($href) - { - $this->updateAttributes(array('href'=>$href)); - } // end func setHref - - // }}} - // {{{ toHtml() - - /** - * Returns the textarea element in HTML - * - * @since 1.0 - * @access public - * @return string - * @throws - */ - function toHtml() - { - $tabs = $this->_getTabs(); - $html = "$tabs_getAttrString($this->_attributes).">"; - $html .= $this->_text; - $html .= ""; - return $html; - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags (in this case, value is changed to a mask) - * - * @since 1.0 - * @access public - * @return string - * @throws - */ - function getFrozenHtml() - { - return; - } //end func getFrozenHtml - - // }}} - -} //end class HTML_QuickForm_textarea -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * HTML class for static data + */ +require_once 'HTML/QuickForm/static.php'; + +/** + * HTML class for a link type field + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 2.0 + */ +class HTML_QuickForm_link extends HTML_QuickForm_static +{ + // {{{ properties + + /** + * Link display text + * @var string + * @since 1.0 + * @access private + */ + var $_text = ""; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementLabel (optional)Link label + * @param string $href (optional)Link href + * @param string $text (optional)Link display text + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + * @throws + */ + function HTML_QuickForm_link($elementName=null, $elementLabel=null, $href=null, $text=null, $attributes=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = false; + $this->_type = 'link'; + $this->setHref($href); + $this->_text = $text; + } //end constructor + + // }}} + // {{{ setName() + + /** + * Sets the input field name + * + * @param string $name Input field name attribute + * @since 1.0 + * @access public + * @return void + * @throws + */ + function setName($name) + { + $this->updateAttributes(array('name'=>$name)); + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the element name + * + * @since 1.0 + * @access public + * @return string + * @throws + */ + function getName() + { + return $this->getAttribute('name'); + } //end func getName + + // }}} + // {{{ setValue() + + /** + * Sets value for textarea element + * + * @param string $value Value for password element + * @since 1.0 + * @access public + * @return void + * @throws + */ + function setValue($value) + { + return; + } //end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns the value of the form element + * + * @since 1.0 + * @access public + * @return void + * @throws + */ + function getValue() + { + return; + } // end func getValue + + + // }}} + // {{{ setHref() + + /** + * Sets the links href + * + * @param string $href + * @since 1.0 + * @access public + * @return void + * @throws + */ + function setHref($href) + { + $this->updateAttributes(array('href'=>$href)); + } // end func setHref + + // }}} + // {{{ toHtml() + + /** + * Returns the textarea element in HTML + * + * @since 1.0 + * @access public + * @return string + * @throws + */ + function toHtml() + { + $tabs = $this->_getTabs(); + $html = "$tabs_getAttrString($this->_attributes).">"; + $html .= $this->_text; + $html .= ""; + return $html; + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags (in this case, value is changed to a mask) + * + * @since 1.0 + * @access public + * @return string + * @throws + */ + function getFrozenHtml() + { + return; + } //end func getFrozenHtml + + // }}} + +} //end class HTML_QuickForm_textarea +?> diff --git a/libs/HTML/QuickForm/password.php b/libs/HTML/QuickForm/password.php index 2f606b358c..1ce247926a 100755 --- a/libs/HTML/QuickForm/password.php +++ b/libs/HTML/QuickForm/password.php @@ -1,115 +1,115 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a password type field - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_password extends HTML_QuickForm_input -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $elementLabel (optional)Input field label - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - * @throws - */ - function HTML_QuickForm_password($elementName=null, $elementLabel=null, $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); - $this->setType('password'); - } //end constructor - - // }}} - // {{{ setSize() - - /** - * Sets size of password element - * - * @param string $size Size of password field - * @since 1.0 - * @access public - * @return void - */ - function setSize($size) - { - $this->updateAttributes(array('size'=>$size)); - } //end func setSize - - // }}} - // {{{ setMaxlength() - - /** - * Sets maxlength of password element - * - * @param string $maxlength Maximum length of password field - * @since 1.0 - * @access public - * @return void - */ - function setMaxlength($maxlength) - { - $this->updateAttributes(array('maxlength'=>$maxlength)); - } //end func setMaxlength - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags (in this case, value is changed to a mask) - * - * @since 1.0 - * @access public - * @return string - * @throws - */ - function getFrozenHtml() - { - $value = $this->getValue(); - return ('' != $value? '**********': ' ') . - $this->_getPersistantData(); - } //end func getFrozenHtml - - // }}} - -} //end class HTML_QuickForm_password -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a password type field + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_password extends HTML_QuickForm_input +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $elementLabel (optional)Input field label + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + * @throws + */ + function HTML_QuickForm_password($elementName=null, $elementLabel=null, $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); + $this->setType('password'); + } //end constructor + + // }}} + // {{{ setSize() + + /** + * Sets size of password element + * + * @param string $size Size of password field + * @since 1.0 + * @access public + * @return void + */ + function setSize($size) + { + $this->updateAttributes(array('size'=>$size)); + } //end func setSize + + // }}} + // {{{ setMaxlength() + + /** + * Sets maxlength of password element + * + * @param string $maxlength Maximum length of password field + * @since 1.0 + * @access public + * @return void + */ + function setMaxlength($maxlength) + { + $this->updateAttributes(array('maxlength'=>$maxlength)); + } //end func setMaxlength + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags (in this case, value is changed to a mask) + * + * @since 1.0 + * @access public + * @return string + * @throws + */ + function getFrozenHtml() + { + $value = $this->getValue(); + return ('' != $value? '**********': ' ') . + $this->_getPersistantData(); + } //end func getFrozenHtml + + // }}} + +} //end class HTML_QuickForm_password +?> diff --git a/libs/HTML/QuickForm/radio.php b/libs/HTML/QuickForm/radio.php index 702a255af8..969ba88c51 100755 --- a/libs/HTML/QuickForm/radio.php +++ b/libs/HTML/QuickForm/radio.php @@ -1,251 +1,251 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a radio type element - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_radio extends HTML_QuickForm_input -{ - // {{{ properties - - /** - * Radio display text - * @var string - * @since 1.1 - * @access private - */ - var $_text = ''; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string Input field name attribute - * @param mixed Label(s) for a field - * @param string Text to display near the radio - * @param string Input field value - * @param mixed Either a typical HTML attribute string or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_radio($elementName=null, $elementLabel=null, $text=null, $value=null, $attributes=null) - { - $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); - if (isset($value)) { - $this->setValue($value); - } - $this->_persistantFreeze = true; - $this->setType('radio'); - $this->_text = $text; - $this->_generateId(); - } //end constructor - - // }}} - // {{{ setChecked() - - /** - * Sets whether radio button is checked - * - * @param bool $checked Whether the field is checked or not - * @since 1.0 - * @access public - * @return void - */ - function setChecked($checked) - { - if (!$checked) { - $this->removeAttribute('checked'); - } else { - $this->updateAttributes(array('checked'=>'checked')); - } - } //end func setChecked - - // }}} - // {{{ getChecked() - - /** - * Returns whether radio button is checked - * - * @since 1.0 - * @access public - * @return string - */ - function getChecked() - { - return $this->getAttribute('checked'); - } //end func getChecked - - // }}} - // {{{ toHtml() - - /** - * Returns the radio element in HTML - * - * @since 1.0 - * @access public - * @return string - */ - function toHtml() - { - if (0 == strlen($this->_text)) { - $label = ''; - } elseif ($this->_flagFrozen) { - $label = $this->_text; - } else { - $label = ''; - } - return HTML_QuickForm_input::toHtml() . $label; - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags - * - * @since 1.0 - * @access public - * @return string - */ - function getFrozenHtml() - { - if ($this->getChecked()) { - return '(x)' . - $this->_getPersistantData(); - } else { - return '( )'; - } - } //end func getFrozenHtml - - // }}} - // {{{ setText() - - /** - * Sets the radio text - * - * @param string $text Text to display near the radio button - * @since 1.1 - * @access public - * @return void - */ - function setText($text) - { - $this->_text = $text; - } //end func setText - - // }}} - // {{{ getText() - - /** - * Returns the radio text - * - * @since 1.1 - * @access public - * @return string - */ - function getText() - { - return $this->_text; - } //end func getText - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'updateValue': - // constant values override both default and submitted ones - // default values are overriden by submitted - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_submitValues); - if (null === $value) { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (!is_null($value) && $value == $this->getValue()) { - $this->setChecked(true); - } else { - $this->setChecked(false); - } - break; - case 'setGroupValue': - if ($arg == $this->getValue()) { - $this->setChecked(true); - } else { - $this->setChecked(false); - } - break; - default: - parent::onQuickFormEvent($event, $arg, $caller); - } - return true; - } // end func onQuickFormLoad - - // }}} - // {{{ exportValue() - - /** - * Returns the value attribute if the radio is checked, null if it is not - */ - function exportValue(&$submitValues, $assoc = false) - { - $value = $this->_findValue($submitValues); - if (null === $value) { - $value = $this->getChecked()? $this->getValue(): null; - } elseif ($value != $this->getValue()) { - $value = null; - } - return $this->_prepareValue($value, $assoc); - } - - // }}} -} //end class HTML_QuickForm_radio -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a radio type element + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_radio extends HTML_QuickForm_input +{ + // {{{ properties + + /** + * Radio display text + * @var string + * @since 1.1 + * @access private + */ + var $_text = ''; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string Input field name attribute + * @param mixed Label(s) for a field + * @param string Text to display near the radio + * @param string Input field value + * @param mixed Either a typical HTML attribute string or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_radio($elementName=null, $elementLabel=null, $text=null, $value=null, $attributes=null) + { + $this->HTML_QuickForm_element($elementName, $elementLabel, $attributes); + if (isset($value)) { + $this->setValue($value); + } + $this->_persistantFreeze = true; + $this->setType('radio'); + $this->_text = $text; + $this->_generateId(); + } //end constructor + + // }}} + // {{{ setChecked() + + /** + * Sets whether radio button is checked + * + * @param bool $checked Whether the field is checked or not + * @since 1.0 + * @access public + * @return void + */ + function setChecked($checked) + { + if (!$checked) { + $this->removeAttribute('checked'); + } else { + $this->updateAttributes(array('checked'=>'checked')); + } + } //end func setChecked + + // }}} + // {{{ getChecked() + + /** + * Returns whether radio button is checked + * + * @since 1.0 + * @access public + * @return string + */ + function getChecked() + { + return $this->getAttribute('checked'); + } //end func getChecked + + // }}} + // {{{ toHtml() + + /** + * Returns the radio element in HTML + * + * @since 1.0 + * @access public + * @return string + */ + function toHtml() + { + if (0 == strlen($this->_text)) { + $label = ''; + } elseif ($this->_flagFrozen) { + $label = $this->_text; + } else { + $label = ''; + } + return HTML_QuickForm_input::toHtml() . $label; + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags + * + * @since 1.0 + * @access public + * @return string + */ + function getFrozenHtml() + { + if ($this->getChecked()) { + return '(x)' . + $this->_getPersistantData(); + } else { + return '( )'; + } + } //end func getFrozenHtml + + // }}} + // {{{ setText() + + /** + * Sets the radio text + * + * @param string $text Text to display near the radio button + * @since 1.1 + * @access public + * @return void + */ + function setText($text) + { + $this->_text = $text; + } //end func setText + + // }}} + // {{{ getText() + + /** + * Returns the radio text + * + * @since 1.1 + * @access public + * @return string + */ + function getText() + { + return $this->_text; + } //end func getText + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'updateValue': + // constant values override both default and submitted ones + // default values are overriden by submitted + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_submitValues); + if (null === $value) { + $value = $this->_findValue($caller->_defaultValues); + } + } + if (!is_null($value) && $value == $this->getValue()) { + $this->setChecked(true); + } else { + $this->setChecked(false); + } + break; + case 'setGroupValue': + if ($arg == $this->getValue()) { + $this->setChecked(true); + } else { + $this->setChecked(false); + } + break; + default: + parent::onQuickFormEvent($event, $arg, $caller); + } + return true; + } // end func onQuickFormLoad + + // }}} + // {{{ exportValue() + + /** + * Returns the value attribute if the radio is checked, null if it is not + */ + function exportValue(&$submitValues, $assoc = false) + { + $value = $this->_findValue($submitValues); + if (null === $value) { + $value = $this->getChecked()? $this->getValue(): null; + } elseif ($value != $this->getValue()) { + $value = null; + } + return $this->_prepareValue($value, $assoc); + } + + // }}} +} //end class HTML_QuickForm_radio +?> diff --git a/libs/HTML/QuickForm/reset.php b/libs/HTML/QuickForm/reset.php index 7146fd858b..1f61b14afe 100755 --- a/libs/HTML/QuickForm/reset.php +++ b/libs/HTML/QuickForm/reset.php @@ -1,79 +1,79 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a reset type element - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_reset extends HTML_QuickForm_input -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $value (optional)Input field value - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_reset($elementName=null, $value=null, $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); - $this->setValue($value); - $this->setType('reset'); - } //end constructor - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return void - */ - function freeze() - { - return false; - } //end func freeze - - // }}} - -} //end class HTML_QuickForm_reset -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a reset type element + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_reset extends HTML_QuickForm_input +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $value (optional)Input field value + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_reset($elementName=null, $value=null, $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); + $this->setValue($value); + $this->setType('reset'); + } //end constructor + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return void + */ + function freeze() + { + return false; + } //end func freeze + + // }}} + +} //end class HTML_QuickForm_reset +?> diff --git a/libs/HTML/QuickForm/select.php b/libs/HTML/QuickForm/select.php index ed97672a21..1178a042d9 100755 --- a/libs/HTML/QuickForm/select.php +++ b/libs/HTML/QuickForm/select.php @@ -1,614 +1,614 @@ - - * @author Bertrand Mansion - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/element.php'; - -/** - * Class to dynamically create an HTML SELECT - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @author Alexey Borzov - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_select extends HTML_QuickForm_element { - - // {{{ properties - - /** - * Contains the select options - * - * @var array - * @since 1.0 - * @access private - */ - var $_options = array(); - - /** - * Default values of the SELECT - * - * @var string - * @since 1.0 - * @access private - */ - var $_values = null; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string Select name attribute - * @param mixed Label(s) for the select - * @param mixed Data to be used to populate options - * @param mixed Either a typical HTML attribute string or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_select($elementName=null, $elementLabel=null, $options=null, $attributes=null) - { - HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->_type = 'select'; - if (isset($options)) { - $this->load($options); - } - } //end constructor - - // }}} - // {{{ apiVersion() - - /** - * Returns the current API version - * - * @since 1.0 - * @access public - * @return double - */ - function apiVersion() - { - return 2.3; - } //end func apiVersion - - // }}} - // {{{ setSelected() - - /** - * Sets the default values of the select box - * - * @param mixed $values Array or comma delimited string of selected values - * @since 1.0 - * @access public - * @return void - */ - function setSelected($values) - { - if (is_string($values) && $this->getMultiple()) { - $values = split("[ ]?,[ ]?", $values); - } - if (is_array($values)) { - $this->_values = array_values($values); - } else { - $this->_values = array($values); - } - } //end func setSelected - - // }}} - // {{{ getSelected() - - /** - * Returns an array of the selected values - * - * @since 1.0 - * @access public - * @return array of selected values - */ - function getSelected() - { - return $this->_values; - } // end func getSelected - - // }}} - // {{{ setName() - - /** - * Sets the input field name - * - * @param string $name Input field name attribute - * @since 1.0 - * @access public - * @return void - */ - function setName($name) - { - $this->updateAttributes(array('name' => $name)); - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the element name - * - * @since 1.0 - * @access public - * @return string - */ - function getName() - { - return $this->getAttribute('name'); - } //end func getName - - // }}} - // {{{ getPrivateName() - - /** - * Returns the element name (possibly with brackets appended) - * - * @since 1.0 - * @access public - * @return string - */ - function getPrivateName() - { - if ($this->getAttribute('multiple')) { - return $this->getName() . '[]'; - } else { - return $this->getName(); - } - } //end func getPrivateName - - // }}} - // {{{ setValue() - - /** - * Sets the value of the form element - * - * @param mixed $values Array or comma delimited string of selected values - * @since 1.0 - * @access public - * @return void - */ - function setValue($value) - { - $this->setSelected($value); - } // end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns an array of the selected values - * - * @since 1.0 - * @access public - * @return array of selected values - */ - function getValue() - { - return $this->_values; - } // end func getValue - - // }}} - // {{{ setSize() - - /** - * Sets the select field size, only applies to 'multiple' selects - * - * @param int $size Size of select field - * @since 1.0 - * @access public - * @return void - */ - function setSize($size) - { - $this->updateAttributes(array('size' => $size)); - } //end func setSize - - // }}} - // {{{ getSize() - - /** - * Returns the select field size - * - * @since 1.0 - * @access public - * @return int - */ - function getSize() - { - return $this->getAttribute('size'); - } //end func getSize - - // }}} - // {{{ setMultiple() - - /** - * Sets the select mutiple attribute - * - * @param bool $multiple Whether the select supports multi-selections - * @since 1.2 - * @access public - * @return void - */ - function setMultiple($multiple) - { - if ($multiple) { - $this->updateAttributes(array('multiple' => 'multiple')); - } else { - $this->removeAttribute('multiple'); - } - } //end func setMultiple - - // }}} - // {{{ getMultiple() - - /** - * Returns the select mutiple attribute - * - * @since 1.2 - * @access public - * @return bool true if multiple select, false otherwise - */ - function getMultiple() - { - return (bool)$this->getAttribute('multiple'); - } //end func getMultiple - - // }}} - // {{{ addOption() - - /** - * Adds a new OPTION to the SELECT - * - * @param string $text Display text for the OPTION - * @param string $value Value for the OPTION - * @param mixed $attributes Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function addOption($text, $value, $attributes=null) - { - if (null === $attributes) { - $attributes = array('value' => (string)$value); - } else { - $attributes = $this->_parseAttributes($attributes); - if (isset($attributes['selected'])) { - // the 'selected' attribute will be set in toHtml() - $this->_removeAttr('selected', $attributes); - if (is_null($this->_values)) { - $this->_values = array($value); - } elseif (!in_array($value, $this->_values)) { - $this->_values[] = $value; - } - } - $this->_updateAttrArray($attributes, array('value' => (string)$value)); - } - $this->_options[] = array('text' => $text, 'attr' => $attributes); - } // end func addOption - - // }}} - // {{{ loadArray() - - /** - * Loads the options from an associative array - * - * @param array $arr Associative array of options - * @param mixed $values (optional) Array or comma delimited string of selected values - * @since 1.0 - * @access public - * @return PEAR_Error on error or true - * @throws PEAR_Error - */ - function loadArray($arr, $values=null) - { - if (!is_array($arr)) { - return PEAR::raiseError('Argument 1 of HTML_Select::loadArray is not a valid array'); - } - if (isset($values)) { - $this->setSelected($values); - } - foreach ($arr as $key => $val) { - // Warning: new API since release 2.3 - $this->addOption($val, $key); - } - return true; - } // end func loadArray - - // }}} - // {{{ loadDbResult() - - /** - * Loads the options from DB_result object - * - * If no column names are specified the first two columns of the result are - * used as the text and value columns respectively - * @param object $result DB_result object - * @param string $textCol (optional) Name of column to display as the OPTION text - * @param string $valueCol (optional) Name of column to use as the OPTION value - * @param mixed $values (optional) Array or comma delimited string of selected values - * @since 1.0 - * @access public - * @return PEAR_Error on error or true - * @throws PEAR_Error - */ - function loadDbResult(&$result, $textCol=null, $valueCol=null, $values=null) - { - if (!is_object($result) || !is_a($result, 'db_result')) { - return PEAR::raiseError('Argument 1 of HTML_Select::loadDbResult is not a valid DB_result'); - } - if (isset($values)) { - $this->setValue($values); - } - $fetchMode = ($textCol && $valueCol) ? DB_FETCHMODE_ASSOC : DB_FETCHMODE_ORDERED; - while (is_array($row = $result->fetchRow($fetchMode)) ) { - if ($fetchMode == DB_FETCHMODE_ASSOC) { - $this->addOption($row[$textCol], $row[$valueCol]); - } else { - $this->addOption($row[0], $row[1]); - } - } - return true; - } // end func loadDbResult - - // }}} - // {{{ loadQuery() - - /** - * Queries a database and loads the options from the results - * - * @param mixed $conn Either an existing DB connection or a valid dsn - * @param string $sql SQL query string - * @param string $textCol (optional) Name of column to display as the OPTION text - * @param string $valueCol (optional) Name of column to use as the OPTION value - * @param mixed $values (optional) Array or comma delimited string of selected values - * @since 1.1 - * @access public - * @return void - * @throws PEAR_Error - */ - function loadQuery(&$conn, $sql, $textCol=null, $valueCol=null, $values=null) - { - if (is_string($conn)) { - require_once('DB.php'); - $dbConn = &DB::connect($conn, true); - if (DB::isError($dbConn)) { - return $dbConn; - } - } elseif (is_subclass_of($conn, "db_common")) { - $dbConn = &$conn; - } else { - return PEAR::raiseError('Argument 1 of HTML_Select::loadQuery is not a valid type'); - } - $result = $dbConn->query($sql); - if (DB::isError($result)) { - return $result; - } - $this->loadDbResult($result, $textCol, $valueCol, $values); - $result->free(); - if (is_string($conn)) { - $dbConn->disconnect(); - } - return true; - } // end func loadQuery - - // }}} - // {{{ load() - - /** - * Loads options from different types of data sources - * - * This method is a simulated overloaded method. The arguments, other than the - * first are optional and only mean something depending on the type of the first argument. - * If the first argument is an array then all arguments are passed in order to loadArray. - * If the first argument is a db_result then all arguments are passed in order to loadDbResult. - * If the first argument is a string or a DB connection then all arguments are - * passed in order to loadQuery. - * @param mixed $options Options source currently supports assoc array or DB_result - * @param mixed $param1 (optional) See function detail - * @param mixed $param2 (optional) See function detail - * @param mixed $param3 (optional) See function detail - * @param mixed $param4 (optional) See function detail - * @since 1.1 - * @access public - * @return PEAR_Error on error or true - * @throws PEAR_Error - */ - function load(&$options, $param1=null, $param2=null, $param3=null, $param4=null) - { - switch (true) { - case is_array($options): - return $this->loadArray($options, $param1); - break; - case (is_a($options, 'db_result')): - return $this->loadDbResult($options, $param1, $param2, $param3); - break; - case (is_string($options) && !empty($options) || is_subclass_of($options, "db_common")): - return $this->loadQuery($options, $param1, $param2, $param3, $param4); - break; - } - } // end func load - - // }}} - // {{{ toHtml() - - /** - * Returns the SELECT in HTML - * - * @since 1.0 - * @access public - * @return string - */ - function toHtml() - { - if ($this->_flagFrozen) { - return $this->getFrozenHtml(); - } else { - $tabs = $this->_getTabs(); - $strHtml = ''; - - if ($this->getComment() != '') { - $strHtml .= $tabs . '\n"; - } - - if (!$this->getMultiple()) { - $attrString = $this->_getAttrString($this->_attributes); - } else { - $myName = $this->getName(); - $this->setName($myName . '[]'); - $attrString = $this->_getAttrString($this->_attributes); - $this->setName($myName); - } - $strHtml .= $tabs . '\n"; - - $strValues = is_array($this->_values)? array_map('strval', $this->_values): array(); - foreach ($this->_options as $option) { - if (!empty($strValues) && in_array($option['attr']['value'], $strValues, true)) { - $option['attr']['selected'] = 'selected'; - } - $strHtml .= $tabs . "\t_getAttrString($option['attr']) . '>' . - $option['text'] . "\n"; - } - - return $strHtml . $tabs . ''; - } - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags - * - * @since 1.0 - * @access public - * @return string - */ - function getFrozenHtml() - { - $value = array(); - if (is_array($this->_values)) { - foreach ($this->_values as $key => $val) { - for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { - if (0 == strcmp($val, $this->_options[$i]['attr']['value'])) { - $value[$key] = $this->_options[$i]['text']; - break; - } - } - } - } - $html = empty($value)? ' ': join('
', $value); - if ($this->_persistantFreeze) { - $name = $this->getPrivateName(); - // Only use id attribute if doing single hidden input - if (1 == count($value)) { - $id = $this->getAttribute('id'); - $idAttr = isset($id)? array('id' => $id): array(); - } else { - $idAttr = array(); - } - foreach ($value as $key => $item) { - $html .= '_getAttrString(array( - 'type' => 'hidden', - 'name' => $name, - 'value' => $this->_values[$key] - ) + $idAttr) . ' />'; - } - } - return $html; - } //end func getFrozenHtml - - // }}} - // {{{ exportValue() - - /** - * We check the options and return only the values that _could_ have been - * selected. We also return a scalar value if select is not "multiple" - */ - function exportValue(&$submitValues, $assoc = false) - { - $value = $this->_findValue($submitValues); - if (is_null($value)) { - $value = $this->getValue(); - } elseif(!is_array($value)) { - $value = array($value); - } - if (is_array($value) && !empty($this->_options)) { - $cleanValue = null; - foreach ($value as $v) { - for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { - if (0 == strcmp($v, $this->_options[$i]['attr']['value'])) { - $cleanValue[] = $v; - break; - } - } - } - } else { - $cleanValue = $value; - } - if (is_array($cleanValue) && !$this->getMultiple()) { - return $this->_prepareValue($cleanValue[0], $assoc); - } else { - return $this->_prepareValue($cleanValue, $assoc); - } - } - - // }}} - // {{{ onQuickFormEvent() - - function onQuickFormEvent($event, $arg, &$caller) - { - if ('updateValue' == $event) { - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_submitValues); - // Fix for bug #4465 & #5269 - // XXX: should we push this to element::onQuickFormEvent()? - if (null === $value && (!$caller->isSubmitted() || !$this->getMultiple())) { - $value = $this->_findValue($caller->_defaultValues); - } - } - if (null !== $value) { - $this->setValue($value); - } - return true; - } else { - return parent::onQuickFormEvent($event, $arg, $caller); - } - } - - // }}} -} //end class HTML_QuickForm_select -?> + + * @author Bertrand Mansion + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/element.php'; + +/** + * Class to dynamically create an HTML SELECT + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @author Alexey Borzov + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_select extends HTML_QuickForm_element { + + // {{{ properties + + /** + * Contains the select options + * + * @var array + * @since 1.0 + * @access private + */ + var $_options = array(); + + /** + * Default values of the SELECT + * + * @var string + * @since 1.0 + * @access private + */ + var $_values = null; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string Select name attribute + * @param mixed Label(s) for the select + * @param mixed Data to be used to populate options + * @param mixed Either a typical HTML attribute string or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_select($elementName=null, $elementLabel=null, $options=null, $attributes=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_type = 'select'; + if (isset($options)) { + $this->load($options); + } + } //end constructor + + // }}} + // {{{ apiVersion() + + /** + * Returns the current API version + * + * @since 1.0 + * @access public + * @return double + */ + function apiVersion() + { + return 2.3; + } //end func apiVersion + + // }}} + // {{{ setSelected() + + /** + * Sets the default values of the select box + * + * @param mixed $values Array or comma delimited string of selected values + * @since 1.0 + * @access public + * @return void + */ + function setSelected($values) + { + if (is_string($values) && $this->getMultiple()) { + $values = split("[ ]?,[ ]?", $values); + } + if (is_array($values)) { + $this->_values = array_values($values); + } else { + $this->_values = array($values); + } + } //end func setSelected + + // }}} + // {{{ getSelected() + + /** + * Returns an array of the selected values + * + * @since 1.0 + * @access public + * @return array of selected values + */ + function getSelected() + { + return $this->_values; + } // end func getSelected + + // }}} + // {{{ setName() + + /** + * Sets the input field name + * + * @param string $name Input field name attribute + * @since 1.0 + * @access public + * @return void + */ + function setName($name) + { + $this->updateAttributes(array('name' => $name)); + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the element name + * + * @since 1.0 + * @access public + * @return string + */ + function getName() + { + return $this->getAttribute('name'); + } //end func getName + + // }}} + // {{{ getPrivateName() + + /** + * Returns the element name (possibly with brackets appended) + * + * @since 1.0 + * @access public + * @return string + */ + function getPrivateName() + { + if ($this->getAttribute('multiple')) { + return $this->getName() . '[]'; + } else { + return $this->getName(); + } + } //end func getPrivateName + + // }}} + // {{{ setValue() + + /** + * Sets the value of the form element + * + * @param mixed $values Array or comma delimited string of selected values + * @since 1.0 + * @access public + * @return void + */ + function setValue($value) + { + $this->setSelected($value); + } // end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns an array of the selected values + * + * @since 1.0 + * @access public + * @return array of selected values + */ + function getValue() + { + return $this->_values; + } // end func getValue + + // }}} + // {{{ setSize() + + /** + * Sets the select field size, only applies to 'multiple' selects + * + * @param int $size Size of select field + * @since 1.0 + * @access public + * @return void + */ + function setSize($size) + { + $this->updateAttributes(array('size' => $size)); + } //end func setSize + + // }}} + // {{{ getSize() + + /** + * Returns the select field size + * + * @since 1.0 + * @access public + * @return int + */ + function getSize() + { + return $this->getAttribute('size'); + } //end func getSize + + // }}} + // {{{ setMultiple() + + /** + * Sets the select mutiple attribute + * + * @param bool $multiple Whether the select supports multi-selections + * @since 1.2 + * @access public + * @return void + */ + function setMultiple($multiple) + { + if ($multiple) { + $this->updateAttributes(array('multiple' => 'multiple')); + } else { + $this->removeAttribute('multiple'); + } + } //end func setMultiple + + // }}} + // {{{ getMultiple() + + /** + * Returns the select mutiple attribute + * + * @since 1.2 + * @access public + * @return bool true if multiple select, false otherwise + */ + function getMultiple() + { + return (bool)$this->getAttribute('multiple'); + } //end func getMultiple + + // }}} + // {{{ addOption() + + /** + * Adds a new OPTION to the SELECT + * + * @param string $text Display text for the OPTION + * @param string $value Value for the OPTION + * @param mixed $attributes Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function addOption($text, $value, $attributes=null) + { + if (null === $attributes) { + $attributes = array('value' => (string)$value); + } else { + $attributes = $this->_parseAttributes($attributes); + if (isset($attributes['selected'])) { + // the 'selected' attribute will be set in toHtml() + $this->_removeAttr('selected', $attributes); + if (is_null($this->_values)) { + $this->_values = array($value); + } elseif (!in_array($value, $this->_values)) { + $this->_values[] = $value; + } + } + $this->_updateAttrArray($attributes, array('value' => (string)$value)); + } + $this->_options[] = array('text' => $text, 'attr' => $attributes); + } // end func addOption + + // }}} + // {{{ loadArray() + + /** + * Loads the options from an associative array + * + * @param array $arr Associative array of options + * @param mixed $values (optional) Array or comma delimited string of selected values + * @since 1.0 + * @access public + * @return PEAR_Error on error or true + * @throws PEAR_Error + */ + function loadArray($arr, $values=null) + { + if (!is_array($arr)) { + return PEAR::raiseError('Argument 1 of HTML_Select::loadArray is not a valid array'); + } + if (isset($values)) { + $this->setSelected($values); + } + foreach ($arr as $key => $val) { + // Warning: new API since release 2.3 + $this->addOption($val, $key); + } + return true; + } // end func loadArray + + // }}} + // {{{ loadDbResult() + + /** + * Loads the options from DB_result object + * + * If no column names are specified the first two columns of the result are + * used as the text and value columns respectively + * @param object $result DB_result object + * @param string $textCol (optional) Name of column to display as the OPTION text + * @param string $valueCol (optional) Name of column to use as the OPTION value + * @param mixed $values (optional) Array or comma delimited string of selected values + * @since 1.0 + * @access public + * @return PEAR_Error on error or true + * @throws PEAR_Error + */ + function loadDbResult(&$result, $textCol=null, $valueCol=null, $values=null) + { + if (!is_object($result) || !is_a($result, 'db_result')) { + return PEAR::raiseError('Argument 1 of HTML_Select::loadDbResult is not a valid DB_result'); + } + if (isset($values)) { + $this->setValue($values); + } + $fetchMode = ($textCol && $valueCol) ? DB_FETCHMODE_ASSOC : DB_FETCHMODE_ORDERED; + while (is_array($row = $result->fetchRow($fetchMode)) ) { + if ($fetchMode == DB_FETCHMODE_ASSOC) { + $this->addOption($row[$textCol], $row[$valueCol]); + } else { + $this->addOption($row[0], $row[1]); + } + } + return true; + } // end func loadDbResult + + // }}} + // {{{ loadQuery() + + /** + * Queries a database and loads the options from the results + * + * @param mixed $conn Either an existing DB connection or a valid dsn + * @param string $sql SQL query string + * @param string $textCol (optional) Name of column to display as the OPTION text + * @param string $valueCol (optional) Name of column to use as the OPTION value + * @param mixed $values (optional) Array or comma delimited string of selected values + * @since 1.1 + * @access public + * @return void + * @throws PEAR_Error + */ + function loadQuery(&$conn, $sql, $textCol=null, $valueCol=null, $values=null) + { + if (is_string($conn)) { + require_once('DB.php'); + $dbConn = &DB::connect($conn, true); + if (DB::isError($dbConn)) { + return $dbConn; + } + } elseif (is_subclass_of($conn, "db_common")) { + $dbConn = &$conn; + } else { + return PEAR::raiseError('Argument 1 of HTML_Select::loadQuery is not a valid type'); + } + $result = $dbConn->query($sql); + if (DB::isError($result)) { + return $result; + } + $this->loadDbResult($result, $textCol, $valueCol, $values); + $result->free(); + if (is_string($conn)) { + $dbConn->disconnect(); + } + return true; + } // end func loadQuery + + // }}} + // {{{ load() + + /** + * Loads options from different types of data sources + * + * This method is a simulated overloaded method. The arguments, other than the + * first are optional and only mean something depending on the type of the first argument. + * If the first argument is an array then all arguments are passed in order to loadArray. + * If the first argument is a db_result then all arguments are passed in order to loadDbResult. + * If the first argument is a string or a DB connection then all arguments are + * passed in order to loadQuery. + * @param mixed $options Options source currently supports assoc array or DB_result + * @param mixed $param1 (optional) See function detail + * @param mixed $param2 (optional) See function detail + * @param mixed $param3 (optional) See function detail + * @param mixed $param4 (optional) See function detail + * @since 1.1 + * @access public + * @return PEAR_Error on error or true + * @throws PEAR_Error + */ + function load(&$options, $param1=null, $param2=null, $param3=null, $param4=null) + { + switch (true) { + case is_array($options): + return $this->loadArray($options, $param1); + break; + case (is_a($options, 'db_result')): + return $this->loadDbResult($options, $param1, $param2, $param3); + break; + case (is_string($options) && !empty($options) || is_subclass_of($options, "db_common")): + return $this->loadQuery($options, $param1, $param2, $param3, $param4); + break; + } + } // end func load + + // }}} + // {{{ toHtml() + + /** + * Returns the SELECT in HTML + * + * @since 1.0 + * @access public + * @return string + */ + function toHtml() + { + if ($this->_flagFrozen) { + return $this->getFrozenHtml(); + } else { + $tabs = $this->_getTabs(); + $strHtml = ''; + + if ($this->getComment() != '') { + $strHtml .= $tabs . '\n"; + } + + if (!$this->getMultiple()) { + $attrString = $this->_getAttrString($this->_attributes); + } else { + $myName = $this->getName(); + $this->setName($myName . '[]'); + $attrString = $this->_getAttrString($this->_attributes); + $this->setName($myName); + } + $strHtml .= $tabs . '\n"; + + $strValues = is_array($this->_values)? array_map('strval', $this->_values): array(); + foreach ($this->_options as $option) { + if (!empty($strValues) && in_array($option['attr']['value'], $strValues, true)) { + $option['attr']['selected'] = 'selected'; + } + $strHtml .= $tabs . "\t_getAttrString($option['attr']) . '>' . + $option['text'] . "\n"; + } + + return $strHtml . $tabs . ''; + } + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags + * + * @since 1.0 + * @access public + * @return string + */ + function getFrozenHtml() + { + $value = array(); + if (is_array($this->_values)) { + foreach ($this->_values as $key => $val) { + for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { + if (0 == strcmp($val, $this->_options[$i]['attr']['value'])) { + $value[$key] = $this->_options[$i]['text']; + break; + } + } + } + } + $html = empty($value)? ' ': join('
', $value); + if ($this->_persistantFreeze) { + $name = $this->getPrivateName(); + // Only use id attribute if doing single hidden input + if (1 == count($value)) { + $id = $this->getAttribute('id'); + $idAttr = isset($id)? array('id' => $id): array(); + } else { + $idAttr = array(); + } + foreach ($value as $key => $item) { + $html .= '_getAttrString(array( + 'type' => 'hidden', + 'name' => $name, + 'value' => $this->_values[$key] + ) + $idAttr) . ' />'; + } + } + return $html; + } //end func getFrozenHtml + + // }}} + // {{{ exportValue() + + /** + * We check the options and return only the values that _could_ have been + * selected. We also return a scalar value if select is not "multiple" + */ + function exportValue(&$submitValues, $assoc = false) + { + $value = $this->_findValue($submitValues); + if (is_null($value)) { + $value = $this->getValue(); + } elseif(!is_array($value)) { + $value = array($value); + } + if (is_array($value) && !empty($this->_options)) { + $cleanValue = null; + foreach ($value as $v) { + for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { + if (0 == strcmp($v, $this->_options[$i]['attr']['value'])) { + $cleanValue[] = $v; + break; + } + } + } + } else { + $cleanValue = $value; + } + if (is_array($cleanValue) && !$this->getMultiple()) { + return $this->_prepareValue($cleanValue[0], $assoc); + } else { + return $this->_prepareValue($cleanValue, $assoc); + } + } + + // }}} + // {{{ onQuickFormEvent() + + function onQuickFormEvent($event, $arg, &$caller) + { + if ('updateValue' == $event) { + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_submitValues); + // Fix for bug #4465 & #5269 + // XXX: should we push this to element::onQuickFormEvent()? + if (null === $value && (!$caller->isSubmitted() || !$this->getMultiple())) { + $value = $this->_findValue($caller->_defaultValues); + } + } + if (null !== $value) { + $this->setValue($value); + } + return true; + } else { + return parent::onQuickFormEvent($event, $arg, $caller); + } + } + + // }}} +} //end class HTML_QuickForm_select +?> diff --git a/libs/HTML/QuickForm/static.php b/libs/HTML/QuickForm/static.php index cbe6c964a9..20f45b8e72 100755 --- a/libs/HTML/QuickForm/static.php +++ b/libs/HTML/QuickForm/static.php @@ -1,201 +1,201 @@ - - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/element.php'; - -/** - * HTML class for static data - * - * @category HTML - * @package HTML_QuickForm - * @author Wojciech Gdela - * @version Release: 3.2.9 - * @since 2.7 - */ -class HTML_QuickForm_static extends HTML_QuickForm_element { - - // {{{ properties - - /** - * Display text - * @var string - * @access private - */ - var $_text = null; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementLabel (optional)Label - * @param string $text (optional)Display text - * @access public - * @return void - */ - function HTML_QuickForm_static($elementName=null, $elementLabel=null, $text=null) - { - HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel); - $this->_persistantFreeze = false; - $this->_type = 'static'; - $this->_text = $text; - } //end constructor - - // }}} - // {{{ setName() - - /** - * Sets the element name - * - * @param string $name Element name - * @access public - * @return void - */ - function setName($name) - { - $this->updateAttributes(array('name'=>$name)); - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the element name - * - * @access public - * @return string - */ - function getName() - { - return $this->getAttribute('name'); - } //end func getName - - // }}} - // {{{ setText() - - /** - * Sets the text - * - * @param string $text - * @access public - * @return void - */ - function setText($text) - { - $this->_text = $text; - } // end func setText - - // }}} - // {{{ setValue() - - /** - * Sets the text (uses the standard setValue call to emulate a form element. - * - * @param string $text - * @access public - * @return void - */ - function setValue($text) - { - $this->setText($text); - } // end func setValue - - // }}} - // {{{ toHtml() - - /** - * Returns the static text element in HTML - * - * @access public - * @return string - */ - function toHtml() - { - return $this->_getTabs() . $this->_text; - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags - * - * @access public - * @return string - */ - function getFrozenHtml() - { - return $this->toHtml(); - } //end func getFrozenHtml - - // }}} - // {{{ onQuickFormEvent() - - /** - * Called by HTML_QuickForm whenever form event is made on this element - * - * @param string $event Name of event - * @param mixed $arg event arguments - * @param object &$caller calling object - * @since 1.0 - * @access public - * @return void - * @throws - */ - function onQuickFormEvent($event, $arg, &$caller) - { - switch ($event) { - case 'updateValue': - // do NOT use submitted values for static elements - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_defaultValues); - } - if (null !== $value) { - $this->setValue($value); - } - break; - default: - parent::onQuickFormEvent($event, $arg, $caller); - } - return true; - } // end func onQuickFormEvent - - // }}} - // {{{ exportValue() - - /** - * We override this here because we don't want any values from static elements - */ - function exportValue(&$submitValues, $assoc = false) - { - return null; - } - - // }}} -} //end class HTML_QuickForm_static -?> + + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/element.php'; + +/** + * HTML class for static data + * + * @category HTML + * @package HTML_QuickForm + * @author Wojciech Gdela + * @version Release: 3.2.9 + * @since 2.7 + */ +class HTML_QuickForm_static extends HTML_QuickForm_element { + + // {{{ properties + + /** + * Display text + * @var string + * @access private + */ + var $_text = null; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementLabel (optional)Label + * @param string $text (optional)Display text + * @access public + * @return void + */ + function HTML_QuickForm_static($elementName=null, $elementLabel=null, $text=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel); + $this->_persistantFreeze = false; + $this->_type = 'static'; + $this->_text = $text; + } //end constructor + + // }}} + // {{{ setName() + + /** + * Sets the element name + * + * @param string $name Element name + * @access public + * @return void + */ + function setName($name) + { + $this->updateAttributes(array('name'=>$name)); + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the element name + * + * @access public + * @return string + */ + function getName() + { + return $this->getAttribute('name'); + } //end func getName + + // }}} + // {{{ setText() + + /** + * Sets the text + * + * @param string $text + * @access public + * @return void + */ + function setText($text) + { + $this->_text = $text; + } // end func setText + + // }}} + // {{{ setValue() + + /** + * Sets the text (uses the standard setValue call to emulate a form element. + * + * @param string $text + * @access public + * @return void + */ + function setValue($text) + { + $this->setText($text); + } // end func setValue + + // }}} + // {{{ toHtml() + + /** + * Returns the static text element in HTML + * + * @access public + * @return string + */ + function toHtml() + { + return $this->_getTabs() . $this->_text; + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags + * + * @access public + * @return string + */ + function getFrozenHtml() + { + return $this->toHtml(); + } //end func getFrozenHtml + + // }}} + // {{{ onQuickFormEvent() + + /** + * Called by HTML_QuickForm whenever form event is made on this element + * + * @param string $event Name of event + * @param mixed $arg event arguments + * @param object &$caller calling object + * @since 1.0 + * @access public + * @return void + * @throws + */ + function onQuickFormEvent($event, $arg, &$caller) + { + switch ($event) { + case 'updateValue': + // do NOT use submitted values for static elements + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_defaultValues); + } + if (null !== $value) { + $this->setValue($value); + } + break; + default: + parent::onQuickFormEvent($event, $arg, $caller); + } + return true; + } // end func onQuickFormEvent + + // }}} + // {{{ exportValue() + + /** + * We override this here because we don't want any values from static elements + */ + function exportValue(&$submitValues, $assoc = false) + { + return null; + } + + // }}} +} //end class HTML_QuickForm_static +?> diff --git a/libs/HTML/QuickForm/submit.php b/libs/HTML/QuickForm/submit.php index 97bddede83..caa692dd16 100755 --- a/libs/HTML/QuickForm/submit.php +++ b/libs/HTML/QuickForm/submit.php @@ -1,89 +1,89 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a submit type element - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_submit extends HTML_QuickForm_input -{ - // {{{ constructor - - /** - * Class constructor - * - * @param string Input field name attribute - * @param string Input field value - * @param mixed Either a typical HTML attribute string or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_submit($elementName=null, $value=null, $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); - $this->setValue($value); - $this->setType('submit'); - } //end constructor - - // }}} - // {{{ freeze() - - /** - * Freeze the element so that only its value is returned - * - * @access public - * @return void - */ - function freeze() - { - return false; - } //end func freeze - - // }}} - // {{{ exportValue() - - /** - * Only return the value if it is found within $submitValues (i.e. if - * this particular submit button was clicked) - */ - function exportValue(&$submitValues, $assoc = false) - { - return $this->_prepareValue($this->_findValue($submitValues), $assoc); - } - - // }}} -} //end class HTML_QuickForm_submit -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a submit type element + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_submit extends HTML_QuickForm_input +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string Input field name attribute + * @param string Input field value + * @param mixed Either a typical HTML attribute string or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_submit($elementName=null, $value=null, $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, null, $attributes); + $this->setValue($value); + $this->setType('submit'); + } //end constructor + + // }}} + // {{{ freeze() + + /** + * Freeze the element so that only its value is returned + * + * @access public + * @return void + */ + function freeze() + { + return false; + } //end func freeze + + // }}} + // {{{ exportValue() + + /** + * Only return the value if it is found within $submitValues (i.e. if + * this particular submit button was clicked) + */ + function exportValue(&$submitValues, $assoc = false) + { + return $this->_prepareValue($this->_findValue($submitValues), $assoc); + } + + // }}} +} //end class HTML_QuickForm_submit +?> diff --git a/libs/HTML/QuickForm/text.php b/libs/HTML/QuickForm/text.php index afb38d07de..0696122b99 100755 --- a/libs/HTML/QuickForm/text.php +++ b/libs/HTML/QuickForm/text.php @@ -1,98 +1,98 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/input.php'; - -/** - * HTML class for a text field - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_text extends HTML_QuickForm_input -{ - - // {{{ constructor - - /** - * Class constructor - * - * @param string $elementName (optional)Input field name attribute - * @param string $elementLabel (optional)Input field label - * @param mixed $attributes (optional)Either a typical HTML attribute string - * or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_text($elementName=null, $elementLabel=null, $attributes=null) - { - HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->setType('text'); - } //end constructor - - // }}} - // {{{ setSize() - - /** - * Sets size of text field - * - * @param string $size Size of text field - * @since 1.3 - * @access public - * @return void - */ - function setSize($size) - { - $this->updateAttributes(array('size'=>$size)); - } //end func setSize - - // }}} - // {{{ setMaxlength() - - /** - * Sets maxlength of text field - * - * @param string $maxlength Maximum length of text field - * @since 1.3 - * @access public - * @return void - */ - function setMaxlength($maxlength) - { - $this->updateAttributes(array('maxlength'=>$maxlength)); - } //end func setMaxlength - - // }}} - -} //end class HTML_QuickForm_text -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/input.php'; + +/** + * HTML class for a text field + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_text extends HTML_QuickForm_input +{ + + // {{{ constructor + + /** + * Class constructor + * + * @param string $elementName (optional)Input field name attribute + * @param string $elementLabel (optional)Input field label + * @param mixed $attributes (optional)Either a typical HTML attribute string + * or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_text($elementName=null, $elementLabel=null, $attributes=null) + { + HTML_QuickForm_input::HTML_QuickForm_input($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->setType('text'); + } //end constructor + + // }}} + // {{{ setSize() + + /** + * Sets size of text field + * + * @param string $size Size of text field + * @since 1.3 + * @access public + * @return void + */ + function setSize($size) + { + $this->updateAttributes(array('size'=>$size)); + } //end func setSize + + // }}} + // {{{ setMaxlength() + + /** + * Sets maxlength of text field + * + * @param string $maxlength Maximum length of text field + * @since 1.3 + * @access public + * @return void + */ + function setMaxlength($maxlength) + { + $this->updateAttributes(array('maxlength'=>$maxlength)); + } //end func setMaxlength + + // }}} + +} //end class HTML_QuickForm_text +?> diff --git a/libs/HTML/QuickForm/textarea.php b/libs/HTML/QuickForm/textarea.php index 5e3de74c6f..b499a9418a 100755 --- a/libs/HTML/QuickForm/textarea.php +++ b/libs/HTML/QuickForm/textarea.php @@ -1,229 +1,229 @@ - - * @author Bertrand Mansion - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/element.php'; - -/** - * HTML class for a textarea type field - * - * @category HTML - * @package HTML_QuickForm - * @author Adam Daniel - * @author Bertrand Mansion - * @version Release: 3.2.9 - * @since 1.0 - */ -class HTML_QuickForm_textarea extends HTML_QuickForm_element -{ - // {{{ properties - - /** - * Field value - * @var string - * @since 1.0 - * @access private - */ - var $_value = null; - - // }}} - // {{{ constructor - - /** - * Class constructor - * - * @param string Input field name attribute - * @param mixed Label(s) for a field - * @param mixed Either a typical HTML attribute string or an associative array - * @since 1.0 - * @access public - * @return void - */ - function HTML_QuickForm_textarea($elementName=null, $elementLabel=null, $attributes=null) - { - HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); - $this->_persistantFreeze = true; - $this->_type = 'textarea'; - } //end constructor - - // }}} - // {{{ setName() - - /** - * Sets the input field name - * - * @param string $name Input field name attribute - * @since 1.0 - * @access public - * @return void - */ - function setName($name) - { - $this->updateAttributes(array('name'=>$name)); - } //end func setName - - // }}} - // {{{ getName() - - /** - * Returns the element name - * - * @since 1.0 - * @access public - * @return string - */ - function getName() - { - return $this->getAttribute('name'); - } //end func getName - - // }}} - // {{{ setValue() - - /** - * Sets value for textarea element - * - * @param string $value Value for textarea element - * @since 1.0 - * @access public - * @return void - */ - function setValue($value) - { - $this->_value = $value; - } //end func setValue - - // }}} - // {{{ getValue() - - /** - * Returns the value of the form element - * - * @since 1.0 - * @access public - * @return string - */ - function getValue() - { - return $this->_value; - } // end func getValue - - // }}} - // {{{ setWrap() - - /** - * Sets wrap type for textarea element - * - * @param string $wrap Wrap type - * @since 1.0 - * @access public - * @return void - */ - function setWrap($wrap) - { - $this->updateAttributes(array('wrap' => $wrap)); - } //end func setWrap - - // }}} - // {{{ setRows() - - /** - * Sets height in rows for textarea element - * - * @param string $rows Height expressed in rows - * @since 1.0 - * @access public - * @return void - */ - function setRows($rows) - { - $this->updateAttributes(array('rows' => $rows)); - } //end func setRows - - // }}} - // {{{ setCols() - - /** - * Sets width in cols for textarea element - * - * @param string $cols Width expressed in cols - * @since 1.0 - * @access public - * @return void - */ - function setCols($cols) - { - $this->updateAttributes(array('cols' => $cols)); - } //end func setCols - - // }}} - // {{{ toHtml() - - /** - * Returns the textarea element in HTML - * - * @since 1.0 - * @access public - * @return string - */ - function toHtml() - { - if ($this->_flagFrozen) { - return $this->getFrozenHtml(); - } else { - return $this->_getTabs() . - '_getAttrString($this->_attributes) . '>' . - // because we wrap the form later we don't want the text indented - preg_replace("/(\r\n|\n|\r)/", ' ', htmlspecialchars($this->_value)) . - ''; - } - } //end func toHtml - - // }}} - // {{{ getFrozenHtml() - - /** - * Returns the value of field without HTML tags (in this case, value is changed to a mask) - * - * @since 1.0 - * @access public - * @return string - */ - function getFrozenHtml() - { - $value = htmlspecialchars($this->getValue()); - if ($this->getAttribute('wrap') == 'off') { - $html = $this->_getTabs() . '
' . $value."
\n"; - } else { - $html = nl2br($value)."\n"; - } - return $html . $this->_getPersistantData(); - } //end func getFrozenHtml - - // }}} - -} //end class HTML_QuickForm_textarea -?> + + * @author Bertrand Mansion + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/element.php'; + +/** + * HTML class for a textarea type field + * + * @category HTML + * @package HTML_QuickForm + * @author Adam Daniel + * @author Bertrand Mansion + * @version Release: 3.2.9 + * @since 1.0 + */ +class HTML_QuickForm_textarea extends HTML_QuickForm_element +{ + // {{{ properties + + /** + * Field value + * @var string + * @since 1.0 + * @access private + */ + var $_value = null; + + // }}} + // {{{ constructor + + /** + * Class constructor + * + * @param string Input field name attribute + * @param mixed Label(s) for a field + * @param mixed Either a typical HTML attribute string or an associative array + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_textarea($elementName=null, $elementLabel=null, $attributes=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_type = 'textarea'; + } //end constructor + + // }}} + // {{{ setName() + + /** + * Sets the input field name + * + * @param string $name Input field name attribute + * @since 1.0 + * @access public + * @return void + */ + function setName($name) + { + $this->updateAttributes(array('name'=>$name)); + } //end func setName + + // }}} + // {{{ getName() + + /** + * Returns the element name + * + * @since 1.0 + * @access public + * @return string + */ + function getName() + { + return $this->getAttribute('name'); + } //end func getName + + // }}} + // {{{ setValue() + + /** + * Sets value for textarea element + * + * @param string $value Value for textarea element + * @since 1.0 + * @access public + * @return void + */ + function setValue($value) + { + $this->_value = $value; + } //end func setValue + + // }}} + // {{{ getValue() + + /** + * Returns the value of the form element + * + * @since 1.0 + * @access public + * @return string + */ + function getValue() + { + return $this->_value; + } // end func getValue + + // }}} + // {{{ setWrap() + + /** + * Sets wrap type for textarea element + * + * @param string $wrap Wrap type + * @since 1.0 + * @access public + * @return void + */ + function setWrap($wrap) + { + $this->updateAttributes(array('wrap' => $wrap)); + } //end func setWrap + + // }}} + // {{{ setRows() + + /** + * Sets height in rows for textarea element + * + * @param string $rows Height expressed in rows + * @since 1.0 + * @access public + * @return void + */ + function setRows($rows) + { + $this->updateAttributes(array('rows' => $rows)); + } //end func setRows + + // }}} + // {{{ setCols() + + /** + * Sets width in cols for textarea element + * + * @param string $cols Width expressed in cols + * @since 1.0 + * @access public + * @return void + */ + function setCols($cols) + { + $this->updateAttributes(array('cols' => $cols)); + } //end func setCols + + // }}} + // {{{ toHtml() + + /** + * Returns the textarea element in HTML + * + * @since 1.0 + * @access public + * @return string + */ + function toHtml() + { + if ($this->_flagFrozen) { + return $this->getFrozenHtml(); + } else { + return $this->_getTabs() . + '_getAttrString($this->_attributes) . '>' . + // because we wrap the form later we don't want the text indented + preg_replace("/(\r\n|\n|\r)/", ' ', htmlspecialchars($this->_value)) . + ''; + } + } //end func toHtml + + // }}} + // {{{ getFrozenHtml() + + /** + * Returns the value of field without HTML tags (in this case, value is changed to a mask) + * + * @since 1.0 + * @access public + * @return string + */ + function getFrozenHtml() + { + $value = htmlspecialchars($this->getValue()); + if ($this->getAttribute('wrap') == 'off') { + $html = $this->_getTabs() . '
' . $value."
\n"; + } else { + $html = nl2br($value)."\n"; + } + return $html . $this->_getPersistantData(); + } //end func getFrozenHtml + + // }}} + +} //end class HTML_QuickForm_textarea +?> diff --git a/libs/HTML/QuickForm/xbutton.php b/libs/HTML/QuickForm/xbutton.php index aaa339c85f..b0769ad136 100755 --- a/libs/HTML/QuickForm/xbutton.php +++ b/libs/HTML/QuickForm/xbutton.php @@ -1,153 +1,153 @@ - element - * - * PHP versions 4 and 5 - * - * LICENSE: This source file is subject to version 3.01 of the PHP license - * that is available through the world-wide-web at the following URI: - * http://www.php.net/license/3_01.txt If you did not receive a copy of - * the PHP License and are unable to obtain it through the web, please - * send a note to license@php.net so we can mail you a copy immediately. - * - * @category HTML - * @package HTML_QuickForm - * @author Alexey Borzov - * @copyright 2001-2007 The PHP Group - * @license http://www.php.net/license/3_01.txt PHP License 3.01 - * @version CVS: $Id$ - * @link http://pear.php.net/package/HTML_QuickForm - */ - -/** - * Base class for form elements - */ -require_once 'HTML/QuickForm/element.php'; - -/** - * Class for HTML 4.0 tags) - * @param mixed Either a typical HTML attribute string or an associative array - * @access public - */ - function HTML_QuickForm_xbutton($elementName = null, $elementContent = null, $attributes = null) - { - $this->HTML_QuickForm_element($elementName, null, $attributes); - $this->setContent($elementContent); - $this->setPersistantFreeze(false); - $this->_type = 'xbutton'; - } - - - function toHtml() - { - return 'getAttributes(true) . '>' . $this->_content . ''; - } - - - function getFrozenHtml() - { - return $this->toHtml(); - } - - - function freeze() - { - return false; - } - - - function setName($name) - { - $this->updateAttributes(array( - 'name' => $name - )); - } - - - function getName() - { - return $this->getAttribute('name'); - } - - - function setValue($value) - { - $this->updateAttributes(array( - 'value' => $value - )); - } - - - function getValue() - { - return $this->getAttribute('value'); - } - - - /** - * Sets the contents of the button element - * - * @param string Button content (HTML to add between tags) - */ - function setContent($content) - { - $this->_content = $content; - } - - - function onQuickFormEvent($event, $arg, &$caller) - { - if ('updateValue' != $event) { - return parent::onQuickFormEvent($event, $arg, $caller); - } else { - $value = $this->_findValue($caller->_constantValues); - if (null === $value) { - $value = $this->_findValue($caller->_defaultValues); - } - if (null !== $value) { - $this->setValue($value); - } - } - return true; - } - - - /** - * Returns a 'safe' element's value - * - * The value is only returned if the button's type is "submit" and if this - * particlular button was clicked - */ - function exportValue(&$submitValues, $assoc = false) - { - if ('submit' == $this->getAttribute('type')) { - return $this->_prepareValue($this->_findValue($submitValues), $assoc); - } else { - return null; - } - } -} -?> + element + * + * PHP versions 4 and 5 + * + * LICENSE: This source file is subject to version 3.01 of the PHP license + * that is available through the world-wide-web at the following URI: + * http://www.php.net/license/3_01.txt If you did not receive a copy of + * the PHP License and are unable to obtain it through the web, please + * send a note to license@php.net so we can mail you a copy immediately. + * + * @category HTML + * @package HTML_QuickForm + * @author Alexey Borzov + * @copyright 2001-2007 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Base class for form elements + */ +require_once 'HTML/QuickForm/element.php'; + +/** + * Class for HTML 4.0 tags) + * @param mixed Either a typical HTML attribute string or an associative array + * @access public + */ + function HTML_QuickForm_xbutton($elementName = null, $elementContent = null, $attributes = null) + { + $this->HTML_QuickForm_element($elementName, null, $attributes); + $this->setContent($elementContent); + $this->setPersistantFreeze(false); + $this->_type = 'xbutton'; + } + + + function toHtml() + { + return 'getAttributes(true) . '>' . $this->_content . ''; + } + + + function getFrozenHtml() + { + return $this->toHtml(); + } + + + function freeze() + { + return false; + } + + + function setName($name) + { + $this->updateAttributes(array( + 'name' => $name + )); + } + + + function getName() + { + return $this->getAttribute('name'); + } + + + function setValue($value) + { + $this->updateAttributes(array( + 'value' => $value + )); + } + + + function getValue() + { + return $this->getAttribute('value'); + } + + + /** + * Sets the contents of the button element + * + * @param string Button content (HTML to add between tags) + */ + function setContent($content) + { + $this->_content = $content; + } + + + function onQuickFormEvent($event, $arg, &$caller) + { + if ('updateValue' != $event) { + return parent::onQuickFormEvent($event, $arg, $caller); + } else { + $value = $this->_findValue($caller->_constantValues); + if (null === $value) { + $value = $this->_findValue($caller->_defaultValues); + } + if (null !== $value) { + $this->setValue($value); + } + } + return true; + } + + + /** + * Returns a 'safe' element's value + * + * The value is only returned if the button's type is "submit" and if this + * particlular button was clicked + */ + function exportValue(&$submitValues, $assoc = false) + { + if ('submit' == $this->getAttribute('type')) { + return $this->_prepareValue($this->_findValue($submitValues), $assoc); + } else { + return null; + } + } +} +?> diff --git a/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.js b/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.js index a31d85844c..9b61f7153f 100755 --- a/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.js +++ b/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.js @@ -1,640 +1,640 @@ -// +-----------------------------------------------------------------------+ -// | Copyright (c) 2002, Richard Heyes, Harald Radi | -// | All rights reserved. | -// | | -// | Redistribution and use in source and binary forms, with or without | -// | modification, are permitted provided that the following conditions | -// | are met: | -// | | -// | o Redistributions of source code must retain the above copyright | -// | notice, this list of conditions and the following disclaimer. | -// | o Redistributions in binary form must reproduce the above copyright | -// | notice, this list of conditions and the following disclaimer in the | -// | documentation and/or other materials provided with the distribution.| -// | o The names of the authors may not be used to endorse or promote | -// | products derived from this software without specific prior written | -// | permission. | -// | | -// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | -// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | -// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | -// | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | -// | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | -// | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | -// | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | -// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | -// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | -// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | -// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | -// | | -// +-----------------------------------------------------------------------+ -// | Author: Richard Heyes | -// | Harald Radi | -// +-----------------------------------------------------------------------+ -// -// $Id$ - - -/** -* TreeMenu class -*/ - function TreeMenu(iconpath, myname, linkTarget, defaultClass, usePersistence, noTopLevelImages) - { - // Properties - this.iconpath = iconpath; - this.myname = myname; - this.linkTarget = linkTarget; - this.defaultClass = defaultClass; - this.usePersistence = usePersistence; - this.noTopLevelImages = noTopLevelImages; - this.n = new Array(); - - this.nodeRefs = new Array(); - this.branches = new Array(); - this.branchStatus = new Array(); - this.layerRelations = new Array(); - this.childParents = new Array(); - this.cookieStatuses = new Array(); - - this.preloadImages(); - } - -/** -* Adds a node to the tree -*/ - TreeMenu.prototype.addItem = function (newNode) - { - newIndex = this.n.length; - this.n[newIndex] = newNode; - - return this.n[newIndex]; - } - -/** -* Preload images hack for Mozilla -*/ - TreeMenu.prototype.preloadImages = function () - { - var plustop = new Image; plustop.src = this.iconpath + '/plustop.gif'; - var plusbottom = new Image; plusbottom.src = this.iconpath + '/plusbottom.gif'; - var plus = new Image; plus.src = this.iconpath + '/plus.gif'; - - var minustop = new Image; minustop.src = this.iconpath + '/minustop.gif'; - var minusbottom = new Image; minusbottom.src = this.iconpath + '/minusbottom.gif'; - var minus = new Image; minus.src = this.iconpath + '/minus.gif'; - - var branchtop = new Image; branchtop.src = this.iconpath + '/branchtop.gif'; - var branchbottom = new Image; branchbottom.src = this.iconpath + '/branchbottom.gif'; - var branch = new Image; branch.src = this.iconpath + '/branch.gif'; - - var linebottom = new Image; linebottom.src = this.iconpath + '/linebottom.gif'; - var line = new Image; line.src = this.iconpath + '/line.gif'; - } - -/** -* Main function that draws the menu and assigns it -* to the layer (or document.write()s it) -*/ - TreeMenu.prototype.drawMenu = function ()// OPTIONAL ARGS: nodes = [], level = [], prepend = '', expanded = false, visbility = 'inline', parentLayerID = null - { - /** - * Necessary variables - */ - var output = ''; - var modifier = ''; - var layerID = ''; - var parentLayerID = ''; - - /** - * Parse any optional arguments - */ - var nodes = arguments[0] ? arguments[0] : this.n - var level = arguments[1] ? arguments[1] : []; - var prepend = arguments[2] ? arguments[2] : ''; - var expanded = arguments[3] ? arguments[3] : false; - var visibility = arguments[4] ? arguments[4] : 'inline'; - var parentLayerID = arguments[5] ? arguments[5] : null; - - var currentlevel = level.length; - - for (var i=0; i 1 ? "top" : 'single'; - } else if(i == (nodes.length-1)) { - modifier = "bottom"; - } else { - modifier = ""; - } - - /** - * Single root branch is always expanded - */ - if (!this.doesMenu() || (parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages))) { - expanded = true; - - } else if (nodes[i].expanded) { - expanded = true; - - } else { - expanded = false; - } - - /** - * Make sure visibility is correct based on parent status - */ - visibility = this.checkParentVisibility(layerID) ? visibility : 'none'; - - /** - * Setup branch status and build an indexed array - * of branch layer ids - */ - if (nodes[i].n.length > 0) { - this.branchStatus[layerID] = expanded; - this.branches[this.branches.length] = layerID; - } - - /** - * Setup toggle relationship - */ - if (!this.layerRelations[parentLayerID]) { - this.layerRelations[parentLayerID] = new Array(); - } - this.layerRelations[parentLayerID][this.layerRelations[parentLayerID].length] = layerID; - - /** - * Branch images - */ - var gifname = nodes[i].n.length && this.doesMenu() && nodes[i].isDynamic ? (expanded ? 'minus' : 'plus') : 'branch'; - var iconimg = nodes[i].icon ? this.stringFormat('', this.iconpath, nodes[i].icon) : ''; - - /** - * Add event handlers - */ - var eventHandlers = ""; - for (j in nodes[i].events) { - eventHandlers += this.stringFormat('{0}="{1}" ', j, nodes[i].events[j]); - } - - /** - * Build the html to write to the document - * IMPORTANT: - * document.write()ing the string: '
', layerID, visibility, (nodes[i].cssClass ? nodes[i].cssClass : this.defaultClass)) : this.stringFormat('
', ''); - var onMDown = this.doesMenu() && nodes[i].n.length && nodes[i].isDynamic ? this.stringFormat('onmousedown="{0}.toggleBranch(\'{1}\', true)" style="cursor: pointer; cursor: hand"', this.myname, layerID) : ''; - var imgTag = this.stringFormat('', this.iconpath, gifname, modifier, layerID, onMDown); - var linkStart = nodes[i].link ? this.stringFormat('', nodes[i].link, this.linkTarget) : ''; - var linkEnd = nodes[i].link ? '' : ''; - - output = this.stringFormat('{0}{1}{2}{3}{4}{6}{7}
', - layerTag, - prepend, - parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages) ? '' : imgTag, - iconimg, - linkStart, - eventHandlers, - nodes[i].title, - linkEnd); - - /** - * Write out the HTML. Uses document.write for speed over layers and - * innerHTML. This however means no dynamic adding/removing nodes on - * the client side. This could be conditional I guess if dynamic - * adding/removing is required. - */ - document.write(output + "\r\n"); - - /** - * Traverse sub nodes ? - */ - if (nodes[i].n.length) { - /** - * Determine what to prepend. If there is only one root - * node then the prepend to pass to children is nothing. - * Otherwise it depends on where we are in the tree. - */ - if (parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages)) { - var newPrepend = ''; - - } else if (i < (nodes.length - 1)) { - var newPrepend = prepend + this.stringFormat('', this.iconpath); - - } else { - var newPrepend = prepend + this.stringFormat('', this.iconpath); - } - - this.drawMenu(nodes[i].n, - level, - newPrepend, - nodes[i].expanded, - expanded ? 'inline' : 'none', - layerID); - } - } - } - -/** -* Toggles a branches visible status. Called from resetBranches() -* and also when a +/- graphic is clicked. -*/ - TreeMenu.prototype.toggleBranch = function (layerID, updateStatus) // OPTIONAL ARGS: fireEvents = true - { - var currentDisplay = this.getLayer(layerID).style.display; - var newDisplay = (this.branchStatus[layerID] && currentDisplay == 'inline') ? 'none' : 'inline'; - var fireEvents = arguments[2] != null ? arguments[2] : true; - - for (var i=0; i= 5)); - var is_gecko = (agt.indexOf('gecko') != -1); - - - var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)); - var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) ); - var is_ie4up = (is_ie && (is_major >= 4)); -//--> end hide JavaScript +// +-----------------------------------------------------------------------+ +// | Copyright (c) 2002, Richard Heyes, Harald Radi | +// | All rights reserved. | +// | | +// | Redistribution and use in source and binary forms, with or without | +// | modification, are permitted provided that the following conditions | +// | are met: | +// | | +// | o Redistributions of source code must retain the above copyright | +// | notice, this list of conditions and the following disclaimer. | +// | o Redistributions in binary form must reproduce the above copyright | +// | notice, this list of conditions and the following disclaimer in the | +// | documentation and/or other materials provided with the distribution.| +// | o The names of the authors may not be used to endorse or promote | +// | products derived from this software without specific prior written | +// | permission. | +// | | +// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | +// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | +// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | +// | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | +// | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | +// | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | +// | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | +// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | +// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | +// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | +// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | +// | | +// +-----------------------------------------------------------------------+ +// | Author: Richard Heyes | +// | Harald Radi | +// +-----------------------------------------------------------------------+ +// +// $Id$ + + +/** +* TreeMenu class +*/ + function TreeMenu(iconpath, myname, linkTarget, defaultClass, usePersistence, noTopLevelImages) + { + // Properties + this.iconpath = iconpath; + this.myname = myname; + this.linkTarget = linkTarget; + this.defaultClass = defaultClass; + this.usePersistence = usePersistence; + this.noTopLevelImages = noTopLevelImages; + this.n = new Array(); + + this.nodeRefs = new Array(); + this.branches = new Array(); + this.branchStatus = new Array(); + this.layerRelations = new Array(); + this.childParents = new Array(); + this.cookieStatuses = new Array(); + + this.preloadImages(); + } + +/** +* Adds a node to the tree +*/ + TreeMenu.prototype.addItem = function (newNode) + { + newIndex = this.n.length; + this.n[newIndex] = newNode; + + return this.n[newIndex]; + } + +/** +* Preload images hack for Mozilla +*/ + TreeMenu.prototype.preloadImages = function () + { + var plustop = new Image; plustop.src = this.iconpath + '/plustop.gif'; + var plusbottom = new Image; plusbottom.src = this.iconpath + '/plusbottom.gif'; + var plus = new Image; plus.src = this.iconpath + '/plus.gif'; + + var minustop = new Image; minustop.src = this.iconpath + '/minustop.gif'; + var minusbottom = new Image; minusbottom.src = this.iconpath + '/minusbottom.gif'; + var minus = new Image; minus.src = this.iconpath + '/minus.gif'; + + var branchtop = new Image; branchtop.src = this.iconpath + '/branchtop.gif'; + var branchbottom = new Image; branchbottom.src = this.iconpath + '/branchbottom.gif'; + var branch = new Image; branch.src = this.iconpath + '/branch.gif'; + + var linebottom = new Image; linebottom.src = this.iconpath + '/linebottom.gif'; + var line = new Image; line.src = this.iconpath + '/line.gif'; + } + +/** +* Main function that draws the menu and assigns it +* to the layer (or document.write()s it) +*/ + TreeMenu.prototype.drawMenu = function ()// OPTIONAL ARGS: nodes = [], level = [], prepend = '', expanded = false, visbility = 'inline', parentLayerID = null + { + /** + * Necessary variables + */ + var output = ''; + var modifier = ''; + var layerID = ''; + var parentLayerID = ''; + + /** + * Parse any optional arguments + */ + var nodes = arguments[0] ? arguments[0] : this.n + var level = arguments[1] ? arguments[1] : []; + var prepend = arguments[2] ? arguments[2] : ''; + var expanded = arguments[3] ? arguments[3] : false; + var visibility = arguments[4] ? arguments[4] : 'inline'; + var parentLayerID = arguments[5] ? arguments[5] : null; + + var currentlevel = level.length; + + for (var i=0; i 1 ? "top" : 'single'; + } else if(i == (nodes.length-1)) { + modifier = "bottom"; + } else { + modifier = ""; + } + + /** + * Single root branch is always expanded + */ + if (!this.doesMenu() || (parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages))) { + expanded = true; + + } else if (nodes[i].expanded) { + expanded = true; + + } else { + expanded = false; + } + + /** + * Make sure visibility is correct based on parent status + */ + visibility = this.checkParentVisibility(layerID) ? visibility : 'none'; + + /** + * Setup branch status and build an indexed array + * of branch layer ids + */ + if (nodes[i].n.length > 0) { + this.branchStatus[layerID] = expanded; + this.branches[this.branches.length] = layerID; + } + + /** + * Setup toggle relationship + */ + if (!this.layerRelations[parentLayerID]) { + this.layerRelations[parentLayerID] = new Array(); + } + this.layerRelations[parentLayerID][this.layerRelations[parentLayerID].length] = layerID; + + /** + * Branch images + */ + var gifname = nodes[i].n.length && this.doesMenu() && nodes[i].isDynamic ? (expanded ? 'minus' : 'plus') : 'branch'; + var iconimg = nodes[i].icon ? this.stringFormat('', this.iconpath, nodes[i].icon) : ''; + + /** + * Add event handlers + */ + var eventHandlers = ""; + for (j in nodes[i].events) { + eventHandlers += this.stringFormat('{0}="{1}" ', j, nodes[i].events[j]); + } + + /** + * Build the html to write to the document + * IMPORTANT: + * document.write()ing the string: '
', layerID, visibility, (nodes[i].cssClass ? nodes[i].cssClass : this.defaultClass)) : this.stringFormat('
', ''); + var onMDown = this.doesMenu() && nodes[i].n.length && nodes[i].isDynamic ? this.stringFormat('onmousedown="{0}.toggleBranch(\'{1}\', true)" style="cursor: pointer; cursor: hand"', this.myname, layerID) : ''; + var imgTag = this.stringFormat('', this.iconpath, gifname, modifier, layerID, onMDown); + var linkStart = nodes[i].link ? this.stringFormat('', nodes[i].link, this.linkTarget) : ''; + var linkEnd = nodes[i].link ? '' : ''; + + output = this.stringFormat('{0}{1}{2}{3}{4}{6}{7}
', + layerTag, + prepend, + parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages) ? '' : imgTag, + iconimg, + linkStart, + eventHandlers, + nodes[i].title, + linkEnd); + + /** + * Write out the HTML. Uses document.write for speed over layers and + * innerHTML. This however means no dynamic adding/removing nodes on + * the client side. This could be conditional I guess if dynamic + * adding/removing is required. + */ + document.write(output + "\r\n"); + + /** + * Traverse sub nodes ? + */ + if (nodes[i].n.length) { + /** + * Determine what to prepend. If there is only one root + * node then the prepend to pass to children is nothing. + * Otherwise it depends on where we are in the tree. + */ + if (parentLayerID == null && (nodes.length == 1 || this.noTopLevelImages)) { + var newPrepend = ''; + + } else if (i < (nodes.length - 1)) { + var newPrepend = prepend + this.stringFormat('', this.iconpath); + + } else { + var newPrepend = prepend + this.stringFormat('', this.iconpath); + } + + this.drawMenu(nodes[i].n, + level, + newPrepend, + nodes[i].expanded, + expanded ? 'inline' : 'none', + layerID); + } + } + } + +/** +* Toggles a branches visible status. Called from resetBranches() +* and also when a +/- graphic is clicked. +*/ + TreeMenu.prototype.toggleBranch = function (layerID, updateStatus) // OPTIONAL ARGS: fireEvents = true + { + var currentDisplay = this.getLayer(layerID).style.display; + var newDisplay = (this.branchStatus[layerID] && currentDisplay == 'inline') ? 'none' : 'inline'; + var fireEvents = arguments[2] != null ? arguments[2] : true; + + for (var i=0; i= 5)); + var is_gecko = (agt.indexOf('gecko') != -1); + + + var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)); + var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) ); + var is_ie4up = (is_ie && (is_major >= 4)); +//--> end hide JavaScript diff --git a/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.php b/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.php index 391fef6538..2127d09bb8 100755 --- a/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.php +++ b/libs/PhpDocumentor-1.3.2/HTML_TreeMenu-1.1.2/TreeMenu.php @@ -1,597 +1,597 @@ - | -// | Harald Radi | -// +-----------------------------------------------------------------------+ -// -// $Id$ - -/** -* @package HTML_TreeMenu -*/ -/** -* HTML_TreeMenu Class -* -* A simple couple of PHP classes and some not so simple -* Jabbascript which produces a tree menu. In IE this menu -* is dynamic, with branches being collapsable. In IE5+ the -* status of the collapsed/open branches persists across page -* refreshes.In any other browser the tree is static. Code is -* based on work of Harald Radi. -* -* Usage. -* -* After installing the package, copy the example php script to -* your servers document root. Also place the TreeMenu.js and the -* images folder in the same place. Running the script should -* then produce the tree. -* -* Thanks go to Chip Chapin (http://www.chipchapin.com) for many -* excellent ideas and improvements. -* -* @author Richard Heyes -* @author Harald Radi -* @access public -* @package HTML_TreeMenu -*/ - -class HTML_TreeMenu -{ - /** - * Indexed array of subnodes - * @var array - */ - var $items; - - /** - * Constructor - * - * @access public - */ - function HTML_TreeMenu() - { - // Not much to do here :( - } - - /** - * This function adds an item to the the tree. - * - * @access public - * @param object $node The node to add. This object should be - * a HTML_TreeNode object. - * @return object Returns a reference to the new node inside - * the tree. - */ - function &addItem(&$node) - { - $this->items[] = &$node; - return $this->items[count($this->items) - 1]; - } -} // HTML_TreeMenu - - -/** -* HTML_TreeNode class -* -* This class is supplementary to the above and provides a way to -* add nodes to the tree. A node can have other nodes added to it. -* -* @author Richard Heyes -* @author Harald Radi -* @access public -* @package HTML_TreeMenu -*/ -class HTML_TreeNode -{ - /** - * The text for this node. - * @var string - */ - var $text; - - /** - * The link for this node. - * @var string - */ - var $link; - - /** - * The icon for this node. - * @var string - */ - var $icon; - - /** - * The css class for this node - * @var string - */ - var $cssClass; - - /** - * Indexed array of subnodes - * @var array - */ - var $items; - - /** - * Whether this node is expanded or not - * @var bool - */ - var $expanded; - - /** - * Whether this node is dynamic or not - * @var bool - */ - var $isDynamic; - - /** - * Should this node be made visible? - * @var bool - */ - var $ensureVisible; - - /** - * The parent node. Null if top level - * @var object - */ - var $parent; - - /** - * Javascript event handlers; - * @var array - */ - var $events; - - /** - * Constructor - * - * @access public - * @param array $options An array of options which you can pass to change - * the way this node looks/acts. This can consist of: - * o text The title of the node, defaults to blank - * o link The link for the node, defaults to blank - * o icon The icon for the node, defaults to blank - * o class The CSS class for this node, defaults to blank - * o expanded The default expanded status of this node, defaults to false - * This doesn't affect non dynamic presentation types - * o isDynamic If this node is dynamic or not. Only affects - * certain presentation types. - * o ensureVisible If true this node will be made visible despite the expanded - * settings, and client side persistence. Will not affect - * some presentation styles, such as Listbox. Default is false - * @param array $events An array of javascript events and the corresponding event handlers. - * Additionally to the standard javascript events you can specify handlers - * for the 'onexpand', 'oncollapse' and 'ontoggle' events which will be fired - * whenever a node is collapsed and/or expanded. - */ - function HTML_TreeNode($options = array(), $events = array()) - { - $this->text = ''; - $this->link = ''; - $this->icon = ''; - $this->cssClass = ''; - $this->expanded = false; - $this->isDynamic = true; - $this->ensureVisible = false; - - $this->parent = null; - $this->events = $events; - - foreach ($options as $option => $value) { - $this->$option = $value; - } - } - - /** - * Allows setting of various parameters after the initial - * constructor call. Possible options you can set are: - * o text - * o link - * o icon - * o cssClass - * o expanded - * o isDynamic - * o ensureVisible - * ie The same options as in the constructor - * - * @access public - * @param string $option Option to set - * @param string $value Value to set the option to - */ - function setOption($option, $value) - { - $this->$option = $value; - } - - /** - * Adds a new subnode to this node. - * - * @access public - * @param object $node The new node - */ - function &addItem(&$node) - { - $node->parent = &$this; - $this->items[] = &$node; - - /** - * If the subnode has ensureVisible set it needs - * to be handled, and all parents set accordingly. - */ - if ($node->ensureVisible) { - $this->_ensureVisible(); - } - - return $this->items[count($this->items) - 1]; - } - - /** - * Private function to handle ensureVisible stuff - * - * @access private - */ - function _ensureVisible() - { - $this->ensureVisible = true; - $this->expanded = true; - - if (!is_null($this->parent)) { - $this->parent->_ensureVisible(); - } - } -} // HTML_TreeNode - - -/** -* HTML_TreeMenu_Presentation class -* -* Base class for other presentation classes to -* inherit from. -* @package HTML_TreeMenu -*/ -class HTML_TreeMenu_Presentation -{ - /** - * The TreeMenu structure - * @var object - */ - var $menu; - - /** - * Base constructor simply sets the menu object - * - * @param object $structure The menu structure - */ - function HTML_TreeMenu_Presentation(&$structure) - { - $this->menu = &$structure; - } - - /** - * Prints the HTML generated by the toHTML() method. - * toHTML() must therefore be defined by the derived - * class. - * - * @access public - * @param array Options to set. Any options taken by - * the presentation class can be specified - * here. - */ - function printMenu($options = array()) - { - foreach ($options as $option => $value) { - $this->$option = $value; - } - - echo $this->toHTML(); - } -} - -/** -* HTML_TreeMenu_DHTML class -* -* This class is a presentation class for the tree structure -* created using the TreeMenu/TreeNode. It presents the -* traditional tree, static for browsers that can't handle -* the DHTML. -* @package HTML_TreeMenu -*/ -class HTML_TreeMenu_DHTML extends HTML_TreeMenu_Presentation -{ - /** - * Dynamic status of the treemenu. If true (default) this has no effect. If - * false it will override all dynamic status vars and set the menu to be - * fully expanded an non-dynamic. - */ - var $isDynamic; - - /** - * Path to the images - * @var string - */ - var $images; - - /** - * Target for the links generated - * @var string - */ - var $linkTarget; - - /** - * Whether to use clientside persistence or not - * @var bool - */ - var $userPersistence; - - /** - * The default CSS class for the nodes - */ - var $defaultClass; - - /** - * Whether to skip first level branch images - * @var bool - */ - var $noTopLevelImages; - - /** - * Constructor, takes the tree structure as - * an argument and an array of options which - * can consist of: - * o images - The path to the images folder. Defaults to "images" - * o linkTarget - The target for the link. Defaults to "_self" - * o defaultClass - The default CSS class to apply to a node. Default is none. - * o usePersistence - Whether to use clientside persistence. This persistence - * is achieved using cookies. Default is true. - * o noTopLevelImages - Whether to skip displaying the first level of images if - * there is multiple top level branches. - * - * And also a boolean for whether the entire tree is dynamic or not. - * This overrides any perNode dynamic settings. - * - * @param object $structure The menu structure - * @param array $options Array of options - * @param bool $isDynamic Whether the tree is dynamic or not - */ - function HTML_TreeMenu_DHTML(&$structure, $options = array(), $isDynamic = true) - { - $this->menu = &$structure; - $this->isDynamic = $isDynamic; - - // Defaults - $this->images = 'images'; - $this->linkTarget = '_self'; - $this->defaultClass = ''; - $this->usePersistence = true; - $this->noTopLevelImages = false; - - foreach ($options as $option => $value) { - $this->$option = $value; - } - } - - /** - * Returns the HTML for the menu. This method can be - * used instead of printMenu() to use the menu system - * with a template system. - * - * @access public - * @return string The HTML for the menu - */ - function toHTML() - { - static $count = 0; - $menuObj = 'objTreeMenu_' . ++$count; - - $html = "\n"; - $html .= '"; - - return $html; - } - - /** - * Prints a node of the menu - * - * @access private - */ - function _nodeToHTML($nodeObj, $prefix, $return = 'newNode') - { - $expanded = $this->isDynamic ? ($nodeObj->expanded ? 'true' : 'false') : 'true'; - $isDynamic = $this->isDynamic ? ($nodeObj->isDynamic ? 'true' : 'false') : 'false'; - $html = sprintf("\t %s = %s.addItem(new TreeNode('%s', %s, %s, %s, %s, '%s'));\n", - $return, - $prefix, - $nodeObj->text, - !empty($nodeObj->icon) ? "'" . $nodeObj->icon . "'" : 'null', - !empty($nodeObj->link) ? "'" . addslashes($nodeObj->link) . "'" : 'null', - $expanded, - $isDynamic, - $nodeObj->cssClass); - - foreach ($nodeObj->events as $event => $handler) { - $html .= sprintf("\t %s.setEvent('%s', '%s');\n", - $return, - $event, - str_replace(array("\r", "\n", "'"), array('\r', '\n', "\'"), $handler)); - } - - /** - * Loop through subnodes - */ - if (!empty($nodeObj->items)) { - for ($i=0; $iitems); $i++) { - $html .= $this->_nodeToHTML($nodeObj->items[$i], $return, $return . '_' . ($i + 1)); - } - } - - return $html; - } -} - - -/** -* HTML_TreeMenu_Listbox class -* -* This class presents the menu as a listbox -* @package HTML_TreeMenu -*/ -class HTML_TreeMenu_Listbox extends HTML_TreeMenu_Presentation -{ - /** - * The text that is displayed in the first option - * @var string - */ - var $promoText; - - /** - * The character used for indentation - * @var string - */ - var $indentChar; - - /** - * How many of the indent chars to use - * per indentation level - * @var integer - */ - var $indentNum; - - /** - * Target for the links generated - * @var string - */ - var $linkTarget; - - /** - * Constructor - * - * @param object $structure The menu structure - * @param array $options Options whic affect the display of the listbox. - * These can consist of: - * o promoText The text that appears at the the top of the listbox - * Defaults to "Select..." - * o indentChar The character to use for indenting the nodes - * Defaults to " " - * o indentNum How many of the indentChars to use per indentation level - * Defaults to 2 - * o linkTarget Target for the links. Defaults to "_self" - * o submitText Text for the submit button. Defaults to "Go" - */ - function HTML_TreeMenu_Listbox($structure, $options = array()) - { - $this->menu = $structure; - $this->promoText = 'Select...'; - $this->indentChar = ' '; - $this->indentNum = 2; - $this->linkTarget = '_self'; - $this->submitText = 'Go'; - - foreach ($options as $option => $value) { - $this->$option = $value; - } - } - - /** - * Returns the HTML generated - */ - function toHTML() - { - static $count = 0; - $nodeHTML = ''; - - /** - * Loop through subnodes - */ - if (isset($this->menu->items)) { - for ($i=0; $imenu->items); $i++) { - $nodeHTML .= $this->_nodeToHTML($this->menu->items[$i]); - } - } - - return sprintf(' ', - $this->linkTarget, - 'HTML_TreeMenu_Listbox_' . ++$count, - 'HTML_TreeMenu_Listbox_' . $count, - 'HTML_TreeMenu_Listbox_' . $count, - $this->promoText, - $nodeHTML, - $this->submitText); - } - - /** - * Returns HTML for a single node - * - * @access private - */ - function _nodeToHTML($node, $prefix = '') - { - $html = sprintf('', $node->link, $prefix, $node->text); - - /** - * Loop through subnodes - */ - if (isset($node->items)) { - for ($i=0; $iitems); $i++) { - $html .= $this->_nodeToHTML($node->items[$i], $prefix . str_repeat($this->indentChar, $this->indentNum)); - } - } - - return $html; - } -} -?> + | +// | Harald Radi | +// +-----------------------------------------------------------------------+ +// +// $Id$ + +/** +* @package HTML_TreeMenu +*/ +/** +* HTML_TreeMenu Class +* +* A simple couple of PHP classes and some not so simple +* Jabbascript which produces a tree menu. In IE this menu +* is dynamic, with branches being collapsable. In IE5+ the +* status of the collapsed/open branches persists across page +* refreshes.In any other browser the tree is static. Code is +* based on work of Harald Radi. +* +* Usage. +* +* After installing the package, copy the example php script to +* your servers document root. Also place the TreeMenu.js and the +* images folder in the same place. Running the script should +* then produce the tree. +* +* Thanks go to Chip Chapin (http://www.chipchapin.com) for many +* excellent ideas and improvements. +* +* @author Richard Heyes +* @author Harald Radi +* @access public +* @package HTML_TreeMenu +*/ + +class HTML_TreeMenu +{ + /** + * Indexed array of subnodes + * @var array + */ + var $items; + + /** + * Constructor + * + * @access public + */ + function HTML_TreeMenu() + { + // Not much to do here :( + } + + /** + * This function adds an item to the the tree. + * + * @access public + * @param object $node The node to add. This object should be + * a HTML_TreeNode object. + * @return object Returns a reference to the new node inside + * the tree. + */ + function &addItem(&$node) + { + $this->items[] = &$node; + return $this->items[count($this->items) - 1]; + } +} // HTML_TreeMenu + + +/** +* HTML_TreeNode class +* +* This class is supplementary to the above and provides a way to +* add nodes to the tree. A node can have other nodes added to it. +* +* @author Richard Heyes +* @author Harald Radi +* @access public +* @package HTML_TreeMenu +*/ +class HTML_TreeNode +{ + /** + * The text for this node. + * @var string + */ + var $text; + + /** + * The link for this node. + * @var string + */ + var $link; + + /** + * The icon for this node. + * @var string + */ + var $icon; + + /** + * The css class for this node + * @var string + */ + var $cssClass; + + /** + * Indexed array of subnodes + * @var array + */ + var $items; + + /** + * Whether this node is expanded or not + * @var bool + */ + var $expanded; + + /** + * Whether this node is dynamic or not + * @var bool + */ + var $isDynamic; + + /** + * Should this node be made visible? + * @var bool + */ + var $ensureVisible; + + /** + * The parent node. Null if top level + * @var object + */ + var $parent; + + /** + * Javascript event handlers; + * @var array + */ + var $events; + + /** + * Constructor + * + * @access public + * @param array $options An array of options which you can pass to change + * the way this node looks/acts. This can consist of: + * o text The title of the node, defaults to blank + * o link The link for the node, defaults to blank + * o icon The icon for the node, defaults to blank + * o class The CSS class for this node, defaults to blank + * o expanded The default expanded status of this node, defaults to false + * This doesn't affect non dynamic presentation types + * o isDynamic If this node is dynamic or not. Only affects + * certain presentation types. + * o ensureVisible If true this node will be made visible despite the expanded + * settings, and client side persistence. Will not affect + * some presentation styles, such as Listbox. Default is false + * @param array $events An array of javascript events and the corresponding event handlers. + * Additionally to the standard javascript events you can specify handlers + * for the 'onexpand', 'oncollapse' and 'ontoggle' events which will be fired + * whenever a node is collapsed and/or expanded. + */ + function HTML_TreeNode($options = array(), $events = array()) + { + $this->text = ''; + $this->link = ''; + $this->icon = ''; + $this->cssClass = ''; + $this->expanded = false; + $this->isDynamic = true; + $this->ensureVisible = false; + + $this->parent = null; + $this->events = $events; + + foreach ($options as $option => $value) { + $this->$option = $value; + } + } + + /** + * Allows setting of various parameters after the initial + * constructor call. Possible options you can set are: + * o text + * o link + * o icon + * o cssClass + * o expanded + * o isDynamic + * o ensureVisible + * ie The same options as in the constructor + * + * @access public + * @param string $option Option to set + * @param string $value Value to set the option to + */ + function setOption($option, $value) + { + $this->$option = $value; + } + + /** + * Adds a new subnode to this node. + * + * @access public + * @param object $node The new node + */ + function &addItem(&$node) + { + $node->parent = &$this; + $this->items[] = &$node; + + /** + * If the subnode has ensureVisible set it needs + * to be handled, and all parents set accordingly. + */ + if ($node->ensureVisible) { + $this->_ensureVisible(); + } + + return $this->items[count($this->items) - 1]; + } + + /** + * Private function to handle ensureVisible stuff + * + * @access private + */ + function _ensureVisible() + { + $this->ensureVisible = true; + $this->expanded = true; + + if (!is_null($this->parent)) { + $this->parent->_ensureVisible(); + } + } +} // HTML_TreeNode + + +/** +* HTML_TreeMenu_Presentation class +* +* Base class for other presentation classes to +* inherit from. +* @package HTML_TreeMenu +*/ +class HTML_TreeMenu_Presentation +{ + /** + * The TreeMenu structure + * @var object + */ + var $menu; + + /** + * Base constructor simply sets the menu object + * + * @param object $structure The menu structure + */ + function HTML_TreeMenu_Presentation(&$structure) + { + $this->menu = &$structure; + } + + /** + * Prints the HTML generated by the toHTML() method. + * toHTML() must therefore be defined by the derived + * class. + * + * @access public + * @param array Options to set. Any options taken by + * the presentation class can be specified + * here. + */ + function printMenu($options = array()) + { + foreach ($options as $option => $value) { + $this->$option = $value; + } + + echo $this->toHTML(); + } +} + +/** +* HTML_TreeMenu_DHTML class +* +* This class is a presentation class for the tree structure +* created using the TreeMenu/TreeNode. It presents the +* traditional tree, static for browsers that can't handle +* the DHTML. +* @package HTML_TreeMenu +*/ +class HTML_TreeMenu_DHTML extends HTML_TreeMenu_Presentation +{ + /** + * Dynamic status of the treemenu. If true (default) this has no effect. If + * false it will override all dynamic status vars and set the menu to be + * fully expanded an non-dynamic. + */ + var $isDynamic; + + /** + * Path to the images + * @var string + */ + var $images; + + /** + * Target for the links generated + * @var string + */ + var $linkTarget; + + /** + * Whether to use clientside persistence or not + * @var bool + */ + var $userPersistence; + + /** + * The default CSS class for the nodes + */ + var $defaultClass; + + /** + * Whether to skip first level branch images + * @var bool + */ + var $noTopLevelImages; + + /** + * Constructor, takes the tree structure as + * an argument and an array of options which + * can consist of: + * o images - The path to the images folder. Defaults to "images" + * o linkTarget - The target for the link. Defaults to "_self" + * o defaultClass - The default CSS class to apply to a node. Default is none. + * o usePersistence - Whether to use clientside persistence. This persistence + * is achieved using cookies. Default is true. + * o noTopLevelImages - Whether to skip displaying the first level of images if + * there is multiple top level branches. + * + * And also a boolean for whether the entire tree is dynamic or not. + * This overrides any perNode dynamic settings. + * + * @param object $structure The menu structure + * @param array $options Array of options + * @param bool $isDynamic Whether the tree is dynamic or not + */ + function HTML_TreeMenu_DHTML(&$structure, $options = array(), $isDynamic = true) + { + $this->menu = &$structure; + $this->isDynamic = $isDynamic; + + // Defaults + $this->images = 'images'; + $this->linkTarget = '_self'; + $this->defaultClass = ''; + $this->usePersistence = true; + $this->noTopLevelImages = false; + + foreach ($options as $option => $value) { + $this->$option = $value; + } + } + + /** + * Returns the HTML for the menu. This method can be + * used instead of printMenu() to use the menu system + * with a template system. + * + * @access public + * @return string The HTML for the menu + */ + function toHTML() + { + static $count = 0; + $menuObj = 'objTreeMenu_' . ++$count; + + $html = "\n"; + $html .= '"; + + return $html; + } + + /** + * Prints a node of the menu + * + * @access private + */ + function _nodeToHTML($nodeObj, $prefix, $return = 'newNode') + { + $expanded = $this->isDynamic ? ($nodeObj->expanded ? 'true' : 'false') : 'true'; + $isDynamic = $this->isDynamic ? ($nodeObj->isDynamic ? 'true' : 'false') : 'false'; + $html = sprintf("\t %s = %s.addItem(new TreeNode('%s', %s, %s, %s, %s, '%s'));\n", + $return, + $prefix, + $nodeObj->text, + !empty($nodeObj->icon) ? "'" . $nodeObj->icon . "'" : 'null', + !empty($nodeObj->link) ? "'" . addslashes($nodeObj->link) . "'" : 'null', + $expanded, + $isDynamic, + $nodeObj->cssClass); + + foreach ($nodeObj->events as $event => $handler) { + $html .= sprintf("\t %s.setEvent('%s', '%s');\n", + $return, + $event, + str_replace(array("\r", "\n", "'"), array('\r', '\n', "\'"), $handler)); + } + + /** + * Loop through subnodes + */ + if (!empty($nodeObj->items)) { + for ($i=0; $iitems); $i++) { + $html .= $this->_nodeToHTML($nodeObj->items[$i], $return, $return . '_' . ($i + 1)); + } + } + + return $html; + } +} + + +/** +* HTML_TreeMenu_Listbox class +* +* This class presents the menu as a listbox +* @package HTML_TreeMenu +*/ +class HTML_TreeMenu_Listbox extends HTML_TreeMenu_Presentation +{ + /** + * The text that is displayed in the first option + * @var string + */ + var $promoText; + + /** + * The character used for indentation + * @var string + */ + var $indentChar; + + /** + * How many of the indent chars to use + * per indentation level + * @var integer + */ + var $indentNum; + + /** + * Target for the links generated + * @var string + */ + var $linkTarget; + + /** + * Constructor + * + * @param object $structure The menu structure + * @param array $options Options whic affect the display of the listbox. + * These can consist of: + * o promoText The text that appears at the the top of the listbox + * Defaults to "Select..." + * o indentChar The character to use for indenting the nodes + * Defaults to " " + * o indentNum How many of the indentChars to use per indentation level + * Defaults to 2 + * o linkTarget Target for the links. Defaults to "_self" + * o submitText Text for the submit button. Defaults to "Go" + */ + function HTML_TreeMenu_Listbox($structure, $options = array()) + { + $this->menu = $structure; + $this->promoText = 'Select...'; + $this->indentChar = ' '; + $this->indentNum = 2; + $this->linkTarget = '_self'; + $this->submitText = 'Go'; + + foreach ($options as $option => $value) { + $this->$option = $value; + } + } + + /** + * Returns the HTML generated + */ + function toHTML() + { + static $count = 0; + $nodeHTML = ''; + + /** + * Loop through subnodes + */ + if (isset($this->menu->items)) { + for ($i=0; $imenu->items); $i++) { + $nodeHTML .= $this->_nodeToHTML($this->menu->items[$i]); + } + } + + return sprintf('
', + $this->linkTarget, + 'HTML_TreeMenu_Listbox_' . ++$count, + 'HTML_TreeMenu_Listbox_' . $count, + 'HTML_TreeMenu_Listbox_' . $count, + $this->promoText, + $nodeHTML, + $this->submitText); + } + + /** + * Returns HTML for a single node + * + * @access private + */ + function _nodeToHTML($node, $prefix = '') + { + $html = sprintf('', $node->link, $prefix, $node->text); + + /** + * Loop through subnodes + */ + if (isset($node->items)) { + for ($i=0; $iitems); $i++) { + $html .= $this->_nodeToHTML($node->items[$i], $prefix . str_repeat($this->indentChar, $this->indentNum)); + } + } + + return $html; + } +} +?> diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/actions.php b/libs/PhpDocumentor-1.3.2/docbuilder/actions.php index 5152695714..d69e30d80f 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/actions.php +++ b/libs/PhpDocumentor-1.3.2/docbuilder/actions.php @@ -1,100 +1,100 @@ - - * @copyright 2003-2006 Andrew Eddie, Greg Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - */ -$path = dirname(__FILE__); -if ('@WEB-DIR@' != '@'.'WEB-DIR@') -{ - include_once( "@WEB-DIR@/PhpDocumentor/docbuilder/includes/utilities.php" ); -} else { - include_once( "$path/includes/utilities.php" ); -} - -$filename = ''; -if (isset($_GET) && isset($_GET['fileName'])) { - $filename = $_GET['fileName']; -} -$filename = realpath($filename); -$pd = DIRECTORY_SEPARATOR; -$test = ($pd == '/') ? '/' : 'C:\\'; -if (empty($filename) || ($filename == $test)) { - $filename = ($pd == '/') ? '/' : 'C:\\'; - $node = false; - getDir($filename,$node); -} - -?> - - - - docBuilder - phpDocumentor web interface - - - - - - - - - - - - - - - - - - - - + + * @copyright 2003-2006 Andrew Eddie, Greg Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + */ +$path = dirname(__FILE__); +if ('@WEB-DIR@' != '@'.'WEB-DIR@') +{ + include_once( "@WEB-DIR@/PhpDocumentor/docbuilder/includes/utilities.php" ); +} else { + include_once( "$path/includes/utilities.php" ); +} + +$filename = ''; +if (isset($_GET) && isset($_GET['fileName'])) { + $filename = $_GET['fileName']; +} +$filename = realpath($filename); +$pd = DIRECTORY_SEPARATOR; +$test = ($pd == '/') ? '/' : 'C:\\'; +if (empty($filename) || ($filename == $test)) { + $filename = ($pd == '/') ? '/' : 'C:\\'; + $node = false; + getDir($filename,$node); +} + +?> + + + + docBuilder - phpDocumentor web interface + + + + + + + +
Working Directory - - - - -
- -
 
+ + + + + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/blank.html b/libs/PhpDocumentor-1.3.2/docbuilder/blank.html index 7eea276e96..4f04005543 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/blank.html +++ b/libs/PhpDocumentor-1.3.2/docbuilder/blank.html @@ -5,11 +5,11 @@ - diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/builder.php b/libs/PhpDocumentor-1.3.2/docbuilder/builder.php index 9cc2f90a0b..f4200f0984 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/builder.php +++ b/libs/PhpDocumentor-1.3.2/docbuilder/builder.php @@ -1,128 +1,128 @@ - - - * @copyright 2003-2006 Andrew Eddie, Greg Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @see phpdoc.php - */ - -if (!function_exists('version_compare')) -{ - print "phpDocumentor requires PHP version 4.1.0 or greater to function"; - exit; -} - - -if ('@DATA-DIR@' != '@'.'DATA-DIR@') { - // set up include path so we can find all files, no matter what - $root_dir = 'PhpDocumentor'; - /** - * common file information - */ - include_once("$root_dir/phpDocumentor/common.inc.php"); - $GLOBALS['_phpDocumentor_install_dir'] = 'PhpDocumentor'; - // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] - $ini = phpDocumentor_parse_ini_file('@DATA-DIR@/PhpDocumentor/phpDocumentor.ini', true); - if (isset($ini['_phpDocumentor_options']['userdir'])) - { - $configdir = $ini['_phpDocumentor_options']['userdir']; - } else { - $configdir = '@DATA-DIR@/user'; - } -} else { - // set up include path so we can find all files, no matter what - $GLOBALS['_phpDocumentor_install_dir'] = dirname(dirname(realpath(__FILE__))); - $root_dir = dirname(dirname(__FILE__)); - /** - * common file information - */ - include_once("$root_dir/phpDocumentor/common.inc.php"); - // add my directory to the include path, and make it first, should fix any errors - if (substr(PHP_OS, 0, 3) == 'WIN') - { - ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); - } else { - ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); - } - // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] - $ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); - if (isset($ini['_phpDocumentor_options']['userdir'])) - { - $configdir = $ini['_phpDocumentor_options']['userdir']; - } else { - $configdir = $_phpDocumentor_install_dir . '/user'; - } -} - - - -// allow the user to change this at runtime -if (!empty($_REQUEST['altuserdir'])) $configdir = $_REQUEST['altuserdir']; -?> - - - - output: docbuilder - phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> doc generation information - - - - - - -$v) { - if (strpos( $k, 'setting_' ) === 0) { - $_GET['setting'][substr( $k, 8 )] = $v; - } - } - - echo "Parsing Files ..."; - flush(); - echo "
\n";
-	/** phpdoc.inc */
-	include("$root_dir/phpDocumentor/phpdoc.inc");
-	echo "
\n"; - echo "

Operation Completed!!

"; -} else { - echo "whoops!"; -} + + + * @copyright 2003-2006 Andrew Eddie, Greg Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @see phpdoc.php + */ + +if (!function_exists('version_compare')) +{ + print "phpDocumentor requires PHP version 4.1.0 or greater to function"; + exit; +} + + +if ('@DATA-DIR@' != '@'.'DATA-DIR@') { + // set up include path so we can find all files, no matter what + $root_dir = 'PhpDocumentor'; + /** + * common file information + */ + include_once("$root_dir/phpDocumentor/common.inc.php"); + $GLOBALS['_phpDocumentor_install_dir'] = 'PhpDocumentor'; + // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] + $ini = phpDocumentor_parse_ini_file('@DATA-DIR@/PhpDocumentor/phpDocumentor.ini', true); + if (isset($ini['_phpDocumentor_options']['userdir'])) + { + $configdir = $ini['_phpDocumentor_options']['userdir']; + } else { + $configdir = '@DATA-DIR@/user'; + } +} else { + // set up include path so we can find all files, no matter what + $GLOBALS['_phpDocumentor_install_dir'] = dirname(dirname(realpath(__FILE__))); + $root_dir = dirname(dirname(__FILE__)); + /** + * common file information + */ + include_once("$root_dir/phpDocumentor/common.inc.php"); + // add my directory to the include path, and make it first, should fix any errors + if (substr(PHP_OS, 0, 3) == 'WIN') + { + ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); + } else { + ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); + } + // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] + $ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); + if (isset($ini['_phpDocumentor_options']['userdir'])) + { + $configdir = $ini['_phpDocumentor_options']['userdir']; + } else { + $configdir = $_phpDocumentor_install_dir . '/user'; + } +} + + + +// allow the user to change this at runtime +if (!empty($_REQUEST['altuserdir'])) $configdir = $_REQUEST['altuserdir']; +?> + + + + output: docbuilder - phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> doc generation information + + + + + + +$v) { + if (strpos( $k, 'setting_' ) === 0) { + $_GET['setting'][substr( $k, 8 )] = $v; + } + } + + echo "Parsing Files ..."; + flush(); + echo "
\n";
+	/** phpdoc.inc */
+	include("$root_dir/phpDocumentor/phpdoc.inc");
+	echo "
\n"; + echo "

Operation Completed!!

"; +} else { + echo "whoops!"; +} ?> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/config.php b/libs/PhpDocumentor-1.3.2/docbuilder/config.php index ade07679bd..aa8a0e1148 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/config.php +++ b/libs/PhpDocumentor-1.3.2/docbuilder/config.php @@ -1,644 +1,644 @@ - - - * @copyright 2003-2006 Andrew Eddie, Greg Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @see phpdoc.php - */ - -if (!function_exists( 'version_compare' )) { - print "phpDocumentor requires PHP version 4.1.0 or greater to function"; - exit; -} - -if ('@DATA-DIR@' != '@'.'DATA-DIR@') -{ - $root_dir = 'PhpDocumentor'; - $path = '@WEB-DIR@/PhpDocumentor/docbuilder/images/'; - - /** - * common file information - */ - include_once("PhpDocumentor/phpDocumentor/common.inc.php"); - include_once("@WEB-DIR@/PhpDocumentor/docbuilder/includes/utilities.php" ); - - // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] - $ini = phpDocumentor_parse_ini_file('@DATA-DIR@/PhpDocumentor/phpDocumentor.ini', true); - if (isset($ini['_phpDocumentor_options']['userdir'])) { - $configdir = $ini['_phpDocumentor_options']['userdir']; - } else { - $configdir = '@DATA-DIR@/PhpDocumentor/user'; - } -} else { - $root_dir = dirname(dirname(__FILE__)); - $path = 'images/'; - - // set up include path so we can find all files, no matter what - $GLOBALS['_phpDocumentor_install_dir'] = dirname(dirname( realpath( __FILE__ ) )); - // add my directory to the include path, and make it first, should fix any errors - if (substr(PHP_OS, 0, 3) == 'WIN') { - ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); - } else { - ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); - } - - /** - * common file information - */ - include_once("$root_dir/phpDocumentor/common.inc.php"); - include_once("$root_dir/docbuilder/includes/utilities.php" ); - - // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] - $ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); - if (isset($ini['_phpDocumentor_options']['userdir'])) { - $configdir = $ini['_phpDocumentor_options']['userdir']; - } else { - $configdir = $_phpDocumentor_install_dir . '/user'; - } -} - -// allow the user to change this at runtime -if (!empty( $_REQUEST['altuserdir'] )) { - $configdir = $_REQUEST['altuserdir']; -} - -// assign the available converters -$converters = array( - "HTML:frames:default" => 'HTML:frames:default', - "HTML:frames:earthli" => 'HTML:frames:earthli', - "HTML:frames:l0l33t" => 'HTML:frames:l0l33t', - "HTML:frames:phpdoc.de" => 'HTML:frames:phpdoc.de', - "HTML:frames:phphtmllib" => 'HTML:frames:phphtmllib', - "HTML:frames:phpedit" => 'HTML:frames:phpedit', - "HTML:frames:DOM/default" => 'HTML:frames:DOM/default', - "HTML:frames:DOM/earthli" => 'HTML:frames:DOM/earthli', - "HTML:frames:DOM/l0l33t" => 'HTML:frames:DOM/l0l33t', - "HTML:frames:DOM/phpdoc.de" => 'HTML:frames:DOM/phpdoc.de', - "HTML:frames:DOM/phphtmllib" => 'HTML:frames:DOM/phphtmllib', - "HTML:Smarty:default" => 'HTML:Smarty:default', - "HTML:Smarty:HandS" => 'HTML:Smarty:HandS', - "HTML:Smarty:PHP" => 'HTML:Smarty:PHP', - "PDF:default:default" => 'PDF:default:default', - "CHM:default:default" => 'CHM:default:default', - "XML:DocBook/peardoc2:default" => 'XML:DocBook/peardoc2:default' -); - -// compile a list of available screen shots -$convScreenShots = array(); - -if ($dir = opendir($path)) { - while (($file = readdir( $dir )) !== false) { - if ($file != '.' && $file != '..') { - if (!is_dir( $path . $file )) { - if (strpos( $file, 'ss_' ) === 0) { - $key = substr( $file, 3 ); - $key = str_replace( '_', ':', $key ); - $key = str_replace( '-', '/', $key ); - $key = str_replace( '.png', '', $key ); - $convScreenShots[$key] = $file; - } - } - } - } -} - -?> - - - - Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> - - - - - - - - - - - - - - - - -
- -
-

Introduction

- Welcome to docBuilder. -

This is the new web-interface for running, in our opinion, the best in-code documentation compiler there is: phpDocumentor.

-

What's new in this release? Heaps of things, but here are the headlines:

-
    -
  • Much greater support for PEAR on both windows and linux
  • -
  • CHM, PDF and XML:DocBook/peardoc2 converters are all stable!
  • -
  • New tokenizer-based parser is literally twice as fast as the old parser (requires PHP 4.3.0+)
  • -
  • New external user-level manual parsing and generation allows cross-linking between API docs and DocBook-format tutorials/manuals!
  • -
  • Color syntax source highlighting and cross-referencing with documentation of source code in HTML, CHM and PDF with customizable templating
  • -
  • New Configuration files simplify repetitive and complex documentation tasks
  • -
  • Brand new extensive manual - which can be generated directly from the source using makedocs.ini!
  • -
  • Many improvements to in-code API documentation including new tags, and better handling of in-code html tags
  • -
  • New XML:DocBook/peardoc converter makes generating PEAR manual formats easy for PEAR developers along with the --pear command-line switch
  • -
  • Many new HTML templates, all of them beautiful thanks to Marco von Ballmoos
  • -
  • A brand new web interface thanks to Andrew Eddie!
  • -
-
- -
-

Config

-
Working Directory + + + + +
+ +
 
- - - - - - - - - - - - - - -
Use a pre-created config file for form values.
- change config directory: - - - changed to "'.$_REQUEST['altuserdir'].'"'; - } - ?> -
- Choose a config: - - - - -
- Normally, phpDocumentor uses the form values from this form to set up parsing. In version 1.2, phpDocumentor allows you to "save" form values in configuration files so that you can replicate common complicated documentation tasks with only one time. Just choose a config file below or create a new one and refresh this page to choose it. -
-
- -
-

Files

- - - - - - - - - - - - - - - - - - - - - -
- Files
to parse
-
- - -
- - - This is a group of comma-separated names of php files or tutorials that will be processed by phpDocumentor. -
- Directory
to parse
-
- - -
- - - This is a group of comma-separated directories where php files or tutorials are found that will be processed by phpDocumentor. phpDocumentor automatically parses subdirectories -
- Files
to ignore
-
- - -
- - - A list of files (full path or filename), and patterns to ignore. Patterns may use wildcards * and ?. To ignore all subdirectories named "test" for example, using "test/" To ignore all files and directories with test in their name use "*test*" -
- Packages
to parse
-
- - - The parameter packages is a group of comma separated names of abstract packages that will be processed by phpDocumentor. All package names must be separated by commas. -
-
- - -
-

Output

- - - - - - - - - - - -
- Target -
- - -
- - - Target is the directory where the output produced by phpDocumentor will reside. -
- Output
Format
-
- -
- Output type:Converter name:template name -
- -
- - Add the converter in the help box - -
-
- Screen Shot -
- Outputformat may be HTML, XML, PDF, or CHM (case-sensitive) in version 1.2. -
There is only one Converter for both CHM and PDF:
default. -
There are 2 HTML Converters:
frames or Smarty. -
frames templates may be any of: -
- default, earthli, l0l33t, phpdoc.de, phphtmllib, phpedit, DOM/default, DOM/earthli, DOM/l0l33t, DOM/phphtmllib, or DOM/phpdoc.de. -
- Smarty templates may be any of: -
- default, HandS, or PHP -
- XML:DocBook/peardoc2:default is the only choice for XML in 1.2.2 -
-
- -
-

Options

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Generated Documentation Title - - - - Choose a title for the generated documentation -
- Default Package Name - - - - Choose a name for the default package -
- Default Category Name - - - - Choose a name for the default category. This is only used by the peardoc2 converter -
- Custom Tags - - - - Custom Tags is a comma-separated list of tags you want phpDocumentor to include as valid tags in this parse. An example would be 'value, size' to allow @value and @size tags. -
- Parse @access private and @internal/{@internal}} - - - - The parameter Parse @access private tells phpDocumentor whether to parse elements with an '@access private' tag in their docblock. In addition, it will turn on parsing of @internal tags and inline {@internal}} sections -
- Generate Highlighted Source Code - - - - The parameter Generate Highlighted Source Code tells phpDocumentor whether to generate highlighted XRef source code similar to PHP-XRef output. -
- JavaDoc-compliant
Description parsing.
-
- - - Normally, phpDocumentor uses several rules to determine the short description. This switch asks phpDocumentor to simply search for the first period (.) and use it to delineate the short description. In addition, the short description will not be separated from the long description. -
- PEAR package repository parsing - - - - PEAR package repositories have specific requirements: -
    -
  1. Every package is in a directory with the same name.
  2. -
  3. All private data members and methods begin with an underscore (function _privfunction()).
  4. -
  5. _Classname() is a destructor
  6. -
- This option recognizes these facts and uses them to make assumptions about packaging and access levels. Note that with PHP 5, the destructor option will be obsolete. -
-
- -
-

Credits

- phpDocumentor written by Joshua Eichorn -
Web Interface originally written by Juan Pablo Morales, enhanced by Greg Beaver and super-charged by Andrew Eddie -

- Joshua Eichorn jeichorn@phpdoc.org -
Juan Pablo Morales ju-moral@uniandes.edu.co -
Gregory Beaver cellog@users.sourceforge.net -
Andrew Eddie eddieajau@users.sourceforge.net -

-

- If you have any problems with phpDocumentor, please visit the website: phpdocu.sourceforge.net and submit a bug -

- - -
-		Last modified: $Date: 2006/04/30 22:18:13 $
-		Revision: $Revision: 1.4 $
-		
-
- -
- - - - - - - - - + + + * @copyright 2003-2006 Andrew Eddie, Greg Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @see phpdoc.php + */ + +if (!function_exists( 'version_compare' )) { + print "phpDocumentor requires PHP version 4.1.0 or greater to function"; + exit; +} + +if ('@DATA-DIR@' != '@'.'DATA-DIR@') +{ + $root_dir = 'PhpDocumentor'; + $path = '@WEB-DIR@/PhpDocumentor/docbuilder/images/'; + + /** + * common file information + */ + include_once("PhpDocumentor/phpDocumentor/common.inc.php"); + include_once("@WEB-DIR@/PhpDocumentor/docbuilder/includes/utilities.php" ); + + // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] + $ini = phpDocumentor_parse_ini_file('@DATA-DIR@/PhpDocumentor/phpDocumentor.ini', true); + if (isset($ini['_phpDocumentor_options']['userdir'])) { + $configdir = $ini['_phpDocumentor_options']['userdir']; + } else { + $configdir = '@DATA-DIR@/PhpDocumentor/user'; + } +} else { + $root_dir = dirname(dirname(__FILE__)); + $path = 'images/'; + + // set up include path so we can find all files, no matter what + $GLOBALS['_phpDocumentor_install_dir'] = dirname(dirname( realpath( __FILE__ ) )); + // add my directory to the include path, and make it first, should fix any errors + if (substr(PHP_OS, 0, 3) == 'WIN') { + ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); + } else { + ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); + } + + /** + * common file information + */ + include_once("$root_dir/phpDocumentor/common.inc.php"); + include_once("$root_dir/docbuilder/includes/utilities.php" ); + + // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] + $ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); + if (isset($ini['_phpDocumentor_options']['userdir'])) { + $configdir = $ini['_phpDocumentor_options']['userdir']; + } else { + $configdir = $_phpDocumentor_install_dir . '/user'; + } +} + +// allow the user to change this at runtime +if (!empty( $_REQUEST['altuserdir'] )) { + $configdir = $_REQUEST['altuserdir']; +} + +// assign the available converters +$converters = array( + "HTML:frames:default" => 'HTML:frames:default', + "HTML:frames:earthli" => 'HTML:frames:earthli', + "HTML:frames:l0l33t" => 'HTML:frames:l0l33t', + "HTML:frames:phpdoc.de" => 'HTML:frames:phpdoc.de', + "HTML:frames:phphtmllib" => 'HTML:frames:phphtmllib', + "HTML:frames:phpedit" => 'HTML:frames:phpedit', + "HTML:frames:DOM/default" => 'HTML:frames:DOM/default', + "HTML:frames:DOM/earthli" => 'HTML:frames:DOM/earthli', + "HTML:frames:DOM/l0l33t" => 'HTML:frames:DOM/l0l33t', + "HTML:frames:DOM/phpdoc.de" => 'HTML:frames:DOM/phpdoc.de', + "HTML:frames:DOM/phphtmllib" => 'HTML:frames:DOM/phphtmllib', + "HTML:Smarty:default" => 'HTML:Smarty:default', + "HTML:Smarty:HandS" => 'HTML:Smarty:HandS', + "HTML:Smarty:PHP" => 'HTML:Smarty:PHP', + "PDF:default:default" => 'PDF:default:default', + "CHM:default:default" => 'CHM:default:default', + "XML:DocBook/peardoc2:default" => 'XML:DocBook/peardoc2:default' +); + +// compile a list of available screen shots +$convScreenShots = array(); + +if ($dir = opendir($path)) { + while (($file = readdir( $dir )) !== false) { + if ($file != '.' && $file != '..') { + if (!is_dir( $path . $file )) { + if (strpos( $file, 'ss_' ) === 0) { + $key = substr( $file, 3 ); + $key = str_replace( '_', ':', $key ); + $key = str_replace( '-', '/', $key ); + $key = str_replace( '.png', '', $key ); + $convScreenShots[$key] = $file; + } + } + } + } +} + +?> + + + + Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> + + + + + + + + + + + + + + +
+ +
+ +
+

Introduction

+ Welcome to docBuilder. +

This is the new web-interface for running, in our opinion, the best in-code documentation compiler there is: phpDocumentor.

+

What's new in this release? Heaps of things, but here are the headlines:

+
    +
  • Much greater support for PEAR on both windows and linux
  • +
  • CHM, PDF and XML:DocBook/peardoc2 converters are all stable!
  • +
  • New tokenizer-based parser is literally twice as fast as the old parser (requires PHP 4.3.0+)
  • +
  • New external user-level manual parsing and generation allows cross-linking between API docs and DocBook-format tutorials/manuals!
  • +
  • Color syntax source highlighting and cross-referencing with documentation of source code in HTML, CHM and PDF with customizable templating
  • +
  • New Configuration files simplify repetitive and complex documentation tasks
  • +
  • Brand new extensive manual - which can be generated directly from the source using makedocs.ini!
  • +
  • Many improvements to in-code API documentation including new tags, and better handling of in-code html tags
  • +
  • New XML:DocBook/peardoc converter makes generating PEAR manual formats easy for PEAR developers along with the --pear command-line switch
  • +
  • Many new HTML templates, all of them beautiful thanks to Marco von Ballmoos
  • +
  • A brand new web interface thanks to Andrew Eddie!
  • +
+
+ +
+

Config

+ + + + + + + + + + + + + + + +
Use a pre-created config file for form values.
+ change config directory: + + + changed to "'.$_REQUEST['altuserdir'].'"'; + } + ?> +
+ Choose a config: + + + + +
+ Normally, phpDocumentor uses the form values from this form to set up parsing. In version 1.2, phpDocumentor allows you to "save" form values in configuration files so that you can replicate common complicated documentation tasks with only one time. Just choose a config file below or create a new one and refresh this page to choose it. +
+
+ +
+

Files

+ + + + + + + + + + + + + + + + + + + + + +
+ Files
to parse
+
+ + +
+ + + This is a group of comma-separated names of php files or tutorials that will be processed by phpDocumentor. +
+ Directory
to parse
+
+ + +
+ + + This is a group of comma-separated directories where php files or tutorials are found that will be processed by phpDocumentor. phpDocumentor automatically parses subdirectories +
+ Files
to ignore
+
+ + +
+ + + A list of files (full path or filename), and patterns to ignore. Patterns may use wildcards * and ?. To ignore all subdirectories named "test" for example, using "test/" To ignore all files and directories with test in their name use "*test*" +
+ Packages
to parse
+
+ + + The parameter packages is a group of comma separated names of abstract packages that will be processed by phpDocumentor. All package names must be separated by commas. +
+
+ + +
+

Output

+ + + + + + + + + + + +
+ Target +
+ + +
+ + + Target is the directory where the output produced by phpDocumentor will reside. +
+ Output
Format
+
+ +
+ Output type:Converter name:template name +
+ +
+ + Add the converter in the help box + +
+
+ Screen Shot +
+ Outputformat may be HTML, XML, PDF, or CHM (case-sensitive) in version 1.2. +
There is only one Converter for both CHM and PDF:
default. +
There are 2 HTML Converters:
frames or Smarty. +
frames templates may be any of: +
+ default, earthli, l0l33t, phpdoc.de, phphtmllib, phpedit, DOM/default, DOM/earthli, DOM/l0l33t, DOM/phphtmllib, or DOM/phpdoc.de. +
+ Smarty templates may be any of: +
+ default, HandS, or PHP +
+ XML:DocBook/peardoc2:default is the only choice for XML in 1.2.2 +
+
+ +
+

Options

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Generated Documentation Title + + + + Choose a title for the generated documentation +
+ Default Package Name + + + + Choose a name for the default package +
+ Default Category Name + + + + Choose a name for the default category. This is only used by the peardoc2 converter +
+ Custom Tags + + + + Custom Tags is a comma-separated list of tags you want phpDocumentor to include as valid tags in this parse. An example would be 'value, size' to allow @value and @size tags. +
+ Parse @access private and @internal/{@internal}} + + + + The parameter Parse @access private tells phpDocumentor whether to parse elements with an '@access private' tag in their docblock. In addition, it will turn on parsing of @internal tags and inline {@internal}} sections +
+ Generate Highlighted Source Code + + + + The parameter Generate Highlighted Source Code tells phpDocumentor whether to generate highlighted XRef source code similar to PHP-XRef output. +
+ JavaDoc-compliant
Description parsing.
+
+ + + Normally, phpDocumentor uses several rules to determine the short description. This switch asks phpDocumentor to simply search for the first period (.) and use it to delineate the short description. In addition, the short description will not be separated from the long description. +
+ PEAR package repository parsing + + + + PEAR package repositories have specific requirements: +
    +
  1. Every package is in a directory with the same name.
  2. +
  3. All private data members and methods begin with an underscore (function _privfunction()).
  4. +
  5. _Classname() is a destructor
  6. +
+ This option recognizes these facts and uses them to make assumptions about packaging and access levels. Note that with PHP 5, the destructor option will be obsolete. +
+
+ +
+

Credits

+ phpDocumentor written by Joshua Eichorn +
Web Interface originally written by Juan Pablo Morales, enhanced by Greg Beaver and super-charged by Andrew Eddie +

+ Joshua Eichorn jeichorn@phpdoc.org +
Juan Pablo Morales ju-moral@uniandes.edu.co +
Gregory Beaver cellog@users.sourceforge.net +
Andrew Eddie eddieajau@users.sourceforge.net +

+

+ If you have any problems with phpDocumentor, please visit the website: phpdocu.sourceforge.net and submit a bug +

+ + +
+		Last modified: $Date: 2006/04/30 22:18:13 $
+		Revision: $Revision: 1.4 $
+		
+
+ +
+ + + +
+ + + + + diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/file_dialog.php b/libs/PhpDocumentor-1.3.2/docbuilder/file_dialog.php index 6fc80c5e20..b9160ade50 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/file_dialog.php +++ b/libs/PhpDocumentor-1.3.2/docbuilder/file_dialog.php @@ -1,293 +1,293 @@ - - - * @copyright 2003-2006 Andrew Eddie, Greg Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @see phpdoc.php - */ -if (!function_exists( 'version_compare' )) { - print "phpDocumentor requires PHP version 4.1.0 or greater to function"; - exit; -} - -if ('@WEB-DIR@' != '@'.'WEB-DIR@') -{ - /** - * common file information - */ - require_once 'PhpDocumentor/phpDocumentor/common.inc.php'; - require_once 'PhpDocumentor/HTML_TreeMenu-1.1.2/TreeMenu.php'; - require_once( '@WEB-DIR@' . PATH_DELIMITER . 'PhpDocumentor/docbuilder/includes/utilities.php' ); - - define(PHPDOC_WEBROOT_DIR, 'PhpDocumentor'); - - // set up include path so we can find all files, no matter what - $GLOBALS['_phpDocumentor_install_dir'] = PHPDOC_WEBROOT_DIR; - - // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] - $ini = phpDocumentor_parse_ini_file('@DATA-DIR@' . PATH_DELIMITER . 'PhpDocumentor/phpDocumentor.ini', true); - if (isset($ini['_phpDocumentor_options']['userdir'])) { - $configdir = $ini['_phpDocumentor_options']['userdir']; - } else { - $configdir = '@DATA-DIR@' . PATH_DELIMITER . 'PhpDocumentor/user'; - } -} else { - - define(PHPDOC_WEBROOT_DIR, dirname(dirname(__FILE__))); - /** - * common file information - */ - include_once(PHPDOC_WEBROOT_DIR . "/phpDocumentor/common.inc.php"); - include_once(PHPDOC_WEBROOT_DIR . "/HTML_TreeMenu-1.1.2/TreeMenu.php"); - include_once(PHPDOC_WEBROOT_DIR . "/docbuilder/includes/utilities.php" ); - - // set up include path so we can find all files, no matter what - $GLOBALS['_phpDocumentor_install_dir'] = dirname(dirname( realpath( __FILE__ ) )); - // add my directory to the include path, and make it first, should fix any errors - if (substr(PHP_OS, 0, 3) == 'WIN') { - ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); - } else { - ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); - } - - // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] - $ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); - if (isset($ini['_phpDocumentor_options']['userdir'])) { - $configdir = $ini['_phpDocumentor_options']['userdir']; - } else { - $configdir = $_phpDocumentor_install_dir . '/user'; - } -} - -// allow the user to change this at runtime -if (!empty( $_REQUEST['altuserdir'] )) { - $configdir = $_REQUEST['altuserdir']; -} -?> - - - - File browser - - - - - -path = $path; - $options = array(); - if ($text) $options['text'] = $text; - if ($link) $options['link'] = $link; - if ($icon) $options['icon'] = $icon; - HTML_TreeNode::HTML_TreeNode($options,$events); - } - } - - - $menu = new HTML_TreeMenu(); - $filename = ''; - if (isset($_GET) && isset($_GET['fileName'])) { - $filename = $_GET['fileName']; - } - $filename = realpath($filename); - $pd = (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'; - $test = ($pd == '/') ? '/' : 'C:\\'; - if (empty($filename) || ($filename == $test)) { - $filename = ($pd == '/') ? '/' : 'C:\\'; - $node = false; - getDir($filename,$node); - } else { - flush(); -// if ($pd != '/') $pd = $pd.$pd; - $anode = false; - switchDirTree($filename,$anode); -// recurseDir($filename,$anode); - $node = new HTML_TreeNode(array('text' => "Click to view ".addslashes($filename),'link' => "",'icon' => 'branchtop.gif')); - $node->addItem($anode); - }; - $menu->addItem($node); - if ('@WEB-DIR@' != '@'.'WEB-DIR@') - { - $DHTMLmenu = &new HTML_TreeMenu_DHTML($menu, - array('images' => '../HTML_TreeMenu-1.1.2/images')); - } else { - $DHTMLmenu = &new HTML_TreeMenu_DHTML($menu, - array('images' => str_replace('/docbuilder/file_dialog.php','',$_SERVER['PHP_SELF']) . - '/HTML_TreeMenu-1.1.2/images')); - } -?> - - - - - -Directory Browser - - - - - - - - - - - - - - - - - - - - -
- Use this to find directories and files which can be used below: -
- - - - - -
- - - -
- - printMenu(); ?> -
- - - + + + * @copyright 2003-2006 Andrew Eddie, Greg Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @see phpdoc.php + */ +if (!function_exists( 'version_compare' )) { + print "phpDocumentor requires PHP version 4.1.0 or greater to function"; + exit; +} + +if ('@WEB-DIR@' != '@'.'WEB-DIR@') +{ + /** + * common file information + */ + require_once 'PhpDocumentor/phpDocumentor/common.inc.php'; + require_once 'PhpDocumentor/HTML_TreeMenu-1.1.2/TreeMenu.php'; + require_once( '@WEB-DIR@' . PATH_DELIMITER . 'PhpDocumentor/docbuilder/includes/utilities.php' ); + + define(PHPDOC_WEBROOT_DIR, 'PhpDocumentor'); + + // set up include path so we can find all files, no matter what + $GLOBALS['_phpDocumentor_install_dir'] = PHPDOC_WEBROOT_DIR; + + // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] + $ini = phpDocumentor_parse_ini_file('@DATA-DIR@' . PATH_DELIMITER . 'PhpDocumentor/phpDocumentor.ini', true); + if (isset($ini['_phpDocumentor_options']['userdir'])) { + $configdir = $ini['_phpDocumentor_options']['userdir']; + } else { + $configdir = '@DATA-DIR@' . PATH_DELIMITER . 'PhpDocumentor/user'; + } +} else { + + define(PHPDOC_WEBROOT_DIR, dirname(dirname(__FILE__))); + /** + * common file information + */ + include_once(PHPDOC_WEBROOT_DIR . "/phpDocumentor/common.inc.php"); + include_once(PHPDOC_WEBROOT_DIR . "/HTML_TreeMenu-1.1.2/TreeMenu.php"); + include_once(PHPDOC_WEBROOT_DIR . "/docbuilder/includes/utilities.php" ); + + // set up include path so we can find all files, no matter what + $GLOBALS['_phpDocumentor_install_dir'] = dirname(dirname( realpath( __FILE__ ) )); + // add my directory to the include path, and make it first, should fix any errors + if (substr(PHP_OS, 0, 3) == 'WIN') { + ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); + } else { + ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); + } + + // find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] + $ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); + if (isset($ini['_phpDocumentor_options']['userdir'])) { + $configdir = $ini['_phpDocumentor_options']['userdir']; + } else { + $configdir = $_phpDocumentor_install_dir . '/user'; + } +} + +// allow the user to change this at runtime +if (!empty( $_REQUEST['altuserdir'] )) { + $configdir = $_REQUEST['altuserdir']; +} +?> + + + + File browser + + + + + +path = $path; + $options = array(); + if ($text) $options['text'] = $text; + if ($link) $options['link'] = $link; + if ($icon) $options['icon'] = $icon; + HTML_TreeNode::HTML_TreeNode($options,$events); + } + } + + + $menu = new HTML_TreeMenu(); + $filename = ''; + if (isset($_GET) && isset($_GET['fileName'])) { + $filename = $_GET['fileName']; + } + $filename = realpath($filename); + $pd = (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'; + $test = ($pd == '/') ? '/' : 'C:\\'; + if (empty($filename) || ($filename == $test)) { + $filename = ($pd == '/') ? '/' : 'C:\\'; + $node = false; + getDir($filename,$node); + } else { + flush(); +// if ($pd != '/') $pd = $pd.$pd; + $anode = false; + switchDirTree($filename,$anode); +// recurseDir($filename,$anode); + $node = new HTML_TreeNode(array('text' => "Click to view ".addslashes($filename),'link' => "",'icon' => 'branchtop.gif')); + $node->addItem($anode); + }; + $menu->addItem($node); + if ('@WEB-DIR@' != '@'.'WEB-DIR@') + { + $DHTMLmenu = &new HTML_TreeMenu_DHTML($menu, + array('images' => '../HTML_TreeMenu-1.1.2/images')); + } else { + $DHTMLmenu = &new HTML_TreeMenu_DHTML($menu, + array('images' => str_replace('/docbuilder/file_dialog.php','',$_SERVER['PHP_SELF']) . + '/HTML_TreeMenu-1.1.2/images')); + } +?> + + + + + +Directory Browser + + + + + + + + + + + + + + + + + + + + +
+ Use this to find directories and files which can be used below: +
+ + + + + +
+ + + +
+ + printMenu(); ?> +
+ + + diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/includes/tab.webfx.css b/libs/PhpDocumentor-1.3.2/docbuilder/includes/tab.webfx.css index 0e014715a6..38c1e8baa3 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/includes/tab.webfx.css +++ b/libs/PhpDocumentor-1.3.2/docbuilder/includes/tab.webfx.css @@ -1,9 +1,9 @@ -/* - -bright: rgb(234,242,255); -normal: rgb(120,172,255); -dark: rgb(0,66,174); - +/* + +bright: rgb(234,242,255); +normal: rgb(120,172,255); +dark: rgb(0,66,174); + */ .dynamic-tab-pane-control.tab-pane { position: relative; @@ -63,9 +63,9 @@ dark: rgb(0,66,174); border: 1px solid rgb(120, 172, 255); background: White; z-index: 2; - /* - position: relative; - top: -2px; + /* + position: relative; + top: -2px; */ position: absolute; top: 23px; diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/includes/tabpane.js b/libs/PhpDocumentor-1.3.2/docbuilder/includes/tabpane.js index 30a339c387..8568b86ebe 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/includes/tabpane.js +++ b/libs/PhpDocumentor-1.3.2/docbuilder/includes/tabpane.js @@ -1,309 +1,309 @@ -/* - * Tab Pane - * - * This script was created by Erik Arvidsson (erik(at)eae.net) - * for WebFX (http://webfx.eae.net) - * Copyright 2002 - * - * For usage see license at http://webfx.eae.net/license.html - * - * Version: 1.0 - * Created: 2002-01-?? First working version - * Updated: 2002-02-17 Cleaned up for 1.0 public version - * - * Dependencies: *.css - a css file to define the layout - * - */ - - -// This function is used to define if the browser supports the needed -// features -function hasSupport() { - - if (typeof hasSupport.support != "undefined") - return hasSupport.support; - - var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); - - hasSupport.support = ( typeof document.implementation != "undefined" && - document.implementation.hasFeature( "html", "1.0" ) || ie55 ) - - // IE55 has a serious DOM1 bug... Patch it! - if ( ie55 ) { - document._getElementsByTagName = document.getElementsByTagName; - document.getElementsByTagName = function ( sTagName ) { - if ( sTagName == "*" ) - return document.all; - else - return document._getElementsByTagName( sTagName ); - }; - } - - return hasSupport.support; -} - -/////////////////////////////////////////////////////////////////////////////////// -// The constructor for tab panes -// -// el : HTMLElement The html element used to represent the tab pane -// bUseCookie : Boolean Optional. Default is true. Used to determine whether to us -// persistance using cookies or not -// -function WebFXTabPane( el, bUseCookie ) { - if ( !hasSupport() || el == null ) return; - - this.element = el; - this.element.tabPane = this; - this.pages = []; - this.selectedIndex = null; - this.useCookie = bUseCookie != null ? bUseCookie : false; - - // add class name tag to class name - this.element.className = this.classNameTag + " " + this.element.className; - - // add tab row - this.tabRow = document.createElement( "div" ); - this.tabRow.className = "tab-row"; - el.insertBefore( this.tabRow, el.firstChild ); - - var tabIndex = 0; - if ( this.useCookie ) { - tabIndex = Number( WebFXTabPane.getCookie( "webfxtab_" + this.element.id ) ); - if ( isNaN( tabIndex ) ) - tabIndex = 0; - } - - this.selectedIndex = tabIndex; - - // loop through child nodes and add them - var cs = el.childNodes; - var n; - for (var i = 0; i < cs.length; i++) { - if (cs[i].nodeType == 1 && cs[i].className == "tab-page") { - this.addTabPage( cs[i] ); - } - } -} - -WebFXTabPane.prototype = { - - classNameTag: "dynamic-tab-pane-control", - - setSelectedIndex: function ( n ) { - if (this.selectedIndex != n) { - if (this.selectedIndex != null && this.pages[ this.selectedIndex ] != null ) - this.pages[ this.selectedIndex ].hide(); - this.selectedIndex = n; - this.pages[ this.selectedIndex ].show(); - - if ( this.useCookie ) - WebFXTabPane.setCookie( "webfxtab_" + this.element.id, n ); // session cookie - } - }, - - getSelectedIndex: function () { - return this.selectedIndex; - }, - - addTabPage: function ( oElement ) { - if ( !hasSupport() ) return; - - if ( oElement.tabPage == this ) // already added - return oElement.tabPage; - - var n = this.pages.length; - var tp = this.pages[n] = new WebFXTabPage( oElement, this, n ); - tp.tabPane = this; - - // move the tab out of the box - this.tabRow.appendChild( tp.tab ); - - if ( n == this.selectedIndex ) - tp.show(); - else - tp.hide(); - - return tp; - } -}; - -// Cookie handling -WebFXTabPane.setCookie = function ( sName, sValue, nDays ) { - var expires = ""; - if ( nDays ) { - var d = new Date(); - d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 ); - expires = "; expires=" + d.toGMTString(); - } - - document.cookie = sName + "=" + sValue + expires + "; path=/"; -}; - -WebFXTabPane.getCookie = function (sName) { - var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" ); - var res = re.exec( document.cookie ); - return res != null ? res[3] : null; -}; - -WebFXTabPane.removeCookie = function ( name ) { - setCookie( name, "", -1 ); -}; - - - - - - - - -/////////////////////////////////////////////////////////////////////////////////// -// The constructor for tab pages. This one should not be used. -// Use WebFXTabPage.addTabPage instead -// -// el : HTMLElement The html element used to represent the tab pane -// tabPane : WebFXTabPane The parent tab pane -// nindex : Number The index of the page in the parent pane page array -// -function WebFXTabPage( el, tabPane, nIndex ) { - if ( !hasSupport() || el == null ) return; - - this.element = el; - this.element.tabPage = this; - this.index = nIndex; - - var cs = el.childNodes; - for (var i = 0; i < cs.length; i++) { - if (cs[i].nodeType == 1 && cs[i].className == "tab") { - this.tab = cs[i]; - break; - } - } - - // insert a tag around content to support keyboard navigation - var a = document.createElement( "A" ); - a.href = "javascript:void 0;"; - while ( this.tab.hasChildNodes() ) - a.appendChild( this.tab.firstChild ); - this.tab.appendChild( a ); - - - anchor = ''; - if ( document.URL.indexOf( '#' ) != -1 ) { - anchor = document.URL.substr( document.URL.indexOf( '#' ) + 1); - } - j = 0; - if ( anchor.length > 0 ) { - finalList = new Array(); - listOfAnchors = el.getElementsByTagName('A'); - for (i=0; i 0 ) { + finalList = new Array(); + listOfAnchors = el.getElementsByTagName('A'); + for (i=0; i - * @copyright 2003-2006 Andrew Eddie, Greg Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - */ - -if ('@DATA-DIR@' != '@'.'DATA-DIR@') -{ - include_once('PhpDocumentor/HTML_TreeMenu-1.1.2/TreeMenu.php'); -} else { - include_once(dirname(realpath(__FILE__))."/../../HTML_TreeMenu-1.1.2/TreeMenu.php"); -} - -/** - * Allows png's with alpha transparency to be displayed in IE 6 - * @param string $src path to the source image - * @param int $wid width on the image [optional] - * @param int $hgt height on the image [optional] - * @param string $alt hover text for the image [optional] - */ -function showImage( $src, $wid='', $hgt='', $alt='' ) { - if (strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0' ) !== false) { - return "
"; - } else { - return "\"$alt\""; - } -} - -/** - * Returns a select box based on an key,value array where selected is based on key - * @param array $arr array of the key-text pairs - * @param string $select_name The name of the select box - * @param string $select_attribs Additional attributes to insert into the html select tag - * @param string $selected The key value of the selected eleme - */ -function htmlArraySelect( &$arr, $select_name, $select_attribs, $selected ) { - GLOBAL $AppUI; - reset( $arr ); - $s = "\n\n"; - return $s; -} - -function getDir($path,&$node) { - global $pd; - if (!$dir = opendir($path)) return; - - $node = new HTML_TreeNode(array('text' => basename(realpath($path)), 'link' => "", 'icon' => 'folder.gif')); - while (($file = readdir($dir)) !== false) - { - if ($file != '.' && $file != '..') - { - if (is_dir("$path$pd$file") && !is_link("$path$pd$file")) - { - $entry[] = "$path$pd$file"; - } - } - } - closedir($dir); - for($i = 0; $i < count($entry); $i++) - { - $node->addItem(new HTML_TreeNode(array('text'=>basename(realpath($entry[$i])), 'link' => "javascript:setHelp('".addslashes(realpath($entry[$i]))."');", 'icon' => 'folder.gif'))); - } -} - -function recurseDir($path, &$node) { - global $pd; - if (!$dir = opendir($path)) { - return false; - } - $anode = new HTML_TreeNode(array('text' => basename($path), 'link' => "javascript:setHelpVal('".$path."');", 'icon' => 'folder.gif')); - $result = addslashes(realpath(stripslashes($path).$pd."..")); - if (!$node) $anode->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif'),'..'); - while (($file = readdir($dir)) !== false) { - if ($file != '.' && $file != '..') { - if (is_dir("$path$pd$file")) { - recurseDir("$path$pd$file",$anode); - } - } - } - rewinddir($dir);// - while (false){//($file = readdir($dir)) !== false) { - if ($file != '.' && $file != '..') { - if (is_file("$path$pd$file")) { - $anode->addItem(new DirNode($file,"javascript:setHelpVal('$path$pd$file');",'branchtop.gif',"$path$pd$file")); - } - } - } - if (!$node) $node = $anode; - else - $node->addItem($anode); - closedir($dir); -} - -function switchDirTree($path, &$node) -{ - global $pd; - - // initialize recursion simulation values - // array format: path => &parent in $node itemlist - $parent = array(); - $parent_indexes = array(); - $parenti = 1; - - $node = new DirNode(basename($path),"javascript:setHelpVal('".$path."');",'folder.gif',$path); - $result = addslashes(realpath($path.$pd."..")); - $node->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif','..')); - $rnode = &$node; - $parent[realpath($path)] = false; - $recur = 0; - do - { - if ($recur++ > 120) return; - if (!$dir = @opendir($path)) { - // no child files or directories -// echo "$path no child files or directories return to "; - $rnode = &$parent[realpath($path)]; - $path = $rnode->path; - if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; -// echo "$path parenti $parenti
"; - } -// fancy_debug($path,$parent_indexes); -// vdump_par($parent); - if (!isset($parent_indexes[realpath($path)])) - { - $file = readdir($dir); - while ($file !== false) { - if ($file != '.' && $file != '..') { - if (@is_dir(realpath("$path$pd$file"))) { - if (!isset($parent_indexes[realpath($path)])) $parent_indexes[realpath($path)] = true; - $parent[realpath("$path$pd$file")] = &$rnode; -// echo "
adding new ".addslashes(realpath($path.$pd.$file))." to $path
"; - $rnode->addItem(new DirNode(addslashes(realpath("$path$pd$file")),"javascript:setHelpVal('".addslashes(realpath($path.$pd.$file))."');",'folder.gif',addslashes(realpath($path.$pd.$file)))); - } - } - $file = readdir($dir); - } - } - // go down the tree if possible - if (isset($parent_indexes[realpath($path)])) - { - if ($parenti + 1 > (count($rnode->items))) - { - // no more children, go back up to parent -// echo "$path no more children, go back up to parent "; - $rnode = &$parent[realpath($path)]; - $path = $rnode->path; - if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; -// echo $path." parenti $parenti
"; - } else - { - // go to next child -// echo "$path go to next child "; - $parent_indexes[realpath($path)] = $parenti+1; -// debug("set parent ".$rnode->items[$parenti]->path." = ".$rnode->path.'
'); - $parent[realpath($rnode->items[$parenti]->path)] = &$rnode; - $rnode = &$rnode->items[$parenti]; - $path = $rnode->path; -// echo "$path
"; - $parenti = 0; - } - } else - { - // no children, go back up the tree to the next child -// echo "$path no children, go back up to parent "; - $rnode = &$parent[realpath($path)]; - $path = $rnode->path; - if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; -// echo "$path parenti $parenti
"; - } - @closedir($dir); - } while ($path && (($parenti < (count($rnode->items))) || ($parent[realpath($path)] !== false))); -} - -function vdump_par($tree) -{ - foreach($tree as $key => $val) - { - if ($val === false) - debug($key.' -> false
'); - else - debug($key.' -> ' .$val->path.'
'); - } - debug('
'); -} + + * @copyright 2003-2006 Andrew Eddie, Greg Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + */ + +if ('@DATA-DIR@' != '@'.'DATA-DIR@') +{ + include_once('PhpDocumentor/HTML_TreeMenu-1.1.2/TreeMenu.php'); +} else { + include_once(dirname(realpath(__FILE__))."/../../HTML_TreeMenu-1.1.2/TreeMenu.php"); +} + +/** + * Allows png's with alpha transparency to be displayed in IE 6 + * @param string $src path to the source image + * @param int $wid width on the image [optional] + * @param int $hgt height on the image [optional] + * @param string $alt hover text for the image [optional] + */ +function showImage( $src, $wid='', $hgt='', $alt='' ) { + if (strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0' ) !== false) { + return "
"; + } else { + return "\"$alt\""; + } +} + +/** + * Returns a select box based on an key,value array where selected is based on key + * @param array $arr array of the key-text pairs + * @param string $select_name The name of the select box + * @param string $select_attribs Additional attributes to insert into the html select tag + * @param string $selected The key value of the selected eleme + */ +function htmlArraySelect( &$arr, $select_name, $select_attribs, $selected ) { + GLOBAL $AppUI; + reset( $arr ); + $s = "\n\n"; + return $s; +} + +function getDir($path,&$node) { + global $pd; + if (!$dir = opendir($path)) return; + + $node = new HTML_TreeNode(array('text' => basename(realpath($path)), 'link' => "", 'icon' => 'folder.gif')); + while (($file = readdir($dir)) !== false) + { + if ($file != '.' && $file != '..') + { + if (is_dir("$path$pd$file") && !is_link("$path$pd$file")) + { + $entry[] = "$path$pd$file"; + } + } + } + closedir($dir); + for($i = 0; $i < count($entry); $i++) + { + $node->addItem(new HTML_TreeNode(array('text'=>basename(realpath($entry[$i])), 'link' => "javascript:setHelp('".addslashes(realpath($entry[$i]))."');", 'icon' => 'folder.gif'))); + } +} + +function recurseDir($path, &$node) { + global $pd; + if (!$dir = opendir($path)) { + return false; + } + $anode = new HTML_TreeNode(array('text' => basename($path), 'link' => "javascript:setHelpVal('".$path."');", 'icon' => 'folder.gif')); + $result = addslashes(realpath(stripslashes($path).$pd."..")); + if (!$node) $anode->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif'),'..'); + while (($file = readdir($dir)) !== false) { + if ($file != '.' && $file != '..') { + if (is_dir("$path$pd$file")) { + recurseDir("$path$pd$file",$anode); + } + } + } + rewinddir($dir);// + while (false){//($file = readdir($dir)) !== false) { + if ($file != '.' && $file != '..') { + if (is_file("$path$pd$file")) { + $anode->addItem(new DirNode($file,"javascript:setHelpVal('$path$pd$file');",'branchtop.gif',"$path$pd$file")); + } + } + } + if (!$node) $node = $anode; + else + $node->addItem($anode); + closedir($dir); +} + +function switchDirTree($path, &$node) +{ + global $pd; + + // initialize recursion simulation values + // array format: path => &parent in $node itemlist + $parent = array(); + $parent_indexes = array(); + $parenti = 1; + + $node = new DirNode(basename($path),"javascript:setHelpVal('".$path."');",'folder.gif',$path); + $result = addslashes(realpath($path.$pd."..")); + $node->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif','..')); + $rnode = &$node; + $parent[realpath($path)] = false; + $recur = 0; + do + { + if ($recur++ > 120) return; + if (!$dir = @opendir($path)) { + // no child files or directories +// echo "$path no child files or directories return to "; + $rnode = &$parent[realpath($path)]; + $path = $rnode->path; + if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; +// echo "$path parenti $parenti
"; + } +// fancy_debug($path,$parent_indexes); +// vdump_par($parent); + if (!isset($parent_indexes[realpath($path)])) + { + $file = readdir($dir); + while ($file !== false) { + if ($file != '.' && $file != '..') { + if (@is_dir(realpath("$path$pd$file"))) { + if (!isset($parent_indexes[realpath($path)])) $parent_indexes[realpath($path)] = true; + $parent[realpath("$path$pd$file")] = &$rnode; +// echo "
adding new ".addslashes(realpath($path.$pd.$file))." to $path
"; + $rnode->addItem(new DirNode(addslashes(realpath("$path$pd$file")),"javascript:setHelpVal('".addslashes(realpath($path.$pd.$file))."');",'folder.gif',addslashes(realpath($path.$pd.$file)))); + } + } + $file = readdir($dir); + } + } + // go down the tree if possible + if (isset($parent_indexes[realpath($path)])) + { + if ($parenti + 1 > (count($rnode->items))) + { + // no more children, go back up to parent +// echo "$path no more children, go back up to parent "; + $rnode = &$parent[realpath($path)]; + $path = $rnode->path; + if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; +// echo $path." parenti $parenti
"; + } else + { + // go to next child +// echo "$path go to next child "; + $parent_indexes[realpath($path)] = $parenti+1; +// debug("set parent ".$rnode->items[$parenti]->path." = ".$rnode->path.'
'); + $parent[realpath($rnode->items[$parenti]->path)] = &$rnode; + $rnode = &$rnode->items[$parenti]; + $path = $rnode->path; +// echo "$path
"; + $parenti = 0; + } + } else + { + // no children, go back up the tree to the next child +// echo "$path no children, go back up to parent "; + $rnode = &$parent[realpath($path)]; + $path = $rnode->path; + if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; +// echo "$path parenti $parenti
"; + } + @closedir($dir); + } while ($path && (($parenti < (count($rnode->items))) || ($parent[realpath($path)] !== false))); +} + +function vdump_par($tree) +{ + foreach($tree as $key => $val) + { + if ($val === false) + debug($key.' -> false
'); + else + debug($key.' -> ' .$val->path.'
'); + } + debug('
'); +} ?> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/docbuilder/top.php b/libs/PhpDocumentor-1.3.2/docbuilder/top.php index 1b2d9bae55..0562d64f12 100755 --- a/libs/PhpDocumentor-1.3.2/docbuilder/top.php +++ b/libs/PhpDocumentor-1.3.2/docbuilder/top.php @@ -1,89 +1,89 @@ - - - * @copyright 2003-2006 Andrew Eddie, Greg Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @see phpdoc.php - */ -if ('@DATA-DIR@' != '@'.'DATA-DIR@') -{ - include_once( "PhpDocumentor/phpDocumentor/common.inc.php"); -} else { - $path = dirname(dirname(__FILE__)); - include_once( "$path/phpDocumentor/common.inc.php"); -} -// -// +------------------------------------------------------------------------+ -// | phpDocumentor :: docBuilder Web Interface | -// +------------------------------------------------------------------------+ -// | Copyright (c) 2003 Andrew Eddie, Greg Beaver | -// +------------------------------------------------------------------------+ -// | This source file is subject to version 3.00 of the PHP License, | -// | that is available at http://www.php.net/license/3_0.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +------------------------------------------------------------------------+ -// -?> - - - - Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> - - - - - - - - - - - -
- - - docBuilder :: phpDocumentor v Web Interface -
- - - + + + * @copyright 2003-2006 Andrew Eddie, Greg Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @see phpdoc.php + */ +if ('@DATA-DIR@' != '@'.'DATA-DIR@') +{ + include_once( "PhpDocumentor/phpDocumentor/common.inc.php"); +} else { + $path = dirname(dirname(__FILE__)); + include_once( "$path/phpDocumentor/common.inc.php"); +} +// +// +------------------------------------------------------------------------+ +// | phpDocumentor :: docBuilder Web Interface | +// +------------------------------------------------------------------------+ +// | Copyright (c) 2003 Andrew Eddie, Greg Beaver | +// +------------------------------------------------------------------------+ +// | This source file is subject to version 3.00 of the PHP License, | +// | that is available at http://www.php.net/license/3_0.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +------------------------------------------------------------------------+ +// +?> + + + + Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> + + + + + + + + + + + +
+ + + docBuilder :: phpDocumentor v Web Interface +
+ + + diff --git a/libs/PhpDocumentor-1.3.2/new_phpdoc.php b/libs/PhpDocumentor-1.3.2/new_phpdoc.php index e4adea90c5..9516424344 100755 --- a/libs/PhpDocumentor-1.3.2/new_phpdoc.php +++ b/libs/PhpDocumentor-1.3.2/new_phpdoc.php @@ -1,662 +1,662 @@ - - -// Joshua Eichorn -// Gregory Beaver -// -// phpDocumentor, a program for creating javadoc style documentation from php code -// Copyright (C) 2000-2002 Joshua Eichorn -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program 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 General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// -// Copyleft 2001 Juan Pablo Morales - -if (!function_exists('version_compare')) -{ - print "phpDocumentor requires PHP version 4.1.0 or greater to function"; - exit; -} - -// set up include path so we can find all files, no matter what -$GLOBALS['_phpDocumentor_install_dir'] = dirname(realpath(__FILE__)); -// add my directory to the include path, and make it first, should fix any errors -if (substr(PHP_OS, 0, 3) == 'WIN') -ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); -else -ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); - -/** -* common file information -*/ -include_once("phpDocumentor/common.inc.php"); - -// find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] -$ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); -if (isset($ini['_phpDocumentor_options']['userdir'])) - $configdir = $ini['_phpDocumentor_options']['userdir']; -else - $configdir = $_phpDocumentor_install_dir . '/user'; - -// allow the user to change this at runtime -if (!empty($_REQUEST['altuserdir'])) $configdir = $_REQUEST['altuserdir']; -?> - - - - Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> - - - - path = $path; - $options = array(); - if ($text) $options['text'] = $text; - if ($link) $options['link'] = $link; - if ($icon) $options['icon'] = $icon; - HTML_TreeNode::HTML_TreeNode($options,$events); - } - } - - function getDir($path,&$node) - { - global $pd; - if (!$dir = opendir($path)) return; - - $node = new HTML_TreeNode(array('text' => basename(realpath($path)), 'link' => "", 'icon' => 'folder.gif')); - while (($file = readdir($dir)) !== false) - { - if ($file != '.' && $file != '..') - { - if (is_dir("$path$pd$file") && !is_link("$path$pd$file")) - { - $entry[] = "$path$pd$file"; - } - } - } - closedir($dir); - for($i = 0; $i < count($entry); $i++) - { - $node->addItem(new HTML_TreeNode(array('text'=>basename(realpath($entry[$i])), 'link' => "javascript:setHelp('".addslashes(realpath($entry[$i]))."');", 'icon' => 'folder.gif'))); - } - } - - function recurseDir($path, &$node) { - global $pd; - if (!$dir = opendir($path)) { - return false; - } - $anode = new HTML_TreeNode(array('text' => basename($path), 'link' => "javascript:setHelpVal('".$path."');", 'icon' => 'folder.gif')); - $result = addslashes(realpath(stripslashes($path).$pd."..")); - if (!$node) $anode->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif'),'..'); - while (($file = readdir($dir)) !== false) { - if ($file != '.' && $file != '..') { - if (is_dir("$path$pd$file")) { - recurseDir("$path$pd$file",$anode); - } - } - } - rewinddir($dir);// - while (false){//($file = readdir($dir)) !== false) { - if ($file != '.' && $file != '..') { - if (is_file("$path$pd$file")) { - $anode->addItem(new DirNode($file,"javascript:setHelpVal('$path$pd$file');",'branchtop.gif',"$path$pd$file")); - } - } - } - if (!$node) $node = $anode; - else - $node->addItem($anode); - closedir($dir); - } - - function switchDirTree($path, &$node) - { - global $pd; - - // initialize recursion simulation values - // array format: path => &parent in $node itemlist - $parent = array(); - $parent_indexes = array(); - $parenti = 1; - - $node = new DirNode(basename($path),"javascript:setHelpVal('".$path."');",'folder.gif',$path); - $result = addslashes(realpath($path.$pd."..")); - $node->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif','..')); - $rnode = &$node; - $parent[realpath($path)] = false; - $recur = 0; - do - { - if ($recur++ > 120) return; - if (!$dir = @opendir($path)) { - // no child files or directories -// echo "$path no child files or directories return to "; - $rnode = &$parent[realpath($path)]; - $path = $rnode->path; - if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; -// echo "$path parenti $parenti
"; - } -// fancy_debug($path,$parent_indexes); -// vdump_par($parent); - if (!isset($parent_indexes[realpath($path)])) - { - $file = readdir($dir); - while ($file !== false) { - if ($file != '.' && $file != '..') { - if (@is_dir(realpath("$path$pd$file"))) { - if (!isset($parent_indexes[realpath($path)])) $parent_indexes[realpath($path)] = true; - $parent[realpath("$path$pd$file")] = &$rnode; -// echo "
adding new ".addslashes(realpath($path.$pd.$file))." to $path
"; - $rnode->addItem(new DirNode(addslashes(realpath("$path$pd$file")),"javascript:setHelpVal('".addslashes(realpath($path.$pd.$file))."');",'folder.gif',addslashes(realpath($path.$pd.$file)))); - } - } - $file = readdir($dir); - } - } - // go down the tree if possible - if (isset($parent_indexes[realpath($path)])) - { - if ($parenti + 1 > (count($rnode->items))) - { - // no more children, go back up to parent -// echo "$path no more children, go back up to parent "; - $rnode = &$parent[realpath($path)]; - $path = $rnode->path; - if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; -// echo $path." parenti $parenti
"; - } else - { - // go to next child -// echo "$path go to next child "; - $parent_indexes[realpath($path)] = $parenti+1; -// debug("set parent ".$rnode->items[$parenti]->path." = ".$rnode->path.'
'); - $parent[realpath($rnode->items[$parenti]->path)] = &$rnode; - $rnode = &$rnode->items[$parenti]; - $path = $rnode->path; -// echo "$path
"; - $parenti = 0; - } - } else - { - // no children, go back up the tree to the next child -// echo "$path no children, go back up to parent "; - $rnode = &$parent[realpath($path)]; - $path = $rnode->path; - if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; -// echo "$path parenti $parenti
"; - } - @closedir($dir); - } while ($path && (($parenti < (count($rnode->items))) || ($parent[realpath($path)] !== false))); - } - - function vdump_par($tree) - { - foreach($tree as $key => $val) - { - if ($val === false) - debug($key.' -> false
'); - else - debug($key.' -> ' .$val->path.'
'); - } - debug('
'); - } - - $menu = new HTML_TreeMenu(); - $filename = ''; - if (isset($_GET) && isset($_GET['fileName'])) $filename = $_GET['fileName']; - $filename = realpath($filename); - $pd = (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'; - $test = ($pd == '/') ? '/' : 'C:\\'; - if (empty($filename) || ($filename == $test)) - { - $filename = ($pd == '/') ? '/' : 'C:\\'; - $node = false; - getDir($filename,$node); - } else - { - flush(); -// if ($pd != '/') $pd = $pd.$pd; - $anode = false; - switchDirTree($filename,$anode); -// recurseDir($filename,$anode); - $node = new HTML_TreeNode(array('text' => "Click to view $filename",'link' => "",'icon' => 'branchtop.gif')); - $node->addItem($anode); - }; - $menu->addItem($node); - $DHTMLmenu = &new HTML_TreeMenu_DHTML($menu, array('images' => 'HTML_TreeMenu-1.1.2/images')); - ?> - - - "; - echo "

Parsing Files ...

"; - flush(); - echo "
\n";
-    /** phpdoc.inc */
-    include("phpDocumentor/phpdoc.inc");
-    echo "
\n"; - echo "

Operation Completed!!

"; - } else - { - ?> - -

- phpDocumentor v Web Interface -

- phpDocumentor written by Joshua Eichorn
- Web Interface written by Juan Pablo Morales and enhanced by Greg Beaver
- - - - - - -
- Help - - use this to find directories and files which can be used below -
- - -
- -printMenu(); -?> -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Use a pre-created config file for form values. - - Normally, phpDocumentor uses the form values from this form to set up parsing. In version 1.2, - phpDocumentor allows you to "save" form values in configuration files so that you can replicate - common complicated documentation tasks with only one time. Just choose a config file below or create a - new one and refresh this page to choose it.
change config directory:changed to "'.$_REQUEST['altuserdir'].'"'; ?> - Choose a config:
-
- Target - - Target is the directory where - the output produced by phpDocumentor will reside
-
- - Add the directory in the help box -
- Files to parse - - This is a group of comma-separated names of php files - or tutorials that will be processed by phpDocumentor.
-
- - Add the file in the help box -
- Directory to parse - - This is a group of comma-separated directories where php files - or tutorials are found that will be processed by phpDocumentor. - phpDocumentor automatically parses subdirectories
-
- - Add the directory in the help box -
- Files to ignore - - A list of files (full path or filename), and patterns - to ignore. Patterns may use wildcards * and ?. To - ignore all subdirectories named "test" for example, - using "test/" To ignore all files and directories - with test in their name use "*test*" -
- - Add the directory in the help box -
- Generated Documentation Title - - Choose a title for the generated documentation
-
-
- Default Package Name - - Choose a name for the default package
-
-
- Custom Tags - - Custom Tags is a comma-separated list of tags - you want phpDocumentor to include as valid tags - in this parse. An example would be "value, size" - to allow @value and @size tags. -
-
- Packages to parse - - The parameter packages is a group of comma - separated names of abstract packages that will - be processed by phpDocumentor. All package names must be - separated by commas.
-
-
- Output Information - -
- Outputformat - may be HTML, XML, PDF, or CHM (case-sensitive) in version 1.2. There is only one Converter - for both CHM and PDF, default. There are 2 HTML Converters, - frames and Smarty. frames templates may be any of:

- default, l0l33t, phpdoc.de, phphtmllib, phpedit, DOM/default, DOM/l0l33t, or DOM/phpdoc.de. - Smarty templates may be any of:

- default or PHP.
-
-There is only 1 template for all other Converters, default -
Output type:Converter name:template name
-
- - Add the converter in the help box
- - Use ONLY the converter in the help box -
- Parse @access private - - The parameter Parse @access private tells phpDocumentor - whether to parse elements with an "@access private" tag in their docblock
- Parse private
-
- JavaDoc-compliant Description parsing. - - Normally, phpDocumentor uses several rules to determine the short description. This switch - asks phpDocumentor to simply search for the first period (.) and use it to delineate the short - description. In addition, the short description will not be separated from the long description
- JavaDoc-compliant Description
-
- -
-
-
-
-

- Joshua Eichorn jeichorn@phpdoc.org
- Juan Pablo Morales ju-moral@uniandes.edu.co
- Gregory Beaver cellog@users.sourceforge.net -

-

- If you have any problems with phpDocumentor, please visit the website: phpdocu.sourceforge.net and - submit a bug -

- - -
-Last modified: $Date: 2005/10/17 18:15:16 $
-Revision: $Revision: 1.1 $
-
- - - - - + + +// Joshua Eichorn +// Gregory Beaver +// +// phpDocumentor, a program for creating javadoc style documentation from php code +// Copyright (C) 2000-2002 Joshua Eichorn +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// +// Copyleft 2001 Juan Pablo Morales + +if (!function_exists('version_compare')) +{ + print "phpDocumentor requires PHP version 4.1.0 or greater to function"; + exit; +} + +// set up include path so we can find all files, no matter what +$GLOBALS['_phpDocumentor_install_dir'] = dirname(realpath(__FILE__)); +// add my directory to the include path, and make it first, should fix any errors +if (substr(PHP_OS, 0, 3) == 'WIN') +ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); +else +ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); + +/** +* common file information +*/ +include_once("phpDocumentor/common.inc.php"); + +// find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] +$ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); +if (isset($ini['_phpDocumentor_options']['userdir'])) + $configdir = $ini['_phpDocumentor_options']['userdir']; +else + $configdir = $_phpDocumentor_install_dir . '/user'; + +// allow the user to change this at runtime +if (!empty($_REQUEST['altuserdir'])) $configdir = $_REQUEST['altuserdir']; +?> + + + + Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> + + + + path = $path; + $options = array(); + if ($text) $options['text'] = $text; + if ($link) $options['link'] = $link; + if ($icon) $options['icon'] = $icon; + HTML_TreeNode::HTML_TreeNode($options,$events); + } + } + + function getDir($path,&$node) + { + global $pd; + if (!$dir = opendir($path)) return; + + $node = new HTML_TreeNode(array('text' => basename(realpath($path)), 'link' => "", 'icon' => 'folder.gif')); + while (($file = readdir($dir)) !== false) + { + if ($file != '.' && $file != '..') + { + if (is_dir("$path$pd$file") && !is_link("$path$pd$file")) + { + $entry[] = "$path$pd$file"; + } + } + } + closedir($dir); + for($i = 0; $i < count($entry); $i++) + { + $node->addItem(new HTML_TreeNode(array('text'=>basename(realpath($entry[$i])), 'link' => "javascript:setHelp('".addslashes(realpath($entry[$i]))."');", 'icon' => 'folder.gif'))); + } + } + + function recurseDir($path, &$node) { + global $pd; + if (!$dir = opendir($path)) { + return false; + } + $anode = new HTML_TreeNode(array('text' => basename($path), 'link' => "javascript:setHelpVal('".$path."');", 'icon' => 'folder.gif')); + $result = addslashes(realpath(stripslashes($path).$pd."..")); + if (!$node) $anode->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif'),'..'); + while (($file = readdir($dir)) !== false) { + if ($file != '.' && $file != '..') { + if (is_dir("$path$pd$file")) { + recurseDir("$path$pd$file",$anode); + } + } + } + rewinddir($dir);// + while (false){//($file = readdir($dir)) !== false) { + if ($file != '.' && $file != '..') { + if (is_file("$path$pd$file")) { + $anode->addItem(new DirNode($file,"javascript:setHelpVal('$path$pd$file');",'branchtop.gif',"$path$pd$file")); + } + } + } + if (!$node) $node = $anode; + else + $node->addItem($anode); + closedir($dir); + } + + function switchDirTree($path, &$node) + { + global $pd; + + // initialize recursion simulation values + // array format: path => &parent in $node itemlist + $parent = array(); + $parent_indexes = array(); + $parenti = 1; + + $node = new DirNode(basename($path),"javascript:setHelpVal('".$path."');",'folder.gif',$path); + $result = addslashes(realpath($path.$pd."..")); + $node->addItem(new DirNode('..',"javascript:setHelp('".$result."');",'folder.gif','..')); + $rnode = &$node; + $parent[realpath($path)] = false; + $recur = 0; + do + { + if ($recur++ > 120) return; + if (!$dir = @opendir($path)) { + // no child files or directories +// echo "$path no child files or directories return to "; + $rnode = &$parent[realpath($path)]; + $path = $rnode->path; + if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; +// echo "$path parenti $parenti
"; + } +// fancy_debug($path,$parent_indexes); +// vdump_par($parent); + if (!isset($parent_indexes[realpath($path)])) + { + $file = readdir($dir); + while ($file !== false) { + if ($file != '.' && $file != '..') { + if (@is_dir(realpath("$path$pd$file"))) { + if (!isset($parent_indexes[realpath($path)])) $parent_indexes[realpath($path)] = true; + $parent[realpath("$path$pd$file")] = &$rnode; +// echo "
adding new ".addslashes(realpath($path.$pd.$file))." to $path
"; + $rnode->addItem(new DirNode(addslashes(realpath("$path$pd$file")),"javascript:setHelpVal('".addslashes(realpath($path.$pd.$file))."');",'folder.gif',addslashes(realpath($path.$pd.$file)))); + } + } + $file = readdir($dir); + } + } + // go down the tree if possible + if (isset($parent_indexes[realpath($path)])) + { + if ($parenti + 1 > (count($rnode->items))) + { + // no more children, go back up to parent +// echo "$path no more children, go back up to parent "; + $rnode = &$parent[realpath($path)]; + $path = $rnode->path; + if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; +// echo $path." parenti $parenti
"; + } else + { + // go to next child +// echo "$path go to next child "; + $parent_indexes[realpath($path)] = $parenti+1; +// debug("set parent ".$rnode->items[$parenti]->path." = ".$rnode->path.'
'); + $parent[realpath($rnode->items[$parenti]->path)] = &$rnode; + $rnode = &$rnode->items[$parenti]; + $path = $rnode->path; +// echo "$path
"; + $parenti = 0; + } + } else + { + // no children, go back up the tree to the next child +// echo "$path no children, go back up to parent "; + $rnode = &$parent[realpath($path)]; + $path = $rnode->path; + if (isset($parent_indexes[realpath($path)])) $parenti = $parent_indexes[realpath($path)]; +// echo "$path parenti $parenti
"; + } + @closedir($dir); + } while ($path && (($parenti < (count($rnode->items))) || ($parent[realpath($path)] !== false))); + } + + function vdump_par($tree) + { + foreach($tree as $key => $val) + { + if ($val === false) + debug($key.' -> false
'); + else + debug($key.' -> ' .$val->path.'
'); + } + debug('
'); + } + + $menu = new HTML_TreeMenu(); + $filename = ''; + if (isset($_GET) && isset($_GET['fileName'])) $filename = $_GET['fileName']; + $filename = realpath($filename); + $pd = (substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'; + $test = ($pd == '/') ? '/' : 'C:\\'; + if (empty($filename) || ($filename == $test)) + { + $filename = ($pd == '/') ? '/' : 'C:\\'; + $node = false; + getDir($filename,$node); + } else + { + flush(); +// if ($pd != '/') $pd = $pd.$pd; + $anode = false; + switchDirTree($filename,$anode); +// recurseDir($filename,$anode); + $node = new HTML_TreeNode(array('text' => "Click to view $filename",'link' => "",'icon' => 'branchtop.gif')); + $node->addItem($anode); + }; + $menu->addItem($node); + $DHTMLmenu = &new HTML_TreeMenu_DHTML($menu, array('images' => 'HTML_TreeMenu-1.1.2/images')); + ?> + + + "; + echo "

Parsing Files ...

"; + flush(); + echo "
\n";
+    /** phpdoc.inc */
+    include("phpDocumentor/phpdoc.inc");
+    echo "
\n"; + echo "

Operation Completed!!

"; + } else + { + ?> + +

+ phpDocumentor v Web Interface +

+ phpDocumentor written by Joshua Eichorn
+ Web Interface written by Juan Pablo Morales and enhanced by Greg Beaver
+ + + + + + +
+ Help + + use this to find directories and files which can be used below +
+ + +
+ +printMenu(); +?> +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Use a pre-created config file for form values. + + Normally, phpDocumentor uses the form values from this form to set up parsing. In version 1.2, + phpDocumentor allows you to "save" form values in configuration files so that you can replicate + common complicated documentation tasks with only one time. Just choose a config file below or create a + new one and refresh this page to choose it.
change config directory:changed to "'.$_REQUEST['altuserdir'].'"'; ?> + Choose a config:
+
+ Target + + Target is the directory where + the output produced by phpDocumentor will reside
+
+ + Add the directory in the help box +
+ Files to parse + + This is a group of comma-separated names of php files + or tutorials that will be processed by phpDocumentor.
+
+ + Add the file in the help box +
+ Directory to parse + + This is a group of comma-separated directories where php files + or tutorials are found that will be processed by phpDocumentor. + phpDocumentor automatically parses subdirectories
+
+ + Add the directory in the help box +
+ Files to ignore + + A list of files (full path or filename), and patterns + to ignore. Patterns may use wildcards * and ?. To + ignore all subdirectories named "test" for example, + using "test/" To ignore all files and directories + with test in their name use "*test*" +
+ + Add the directory in the help box +
+ Generated Documentation Title + + Choose a title for the generated documentation
+
+
+ Default Package Name + + Choose a name for the default package
+
+
+ Custom Tags + + Custom Tags is a comma-separated list of tags + you want phpDocumentor to include as valid tags + in this parse. An example would be "value, size" + to allow @value and @size tags. +
+
+ Packages to parse + + The parameter packages is a group of comma + separated names of abstract packages that will + be processed by phpDocumentor. All package names must be + separated by commas.
+
+
+ Output Information + +
+ Outputformat + may be HTML, XML, PDF, or CHM (case-sensitive) in version 1.2. There is only one Converter + for both CHM and PDF, default. There are 2 HTML Converters, + frames and Smarty. frames templates may be any of:

+ default, l0l33t, phpdoc.de, phphtmllib, phpedit, DOM/default, DOM/l0l33t, or DOM/phpdoc.de. + Smarty templates may be any of:

+ default or PHP.
+
+There is only 1 template for all other Converters, default +
Output type:Converter name:template name
+
+ + Add the converter in the help box
+ + Use ONLY the converter in the help box +
+ Parse @access private + + The parameter Parse @access private tells phpDocumentor + whether to parse elements with an "@access private" tag in their docblock
+ Parse private
+
+ JavaDoc-compliant Description parsing. + + Normally, phpDocumentor uses several rules to determine the short description. This switch + asks phpDocumentor to simply search for the first period (.) and use it to delineate the short + description. In addition, the short description will not be separated from the long description
+ JavaDoc-compliant Description
+
+ +
+
+
+
+

+ Joshua Eichorn jeichorn@phpdoc.org
+ Juan Pablo Morales ju-moral@uniandes.edu.co
+ Gregory Beaver cellog@users.sourceforge.net +

+

+ If you have any problems with phpDocumentor, please visit the website: phpdocu.sourceforge.net and + submit a bug +

+ + +
+Last modified: $Date: 2005/10/17 18:15:16 $
+Revision: $Revision: 1.1 $
+
+ + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor.ini index bbb01631b7..bb1c08803f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor.ini @@ -1,118 +1,118 @@ -;; phpDocumentor.ini -;; -;; contains all the runtime values that are configurable. -;; This is moved from phpdoc.inc, to remove the necessity to edit the php code and -;; simplify debugging -[DEBUG] -;; If you want to see the internals of the parser in action, set this to true -PHPDOCUMENTOR_DEBUG = false -;; set to true if you want to eliminate extra whitespace in doc comments (slows things down quite a bit) -PHPDOCUMENTOR_KILL_WHITESPACE = false - -[_phpDocumentor_options] -;; this is the value that will be displayed as the root directory -Program_Root = -;; uncomment this to set the path phpDocumentor looks in to find user files -;userdir = user/ - -;; Use useconfig if you want to be able to run phpdoc with no command-line options (!!) -;; change the value of useconfig to an .ini file that is in users/ (like greg.ini) -;[_phpDocumentor_setting] -;useconfig = default - -[_phpDocumentor_phpfile_exts] -php -php3 -php4 -phtml -inc - -;; deprecated in 1.2 -;; this list is informational only - the following tags will be parsed as -;; having meaning, everything else will be treated as text by the output -;; converter, meaning in the HTML converter, all other tags will be htmlentitied -;[_phpDocumentor_html_allowed] -;ul -;ol -;li -;p -;strong -;pre -;a -;code -;br -;var -;samp -;kbd - -[_phpDocumentor_tags_allowed] -abstract -access -author -category -copyright -;; for Zend IDE support - minimal at best -desc -deprec -deprecated -example -exception -filesource -final -global -ignore -internal -license -link -magic -name -package -param -parameter -return -;; alias for @return -returns -see -since -source -static -staticvar -subpackage -throws -todo -TODO -tutorial -uses -var -version -;; compat tags, things wont parse right in incorrectly documented code without them -;; hopefully better error handling in handleDockeyword allows these to go away -;; this is a dumb tag included for pear compatability see bug# 558028 -extends -private -public - -[_phpDocumentor_inline_doc_tags_allowed] -example -inheritdoc -internal -link -source -tutorial - -[_phpDocumentor_inline_tutorial_tags_allowed] -category -example -id -link -toc -tutorial - -;; custom files to include in RIC -;; these MUST be in upper-case -[_phpDocumentor_RIC_files] -README -INSTALL -CHANGELOG -FAQ -NEWS +;; phpDocumentor.ini +;; +;; contains all the runtime values that are configurable. +;; This is moved from phpdoc.inc, to remove the necessity to edit the php code and +;; simplify debugging +[DEBUG] +;; If you want to see the internals of the parser in action, set this to true +PHPDOCUMENTOR_DEBUG = false +;; set to true if you want to eliminate extra whitespace in doc comments (slows things down quite a bit) +PHPDOCUMENTOR_KILL_WHITESPACE = false + +[_phpDocumentor_options] +;; this is the value that will be displayed as the root directory +Program_Root = +;; uncomment this to set the path phpDocumentor looks in to find user files +;userdir = user/ + +;; Use useconfig if you want to be able to run phpdoc with no command-line options (!!) +;; change the value of useconfig to an .ini file that is in users/ (like greg.ini) +;[_phpDocumentor_setting] +;useconfig = default + +[_phpDocumentor_phpfile_exts] +php +php3 +php4 +phtml +inc + +;; deprecated in 1.2 +;; this list is informational only - the following tags will be parsed as +;; having meaning, everything else will be treated as text by the output +;; converter, meaning in the HTML converter, all other tags will be htmlentitied +;[_phpDocumentor_html_allowed] +;ul +;ol +;li +;p +;strong +;pre +;a +;code +;br +;var +;samp +;kbd + +[_phpDocumentor_tags_allowed] +abstract +access +author +category +copyright +;; for Zend IDE support - minimal at best +desc +deprec +deprecated +example +exception +filesource +final +global +ignore +internal +license +link +magic +name +package +param +parameter +return +;; alias for @return +returns +see +since +source +static +staticvar +subpackage +throws +todo +TODO +tutorial +uses +var +version +;; compat tags, things wont parse right in incorrectly documented code without them +;; hopefully better error handling in handleDockeyword allows these to go away +;; this is a dumb tag included for pear compatability see bug# 558028 +extends +private +public + +[_phpDocumentor_inline_doc_tags_allowed] +example +inheritdoc +internal +link +source +tutorial + +[_phpDocumentor_inline_tutorial_tags_allowed] +category +example +id +link +toc +tutorial + +;; custom files to include in RIC +;; these MUST be in upper-case +[_phpDocumentor_RIC_files] +README +INSTALL +CHANGELOG +FAQ +NEWS diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/options.ini index a383614b4f..cae1952dd4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/options.ini @@ -1,507 +1,507 @@ -preservedocbooktags = false - -;; used to highlight the {@source} inline tag, @filesource tag, and @example tag -[highlightSourceTokens] -;; format: -;; T_CONSTANTNAME = open -;; /T_CONSTANTNAME = close -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_PUBLIC = -/T_PUBLIC = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_FINAL = -/T_FINAL = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_CLASS = -/T_CLASS = -T_INTERFACE = -/T_INTERFACE = -T_INCLUDE = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_FUNCTION = -/T_FUNCTION = -T_VARIABLE = -/T_VARIABLE = -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_COMMENT = -/T_COMMENT = -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_IF = -/T_IF = -T_FOREACH = -/T_FOREACH = -T_FOR = -/T_FOR = -T_VAR = -/T_VAR = -T_EXTENDS = -/T_EXTENDS = -T_RETURN = -/T_RETURN = -T_GLOBAL = -/T_GLOBAL = -T_DOUBLE_COLON = -/T_DOUBLE_COLON = -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = -T_OPEN_TAG = -/T_OPEN_TAG = -T_CLOSE_TAG = -/T_CLOSE_TAG = - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
    -/ul =
-ol =
    -/ol =
-li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -br =
    - -[ppage] -;; this is the DocBook package page translation section. All DocBook tags -;; that have a corresponding html tag must 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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = by -/author = -author! = 0 - -authorblurb = blockquote - -authorgroup = Authors:
    -/authorgroup = -authorgroup! = 0 - -caution =
    Caution
    -/caution =
    -caution! = 0 - -command = -/command = - -cmdsynopsis =
    -/cmdsynopsis =
    - -copyright = -/copyright =
    - -emphasis = strong - -example =
    -/example =
    -example! = 0 - -function = -/function = () - -formalpara = p - -graphic = img -graphic->fileref = src -graphic/ = - -important = u - -informalequation = blockquote - -informalexample = pre - -inlineequation = em - -itemizedlist = ul - -listitem = li - -literal = code - -literallayout = pre - -option = " " -/option = - -orderedlist = ol - -para = p - -programlisting =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname = h1 - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = -/refsect2 =
    - -refsect3 = -/refsect3 =
    - -releaseinfo = ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 =
    -/warning =
    -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 -[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" align="center"> -close = </h1> - -[refsect2_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <h2 class="title" align="center"> -close = </h2> - -[refsect3_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <h3 class="title" align="center"> -close = </h3> - -[para_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <strong class="title" align="center"> -close = </strong> - -[formalpara_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <strong class="title" align="center"> -close = </strong> - -[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> +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close +T_ABSTRACT = <font color="blue"> +/T_ABSTRACT = </font> +T_CLONE = <font color="blue"> +/T_CLONE = </font> +T_HALT_COMPILER = <font color="red"> +/T_HALT_COMPILER = </font> +T_PUBLIC = <font color="blue"> +/T_PUBLIC = </font> +T_PRIVATE = <font color="blue"> +/T_PRIVATE = </font> +T_PROTECTED = <font color="blue"> +/T_PROTECTED = </font> +T_FINAL = <font color="blue"> +/T_FINAL = </font> +T_IMPLEMENTS = <font color="blue"> +/T_IMPLEMENTS = </font> +T_CLASS = <font color="blue"> +/T_CLASS = </font> +T_INTERFACE = <font color="blue"> +/T_INTERFACE = </font> +T_INCLUDE = <font color="blue"> +/T_INCLUDE = </font> +T_INCLUDE_ONCE = <font color="blue"> +/T_INCLUDE_ONCE = </font> +T_REQUIRE_ONCE = <font color="blue"> +/T_REQUIRE_ONCE = </font> +T_FUNCTION = <font color="blue"> +/T_FUNCTION = </font> +T_VARIABLE = <strong> +/T_VARIABLE = </strong> +T_CONSTANT_ENCAPSED_STRING = <font color="#66cccc"> +/T_CONSTANT_ENCAPSED_STRING = </font> +T_COMMENT = <font color="green"> +/T_COMMENT = </font> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_STATIC = <font color="blue"> +/T_STATIC = </font> +T_SWITCH = <font color="blue"> +/T_SWITCH = </font> +T_IF = <font color="blue"> +/T_IF = </font> +T_FOREACH = <font color="blue"> +/T_FOREACH = </font> +T_FOR = <font color="blue"> +/T_FOR = </font> +T_VAR = <font color="blue"> +/T_VAR = </font> +T_EXTENDS = <font color="blue"> +/T_EXTENDS = </font> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_GLOBAL = <font color="blue"> +/T_GLOBAL = </font> +T_DOUBLE_COLON = <strong> +/T_DOUBLE_COLON = </strong> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_OPEN_TAG = <strong> +/T_OPEN_TAG = </strong> +T_CLOSE_TAG = <strong> +/T_CLOSE_TAG = </strong> + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <strong> +/@ = </strong> +& = <strong> +/& = </strong> +[ = <strong> +/[ = </strong> +] = <strong> +/] = </strong> +! = <strong> +/! = </strong> +";" = <strong> +/; = </strong> +( = <strong> +/( = </strong> +) = <strong> +/) = </strong> +, = <strong> +/, = </strong> +{ = <strong> +/{ = </strong> +} = <strong> +/} = </strong> +""" = <font color="#66cccc"> +/" = </font> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <font color="#009999"> +/docblock = </font> +tagphptype = <em> +/tagphptype = </em> +tagvarname = <strong> +/tagvarname = </strong> +coretag = <strong><font color = "#0099FF"> +/coretag = </font></strong> +tag = <strong><font color="#009999"> +/tag = </font></strong> +inlinetag = <em><font color="#0099FF"> +/inlinetag = </font></em> +internal = <em><font color = "#6699cc"> +/internal = </font></em> +closetemplate = <strong><font color="blue"> +/closetemplate = </font></strong> +docblocktemplate = <font color="blue"> +/docblocktemplate = </font color="blue"> + +[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 +;; +;; 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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <font size="-1"><strong>by <em> +/author = </em></strong></font> +author! = 0 + +authorblurb = blockquote + +authorgroup = <strong>Authors:</strong><br /> +/authorgroup = +authorgroup! = 0 + +caution = <table border="1"><th align="center">Caution</th><tr><td> +/caution = </td></tr></table> +caution! = 0 + +command = <b class="cmd"> +/command = </b> + +cmdsynopsis = <div id="cmdsynopsis"> +/cmdsynopsis = </div> + +copyright = <em> +/copyright = </em><br /> + +emphasis = strong + +example = <table class="example" width="100%" border="1"><tr><td> +/example = </td></tr></table> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = u + +informalequation = blockquote + +informalexample = pre + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = pre + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <table border="0" bgcolor="#E0E0E0" cellpadding="5"><tr><td><div class="src-code"> +/programlisting = </div></td></tr></table> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="refname"> +/refnamediv = </div> +refnamediv! = 0 + +refname = h1 + +refpurpose = <h2 class="refpurpose"><em> +/refpurpose = </em></h2> + +refsynopsisdiv = <div class="refsynopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = ( +/releaseinfo = )<br /> + +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 = <table border="1"><tr><td> +/warning = </td></tr></table> +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" align="center"> +close = </h1> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title" align="center"> +close = </h2> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title" align="center"> +close = </h3> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl index a040830bce..29a27593a5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl @@ -1,21 +1,21 @@ -{section name=letter loop=$letters} - <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -<table> -{section name=index loop=$index} -<tr><td colspan = "2"><a name="{$index[index].letter}">  </a> -<a href="#top">top</a><br> -<TABLE CELLPADDING='3' CELLSPACING='0' WIDTH='100%' CLASS="border"> - <TR CLASS='TableHeadingColor'> - <TD> - <FONT SIZE='+2'><B>{$index[index].letter}</B></FONT> - </TD> - </TR> -</TABLE> -</td></tr> - {section name=contents loop=$index[index].index} - <tr><td><b>{$index[index].index[contents].name}</b></td><td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td></tr> - {/section} -{/section} -</table> - +{section name=letter loop=$letters} + <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +<table> +{section name=index loop=$index} +<tr><td colspan = "2"><a name="{$index[index].letter}">  </a> +<a href="#top">top</a><br> +<TABLE CELLPADDING='3' CELLSPACING='0' WIDTH='100%' CLASS="border"> + <TR CLASS='TableHeadingColor'> + <TD> + <FONT SIZE='+2'><B>{$index[index].letter}</B></FONT> + </TD> + </TR> +</TABLE> +</td></tr> + {section name=contents loop=$index[index].index} + <tr><td><b>{$index[index].index[contents].name}</b></td><td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td></tr> + {/section} +{/section} +</table> + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl index 1ed17562d0..93cd4f27ef 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl @@ -1,94 +1,94 @@ -{include file="header.tpl" eltype="class" hasel=true contents=$classcontents} - -

    - {if $is_interface}Interface{else}Class{/if} {$class_name} -
    -

    -[line {if $class_slink}{$class_slink}{else}{$line_number}{/if}]
    -
    -{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    -
    -{if $tutorial} -
    Class Tutorial: {$tutorial}
    -{/if} -{if $children} -Classes extended from {$class_name}: - {section name=kids loop=$children} -
    -
    {$children[kids].link}
    -
    {$children[kids].sdesc}
    -
    - {/section}

    -{/if} -{if $conflicts.conflict_type}

    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -

    -{/if} -Location: {$source_location} -


    -{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -
    -{include file="var.tpl" show="summary"} -
    -{include file="const.tpl" show="summary"} -
    - - -

    Inherited Class Constant Summary

    - -{section name=iconsts loop=$iconsts} -

    Inherited From Class {$iconsts[iconsts].parent_class}

    -
      - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - -
    • {$iconsts[iconsts].iconsts[iconsts2].link} = {$iconsts[iconsts].iconsts[iconsts2].value} -
      - {$iconsts[iconsts].iconsts[iconsts2].sdesc} - {/section} -
    • -
    -{/section} -
    - - -

    Inherited Class Variable Summary

    - -{section name=ivars loop=$ivars} -

    Inherited From Class {$ivars[ivars].parent_class}

    -
      - {section name=ivars2 loop=$ivars[ivars].ivars} - -
    • {$ivars[ivars].ivars[ivars2].link} = {$ivars[ivars].ivars[ivars2].default} -
      - {$ivars[ivars].ivars[ivars2].sdesc} - {/section} -
    • -
    -{/section} - -
    -{include file="method.tpl" show="summary"} - - -

    Inherited Method Summary

    - -{section name=imethods loop=$imethods} -

    Inherited From Class {$imethods[imethods].parent_class}

    -
      - {section name=im2 loop=$imethods[imethods].imethods} - -
    • {$imethods[imethods].imethods[im2].link}
      - {$imethods[imethods].imethods[im2].sdesc} - {/section} -
    -{/section} -
    -{include file="method.tpl"} -
    -{include file="var.tpl"} -
    -{include file="const.tpl"} -
    -{include file="footer.tpl"} +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents} + +

    + {if $is_interface}Interface{else}Class{/if} {$class_name} +
    +

    +[line {if $class_slink}{$class_slink}{else}{$line_number}{/if}]
    +
    +{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    +
    +{if $tutorial} +
    Class Tutorial: {$tutorial}
    +{/if} +{if $children} +Classes extended from {$class_name}: + {section name=kids loop=$children} +
    +
    {$children[kids].link}
    +
    {$children[kids].sdesc}
    +
    + {/section}

    +{/if} +{if $conflicts.conflict_type}

    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +

    +{/if} +Location: {$source_location} +


    +{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +
    +{include file="var.tpl" show="summary"} +
    +{include file="const.tpl" show="summary"} +
    + + +

    Inherited Class Constant Summary

    + +{section name=iconsts loop=$iconsts} +

    Inherited From Class {$iconsts[iconsts].parent_class}

    +
      + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + +
    • {$iconsts[iconsts].iconsts[iconsts2].link} = {$iconsts[iconsts].iconsts[iconsts2].value} +
      + {$iconsts[iconsts].iconsts[iconsts2].sdesc} + {/section} +
    • +
    +{/section} +
    + + +

    Inherited Class Variable Summary

    + +{section name=ivars loop=$ivars} +

    Inherited From Class {$ivars[ivars].parent_class}

    +
      + {section name=ivars2 loop=$ivars[ivars].ivars} + +
    • {$ivars[ivars].ivars[ivars2].link} = {$ivars[ivars].ivars[ivars2].default} +
      + {$ivars[ivars].ivars[ivars2].sdesc} + {/section} +
    • +
    +{/section} + +
    +{include file="method.tpl" show="summary"} + + +

    Inherited Method Summary

    + +{section name=imethods loop=$imethods} +

    Inherited From Class {$imethods[imethods].parent_class}

    +
      + {section name=im2 loop=$imethods[imethods].imethods} + +
    • {$imethods[imethods].imethods[im2].link}
      + {$imethods[imethods].imethods[im2].sdesc} + {/section} +
    +{/section} +
    +{include file="method.tpl"} +
    +{include file="var.tpl"} +
    +{include file="const.tpl"} +
    +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl index 15bf6b7ec0..65d60118a1 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl @@ -1,8 +1,8 @@ -{foreach key=subpackage item=files from=$classleftindex} - {if $subpackage != ""}{$subpackage}
    {/if} - {section name=files loop=$files} - {if $files[files].link != ''}{/if} - {$files[files].title} - {if $files[files].link != ''}{/if}
    - {/section} -{/foreach} +{foreach key=subpackage item=files from=$classleftindex} + {if $subpackage != ""}{$subpackage}
    {/if} + {section name=files loop=$files} + {if $files[files].link != ''}{/if} + {$files[files].title} + {if $files[files].link != ''}{/if}
    + {/section} +{/foreach} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl index 28c648be12..6308aba94a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl @@ -1,12 +1,12 @@ -{capture name="title"}Class Trees for Package {$package}{/capture} -{include file="header.tpl" title=$smarty.capture.title} - - -

    - {$smarty.capture.title} -

    -{section name=classtrees loop=$classtrees} -Root class {$classtrees[classtrees].class} -{$classtrees[classtrees].class_tree} -{/section} +{capture name="title"}Class Trees for Package {$package}{/capture} +{include file="header.tpl" title=$smarty.capture.title} + + +

    + {$smarty.capture.title} +

    +{section name=classtrees loop=$classtrees} +Root class {$classtrees[classtrees].class} +{$classtrees[classtrees].class_tree} +{/section} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl index 207491a577..720a71b55b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl @@ -1,29 +1,29 @@ -{if $show=="summary"} - - -

    Class Constant Summary

    - -
      - {section name=consts loop=$consts} - -
    • {$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      -
      - {$consts[consts].sdesc} - {/section} -
    -{else} - - - - -

    Class Constant Detail

    - -
      -{section name=consts loop=$consts} - -
    • {$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      [line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]
    • -{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} -
      -{/section} -
    +{if $show=="summary"} + + +

    Class Constant Summary

    + +
      + {section name=consts loop=$consts} + +
    • {$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      +
      + {$consts[consts].sdesc} + {/section} +
    +{else} + + + + +

    Class Constant Detail

    + +
      +{section name=consts loop=$consts} + +
    • {$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      [line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]
    • +{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} +
      +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl index cf7ee7cbe3..449383199b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl @@ -1,11 +1,11 @@ - - - - - - - - - -{$toc} - + + + + + + + + + +{$toc} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl index 3917cc701d..4a3a64e935 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl @@ -1,33 +1,33 @@ -{if $summary} - - -

    Constant Summary

    - -
      - {section name=def loop=$defines} -
    • {$defines[def].define_name} = {$defines[def].define_value} -
      {$defines[def].sdesc} - {/section} -
    -{else} - - - -

    Constant Detail

    - -
      - {section name=def loop=$defines} - -
    • {$defines[def].define_name} = {$defines[def].define_value} [line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]
      - {if $defines[def].define_conflicts.conflict_type} -

      Conflicts with defines: - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
      - {/section} -

      - {/if} -

      - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - {/section} -
    +{if $summary} + + +

    Constant Summary

    + +
      + {section name=def loop=$defines} +
    • {$defines[def].define_name} = {$defines[def].define_value} +
      {$defines[def].sdesc} + {/section} +
    +{else} + + + +

    Constant Detail

    + +
      + {section name=def loop=$defines} + +
    • {$defines[def].define_name} = {$defines[def].define_value} [line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]
      + {if $defines[def].define_conflicts.conflict_type} +

      Conflicts with defines: + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
      + {/section} +

      + {/if} +

      + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + {/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl index 0de18b672d..ef621b9bd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl @@ -1,31 +1,31 @@ - -{if $function} - {if $params} -

    Parameters

    - {section name=params loop=$params} -

    {$params[params].var}

    -

    {$params[params].data}

    - {/section} - {/if} -{/if} -{section name=tags loop=$tags} -{if $tags[tags].keyword == 'return'} -

    Returns

    -

    {$tags[tags].data}

    -{/if} -{/section} -{if $sdesc || $desc} -

    Remarks

    -{/if} -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{section name=tags loop=$tags} -{if $tags[tags].keyword != 'return'} -

    {$tags[tags].keyword}

    -

    {$tags[tags].data}

    -{/if} + +{if $function} + {if $params} +

    Parameters

    + {section name=params loop=$params} +

    {$params[params].var}

    +

    {$params[params].data}

    + {/section} + {/if} +{/if} +{section name=tags loop=$tags} +{if $tags[tags].keyword == 'return'} +

    Returns

    +

    {$tags[tags].data}

    +{/if} +{/section} +{if $sdesc || $desc} +

    Remarks

    +{/if} +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{section name=tags loop=$tags} +{if $tags[tags].keyword != 'return'} +

    {$tags[tags].keyword}

    +

    {$tags[tags].data}

    +{/if} {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl index 8e25db5c75..755f33c733 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl @@ -1,9 +1,9 @@ -{include file="header.tpl" noleftindex=true} - -

    Index of All Elements

    -Indexes by package:
    -{section name=p loop=$packageindex} -{$packageindex[p].title}
    -{/section}
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Index of All Elements

    +Indexes by package:
    +{section name=p loop=$packageindex} +{$packageindex[p].title}
    +{/section}
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl index c85acbe055..45bcf94538 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl @@ -1,8 +1,8 @@ -{foreach key=subpackage item=files from=$fileleftindex} - {if $subpackage != ""}subpackage {$subpackage}
    {/if} - {section name=files loop=$files} - {if $files[files].link != ''}{/if} - {$files[files].title} - {if $files[files].link != ''}{/if}
    - {/section} -{/foreach} +{foreach key=subpackage item=files from=$fileleftindex} + {if $subpackage != ""}subpackage {$subpackage}
    {/if} + {section name=files loop=$files} + {if $files[files].link != ''}{/if} + {$files[files].title} + {if $files[files].link != ''}{/if}
    + {/section} +{/foreach} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl index a0d7119e09..55c826b9ff 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl @@ -1,6 +1,6 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -{$source} +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +{$source} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl index a015ceea5e..157bb1cd20 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -
    -
    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -
    -{/if} - - +{if !$index} +
    +
    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +
    +{/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl index 1324c05dba..895e8ab442 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl @@ -1,44 +1,44 @@ -{if $summary} - - -

    Function Summary

    - - -{else} - - - -

    Function Detail

    - -
      -{section name=func loop=$functions} - - -
    • {$functions[func].function_return} {$functions[func].function_name}() [line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]
      -

      -Usage: {if $functions[func].ifunction_call.returnsref}&{/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}) -

      -{if $functions[func].function_conflicts.conflict_type} -

      Conflicts with functions: -{section name=me loop=$functions[func].function_conflicts.conflicts} -{$functions[func].function_conflicts.conflicts[me]}
      -{/section} -

      -{/if} -{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true} -
      -

      [ Top ]

      -{/section} -
    +{if $summary} + + +

    Function Summary

    + + +{else} + + + +

    Function Detail

    + +
      +{section name=func loop=$functions} + + +
    • {$functions[func].function_return} {$functions[func].function_name}() [line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]
      +

      +Usage: {if $functions[func].ifunction_call.returnsref}&{/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}) +

      +{if $functions[func].function_conflicts.conflict_type} +

      Conflicts with functions: +{section name=me loop=$functions[func].function_conflicts.conflicts} +{$functions[func].function_conflicts.conflicts[me]}
      +{/section} +

      +{/if} +{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true} +
      +

      [ Top ]

      +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl index c1b74a1ca8..113a67ab6c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl @@ -1,32 +1,32 @@ -{if $summary} - - -

    Global Variable Summary

    - - - -{else} - - - -

    Global Variable Detail

    - -
      - {section name=glob loop=$globals} - -
    • {$globals[glob].global_type} {$globals[glob].global_name} = {$globals[glob].global_value} [line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]
      - {if $globals[glob].global_conflicts.conflict_type} -

      Conflicts with globals: - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
      - {/section} - {/if}

      - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - {/section} -

    +{if $summary} + + +

    Global Variable Summary

    + + + +{else} + + + +

    Global Variable Detail

    + +
      + {section name=glob loop=$globals} + +
    • {$globals[glob].global_type} {$globals[glob].global_name} = {$globals[glob].global_value} [line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]
      + {if $globals[glob].global_conflicts.conflict_type} +

      Conflicts with globals: + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
      + {/section} + {/if}

      + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + {/section} +

    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl index bdf6173ed9..30fad6bba7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl @@ -1,22 +1,22 @@ - - - - - - - {$title} - -{if $bgleft} - -{/if} - - + + + + + + + {$title} + +{if $bgleft} + +{/if} + + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl index 95e94b9f8b..c82846a8a2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl @@ -1,17 +1,17 @@ -[OPTIONS] -Compatibility=1.1 or later -Compiled file=documentation.chm -Contents file=contents.hhc -Default topic=index.html -Display compile progress=No -Index file=Index.hhk -Language=0x409 English (United States) -Title={$maintitle} - -[FILES] -{section name=files loop=$files} -{$files[files].name} -{/section} - -[INFOTYPES] - +[OPTIONS] +Compatibility=1.1 or later +Compiled file=documentation.chm +Contents file=contents.hhc +Default topic=index.html +Display compile progress=No +Index file=Index.hhk +Language=0x409 English (United States) +Title={$maintitle} + +[FILES] +{section name=files loop=$files} +{$files[files].name} +{/section} + +[INFOTYPES] + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl index 1ab7440bf2..db76e4dc02 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl @@ -1,26 +1,26 @@ -{if $summary} - - -

    Include Statements Summary

    - - -{else} - - - -

    Include Statements Detail

    - -
      - {section name=includes loop=$includes} - -
    • {$includes[includes].include_name} file: = {$includes[includes].include_value} [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]
      -

      - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} - {/section} -
    +{if $summary} + + +

    Include Statements Summary

    + + +{else} + + + +

    Include Statements Detail

    + +
      + {section name=includes loop=$includes} + +
    • {$includes[includes].include_name} file: = {$includes[includes].include_value} [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]
      +

      + {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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl index 8b31a11df3..94cbd18ef0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl @@ -1,8 +1,8 @@ - - - - - - -{$klinks} - + + + + + + +{$klinks} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl index f73fb8a39d..4e0530971f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - -{if $package_count > 1} - - -{/if} - -{if $package_count > 1} - -{/if} - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + +{if $package_count > 1} + + +{/if} + +{if $package_count > 1} + +{/if} + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl index 4cbd51f52e..4816c4f94d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl @@ -1,126 +1,126 @@ -{if $show == 'summary'} - - -

    Method Summary

    - - - -{else} - - - -

    Method Detail

    - -
      -{section name=methods loop=$methods} -{if $methods[methods].static} - - -

      static {$class_name}::{$methods[methods].function_name}

      - -

      -static {if $methods[methods].ifunction_call.returnsref}&{/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} ); -

      - -{if $methods[methods].descmethod} -

      Overridden in child classes as:
      - {section name=dm loop=$methods[methods].descmethod} -

      -
      {$methods[methods].descmethod[dm].link}
      -
      {$methods[methods].descmethod[dm].sdesc}
      -
      - {/section}

      -{/if} -{if $methods[methods].method_overrides} -

      Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

      -{/if} - {if $methods[methods].method_implements} -
      -
      Implementation of:
      - {section name=imp loop=$methods[methods].method_implements} -
      -
      {$methods[methods].method_implements[imp].link}
      - {if $methods[methods].method_implements[imp].sdesc} -
      {$methods[methods].method_implements[imp].sdesc}
      - {/if} -
      - {/section} - {/if} - -{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} -

      [ Top ]

      -
      -{/if} -{/section} - -{section name=methods loop=$methods} -{if !$methods[methods].static} - - -

      {$class_name}::{$methods[methods].function_name}

      - -

      -{if $methods[methods].ifunction_call.returnsref}&{/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} ); -

      - -{if $methods[methods].descmethod} -

      Overridden in child classes as:
      - {section name=dm loop=$methods[methods].descmethod} -

      -
      {$methods[methods].descmethod[dm].link}
      -
      {$methods[methods].descmethod[dm].sdesc}
      -
      - {/section}

      -{/if} -{if $methods[methods].method_overrides} -

      Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

      -{/if} - {if $methods[methods].method_implements} -
      -
      Implementation of:
      - {section name=imp loop=$methods[methods].method_implements} -
      -
      {$methods[methods].method_implements[imp].link}
      - {if $methods[methods].method_implements[imp].sdesc} -
      {$methods[methods].method_implements[imp].sdesc}
      - {/if} -
      - {/section} - {/if} - -{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} -

      [ Top ]

      -
      -{/if} -{/section} -
    +{if $show == 'summary'} + + +

    Method Summary

    + + + +{else} + + + +

    Method Detail

    + +
      +{section name=methods loop=$methods} +{if $methods[methods].static} + + +

      static {$class_name}::{$methods[methods].function_name}

      + +

      +static {if $methods[methods].ifunction_call.returnsref}&{/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} ); +

      + +{if $methods[methods].descmethod} +

      Overridden in child classes as:
      + {section name=dm loop=$methods[methods].descmethod} +

      +
      {$methods[methods].descmethod[dm].link}
      +
      {$methods[methods].descmethod[dm].sdesc}
      +
      + {/section}

      +{/if} +{if $methods[methods].method_overrides} +

      Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

      +{/if} + {if $methods[methods].method_implements} +
      +
      Implementation of:
      + {section name=imp loop=$methods[methods].method_implements} +
      +
      {$methods[methods].method_implements[imp].link}
      + {if $methods[methods].method_implements[imp].sdesc} +
      {$methods[methods].method_implements[imp].sdesc}
      + {/if} +
      + {/section} + {/if} + +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} +

      [ Top ]

      +
      +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} + + +

      {$class_name}::{$methods[methods].function_name}

      + +

      +{if $methods[methods].ifunction_call.returnsref}&{/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} ); +

      + +{if $methods[methods].descmethod} +

      Overridden in child classes as:
      + {section name=dm loop=$methods[methods].descmethod} +

      +
      {$methods[methods].descmethod[dm].link}
      +
      {$methods[methods].descmethod[dm].sdesc}
      +
      + {/section}

      +{/if} +{if $methods[methods].method_overrides} +

      Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

      +{/if} + {if $methods[methods].method_implements} +
      +
      Implementation of:
      + {section name=imp loop=$methods[methods].method_implements} +
      +
      {$methods[methods].method_implements[imp].link}
      + {if $methods[methods].method_implements[imp].sdesc} +
      {$methods[methods].method_implements[imp].sdesc}
      + {/if} +
      + {/section} + {/if} + +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} +

      [ Top ]

      +
      +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl index b48b671967..0967e6e720 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl @@ -1,3 +1,3 @@ -{section name=packages loop=$packages} -{$packages[packages].title} +{section name=packages loop=$packages} +{$packages[packages].title} {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl index dc93b0a1fa..39f4823aa0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl @@ -1,34 +1,34 @@ -{include file="header.tpl" eltype="Procedural file"} -

    File: {$source_location}
    -

    -{if $tutorial} -
    Main Tutorial: {$tutorial}
    -{/if} -{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} -Classes in this file: -
    -{section name=classes loop=$classes} -
    {$classes[classes].link}
    -
    {$classes[classes].sdesc}
    -{/section} -
    -
    -{include file="include.tpl" summary=true} -
    -{include file="global.tpl" summary=true} -
    -{include file="define.tpl" summary=true} -
    -{include file="function.tpl" summary=true} -
    -{include file="include.tpl"} -
    -{include file="global.tpl"} -
    -{include file="define.tpl"} -
    -{include file="function.tpl"} -
    -{include file="footer.tpl"} - +{include file="header.tpl" eltype="Procedural file"} +

    File: {$source_location}
    +

    +{if $tutorial} +
    Main Tutorial: {$tutorial}
    +{/if} +{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} +Classes in this file: +
    +{section name=classes loop=$classes} +
    {$classes[classes].link}
    +
    {$classes[classes].sdesc}
    +{/section} +
    +
    +{include file="include.tpl" summary=true} +
    +{include file="global.tpl" summary=true} +
    +{include file="define.tpl" summary=true} +
    +{include file="function.tpl" summary=true} +
    +{include file="include.tpl"} +
    +{include file="global.tpl"} +
    +{include file="define.tpl"} +
    +{include file="function.tpl"} +
    +{include file="footer.tpl"} + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl index 688974509c..f3a90ab39a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl"} - -

    Element index for package {$package}

    -{if count($packageindex) > 1} -Indexes by package:
    -{/if} -{section name=p loop=$packageindex} -{if $packageindex[p].title != $package} -{$packageindex[p].title}
    -{/if} -{/section}
    -Index of all elements
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    Element index for package {$package}

    +{if count($packageindex) > 1} +Indexes by package:
    +{/if} +{section name=p loop=$packageindex} +{if $packageindex[p].title != $package} +{$packageindex[p].title}
    +{/if} +{/section}
    +Index of all elements
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl index 87f68ebb70..dd0669b5c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl @@ -1,11 +1,11 @@ -
      -{section name=entry loop=$entry} -
    • - -{if $entry[entry].isclass} -{/if}{if $entry[entry].outputfile} -{/if} - {if $entry[entry].tocsubentries}{$entry[entry].tocsubentries}{/if} -{/section} - {$tocsubentries} -
    +
      +{section name=entry loop=$entry} +
    • + +{if $entry[entry].isclass} +{/if}{if $entry[entry].outputfile} +{/if} + {if $entry[entry].tocsubentries}{$entry[entry].tocsubentries}{/if} +{/section} + {$tocsubentries} +
    diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl index 22c71c3b9a..a943522c24 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl @@ -1,32 +1,32 @@ -{include file="header.tpl" title=$title} -{if $nav} - - - - - - -
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    -{/if} -{$contents} -{if $nav} - - - - - - - - - - - - -
    {if $prev}{/if} -Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    -{/if} +{include file="header.tpl" title=$title} +{if $nav} + + + + + + +
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    +{/if} +{$contents} +{if $nav} + + + + + + + + + + + + +
    {if $prev}{/if} +Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl index 1db3443844..3d22d403b4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl @@ -1,29 +1,29 @@ -{if count($toc)} -

    Table of Contents

    -
      -{section name=toc loop=$toc} -{if $toc[toc].tagname == 'refsect1'} -{assign var="context" value="refsect1"} -{$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect2'} -{assign var="context" value="refsect2"} -   {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect3'} -{assign var="context" value="refsect3"} -      {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'table'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{if $toc[toc].tagname == 'example'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{/section} -
    +{if count($toc)} +

    Table of Contents

    +
      +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} +   {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} +      {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl index 6997545a35..de90717924 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl @@ -1,5 +1,5 @@ - - + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl index e635bef282..eeefcc51bc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl @@ -1,51 +1,51 @@ -{if $show=="summary"} - - -

    Class Variable Summary

    - -
      - {section name=vars loop=$vars} - {if $vars[vars].static} - -
    • static {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      -
      - {$vars[vars].sdesc} - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} - -
    • {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      -
      - {$vars[vars].sdesc} - {/if} - {/section} -
    -{else} - - - - -

    Variable Detail

    - -
      -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    • static {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]
    • -
    • Data type: {$vars[vars].var_type}{if $vars[vars].var_overrides}Overrides: {$vars[vars].var_overrides}
      {/if}
    • -{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} -
      -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    • {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]
    • -
    • Data type: {$vars[vars].var_type}{if $vars[vars].var_overrides}Overrides: {$vars[vars].var_overrides}
      {/if}
    • -{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} -
      -{/if} -{/section} -
    +{if $show=="summary"} + + +

    Class Variable Summary

    + +
      + {section name=vars loop=$vars} + {if $vars[vars].static} + +
    • static {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      +
      + {$vars[vars].sdesc} + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + +
    • {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      +
      + {$vars[vars].sdesc} + {/if} + {/section} +
    +{else} + + + + +

    Variable Detail

    + +
      +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    • static {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]
    • +
    • Data type: {$vars[vars].var_type}{if $vars[vars].var_overrides}Overrides: {$vars[vars].var_overrides}
      {/if}
    • +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +
      +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    • {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
      \n"|replace:" ":" "|replace:"\t":"   "}
      [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]
    • +
    • Data type: {$vars[vars].var_type}{if $vars[vars].var_overrides}Overrides: {$vars[vars].var_overrides}
      {/if}
    • +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +
      +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini index a8bbc7212b..32ea208812 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, highlighted by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = by -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = strong - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = -/refsect2 =
    - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl index 031a998115..02da5c4017 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl @@ -1,21 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl index 4619ceb5a3..a7f6308fad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl @@ -1,6 +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 /> - +<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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl index 94ffff6638..de4d8b6b33 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl @@ -1,570 +1,570 @@ -{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-descendents">Descendants</a> - {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} - {/if} - - {if $ivars || $imethods} - <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> - {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} - {/if} - {if $vars || $ivars} - {if $vars} - <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> - {else} - <a href="#sec-vars">Properties</a> - {/if} - {if $methods || $imethods}|{/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 $consts || $iconsts}|{/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-descendents"></a> - <div class="info-box"> - <div class="info-box-title">Direct descendents</div> - <div class="nav-bar"> - <a href="#sec-description">Class Overview</a> | - {if $children} - <a href="#sec-descendents">Descendents</a> - {if $vars || $ivars || $methods || $imethods}|{/if} - {/if} - {if $ivars || $imethods} - <a href="#sec-inherited">Inherited Properties and Methods</a> - {if $vars || $ivars || $methods || $imethods}|{/if} - {/if} - {if $vars || $ivars} - {if $vars} - <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> - {else} - <a href="#sec-vars">Properties</a> - {/if} - {if $methods || $imethods}|{/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 $consts || $iconsts}|{/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-descendents">Descendants</a> | - {/if} - {if $vars || $ivars || $methods || $imethods || $iconsts || $consts}|{/if} - <span class="disabled">Inherited Properties, Constants, and Methods</span> - {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} - {if $vars || $ivars} - {if $vars} - <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> - {else} - <a href="#sec-vars">Properties</a> - {/if} - {if $methods || $imethods}|{/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 $consts || $iconsts}|{/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-descendents">Descendants</a> | - {/if} - {if $ivars || $imethods || $iconsts} - <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> - {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} - {/if} - <span class="disabled">Constants Summary</span> | <a href="#sec-consts">Constants Detail</a> - {if $vars || $ivars} - {if $vars} - <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> - {else} - <a href="#sec-vars">Properties</a> - {/if} - {if $methods || $imethods}|{/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>  </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-descendents">Descendents</a> | - {/if} - {if $ivars || $imethods || $iconsts} - <a href="#sec-inherited">Inherited Properties and Methods</a> - {if $vars || $ivars || $methods || $imethods}|{/if} - {/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 $consts || $iconsts}|{/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>  </td> - <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a>  </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>  </td> - <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a>  </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-descendents">Descendents</a> | - {/if} - {if $ivars || $imethods || $iconsts} - <a href="#sec-inherited">Inherited Properties and Methods</a> - {if $vars || $ivars || $methods || $imethods}|{/if} - {/if} - {if $vars || $ivars} - {if $vars} - <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> - {else} - <a href="#sec-vars">Properties</a> - {/if} - {if $consts || $iconsts}|{/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>   - {/if}</td> - <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>()  </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>  </td> - {/if} - <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>()  </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-descendents">Descendents</a> | - {/if} - {if $ivars || $imethods || $iconsts} - <a href="#sec-inherited">Inherited Properties and Methods</a> - {if $vars || $ivars || $methods || $imethods}|{/if} - {/if} - {if $methods} - <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> - {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-descendents">Descendents</a> - {/if} - {if $ivars || $imethods || $iconsts} - <a href="#sec-inherited">Inherited Properties and Methods</a> - {if $vars || $ivars || $methods || $imethods}|{/if} - {/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-descendents">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 $vars || $ivars || $methods || $imethods || $consts || $iconsts} | {/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"> - {include file="const.tpl"} - </div> - </div> -{/if} - +{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-descendents">Descendants</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + + {if $ivars || $imethods} + <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + <a href="#sec-vars">Properties</a> + {/if} + {if $methods || $imethods}|{/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 $consts || $iconsts}|{/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-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods}|{/if} + {/if} + {if $ivars || $imethods} + <a href="#sec-inherited">Inherited Properties and Methods</a> + {if $vars || $ivars || $methods || $imethods}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + <a href="#sec-vars">Properties</a> + {/if} + {if $methods || $imethods}|{/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 $consts || $iconsts}|{/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-descendents">Descendants</a> | + {/if} + {if $vars || $ivars || $methods || $imethods || $iconsts || $consts}|{/if} + <span class="disabled">Inherited Properties, Constants, and Methods</span> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + <a href="#sec-vars">Properties</a> + {/if} + {if $methods || $imethods}|{/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 $consts || $iconsts}|{/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-descendents">Descendants</a> | + {/if} + {if $ivars || $imethods || $iconsts} + <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + <span class="disabled">Constants Summary</span> | <a href="#sec-consts">Constants Detail</a> + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + <a href="#sec-vars">Properties</a> + {/if} + {if $methods || $imethods}|{/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>  </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-descendents">Descendents</a> | + {/if} + {if $ivars || $imethods || $iconsts} + <a href="#sec-inherited">Inherited Properties and Methods</a> + {if $vars || $ivars || $methods || $imethods}|{/if} + {/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 $consts || $iconsts}|{/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>  </td> + <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a>  </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>  </td> + <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a>  </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-descendents">Descendents</a> | + {/if} + {if $ivars || $imethods || $iconsts} + <a href="#sec-inherited">Inherited Properties and Methods</a> + {if $vars || $ivars || $methods || $imethods}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Properties Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + <a href="#sec-vars">Properties</a> + {/if} + {if $consts || $iconsts}|{/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>   + {/if}</td> + <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>()  </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>  </td> + {/if} + <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>()  </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-descendents">Descendents</a> | + {/if} + {if $ivars || $imethods || $iconsts} + <a href="#sec-inherited">Inherited Properties and Methods</a> + {if $vars || $ivars || $methods || $imethods}|{/if} + {/if} + {if $methods} + <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {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-descendents">Descendents</a> + {/if} + {if $ivars || $imethods || $iconsts} + <a href="#sec-inherited">Inherited Properties and Methods</a> + {if $vars || $ivars || $methods || $imethods}|{/if} + {/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-descendents">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 $vars || $ivars || $methods || $imethods || $consts || $iconsts} | {/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"> + {include file="const.tpl"} + </div> + </div> +{/if} + {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl index 17d659654c..3bae1684b5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl @@ -1,11 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl index 2628379f1f..b810ecf878 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl @@ -1,22 +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>  </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>  </td><td>{$info_tags[tag].data}</td></tr> - {/if} -{/section} -</table> -{/if} +{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>  </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>  </td><td>{$info_tags[tag].data}</td></tr> + {/if} +{/section} +</table> +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl index 327c6dc0dc..0c0e974aac 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl @@ -1,17 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl index 572a4d7cea..2e3270e065 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl @@ -1,19 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl index 830eebfc4e..9b3809dff0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl @@ -1,34 +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>  <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 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>  <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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl index 5541460dfb..20bda10b85 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl @@ -1,5 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl index a6c2fcc89f..0bb2be85cc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl @@ -1,12 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl @@ -1,21 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl index 635cb2b52f..8b8c94fc00 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl @@ -1,6 +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="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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl index 6891714754..44d254e1e5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl @@ -1,8 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl index e8ae18777c..7307486362 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl @@ -1,8 +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> +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl index 76598c87e8..77427b0e40 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl @@ -1,7 +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>  </td><td>{$tags[tag].data}</td></tr> - {/section} -</table> -{/if} +{if count($tags) > 0} +<table border="0" cellspacing="0" cellpadding="0"> + {section name=tag loop=$tags} + <tr><td><strong>{$tags[tag].keyword|capitalize}:</strong>  </td><td>{$tags[tag].data}</td></tr> + {/section} +</table> +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl index b03216f272..32b09c11a8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl @@ -1,11 +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> + <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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl index 1042eafe10..417bbf76e8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl @@ -1,54 +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>  <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}&{/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> - - {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>  </td> - <td> - <span class="var-name">{$functions[func].params[params].var}: </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} +{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>  <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}&{/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> + + {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>  </td> + <td> + <span class="var-name">{$functions[func].params[params].var}: </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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl index 0172b63ed9..f616349b69 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl @@ -1,35 +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>   - <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>  <span class="var-default">{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":"   "}</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} +{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>   + <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>  <span class="var-default">{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":"   "}</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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl index e920a339d1..4a91b2ccf5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl @@ -1,102 +1,102 @@ -<?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} - - - - - - - - - - - - - - - -
    phpDocumentor {$phpdocver}{$package}
    {$subpackage}
    - [ class tree: {$package} ] - [ index: {$package} ] - [ all elements ] -
    - - - - -
    -
    - -{if !$hasel}{assign var="hasel" value=false}{/if} -{if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if} -{if $hasel} -

    {$eltype|capitalize}: {$class_name}

    -Source Location: {$source_location}

    + + + + + {$title} + + + + + + + + + + + + + + + +
    phpDocumentor {$phpdocver}{$package}
    {$subpackage}
    + [ class tree: {$package} ] + [ index: {$package} ] + [ all elements ] +
    + + + + +
    +
    + +{if !$hasel}{assign var="hasel" value=false}{/if} +{if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if} +{if $hasel} +

    {$eltype|capitalize}: {$class_name}

    +Source Location: {$source_location}

    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl index 9780f532f2..ffab8effdf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl @@ -1,18 +1,18 @@ -{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}] - -
    - - {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} -
    [ Top ]
    -
    -
    +{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}] + +
    + + {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} +
    [ Top ]
    +
    +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl index 60c74b4704..a493f70e4e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl @@ -1,7 +1,7 @@ -{include file="header.tpl"} -{if $contents} -{$contents} -{else} -{include file="blank.tpl"} -{/if} -{include file="footer.tpl"} +{include file="header.tpl"} +{if $contents} +{$contents} +{else} +{include file="blank.tpl"} +{/if} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl index 0c87d521a2..8ea3853c77 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl @@ -1,176 +1,176 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static method {$methods[methods].function_name}  [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}] -
    -
    - -
    -
    -
      - static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) -
    -

    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc} - - {if $methods[methods].params} - Parameters:
    - - {section name=params loop=$methods[methods].params} - - - - {/section} -
    - {$methods[methods].params[params].datatype}   - {$methods[methods].params[params].var}:  - {if $methods[methods].params[params].data} {$methods[methods].params[params].data}{/if} -
    - - {/if} -
    - {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -
    [ Top ]
    -
    -{/if} -{/section} - -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}  [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}] -
    -
    - -
    -
    -
      - {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) -
    -

    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc} - - {if $methods[methods].params} - Parameters:
    - - {section name=params loop=$methods[methods].params} - - - - {/section} -
    - {$methods[methods].params[params].datatype}   - {$methods[methods].params[params].var}:  - {if $methods[methods].params[params].data} {$methods[methods].params[params].data}{/if} -
    - - {/if} -
    - {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -
    [ Top ]
    -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static method {$methods[methods].function_name}  [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}] +
    +
    + +
    +
    +
      + static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) +
    +

    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc} + + {if $methods[methods].params} + Parameters:
    + + {section name=params loop=$methods[methods].params} + + + + {/section} +
    + {$methods[methods].params[params].datatype}   + {$methods[methods].params[params].var}:  + {if $methods[methods].params[params].data} {$methods[methods].params[params].data}{/if} +
    + + {/if} +
    + {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +
    [ Top ]
    +
    +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}  [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}] +
    +
    + +
    +
    +
      + {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) +
    +

    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc} + + {if $methods[methods].params} + Parameters:
    + + {section name=params loop=$methods[methods].params} + + + + {/section} +
    + {$methods[methods].params[params].datatype}   + {$methods[methods].params[params].var}:  + {if $methods[methods].params[params].data} {$methods[methods].params[params].data}{/if} +
    + + {/if} +
    + {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +
    [ Top ]
    +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl index b48b671967..0967e6e720 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl @@ -1,3 +1,3 @@ -{section name=packages loop=$packages} -{$packages[packages].title} +{section name=packages loop=$packages} +{$packages[packages].title} {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl index 7d39f52dff..83cfc582c5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl @@ -1,210 +1,210 @@ -{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} - - -
    -
    Page Details
    - -
    - {include file="docblock.tpl" type="page" desc=$desc sdesc=$sdesc} - {include file="filetags.tpl" tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -

    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -

    -{/if} - -{if $globals} - -
    -
    Globals
    - -
    - {include file="global.tpl"} -
    -

    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -

    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} + + +
    +
    Page Details
    + +
    + {include file="docblock.tpl" type="page" desc=$desc sdesc=$sdesc} + {include file="filetags.tpl" tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +

    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +

    +{/if} + +{if $globals} + +
    +
    Globals
    + +
    + {include file="global.tpl"} +
    +

    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +

    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl index c2b3455630..7f12c6c57a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl @@ -1,15 +1,15 @@ -{include file="header.tpl"} - -

    Element index for package {$package}

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    Element index for package {$package}

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl index 71cf2eff06..9f965d884e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl @@ -1,22 +1,22 @@ -{if count($api_tags) > 0} -API Tags:
    - -{section name=tag loop=$api_tags} - - - -{/section} -
    {$api_tags[tag].keyword|capitalize}:  {$api_tags[tag].data}
    -
    -{/if} - -{if count($info_tags) > 0} -Information Tags:
    - -{section name=tag loop=$info_tags} - - - -{/section} -
    {$info_tags[tag].keyword|capitalize}:  {$info_tags[tag].data}
    -{/if} +{if count($api_tags) > 0} +API Tags:
    + +{section name=tag loop=$api_tags} + + + +{/section} +
    {$api_tags[tag].keyword|capitalize}:  {$api_tags[tag].data}
    +
    +{/if} + +{if count($info_tags) > 0} +Information Tags:
    + +{section name=tag loop=$info_tags} + + + +{/section} +
    {$info_tags[tag].keyword|capitalize}:  {$info_tags[tag].data}
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl index 22c71c3b9a..a943522c24 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl @@ -1,32 +1,32 @@ -{include file="header.tpl" title=$title} -{if $nav} - - - - - - -
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    -{/if} -{$contents} -{if $nav} - - - - - - - - - - - - -
    {if $prev}{/if} -Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    -{/if} +{include file="header.tpl" title=$title} +{if $nav} + + + + + + +
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    +{/if} +{$contents} +{if $nav} + + + + + + + + + + + + +
    {if $prev}{/if} +Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl index 1db3443844..3d22d403b4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl @@ -1,29 +1,29 @@ -{if count($toc)} -

    Table of Contents

    -
      -{section name=toc loop=$toc} -{if $toc[toc].tagname == 'refsect1'} -{assign var="context" value="refsect1"} -{$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect2'} -{assign var="context" value="refsect2"} -   {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect3'} -{assign var="context" value="refsect3"} -      {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'table'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{if $toc[toc].tagname == 'example'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{/section} -
    +{if count($toc)} +

    Table of Contents

    +
      +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} +   {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} +      {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl index faf7bcef80..dd2e581124 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl @@ -1,5 +1,5 @@ - - + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl index ad3c20757d..45aba1952b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl @@ -1,94 +1,94 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type}   - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}] -
    -
    - - {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} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -
    [ Top ]
    -
    -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type}   - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}] -
    -
    - - {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} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -
    [ Top ]
    -
    -{/if} -{/section} +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type}   + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}] +
    +
    + + {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} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +
    [ Top ]
    +
    +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type}   + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}] +
    +
    + + {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} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +
    [ Top ]
    +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini index 29f59237e7..73479c5f07 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = strong - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = -/refsect2 =
    - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl index 37e94343c2..36cf9b4f34 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl @@ -1,18 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl index b503c14223..aae5997529 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl @@ -1,5 +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 /> - +<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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl index a95ca92703..d10ed3e3a3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl @@ -1,231 +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_constss"></a> -<h3>Class Constants</h3> -<div class="tags"> -{include file="const.tpl"} -</div><br /> -{/if} - +{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_constss"></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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl index c07fc33ad3..b847f40978 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl @@ -1,9 +1,9 @@ -{foreach key=subpackage item=files from=$classleftindex} - <div class="package"> - {if $subpackage != ""}{$subpackage}<br />{/if} - {section name=files loop=$files} - {if $subpackage != ""}  {/if} - {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}<br /> - {/section} - </div> -{/foreach} +{foreach key=subpackage item=files from=$classleftindex} + <div class="package"> + {if $subpackage != ""}{$subpackage}<br />{/if} + {section name=files loop=$files} + {if $subpackage != ""}  {/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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl index 327c6dc0dc..0c0e974aac 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl @@ -1,17 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl index 88856c4b65..9ad36e01f2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl @@ -1,14 +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:" ":" "|replace:"\t":"   "}</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} +{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:" ":" "|replace:"\t":"   "}</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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl index 04ce5b485b..3cc84da3b2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl @@ -1,32 +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 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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl index 09a603f843..2ddfa0bee3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl @@ -1,15 +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>  </td><td>{$tags[tag].data}</td> - </tr> -{/section} -</table> -</div> +{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>  </td><td>{$tags[tag].data}</td> + </tr> +{/section} +</table> +</div> {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl index 175a51361e..adb7b13654 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl @@ -1,5 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl @@ -1,21 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl index fb85654b97..c9ed8b860e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -<h1 align="center">{$title}</h1> -<div class="php"> -{$source} -</div> +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl index 50f108d736..9af5e1cfac 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl @@ -1,10 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl index 2a5be43e9a..3d93199ec8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl @@ -1,8 +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> +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl index 4486690a84..57097ba5da 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl @@ -1,11 +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> + <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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl index 6e0d2a4d91..204c582f61 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl @@ -1,48 +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}&{/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}  </td> - <td><b>{$functions[func].params[params].var}</b>  </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} +{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}&{/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}  </td> + <td><b>{$functions[func].params[params].var}</b>  </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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl index 1053f748e9..51ba08553b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl @@ -1,40 +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>  </td> - <td>{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":"   "}</td> - </tr> - {if $globals[glob].global_conflicts.conflict_type} - <tr> - <td><b>Conflicts with globals:</b>  </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>  </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 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>  </td> + <td>{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":"   "}</td> + </tr> + {if $globals[glob].global_conflicts.conflict_type} + <tr> + <td><b>Conflicts with globals:</b>  </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>  </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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl index df934b10f3..9e5fd7f4c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl @@ -1,89 +1,89 @@ -<html> -<head> -<title>{$title} - - - - - - - - - - - - - -
    {$package}
    - [ class tree: {$package} ] - [ index: {$package} ] - [ all elements ] -
    - - - - -
    -
    - -{if !$hasel}{assign var="hasel" value=false}{/if} -{if $hasel} -

    {$eltype|capitalize}: {$class_name}

    -Source Location: {$source_location}

    + + +{$title} + + + + + + + + + + + + + +
    {$package}
    + [ class tree: {$package} ] + [ index: {$package} ] + [ all elements ] +
    + + + + + - + {foreach from=$pluginsName key=name item=plugin} @@ -23,7 +23,7 @@ -{/foreach} +{/foreach}
    +
    + +{if !$hasel}{assign var="hasel" value=false}{/if} +{if $hasel} +

    {$eltype|capitalize}: {$class_name}

    +Source Location: {$source_location}

    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl index cff067db91..68b800816c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl @@ -1,9 +1,9 @@ -{if count($includes) > 0} -

    Includes:

    -
    -{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}]
    -{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} -{/section} -
    +{if count($includes) > 0} +

    Includes:

    +
    +{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}]
    +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl index 60c74b4704..a493f70e4e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl @@ -1,7 +1,7 @@ -{include file="header.tpl"} -{if $contents} -{$contents} -{else} -{include file="blank.tpl"} -{/if} -{include file="footer.tpl"} +{include file="header.tpl"} +{if $contents} +{$contents} +{else} +{include file="blank.tpl"} +{/if} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl index 216d31bda5..bcc4dceea1 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl @@ -1,145 +1,145 @@ -{section name=methods loop=$methods} -{if $methods[methods].static} -{if $show == 'summary'} -static method {$methods[methods].function_call}, {$methods[methods].sdesc}
    -{else} -
    - -

    static method {$methods[methods].function_name} [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    -
    -
    -
    - static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) -
    -

    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}

    - -{if $methods[methods].descmethod} -

    Overridden in child classes as:
    - {section name=dm loop=$methods[methods].descmethod} -

    -
    {$methods[methods].descmethod[dm].link}
    -
    {$methods[methods].descmethod[dm].sdesc}
    -
    - {/section}

    -{/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} -{* original {if $methods[methods].descmethod != "" - {$methods[methods].descmethod

    - {/if *} -{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} -{* original {if $methods[methods].method_overrides != "" - {$methods[methods].method_overrides

    - {/if *} - - {if count($methods[methods].params) > 0} -

    Parameters:

    -
    - - {section name=params loop=$methods[methods].params} - - - - - - {/section} -
    {$methods[methods].params[params].datatype}  {$methods[methods].params[params].var}  {$methods[methods].params[params].data}
    -

    - {/if} -
    [ Top ]
    -
    -{/if} -{/if} -{/section} - -{section name=methods loop=$methods} -{if !$methods[methods].static} -{if $show == 'summary'} -method {$methods[methods].function_call}, {$methods[methods].sdesc}
    -{else} -
    - -

    {if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    -
    -
    -
    - {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) -
    -

    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}

    - -{if $methods[methods].descmethod} -

    Overridden in child classes as:
    - {section name=dm loop=$methods[methods].descmethod} -

    -
    {$methods[methods].descmethod[dm].link}
    -
    {$methods[methods].descmethod[dm].sdesc}
    -
    - {/section}

    -{/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} -{* original {if $methods[methods].descmethod != "" - {$methods[methods].descmethod

    - {/if *} -{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} -{* original {if $methods[methods].method_overrides != "" - {$methods[methods].method_overrides

    - {/if *} - - {if count($methods[methods].params) > 0} -

    Parameters:

    -
    - - {section name=params loop=$methods[methods].params} - - - - - - {/section} -
    {$methods[methods].params[params].datatype}  {$methods[methods].params[params].var}  {$methods[methods].params[params].data}
    -

    - {/if} -
    [ Top ]
    -
    -{/if} -{/if} -{/section} +{section name=methods loop=$methods} +{if $methods[methods].static} +{if $show == 'summary'} +static method {$methods[methods].function_call}, {$methods[methods].sdesc}
    +{else} +
    + +

    static method {$methods[methods].function_name} [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    +
    +
    +
    + static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) +
    +

    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}

    + +{if $methods[methods].descmethod} +

    Overridden in child classes as:
    + {section name=dm loop=$methods[methods].descmethod} +

    +
    {$methods[methods].descmethod[dm].link}
    +
    {$methods[methods].descmethod[dm].sdesc}
    +
    + {/section}

    +{/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} +{* original {if $methods[methods].descmethod != "" + {$methods[methods].descmethod

    + {/if *} +{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} +{* original {if $methods[methods].method_overrides != "" + {$methods[methods].method_overrides

    + {/if *} + + {if count($methods[methods].params) > 0} +

    Parameters:

    +
    + + {section name=params loop=$methods[methods].params} + + + + + + {/section} +
    {$methods[methods].params[params].datatype}  {$methods[methods].params[params].var}  {$methods[methods].params[params].data}
    +

    + {/if} +
    [ Top ]
    +
    +{/if} +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +{if $show == 'summary'} +method {$methods[methods].function_call}, {$methods[methods].sdesc}
    +{else} +
    + +

    {if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    +
    +
    +
    + {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) +
    +

    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}

    + +{if $methods[methods].descmethod} +

    Overridden in child classes as:
    + {section name=dm loop=$methods[methods].descmethod} +

    +
    {$methods[methods].descmethod[dm].link}
    +
    {$methods[methods].descmethod[dm].sdesc}
    +
    + {/section}

    +{/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} +{* original {if $methods[methods].descmethod != "" + {$methods[methods].descmethod

    + {/if *} +{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} +{* original {if $methods[methods].method_overrides != "" + {$methods[methods].method_overrides

    + {/if *} + + {if count($methods[methods].params) > 0} +

    Parameters:

    +
    + + {section name=params loop=$methods[methods].params} + + + + + + {/section} +
    {$methods[methods].params[params].datatype}  {$methods[methods].params[params].var}  {$methods[methods].params[params].data}
    +

    + {/if} +
    [ Top ]
    +
    +{/if} +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl index b48b671967..0967e6e720 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl @@ -1,3 +1,3 @@ -{section name=packages loop=$packages} -{$packages[packages].title} +{section name=packages loop=$packages} +{$packages[packages].title} {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl index 6dd8683d1a..db2cd60748 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl @@ -1,31 +1,31 @@ -{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} - -
    -
    - -{if $classes} -
    -{if $tutorial} -Main Tutorial: {$tutorial} -{/if} -

    Classes:

    -{section name=classes loop=$classes} -
    {$classes[classes].link}
    -
    {$classes[classes].sdesc}
    -{/section} -


    -{/if} - -

    Page Details:

    -{include file="docblock.tpl" type="page"} -

    -{include file="include.tpl"} -

    -{include file="global.tpl"} -

    -{include file="define.tpl"} -
    -{include file="function.tpl"} - -{include file="footer.tpl"} - +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} + +
    +
    + +{if $classes} +
    +{if $tutorial} +Main Tutorial: {$tutorial} +{/if} +

    Classes:

    +{section name=classes loop=$classes} +
    {$classes[classes].link}
    +
    {$classes[classes].sdesc}
    +{/section} +


    +{/if} + +

    Page Details:

    +{include file="docblock.tpl" type="page"} +

    +{include file="include.tpl"} +

    +{include file="global.tpl"} +

    +{include file="define.tpl"} +
    +{include file="function.tpl"} + +{include file="footer.tpl"} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl index 753ad7cf4b..0dabfdb722 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl @@ -1,5 +1,5 @@ -{include file="header.tpl"} - -

    Element index for package {$package}

    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    Element index for package {$package}

    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl index 22c71c3b9a..a943522c24 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl @@ -1,32 +1,32 @@ -{include file="header.tpl" title=$title} -{if $nav} - - - - - - -
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    -{/if} -{$contents} -{if $nav} - - - - - - - - - - - - -
    {if $prev}{/if} -Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    -{/if} +{include file="header.tpl" title=$title} +{if $nav} + + + + + + +
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    +{/if} +{$contents} +{if $nav} + + + + + + + + + + + + +
    {if $prev}{/if} +Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl index 1db3443844..3d22d403b4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl @@ -1,29 +1,29 @@ -{if count($toc)} -

    Table of Contents

    -
      -{section name=toc loop=$toc} -{if $toc[toc].tagname == 'refsect1'} -{assign var="context" value="refsect1"} -{$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect2'} -{assign var="context" value="refsect2"} -   {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect3'} -{assign var="context" value="refsect3"} -      {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'table'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{if $toc[toc].tagname == 'example'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{/section} -
    +{if count($toc)} +

    Table of Contents

    +
      +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} +   {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} +      {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl index faf7bcef80..dd2e581124 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl @@ -1,5 +1,5 @@ - - + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl index e213010253..e36c61fd7b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl @@ -1,60 +1,60 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} -{if $show == 'summary'} - static var {$vars[vars].var_name}, {$vars[vars].sdesc}
    -{else} - -

    -

    static {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}

    -

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - -
    -
    - - - - - - {if $vars[vars].var_overrides != ""} - - - - - {/if} -
    Type:  {$vars[vars].var_type}
    Overrides:  {$vars[vars].var_overrides}
    -


    -
    [ Top ]

    -{/if} -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} -{if $show == 'summary'} - var {$vars[vars].var_name}, {$vars[vars].sdesc}
    -{else} - -

    -

    {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}

    -

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - -
    -
    - - - - - - {if $vars[vars].var_overrides != ""} - - - - - {/if} -
    Type:  {$vars[vars].var_type}
    Overrides:  {$vars[vars].var_overrides}
    -


    -
    [ Top ]

    -{/if} -{/if} -{/section} +{section name=vars loop=$vars} +{if $vars[vars].static} +{if $show == 'summary'} + static var {$vars[vars].var_name}, {$vars[vars].sdesc}
    +{else} + +

    +

    static {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}

    +

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + +
    +
    + + + + + + {if $vars[vars].var_overrides != ""} + + + + + {/if} +
    Type:  {$vars[vars].var_type}
    Overrides:  {$vars[vars].var_overrides}
    +


    +
    [ Top ]

    +{/if} +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +{if $show == 'summary'} + var {$vars[vars].var_name}, {$vars[vars].sdesc}
    +{else} + +

    +

    {$vars[vars].var_name} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}

    +

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + +
    +
    + + + + + + {if $vars[vars].var_overrides != ""} + + + + + {/if} +
    Type:  {$vars[vars].var_type}
    Overrides:  {$vars[vars].var_overrides}
    +


    +
    [ Top ]

    +{/if} +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini index 2293168ed9..e61aeba88e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = -/refsect2 =
    - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl index 8628fc0c4c..b3f0c4a417 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl @@ -1,17 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl index b503c14223..aae5997529 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl @@ -1,5 +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 /> - +<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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl index 385b061eaa..399116ade3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl @@ -1,173 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl index c361ba7d72..7d7de89a82 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl @@ -1,8 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl index 327c6dc0dc..0c0e974aac 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl @@ -1,17 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl index 04a1f474c0..aeab7293a7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl @@ -1,14 +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:" ":" "|replace:"\t":"   "}</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} +{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:" ":" "|replace:"\t":"   "}</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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl index b655a99dfa..0aa7ef7608 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl @@ -1,23 +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> +<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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl index ebe541b8ab..9ea60cf24d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl @@ -1,13 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl index b9b8028244..0ff4a79e9d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl @@ -1,5 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl @@ -1,21 +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"} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl index 9580ee405e..1bf1f882cd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -<h1 align="center">{$title}</h1> -<div class="php-src"> -{$source} -</div> +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl index 4e9b917af0..9e141dc5d9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl @@ -1,8 +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} +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl index 20aea22203..15f7fbfe34 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl @@ -1,8 +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> +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl index ecf90ee808..0bdda65ca2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl @@ -1,7 +1,7 @@ - <div id="credit"> - <hr> - Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a> - </div> -</div> -</body> -</html> + <div id="credit"> + <hr> + Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a> + </div> +</div> +</body> +</html> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl index 454c1069ac..14fd78eb80 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl @@ -1,39 +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}&{/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> +<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}&{/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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl index 3ef7ac7135..9fa52bcefc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl @@ -1,24 +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:" ":" "|replace:"\t":"   "}</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> +<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:" ":" "|replace:"\t":"   "}</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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl index 852e0e9f47..b735fa3a11 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl @@ -1,93 +1,93 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <title>{$title} - - - - - - - - - - -
    - {if !$hasel}{assign var="hasel" value=false}{/if} - {if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if} - {if $hasel} -

    {$eltype|capitalize}: {$class_name}

    -

    Source Location: {$source_location}

    - {/if} + + + + {$title} + + + + + + + + + + +
    + {if !$hasel}{assign var="hasel" value=false}{/if} + {if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if} + {if $hasel} +

    {$eltype|capitalize}: {$class_name}

    +

    Source Location: {$source_location}

    + {/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl index 58eb8514c8..f2f5625db9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl @@ -1,8 +1,8 @@ -{if count($includes) > 0} -Includes:
    -{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}] -
    -{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} -{/section} +{if count($includes) > 0} +Includes:
    +{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}] +
    +{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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl index 60c74b4704..a493f70e4e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl @@ -1,7 +1,7 @@ -{include file="header.tpl"} -{if $contents} -{$contents} -{else} -{include file="blank.tpl"} -{/if} -{include file="footer.tpl"} +{include file="header.tpl"} +{if $contents} +{$contents} +{else} +{include file="blank.tpl"} +{/if} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl index 742e97bd7d..f9bcdd38f3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl @@ -1,123 +1,123 @@ -{section name=methods loop=$methods} -{if $methods[methods].static} -{if $show == 'summary'} -

    static method {$methods[methods].function_call}, {$methods[methods].sdesc}

    -{else} - -

    -

    static {$methods[methods].function_name}

    -
    -

    - static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) -

    - -

    [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags} - -{if $methods[methods].descmethod} -

    Overridden in child classes as:
    - {section name=dm loop=$methods[methods].descmethod} -

    -
    {$methods[methods].descmethod[dm].link}
    -
    {$methods[methods].descmethod[dm].sdesc}
    -
    - {/section}

    -{/if} -{if $methods[methods].method_overrides}

    Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - -

    Parameters:

    -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var} - - - {$methods[methods].params[params].data}
    • - {/section} -
    -
    -

    [ Top ]

    -{/if} -{/if} -{/section} - -{section name=methods loop=$methods} -{if !$methods[methods].static} -{if $show == 'summary'} -

    {if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_call}, {$methods[methods].sdesc}

    -{else} - -

    -

    {$methods[methods].function_name}

    -
    -

    - {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) -

    - -

    [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags} - -{if $methods[methods].descmethod} -

    Overridden in child classes as:
    - {section name=dm loop=$methods[methods].descmethod} -

    -
    {$methods[methods].descmethod[dm].link}
    -
    {$methods[methods].descmethod[dm].sdesc}
    -
    - {/section}

    -{/if} -{if $methods[methods].method_overrides}

    Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - -

    Parameters:

    -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var} - - - {$methods[methods].params[params].data}
    • - {/section} -
    -
    -

    [ Top ]

    -{/if} -{/if} -{/section} +{section name=methods loop=$methods} +{if $methods[methods].static} +{if $show == 'summary'} +

    static method {$methods[methods].function_call}, {$methods[methods].sdesc}

    +{else} + +

    +

    static {$methods[methods].function_name}

    +
    +

    + static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) +

    + +

    [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags} + +{if $methods[methods].descmethod} +

    Overridden in child classes as:
    + {section name=dm loop=$methods[methods].descmethod} +

    +
    {$methods[methods].descmethod[dm].link}
    +
    {$methods[methods].descmethod[dm].sdesc}
    +
    + {/section}

    +{/if} +{if $methods[methods].method_overrides}

    Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + +

    Parameters:

    +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var} + - + {$methods[methods].params[params].data}
    • + {/section} +
    +
    +

    [ Top ]

    +{/if} +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +{if $show == 'summary'} +

    {if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_call}, {$methods[methods].sdesc}

    +{else} + +

    +

    {$methods[methods].function_name}

    +
    +

    + {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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}) +

    + +

    [line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]

    + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags} + +{if $methods[methods].descmethod} +

    Overridden in child classes as:
    + {section name=dm loop=$methods[methods].descmethod} +

    +
    {$methods[methods].descmethod[dm].link}
    +
    {$methods[methods].descmethod[dm].sdesc}
    +
    + {/section}

    +{/if} +{if $methods[methods].method_overrides}

    Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})

    {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + +

    Parameters:

    +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var} + - + {$methods[methods].params[params].data}
    • + {/section} +
    +
    +

    [ Top ]

    +{/if} +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl index b48b671967..0967e6e720 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl @@ -1,3 +1,3 @@ -{section name=packages loop=$packages} -{$packages[packages].title} +{section name=packages loop=$packages} +{$packages[packages].title} {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl index b85a5ce7d6..c3cb9fd1f7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl @@ -1,31 +1,31 @@ -{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} - -
    -
    - -
    -{if $tutorial} -Main Tutorial: {$tutorial} -{/if} -

    Classes:

    -
    -{section name=classes loop=$classes} -
    {$classes[classes].link}
    -
    {$classes[classes].sdesc}
    -{/section} -
    -
    - -

    Page Details:

    -{include file="docblock.tpl" type="page"} -
    -{include file="include.tpl"} -
    -{include file="global.tpl"} -
    -{include file="define.tpl"} -
    -{include file="function.tpl"} - -{include file="footer.tpl"} - +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} + +
    +
    + +
    +{if $tutorial} +Main Tutorial: {$tutorial} +{/if} +

    Classes:

    +
    +{section name=classes loop=$classes} +
    {$classes[classes].link}
    +
    {$classes[classes].sdesc}
    +{/section} +
    +
    + +

    Page Details:

    +{include file="docblock.tpl" type="page"} +
    +{include file="include.tpl"} +
    +{include file="global.tpl"} +
    +{include file="define.tpl"} +
    +{include file="function.tpl"} + +{include file="footer.tpl"} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl index 753ad7cf4b..0dabfdb722 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl @@ -1,5 +1,5 @@ -{include file="header.tpl"} - -

    Element index for package {$package}

    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    Element index for package {$package}

    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl index f468bf416b..71fbb4febc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl @@ -1,32 +1,32 @@ -{include file="header.tpl" title=$title} -{if $nav} - - - - - - -
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    -{/if} -{$contents} -{if $nav} - - - - - - - - - - - - -
    {if $prev}{/if} -Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    -{/if} -{include file="footer.tpl"} +{include file="header.tpl" title=$title} +{if $nav} + + + + + + +
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    +{/if} +{$contents} +{if $nav} + + + + + + + + + + + + +
    {if $prev}{/if} +Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    +{/if} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl index 1db3443844..3d22d403b4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl @@ -1,29 +1,29 @@ -{if count($toc)} -

    Table of Contents

    -
      -{section name=toc loop=$toc} -{if $toc[toc].tagname == 'refsect1'} -{assign var="context" value="refsect1"} -{$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect2'} -{assign var="context" value="refsect2"} -   {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect3'} -{assign var="context" value="refsect3"} -      {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'table'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{if $toc[toc].tagname == 'example'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{/section} -
    +{if count($toc)} +

    Table of Contents

    +
      +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} +   {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} +      {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl index 1ccecc9746..ccb0289efb 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl @@ -1,5 +1,5 @@ - - + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl index 56160db47b..262f427a78 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl @@ -1,36 +1,36 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} -{if $show == 'summary'} - static var {$vars[vars].var_name}, {$vars[vars].sdesc}
    -{else} - -

    -

    static {$vars[vars].var_name}{if $vars[vars].has_default} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}
    {/if}

    -
    -

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} -

    Type: {$vars[vars].var_type}

    -

    Overrides: {$vars[vars].var_overrides}

    -
    -

    [ Top ]

    -{/if} -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} -{if $show == 'summary'} - var {$vars[vars].var_name}, {$vars[vars].sdesc}
    -{else} - -

    -

    {$vars[vars].var_name}{if $vars[vars].has_default} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}
    {/if}

    -
    -

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} -

    Type: {$vars[vars].var_type}

    -

    Overrides: {$vars[vars].var_overrides}

    -
    -

    [ Top ]

    -{/if} -{/if} -{/section} +{section name=vars loop=$vars} +{if $vars[vars].static} +{if $show == 'summary'} + static var {$vars[vars].var_name}, {$vars[vars].sdesc}
    +{else} + +

    +

    static {$vars[vars].var_name}{if $vars[vars].has_default} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}
    {/if}

    +
    +

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +

    Type: {$vars[vars].var_type}

    +

    Overrides: {$vars[vars].var_overrides}

    +
    +

    [ Top ]

    +{/if} +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +{if $show == 'summary'} + var {$vars[vars].var_name}, {$vars[vars].sdesc}
    +{else} + +

    +

    {$vars[vars].var_name}{if $vars[vars].has_default} = {$vars[vars].var_default|replace:"\n":"
    \n"|replace:" ":" "|replace:"\t":"   "}
    {/if}

    +
    +

    [line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]

    + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +

    Type: {$vars[vars].var_type}

    +

    Overrides: {$vars[vars].var_overrides}

    +
    +

    [ Top ]

    +{/if} +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl index 902871c310..0d62619064 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl @@ -1,95 +1,95 @@ - - - - - - {$title} - - {if $top2 || $top3} - - {/if} - {if $top2} - - {/if} - {if $top3 || $top2} - - {/if} - - - {if $top3}
    {/if} - + + + + + + {$title} + + {if $top2 || $top3} + + {/if} + {if $top2} + + {/if} + {if $top3 || $top2} + + {/if} + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl index 25d8905ad0..35178d876d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl @@ -1,197 +1,197 @@ -{include file="header.tpl" top2=true} -

    {$info.0.package}

    -
    - -
    -

    - Generated by - phpDocumentor {$phpdocversion} -

    - - +{include file="header.tpl" top2=true} +

    {$info.0.package}

    +
    + +
    +

    + Generated by + phpDocumentor {$phpdocversion} +

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js index 5989426f08..ebb3fb4a77 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/empty.png', - openRootIcon : 'media/images/empty.png', - folderIcon : 'media/images/empty.png', - openFolderIcon : 'media/images/empty.png', - fileIcon : 'media/images/empty.png', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "
    "; - str += "" + this.text + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "
    "; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "
    "; - str += indent; - str += "" - str += "" + label + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "
    "; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; } \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css index a3c177a86d..97514c39f2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css @@ -507,8 +507,8 @@ dd { padding-left: 0em } -/*------------------------------------------------------------------------------ - webfx-tree +/*------------------------------------------------------------------------------ + webfx-tree ------------------------------------------------------------------------------*/ .webfx-tree-container { margin: 0px; diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl index 5ada4ec15d..40d9a4ffbd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl @@ -1,8 +1,8 @@ - var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); - -{if $haskids} - var a{$name|replace:"-":"_"}_old_parent_node = parent_node; - parent_node = a{$name|replace:"-":"_"}node; - {$kids} - parent_node = a{$name|replace:"-":"_"}_old_parent_node; -{/if} + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl index 93f2973757..1b3ca2ff00 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl @@ -1,90 +1,90 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl index 78eb5787aa..fc00a96cb4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl @@ -1,57 +1,57 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <img src="{$subdir}media/images/{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Global")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Method")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Function")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Constant")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Class")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {else} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {/if} - -
    -
    {$index[index].index[contents].link} in {$index[index].index[contents].file_name}
    - {if $index[index].index[contents].description} -
    {$index[index].index[contents].description}
    - {/if} -
    - {/section} - -{/section} - -
    -{section name=letter loop=$letters} - {$letters[letter].letter} -{/section} -
    +
    +{section name=letter loop=$letters} + {$letters[letter].letter} +{/section} +
    + +{section name=index loop=$index} + +
    +
    {$index[index].letter}
    + +
    +
    +
    + {section name=contents loop=$index[index].index} +
    + {if ($index[index].index[contents].title == "Variable")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Global")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Method")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Function")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Constant")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Class")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {else} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {/if} +
    +
    +
    {$index[index].index[contents].link} in {$index[index].index[contents].file_name}
    + {if $index[index].index[contents].description} +
    {$index[index].index[contents].description}
    + {/if} +
    + {/section} +
    +{/section} + +
    +{section name=letter loop=$letters} + {$letters[letter].letter} +{/section} +
    diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl @@ -1,13 +1,13 @@ - - - {$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl index ee265b915c..1999d25dda 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl @@ -1,444 +1,444 @@ -{include file="header.tpl" top3=true} - -

    {if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class{if $is_interface}Interface{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    - {if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class - {$children[kids].link} - - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    -  - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    -  - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    -  - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    -  - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} -  - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class{if $is_interface}Interface{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    + {if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class + {$children[kids].link} + + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    +  + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    +  + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    +  + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    +  + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} +  + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl index bf9134c041..94078960a8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl @@ -1,25 +1,25 @@ -{section name=def loop=$defines} - -
    - -
    - - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl index 4b66b63fd4..e62a98ae47 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl index fea80726bf..d37bda37e9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl @@ -1,27 +1,27 @@ -{section name=glob loop=$globals} - -
    - -
    - - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl index 902871c310..0d62619064 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl @@ -1,95 +1,95 @@ - - - - - - {$title} - - {if $top2 || $top3} - - {/if} - {if $top2} - - {/if} - {if $top3 || $top2} - - {/if} - - - {if $top3}
    {/if} - + + + + + + {$title} + + {if $top2 || $top3} + + {/if} + {if $top2} + + {/if} + {if $top3 || $top2} + + {/if} + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl index 3ef8ca9f7c..f264afd390 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl @@ -1,17 +1,17 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl index ba7b07994e..a38cb29f44 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl @@ -1,250 +1,250 @@ -{include file="header.tpl" top2=true} -

    {$info.0.package}

    -
    - -
    -

    - Generated by - phpDocumentor {$phpdocversion} -

    - - +{include file="header.tpl" top2=true} +

    {$info.0.package}

    +
    + +
    +

    + Generated by + phpDocumentor {$phpdocversion} +

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js index 5989426f08..ebb3fb4a77 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/empty.png', - openRootIcon : 'media/images/empty.png', - folderIcon : 'media/images/empty.png', - openFolderIcon : 'media/images/empty.png', - fileIcon : 'media/images/empty.png', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "
    "; - str += "" + this.text + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "
    "; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "
    "; - str += indent; - str += "" - str += "" + label + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "
    "; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; } \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css index e4405133ba..53924f73f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css @@ -499,8 +499,8 @@ a img { padding-left: 0em } -/*------------------------------------------------------------------------------ - webfx-tree +/*------------------------------------------------------------------------------ + webfx-tree ------------------------------------------------------------------------------*/ .webfx-tree-container { margin: 0px; diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl index 57a757f151..547e261dd6 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl @@ -1,151 +1,151 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl index 8e10bf9dbd..2cffc22dbc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl @@ -1,214 +1,214 @@ -{include file="header.tpl" top3=true} - -

    File{$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    File{$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl index 17eea714ed..3cd7893d34 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl index 60a7112b3e..8b10e9db39 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl @@ -1,9 +1,9 @@ - var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node, - 'media/images/tutorial.png', 'media/images/tutorial.png'); - -{if $haskids} - var a{$name|replace:"-":"_"}_old_parent_node = parent_node; - parent_node = a{$name|replace:"-":"_"}node; - {$kids} - parent_node = a{$name|replace:"-":"_"}_old_parent_node; -{/if} + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node, + 'media/images/tutorial.png', 'media/images/tutorial.png'); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl index 2e99625b21..a82d1bfa6d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl @@ -1,94 +1,94 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl index 258319a716..cd34cf9fe8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl @@ -1,99 +1,99 @@ - - - - - - {$title} - - {if $top2 || $top3} - - {/if} - {if $top2} - - - - {/if} - {if $top3 || $top2} - - {/if} - - - {if $top3}
    {/if} - + + + + + + {$title} + + {if $top2 || $top3} + + {/if} + {if $top2} + + + + {/if} + {if $top3 || $top2} + + {/if} + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl index 8cab3fd516..2072566d1f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl @@ -1,198 +1,198 @@ -{include file="header.tpl" top2=true} -

    {$info.0.package}

    -
    - -
    -

    - Generated by - phpDocumentor {$phpdocversion} -

    - - +{include file="header.tpl" top2=true} +

    {$info.0.package}

    +
    + +
    +

    + Generated by + phpDocumentor {$phpdocversion} +

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js index 5989426f08..ebb3fb4a77 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/empty.png', - openRootIcon : 'media/images/empty.png', - folderIcon : 'media/images/empty.png', - openFolderIcon : 'media/images/empty.png', - fileIcon : 'media/images/empty.png', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "
    "; - str += "" + this.text + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "
    "; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "
    "; - str += indent; - str += "" - str += "" + label + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "
    "; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; } \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css index 0d67c48a91..670b30e228 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css @@ -516,8 +516,8 @@ dd { padding-left: 0em } -/*------------------------------------------------------------------------------ - webfx-tree +/*------------------------------------------------------------------------------ + webfx-tree ------------------------------------------------------------------------------*/ .webfx-tree-container { margin: 0px; diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl index 5ada4ec15d..40d9a4ffbd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl @@ -1,8 +1,8 @@ - var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); - -{if $haskids} - var a{$name|replace:"-":"_"}_old_parent_node = parent_node; - parent_node = a{$name|replace:"-":"_"}node; - {$kids} - parent_node = a{$name|replace:"-":"_"}_old_parent_node; -{/if} + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl index f11f3be974..fccf689213 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl @@ -1,92 +1,92 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl index 902871c310..0d62619064 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl @@ -1,95 +1,95 @@ - - - - - - {$title} - - {if $top2 || $top3} - - {/if} - {if $top2} - - {/if} - {if $top3 || $top2} - - {/if} - - - {if $top3}
    {/if} - + + + + + + {$title} + + {if $top2 || $top3} + + {/if} + {if $top2} + + {/if} + {if $top3 || $top2} + + {/if} + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl index 9066e6b85a..b496b70c56 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl @@ -1,216 +1,216 @@ -{include file="header.tpl" top2=true} -

    {$info.0.package}

    -
    - -
    -

    - Generated by - phpDocumentor {$phpdocversion} -

    - - +{include file="header.tpl" top2=true} +

    {$info.0.package}

    +
    + +
    +

    + Generated by + phpDocumentor {$phpdocversion} +

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js index 5989426f08..ebb3fb4a77 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/empty.png', - openRootIcon : 'media/images/empty.png', - folderIcon : 'media/images/empty.png', - openFolderIcon : 'media/images/empty.png', - fileIcon : 'media/images/empty.png', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "
    "; - str += "" + this.text + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "
    "; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "
    "; - str += indent; - str += "" - str += "" + label + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "
    "; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; } \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css index 390769c210..c8c97d4d56 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css @@ -507,8 +507,8 @@ dd { padding-left: 0em } -/*------------------------------------------------------------------------------ - webfx-tree +/*------------------------------------------------------------------------------ + webfx-tree ------------------------------------------------------------------------------*/ .webfx-tree-container { margin: 0px; diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl index 5ada4ec15d..40d9a4ffbd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl @@ -1,8 +1,8 @@ - var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); - -{if $haskids} - var a{$name|replace:"-":"_"}_old_parent_node = parent_node; - parent_node = a{$name|replace:"-":"_"}node; - {$kids} - parent_node = a{$name|replace:"-":"_"}_old_parent_node; -{/if} + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl index f11f3be974..fccf689213 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl @@ -1,92 +1,92 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl index 902871c310..0d62619064 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl @@ -1,95 +1,95 @@ - - - - - - {$title} - - {if $top2 || $top3} - - {/if} - {if $top2} - - {/if} - {if $top3 || $top2} - - {/if} - - - {if $top3}
    {/if} - + + + + + + {$title} + + {if $top2 || $top3} + + {/if} + {if $top2} + + {/if} + {if $top3 || $top2} + + {/if} + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl index 5d05140f5b..e162223980 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl @@ -1,216 +1,216 @@ -{include file="header.tpl" top2=true} -

    {$info.0.package}

    -
    - -
    -

    - Generated by - phpDocumentor {$phpdocversion} -

    - - +{include file="header.tpl" top2=true} +

    {$info.0.package}

    +
    + +
    +

    + Generated by + phpDocumentor {$phpdocversion} +

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js index 5989426f08..ebb3fb4a77 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/empty.png', - openRootIcon : 'media/images/empty.png', - folderIcon : 'media/images/empty.png', - openFolderIcon : 'media/images/empty.png', - fileIcon : 'media/images/empty.png', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "
    "; - str += "" + this.text + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "
    "; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "
    "; - str += indent; - str += "" - str += "" + label + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "
    "; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; } \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css index 80cf8da92e..ed1e23987d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css @@ -506,8 +506,8 @@ dd { padding-left: 0em } -/*------------------------------------------------------------------------------ - webfx-tree +/*------------------------------------------------------------------------------ + webfx-tree ------------------------------------------------------------------------------*/ .webfx-tree-container { margin: 0px; diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl index 5ada4ec15d..40d9a4ffbd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl @@ -1,8 +1,8 @@ - var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); - -{if $haskids} - var a{$name|replace:"-":"_"}_old_parent_node = parent_node; - parent_node = a{$name|replace:"-":"_"}node; - {$kids} - parent_node = a{$name|replace:"-":"_"}_old_parent_node; -{/if} + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl index f11f3be974..fccf689213 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl @@ -1,92 +1,92 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl index 5aa837851f..bb5378f646 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl @@ -1,430 +1,430 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl index d5e26dfab7..c22ba37ddf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl @@ -1,12 +1,12 @@ - - - - - - {$title} - - - - - {if $top3}
    {/if} - + + + + + + {$title} + + + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl index c78bc575d5..eb3f670de2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl @@ -1,159 +1,159 @@ -{include file="header.tpl" top2=true} -
    {$package}
    -
    - -
    - -
    Description
    -
    - Class trees
    - Index of elements
    - {if $hastodos} - Todo List
    - {/if} -
    - - {section name=p loop=$info} - - {if $info[p].subpackage == ""} - - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - {if $info[p].hasinterfaces} -
    Interfaces
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_interface} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].hasclasses} -
    Classes
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_class} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} - - {else} - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - -
    {$info[p].subpackage}
    -
    -
    - {if $info[p].subpackagetutorial} - - {/if} - {if $info[p].classes} -
    Classes
    - {section name=class loop=$info[p].classes} -
    {$info[p].classes[class].title}
    - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} -
    -
    - - {/if} - - {/section} -
    -
    -

    phpDocumentor v {$phpdocversion}

    - - +{include file="header.tpl" top2=true} +
    {$package}
    +
    + +
    + +
    Description
    +
    + Class trees
    + Index of elements
    + {if $hastodos} + Todo List
    + {/if} +
    + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + {if $info[p].hasinterfaces} +
    Interfaces
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].hasclasses} +
    Classes
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} + + {else} + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + +
    {$info[p].subpackage}
    +
    +
    + {if $info[p].subpackagetutorial} + + {/if} + {if $info[p].classes} +
    Classes
    + {section name=class loop=$info[p].classes} +
    {$info[p].classes[class].title}
    + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} +
    +
    + + {/if} + + {/section} +
    +
    +

    phpDocumentor v {$phpdocversion}

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl index dad8a89436..3ef9ee53aa 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl @@ -1,151 +1,151 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static method {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} - -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static method {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl index a2a296012a..fbe7eda34c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl @@ -1,43 +1,43 @@ - - - - - - {$title} - - - - - - - + + + + + + {$title} + + + + + + + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl index d5a1835594..617b565411 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl @@ -1,6 +1,6 @@ - -{if $haskids} -
    - {$kids} -
    -{/if} + +{if $haskids} +
    + {$kids} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl index ab773fb049..607d768163 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl @@ -1,91 +1,91 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini index bc57cb5f83..64638d09aa 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini @@ -1,576 +1,576 @@ -preservedocbooktags = false - -;; used to highlight the {@source} inline tag, @filesource tag, and @example tag -[highlightSourceTokens] -;; format: -;; T_CONSTANTNAME = open -;; /T_CONSTANTNAME = close - -T_INCLUDE = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -example! = 0 - -formalpara = p - -graphic = img -graphic->fileref = src -graphic/ = - -function = -/function = () - -important = strong - -informalequation = blockquote - -informalexample = div - -inlineequation = em - -itemizedlist = ul - -listitem = li - -literal = code - -literallayout = span - -option = " " -/option = - -orderedlist = ol - -para = p - -programlisting =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$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 + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +function = +/function = () + +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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl index 78eb5787aa..fc00a96cb4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl @@ -1,57 +1,57 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <img src="{$subdir}media/images/{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Global")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Method")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Function")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Constant")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {elseif ($index[index].index[contents].title == "Class")} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {else} - {$index[index].index[contents].title} - {$index[index].index[contents].name} - {/if} - -
    -
    {$index[index].index[contents].link} in {$index[index].index[contents].file_name}
    - {if $index[index].index[contents].description} -
    {$index[index].index[contents].description}
    - {/if} -
    - {/section} - -{/section} - -
    -{section name=letter loop=$letters} - {$letters[letter].letter} -{/section} -
    +
    +{section name=letter loop=$letters} + {$letters[letter].letter} +{/section} +
    + +{section name=index loop=$index} + +
    +
    {$index[index].letter}
    + +
    +
    +
    + {section name=contents loop=$index[index].index} +
    + {if ($index[index].index[contents].title == "Variable")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Global")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Method")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Function")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Constant")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {elseif ($index[index].index[contents].title == "Class")} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {else} + {$index[index].index[contents].title} + {$index[index].index[contents].name} + {/if} +
    +
    +
    {$index[index].index[contents].link} in {$index[index].index[contents].file_name}
    + {if $index[index].index[contents].description} +
    {$index[index].index[contents].description}
    + {/if} +
    + {/section} +
    +{/section} + +
    +{section name=letter loop=$letters} + {$letters[letter].letter} +{/section} +
    diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl @@ -1,13 +1,13 @@ - - - {$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl index 2162139792..7a46002e03 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl @@ -1,437 +1,437 @@ -{include file="header.tpl" top3=true} - -

    {if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class{if $is_interface}Interface{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    - {if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class - {$children[kids].link} - - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    -  - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    -  - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    -  - {if $methods[methods].function_return} - static {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    -  - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} -  - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class{if $is_interface}Interface{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    + {if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class + {$children[kids].link} + + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    +  + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    +  + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    +  + {if $methods[methods].function_return} + static {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    +  + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} +  + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl index bf9134c041..94078960a8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl @@ -1,25 +1,25 @@ -{section name=def loop=$defines} - -
    - -
    - - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl index 4b66b63fd4..e62a98ae47 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl index fea80726bf..d37bda37e9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl @@ -1,27 +1,27 @@ -{section name=glob loop=$globals} - -
    - -
    - - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl index d5e26dfab7..c22ba37ddf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl @@ -1,12 +1,12 @@ - - - - - - {$title} - - - - - {if $top3}
    {/if} - + + + + + + {$title} + + + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl index 3ef8ca9f7c..f264afd390 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl @@ -1,17 +1,17 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl index 7cb1a7574f..fe79e52122 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl @@ -1,159 +1,159 @@ -{include file="header.tpl" top2=true} -
    {$package}
    -
    - -
    - -
    Description
    -
    - Class trees
    - Index of elements
    - {if $hastodos} - Todo List
    - {/if} -
    - - {section name=p loop=$info} - - {if $info[p].subpackage == ""} - - {if $info[p].tutorials} -
     Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
     Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
     Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
     Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - {if $info[p].hasinterfaces} -
     Interfaces
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_interface} -
    Interface{$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].hasclasses} -
     Classes
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_class} -
    Class{$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].functions} -
     Functions
    - {section name=f loop=$info[p].functions} -
    Function{$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
     Files
    - {section name=nonclass loop=$info[p].files} -
    File{$info[p].files[nonclass].title}
    - {/section} - {/if} - - {else} - {if $info[p].tutorials} -
     Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
     Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
     Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
     Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - -
    Sub-package{$info[p].subpackage}
    -
    -
    - {if $info[p].subpackagetutorial} - - {/if} - {if $info[p].classes} -
     Classes
    - {section name=class loop=$info[p].classes} -
    Class{$info[p].classes[class].title}
    - {/section} - {/if} - {if $info[p].functions} -
     Functions
    - {section name=f loop=$info[p].functions} -
    Function{$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
     Files
    - {section name=nonclass loop=$info[p].files} -
    File{$info[p].files[nonclass].title}
    - {/section} - {/if} -
    -
    - - {/if} - - {/section} -
    -
    -

    phpDocumentor v {$phpdocversion}

    - - +{include file="header.tpl" top2=true} +
    {$package}
    +
    + +
    + +
    Description
    +
    + Class trees
    + Index of elements
    + {if $hastodos} + Todo List
    + {/if} +
    + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} +
     Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
     Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
     Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
     Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + {if $info[p].hasinterfaces} +
     Interfaces
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} +
    Interface{$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].hasclasses} +
     Classes
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} +
    Class{$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].functions} +
     Functions
    + {section name=f loop=$info[p].functions} +
    Function{$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
     Files
    + {section name=nonclass loop=$info[p].files} +
    File{$info[p].files[nonclass].title}
    + {/section} + {/if} + + {else} + {if $info[p].tutorials} +
     Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
     Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
     Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
     Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + +
    Sub-package{$info[p].subpackage}
    +
    +
    + {if $info[p].subpackagetutorial} + + {/if} + {if $info[p].classes} +
     Classes
    + {section name=class loop=$info[p].classes} +
    Class{$info[p].classes[class].title}
    + {/section} + {/if} + {if $info[p].functions} +
     Functions
    + {section name=f loop=$info[p].functions} +
    Function{$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
     Files
    + {section name=nonclass loop=$info[p].files} +
    File{$info[p].files[nonclass].title}
    + {/section} + {/if} +
    +
    + + {/if} + + {/section} +
    +
    +

    phpDocumentor v {$phpdocversion}

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl index c732184d89..413cc5ea47 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl @@ -1,151 +1,151 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl index 8e10bf9dbd..2cffc22dbc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl @@ -1,214 +1,214 @@ -{include file="header.tpl" top3=true} - -

    File{$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    File{$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl index b07e54da49..69beb10c98 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - + + + + + + {$title} + + + + + + + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl index 17eea714ed..3cd7893d34 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl index 3d0e59147b..18c8b05a9e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl @@ -1,6 +1,6 @@ - -{if $haskids} -
    - {$kids} -
    -{/if} + +{if $haskids} +
    + {$kids} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl index 96b4e017ed..1da110cce9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl @@ -1,94 +1,94 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini index 525fba2331..fc1211f84d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini @@ -1,576 +1,576 @@ -preservedocbooktags = false - -;; used to highlight the {@source} inline tag, @filesource tag, and @example tag -[highlightSourceTokens] -;; format: -;; T_CONSTANTNAME = open -;; /T_CONSTANTNAME = close - -T_INCLUDE = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl index ad045a4dc6..09fc9856c5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl @@ -1,18 +1,18 @@ - - - - - - {$title} - - {if $top2} - - - {/if} - - - - {if $top3}
    {/if} - + + + + + + {$title} + + {if $top2} + + + {/if} + + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl index c78bc575d5..eb3f670de2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl @@ -1,159 +1,159 @@ -{include file="header.tpl" top2=true} -
    {$package}
    -
    - -
    - -
    Description
    -
    - Class trees
    - Index of elements
    - {if $hastodos} - Todo List
    - {/if} -
    - - {section name=p loop=$info} - - {if $info[p].subpackage == ""} - - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - {if $info[p].hasinterfaces} -
    Interfaces
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_interface} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].hasclasses} -
    Classes
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_class} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} - - {else} - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - -
    {$info[p].subpackage}
    -
    -
    - {if $info[p].subpackagetutorial} - - {/if} - {if $info[p].classes} -
    Classes
    - {section name=class loop=$info[p].classes} -
    {$info[p].classes[class].title}
    - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} -
    -
    - - {/if} - - {/section} -
    -
    -

    phpDocumentor v {$phpdocversion}

    - - +{include file="header.tpl" top2=true} +
    {$package}
    +
    + +
    + +
    Description
    +
    + Class trees
    + Index of elements
    + {if $hastodos} + Todo List
    + {/if} +
    + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + {if $info[p].hasinterfaces} +
    Interfaces
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].hasclasses} +
    Classes
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} + + {else} + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + +
    {$info[p].subpackage}
    +
    +
    + {if $info[p].subpackagetutorial} + + {/if} + {if $info[p].classes} +
    Classes
    + {section name=class loop=$info[p].classes} +
    {$info[p].classes[class].title}
    + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} +
    +
    + + {/if} + + {/section} +
    +
    +

    phpDocumentor v {$phpdocversion}

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl index d5a1835594..617b565411 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl @@ -1,6 +1,6 @@ - -{if $haskids} -
    - {$kids} -
    -{/if} + +{if $haskids} +
    + {$kids} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl index f11f3be974..fccf689213 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl @@ -1,92 +1,92 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl index d5e26dfab7..c22ba37ddf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl @@ -1,12 +1,12 @@ - - - - - - {$title} - - - - - {if $top3}
    {/if} - + + + + + + {$title} + + + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl index c78bc575d5..eb3f670de2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl @@ -1,159 +1,159 @@ -{include file="header.tpl" top2=true} -
    {$package}
    -
    - -
    - -
    Description
    -
    - Class trees
    - Index of elements
    - {if $hastodos} - Todo List
    - {/if} -
    - - {section name=p loop=$info} - - {if $info[p].subpackage == ""} - - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - {if $info[p].hasinterfaces} -
    Interfaces
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_interface} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].hasclasses} -
    Classes
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_class} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} - - {else} - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - -
    {$info[p].subpackage}
    -
    -
    - {if $info[p].subpackagetutorial} - - {/if} - {if $info[p].classes} -
    Classes
    - {section name=class loop=$info[p].classes} -
    {$info[p].classes[class].title}
    - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} -
    -
    - - {/if} - - {/section} -
    -
    -

    phpDocumentor v {$phpdocversion}

    - - +{include file="header.tpl" top2=true} +
    {$package}
    +
    + +
    + +
    Description
    +
    + Class trees
    + Index of elements
    + {if $hastodos} + Todo List
    + {/if} +
    + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + {if $info[p].hasinterfaces} +
    Interfaces
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].hasclasses} +
    Classes
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} + + {else} + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + +
    {$info[p].subpackage}
    +
    +
    + {if $info[p].subpackagetutorial} + + {/if} + {if $info[p].classes} +
    Classes
    + {section name=class loop=$info[p].classes} +
    {$info[p].classes[class].title}
    + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} +
    +
    + + {/if} + + {/section} +
    +
    +

    phpDocumentor v {$phpdocversion}

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl index d5a1835594..617b565411 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl @@ -1,6 +1,6 @@ - -{if $haskids} -
    - {$kids} -
    -{/if} + +{if $haskids} +
    + {$kids} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl index f11f3be974..fccf689213 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl @@ -1,92 +1,92 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini index 5df6006734..c785503d63 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini @@ -1,507 +1,507 @@ -preservedocbooktags = false - -;; used to highlight the {@source} inline tag, @filesource tag, and @example tag -[highlightSourceTokens] -;; format: -;; T_CONSTANTNAME = open -;; /T_CONSTANTNAME = close -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_PUBLIC = -/T_PUBLIC = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_FINAL = -/T_FINAL = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_CLASS = -/T_CLASS = -T_INTERFACE = -/T_INTERFACE = -T_INCLUDE = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_FUNCTION = -/T_FUNCTION = -T_VARIABLE = -/T_VARIABLE = -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_COMMENT = -/T_COMMENT = -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_IF = -/T_IF = -T_FOREACH = -/T_FOREACH = -T_FOR = -/T_FOR = -T_VAR = -/T_VAR = -T_EXTENDS = -/T_EXTENDS = -T_RETURN = -/T_RETURN = -T_GLOBAL = -/T_GLOBAL = -T_DOUBLE_COLON = -/T_DOUBLE_COLON = -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = -T_OPEN_TAG = -/T_OPEN_TAG = -T_CLOSE_TAG = -/T_CLOSE_TAG = - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -br =
    - -[ppage] -;; this is the DocBook package page translation section. All DocBook tags -;; that have a corresponding html tag must 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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = by -/author = -author! = 0 - -authorblurb = blockquote - -authorgroup = Authors:
    -/authorgroup = -authorgroup! = 0 - -caution =
    Caution
    -/caution =
    -caution! = 0 - -command = -/command = - -cmdsynopsis =
    -/cmdsynopsis =
    - -copyright = -/copyright =
    - -emphasis = strong - -example =
    -/example =
    -example! = 0 - -function = -/function = () - -formalpara = p - -graphic = img -graphic->fileref = src -graphic/ = - -important = u - -informalequation = blockquote - -informalexample = pre - -inlineequation = em - -itemizedlist = ul - -listitem = li - -literal = code - -literallayout = pre - -option = " " -/option = - -orderedlist = ol - -para = p - -programlisting =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname = h1 - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = -/refsect2 =
    - -refsect3 = -/refsect3 =
    - -releaseinfo = ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 =
    -/warning =
    -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 -[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" align="center"> -close = </h1> - -[refsect2_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <h2 class="title" align="center"> -close = </h2> - -[refsect3_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <h3 class="title" align="center"> -close = </h3> - -[para_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <strong class="title" align="center"> -close = </strong> - -[formalpara_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = <strong class="title" align="center"> -close = </strong> - -[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> +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close +T_ABSTRACT = <font color="blue"> +/T_ABSTRACT = </font> +T_CLONE = <font color="blue"> +/T_CLONE = </font> +T_HALT_COMPILER = <font color="red"> +/T_HALT_COMPILER = </font> +T_PUBLIC = <font color="blue"> +/T_PUBLIC = </font> +T_PRIVATE = <font color="blue"> +/T_PRIVATE = </font> +T_PROTECTED = <font color="blue"> +/T_PROTECTED = </font> +T_FINAL = <font color="blue"> +/T_FINAL = </font> +T_IMPLEMENTS = <font color="blue"> +/T_IMPLEMENTS = </font> +T_CLASS = <font color="blue"> +/T_CLASS = </font> +T_INTERFACE = <font color="blue"> +/T_INTERFACE = </font> +T_INCLUDE = <font color="blue"> +/T_INCLUDE = </font> +T_INCLUDE_ONCE = <font color="blue"> +/T_INCLUDE_ONCE = </font> +T_REQUIRE_ONCE = <font color="blue"> +/T_REQUIRE_ONCE = </font> +T_FUNCTION = <font color="blue"> +/T_FUNCTION = </font> +T_VARIABLE = <strong> +/T_VARIABLE = </strong> +T_CONSTANT_ENCAPSED_STRING = <font color="#66cccc"> +/T_CONSTANT_ENCAPSED_STRING = </font> +T_COMMENT = <font color="green"> +/T_COMMENT = </font> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_STATIC = <font color="blue"> +/T_STATIC = </font> +T_SWITCH = <font color="blue"> +/T_SWITCH = </font> +T_IF = <font color="blue"> +/T_IF = </font> +T_FOREACH = <font color="blue"> +/T_FOREACH = </font> +T_FOR = <font color="blue"> +/T_FOR = </font> +T_VAR = <font color="blue"> +/T_VAR = </font> +T_EXTENDS = <font color="blue"> +/T_EXTENDS = </font> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_GLOBAL = <font color="blue"> +/T_GLOBAL = </font> +T_DOUBLE_COLON = <strong> +/T_DOUBLE_COLON = </strong> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_OPEN_TAG = <strong> +/T_OPEN_TAG = </strong> +T_CLOSE_TAG = <strong> +/T_CLOSE_TAG = </strong> + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <strong> +/@ = </strong> +& = <strong> +/& = </strong> +[ = <strong> +/[ = </strong> +] = <strong> +/] = </strong> +! = <strong> +/! = </strong> +";" = <strong> +/; = </strong> +( = <strong> +/( = </strong> +) = <strong> +/) = </strong> +, = <strong> +/, = </strong> +{ = <strong> +/{ = </strong> +} = <strong> +/} = </strong> +""" = <font color="#66cccc"> +/" = </font> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <font color="#009999"> +/docblock = </font> +tagphptype = <em> +/tagphptype = </em> +tagvarname = <strong> +/tagvarname = </strong> +coretag = <strong><font color = "#0099FF"> +/coretag = </font></strong> +tag = <strong><font color="#009999"> +/tag = </font></strong> +inlinetag = <em><font color="#0099FF"> +/inlinetag = </font></em> +internal = <em><font color = "#6699cc"> +/internal = </font></em> +closetemplate = <strong><font color="blue"> +/closetemplate = </font></strong> +docblocktemplate = <font color="blue"> +/docblocktemplate = </font color="blue"> + +[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 +;; +;; 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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <font size="-1"><strong>by <em> +/author = </em></strong></font> +author! = 0 + +authorblurb = blockquote + +authorgroup = <strong>Authors:</strong><br /> +/authorgroup = +authorgroup! = 0 + +caution = <table border="1"><th align="center">Caution</th><tr><td> +/caution = </td></tr></table> +caution! = 0 + +command = <b class="cmd"> +/command = </b> + +cmdsynopsis = <div id="cmdsynopsis"> +/cmdsynopsis = </div> + +copyright = <em> +/copyright = </em><br /> + +emphasis = strong + +example = <table class="src-code" width="100%" border="1"><tr><td> +/example = </td></tr></table> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = u + +informalequation = blockquote + +informalexample = pre + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = pre + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <table border="0" bgcolor="#E0E0E0" cellpadding="5"><tr><td><div class="src-code"> +/programlisting = </div></td></tr></table> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="refname"> +/refnamediv = </div> +refnamediv! = 0 + +refname = h1 + +refpurpose = <h2 class="refpurpose"><em> +/refpurpose = </em></h2> + +refsynopsisdiv = <div class="refsynopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = ( +/releaseinfo = )<br /> + +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 = <table border="1"><tr><td> +/warning = </td></tr></table> +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" align="center"> +close = </h1> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title" align="center"> +close = </h2> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title" align="center"> +close = </h3> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl index 1f188c005a..f6f906cc24 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl @@ -1,24 +1,24 @@ -{section name=letter loop=$letters} - <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} - -<br /><br /> -<table border="0" width="100%"> -{section name=index loop=$index} -<thead> - <tr> - <td><strong>{$index[index].letter}</strong></td> - <td align='right'><a name="{$index[index].letter}">  </a> - <a href="#top">top</a><br /></td> - </tr> -</thead> -<tbody> - {section name=contents loop=$index[index].index} - <tr> - <td>   <strong>{$index[index].index[contents].name}</strong></td> - <td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td> - </tr> - {/section} -</tbody> -{/section} -</table> +{section name=letter loop=$letters} + <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} + +<br /><br /> +<table border="0" width="100%"> +{section name=index loop=$index} +<thead> + <tr> + <td><strong>{$index[index].letter}</strong></td> + <td align='right'><a name="{$index[index].letter}">  </a> + <a href="#top">top</a><br /></td> + </tr> +</thead> +<tbody> + {section name=contents loop=$index[index].index} + <tr> + <td>   <strong>{$index[index].index[contents].name}</strong></td> + <td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td> + </tr> + {/section} +</tbody> +{/section} +</table> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl index 7aed01720a..b9dda9274b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl @@ -1,95 +1,95 @@ -{include file="header.tpl" top3=true} - -

    - {if $is_interface}Interface{else}Class{/if} {$class_name} -

    (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -
    - - -
    -

    Description

    -
    -{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    -
    -{if $tutorial} -
    Class Tutorial: {$tutorial}
    -{/if} -{if $conflicts.conflict_type} -
    Warning: Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    -{/if} -

    - Located in File: {$source_location}
    -

    -{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    -{if $children} -Classes extended from {$class_name}: - {section name=kids loop=$children} -
    -
    {$children[kids].link}
    -
    {$children[kids].sdesc}
    -
    - {/section}

    -{/if} -
    - -
    -{include file="var.tpl"} -
    -
    -{include file="const.tpl"} -
    -
    -{include file="method.tpl"} -
    -
    -

    Inherited Variables

    - - - -

    Inherited Class Variable Summary

    - - {section name=ivars loop=$ivars} - -

    Inherited From Class {$ivars[ivars].parent_class}

    - {section name=ivars2 loop=$ivars[ivars].ivars} -

    - {$ivars[ivars].ivars[ivars2].link} - {$ivars[ivars].ivars[ivars2].sdesc} -

    - {/section} - {/section} -
    -
    -

    Inherited Methods

    - - - -

    Inherited Method Summary

    - - {section name=imethods loop=$imethods} - -

    Inherited From Class {$imethods[imethods].parent_class}

    - {section name=im2 loop=$imethods[imethods].imethods} -

    - {$imethods[imethods].imethods[im2].link} - {$imethods[imethods].imethods[im2].sdesc} -

    - - {/section} -
    - {/section} -
    -
    - -{include file="footer.tpl"} +{include file="header.tpl" top3=true} + +

    + {if $is_interface}Interface{else}Class{/if} {$class_name} +

    (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +
    + + +
    +

    Description

    +
    +{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    +
    +{if $tutorial} +
    Class Tutorial: {$tutorial}
    +{/if} +{if $conflicts.conflict_type} +
    Warning: Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    +{/if} +

    + Located in File: {$source_location}
    +

    +{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    +{if $children} +Classes extended from {$class_name}: + {section name=kids loop=$children} +
    +
    {$children[kids].link}
    +
    {$children[kids].sdesc}
    +
    + {/section}

    +{/if} +
    + +
    +{include file="var.tpl"} +
    +
    +{include file="const.tpl"} +
    +
    +{include file="method.tpl"} +
    +
    +

    Inherited Variables

    + + + +

    Inherited Class Variable Summary

    + + {section name=ivars loop=$ivars} + +

    Inherited From Class {$ivars[ivars].parent_class}

    + {section name=ivars2 loop=$ivars[ivars].ivars} +

    + {$ivars[ivars].ivars[ivars2].link} - {$ivars[ivars].ivars[ivars2].sdesc} +

    + {/section} + {/section} +
    +
    +

    Inherited Methods

    + + + +

    Inherited Method Summary

    + + {section name=imethods loop=$imethods} + +

    Inherited From Class {$imethods[imethods].parent_class}

    + {section name=im2 loop=$imethods[imethods].imethods} +

    + {$imethods[imethods].imethods[im2].link} - {$imethods[imethods].imethods[im2].sdesc} +

    + + {/section} +
    + {/section} +
    +
    + +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl index 6462370932..d9f36e58dc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl @@ -1,21 +1,21 @@ - -

    Class Constants

    - -Summary:
    -{section name=consts loop=$consts} - -{/section} -
    -{section name=consts loop=$consts} - -
    -

    - {$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"
    "}
    (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -

    -{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} -
    -{/section} - - + +

    Class Constants

    + +Summary:
    +{section name=consts loop=$consts} + +{/section} +
    +{section name=consts loop=$consts} + +
    +

    + {$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"
    "}
    (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +

    +{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} +
    +{/section} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl index 039b83c2c8..68339e5307 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl @@ -1,24 +1,24 @@ - - - -

    Constants

    - - - -{section name=def loop=$defines} - -
    -

    - {$defines[def].define_name} (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -

    -

    {$defines[def].define_name} : {$defines[def].define_value|replace:"\n":"
    "}

    -{if $defines[def].define_conflicts.conflict_type} -

    Warning: Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -

    -{/if} -{include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} -
    + + + +

    Constants

    + + + +{section name=def loop=$defines} + +
    +

    + {$defines[def].define_name} (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +

    +

    {$defines[def].define_name} : {$defines[def].define_value|replace:"\n":"
    "}

    +{if $defines[def].define_conflicts.conflict_type} +

    Warning: Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +

    +{/if} +{include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl index 4b5ea6fca3..7b1e17d766 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl @@ -1,30 +1,30 @@ - -{if $sdesc} -
    {$sdesc}
    -{/if} -{if $desc} -
    {$desc}
    -{/if} -{if $function} - {if $params} -

    Parameters

    -
      - {section name=params loop=$params} -
    • {$params[params].datatype} {$params[params].var}: {$params[params].data}
    • - {/section} -
    - {/if} - -

    Info

    -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword} - {$tags[tags].data}
    • - {/section} -
    -{else} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: - {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +
    {$sdesc}
    +{/if} +{if $desc} +
    {$desc}
    +{/if} +{if $function} + {if $params} +

    Parameters

    +
      + {section name=params loop=$params} +
    • {$params[params].datatype} {$params[params].var}: {$params[params].data}
    • + {/section} +
    + {/if} + +

    Info

    +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword} - {$tags[tags].data}
    • + {/section} +
    +{else} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: - {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl index 7772d6868a..fcb310a867 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" noleftindex=true} - -

    Index of All Elements

    -  -Indexes by package:
    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Index of All Elements

    +  +Indexes by package:
    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl index 89961159d3..5aef23d746 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl index 2a5be43e9a..3d93199ec8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl index 88cd9a3384..9088c4fc92 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -
    -
    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -
    -{/if} - - +{if !$index} +
    +
    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +
    +{/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl index 67de258e18..6348dd0e3f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl @@ -1,29 +1,29 @@ - - -

    Functions

    - - - -{section name=func loop=$functions} - -
    -

    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -

    -

    {$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&{/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})

    -{if $functions[func].function_conflicts.conflict_type} -
    Warning: Conflicts with functions:
    -{section name=me loop=$functions[func].function_conflicts.conflicts} -{$functions[func].function_conflicts.conflicts[me]}
    -{/section} -
    -{/if} - -{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true} -
    -{/section} + + +

    Functions

    + + + +{section name=func loop=$functions} + +
    +

    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +

    +

    {$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&{/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})

    +{if $functions[func].function_conflicts.conflict_type} +
    Warning: Conflicts with functions:
    +{section name=me loop=$functions[func].function_conflicts.conflicts} +{$functions[func].function_conflicts.conflicts[me]}
    +{/section} +
    +{/if} + +{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true} +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl index 4490bdb16d..42303bf113 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl @@ -1,24 +1,24 @@ - - -

    Global Variables

    - - - -{section name=glob loop=$globals} - -
    -

    - {$globals[glob].global_name} (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -

    -

    {$globals[glob].global_type} {$globals[glob].global_name} : {$globals[glob].global_value|replace:"\n":"
    "}

    -{if $globals[glob].global_conflicts.conflict_type} -

    Warning: Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -

    -{/if} - -{include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} -
    + + +

    Global Variables

    + + + +{section name=glob loop=$globals} + +
    +

    + {$globals[glob].global_name} (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +

    +

    {$globals[glob].global_type} {$globals[glob].global_name} : {$globals[glob].global_value|replace:"\n":"
    "}

    +{if $globals[glob].global_conflicts.conflict_type} +

    Warning: Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +

    +{/if} + +{include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl index ff0484631c..378f67e333 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl @@ -1,97 +1,97 @@ - - - - - {$title} - -{if $top2 || $top3} - - - -{/if} -{if $top2} - -{/if} -{if $top3 || $top2} - - -{/if} - - + + + + + {$title} + +{if $top2 || $top3} + + + +{/if} +{if $top2} + +{/if} +{if $top3 || $top2} + + +{/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl index eff97f1641..56e66a9d5b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl @@ -1,16 +1,16 @@ - - -

    Include/Require Statements

    - - - -{section name=includes loop=$includes} - -
    -

    - {$includes[includes].include_value} (line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}) -

    -

    {$includes[includes].include_name} : {$includes[includes].include_value}

    -{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} -
    + + +

    Include/Require Statements

    + + + +{section name=includes loop=$includes} + +
    +

    + {$includes[includes].include_value} (line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}) +

    +

    {$includes[includes].include_name} : {$includes[includes].include_value}

    +{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl index 5ada200abc..a0ade4f5c9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl index 14466bc534..dd5f260721 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl @@ -1,166 +1,166 @@ -{include file="header.tpl" top2=true} -{if $hastodos} - -{/if} -

    Navigation: {$info.0.package}

    - -
    -{if $hastutorials} -
    -{section name=p loop=$info} -{if count($info[p].tutorials)} -

    Tutorials/Manuals:{if $info[p].subpackage} {$info[p].subpackage}{/if}

    -{if $info[p].tutorials.pkg} -Package-level: - -{/if} -{if $info[p].tutorials.cls} -Class-level: - -{/if} -{if $info[p].tutorials.proc} -Procedural-level: - -{/if} -{/section} -{/if} -
    -
    -phpDocumentor v {$phpdocversion}
    -
    -HTML layout inspired by PHPEdit
    - - +{include file="header.tpl" top2=true} +{if $hastodos} + +{/if} +

    Navigation: {$info.0.package}

    + +
    +{if $hastutorials} +
    +{section name=p loop=$info} +{if count($info[p].tutorials)} +

    Tutorials/Manuals:{if $info[p].subpackage} {$info[p].subpackage}{/if}

    +{if $info[p].tutorials.pkg} +Package-level: + +{/if} +{if $info[p].tutorials.cls} +Class-level: + +{/if} +{if $info[p].tutorials.proc} +Procedural-level: + +{/if} +{/section} +{/if} +
    +
    +phpDocumentor v {$phpdocversion}
    +
    +HTML layout inspired by PHPEdit
    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js index e1f94e658a..7f57c474fa 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js @@ -1,454 +1,454 @@ -/*----------------------------------------\ -| Cross Browser Tree Widget 1.1 | -|-----------------------------------------| -| Created by Emil A. Eklund (eae@eae.net) | -| For WebFX (http://webfx.eae.net/) | -|-----------------------------------------| -| This script is provided as is without | -| any warranty whatsoever. It may be used | -| free of charge for non commerical sites | -| For commerical use contact the author | -| of this script for further details. | -|-----------------------------------------| -| Created 2000-12-11 | Updated 2001-09-06 | -\----------------------------------------*/ - -var webFXTreeConfig = { - rootIcon : 'media/images/Class.gif', - openRootIcon : 'media/images/Class.gif', - folderIcon : 'media/images/Class.gif', - openFolderIcon : 'media/images/Class.gif', - fileIcon : 'media/images/Class.gif', - iIcon : 'media/images/I.png', - lIcon : 'media/images/L.png', - lMinusIcon : 'media/images/Lminus.png', - lPlusIcon : 'media/images/Lplus.png', - tIcon : 'media/images/T.png', - tMinusIcon : 'media/images/Tminus.png', - tPlusIcon : 'media/images/Tplus.png', - blankIcon : 'media/images/blank.png', - defaultText : 'Tree Item', - defaultAction : 'javascript:void(0);', - defaultTarget : 'right', - defaultBehavior : 'classic' -}; - -var webFXTreeHandler = { - idCounter : 0, - idPrefix : "webfx-tree-object-", - all : {}, - behavior : null, - selected : null, - getId : function() { return this.idPrefix + this.idCounter++; }, - toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, - select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, - focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, - blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, - keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, - cookies : new WebFXCookie() -}; - -/* - * WebFXCookie class - */ - -function WebFXCookie() { - if (document.cookie.length) { this.cookies = ' ' + document.cookie; } -} - -WebFXCookie.prototype.setCookie = function (key, value) { - document.cookie = key + "=" + escape(value); -} - -WebFXCookie.prototype.getCookie = function (key) { - if (this.cookies) { - var start = this.cookies.indexOf(' ' + key + '='); - if (start == -1) { return null; } - var end = this.cookies.indexOf(";", start); - if (end == -1) { end = this.cookies.length; } - end -= start; - var cookie = this.cookies.substr(start,end); - return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); - } - else { return null; } -} - -/* - * WebFXTreeAbstractNode class - */ - -function WebFXTreeAbstractNode(sText, sAction, sTarget) { - this.childNodes = []; - this.id = webFXTreeHandler.getId(); - this.text = sText || webFXTreeConfig.defaultText; - this.action = sAction || webFXTreeConfig.defaultAction; - this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; - this._last = false; - webFXTreeHandler.all[this.id] = this; -} - -WebFXTreeAbstractNode.prototype.add = function (node) { - node.parentNode = this; - this.childNodes[this.childNodes.length] = node; - var root = this; - if (this.childNodes.length >=2) { - this.childNodes[this.childNodes.length -2]._last = false; - } - while (root.parentNode) { root = root.parentNode; } - if (root.rendered) { - if (this.childNodes.length >= 2) { - document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); - if (this.childNodes[this.childNodes.length -2].folder) { - this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; - this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; - } - this.childNodes[this.childNodes.length -2]._last = false; - } - this._last = true; - var foo = this; - while (foo.parentNode) { - for (var i = 0; i < foo.parentNode.childNodes.length; i++) { - if (foo.id == foo.parentNode.childNodes[i].id) { break; } - } - if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } - else { foo.parentNode._last = false; } - foo = foo.parentNode; - } - document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); - if ((!this.folder) && (!this.openIcon)) { - this.icon = webFXTreeConfig.folderIcon; - this.openIcon = webFXTreeConfig.openFolderIcon; - } - this.folder = true; - this.indent(); - this.expand(); - } - return node; -} - -WebFXTreeAbstractNode.prototype.toggle = function() { - if (this.folder) { - if (this.open) { this.collapse(); } - else { this.expand(); } - } -} - -WebFXTreeAbstractNode.prototype.select = function() { - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.focus = function() { - webFXTreeHandler.selected = this; - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; - document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; - document.getElementById(this.id + '-anchor').focus(); -} - -WebFXTreeAbstractNode.prototype.blur = function() { - if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } - document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; - document.getElementById(this.id + '-anchor').style.color = 'menutext'; -} - -WebFXTreeAbstractNode.prototype.doExpand = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } - this.open = true; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); -} - -WebFXTreeAbstractNode.prototype.doCollapse = function() { - if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } - if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } - this.open = false; - webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); -} - -WebFXTreeAbstractNode.prototype.expandAll = function() { - this.expandChildren(); - if ((this.folder) && (!this.open)) { this.expand(); } -} - -WebFXTreeAbstractNode.prototype.expandChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].expandAll(); -} } - -WebFXTreeAbstractNode.prototype.collapseAll = function() { - if ((this.folder) && (this.open)) { this.collapse(); } - this.collapseChildren(); -} - -WebFXTreeAbstractNode.prototype.collapseChildren = function() { - for (var i = 0; i < this.childNodes.length; i++) { - this.childNodes[i].collapseAll(); -} } - -WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { - /* - * Since we only want to modify items one level below ourself, - * and since the rightmost indentation position is occupied by - * the plus icon we set this to -2 - */ - if (lvl == null) { lvl = -2; } - var state = 0; - for (var i = this.childNodes.length - 1; i >= 0 ; i--) { - state = this.childNodes[i].indent(lvl + 1, del, last, level); - if (state) { return; } - } - if (del) { - if (level >= this._level) { - if (this.folder) { - document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; - this.plusIcon = webFXTreeConfig.lPlusIcon; - this.minusIcon = webFXTreeConfig.lMinusIcon; - } - else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } - return 1; - } - } - var foo = document.getElementById(this.id + '-indent-' + lvl); - if (foo) { - if ((del) && (last)) { foo._last = true; } - if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } - else { foo.src = webFXTreeConfig.iIcon; } - } - return 0; -} - -/* - * WebFXTree class - */ - -function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - this.icon = sIcon || webFXTreeConfig.rootIcon; - this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; - /* Defaults to open */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; - this.folder = true; - this.rendered = false; - if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } - this.targetWindow = 'right'; -} - -WebFXTree.prototype = new WebFXTreeAbstractNode; - -WebFXTree.prototype.setBehavior = function (sBehavior) { - webFXTreeHandler.behavior = sBehavior; -}; - -WebFXTree.prototype.getBehavior = function (sBehavior) { - return webFXTreeHandler.behavior; -}; - -WebFXTree.prototype.getSelected = function() { - if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } - else { return null; } -} - -WebFXTree.prototype.remove = function() { } - -WebFXTree.prototype.expand = function() { - this.doExpand(); -} - -WebFXTree.prototype.collapse = function() { - this.focus(); - this.doCollapse(); -} - -WebFXTree.prototype.getFirst = function() { - return null; -} - -WebFXTree.prototype.getLast = function() { - return null; -} - -WebFXTree.prototype.getNextSibling = function() { - return null; -} - -WebFXTree.prototype.getPreviousSibling = function() { - return null; -} - -WebFXTree.prototype.keydown = function(key) { - if (key == 39) { this.expand(); return false; } - if (key == 37) { this.collapse(); return false; } - if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } - return true; -} - -WebFXTree.prototype.toString = function() { - var str = "
    "; - str += "" + this.text + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i, this.childNodes.length); - } - str += "
    "; - this.rendered = true; - return str; -}; - -/* - * WebFXTreeItem class - */ - -function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { - this.base = WebFXTreeAbstractNode; - this.base(sText, sAction); - /* Defaults to close */ - this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; - if (eParent) { eParent.add(this); } - if (sIcon) { this.icon = sIcon; } - if (sOpenIcon) { this.openIcon = sOpenIcon; } -} - -WebFXTreeItem.prototype = new WebFXTreeAbstractNode; - -WebFXTreeItem.prototype.remove = function() { - var parentNode = this.parentNode; - var prevSibling = this.getPreviousSibling(true); - var nextSibling = this.getNextSibling(true); - var folder = this.parentNode.folder; - var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; - this.getPreviousSibling().focus(); - this._remove(); - if (parentNode.childNodes.length == 0) { - parentNode.folder = false; - parentNode.open = false; - } - if (last) { - if (parentNode.id == prevSibling.id) { - document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; - } - else { } - } - if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { - parentNode.indent(null, true, last, this._level); - } - if (document.getElementById(prevSibling.id + '-plus')) { - if (nextSibling) { - if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } - else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } - else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } - } -} - -WebFXTreeItem.prototype._remove = function() { - for (var i = this.childNodes.length - 1; i >= 0; i--) { - this.childNodes[i]._remove(); - } - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this.id == this.parentNode.childNodes[i].id) { - for (var j = i; j < this.parentNode.childNodes.length; j++) { - this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] - } - this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; - if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } - } - } - webFXTreeHandler.all[this.id] = null; - if (document.getElementById(this.id)) { - document.getElementById(this.id).innerHTML = ""; - document.getElementById(this.id).removeNode(); - } -} - -WebFXTreeItem.prototype.expand = function() { - this.doExpand(); - document.getElementById(this.id + '-plus').src = this.minusIcon; -} - -WebFXTreeItem.prototype.collapse = function() { - this.focus(); - this.doCollapse(); - document.getElementById(this.id + '-plus').src = this.plusIcon; -} - -WebFXTreeItem.prototype.getFirst = function() { - return this.childNodes[0]; -} - -WebFXTreeItem.prototype.getLast = function() { - if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } - else { return this.childNodes[this.childNodes.length - 1]; } -} - -WebFXTreeItem.prototype.getNextSibling = function() { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } - else { return this.parentNode.childNodes[i]; } -} - -WebFXTreeItem.prototype.getPreviousSibling = function(b) { - for (var i = 0; i < this.parentNode.childNodes.length; i++) { - if (this == this.parentNode.childNodes[i]) { break; } - } - if (i == 0) { return this.parentNode; } - else { - if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } - else { return this.parentNode.childNodes[i]; } -} } - -WebFXTreeItem.prototype.keydown = function(key) { - if ((key == 39) && (this.folder)) { - if (!this.open) { this.expand(); return false; } - else { this.getFirst().select(); return false; } - } - else if (key == 37) { - if (this.open) { this.collapse(); return false; } - else { this.parentNode.select(); return false; } - } - else if (key == 40) { - if (this.open) { this.getFirst().select(); return false; } - else { - var sib = this.getNextSibling(); - if (sib) { sib.select(); return false; } - } } - else if (key == 38) { this.getPreviousSibling().select(); return false; } - return true; -} - -WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { - var foo = this.parentNode; - var indent = ''; - if (nItem + 1 == nItemCount) { this.parentNode._last = true; } - var i = 0; - while (foo.parentNode) { - foo = foo.parentNode; - indent = "" + indent; - i++; - } - this._level = i; - if (this.childNodes.length) { this.folder = 1; } - else { this.open = false; } - if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { - if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } - if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } - } - else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } - var label = this.text; - label = label.replace('<', '<'); - label = label.replace('>', '>'); - var str = "
    "; - str += indent; - str += "" - str += "" + label + "
    "; - str += "
    "; - for (var i = 0; i < this.childNodes.length; i++) { - str += this.childNodes[i].toString(i,this.childNodes.length); - } - str += "
    "; - this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); - this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); - return str; +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/Class.gif', + openRootIcon : 'media/images/Class.gif', + folderIcon : 'media/images/Class.gif', + openFolderIcon : 'media/images/Class.gif', + fileIcon : 'media/images/Class.gif', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "
    "; + str += "" + this.text + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "
    "; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "
    "; + str += indent; + str += "" + str += "" + label + "
    "; + str += "
    "; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "
    "; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; } \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css index 8acc16c580..94a95f5220 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css @@ -1,9 +1,9 @@ -/* - -bright: rgb(234,242,255); -normal: rgb(120,172,255); -dark: rgb(0,66,174); - +/* + +bright: rgb(234,242,255); +normal: rgb(120,172,255); +dark: rgb(0,66,174); + */ .dynamic-tab-pane-control.tab-pane { position: relative; diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js index 4f504738bd..f1418bee6c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js @@ -1,308 +1,308 @@ -/* - * Tab Pane - * - * This script was created by Erik Arvidsson (erik(at)eae.net) - * for WebFX (http://webfx.eae.net) - * Copyright 2002 - * - * For usage see license at http://webfx.eae.net/license.html - * - * Version: 1.0 - * Created: 2002-01-?? First working version - * Updated: 2002-02-17 Cleaned up for 1.0 public version - * - * Dependencies: *.css - a css file to define the layout - * - */ - - -// This function is used to define if the browser supports the needed -// features -function hasSupport() { - - if (typeof hasSupport.support != "undefined") - return hasSupport.support; - - var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); - - hasSupport.support = ( typeof document.implementation != "undefined" && - document.implementation.hasFeature( "html", "1.0" ) || ie55 ) - - // IE55 has a serious DOM1 bug... Patch it! - if ( ie55 ) { - document._getElementsByTagName = document.getElementsByTagName; - document.getElementsByTagName = function ( sTagName ) { - if ( sTagName == "*" ) - return document.all; - else - return document._getElementsByTagName( sTagName ); - }; - } - - return hasSupport.support; -} - -/////////////////////////////////////////////////////////////////////////////////// -// The constructor for tab panes -// -// el : HTMLElement The html element used to represent the tab pane -// bUseCookie : Boolean Optional. Default is true. Used to determine whether to us -// persistance using cookies or not -// -function WebFXTabPane( el, bUseCookie ) { - if ( !hasSupport() || el == null ) return; - - this.element = el; - this.element.tabPane = this; - this.pages = []; - this.selectedIndex = null; - this.useCookie = bUseCookie != null ? bUseCookie : false; - - // add class name tag to class name - this.element.className = this.classNameTag + " " + this.element.className; - - // add tab row - this.tabRow = document.createElement( "div" ); - this.tabRow.className = "tab-row"; - el.insertBefore( this.tabRow, el.firstChild ); - - var tabIndex = 0; - if ( this.useCookie ) { - tabIndex = Number( WebFXTabPane.getCookie( "webfxtab_" + this.element.id ) ); - if ( isNaN( tabIndex ) ) - tabIndex = 0; - } - - this.selectedIndex = tabIndex; - - // loop through child nodes and add them - var cs = el.childNodes; - var n; - for (var i = 0; i < cs.length; i++) { - if (cs[i].nodeType == 1 && cs[i].className == "tab-page") { - this.addTabPage( cs[i] ); - } - } -} - -WebFXTabPane.prototype = { - - classNameTag: "dynamic-tab-pane-control", - - setSelectedIndex: function ( n ) { - if (this.selectedIndex != n) { - if (this.selectedIndex != null && this.pages[ this.selectedIndex ] != null ) - this.pages[ this.selectedIndex ].hide(); - this.selectedIndex = n; - this.pages[ this.selectedIndex ].show(); - - if ( this.useCookie ) - WebFXTabPane.setCookie( "webfxtab_" + this.element.id, n ); // session cookie - } - }, - - getSelectedIndex: function () { - return this.selectedIndex; - }, - - addTabPage: function ( oElement ) { - if ( !hasSupport() ) return; - - if ( oElement.tabPage == this ) // already added - return oElement.tabPage; - - var n = this.pages.length; - var tp = this.pages[n] = new WebFXTabPage( oElement, this, n ); - tp.tabPane = this; - - // move the tab out of the box - this.tabRow.appendChild( tp.tab ); - - if ( n == this.selectedIndex ) - tp.show(); - else - tp.hide(); - - return tp; - } -}; - -// Cookie handling -WebFXTabPane.setCookie = function ( sName, sValue, nDays ) { - var expires = ""; - if ( nDays ) { - var d = new Date(); - d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 ); - expires = "; expires=" + d.toGMTString(); - } - - document.cookie = sName + "=" + sValue + expires + "; path=/"; -}; - -WebFXTabPane.getCookie = function (sName) { - var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" ); - var res = re.exec( document.cookie ); - return res != null ? res[3] : null; -}; - -WebFXTabPane.removeCookie = function ( name ) { - setCookie( name, "", -1 ); -}; - - - - - - - - -/////////////////////////////////////////////////////////////////////////////////// -// The constructor for tab pages. This one should not be used. -// Use WebFXTabPage.addTabPage instead -// -// el : HTMLElement The html element used to represent the tab pane -// tabPane : WebFXTabPane The parent tab pane -// nindex : Number The index of the page in the parent pane page array -// -function WebFXTabPage( el, tabPane, nIndex ) { - if ( !hasSupport() || el == null ) return; - - this.element = el; - this.element.tabPage = this; - this.index = nIndex; - - var cs = el.childNodes; - for (var i = 0; i < cs.length; i++) { - if (cs[i].nodeType == 1 && cs[i].className == "tab") { - this.tab = cs[i]; - break; - } - } - - // insert a tag around content to support keyboard navigation - var a = document.createElement( "A" ); - a.href = "javascript:void 0;"; - while ( this.tab.hasChildNodes() ) - a.appendChild( this.tab.firstChild ); - this.tab.appendChild( a ); - - - anchor = ''; - if ( document.URL.indexOf( '#' ) != -1 ) { - anchor = document.URL.substr( document.URL.indexOf( '#' ) + 1); - } - j = 0; - if ( anchor.length > 0 ) { - finalList = new Array(); - listOfAnchors = el.getElementsByTagName('A'); - for (i=0; i 0 ) { + finalList = new Array(); + listOfAnchors = el.getElementsByTagName('A'); + for (i=0; iMethod Detail - -Summary:
    -
    -{section name=methods loop=$methods} -{if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    -{/if} -{/section} -
    -
    - - - -{section name=methods loop=$methods} -{if $methods[methods].static} - -

    - Static Method {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -

    -

    {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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})

    -{if $methods[methods].descmethod} -

    Overridden in child classes as:
    - {section name=dm loop=$methods[methods].descmethod} -

    -
    {$methods[methods].descmethod[dm].link}
    -
    {$methods[methods].descmethod[dm].sdesc}
    -
    - {/section}

    -{/if} - -{if $methods[methods].method_overrides} -

    Overrides : {$methods[methods].method_overrides.link} {$methods[methods].method_overrides.sdesc|default:"parent method not documented"}

    -{/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} -{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -

    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {else}Method {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -

    -

    {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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})

    -{if $methods[methods].descmethod} -

    Overridden in child classes as:
    - {section name=dm loop=$methods[methods].descmethod} -

    -
    {$methods[methods].descmethod[dm].link}
    -
    {$methods[methods].descmethod[dm].sdesc}
    -
    - {/section}

    -{/if} - -{if $methods[methods].method_overrides} -

    Overrides : {$methods[methods].method_overrides.link} {$methods[methods].method_overrides.sdesc|default:"parent method not documented"}

    -{/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} -{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} -
    -{/if} -{/section} - +

    Method Detail

    + +Summary:
    +
    +{section name=methods loop=$methods} +{if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    +{/if} +{/section} +
    +
    + + + +{section name=methods loop=$methods} +{if $methods[methods].static} + +

    + Static Method {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +

    +

    {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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})

    +{if $methods[methods].descmethod} +

    Overridden in child classes as:
    + {section name=dm loop=$methods[methods].descmethod} +

    +
    {$methods[methods].descmethod[dm].link}
    +
    {$methods[methods].descmethod[dm].sdesc}
    +
    + {/section}

    +{/if} + +{if $methods[methods].method_overrides} +

    Overrides : {$methods[methods].method_overrides.link} {$methods[methods].method_overrides.sdesc|default:"parent method not documented"}

    +{/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +

    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {else}Method {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +

    +

    {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/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})

    +{if $methods[methods].descmethod} +

    Overridden in child classes as:
    + {section name=dm loop=$methods[methods].descmethod} +

    +
    {$methods[methods].descmethod[dm].link}
    +
    {$methods[methods].descmethod[dm].sdesc}
    +
    + {/section}

    +{/if} + +{if $methods[methods].method_overrides} +

    Overrides : {$methods[methods].method_overrides.link} {$methods[methods].method_overrides.sdesc|default:"parent method not documented"}

    +{/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl index ac2ccb2b6f..5a9da0e49b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl @@ -1,53 +1,53 @@ -{include file="header.tpl" top3=true} -

    File: {$source_location}

    -
    - - -
    -

    Description

    -{if $tutorial} -
    Main Tutorial: {$tutorial}
    -{/if} -{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - -

    Classes defined in this file

    - - - - - - - {section name=classes loop=$classes} - - - - - {/section} - -

    CLASS NAME

    DESCRIPTION

    {$classes[classes].link}{$classes[classes].sdesc}
    -
    - -
    -{include file="include.tpl"} -
    -
    -{include file="global.tpl"} -
    -
    -{include file="define.tpl"} -
    -
    -{include file="function.tpl"} -
    -
    - +{include file="header.tpl" top3=true} +

    File: {$source_location}

    +
    + + +
    +

    Description

    +{if $tutorial} +
    Main Tutorial: {$tutorial}
    +{/if} +{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + +

    Classes defined in this file

    + + + + + + + {section name=classes loop=$classes} + + + + + {/section} + +

    CLASS NAME

    DESCRIPTION

    {$classes[classes].link}{$classes[classes].sdesc}
    +
    + +
    +{include file="include.tpl"} +
    +
    +{include file="global.tpl"} +
    +
    +{include file="define.tpl"} +
    +
    +{include file="function.tpl"} +
    +
    + {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl index 66709b8aed..c29ea98259 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    Element Index, Package {$package}

    -{if count($packageindex) > 1} -Indexes by package:
    -{/if} -
      -{section name=p loop=$packageindex} -{if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • -{/if} -{/section} -
    -Index of all elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    Element Index, Package {$package}

    +{if count($packageindex) > 1} +Indexes by package:
    +{/if} +
      +{section name=p loop=$packageindex} +{if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • +{/if} +{/section} +
    +Index of all elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl index 9d0ef3e114..ad792475fd 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl index 3271631cda..806283f447 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl @@ -1,16 +1,16 @@ -{include file="header.tpl" top1=true} -{if count($ric) >= 1} - -{/if} -

    Packages

    - - +{include file="header.tpl" top1=true} +{if count($ric) >= 1} + +{/if} +

    Packages

    + + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl index 22c71c3b9a..a943522c24 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl @@ -1,32 +1,32 @@ -{include file="header.tpl" title=$title} -{if $nav} - - - - - - -
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    -{/if} -{$contents} -{if $nav} - - - - - - - - - - - - -
    {if $prev}{/if} -Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    -{/if} +{include file="header.tpl" title=$title} +{if $nav} + + + + + + +
    {if $prev}{/if}Prev{if $prev}{/if}{if $next}{/if}Next{if $next}{/if}
    +{/if} +{$contents} +{if $nav} + + + + + + + + + + + + +
    {if $prev}{/if} +Prev{if $prev}{/if}{if $up}Up{else} {/if}{if $next}{/if}Next{if $next}{/if}
    {if $prevtitle}{$prevtitle}{/if}{if $uptitle}{$uptitle}{/if}{if $nexttitle}{$nexttitle}{/if}
    +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl index 1db3443844..3d22d403b4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl @@ -1,29 +1,29 @@ -{if count($toc)} -

    Table of Contents

    -
      -{section name=toc loop=$toc} -{if $toc[toc].tagname == 'refsect1'} -{assign var="context" value="refsect1"} -{$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect2'} -{assign var="context" value="refsect2"} -   {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'refsect3'} -{assign var="context" value="refsect3"} -      {$toc[toc].link}
      -{/if} -{if $toc[toc].tagname == 'table'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{if $toc[toc].tagname == 'example'} -{if $context == 'refsect2'}   {/if} -{if $context == 'refsect3'}   {/if} -Table: {$toc[toc].link} -{/if} -{/section} -
    +{if count($toc)} +

    Table of Contents

    +
      +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} +   {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} +      {$toc[toc].link}
      +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'}   {/if} +{if $context == 'refsect3'}   {/if} +Table: {$toc[toc].link} +{/if} +{/section} +
    {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl index fd9113c8a6..23459a96d4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl @@ -1,13 +1,13 @@ - var {$name}tree = new WebFXTree{if $subtree}Item{/if}('{$main.title|strip_tags}','{$main.link}'); -{if !$subtree} {$name}tree.setBehavior('classic'); -{/if} {$name}tree.openIcon = 'media/images/msgInformation.gif'; - {$name}tree.icon = 'media/images/{if $subtree}msgInformation.gif{else}FolderClosed.gif{/if}'; -{if $kids} -{$kids} - -{/if}{if $subtree} {$parent}tree.add({$name}tree); -{else} - document.write({$name}tree); -{/if} - - + var {$name}tree = new WebFXTree{if $subtree}Item{/if}('{$main.title|strip_tags}','{$main.link}'); +{if !$subtree} {$name}tree.setBehavior('classic'); +{/if} {$name}tree.openIcon = 'media/images/msgInformation.gif'; + {$name}tree.icon = 'media/images/{if $subtree}msgInformation.gif{else}FolderClosed.gif{/if}'; +{if $kids} +{$kids} + +{/if}{if $subtree} {$parent}tree.add({$name}tree); +{else} + document.write({$name}tree); +{/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl index 8135df35ee..7b2933517e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl @@ -1,49 +1,49 @@ - -

    Class Variables

    - -Summary:
    -{section name=vars loop=$vars} -{if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    -{/if} -{/section} -
    -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    -

    - static {$vars[vars].var_name}{if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}{/if}
    (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -

    -

    Data type : {$vars[vars].var_type}

    -{if $vars[vars].var_overrides}

    Overrides: {$vars[vars].var_overrides}

    {/if} -{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} -
    -{/if} -{/section} -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    -

    - {$vars[vars].var_name}{if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}{/if}
    (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -

    -

    Data type : {$vars[vars].var_type}

    -{if $vars[vars].var_overrides}

    Overrides: {$vars[vars].var_overrides}

    {/if} -{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} -
    -{/if} -{/section} - - + +

    Class Variables

    + +Summary:
    +{section name=vars loop=$vars} +{if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    +{/if} +{/section} +
    +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    +

    + static {$vars[vars].var_name}{if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}{/if}
    (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +

    +

    Data type : {$vars[vars].var_type}

    +{if $vars[vars].var_overrides}

    Overrides: {$vars[vars].var_overrides}

    {/if} +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +
    +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    +

    + {$vars[vars].var_name}{if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}{/if}
    (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +

    +

    Data type : {$vars[vars].var_type}

    +{if $vars[vars].var_overrides}

    Overrides: {$vars[vars].var_overrides}

    {/if} +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +
    +{/if} +{/section} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini index 57b2500df1..084809beea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini @@ -1,577 +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 = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = - -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = - -T_STRING = -/T_STRING = - -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = - -T_VARIABLE = -/T_VARIABLE = - -T_COMMENT = -/T_COMMENT = -T_ML_COMMENT = -/T_ML_COMMENT = - -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = - -T_ABSTRACT = -/T_ABSTRACT = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_ARRAY = -/T_ARRAY = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CLASS = -/T_CLASS = -T_CASE = -/T_CASE = -T_CONST = -/T_CONST = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_EMPTY = -/T_EMPTY = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDIF = -/T_ENDIF = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_EXTENDS = -/T_EXTENDS = -T_FINAL = -/T_FINAL = -T_FOR = -/T_FOR = -T_FOREACH = -/T_FOREACH = -T_FUNCTION = -/T_FUNCTION = -T_GLOBAL = -/T_GLOBAL = -T_IF = -/T_IF = -T_IMPLEMENTS = -/T_IMPLEMENTS = -T_INTERFACE = -/T_INTERFACE = -T_LOGICAL_AND = -/T_LOGICAL_AND = -T_LOGICAL_OR = -/T_LOGICAL_OR = -T_LOGICAL_XOR = -/T_LOGICAL_XOR = -T_NEW = -/T_NEW = -T_PRIVATE = -/T_PRIVATE = -T_PROTECTED = -/T_PROTECTED = -T_PUBLIC = -/T_PUBLIC = -T_RETURN = -/T_RETURN = -T_STATIC = -/T_STATIC = -T_SWITCH = -/T_SWITCH = -T_VAR = -/T_VAR = -T_WHILE = -/T_WHILE = - -T_DOUBLE_COLON = -/T_DOUBLE_COLON = - -T_OPEN_TAG = -/T_OPEN_TAG = -T_OPEN_TAG_WITH_ECHO = -/T_OPEN_TAG_WITH_ECHO = -T_CLOSE_TAG = -/T_CLOSE_TAG = - - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -@ = -/@ = -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -;; used for translation of html in DocBlocks -[desctranslate] -ul =
      -/ul =
    -ol =
      -/ol =
    -li =
  • -/li =
  • -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre =
    -/pre = 
    -p =

    -/p =

    -b = -/b = -i = -/i = -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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 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 -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 7) -;; tagname = newtagname -;; tagname/ = 1 -;; -;; here, the tag will be translated as a single tag with no closing tag, and all -;; attributes -;; {text text} will become -;; -;; -;; 8) -;; tagname = -;; /tagname = closetagtext -;; -;; in this case, the text will be inserted exactly as entered for -;; and closetagtext for -;; will become -;; 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 -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  =   -" = " -” = ” -“ = “ -& = & -< = < -> = > -© = © - - -$attr$role = class - -abbrev = abbr - -blockquote = blockquote - -arg = span -arg->choice = class - -author = -/author = -author! = 0 - -authorblurb =
    -/authorblurb =
    - -authorgroup =

    Authors

    -/authorgroup =
    -authorgroup! = 0 - -caution = -/caution = -caution! = 0 - -cmdsynopsis =
    -/cmdsynopsis =
    - -command = -/command = - -copyright =
    -/copyright =
    - -emphasis = em - -example =
    -/example =
    -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 =
    -/programlisting =
    -programlisting! = 0 - -refentry = div - -refnamediv =
    -/refnamediv =
    -refnamediv! = 0 - -refname =

    -/refname =

    - -refpurpose =

    -/refpurpose =

    - -refsynopsisdiv =
    -/refsynopsisdiv =
    -refsynopsisdiv! = 0 - -refsect1 = span - -refsect2 = span - -refsect3 = -/refsect3 =
    - -releaseinfo =
    ( -/releaseinfo = )
    - -simpara = -/simpara =
    -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 = -/warning = -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 -[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> +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 +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  =   +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$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 = span + +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/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl index 711e1d2e86..951ee26457 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl @@ -1,47 +1,47 @@ -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> - -{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> - <dl> - {section name=contents loop=$index[index].index} - <dt class="field"> - {if ($index[index].index[contents].title == "Variable")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Global")} - <span class="var-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Method")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Function")} - <span class="method-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Constant")} - <span class="const-title">{$index[index].index[contents].name}</span> - {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} - <span class="include-title">{$index[index].index[contents].name}</span> - {else} - {$index[index].index[contents].name} - {/if} - </dt> - <dd class="index-item-body"> - <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> - {if $index[index].index[contents].description} - <div class="index-item-description">{$index[index].index[contents].description}</div> - {/if} - </dd> - {/section} - </dl> -{/section} - -<div class="index-letter-menu"> -{section name=letter loop=$letters} - <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> -{/section} -</div> +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{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> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl index 1fbaca2ff9..6a05f27e1e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl @@ -1,13 +1,13 @@ -<html> -<head> - <title>{$maintitle} - - - - -

    {$maintitle}

    -Welcome to {$package}!
    -
    -This documentation was generated by phpDocumentor v{$phpdocversion}
    - + + + {$maintitle} + + + + +

    {$maintitle}

    +Welcome to {$package}!
    +
    +This documentation was generated by phpDocumentor v{$phpdocversion}
    + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl index c60f4e425b..9ab7c45513 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl @@ -1,429 +1,429 @@ -{include file="header.tpl" top3=true} - -

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    - - -
    -
    Description
    - -
    - {if $implements} -

    - Implements interfaces: -

      - {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} -
    -

    - {/if} - {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} -

    - Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) -

    - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} - -
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    - - {if $conflicts.conflict_type} -
    -
    Conflicts with classes:
    - {section name=me loop=$conflicts.conflicts} - {$conflicts.conflicts[me]}
    - {/section} -
    - {/if} -
    -
    - -{if $children} - -
    -
    Direct descendents
    - -
    - - - - - - {section name=kids loop=$children} - - - - - {/section} -
    ClassDescription
    {$children[kids].link} - {if $children[kids].sdesc} - {$children[kids].sdesc} - {else} - {$children[kids].desc} - {/if} -
    -
    -
    -{/if} - -{if $consts} - -
    -
    Class Constant Summary
    - -
    -
    - {section name=consts loop=$consts} -
    -  - {$consts[consts].const_name} = {$consts[consts].const_value} - -
    - {/section} -
    -
    -
    -{/if} - -{if $vars} - -
    -
    Variable Summary
    - -
    -
    - {section name=vars loop=$vars} - {if $vars[vars].static} -
    - static {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} - {section name=vars loop=$vars} - {if !$vars[vars].static} -
    - {$vars[vars].var_type} - {$vars[vars].var_name} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $methods} - -
    -
    Method Summary
    - -
    -
    - {section name=methods loop=$methods} - {if $methods[methods].static} -
    - static {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} - {section name=methods loop=$methods} - {if !$methods[methods].static} -
    - {if $methods[methods].function_return} - {$methods[methods].function_return} - {/if} - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - {/if} - {/section} -
    -
    -
    -{/if} - -{if $vars || $ivars} - -
    -
    Variables
    - -
    - {include file="var.tpl"} - {if $ivars} -

    Inherited Variables

    - - {section name=ivars loop=$ivars} -

    Inherited from {$ivars[ivars].parent_class}

    -
    - {section name=ivars2 loop=$ivars[ivars].ivars} - - {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $methods || $imethods} - -
    -
    Methods
    - -
    - {include file="method.tpl"} - {if $imethods} -

    Inherited Methods

    - - {section name=imethods loop=$imethods} - -

    Inherited From {$imethods[imethods].parent_class}

    -
    - {section name=im2 loop=$imethods[imethods].imethods} - {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{if $consts || $iconsts} - -
    -
    Class Constants
    - -
    - {include file="const.tpl"} - {if $iconsts} -

    Inherited Constants

    - - {section name=iconsts loop=$iconsts} -

    Inherited from {$iconsts[iconsts].parent_class}

    -
    - {section name=iconsts2 loop=$iconsts[iconsts].iconsts} - - - {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    -
    - {/section} -
    - {/section} - {/if} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {if $is_interface}Interface{else}Class{/if} {$class_name}

    + + +
    +
    Description
    + +
    + {if $implements} +

    + Implements interfaces: +

      + {foreach item="int" from=$implements}
    • {$int}
    • {/foreach} +
    +

    + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +

    + Located in {$source_location} (line {if $class_slink}{$class_slink}{else}{$line_number}{/if}) +

    + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} + +
    {section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
    + + {if $conflicts.conflict_type} +
    +
    Conflicts with classes:
    + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}
    + {/section} +
    + {/if} +
    +
    + +{if $children} + +
    +
    Direct descendents
    + +
    + + + + + + {section name=kids loop=$children} + + + + + {/section} +
    ClassDescription
    {$children[kids].link} + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} +
    +
    +
    +{/if} + +{if $consts} + +
    +
    Class Constant Summary
    + +
    +
    + {section name=consts loop=$consts} +
    +  + {$consts[consts].const_name} = {$consts[consts].const_value} + +
    + {/section} +
    +
    +
    +{/if} + +{if $vars} + +
    +
    Variable Summary
    + +
    +
    + {section name=vars loop=$vars} + {if $vars[vars].static} +
    + static {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} +
    + {$vars[vars].var_type} + {$vars[vars].var_name} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $methods} + +
    +
    Method Summary
    + +
    +
    + {section name=methods loop=$methods} + {if $methods[methods].static} +
    + static {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} +
    + {if $methods[methods].function_return} + {$methods[methods].function_return} + {/if} + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + {/if} + {/section} +
    +
    +
    +{/if} + +{if $vars || $ivars} + +
    +
    Variables
    + +
    + {include file="var.tpl"} + {if $ivars} +

    Inherited Variables

    + + {section name=ivars loop=$ivars} +

    Inherited from {$ivars[ivars].parent_class}

    +
    + {section name=ivars2 loop=$ivars[ivars].ivars} + + {$ivars[ivars].ivars[ivars2].link}{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $methods || $imethods} + +
    +
    Methods
    + +
    + {include file="method.tpl"} + {if $imethods} +

    Inherited Methods

    + + {section name=imethods loop=$imethods} + +

    Inherited From {$imethods[imethods].parent_class}

    +
    + {section name=im2 loop=$imethods[imethods].imethods} + {$imethods[imethods].imethods[im2].link}{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{if $consts || $iconsts} + +
    +
    Class Constants
    + +
    + {include file="const.tpl"} + {if $iconsts} +

    Inherited Constants

    + + {section name=iconsts loop=$iconsts} +

    Inherited from {$iconsts[iconsts].parent_class}

    +
    + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + + + {$iconsts[iconsts].iconsts[iconsts2].link}{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}
    +
    + {/section} +
    + {/section} + {/if} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl index ac14d5455a..952e6d500e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl @@ -1,19 +1,19 @@ -{include file="header.tpl" top1=true} - - -

    - {$smarty.capture.title} -

    -{if $interfaces} -{section name=classtrees loop=$interfaces} -

    Root interface {$interfaces[classtrees].class}

    -{$interfaces[classtrees].class_tree} -{/section} -{/if} -{if $classtrees} -{section name=classtrees loop=$classtrees} -

    Root class {$classtrees[classtrees].class}

    -{$classtrees[classtrees].class_tree} -{/section} -{/if} +{include file="header.tpl" top1=true} + + +

    + {$smarty.capture.title} +

    +{if $interfaces} +{section name=classtrees loop=$interfaces} +

    Root interface {$interfaces[classtrees].class}

    +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +

    Root class {$classtrees[classtrees].class}

    +{$classtrees[classtrees].class_tree} +{/section} +{/if} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl index 4157488f5c..c26ff92d7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl @@ -1,18 +1,18 @@ -{section name=consts loop=$consts} - -
    - -
    - - - {$consts[consts].const_name} - = {$consts[consts].const_value|replace:"\n":"
    "}
    - (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} - -
    -{/section} - +{section name=consts loop=$consts} + +
    + +
    + + + {$consts[consts].const_name} + = {$consts[consts].const_value|replace:"\n":"
    "}
    + (line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +
    +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl index ab76faa234..0da5d86403 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl @@ -1,24 +1,24 @@ -{section name=def loop=$defines} - -
    - -
    - - {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} - (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with constants:
    - {section name=me loop=$defines[def].define_conflicts.conflicts} - {$defines[def].define_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=def loop=$defines} + +
    + +
    + + {$defines[def].define_name} = {$defines[def].define_value|replace:"\n":"
    "} + (line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with constants:
    + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl index 8a87c9b7bf..783d527171 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl @@ -1,14 +1,14 @@ - -{if $sdesc} -

    {$sdesc}

    -{/if} -{if $desc} -

    {$desc}

    -{/if} -{if $tags} -
      - {section name=tags loop=$tags} -
    • {$tags[tags].keyword}: {$tags[tags].data}
    • - {/section} -
    -{/if} + +{if $sdesc} +

    {$sdesc}

    +{/if} +{if $desc} +

    {$desc}

    +{/if} +{if $tags} +
      + {section name=tags loop=$tags} +
    • {$tags[tags].keyword}: {$tags[tags].data}
    • + {/section} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl index 6e651db1e6..d5964f99c3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl @@ -1,12 +1,12 @@ -{include file="header.tpl" noleftindex=true} - -

    Full index

    -

    Package indexes

    - -
    -{include file="basicindex.tpl" indexname="elementindex"} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} + +

    Full index

    +

    Package indexes

    + +
    +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
    -{/section} -{foreach key=file item=issues from=$all} - -

    {$file}

    -{if count($issues.warnings)} -

    Warnings:


    -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    -{/section} -{/if} -{if count($issues.errors)} -

    Errors:


    -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
    +{/section} +{foreach key=file item=issues from=$all} + +

    {$file}

    +{if count($issues.warnings)} +

    Warnings:


    +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
    +{/section} +{/if} +{if count($issues.errors)} +

    Errors:


    +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
    +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl index c813280bde..8abf74ce23 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl" title=$title} -

    {$title}

    -
    -{$source} -
    +{include file="header.tpl" title=$title} +

    {$title}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl index 4fd821a2f3..239f7b41f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl @@ -1,8 +1,8 @@ -{capture name="tutle"}File Source for {$name}{/capture} -{include file="header.tpl" title=$smarty.capture.tutle} -

    Source for file {$name}

    -

    Documentation is available at {$docs}

    -
    -{$source} -
    +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +

    Source for file {$name}

    +

    Documentation is available at {$docs}

    +
    +{$source} +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl index 424ebbe243..8d0f79dbc7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl @@ -1,8 +1,8 @@ -{if !$index} -

    - Documentation generated on {$date} by phpDocumentor {$phpdocversion} -

    -{/if} - {if $top3}
    {/if} - - +{if !$index} +

    + Documentation generated on {$date} by phpDocumentor {$phpdocversion} +

    +{/if} + {if $top3}
    {/if} + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl index 2750a97e7e..b688005964 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl @@ -1,44 +1,44 @@ -{section name=func loop=$functions} - -
    - -
    - {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} - -
    - {$functions[func].function_return} - - {if $functions[func].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $functions[func].params} -
      - {section name=params loop=$functions[func].params} -
    • - {$functions[func].params[params].datatype} - {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $functions[func].function_conflicts.conflict_type} -
    -
    Conflicts with functions:
    - {section name=me loop=$functions[func].function_conflicts.conflicts} - {$functions[func].function_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    -{/section} +{section name=func loop=$functions} + +
    + +
    + {$functions[func].function_name} (line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + +
    + {$functions[func].function_return} + + {if $functions[func].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $functions[func].params} +
      + {section name=params loop=$functions[func].params} +
    • + {$functions[func].params[params].datatype} + {$functions[func].params[params].var}{if $functions[func].params[params].data}: {$functions[func].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $functions[func].function_conflicts.conflict_type} +
    +
    Conflicts with functions:
    + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl index 3c89ddfc40..eab7e0b0ea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl @@ -1,26 +1,26 @@ -{section name=glob loop=$globals} - -
    - -
    - - {$globals[glob].global_type} - {$globals[glob].global_name} - {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} - (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} - - {if $globals[glob].global_conflicts.conflict_type} -
    -
    Conflicts with global variables:
    - {section name=me loop=$globals[glob].global_conflicts.conflicts} - {$globals[glob].global_conflicts.conflicts[me]}
    - {/section} -
    - {/if} - -
    +{section name=glob loop=$globals} + +
    + +
    + + {$globals[glob].global_type} + {$globals[glob].global_name} + {if $vars[vars].var_default} = {$globals[glob].global_value|replace:"\n":"
    "}
    {/if} + (line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} +
    +
    Conflicts with global variables:
    + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}
    + {/section} +
    + {/if} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl index d5e26dfab7..c22ba37ddf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl @@ -1,12 +1,12 @@ - - - - - - {$title} - - - - - {if $top3}
    {/if} - + + + + + + {$title} + + + + + {if $top3}
    {/if} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl index bd408aff7d..c2419e5fd9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl @@ -1,16 +1,16 @@ -{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}) - -
    - - {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].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}) + +
    + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +
    {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl index 477d2b17c5..7cd610946c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl @@ -1,24 +1,24 @@ - - - - - - {$title} - - - - - - - - - - - <H2>Frame Alert</H2> - <P>This document is designed to be viewed using the frames feature. - If you see this message, you are using a non-frame-capable web client.</P> - - - + + + + + + {$title} + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl index c30b76be8e..0a06fba6cf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl @@ -1,159 +1,159 @@ -{include file="header.tpl" top2=true} -
    {$package}
    -
    - -
    - -
    Description
    -
    - Class trees
    - Index of elements
    - {if $hastodos} - Todo List
    - {/if} -
    - - {section name=p loop=$info} - - {if $info[p].subpackage == ""} - - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - {if $info[p].hasinterfaces} -
    Interfaces
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_interface} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].hasclasses} -
    Classes
    - {section name=class loop=$info[p].classes} - {if $info[p].classes[class].is_class} -
    {$info[p].classes[class].title}
    - {/if} - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} - - {else} - {if $info[p].tutorials} -
    Tutorials/Manuals
    -
    - {if $info[p].tutorials.pkg} -
    -
    Package-level
    -
    - {section name=ext loop=$info[p].tutorials.pkg} - {$info[p].tutorials.pkg[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.cls} -
    -
    Class-level
    -
    - {section name=ext loop=$info[p].tutorials.cls} - {$info[p].tutorials.cls[ext]} - {/section} -
    -
    - {/if} - - {if $info[p].tutorials.proc} -
    -
    Function-level
    -
    - {section name=ext loop=$info[p].tutorials.proc} - {$info[p].tutorials.proc[ext]} - {/section} -
    -
    - {/if} -
    - {/if} - -
    {$info[p].subpackage}
    -
    -
    - {if $info[p].subpackagetutorial} - - {/if} - {if $info[p].classes} -
    Classes
    - {section name=class loop=$info[p].classes} -
    {$info[p].classes[class].title}
    - {/section} - {/if} - {if $info[p].functions} -
    Functions
    - {section name=f loop=$info[p].functions} -
    {$info[p].functions[f].title}
    - {/section} - {/if} - {if $info[p].files} -
    Files
    - {section name=nonclass loop=$info[p].files} -
    {$info[p].files[nonclass].title}
    - {/section} - {/if} -
    -
    - - {/if} - - {/section} -
    -
    -

    phpDocumentor v {$phpdocversion}

    - - +{include file="header.tpl" top2=true} +
    {$package}
    +
    + +
    + +
    Description
    +
    + Class trees
    + Index of elements
    + {if $hastodos} + Todo List
    + {/if} +
    + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + {if $info[p].hasinterfaces} +
    Interfaces
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].hasclasses} +
    Classes
    + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} +
    {$info[p].classes[class].title}
    + {/if} + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} + + {else} + {if $info[p].tutorials} +
    Tutorials/Manuals
    +
    + {if $info[p].tutorials.pkg} +
    +
    Package-level
    +
    + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.cls} +
    +
    Class-level
    +
    + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} +
    +
    + {/if} + + {if $info[p].tutorials.proc} +
    +
    Function-level
    +
    + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} +
    +
    + {/if} +
    + {/if} + +
    {$info[p].subpackage}
    +
    +
    + {if $info[p].subpackagetutorial} + + {/if} + {if $info[p].classes} +
    Classes
    + {section name=class loop=$info[p].classes} +
    {$info[p].classes[class].title}
    + {/section} + {/if} + {if $info[p].functions} +
    Functions
    + {section name=f loop=$info[p].functions} +
    {$info[p].functions[f].title}
    + {/section} + {/if} + {if $info[p].files} +
    Files
    + {section name=nonclass loop=$info[p].files} +
    {$info[p].files[nonclass].title}
    + {/section} + {/if} +
    +
    + + {/if} + + {/section} +
    +
    +

    phpDocumentor v {$phpdocversion}

    + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl index df271c8d82..06d57a1202 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl @@ -1,149 +1,149 @@ - -{section name=methods loop=$methods} -{if $methods[methods].static} - -
    - -
    - static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - static {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} -{section name=methods loop=$methods} -{if !$methods[methods].static} - -
    - -
    - {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) -
    - - {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} - -
    - {$methods[methods].function_return} - - {if $methods[methods].ifunction_call.returnsref}&{/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}) - {else} - () - {/if} -
    - - {if $methods[methods].params} -
      - {section name=params loop=$methods[methods].params} -
    • - {$methods[methods].params[params].datatype} - {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} -
    • - {/section} -
    - {/if} - - {if $methods[methods].method_overrides} -
    -
    Redefinition of:
    -
    -
    {$methods[methods].method_overrides.link}
    - {if $methods[methods].method_overrides.sdesc} -
    {$methods[methods].method_overrides.sdesc}
    - {/if} -
    - {/if} - {if $methods[methods].method_implements} -
    -
    Implementation of:
    - {section name=imp loop=$methods[methods].method_implements} -
    -
    {$methods[methods].method_implements[imp].link}
    - {if $methods[methods].method_implements[imp].sdesc} -
    {$methods[methods].method_implements[imp].sdesc}
    - {/if} -
    - {/section} - {/if} - - {if $methods[methods].descmethod} -
    -
    Redefined in descendants as:
    -
      - {section name=dm loop=$methods[methods].descmethod} -
    • - {$methods[methods].descmethod[dm].link} - {if $methods[methods].descmethod[dm].sdesc} - : {$methods[methods].descmethod[dm].sdesc} - {/if} -
    • - {/section} -
    - {/if} -
    -{/if} -{/section} + +{section name=methods loop=$methods} +{if $methods[methods].static} + +
    + +
    + static {$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + static {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + +
    + +
    + {if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name} (line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}) +
    + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + +
    + {$methods[methods].function_return} + + {if $methods[methods].ifunction_call.returnsref}&{/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}) + {else} + () + {/if} +
    + + {if $methods[methods].params} +
      + {section name=params loop=$methods[methods].params} +
    • + {$methods[methods].params[params].datatype} + {$methods[methods].params[params].var}{if $methods[methods].params[params].data}: {$methods[methods].params[params].data}{/if} +
    • + {/section} +
    + {/if} + + {if $methods[methods].method_overrides} +
    +
    Redefinition of:
    +
    +
    {$methods[methods].method_overrides.link}
    + {if $methods[methods].method_overrides.sdesc} +
    {$methods[methods].method_overrides.sdesc}
    + {/if} +
    + {/if} + {if $methods[methods].method_implements} +
    +
    Implementation of:
    + {section name=imp loop=$methods[methods].method_implements} +
    +
    {$methods[methods].method_implements[imp].link}
    + {if $methods[methods].method_implements[imp].sdesc} +
    {$methods[methods].method_implements[imp].sdesc}
    + {/if} +
    + {/section} + {/if} + + {if $methods[methods].descmethod} +
    +
    Redefined in descendants as:
    +
      + {section name=dm loop=$methods[methods].descmethod} +
    • + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} +
    • + {/section} +
    + {/if} +
    +{/if} +{/section} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl index eea2bf72b5..b59802362b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl @@ -1,211 +1,211 @@ -{include file="header.tpl" top3=true} - -

    {$source_location}

    - - -
    -
    Description
    - -
    - {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} - - {if $tutorial} -
    -
    Tutorial: {$tutorial}
    - {/if} -
    -
    - -{if $classes} - -
    -
    Classes
    - -
    - - - - - - {section name=classes loop=$classes} - - - - - {/section} -
    ClassDescription
    - {$classes[classes].link} - - {if $classes[classes].sdesc} - {$classes[classes].sdesc} - {else} - {$classes[classes].desc} - {/if} -
    -
    -
    -{/if} - -{if $includes} - -
    -
    Includes
    - -
    - {include file="include.tpl"} -
    -
    -{/if} - -{if $defines} - -
    -
    Constants
    - -
    - {include file="define.tpl"} -
    -
    -{/if} - -{if $globals} - -
    -
    Variables
    - -
    - {include file="global.tpl"} -
    -
    -{/if} - -{if $functions} - -
    -
    Functions
    - -
    - {include file="function.tpl"} -
    -
    -{/if} - -{include file="footer.tpl" top3=true} +{include file="header.tpl" top3=true} + +

    {$source_location}

    + + +
    +
    Description
    + +
    + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} +
    +
    Tutorial: {$tutorial}
    + {/if} +
    +
    + +{if $classes} + +
    +
    Classes
    + +
    + + + + + + {section name=classes loop=$classes} + + + + + {/section} +
    ClassDescription
    + {$classes[classes].link} + + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} +
    +
    +
    +{/if} + +{if $includes} + +
    +
    Includes
    + +
    + {include file="include.tpl"} +
    +
    +{/if} + +{if $defines} + +
    +
    Constants
    + +
    + {include file="define.tpl"} +
    +
    +{/if} + +{if $globals} + +
    +
    Variables
    + +
    + {include file="global.tpl"} +
    +
    +{/if} + +{if $functions} + +
    +
    Functions
    + +
    + {include file="function.tpl"} +
    +
    +{/if} + +{include file="footer.tpl" top3=true} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl index 542af8edb3..dc283ad0ad 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl @@ -1,17 +1,17 @@ -{include file="header.tpl"} - -

    [{$package}] element index

    -{if count($packageindex) > 1} -

    Package indexes

    -
      - {section name=p loop=$packageindex} - {if $packageindex[p].title != $package} -
    • {$packageindex[p].title}
    • - {/if} - {/section} -
    -{/if} -All elements -
    -{include file="basicindex.tpl" indexname=elementindex_$package} -{include file="footer.tpl"} +{include file="header.tpl"} + +

    [{$package}] element index

    +{if count($packageindex) > 1} +

    Package indexes

    +
      + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} +
    • {$packageindex[p].title}
    • + {/if} + {/section} +
    +{/if} +All elements +
    +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl index c4cb83f913..eff734c1d5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl @@ -1,6 +1,6 @@ -{include file="header.tpl"} -

    {$name}

    -
    -{$contents|htmlentities}
    -
    +{include file="header.tpl"} +

    {$name}

    +
    +{$contents|htmlentities}
    +
    {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl index 5ab0bca2e7..f929ccdb3e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl @@ -1,14 +1,14 @@ -{include file="header.tpl" title="Todo List"} -

    Todo List

    -{foreach from=$todos key=todopackage item=todo} -

    {$todopackage}

    -{section name=todo loop=$todo} -

    {$todo[todo].link}

    -
      -{section name=t loop=$todo[todo].todos} -
    • {$todo[todo].todos[t]}
    • -{/section} -
    -{/section} -{/foreach} +{include file="header.tpl" title="Todo List"} +

    Todo List

    +{foreach from=$todos key=todopackage item=todo} +

    {$todopackage}

    +{section name=todo loop=$todo} +

    {$todo[todo].link}

    +
      +{section name=t loop=$todo[todo].todos} +
    • {$todo[todo].todos[t]}
    • +{/section} +
    +{/section} +{/foreach} {include file="footer.tpl"} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl index 086ee32a95..36d1e5a108 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl @@ -1,45 +1,45 @@ - - - - - - {$title} - - - - - - - - + + + + + + {$title} + + + + + + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl index deb1ee0452..3b9109d18e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl @@ -1,13 +1,13 @@ -{include file="header.tpl" title=$title top3=true} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - -{$contents} - -{if $nav} - {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} -{/if} - +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + {include file="footer.tpl" top3=true} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl index 9b42fec8da..8995230130 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl @@ -1,41 +1,41 @@ - - - - - - - - - - - -
    - {if $prev} - Previous - {else} - Previous - {/if} - - {if $up} - Up - {/if} - - {if $next} - Next - {else} - Next - {/if} -
    - {if $prevtitle} - {$prevtitle} - {/if} - - {if $uptitle} - {$uptitle} - {/if} - - {if $nexttitle} - {$nexttitle} - {/if} -
    + + + + + + + + + + + +
    + {if $prev} + Previous + {else} + Previous + {/if} + + {if $up} + Up + {/if} + + {if $next} + Next + {else} + Next + {/if} +
    + {if $prevtitle} + {$prevtitle} + {/if} + + {if $uptitle} + {$uptitle} + {/if} + + {if $nexttitle} + {$nexttitle} + {/if} +
    \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl index 314ebd8124..ebdef6e360 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl @@ -1,39 +1,39 @@ -{if count($toc)} -

    Table of Contents

    -
      - {assign var="lastcontext" value='refsect1'} - {section name=toc loop=$toc} - - {if $toc[toc].tagname != $lastcontext} - {if $lastcontext == 'refsect1'} -
        -
      • {$toc[toc].link}
      • - {else} - {if $lastcontext == 'refsect2'} - {if $toc[toc].tagname == 'refsect1'} -
      -
    • {$toc[toc].link}
    • - {/if} - {if $toc[toc].tagname == 'refsect3'} -
        -
      • {$toc[toc].link}
      • - {/if} - {else} -
      -
    • {$toc[toc].link}
    • - {/if} - {/if} - {assign var="lastcontext" value=$toc[toc].tagname} - {else} -
    • {$toc[toc].link}
    • - {/if} - {/section} - {if $lastcontext == 'refsect2'} -
    - {/if} - {if $lastcontext == 'refsect3'} - - - {/if} - -{/if} +{if count($toc)} +

    Table of Contents

    +
      + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} +
        +
      • {$toc[toc].link}
      • + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} +
      +
    • {$toc[toc].link}
    • + {/if} + {if $toc[toc].tagname == 'refsect3'} +
        +
      • {$toc[toc].link}
      • + {/if} + {else} +
      +
    • {$toc[toc].link}
    • + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} +
    • {$toc[toc].link}
    • + {/if} + {/section} + {if $lastcontext == 'refsect2'} +
    + {/if} + {if $lastcontext == 'refsect3'} + + + {/if} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl index d5a1835594..617b565411 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl @@ -1,6 +1,6 @@ - -{if $haskids} -
    - {$kids} -
    -{/if} + +{if $haskids} +
    + {$kids} +
    +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl index f11f3be974..fccf689213 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl @@ -1,92 +1,92 @@ -{section name=vars loop=$vars} -{if $vars[vars].static} - -
    - -
    - - static {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - -{section name=vars loop=$vars} -{if !$vars[vars].static} - -
    - -
    - - {$vars[vars].var_type} - {$vars[vars].var_name} - {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} - (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) -
    -
    - - {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} - - {if $vars[vars].var_overrides} -
    -
    Redefinition of:
    -
    -
    {$vars[vars].var_overrides.link}
    - {if $vars[vars].var_overrides.sdesc} -
    {$vars[vars].var_overrides.sdesc}
    - {/if} -
    - {/if} - - {if $vars[vars].descvar} -
    -
    Redefined in descendants as:
    -
      - {section name=vm loop=$vars[vars].descvar} -
    • - {$vars[vars].descvar[vm].link} - {if $vars[vars].descvar[vm].sdesc} - : {$vars[vars].descvar[vm].sdesc} - {/if} -
    • - {/section} -
    - {/if} - -
    -{/if} -{/section} - +{section name=vars loop=$vars} +{if $vars[vars].static} + +
    + +
    + + static {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} + +
    + +
    + + {$vars[vars].var_type} + {$vars[vars].var_name} + {if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"
    "}
    {/if} + (line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}) +
    +
    + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} +
    +
    Redefinition of:
    +
    +
    {$vars[vars].var_overrides.link}
    + {if $vars[vars].var_overrides.sdesc} +
    {$vars[vars].var_overrides.sdesc}
    + {/if} +
    + {/if} + + {if $vars[vars].descvar} +
    +
    Redefined in descendants as:
    +
      + {section name=vm loop=$vars[vars].descvar} +
    • + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} +
    • + {/section} +
    + {/if} + +
    +{/if} +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.ezpdf.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.ezpdf.php index 86bebb772f..f94fe330c9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.ezpdf.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.ezpdf.php @@ -1,1571 +1,1571 @@ -10); // used for storing most of the page configuration parameters -var $y; // this is the current vertical positon on the page of the writing point, very important -var $ezPages=array(); // keep an array of the ids of the pages, making it easy to go back and add page numbers etc. -var $ezPageCount=0; - -// ------------------------------------------------------------------------------ - -function Cezpdf($paper='a4',$orientation='portrait'){ - // Assuming that people don't want to specify the paper size using the absolute coordinates - // allow a couple of options: - // orientation can be 'portrait' or 'landscape' - // or, to actually set the coordinates, then pass an array in as the first parameter. - // the defaults are as shown. - // - // ------------------------- - // 2002-07-24 - Nicola Asuni (info@tecnick.com): - // Added new page formats (45 standard ISO paper formats and 4 american common formats) - // paper cordinates are calculated in this way: (inches * 72) where 1 inch = 2.54 cm - // - // Now you may also pass a 2 values array containing the page width and height in centimeters - // ------------------------- - - if (!is_array($paper)){ - switch (strtoupper($paper)){ - case '4A0': {$size = array(0,0,4767.87,6740.79); break;} - case '2A0': {$size = array(0,0,3370.39,4767.87); break;} - case 'A0': {$size = array(0,0,2383.94,3370.39); break;} - case 'A1': {$size = array(0,0,1683.78,2383.94); break;} - case 'A2': {$size = array(0,0,1190.55,1683.78); break;} - case 'A3': {$size = array(0,0,841.89,1190.55); break;} - case 'A4': default: {$size = array(0,0,595.28,841.89); break;} - case 'A5': {$size = array(0,0,419.53,595.28); break;} - case 'A6': {$size = array(0,0,297.64,419.53); break;} - case 'A7': {$size = array(0,0,209.76,297.64); break;} - case 'A8': {$size = array(0,0,147.40,209.76); break;} - case 'A9': {$size = array(0,0,104.88,147.40); break;} - case 'A10': {$size = array(0,0,73.70,104.88); break;} - case 'B0': {$size = array(0,0,2834.65,4008.19); break;} - case 'B1': {$size = array(0,0,2004.09,2834.65); break;} - case 'B2': {$size = array(0,0,1417.32,2004.09); break;} - case 'B3': {$size = array(0,0,1000.63,1417.32); break;} - case 'B4': {$size = array(0,0,708.66,1000.63); break;} - case 'B5': {$size = array(0,0,498.90,708.66); break;} - case 'B6': {$size = array(0,0,354.33,498.90); break;} - case 'B7': {$size = array(0,0,249.45,354.33); break;} - case 'B8': {$size = array(0,0,175.75,249.45); break;} - case 'B9': {$size = array(0,0,124.72,175.75); break;} - case 'B10': {$size = array(0,0,87.87,124.72); break;} - case 'C0': {$size = array(0,0,2599.37,3676.54); break;} - case 'C1': {$size = array(0,0,1836.85,2599.37); break;} - case 'C2': {$size = array(0,0,1298.27,1836.85); break;} - case 'C3': {$size = array(0,0,918.43,1298.27); break;} - case 'C4': {$size = array(0,0,649.13,918.43); break;} - case 'C5': {$size = array(0,0,459.21,649.13); break;} - case 'C6': {$size = array(0,0,323.15,459.21); break;} - case 'C7': {$size = array(0,0,229.61,323.15); break;} - case 'C8': {$size = array(0,0,161.57,229.61); break;} - case 'C9': {$size = array(0,0,113.39,161.57); break;} - case 'C10': {$size = array(0,0,79.37,113.39); break;} - case 'RA0': {$size = array(0,0,2437.80,3458.27); break;} - case 'RA1': {$size = array(0,0,1729.13,2437.80); break;} - case 'RA2': {$size = array(0,0,1218.90,1729.13); break;} - case 'RA3': {$size = array(0,0,864.57,1218.90); break;} - case 'RA4': {$size = array(0,0,609.45,864.57); break;} - case 'SRA0': {$size = array(0,0,2551.18,3628.35); break;} - case 'SRA1': {$size = array(0,0,1814.17,2551.18); break;} - case 'SRA2': {$size = array(0,0,1275.59,1814.17); break;} - case 'SRA3': {$size = array(0,0,907.09,1275.59); break;} - case 'SRA4': {$size = array(0,0,637.80,907.09); break;} - case 'LETTER': {$size = array(0,0,612.00,792.00); break;} - case 'LEGAL': {$size = array(0,0,612.00,1008.00); break;} - case 'EXECUTIVE': {$size = array(0,0,521.86,756.00); break;} - case 'FOLIO': {$size = array(0,0,612.00,936.00); break;} - } - switch (strtolower($orientation)){ - case 'landscape': - $a=$size[3]; - $size[3]=$size[2]; - $size[2]=$a; - break; - } - } else { - if (count($paper)>2) { - // then an array was sent it to set the size - $size = $paper; - } - else { //size in centimeters has been passed - $size[0] = 0; - $size[1] = 0; - $size[2] = ( $paper[0] / 2.54 ) * 72; - $size[3] = ( $paper[1] / 2.54 ) * 72; - } - } - $this->Cpdf($size); - $this->ez['pageWidth']=$size[2]; - $this->ez['pageHeight']=$size[3]; - - // also set the margins to some reasonable defaults - $this->ez['topMargin']=30; - $this->ez['bottomMargin']=30; - $this->ez['leftMargin']=30; - $this->ez['rightMargin']=30; - - // set the current writing position to the top of the first page - $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; - // and get the ID of the page that was created during the instancing process. - $this->ezPages[1]=$this->getFirstPageId(); - $this->ezPageCount=1; -} - -// ------------------------------------------------------------------------------ -// 2002-07-24: Nicola Asuni (info@tecnick.com) -// Set Margins in centimeters -function ezSetCmMargins($top,$bottom,$left,$right){ - $top = ( $top / 2.54 ) * 72; - $bottom = ( $bottom / 2.54 ) * 72; - $left = ( $left / 2.54 ) * 72; - $right = ( $right / 2.54 ) * 72; - $this->ezSetMargins($top,$bottom,$left,$right); -} -// ------------------------------------------------------------------------------ - - -function ezColumnsStart($options=array()){ - // start from the current y-position, make the set number of columne - if (isset($this->ez['columns']) && $this->ez['columns']==1){ - // if we are already in a column mode then just return. - return; - } - $def=array('gap'=>10,'num'=>2); - foreach($def as $k=>$v){ - if (!isset($options[$k])){ - $options[$k]=$v; - } - } - // setup the columns - $this->ez['columns']=array('on'=>1,'colNum'=>1); - - // store the current margins - $this->ez['columns']['margins']=array( - $this->ez['leftMargin'] - ,$this->ez['rightMargin'] - ,$this->ez['topMargin'] - ,$this->ez['bottomMargin'] - ); - // and store the settings for the columns - $this->ez['columns']['options']=$options; - // then reset the margins to suit the new columns - // safe enough to assume the first column here, but start from the current y-position - $this->ez['topMargin']=$this->ez['pageHeight']-$this->y; - $width=($this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin']-($options['num']-1)*$options['gap'])/$options['num']; - $this->ez['columns']['width']=$width; - $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; - -} -// ------------------------------------------------------------------------------ -function ezColumnsStop(){ - if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ - $this->ez['columns']['on']=0; - $this->ez['leftMargin']=$this->ez['columns']['margins'][0]; - $this->ez['rightMargin']=$this->ez['columns']['margins'][1]; - $this->ez['topMargin']=$this->ez['columns']['margins'][2]; - $this->ez['bottomMargin']=$this->ez['columns']['margins'][3]; - } -} -// ------------------------------------------------------------------------------ -function ezInsertMode($status=1,$pageNum=1,$pos='before'){ - // puts the document into insert mode. new pages are inserted until this is re-called with status=0 - // by default pages wil be inserted at the start of the document - switch($status){ - case '1': - if (isset($this->ezPages[$pageNum])){ - $this->ez['insertMode']=1; - $this->ez['insertOptions']=array('id'=>$this->ezPages[$pageNum],'pos'=>$pos); - } - break; - case '0': - $this->ez['insertMode']=0; - break; - } -} -// ------------------------------------------------------------------------------ - -function ezNewPage(){ - $pageRequired=1; - if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ - // check if this is just going to a new column - // increment the column number -//echo 'HERE
    '; - $this->ez['columns']['colNum']++; -//echo $this->ez['columns']['colNum'].'
    '; - if ($this->ez['columns']['colNum'] <= $this->ez['columns']['options']['num']){ - // then just reset to the top of the next column - $pageRequired=0; - } else { - $this->ez['columns']['colNum']=1; - $this->ez['topMargin']=$this->ez['columns']['margins'][2]; - } - - $width = $this->ez['columns']['width']; - $this->ez['leftMargin']=$this->ez['columns']['margins'][0]+($this->ez['columns']['colNum']-1)*($this->ez['columns']['options']['gap']+$width); - $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; - } -//echo 'left='.$this->ez['leftMargin'].' right='.$this->ez['rightMargin'].'
    '; - - if ($pageRequired){ - // make a new page, setting the writing point back to the top - $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; - // make the new page with a call to the basic class. - $this->ezPageCount++; - if (isset($this->ez['insertMode']) && $this->ez['insertMode']==1){ - $id = $this->ezPages[$this->ezPageCount] = $this->newPage(1,$this->ez['insertOptions']['id'],$this->ez['insertOptions']['pos']); - // then manipulate the insert options so that inserted pages follow each other - $this->ez['insertOptions']['id']=$id; - $this->ez['insertOptions']['pos']='after'; - } else { - $this->ezPages[$this->ezPageCount] = $this->newPage(); - } - } else { - $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; - } -} - -// ------------------------------------------------------------------------------ - -function ezSetMargins($top,$bottom,$left,$right){ - // sets the margins to new values - $this->ez['topMargin']=$top; - $this->ez['bottomMargin']=$bottom; - $this->ez['leftMargin']=$left; - $this->ez['rightMargin']=$right; - // check to see if this means that the current writing position is outside the - // writable area - if ($this->y > $this->ez['pageHeight']-$top){ - // then move y down - $this->y = $this->ez['pageHeight']-$top; - } - if ( $this->y < $bottom){ - // then make a new page - $this->ezNewPage(); - } -} - -// ------------------------------------------------------------------------------ - -function ezGetCurrentPageNumber(){ - // return the strict numbering (1,2,3,4..) number of the current page - return $this->ezPageCount; -} - -// ------------------------------------------------------------------------------ - -function ezStartPageNumbers($x,$y,$size,$pos='left',$pattern='{PAGENUM} of {TOTALPAGENUM}',$num=''){ - // put page numbers on the pages from here. - // place then on the 'pos' side of the coordinates (x,y). - // pos can be 'left' or 'right' - // use the given 'pattern' for display, where (PAGENUM} and {TOTALPAGENUM} are replaced - // as required. - // if $num is set, then make the first page this number, the number of total pages will - // be adjusted to account for this. - // Adjust this function so that each time you 'start' page numbers then you effectively start a different batch - // return the number of the batch, so that they can be stopped in a different order if required. - if (!$pos || !strlen($pos)){ - $pos='left'; - } - if (!$pattern || !strlen($pattern)){ - $pattern='{PAGENUM} of {TOTALPAGENUM}'; - } - if (!isset($this->ez['pageNumbering'])){ - $this->ez['pageNumbering']=array(); - } - $i = count($this->ez['pageNumbering']); - $this->ez['pageNumbering'][$i][$this->ezPageCount]=array('x'=>$x,'y'=>$y,'pos'=>$pos,'pattern'=>$pattern,'num'=>$num,'size'=>$size); - return $i; -} - -// ------------------------------------------------------------------------------ - -function ezWhatPageNumber($pageNum,$i=0){ - // given a particular generic page number (ie, document numbered sequentially from beginning), - // return the page number under a particular page numbering scheme ($i) - $num=0; - $start=1; - $startNum=1; - if (!isset($this->ez['pageNumbering'])) - { - $this->addMessage('WARNING: page numbering called for and wasn\'t started with ezStartPageNumbers'); - return 0; - } - foreach($this->ez['pageNumbering'][$i] as $k=>$v){ - if ($k<=$pageNum){ - if (is_array($v)){ - // start block - if (strlen($v['num'])){ - // a start was specified - $start=$v['num']; - $startNum=$k; - $num=$pageNum-$startNum+$start; - } - } else { - // stop block - $num=0; - } - } - } - return $num; -} - -// ------------------------------------------------------------------------------ - -function ezStopPageNumbers($stopTotal=0,$next=0,$i=0){ - // if stopTotal=1 then the totalling of pages for this number will stop too - // if $next=1, then do this page, but not the next, else do not do this page either - // if $i is set, then stop that particular pagenumbering sequence. - if (!isset($this->ez['pageNumbering'])){ - $this->ez['pageNumbering']=array(); - } - if ($next && isset($this->ez['pageNumbering'][$i][$this->ezPageCount]) && is_array($this->ez['pageNumbering'][$i][$this->ezPageCount])){ - // then this has only just been started, this will over-write the start, and nothing will appear - // add a special command to the start block, telling it to stop as well - if ($stopTotal){ - $this->ez['pageNumbering'][$i][$this->ezPageCount]['stoptn']=1; - } else { - $this->ez['pageNumbering'][$i][$this->ezPageCount]['stopn']=1; - } - } else { - if ($stopTotal){ - $this->ez['pageNumbering'][$i][$this->ezPageCount]='stopt'; - } else { - $this->ez['pageNumbering'][$i][$this->ezPageCount]='stop'; - } - if ($next){ - $this->ez['pageNumbering'][$i][$this->ezPageCount].='n'; - } - } -} - -// ------------------------------------------------------------------------------ - -function ezPRVTpageNumberSearch($lbl,&$tmp){ - foreach($tmp as $i=>$v){ - if (is_array($v)){ - if (isset($v[$lbl])){ - return $i; - } - } else { - if ($v==$lbl){ - return $i; - } - } - } - return 0; -} - -// ------------------------------------------------------------------------------ - -function ezPRVTaddPageNumbers(){ - // this will go through the pageNumbering array and add the page numbers are required - if (isset($this->ez['pageNumbering'])){ - $totalPages1 = $this->ezPageCount; - $tmp1=$this->ez['pageNumbering']; - $status=0; - foreach($tmp1 as $i=>$tmp){ - // do each of the page numbering systems - // firstly, find the total pages for this one - $k = $this->ezPRVTpageNumberSearch('stopt',$tmp); - if ($k && $k>0){ - $totalPages = $k-1; - } else { - $l = $this->ezPRVTpageNumberSearch('stoptn',$tmp); - if ($l && $l>0){ - $totalPages = $l; - } else { - $totalPages = $totalPages1; - } - } - foreach ($this->ezPages as $pageNum=>$id){ - if (isset($tmp[$pageNum])){ - if (is_array($tmp[$pageNum])){ - // then this must be starting page numbers - $status=1; - $info = $tmp[$pageNum]; - $info['dnum']=$info['num']-$pageNum; - // also check for the special case of the numbering stopping and starting on the same page - if (isset($info['stopn']) || isset($info['stoptn']) ){ - $status=2; - } - } else if ($tmp[$pageNum]=='stop' || $tmp[$pageNum]=='stopt'){ - // then we are stopping page numbers - $status=0; - } else if ($status==1 && ($tmp[$pageNum]=='stoptn' || $tmp[$pageNum]=='stopn')){ - // then we are stopping page numbers - $status=2; - } - } - if ($status){ - // then add the page numbering to this page - if (strlen($info['num'])){ - $num=$pageNum+$info['dnum']; - } else { - $num=$pageNum; - } - $total = $totalPages+$num-$pageNum; - $pat = str_replace('{PAGENUM}',$num,$info['pattern']); - $pat = str_replace('{TOTALPAGENUM}',$total,$pat); - $this->reopenObject($id); - switch($info['pos']){ - case 'right': - $this->addText($info['x'],$info['y'],$info['size'],$pat); - break; - default: - $w=$this->getTextWidth($info['size'],$pat); - $this->addText($info['x']-$w,$info['y'],$info['size'],$pat); - break; - } - $this->closeObject(); - } - if ($status==2){ - $status=0; - } - } - } - } -} - -// ------------------------------------------------------------------------------ - -function ezPRVTcleanUp(){ - $this->ezPRVTaddPageNumbers(); -} - -// ------------------------------------------------------------------------------ - -function ezStream($options=''){ - $this->ezPRVTcleanUp(); - $this->stream($options); -} - -// ------------------------------------------------------------------------------ - -function ezOutput($options=0){ - $this->ezPRVTcleanUp(); - return $this->output($options); -} - -// ------------------------------------------------------------------------------ - -function ezSetY($y){ - // used to change the vertical position of the writing point. - $this->y = $y; - if ( $this->y < $this->ez['bottomMargin']){ - // then make a new page - $this->ezNewPage(); - } -} - -// ------------------------------------------------------------------------------ - -function ezSetDy($dy,$mod=''){ - // used to change the vertical position of the writing point. - // changes up by a positive increment, so enter a negative number to go - // down the page - // if $mod is set to 'makeSpace' and a new page is forced, then the pointed will be moved - // down on the new page, this will allow space to be reserved for graphics etc. - $this->y += $dy; - if ( $this->y < $this->ez['bottomMargin']){ - // then make a new page - $this->ezNewPage(); - if ($mod=='makeSpace'){ - $this->y += $dy; - } - } -} - -// ------------------------------------------------------------------------------ - -function ezPrvtTableDrawLines($pos,$gap,$x0,$x1,$y0,$y1,$y2,$col,$inner,$outer,$opt=1){ - $x0=1000; - $x1=0; - $this->setStrokeColor($col[0],$col[1],$col[2]); - $cnt=0; - $n = count($pos); - foreach($pos as $x){ - $cnt++; - if ($cnt==1 || $cnt==$n){ - $this->setLineStyle($outer); - } else { - $this->setLineStyle($inner); - } - $this->line($x-$gap/2,$y0,$x-$gap/2,$y2); - if ($x>$x1){ $x1=$x; }; - if ($x<$x0){ $x0=$x; }; - } - $this->setLineStyle($outer); - $this->line($x0-$gap/2-$outer/2,$y0,$x1-$gap/2+$outer/2,$y0); - // only do the second line if it is different to the first, AND each row does not have - // a line on it. - if ($y0!=$y1 && $opt<2){ - $this->line($x0-$gap/2,$y1,$x1-$gap/2,$y1); - } - $this->line($x0-$gap/2-$outer/2,$y2,$x1-$gap/2+$outer/2,$y2); -} - -// ------------------------------------------------------------------------------ - -function ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$gap,$size,&$y,$optionsAll=array()){ - // uses ezText to add the text, and returns the height taken by the largest heading - // this page will move the headings to a new page if they will not fit completely on this one - // transaction support will be used to implement this - - if (isset($optionsAll['cols'])){ - $options = $optionsAll['cols']; - } else { - $options = array(); - } - - $mx=0; - $startPage = $this->ezPageCount; - $secondGo=0; - - // $y is the position at which the top of the table should start, so the base - // of the first text, is $y-$height-$gap-$decender, but ezText starts by dropping $height - - // the return from this function is the total cell height, including gaps, and $y is adjusted - // to be the postion of the bottom line - - // begin the transaction - $this->transaction('start'); - $ok=0; -// $y-=$gap-$decender; - $y-=$gap; - while ($ok==0){ - foreach($cols as $colName=>$colHeading){ - $this->ezSetY($y); - if (isset($options[$colName]) && isset($options[$colName]['justification'])){ - $justification = $options[$colName]['justification']; - } else { - $justification = 'left'; - } - $this->ezText($colHeading,$size,array('aleft'=> $pos[$colName],'aright'=>($maxWidth[$colName]+$pos[$colName]),'justification'=>$justification)); - $dy = $y-$this->y; - if ($dy>$mx){ - $mx=$dy; - } - } - $y = $y - $mx - $gap + $decender; -// $y -= $mx-$gap+$decender; - - // now, if this has moved to a new page, then abort the transaction, move to a new page, and put it there - // do not check on the second time around, to avoid an infinite loop - if ($this->ezPageCount != $startPage && $secondGo==0){ - $this->transaction('rewind'); - $this->ezNewPage(); - $y = $this->y - $gap-$decender; - $ok=0; - $secondGo=1; -// $y = $store_y; - $mx=0; - - } else { - $this->transaction('commit'); - $ok=1; - } - } - - return $mx+$gap*2-$decender; -} - -// ------------------------------------------------------------------------------ - -function ezPrvtGetTextWidth($size,$text){ - // will calculate the maximum width, taking into account that the text may be broken - // by line breaks. - $mx=0; - $lines = explode("\n",$text); - foreach ($lines as $line){ - $w = $this->getTextWidth($size,$line); - if ($w>$mx){ - $mx=$w; - } - } - return $mx; -} - -// ------------------------------------------------------------------------------ - -function ezTable(&$data,$cols='',$title='',$options=''){ - // add a table of information to the pdf document - // $data is a two dimensional array - // $cols (optional) is an associative array, the keys are the names of the columns from $data - // to be presented (and in that order), the values are the titles to be given to the columns - // $title (optional) is the title to be put on the top of the table - // - // $options is an associative array which can contain: - // 'showLines'=> 0,1,2, default is 1 (show outside and top lines only), 2=> lines on each row - // 'showHeadings' => 0 or 1 - // 'shaded'=> 0,1,2,3 default is 1 (1->alternate lines are shaded, 0->no shading, 2-> both shaded, second uses shadeCol2) - // 'shadeCol' => (r,g,b) array, defining the colour of the shading, default is (0.8,0.8,0.8) - // 'shadeCol2' => (r,g,b) array, defining the colour of the shading of the other blocks, default is (0.7,0.7,0.7) - // 'fontSize' => 10 - // 'textCol' => (r,g,b) array, text colour - // 'titleFontSize' => 12 - // 'rowGap' => 2 , the space added at the top and bottom of each row, between the text and the lines - // 'colGap' => 5 , the space on the left and right sides of each cell - // 'lineCol' => (r,g,b) array, defining the colour of the lines, default, black. - // 'xPos' => 'left','right','center','centre',or coordinate, reference coordinate in the x-direction - // 'xOrientation' => 'left','right','center','centre', position of the table w.r.t 'xPos' - // 'width'=> which will specify the width of the table, if it turns out to not be this - // wide, then it will stretch the table to fit, if it is wider then each cell will be made - // proportionalty smaller, and the content may have to wrap. - // 'maxWidth'=> similar to 'width', but will only make table smaller than it wants to be - // 'options' => array(=>array('justification'=>'left','width'=>100,'link'=>linkDataName),=>....) - // allow the setting of other paramaters for the individual columns - // 'minRowSpace'=> the minimum space between the bottom of each row and the bottom margin, in which a new row will be started - // if it is less, then a new page would be started, default=-100 - // 'innerLineThickness'=>1 - // 'outerLineThickness'=>1 - // 'splitRows'=>0, 0 or 1, whether or not to allow the rows to be split across page boundaries - // 'protectRows'=>number, the number of rows to hold with the heading on page, ie, if there less than this number of - // rows on the page, then move the whole lot onto the next page, default=1 - // - // note that the user will have had to make a font selection already or this will not - // produce a valid pdf file. - - if (!is_array($data)){ - return; - } - - if (!is_array($cols)){ - // take the columns from the first row of the data set - reset($data); - list($k,$v)=each($data); - if (!is_array($v)){ - return; - } - $cols=array(); - foreach($v as $k1=>$v1){ - $cols[$k1]=$k1; - } - } - - if (!is_array($options)){ - $options=array(); - } - - $defaults = array( - 'shaded'=>1,'showLines'=>1,'shadeCol'=>array(0.8,0.8,0.8),'shadeCol2'=>array(0.7,0.7,0.7),'fontSize'=>10,'titleFontSize'=>12 - ,'titleGap'=>5,'lineCol'=>array(0,0,0),'gap'=>5,'xPos'=>'centre','xOrientation'=>'centre' - ,'showHeadings'=>1,'textCol'=>array(0,0,0),'width'=>0,'maxWidth'=>0,'cols'=>array(),'minRowSpace'=>-100,'rowGap'=>2,'colGap'=>5 - ,'innerLineThickness'=>1,'outerLineThickness'=>1,'splitRows'=>0,'protectRows'=>1 - ); - - foreach($defaults as $key=>$value){ - if (is_array($value)){ - if (!isset($options[$key]) || !is_array($options[$key])){ - $options[$key]=$value; - } - } else { - if (!isset($options[$key])){ - $options[$key]=$value; - } - } - } - $options['gap']=2*$options['colGap']; - - $middle = ($this->ez['pageWidth']-$this->ez['rightMargin'])/2+($this->ez['leftMargin'])/2; - // figure out the maximum widths of the text within each column - $maxWidth=array(); - foreach($cols as $colName=>$colHeading){ - $maxWidth[$colName]=0; - } - // find the maximum cell widths based on the data - foreach($data as $row){ - foreach($cols as $colName=>$colHeading){ - $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$row[$colName])*1.01; - if ($w > $maxWidth[$colName]){ - $maxWidth[$colName]=$w; - } - } - } - // and the maximum widths to fit in the headings - foreach($cols as $colName=>$colTitle){ - $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$colTitle)*1.01; - if ($w > $maxWidth[$colName]){ - $maxWidth[$colName]=$w; - } - } - - // calculate the start positions of each of the columns - $pos=array(); - $x=0; - $t=$x; - $adjustmentWidth=0; - $setWidth=0; - foreach($maxWidth as $colName => $w){ - $pos[$colName]=$t; - // if the column width has been specified then set that here, also total the - // width avaliable for adjustment - if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['width']) && $options['cols'][$colName]['width']>0){ - $t=$t+$options['cols'][$colName]['width']; - $maxWidth[$colName] = $options['cols'][$colName]['width']-$options['gap']; - $setWidth += $options['cols'][$colName]['width']; - } else { - $t=$t+$w+$options['gap']; - $adjustmentWidth += $w; - $setWidth += $options['gap']; - } - } - $pos['_end_']=$t; - - // if maxWidth is specified, and the table is too wide, and the width has not been set, - // then set the width. - if ($options['width']==0 && $options['maxWidth'] && ($t-$x)>$options['maxWidth']){ - // then need to make this one smaller - $options['width']=$options['maxWidth']; - } - - if ($options['width'] && $adjustmentWidth>0 && $setWidth<$options['width']){ - // first find the current widths of the columns involved in this mystery - $cols0 = array(); - $cols1 = array(); - $xq=0; - $presentWidth=0; - $last=''; - foreach($pos as $colName=>$p){ - if (!isset($options['cols'][$last]) || !isset($options['cols'][$last]['width']) || $options['cols'][$last]['width']<=0){ - if (strlen($last)){ - $cols0[$last]=$p-$xq -$options['gap']; - $presentWidth += ($p-$xq - $options['gap']); - } - } else { - $cols1[$last]=$p-$xq; - } - $last=$colName; - $xq=$p; - } - // $cols0 contains the widths of all the columns which are not set - $neededWidth = $options['width']-$setWidth; - // if needed width is negative then add it equally to each column, else get more tricky - if ($presentWidth<$neededWidth){ - foreach($cols0 as $colName=>$w){ - $cols0[$colName]+= ($neededWidth-$presentWidth)/count($cols0); - } - } else { - - $cnt=0; - while ($presentWidth>$neededWidth && $cnt<100){ - $cnt++; // insurance policy - // find the widest columns, and the next to widest width - $aWidest = array(); - $nWidest=0; - $widest=0; - foreach($cols0 as $colName=>$w){ - if ($w>$widest){ - $aWidest=array($colName); - $nWidest = $widest; - $widest=$w; - } else if ($w==$widest){ - $aWidest[]=$colName; - } - } - // then figure out what the width of the widest columns would have to be to take up all the slack - $newWidestWidth = $widest - ($presentWidth-$neededWidth)/count($aWidest); - if ($newWidestWidth > $nWidest){ - // then there is space to set them to this - foreach($aWidest as $colName){ - $cols0[$colName] = $newWidestWidth; - } - $presentWidth=$neededWidth; - } else { - // there is not space, reduce the size of the widest ones down to the next size down, and we - // will go round again - foreach($aWidest as $colName){ - $cols0[$colName] = $nWidest; - } - $presentWidth=$presentWidth-($widest-$nWidest)*count($aWidest); - } - } - } - // $cols0 now contains the new widths of the constrained columns. - // now need to update the $pos and $maxWidth arrays - $xq=0; - foreach($pos as $colName=>$p){ - $pos[$colName]=$xq; - if (!isset($options['cols'][$colName]) || !isset($options['cols'][$colName]['width']) || $options['cols'][$colName]['width']<=0){ - if (isset($cols0[$colName])){ - $xq += $cols0[$colName] + $options['gap']; - $maxWidth[$colName]=$cols0[$colName]; - } - } else { - if (isset($cols1[$colName])){ - $xq += $cols1[$colName]; - } - } - } - - $t=$x+$options['width']; - $pos['_end_']=$t; - } - - // now adjust the table to the correct location across the page - switch ($options['xPos']){ - case 'left': - $xref = $this->ez['leftMargin']; - break; - case 'right': - $xref = $this->ez['pageWidth'] - $this->ez['rightMargin']; - break; - case 'centre': - case 'center': - $xref = $middle; - break; - default: - $xref = $options['xPos']; - break; - } - switch ($options['xOrientation']){ - case 'left': - $dx = $xref-$t; - break; - case 'right': - $dx = $xref; - break; - case 'centre': - case 'center': - $dx = $xref-$t/2; - break; - } - - - foreach($pos as $k=>$v){ - $pos[$k]=$v+$dx; - } - $x0=$x+$dx; - $x1=$t+$dx; - - $baseLeftMargin = $this->ez['leftMargin']; - $basePos = $pos; - $baseX0 = $x0; - $baseX1 = $x1; - - // ok, just about ready to make me a table - $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2]); - $this->setStrokeColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2]); - - $middle = ($x1+$x0)/2; - - // start a transaction which will be used to regress the table, if there are not enough rows protected - if ($options['protectRows']>0){ - $this->transaction('start'); - $movedOnce=0; - } - $abortTable = 1; - while ($abortTable){ - $abortTable=0; - - $dm = $this->ez['leftMargin']-$baseLeftMargin; - foreach($basePos as $k=>$v){ - $pos[$k]=$v+$dm; - } - $x0=$baseX0+$dm; - $x1=$baseX1+$dm; - $middle = ($x1+$x0)/2; - - - // if the title is set, then do that - if (strlen($title)){ - $w = $this->getTextWidth($options['titleFontSize'],$title); - $this->y -= $this->getFontHeight($options['titleFontSize']); - if ($this->y < $this->ez['bottomMargin']){ - $this->ezNewPage(); - // margins may have changed on the newpage - $dm = $this->ez['leftMargin']-$baseLeftMargin; - foreach($basePos as $k=>$v){ - $pos[$k]=$v+$dm; - } - $x0=$baseX0+$dm; - $x1=$baseX1+$dm; - $middle = ($x1+$x0)/2; - $this->y -= $this->getFontHeight($options['titleFontSize']); - } - $this->addText($middle-$w/2,$this->y,$options['titleFontSize'],$title); - $this->y -= $options['titleGap']; - } - - // margins may have changed on the newpage - $dm = $this->ez['leftMargin']-$baseLeftMargin; - foreach($basePos as $k=>$v){ - $pos[$k]=$v+$dm; - } - $x0=$baseX0+$dm; - $x1=$baseX1+$dm; - - $y=$this->y; // to simplify the code a bit - - // make the table - $height = $this->getFontHeight($options['fontSize']); - $decender = $this->getFontDecender($options['fontSize']); - - - - $y0=$y+$decender; - $dy=0; - if ($options['showHeadings']){ - // this function will move the start of the table to a new page if it does not fit on this one - $headingHeight = $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); - $y0 = $y+$headingHeight; - $y1 = $y; - - - $dm = $this->ez['leftMargin']-$baseLeftMargin; - foreach($basePos as $k=>$v){ - $pos[$k]=$v+$dm; - } - $x0=$baseX0+$dm; - $x1=$baseX1+$dm; - - } else { - $y1 = $y0; - } - $firstLine=1; - - - // open an object here so that the text can be put in over the shading - if ($options['shaded']){ - $this->saveState(); - $textObjectId = $this->openObject(); - $this->closeObject(); - $this->addObject($textObjectId); - $this->reopenObject($textObjectId); - } - - $cnt=0; - $newPage=0; - foreach($data as $row){ - $cnt++; - // the transaction support will be used to prevent rows being split - if ($options['splitRows']==0){ - $pageStart = $this->ezPageCount; - if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ - $columnStart = $this->ez['columns']['colNum']; - } - $this->transaction('start'); - $row_orig = $row; - $y_orig = $y; - $y0_orig = $y0; - $y1_orig = $y1; - } - $ok=0; - $secondTurn=0; - while(!$abortTable && $ok == 0){ - - $mx=0; - $newRow=1; - while(!$abortTable && ($newPage || $newRow)){ - - $y-=$height; - if ($newPage || $y<$this->ez['bottomMargin'] || (isset($options['minRowSpace']) && $y<($this->ez['bottomMargin']+$options['minRowSpace'])) ){ - // check that enough rows are with the heading - if ($options['protectRows']>0 && $movedOnce==0 && $cnt<=$options['protectRows']){ - // then we need to move the whole table onto the next page - $movedOnce = 1; - $abortTable = 1; - } - - $y2=$y-$mx+2*$height+$decender-$newRow*$height; - if ($options['showLines']){ - if (!$options['showHeadings']){ - $y0=$y1; - } - $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); - } - if ($options['shaded']){ - $this->closeObject(); - $this->restoreState(); - } - $this->ezNewPage(); - // and the margins may have changed, this is due to the possibility of the columns being turned on - // as the columns are managed by manipulating the margins - - $dm = $this->ez['leftMargin']-$baseLeftMargin; - foreach($basePos as $k=>$v){ - $pos[$k]=$v+$dm; - } -// $x0=$x0+$dm; -// $x1=$x1+$dm; - $x0=$baseX0+$dm; - $x1=$baseX1+$dm; - - if ($options['shaded']){ - $this->saveState(); - $textObjectId = $this->openObject(); - $this->closeObject(); - $this->addObject($textObjectId); - $this->reopenObject($textObjectId); - } - $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2],1); - $y = $this->ez['pageHeight']-$this->ez['topMargin']; - $y0=$y+$decender; - $mx=0; - if ($options['showHeadings']){ - $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); - $y1=$y; - } else { - $y1=$y0; - } - $firstLine=1; - $y -= $height; - } - $newRow=0; - // write the actual data - // if these cells need to be split over a page, then $newPage will be set, and the remaining - // text will be placed in $leftOvers - $newPage=0; - $leftOvers=array(); - - foreach($cols as $colName=>$colTitle){ - $this->ezSetY($y+$height); - $colNewPage=0; - if (isset($row[$colName])){ - if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['link']) && strlen($options['cols'][$colName]['link'])){ - - $lines = explode("\n",$row[$colName]); - if (isset($row[$options['cols'][$colName]['link']]) && strlen($row[$options['cols'][$colName]['link']])){ - foreach($lines as $k=>$v){ - $lines[$k]=''.$v.''; - } - } - } else { - $lines = explode("\n",$row[$colName]); - } - } else { - $lines = array(); - } - $this->y -= $options['rowGap']; - foreach ($lines as $line){ - $line = $this->ezProcessText($line); - $start=1; - - while (strlen($line) || $start){ - $start=0; - if (!$colNewPage){ - $this->y=$this->y-$height; - } - if ($this->y < $this->ez['bottomMargin']){ - // $this->ezNewPage(); - $newPage=1; // whether a new page is required for any of the columns - $colNewPage=1; // whether a new page is required for this column - } - if ($colNewPage){ - if (isset($leftOvers[$colName])){ - $leftOvers[$colName].="\n".$line; - } else { - $leftOvers[$colName] = $line; - } - $line=''; - } else { - if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['justification']) ){ - $just = $options['cols'][$colName]['justification']; - } else { - $just='left'; - } - - $line=$this->addTextWrap($pos[$colName],$this->y,$maxWidth[$colName],$options['fontSize'],$line,$just); - } - } - } - - $dy=$y+$height-$this->y+$options['rowGap']; - if ($dy-$height*$newPage>$mx){ - $mx=$dy-$height*$newPage; - } - } - // set $row to $leftOvers so that they will be processed onto the new page - $row = $leftOvers; - // now add the shading underneath - if ($options['shaded'] && $cnt%2==0){ - $this->closeObject(); - $this->setColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2],1); - $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); - $this->reopenObject($textObjectId); - } - - if ($options['shaded']==2 && $cnt%2==1){ - $this->closeObject(); - $this->setColor($options['shadeCol2'][0],$options['shadeCol2'][1],$options['shadeCol2'][2],1); - $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); - $this->reopenObject($textObjectId); - } - - if ($options['showLines']>1){ - // then draw a line on the top of each block -// $this->closeObject(); - $this->saveState(); - $this->setStrokeColor($options['lineCol'][0],$options['lineCol'][1],$options['lineCol'][2],1); -// $this->line($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); - if ($firstLine){ - $this->setLineStyle($options['outerLineThickness']); - $firstLine=0; - } else { - $this->setLineStyle($options['innerLineThickness']); - } - $this->line($x0-$options['gap']/2,$y+$decender+$height,$x1-$options['gap']/2,$y+$decender+$height); - $this->restoreState(); -// $this->reopenObject($textObjectId); - } - } // end of while - $y=$y-$mx+$height; - - // checking row split over pages - if ($options['splitRows']==0){ - if ( ( ($this->ezPageCount != $pageStart) || (isset($this->ez['columns']) && $this->ez['columns']['on']==1 && $columnStart != $this->ez['columns']['colNum'] )) && $secondTurn==0){ - // then we need to go back and try that again ! - $newPage=1; - $secondTurn=1; - $this->transaction('rewind'); - $row = $row_orig; - $y = $y_orig; - $y0 = $y0_orig; - $y1 = $y1_orig; - $ok=0; - - $dm = $this->ez['leftMargin']-$baseLeftMargin; - foreach($basePos as $k=>$v){ - $pos[$k]=$v+$dm; - } - $x0=$baseX0+$dm; - $x1=$baseX1+$dm; - - } else { - $this->transaction('commit'); - $ok=1; - } - } else { - $ok=1; // don't go round the loop if splitting rows is allowed - } - - } // end of while to check for row splitting - if ($abortTable){ - if ($ok==0){ - $this->transaction('abort'); - } - // only the outer transaction should be operational - $this->transaction('rewind'); - $this->ezNewPage(); - break; - } - - } // end of foreach ($data as $row) - - } // end of while ($abortTable) - - // table has been put on the page, the rows guarded as required, commit. - $this->transaction('commit'); - - $y2=$y+$decender; - if ($options['showLines']){ - if (!$options['showHeadings']){ - $y0=$y1; - } - $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); - } - - // close the object for drawing the text on top - if ($options['shaded']){ - $this->closeObject(); - $this->restoreState(); - } - - $this->y=$y; - return $y; -} - -// ------------------------------------------------------------------------------ -function ezProcessText($text){ - // this function will intially be used to implement underlining support, but could be used for a range of other - // purposes - $search = array('','','',''); - $replace = array('','','',''); - return str_replace($search,$replace,$text); -} - -// ------------------------------------------------------------------------------ - -function ezText($text,$size=0,$options=array(),$test=0){ - // this will add a string of text to the document, starting at the current drawing - // position. - // it will wrap to keep within the margins, including optional offsets from the left - // and the right, if $size is not specified, then it will be the last one used, or - // the default value (12 I think). - // the text will go to the start of the next line when a return code "\n" is found. - // possible options are: - // 'left'=> number, gap to leave from the left margin - // 'right'=> number, gap to leave from the right margin - // 'aleft'=> number, absolute left position (overrides 'left') - // 'aright'=> number, absolute right position (overrides 'right') - // 'justification' => 'left','right','center','centre','full' - - // only set one of the next two items (leading overrides spacing) - // 'leading' => number, defines the total height taken by the line, independent of the font height. - // 'spacing' => a real number, though usually set to one of 1, 1.5, 2 (line spacing as used in word processing) - - // if $test is set then this should just check if the text is going to flow onto a new page or not, returning true or false - - // apply the filtering which will make the underlining function. - $text = $this->ezProcessText($text); - - $newPage=false; - $store_y = $this->y; - - if (is_array($options) && isset($options['aleft'])){ - $left=$options['aleft']; - } else { - $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); - } - if (is_array($options) && isset($options['aright'])){ - $right=$options['aright']; - } else { - $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); - } - if ($size<=0){ - $size = $this->ez['fontSize']; - } else { - $this->ez['fontSize']=$size; - } - - if (is_array($options) && isset($options['justification'])){ - $just = $options['justification']; - } else { - $just = 'left'; - } - - // modifications to give leading and spacing based on those given by Craig Heydenburg 1/1/02 - if (is_array($options) && isset($options['leading'])) { ## use leading instead of spacing - $height = $options['leading']; - } else if (is_array($options) && isset($options['spacing'])) { - $height = $this->getFontHeight($size) * $options['spacing']; - } else { - $height = $this->getFontHeight($size); - } - - - $lines = explode("\n",$text); - foreach ($lines as $line){ - $start=1; - while (strlen($line) || $start){ - $start=0; - $this->y=$this->y-$height; - if ($this->y < $this->ez['bottomMargin']){ - if ($test){ - $newPage=true; - } else { - $this->ezNewPage(); - // and then re-calc the left and right, in case they have changed due to columns - } - } - if (is_array($options) && isset($options['aleft'])){ - $left=$options['aleft']; - } else { - $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); - } - if (is_array($options) && isset($options['aright'])){ - $right=$options['aright']; - } else { - $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); - } - $line=$this->addTextWrap($left,$this->y,$right-$left,$size,$line,$just,0,$test); - } - } - - if ($test){ - $this->y=$store_y; - return $newPage; - } else { - return $this->y; - } -} - -// ------------------------------------------------------------------------------ - -function ezImage($image,$pad = 5,$width = 0,$resize = 'full',$just = 'center',$border = ''){ - //beta ezimage function - if (stristr($image,'://'))//copy to temp file - { - $fp = @fopen($image,"rb"); - while(!feof($fp)) - { - $cont.= fread($fp,1024); - } - fclose($fp); - $image = tempnam ("/tmp", "php-pdf"); - $fp2 = @fopen($image,"w"); - fwrite($fp2,$cont); - fclose($fp2); - $temp = true; - } - - if (!(file_exists($image))) return false; //return immediately if image file does not exist - $imageInfo = getimagesize($image); - switch ($imageInfo[2]){ - case 2: - $type = "jpeg"; - break; - case 3: - $type = "png"; - break; - default: - return false; //return if file is not jpg or png - } - if ($width == 0) $width = $imageInfo[0]; //set width - $ratio = $imageInfo[0]/$imageInfo[1]; - - //get maximum width of image - if (isset($this->ez['columns']) && $this->ez['columns']['on'] == 1) - { - $bigwidth = $this->ez['columns']['width'] - ($pad * 2); - } - else - { - $bigwidth = $this->ez['pageWidth'] - ($pad * 2); - } - //fix width if larger than maximum or if $resize=full - if ($resize == 'full' || $resize == 'width' || $width > $bigwidth) - { - $width = $bigwidth; - - } - - $height = ($width/$ratio); //set height - - //fix size if runs off page - if ($height > ($this->y - $this->ez['bottomMargin'] - ($pad * 2))) - { - if ($resize != 'full') - { - $this->ezNewPage(); - } - else - { - $height = ($this->y - $this->ez['bottomMargin'] - ($pad * 2)); //shrink height - $width = ($height*$ratio); //fix width - } - } - - //fix x-offset if image smaller than bigwidth - if ($width < $bigwidth) - { - //center if justification=center - if ($just == 'center') - { - $offset = ($bigwidth - $width) / 2; - } - //move to right if justification=right - if ($just == 'right') - { - $offset = ($bigwidth - $width); - } - //leave at left if justification=left - if ($just == 'left') - { - $offset = 0; - } - } - - - //call appropriate function - if ($type == "jpeg"){ - $this->addJpegFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); - } - - if ($type == "png"){ - $this->addPngFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); - } - //draw border - if ($border != '') - { - if (!(isset($border['color']))) - { - $border['color']['red'] = .5; - $border['color']['blue'] = .5; - $border['color']['green'] = .5; - } - if (!(isset($border['width']))) $border['width'] = 1; - if (!(isset($border['cap']))) $border['cap'] = 'round'; - if (!(isset($border['join']))) $border['join'] = 'round'; - - - $this->setStrokeColor($border['color']['red'],$border['color']['green'],$border['color']['blue']); - $this->setLineStyle($border['width'],$border['cap'],$border['join']); - $this->rectangle($this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width,$height); - - } - // move y below image - $this->y = $this->y - $pad - $height; - //remove tempfile for remote images - if ($temp == true) unlink($image); - -} -// ------------------------------------------------------------------------------ - -// note that templating code is still considered developmental - have not really figured -// out a good way of doing this yet. -function loadTemplate($templateFile){ - // this function will load the requested template ($file includes full or relative pathname) - // the code for the template will be modified to make it name safe, and then stored in - // an array for later use - // The id of the template will be returned for the user to operate on it later - if (!file_exists($templateFile)){ - return -1; - } - - $code = implode('',file($templateFile)); - if (!strlen($code)){ - return; - } - - $code = trim($code); - if (substr($code,0,5)==''){ - $code = substr($code,0,strlen($code)-2); - } - if (isset($this->ez['numTemplates'])){ - $newNum = $this->ez['numTemplates']; - $this->ez['numTemplates']++; - } else { - $newNum=0; - $this->ez['numTemplates']=1; - $this->ez['templates']=array(); - } - - $this->ez['templates'][$newNum]['code']=$code; - - return $newNum; -} - -// ------------------------------------------------------------------------------ - -function execTemplate($id,$data=array(),$options=array()){ - // execute the given template on the current document. - if (!isset($this->ez['templates'][$id])){ - return; - } - eval($this->ez['templates'][$id]['code']); -} - -// ------------------------------------------------------------------------------ -function ilink($info){ - $this->alink($info,1); -} - -function alink($info,$internal=0){ - // a callback function to support the formation of clickable links within the document - $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. - switch($info['status']){ - case 'start': - case 'sol': - // the beginning of the link - // this should contain the URl for the link as the 'p' entry, and will also contain the value of 'nCallback' - if (!isset($this->ez['links'])){ - $this->ez['links']=array(); - } - $i = $info['nCallback']; - $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height'],'url'=>$info['p']); - $this->saveState(); - $this->setColor(0,0,1); - $this->setStrokeColor(0,0,1); - $thick = $info['height']*$lineFactor; - $this->setLineStyle($thick); - break; - case 'end': - case 'eol': - // the end of the link - // assume that it is the most recent opening which has closed - $i = $info['nCallback']; - $start = $this->ez['links'][$i]; - // add underlining - $a = deg2rad((float)$start['angle']-90.0); - $drop = $start['height']*$lineFactor*1.5; - $dropx = cos($a)*$drop; - $dropy = -sin($a)*$drop; - $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); - if ($internal) { - $this->addInternalLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); - } else { - $this->addLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); - } - $this->restoreState(); - break; - } -} - -// ------------------------------------------------------------------------------ - -function uline($info){ - // a callback function to support underlining - $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. - switch($info['status']){ - case 'start': - case 'sol': - - // the beginning of the underline zone - if (!isset($this->ez['links'])){ - $this->ez['links']=array(); - } - $i = $info['nCallback']; - $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height']); - $this->saveState(); - $thick = $info['height']*$lineFactor; - $this->setLineStyle($thick); - break; - case 'end': - case 'eol': - // the end of the link - // assume that it is the most recent opening which has closed - $i = $info['nCallback']; - $start = $this->ez['links'][$i]; - // add underlining - $a = deg2rad((float)$start['angle']-90.0); - $drop = $start['height']*$lineFactor*1.5; - $dropx = cos($a)*$drop; - $dropy = -sin($a)*$drop; - $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); - $this->restoreState(); - break; - } -} - -// ------------------------------------------------------------------------------ - -} +10); // used for storing most of the page configuration parameters +var $y; // this is the current vertical positon on the page of the writing point, very important +var $ezPages=array(); // keep an array of the ids of the pages, making it easy to go back and add page numbers etc. +var $ezPageCount=0; + +// ------------------------------------------------------------------------------ + +function Cezpdf($paper='a4',$orientation='portrait'){ + // Assuming that people don't want to specify the paper size using the absolute coordinates + // allow a couple of options: + // orientation can be 'portrait' or 'landscape' + // or, to actually set the coordinates, then pass an array in as the first parameter. + // the defaults are as shown. + // + // ------------------------- + // 2002-07-24 - Nicola Asuni (info@tecnick.com): + // Added new page formats (45 standard ISO paper formats and 4 american common formats) + // paper cordinates are calculated in this way: (inches * 72) where 1 inch = 2.54 cm + // + // Now you may also pass a 2 values array containing the page width and height in centimeters + // ------------------------- + + if (!is_array($paper)){ + switch (strtoupper($paper)){ + case '4A0': {$size = array(0,0,4767.87,6740.79); break;} + case '2A0': {$size = array(0,0,3370.39,4767.87); break;} + case 'A0': {$size = array(0,0,2383.94,3370.39); break;} + case 'A1': {$size = array(0,0,1683.78,2383.94); break;} + case 'A2': {$size = array(0,0,1190.55,1683.78); break;} + case 'A3': {$size = array(0,0,841.89,1190.55); break;} + case 'A4': default: {$size = array(0,0,595.28,841.89); break;} + case 'A5': {$size = array(0,0,419.53,595.28); break;} + case 'A6': {$size = array(0,0,297.64,419.53); break;} + case 'A7': {$size = array(0,0,209.76,297.64); break;} + case 'A8': {$size = array(0,0,147.40,209.76); break;} + case 'A9': {$size = array(0,0,104.88,147.40); break;} + case 'A10': {$size = array(0,0,73.70,104.88); break;} + case 'B0': {$size = array(0,0,2834.65,4008.19); break;} + case 'B1': {$size = array(0,0,2004.09,2834.65); break;} + case 'B2': {$size = array(0,0,1417.32,2004.09); break;} + case 'B3': {$size = array(0,0,1000.63,1417.32); break;} + case 'B4': {$size = array(0,0,708.66,1000.63); break;} + case 'B5': {$size = array(0,0,498.90,708.66); break;} + case 'B6': {$size = array(0,0,354.33,498.90); break;} + case 'B7': {$size = array(0,0,249.45,354.33); break;} + case 'B8': {$size = array(0,0,175.75,249.45); break;} + case 'B9': {$size = array(0,0,124.72,175.75); break;} + case 'B10': {$size = array(0,0,87.87,124.72); break;} + case 'C0': {$size = array(0,0,2599.37,3676.54); break;} + case 'C1': {$size = array(0,0,1836.85,2599.37); break;} + case 'C2': {$size = array(0,0,1298.27,1836.85); break;} + case 'C3': {$size = array(0,0,918.43,1298.27); break;} + case 'C4': {$size = array(0,0,649.13,918.43); break;} + case 'C5': {$size = array(0,0,459.21,649.13); break;} + case 'C6': {$size = array(0,0,323.15,459.21); break;} + case 'C7': {$size = array(0,0,229.61,323.15); break;} + case 'C8': {$size = array(0,0,161.57,229.61); break;} + case 'C9': {$size = array(0,0,113.39,161.57); break;} + case 'C10': {$size = array(0,0,79.37,113.39); break;} + case 'RA0': {$size = array(0,0,2437.80,3458.27); break;} + case 'RA1': {$size = array(0,0,1729.13,2437.80); break;} + case 'RA2': {$size = array(0,0,1218.90,1729.13); break;} + case 'RA3': {$size = array(0,0,864.57,1218.90); break;} + case 'RA4': {$size = array(0,0,609.45,864.57); break;} + case 'SRA0': {$size = array(0,0,2551.18,3628.35); break;} + case 'SRA1': {$size = array(0,0,1814.17,2551.18); break;} + case 'SRA2': {$size = array(0,0,1275.59,1814.17); break;} + case 'SRA3': {$size = array(0,0,907.09,1275.59); break;} + case 'SRA4': {$size = array(0,0,637.80,907.09); break;} + case 'LETTER': {$size = array(0,0,612.00,792.00); break;} + case 'LEGAL': {$size = array(0,0,612.00,1008.00); break;} + case 'EXECUTIVE': {$size = array(0,0,521.86,756.00); break;} + case 'FOLIO': {$size = array(0,0,612.00,936.00); break;} + } + switch (strtolower($orientation)){ + case 'landscape': + $a=$size[3]; + $size[3]=$size[2]; + $size[2]=$a; + break; + } + } else { + if (count($paper)>2) { + // then an array was sent it to set the size + $size = $paper; + } + else { //size in centimeters has been passed + $size[0] = 0; + $size[1] = 0; + $size[2] = ( $paper[0] / 2.54 ) * 72; + $size[3] = ( $paper[1] / 2.54 ) * 72; + } + } + $this->Cpdf($size); + $this->ez['pageWidth']=$size[2]; + $this->ez['pageHeight']=$size[3]; + + // also set the margins to some reasonable defaults + $this->ez['topMargin']=30; + $this->ez['bottomMargin']=30; + $this->ez['leftMargin']=30; + $this->ez['rightMargin']=30; + + // set the current writing position to the top of the first page + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + // and get the ID of the page that was created during the instancing process. + $this->ezPages[1]=$this->getFirstPageId(); + $this->ezPageCount=1; +} + +// ------------------------------------------------------------------------------ +// 2002-07-24: Nicola Asuni (info@tecnick.com) +// Set Margins in centimeters +function ezSetCmMargins($top,$bottom,$left,$right){ + $top = ( $top / 2.54 ) * 72; + $bottom = ( $bottom / 2.54 ) * 72; + $left = ( $left / 2.54 ) * 72; + $right = ( $right / 2.54 ) * 72; + $this->ezSetMargins($top,$bottom,$left,$right); +} +// ------------------------------------------------------------------------------ + + +function ezColumnsStart($options=array()){ + // start from the current y-position, make the set number of columne + if (isset($this->ez['columns']) && $this->ez['columns']==1){ + // if we are already in a column mode then just return. + return; + } + $def=array('gap'=>10,'num'=>2); + foreach($def as $k=>$v){ + if (!isset($options[$k])){ + $options[$k]=$v; + } + } + // setup the columns + $this->ez['columns']=array('on'=>1,'colNum'=>1); + + // store the current margins + $this->ez['columns']['margins']=array( + $this->ez['leftMargin'] + ,$this->ez['rightMargin'] + ,$this->ez['topMargin'] + ,$this->ez['bottomMargin'] + ); + // and store the settings for the columns + $this->ez['columns']['options']=$options; + // then reset the margins to suit the new columns + // safe enough to assume the first column here, but start from the current y-position + $this->ez['topMargin']=$this->ez['pageHeight']-$this->y; + $width=($this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin']-($options['num']-1)*$options['gap'])/$options['num']; + $this->ez['columns']['width']=$width; + $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; + +} +// ------------------------------------------------------------------------------ +function ezColumnsStop(){ + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + $this->ez['columns']['on']=0; + $this->ez['leftMargin']=$this->ez['columns']['margins'][0]; + $this->ez['rightMargin']=$this->ez['columns']['margins'][1]; + $this->ez['topMargin']=$this->ez['columns']['margins'][2]; + $this->ez['bottomMargin']=$this->ez['columns']['margins'][3]; + } +} +// ------------------------------------------------------------------------------ +function ezInsertMode($status=1,$pageNum=1,$pos='before'){ + // puts the document into insert mode. new pages are inserted until this is re-called with status=0 + // by default pages wil be inserted at the start of the document + switch($status){ + case '1': + if (isset($this->ezPages[$pageNum])){ + $this->ez['insertMode']=1; + $this->ez['insertOptions']=array('id'=>$this->ezPages[$pageNum],'pos'=>$pos); + } + break; + case '0': + $this->ez['insertMode']=0; + break; + } +} +// ------------------------------------------------------------------------------ + +function ezNewPage(){ + $pageRequired=1; + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + // check if this is just going to a new column + // increment the column number +//echo 'HERE
    '; + $this->ez['columns']['colNum']++; +//echo $this->ez['columns']['colNum'].'
    '; + if ($this->ez['columns']['colNum'] <= $this->ez['columns']['options']['num']){ + // then just reset to the top of the next column + $pageRequired=0; + } else { + $this->ez['columns']['colNum']=1; + $this->ez['topMargin']=$this->ez['columns']['margins'][2]; + } + + $width = $this->ez['columns']['width']; + $this->ez['leftMargin']=$this->ez['columns']['margins'][0]+($this->ez['columns']['colNum']-1)*($this->ez['columns']['options']['gap']+$width); + $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; + } +//echo 'left='.$this->ez['leftMargin'].' right='.$this->ez['rightMargin'].'
    '; + + if ($pageRequired){ + // make a new page, setting the writing point back to the top + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + // make the new page with a call to the basic class. + $this->ezPageCount++; + if (isset($this->ez['insertMode']) && $this->ez['insertMode']==1){ + $id = $this->ezPages[$this->ezPageCount] = $this->newPage(1,$this->ez['insertOptions']['id'],$this->ez['insertOptions']['pos']); + // then manipulate the insert options so that inserted pages follow each other + $this->ez['insertOptions']['id']=$id; + $this->ez['insertOptions']['pos']='after'; + } else { + $this->ezPages[$this->ezPageCount] = $this->newPage(); + } + } else { + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + } +} + +// ------------------------------------------------------------------------------ + +function ezSetMargins($top,$bottom,$left,$right){ + // sets the margins to new values + $this->ez['topMargin']=$top; + $this->ez['bottomMargin']=$bottom; + $this->ez['leftMargin']=$left; + $this->ez['rightMargin']=$right; + // check to see if this means that the current writing position is outside the + // writable area + if ($this->y > $this->ez['pageHeight']-$top){ + // then move y down + $this->y = $this->ez['pageHeight']-$top; + } + if ( $this->y < $bottom){ + // then make a new page + $this->ezNewPage(); + } +} + +// ------------------------------------------------------------------------------ + +function ezGetCurrentPageNumber(){ + // return the strict numbering (1,2,3,4..) number of the current page + return $this->ezPageCount; +} + +// ------------------------------------------------------------------------------ + +function ezStartPageNumbers($x,$y,$size,$pos='left',$pattern='{PAGENUM} of {TOTALPAGENUM}',$num=''){ + // put page numbers on the pages from here. + // place then on the 'pos' side of the coordinates (x,y). + // pos can be 'left' or 'right' + // use the given 'pattern' for display, where (PAGENUM} and {TOTALPAGENUM} are replaced + // as required. + // if $num is set, then make the first page this number, the number of total pages will + // be adjusted to account for this. + // Adjust this function so that each time you 'start' page numbers then you effectively start a different batch + // return the number of the batch, so that they can be stopped in a different order if required. + if (!$pos || !strlen($pos)){ + $pos='left'; + } + if (!$pattern || !strlen($pattern)){ + $pattern='{PAGENUM} of {TOTALPAGENUM}'; + } + if (!isset($this->ez['pageNumbering'])){ + $this->ez['pageNumbering']=array(); + } + $i = count($this->ez['pageNumbering']); + $this->ez['pageNumbering'][$i][$this->ezPageCount]=array('x'=>$x,'y'=>$y,'pos'=>$pos,'pattern'=>$pattern,'num'=>$num,'size'=>$size); + return $i; +} + +// ------------------------------------------------------------------------------ + +function ezWhatPageNumber($pageNum,$i=0){ + // given a particular generic page number (ie, document numbered sequentially from beginning), + // return the page number under a particular page numbering scheme ($i) + $num=0; + $start=1; + $startNum=1; + if (!isset($this->ez['pageNumbering'])) + { + $this->addMessage('WARNING: page numbering called for and wasn\'t started with ezStartPageNumbers'); + return 0; + } + foreach($this->ez['pageNumbering'][$i] as $k=>$v){ + if ($k<=$pageNum){ + if (is_array($v)){ + // start block + if (strlen($v['num'])){ + // a start was specified + $start=$v['num']; + $startNum=$k; + $num=$pageNum-$startNum+$start; + } + } else { + // stop block + $num=0; + } + } + } + return $num; +} + +// ------------------------------------------------------------------------------ + +function ezStopPageNumbers($stopTotal=0,$next=0,$i=0){ + // if stopTotal=1 then the totalling of pages for this number will stop too + // if $next=1, then do this page, but not the next, else do not do this page either + // if $i is set, then stop that particular pagenumbering sequence. + if (!isset($this->ez['pageNumbering'])){ + $this->ez['pageNumbering']=array(); + } + if ($next && isset($this->ez['pageNumbering'][$i][$this->ezPageCount]) && is_array($this->ez['pageNumbering'][$i][$this->ezPageCount])){ + // then this has only just been started, this will over-write the start, and nothing will appear + // add a special command to the start block, telling it to stop as well + if ($stopTotal){ + $this->ez['pageNumbering'][$i][$this->ezPageCount]['stoptn']=1; + } else { + $this->ez['pageNumbering'][$i][$this->ezPageCount]['stopn']=1; + } + } else { + if ($stopTotal){ + $this->ez['pageNumbering'][$i][$this->ezPageCount]='stopt'; + } else { + $this->ez['pageNumbering'][$i][$this->ezPageCount]='stop'; + } + if ($next){ + $this->ez['pageNumbering'][$i][$this->ezPageCount].='n'; + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPRVTpageNumberSearch($lbl,&$tmp){ + foreach($tmp as $i=>$v){ + if (is_array($v)){ + if (isset($v[$lbl])){ + return $i; + } + } else { + if ($v==$lbl){ + return $i; + } + } + } + return 0; +} + +// ------------------------------------------------------------------------------ + +function ezPRVTaddPageNumbers(){ + // this will go through the pageNumbering array and add the page numbers are required + if (isset($this->ez['pageNumbering'])){ + $totalPages1 = $this->ezPageCount; + $tmp1=$this->ez['pageNumbering']; + $status=0; + foreach($tmp1 as $i=>$tmp){ + // do each of the page numbering systems + // firstly, find the total pages for this one + $k = $this->ezPRVTpageNumberSearch('stopt',$tmp); + if ($k && $k>0){ + $totalPages = $k-1; + } else { + $l = $this->ezPRVTpageNumberSearch('stoptn',$tmp); + if ($l && $l>0){ + $totalPages = $l; + } else { + $totalPages = $totalPages1; + } + } + foreach ($this->ezPages as $pageNum=>$id){ + if (isset($tmp[$pageNum])){ + if (is_array($tmp[$pageNum])){ + // then this must be starting page numbers + $status=1; + $info = $tmp[$pageNum]; + $info['dnum']=$info['num']-$pageNum; + // also check for the special case of the numbering stopping and starting on the same page + if (isset($info['stopn']) || isset($info['stoptn']) ){ + $status=2; + } + } else if ($tmp[$pageNum]=='stop' || $tmp[$pageNum]=='stopt'){ + // then we are stopping page numbers + $status=0; + } else if ($status==1 && ($tmp[$pageNum]=='stoptn' || $tmp[$pageNum]=='stopn')){ + // then we are stopping page numbers + $status=2; + } + } + if ($status){ + // then add the page numbering to this page + if (strlen($info['num'])){ + $num=$pageNum+$info['dnum']; + } else { + $num=$pageNum; + } + $total = $totalPages+$num-$pageNum; + $pat = str_replace('{PAGENUM}',$num,$info['pattern']); + $pat = str_replace('{TOTALPAGENUM}',$total,$pat); + $this->reopenObject($id); + switch($info['pos']){ + case 'right': + $this->addText($info['x'],$info['y'],$info['size'],$pat); + break; + default: + $w=$this->getTextWidth($info['size'],$pat); + $this->addText($info['x']-$w,$info['y'],$info['size'],$pat); + break; + } + $this->closeObject(); + } + if ($status==2){ + $status=0; + } + } + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPRVTcleanUp(){ + $this->ezPRVTaddPageNumbers(); +} + +// ------------------------------------------------------------------------------ + +function ezStream($options=''){ + $this->ezPRVTcleanUp(); + $this->stream($options); +} + +// ------------------------------------------------------------------------------ + +function ezOutput($options=0){ + $this->ezPRVTcleanUp(); + return $this->output($options); +} + +// ------------------------------------------------------------------------------ + +function ezSetY($y){ + // used to change the vertical position of the writing point. + $this->y = $y; + if ( $this->y < $this->ez['bottomMargin']){ + // then make a new page + $this->ezNewPage(); + } +} + +// ------------------------------------------------------------------------------ + +function ezSetDy($dy,$mod=''){ + // used to change the vertical position of the writing point. + // changes up by a positive increment, so enter a negative number to go + // down the page + // if $mod is set to 'makeSpace' and a new page is forced, then the pointed will be moved + // down on the new page, this will allow space to be reserved for graphics etc. + $this->y += $dy; + if ( $this->y < $this->ez['bottomMargin']){ + // then make a new page + $this->ezNewPage(); + if ($mod=='makeSpace'){ + $this->y += $dy; + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPrvtTableDrawLines($pos,$gap,$x0,$x1,$y0,$y1,$y2,$col,$inner,$outer,$opt=1){ + $x0=1000; + $x1=0; + $this->setStrokeColor($col[0],$col[1],$col[2]); + $cnt=0; + $n = count($pos); + foreach($pos as $x){ + $cnt++; + if ($cnt==1 || $cnt==$n){ + $this->setLineStyle($outer); + } else { + $this->setLineStyle($inner); + } + $this->line($x-$gap/2,$y0,$x-$gap/2,$y2); + if ($x>$x1){ $x1=$x; }; + if ($x<$x0){ $x0=$x; }; + } + $this->setLineStyle($outer); + $this->line($x0-$gap/2-$outer/2,$y0,$x1-$gap/2+$outer/2,$y0); + // only do the second line if it is different to the first, AND each row does not have + // a line on it. + if ($y0!=$y1 && $opt<2){ + $this->line($x0-$gap/2,$y1,$x1-$gap/2,$y1); + } + $this->line($x0-$gap/2-$outer/2,$y2,$x1-$gap/2+$outer/2,$y2); +} + +// ------------------------------------------------------------------------------ + +function ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$gap,$size,&$y,$optionsAll=array()){ + // uses ezText to add the text, and returns the height taken by the largest heading + // this page will move the headings to a new page if they will not fit completely on this one + // transaction support will be used to implement this + + if (isset($optionsAll['cols'])){ + $options = $optionsAll['cols']; + } else { + $options = array(); + } + + $mx=0; + $startPage = $this->ezPageCount; + $secondGo=0; + + // $y is the position at which the top of the table should start, so the base + // of the first text, is $y-$height-$gap-$decender, but ezText starts by dropping $height + + // the return from this function is the total cell height, including gaps, and $y is adjusted + // to be the postion of the bottom line + + // begin the transaction + $this->transaction('start'); + $ok=0; +// $y-=$gap-$decender; + $y-=$gap; + while ($ok==0){ + foreach($cols as $colName=>$colHeading){ + $this->ezSetY($y); + if (isset($options[$colName]) && isset($options[$colName]['justification'])){ + $justification = $options[$colName]['justification']; + } else { + $justification = 'left'; + } + $this->ezText($colHeading,$size,array('aleft'=> $pos[$colName],'aright'=>($maxWidth[$colName]+$pos[$colName]),'justification'=>$justification)); + $dy = $y-$this->y; + if ($dy>$mx){ + $mx=$dy; + } + } + $y = $y - $mx - $gap + $decender; +// $y -= $mx-$gap+$decender; + + // now, if this has moved to a new page, then abort the transaction, move to a new page, and put it there + // do not check on the second time around, to avoid an infinite loop + if ($this->ezPageCount != $startPage && $secondGo==0){ + $this->transaction('rewind'); + $this->ezNewPage(); + $y = $this->y - $gap-$decender; + $ok=0; + $secondGo=1; +// $y = $store_y; + $mx=0; + + } else { + $this->transaction('commit'); + $ok=1; + } + } + + return $mx+$gap*2-$decender; +} + +// ------------------------------------------------------------------------------ + +function ezPrvtGetTextWidth($size,$text){ + // will calculate the maximum width, taking into account that the text may be broken + // by line breaks. + $mx=0; + $lines = explode("\n",$text); + foreach ($lines as $line){ + $w = $this->getTextWidth($size,$line); + if ($w>$mx){ + $mx=$w; + } + } + return $mx; +} + +// ------------------------------------------------------------------------------ + +function ezTable(&$data,$cols='',$title='',$options=''){ + // add a table of information to the pdf document + // $data is a two dimensional array + // $cols (optional) is an associative array, the keys are the names of the columns from $data + // to be presented (and in that order), the values are the titles to be given to the columns + // $title (optional) is the title to be put on the top of the table + // + // $options is an associative array which can contain: + // 'showLines'=> 0,1,2, default is 1 (show outside and top lines only), 2=> lines on each row + // 'showHeadings' => 0 or 1 + // 'shaded'=> 0,1,2,3 default is 1 (1->alternate lines are shaded, 0->no shading, 2-> both shaded, second uses shadeCol2) + // 'shadeCol' => (r,g,b) array, defining the colour of the shading, default is (0.8,0.8,0.8) + // 'shadeCol2' => (r,g,b) array, defining the colour of the shading of the other blocks, default is (0.7,0.7,0.7) + // 'fontSize' => 10 + // 'textCol' => (r,g,b) array, text colour + // 'titleFontSize' => 12 + // 'rowGap' => 2 , the space added at the top and bottom of each row, between the text and the lines + // 'colGap' => 5 , the space on the left and right sides of each cell + // 'lineCol' => (r,g,b) array, defining the colour of the lines, default, black. + // 'xPos' => 'left','right','center','centre',or coordinate, reference coordinate in the x-direction + // 'xOrientation' => 'left','right','center','centre', position of the table w.r.t 'xPos' + // 'width'=> which will specify the width of the table, if it turns out to not be this + // wide, then it will stretch the table to fit, if it is wider then each cell will be made + // proportionalty smaller, and the content may have to wrap. + // 'maxWidth'=> similar to 'width', but will only make table smaller than it wants to be + // 'options' => array(=>array('justification'=>'left','width'=>100,'link'=>linkDataName),=>....) + // allow the setting of other paramaters for the individual columns + // 'minRowSpace'=> the minimum space between the bottom of each row and the bottom margin, in which a new row will be started + // if it is less, then a new page would be started, default=-100 + // 'innerLineThickness'=>1 + // 'outerLineThickness'=>1 + // 'splitRows'=>0, 0 or 1, whether or not to allow the rows to be split across page boundaries + // 'protectRows'=>number, the number of rows to hold with the heading on page, ie, if there less than this number of + // rows on the page, then move the whole lot onto the next page, default=1 + // + // note that the user will have had to make a font selection already or this will not + // produce a valid pdf file. + + if (!is_array($data)){ + return; + } + + if (!is_array($cols)){ + // take the columns from the first row of the data set + reset($data); + list($k,$v)=each($data); + if (!is_array($v)){ + return; + } + $cols=array(); + foreach($v as $k1=>$v1){ + $cols[$k1]=$k1; + } + } + + if (!is_array($options)){ + $options=array(); + } + + $defaults = array( + 'shaded'=>1,'showLines'=>1,'shadeCol'=>array(0.8,0.8,0.8),'shadeCol2'=>array(0.7,0.7,0.7),'fontSize'=>10,'titleFontSize'=>12 + ,'titleGap'=>5,'lineCol'=>array(0,0,0),'gap'=>5,'xPos'=>'centre','xOrientation'=>'centre' + ,'showHeadings'=>1,'textCol'=>array(0,0,0),'width'=>0,'maxWidth'=>0,'cols'=>array(),'minRowSpace'=>-100,'rowGap'=>2,'colGap'=>5 + ,'innerLineThickness'=>1,'outerLineThickness'=>1,'splitRows'=>0,'protectRows'=>1 + ); + + foreach($defaults as $key=>$value){ + if (is_array($value)){ + if (!isset($options[$key]) || !is_array($options[$key])){ + $options[$key]=$value; + } + } else { + if (!isset($options[$key])){ + $options[$key]=$value; + } + } + } + $options['gap']=2*$options['colGap']; + + $middle = ($this->ez['pageWidth']-$this->ez['rightMargin'])/2+($this->ez['leftMargin'])/2; + // figure out the maximum widths of the text within each column + $maxWidth=array(); + foreach($cols as $colName=>$colHeading){ + $maxWidth[$colName]=0; + } + // find the maximum cell widths based on the data + foreach($data as $row){ + foreach($cols as $colName=>$colHeading){ + $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$row[$colName])*1.01; + if ($w > $maxWidth[$colName]){ + $maxWidth[$colName]=$w; + } + } + } + // and the maximum widths to fit in the headings + foreach($cols as $colName=>$colTitle){ + $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$colTitle)*1.01; + if ($w > $maxWidth[$colName]){ + $maxWidth[$colName]=$w; + } + } + + // calculate the start positions of each of the columns + $pos=array(); + $x=0; + $t=$x; + $adjustmentWidth=0; + $setWidth=0; + foreach($maxWidth as $colName => $w){ + $pos[$colName]=$t; + // if the column width has been specified then set that here, also total the + // width avaliable for adjustment + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['width']) && $options['cols'][$colName]['width']>0){ + $t=$t+$options['cols'][$colName]['width']; + $maxWidth[$colName] = $options['cols'][$colName]['width']-$options['gap']; + $setWidth += $options['cols'][$colName]['width']; + } else { + $t=$t+$w+$options['gap']; + $adjustmentWidth += $w; + $setWidth += $options['gap']; + } + } + $pos['_end_']=$t; + + // if maxWidth is specified, and the table is too wide, and the width has not been set, + // then set the width. + if ($options['width']==0 && $options['maxWidth'] && ($t-$x)>$options['maxWidth']){ + // then need to make this one smaller + $options['width']=$options['maxWidth']; + } + + if ($options['width'] && $adjustmentWidth>0 && $setWidth<$options['width']){ + // first find the current widths of the columns involved in this mystery + $cols0 = array(); + $cols1 = array(); + $xq=0; + $presentWidth=0; + $last=''; + foreach($pos as $colName=>$p){ + if (!isset($options['cols'][$last]) || !isset($options['cols'][$last]['width']) || $options['cols'][$last]['width']<=0){ + if (strlen($last)){ + $cols0[$last]=$p-$xq -$options['gap']; + $presentWidth += ($p-$xq - $options['gap']); + } + } else { + $cols1[$last]=$p-$xq; + } + $last=$colName; + $xq=$p; + } + // $cols0 contains the widths of all the columns which are not set + $neededWidth = $options['width']-$setWidth; + // if needed width is negative then add it equally to each column, else get more tricky + if ($presentWidth<$neededWidth){ + foreach($cols0 as $colName=>$w){ + $cols0[$colName]+= ($neededWidth-$presentWidth)/count($cols0); + } + } else { + + $cnt=0; + while ($presentWidth>$neededWidth && $cnt<100){ + $cnt++; // insurance policy + // find the widest columns, and the next to widest width + $aWidest = array(); + $nWidest=0; + $widest=0; + foreach($cols0 as $colName=>$w){ + if ($w>$widest){ + $aWidest=array($colName); + $nWidest = $widest; + $widest=$w; + } else if ($w==$widest){ + $aWidest[]=$colName; + } + } + // then figure out what the width of the widest columns would have to be to take up all the slack + $newWidestWidth = $widest - ($presentWidth-$neededWidth)/count($aWidest); + if ($newWidestWidth > $nWidest){ + // then there is space to set them to this + foreach($aWidest as $colName){ + $cols0[$colName] = $newWidestWidth; + } + $presentWidth=$neededWidth; + } else { + // there is not space, reduce the size of the widest ones down to the next size down, and we + // will go round again + foreach($aWidest as $colName){ + $cols0[$colName] = $nWidest; + } + $presentWidth=$presentWidth-($widest-$nWidest)*count($aWidest); + } + } + } + // $cols0 now contains the new widths of the constrained columns. + // now need to update the $pos and $maxWidth arrays + $xq=0; + foreach($pos as $colName=>$p){ + $pos[$colName]=$xq; + if (!isset($options['cols'][$colName]) || !isset($options['cols'][$colName]['width']) || $options['cols'][$colName]['width']<=0){ + if (isset($cols0[$colName])){ + $xq += $cols0[$colName] + $options['gap']; + $maxWidth[$colName]=$cols0[$colName]; + } + } else { + if (isset($cols1[$colName])){ + $xq += $cols1[$colName]; + } + } + } + + $t=$x+$options['width']; + $pos['_end_']=$t; + } + + // now adjust the table to the correct location across the page + switch ($options['xPos']){ + case 'left': + $xref = $this->ez['leftMargin']; + break; + case 'right': + $xref = $this->ez['pageWidth'] - $this->ez['rightMargin']; + break; + case 'centre': + case 'center': + $xref = $middle; + break; + default: + $xref = $options['xPos']; + break; + } + switch ($options['xOrientation']){ + case 'left': + $dx = $xref-$t; + break; + case 'right': + $dx = $xref; + break; + case 'centre': + case 'center': + $dx = $xref-$t/2; + break; + } + + + foreach($pos as $k=>$v){ + $pos[$k]=$v+$dx; + } + $x0=$x+$dx; + $x1=$t+$dx; + + $baseLeftMargin = $this->ez['leftMargin']; + $basePos = $pos; + $baseX0 = $x0; + $baseX1 = $x1; + + // ok, just about ready to make me a table + $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2]); + $this->setStrokeColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2]); + + $middle = ($x1+$x0)/2; + + // start a transaction which will be used to regress the table, if there are not enough rows protected + if ($options['protectRows']>0){ + $this->transaction('start'); + $movedOnce=0; + } + $abortTable = 1; + while ($abortTable){ + $abortTable=0; + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + $middle = ($x1+$x0)/2; + + + // if the title is set, then do that + if (strlen($title)){ + $w = $this->getTextWidth($options['titleFontSize'],$title); + $this->y -= $this->getFontHeight($options['titleFontSize']); + if ($this->y < $this->ez['bottomMargin']){ + $this->ezNewPage(); + // margins may have changed on the newpage + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + $middle = ($x1+$x0)/2; + $this->y -= $this->getFontHeight($options['titleFontSize']); + } + $this->addText($middle-$w/2,$this->y,$options['titleFontSize'],$title); + $this->y -= $options['titleGap']; + } + + // margins may have changed on the newpage + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + $y=$this->y; // to simplify the code a bit + + // make the table + $height = $this->getFontHeight($options['fontSize']); + $decender = $this->getFontDecender($options['fontSize']); + + + + $y0=$y+$decender; + $dy=0; + if ($options['showHeadings']){ + // this function will move the start of the table to a new page if it does not fit on this one + $headingHeight = $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); + $y0 = $y+$headingHeight; + $y1 = $y; + + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + } else { + $y1 = $y0; + } + $firstLine=1; + + + // open an object here so that the text can be put in over the shading + if ($options['shaded']){ + $this->saveState(); + $textObjectId = $this->openObject(); + $this->closeObject(); + $this->addObject($textObjectId); + $this->reopenObject($textObjectId); + } + + $cnt=0; + $newPage=0; + foreach($data as $row){ + $cnt++; + // the transaction support will be used to prevent rows being split + if ($options['splitRows']==0){ + $pageStart = $this->ezPageCount; + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + $columnStart = $this->ez['columns']['colNum']; + } + $this->transaction('start'); + $row_orig = $row; + $y_orig = $y; + $y0_orig = $y0; + $y1_orig = $y1; + } + $ok=0; + $secondTurn=0; + while(!$abortTable && $ok == 0){ + + $mx=0; + $newRow=1; + while(!$abortTable && ($newPage || $newRow)){ + + $y-=$height; + if ($newPage || $y<$this->ez['bottomMargin'] || (isset($options['minRowSpace']) && $y<($this->ez['bottomMargin']+$options['minRowSpace'])) ){ + // check that enough rows are with the heading + if ($options['protectRows']>0 && $movedOnce==0 && $cnt<=$options['protectRows']){ + // then we need to move the whole table onto the next page + $movedOnce = 1; + $abortTable = 1; + } + + $y2=$y-$mx+2*$height+$decender-$newRow*$height; + if ($options['showLines']){ + if (!$options['showHeadings']){ + $y0=$y1; + } + $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); + } + if ($options['shaded']){ + $this->closeObject(); + $this->restoreState(); + } + $this->ezNewPage(); + // and the margins may have changed, this is due to the possibility of the columns being turned on + // as the columns are managed by manipulating the margins + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } +// $x0=$x0+$dm; +// $x1=$x1+$dm; + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + if ($options['shaded']){ + $this->saveState(); + $textObjectId = $this->openObject(); + $this->closeObject(); + $this->addObject($textObjectId); + $this->reopenObject($textObjectId); + } + $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2],1); + $y = $this->ez['pageHeight']-$this->ez['topMargin']; + $y0=$y+$decender; + $mx=0; + if ($options['showHeadings']){ + $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); + $y1=$y; + } else { + $y1=$y0; + } + $firstLine=1; + $y -= $height; + } + $newRow=0; + // write the actual data + // if these cells need to be split over a page, then $newPage will be set, and the remaining + // text will be placed in $leftOvers + $newPage=0; + $leftOvers=array(); + + foreach($cols as $colName=>$colTitle){ + $this->ezSetY($y+$height); + $colNewPage=0; + if (isset($row[$colName])){ + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['link']) && strlen($options['cols'][$colName]['link'])){ + + $lines = explode("\n",$row[$colName]); + if (isset($row[$options['cols'][$colName]['link']]) && strlen($row[$options['cols'][$colName]['link']])){ + foreach($lines as $k=>$v){ + $lines[$k]=''.$v.''; + } + } + } else { + $lines = explode("\n",$row[$colName]); + } + } else { + $lines = array(); + } + $this->y -= $options['rowGap']; + foreach ($lines as $line){ + $line = $this->ezProcessText($line); + $start=1; + + while (strlen($line) || $start){ + $start=0; + if (!$colNewPage){ + $this->y=$this->y-$height; + } + if ($this->y < $this->ez['bottomMargin']){ + // $this->ezNewPage(); + $newPage=1; // whether a new page is required for any of the columns + $colNewPage=1; // whether a new page is required for this column + } + if ($colNewPage){ + if (isset($leftOvers[$colName])){ + $leftOvers[$colName].="\n".$line; + } else { + $leftOvers[$colName] = $line; + } + $line=''; + } else { + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['justification']) ){ + $just = $options['cols'][$colName]['justification']; + } else { + $just='left'; + } + + $line=$this->addTextWrap($pos[$colName],$this->y,$maxWidth[$colName],$options['fontSize'],$line,$just); + } + } + } + + $dy=$y+$height-$this->y+$options['rowGap']; + if ($dy-$height*$newPage>$mx){ + $mx=$dy-$height*$newPage; + } + } + // set $row to $leftOvers so that they will be processed onto the new page + $row = $leftOvers; + // now add the shading underneath + if ($options['shaded'] && $cnt%2==0){ + $this->closeObject(); + $this->setColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2],1); + $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + $this->reopenObject($textObjectId); + } + + if ($options['shaded']==2 && $cnt%2==1){ + $this->closeObject(); + $this->setColor($options['shadeCol2'][0],$options['shadeCol2'][1],$options['shadeCol2'][2],1); + $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + $this->reopenObject($textObjectId); + } + + if ($options['showLines']>1){ + // then draw a line on the top of each block +// $this->closeObject(); + $this->saveState(); + $this->setStrokeColor($options['lineCol'][0],$options['lineCol'][1],$options['lineCol'][2],1); +// $this->line($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + if ($firstLine){ + $this->setLineStyle($options['outerLineThickness']); + $firstLine=0; + } else { + $this->setLineStyle($options['innerLineThickness']); + } + $this->line($x0-$options['gap']/2,$y+$decender+$height,$x1-$options['gap']/2,$y+$decender+$height); + $this->restoreState(); +// $this->reopenObject($textObjectId); + } + } // end of while + $y=$y-$mx+$height; + + // checking row split over pages + if ($options['splitRows']==0){ + if ( ( ($this->ezPageCount != $pageStart) || (isset($this->ez['columns']) && $this->ez['columns']['on']==1 && $columnStart != $this->ez['columns']['colNum'] )) && $secondTurn==0){ + // then we need to go back and try that again ! + $newPage=1; + $secondTurn=1; + $this->transaction('rewind'); + $row = $row_orig; + $y = $y_orig; + $y0 = $y0_orig; + $y1 = $y1_orig; + $ok=0; + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + } else { + $this->transaction('commit'); + $ok=1; + } + } else { + $ok=1; // don't go round the loop if splitting rows is allowed + } + + } // end of while to check for row splitting + if ($abortTable){ + if ($ok==0){ + $this->transaction('abort'); + } + // only the outer transaction should be operational + $this->transaction('rewind'); + $this->ezNewPage(); + break; + } + + } // end of foreach ($data as $row) + + } // end of while ($abortTable) + + // table has been put on the page, the rows guarded as required, commit. + $this->transaction('commit'); + + $y2=$y+$decender; + if ($options['showLines']){ + if (!$options['showHeadings']){ + $y0=$y1; + } + $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); + } + + // close the object for drawing the text on top + if ($options['shaded']){ + $this->closeObject(); + $this->restoreState(); + } + + $this->y=$y; + return $y; +} + +// ------------------------------------------------------------------------------ +function ezProcessText($text){ + // this function will intially be used to implement underlining support, but could be used for a range of other + // purposes + $search = array('','','',''); + $replace = array('','','',''); + return str_replace($search,$replace,$text); +} + +// ------------------------------------------------------------------------------ + +function ezText($text,$size=0,$options=array(),$test=0){ + // this will add a string of text to the document, starting at the current drawing + // position. + // it will wrap to keep within the margins, including optional offsets from the left + // and the right, if $size is not specified, then it will be the last one used, or + // the default value (12 I think). + // the text will go to the start of the next line when a return code "\n" is found. + // possible options are: + // 'left'=> number, gap to leave from the left margin + // 'right'=> number, gap to leave from the right margin + // 'aleft'=> number, absolute left position (overrides 'left') + // 'aright'=> number, absolute right position (overrides 'right') + // 'justification' => 'left','right','center','centre','full' + + // only set one of the next two items (leading overrides spacing) + // 'leading' => number, defines the total height taken by the line, independent of the font height. + // 'spacing' => a real number, though usually set to one of 1, 1.5, 2 (line spacing as used in word processing) + + // if $test is set then this should just check if the text is going to flow onto a new page or not, returning true or false + + // apply the filtering which will make the underlining function. + $text = $this->ezProcessText($text); + + $newPage=false; + $store_y = $this->y; + + if (is_array($options) && isset($options['aleft'])){ + $left=$options['aleft']; + } else { + $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); + } + if (is_array($options) && isset($options['aright'])){ + $right=$options['aright']; + } else { + $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); + } + if ($size<=0){ + $size = $this->ez['fontSize']; + } else { + $this->ez['fontSize']=$size; + } + + if (is_array($options) && isset($options['justification'])){ + $just = $options['justification']; + } else { + $just = 'left'; + } + + // modifications to give leading and spacing based on those given by Craig Heydenburg 1/1/02 + if (is_array($options) && isset($options['leading'])) { ## use leading instead of spacing + $height = $options['leading']; + } else if (is_array($options) && isset($options['spacing'])) { + $height = $this->getFontHeight($size) * $options['spacing']; + } else { + $height = $this->getFontHeight($size); + } + + + $lines = explode("\n",$text); + foreach ($lines as $line){ + $start=1; + while (strlen($line) || $start){ + $start=0; + $this->y=$this->y-$height; + if ($this->y < $this->ez['bottomMargin']){ + if ($test){ + $newPage=true; + } else { + $this->ezNewPage(); + // and then re-calc the left and right, in case they have changed due to columns + } + } + if (is_array($options) && isset($options['aleft'])){ + $left=$options['aleft']; + } else { + $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); + } + if (is_array($options) && isset($options['aright'])){ + $right=$options['aright']; + } else { + $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); + } + $line=$this->addTextWrap($left,$this->y,$right-$left,$size,$line,$just,0,$test); + } + } + + if ($test){ + $this->y=$store_y; + return $newPage; + } else { + return $this->y; + } +} + +// ------------------------------------------------------------------------------ + +function ezImage($image,$pad = 5,$width = 0,$resize = 'full',$just = 'center',$border = ''){ + //beta ezimage function + if (stristr($image,'://'))//copy to temp file + { + $fp = @fopen($image,"rb"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + $image = tempnam ("/tmp", "php-pdf"); + $fp2 = @fopen($image,"w"); + fwrite($fp2,$cont); + fclose($fp2); + $temp = true; + } + + if (!(file_exists($image))) return false; //return immediately if image file does not exist + $imageInfo = getimagesize($image); + switch ($imageInfo[2]){ + case 2: + $type = "jpeg"; + break; + case 3: + $type = "png"; + break; + default: + return false; //return if file is not jpg or png + } + if ($width == 0) $width = $imageInfo[0]; //set width + $ratio = $imageInfo[0]/$imageInfo[1]; + + //get maximum width of image + if (isset($this->ez['columns']) && $this->ez['columns']['on'] == 1) + { + $bigwidth = $this->ez['columns']['width'] - ($pad * 2); + } + else + { + $bigwidth = $this->ez['pageWidth'] - ($pad * 2); + } + //fix width if larger than maximum or if $resize=full + if ($resize == 'full' || $resize == 'width' || $width > $bigwidth) + { + $width = $bigwidth; + + } + + $height = ($width/$ratio); //set height + + //fix size if runs off page + if ($height > ($this->y - $this->ez['bottomMargin'] - ($pad * 2))) + { + if ($resize != 'full') + { + $this->ezNewPage(); + } + else + { + $height = ($this->y - $this->ez['bottomMargin'] - ($pad * 2)); //shrink height + $width = ($height*$ratio); //fix width + } + } + + //fix x-offset if image smaller than bigwidth + if ($width < $bigwidth) + { + //center if justification=center + if ($just == 'center') + { + $offset = ($bigwidth - $width) / 2; + } + //move to right if justification=right + if ($just == 'right') + { + $offset = ($bigwidth - $width); + } + //leave at left if justification=left + if ($just == 'left') + { + $offset = 0; + } + } + + + //call appropriate function + if ($type == "jpeg"){ + $this->addJpegFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); + } + + if ($type == "png"){ + $this->addPngFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); + } + //draw border + if ($border != '') + { + if (!(isset($border['color']))) + { + $border['color']['red'] = .5; + $border['color']['blue'] = .5; + $border['color']['green'] = .5; + } + if (!(isset($border['width']))) $border['width'] = 1; + if (!(isset($border['cap']))) $border['cap'] = 'round'; + if (!(isset($border['join']))) $border['join'] = 'round'; + + + $this->setStrokeColor($border['color']['red'],$border['color']['green'],$border['color']['blue']); + $this->setLineStyle($border['width'],$border['cap'],$border['join']); + $this->rectangle($this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width,$height); + + } + // move y below image + $this->y = $this->y - $pad - $height; + //remove tempfile for remote images + if ($temp == true) unlink($image); + +} +// ------------------------------------------------------------------------------ + +// note that templating code is still considered developmental - have not really figured +// out a good way of doing this yet. +function loadTemplate($templateFile){ + // this function will load the requested template ($file includes full or relative pathname) + // the code for the template will be modified to make it name safe, and then stored in + // an array for later use + // The id of the template will be returned for the user to operate on it later + if (!file_exists($templateFile)){ + return -1; + } + + $code = implode('',file($templateFile)); + if (!strlen($code)){ + return; + } + + $code = trim($code); + if (substr($code,0,5)==''){ + $code = substr($code,0,strlen($code)-2); + } + if (isset($this->ez['numTemplates'])){ + $newNum = $this->ez['numTemplates']; + $this->ez['numTemplates']++; + } else { + $newNum=0; + $this->ez['numTemplates']=1; + $this->ez['templates']=array(); + } + + $this->ez['templates'][$newNum]['code']=$code; + + return $newNum; +} + +// ------------------------------------------------------------------------------ + +function execTemplate($id,$data=array(),$options=array()){ + // execute the given template on the current document. + if (!isset($this->ez['templates'][$id])){ + return; + } + eval($this->ez['templates'][$id]['code']); +} + +// ------------------------------------------------------------------------------ +function ilink($info){ + $this->alink($info,1); +} + +function alink($info,$internal=0){ + // a callback function to support the formation of clickable links within the document + $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. + switch($info['status']){ + case 'start': + case 'sol': + // the beginning of the link + // this should contain the URl for the link as the 'p' entry, and will also contain the value of 'nCallback' + if (!isset($this->ez['links'])){ + $this->ez['links']=array(); + } + $i = $info['nCallback']; + $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height'],'url'=>$info['p']); + $this->saveState(); + $this->setColor(0,0,1); + $this->setStrokeColor(0,0,1); + $thick = $info['height']*$lineFactor; + $this->setLineStyle($thick); + break; + case 'end': + case 'eol': + // the end of the link + // assume that it is the most recent opening which has closed + $i = $info['nCallback']; + $start = $this->ez['links'][$i]; + // add underlining + $a = deg2rad((float)$start['angle']-90.0); + $drop = $start['height']*$lineFactor*1.5; + $dropx = cos($a)*$drop; + $dropy = -sin($a)*$drop; + $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); + if ($internal) { + $this->addInternalLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); + } else { + $this->addLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); + } + $this->restoreState(); + break; + } +} + +// ------------------------------------------------------------------------------ + +function uline($info){ + // a callback function to support underlining + $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. + switch($info['status']){ + case 'start': + case 'sol': + + // the beginning of the underline zone + if (!isset($this->ez['links'])){ + $this->ez['links']=array(); + } + $i = $info['nCallback']; + $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height']); + $this->saveState(); + $thick = $info['height']*$lineFactor; + $this->setLineStyle($thick); + break; + case 'end': + case 'eol': + // the end of the link + // assume that it is the most recent opening which has closed + $i = $info['nCallback']; + $start = $this->ez['links'][$i]; + // add underlining + $a = deg2rad((float)$start['angle']-90.0); + $drop = $start['height']*$lineFactor*1.5; + $dropx = cos($a)*$drop; + $dropy = -sin($a)*$drop; + $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); + $this->restoreState(); + break; + } +} + +// ------------------------------------------------------------------------------ + +} ?> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.pdf.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.pdf.php index 5de35874b2..a76e42b118 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.pdf.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.pdf.php @@ -1,3075 +1,3075 @@ - -* @version 009 -* @package Cpdf -* @link http://www.ros.co.nz/pdf -*/ -class Cpdf { - -/** -* the current number of pdf objects in the document -*/ -var $numObj=0; -/** -* this array contains all of the pdf objects, ready for final assembly -*/ -var $objects = array(); -/** -* the objectId (number within the objects array) of the document catalog -*/ -var $catalogId; -/** -* array carrying information about the fonts that the system currently knows about -* used to ensure that a font is not loaded twice, among other things -*/ -var $fonts=array(); -/** -* a record of the current font -*/ -var $currentFont=''; -/** -* the current base font -*/ -var $currentBaseFont=''; -/** -* the number of the current font within the font array -*/ -var $currentFontNum=0; -/** -* -*/ -var $currentNode; -/** -* object number of the current page -*/ -var $currentPage; -/** -* object number of the currently active contents block -*/ -var $currentContents; -/** -* number of fonts within the system -*/ -var $numFonts=0; -/** -* current colour for fill operations, defaults to inactive value, all three components should be between 0 and 1 inclusive when active -*/ -var $currentColour=array('r'=>-1,'g'=>-1,'b'=>-1); -/** -* current colour for stroke operations (lines etc.) -*/ -var $currentStrokeColour=array('r'=>-1,'g'=>-1,'b'=>-1); -/** -* current style that lines are drawn in -*/ -var $currentLineStyle=''; -/** -* an array which is used to save the state of the document, mainly the colours and styles -* it is used to temporarily change to another state, the change back to what it was before -*/ -var $stateStack = array(); -/** -* number of elements within the state stack -*/ -var $nStateStack = 0; -/** -* number of page objects within the document -*/ -var $numPages=0; -/** -* object Id storage stack -*/ -var $stack=array(); -/** -* number of elements within the object Id storage stack -*/ -var $nStack=0; -/** -* an array which contains information about the objects which are not firmly attached to pages -* these have been added with the addObject function -*/ -var $looseObjects=array(); -/** -* array contains infomation about how the loose objects are to be added to the document -*/ -var $addLooseObjects=array(); -/** -* the objectId of the information object for the document -* this contains authorship, title etc. -*/ -var $infoObject=0; -/** -* number of images being tracked within the document -*/ -var $numImages=0; -/** -* an array containing options about the document -* it defaults to turning on the compression of the objects -*/ -var $options=array('compression'=>1); -/** -* the objectId of the first page of the document -*/ -var $firstPageId; -/** -* used to track the last used value of the inter-word spacing, this is so that it is known -* when the spacing is changed. -*/ -var $wordSpaceAdjust=0; -/** -* the object Id of the procset object -*/ -var $procsetObjectId; -/** -* store the information about the relationship between font families -* this used so that the code knows which font is the bold version of another font, etc. -* the value of this array is initialised in the constuctor function. -*/ -var $fontFamilies = array(); -/** -* track if the current font is bolded or italicised -*/ -var $currentTextState = ''; -/** -* messages are stored here during processing, these can be selected afterwards to give some useful debug information -*/ -var $messages=''; -/** -* the ancryption array for the document encryption is stored here -*/ -var $arc4=''; -/** -* the object Id of the encryption information -*/ -var $arc4_objnum=0; -/** -* the file identifier, used to uniquely identify a pdf document -*/ -var $fileIdentifier=''; -/** -* a flag to say if a document is to be encrypted or not -*/ -var $encrypted=0; -/** -* the ancryption key for the encryption of all the document content (structure is not encrypted) -*/ -var $encryptionKey=''; -/** -* array which forms a stack to keep track of nested callback functions -*/ -var $callback = array(); -/** -* the number of callback functions in the callback array -*/ -var $nCallback = 0; -/** -* store label->id pairs for named destinations, these will be used to replace internal links -* done this way so that destinations can be defined after the location that links to them -*/ -var $destinations = array(); -/** -* store the stack for the transaction commands, each item in here is a record of the values of all the -* variables within the class, so that the user can rollback at will (from each 'start' command) -* note that this includes the objects array, so these can be large. -*/ -var $checkpoint = ''; -/** -* class constructor -* this will start a new document -* @var array array of 4 numbers, defining the bottom left and upper right corner of the page. first two are normally zero. -*/ -function Cpdf ($pageSize=array(0,0,612,792)){ - $this->newDocument($pageSize); - - // also initialize the font families that are known about already - $this->setFontFamily('init'); -// $this->fileIdentifier = md5('xxxxxxxx'.time()); - -} - -/** -* Document object methods (internal use only) -* -* There is about one object method for each type of object in the pdf document -* Each function has the same call list ($id,$action,$options). -* $id = the object ID of the object, or what it is to be if it is being created -* $action = a string specifying the action to be performed, though ALL must support: -* 'new' - create the object with the id $id -* 'out' - produce the output for the pdf object -* $options = optional, a string or array containing the various parameters for the object -* -* These, in conjunction with the output function are the ONLY way for output to be produced -* within the pdf 'file'. -*/ - -/** -*destination object, used to specify the location for the user to jump to, presently on opening -*/ -function o_destination($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch($action){ - case 'new': - $this->objects[$id]=array('t'=>'destination','info'=>array()); - $tmp = ''; - switch ($options['type']){ - case 'XYZ': - case 'FitR': - $tmp = ' '.$options['p3'].$tmp; - case 'FitH': - case 'FitV': - case 'FitBH': - case 'FitBV': - $tmp = ' '.$options['p1'].' '.$options['p2'].$tmp; - case 'Fit': - case 'FitB': - $tmp = $options['type'].$tmp; - $this->objects[$id]['info']['string']=$tmp; - $this->objects[$id]['info']['page']=$options['page']; - } - break; - case 'out': - $tmp = $o['info']; - $res="\n".$id." 0 obj\n".'['.$tmp['page'].' 0 R /'.$tmp['string']."]\nendobj\n"; - return $res; - break; - } -} - -/** -* set the viewer preferences -*/ -function o_viewerPreferences($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'viewerPreferences','info'=>array()); - break; - case 'add': - foreach($options as $k=>$v){ - switch ($k){ - case 'HideToolbar': - case 'HideMenubar': - case 'HideWindowUI': - case 'FitWindow': - case 'CenterWindow': - case 'NonFullScreenPageMode': - case 'Direction': - $o['info'][$k]=$v; - break; - } - } - break; - case 'out': - - $res="\n".$id." 0 obj\n".'<< '; - foreach($o['info'] as $k=>$v){ - $res.="\n/".$k.' '.$v; - } - $res.="\n>>\n"; - return $res; - break; - } -} - -/** -* define the document catalog, the overall controller for the document -*/ -function o_catalog($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'catalog','info'=>array()); - $this->catalogId=$id; - break; - case 'outlines': - case 'pages': - case 'openHere': - $o['info'][$action]=$options; - break; - case 'viewerPreferences': - if (!isset($o['info']['viewerPreferences'])){ - $this->numObj++; - $this->o_viewerPreferences($this->numObj,'new'); - $o['info']['viewerPreferences']=$this->numObj; - } - $vp = $o['info']['viewerPreferences']; - $this->o_viewerPreferences($vp,'add',$options); - break; - case 'out': - $res="\n".$id." 0 obj\n".'<< /Type /Catalog'; - foreach($o['info'] as $k=>$v){ - switch($k){ - case 'outlines': - $res.="\n".'/Outlines '.$v.' 0 R'; - break; - case 'pages': - $res.="\n".'/Pages '.$v.' 0 R'; - break; - case 'viewerPreferences': - $res.="\n".'/ViewerPreferences '.$o['info']['viewerPreferences'].' 0 R'; - break; - case 'openHere': - $res.="\n".'/OpenAction '.$o['info']['openHere'].' 0 R'; - break; - } - } - $res.=" >>\nendobj"; - return $res; - break; - } -} - -/** -* object which is a parent to the pages in the document -*/ -function o_pages($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'pages','info'=>array()); - $this->o_catalog($this->catalogId,'pages',$id); - break; - case 'page': - if (!is_array($options)){ - // then it will just be the id of the new page - $o['info']['pages'][]=$options; - } else { - // then it should be an array having 'id','rid','pos', where rid=the page to which this one will be placed relative - // and pos is either 'before' or 'after', saying where this page will fit. - if (isset($options['id']) && isset($options['rid']) && isset($options['pos'])){ - $i = array_search($options['rid'],$o['info']['pages']); - if (isset($o['info']['pages'][$i]) && $o['info']['pages'][$i]==$options['rid']){ - // then there is a match - // make a space - switch ($options['pos']){ - case 'before': - $k = $i; - break; - case 'after': - $k=$i+1; - break; - default: - $k=-1; - break; - } - if ($k>=0){ - for ($j=count($o['info']['pages'])-1;$j>=$k;$j--){ - $o['info']['pages'][$j+1]=$o['info']['pages'][$j]; - } - $o['info']['pages'][$k]=$options['id']; - } - } - } - } - break; - case 'procset': - $o['info']['procset']=$options; - break; - case 'mediaBox': - $o['info']['mediaBox']=$options; // which should be an array of 4 numbers - break; - case 'font': - $o['info']['fonts'][]=array('objNum'=>$options['objNum'],'fontNum'=>$options['fontNum']); - break; - case 'xObject': - $o['info']['xObjects'][]=array('objNum'=>$options['objNum'],'label'=>$options['label']); - break; - case 'out': - if (count($o['info']['pages'])){ - $res="\n".$id." 0 obj\n<< /Type /Pages\n/Kids ["; - foreach($o['info']['pages'] as $k=>$v){ - $res.=$v." 0 R\n"; - } - $res.="]\n/Count ".count($this->objects[$id]['info']['pages']); - if ((isset($o['info']['fonts']) && count($o['info']['fonts'])) || isset($o['info']['procset'])){ - $res.="\n/Resources <<"; - if (isset($o['info']['procset'])){ - $res.="\n/ProcSet ".$o['info']['procset']." 0 R"; - } - if (isset($o['info']['fonts']) && count($o['info']['fonts'])){ - $res.="\n/Font << "; - foreach($o['info']['fonts'] as $finfo){ - $res.="\n/F".$finfo['fontNum']." ".$finfo['objNum']." 0 R"; - } - $res.=" >>"; - } - if (isset($o['info']['xObjects']) && count($o['info']['xObjects'])){ - $res.="\n/XObject << "; - foreach($o['info']['xObjects'] as $finfo){ - $res.="\n/".$finfo['label']." ".$finfo['objNum']." 0 R"; - } - $res.=" >>"; - } - $res.="\n>>"; - if (isset($o['info']['mediaBox'])){ - $tmp=$o['info']['mediaBox']; - $res.="\n/MediaBox [".sprintf('%.3f',$tmp[0]).' '.sprintf('%.3f',$tmp[1]).' '.sprintf('%.3f',$tmp[2]).' '.sprintf('%.3f',$tmp[3]).']'; - } - } - $res.="\n >>\nendobj"; - } else { - $res="\n".$id." 0 obj\n<< /Type /Pages\n/Count 0\n>>\nendobj"; - } - return $res; - break; - } -} - -/** -* define the outlines in the doc, empty for now -*/ -function o_outlines($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'outlines','info'=>array('outlines'=>array())); - $this->o_catalog($this->catalogId,'outlines',$id); - break; - case 'outline': - $o['info']['outlines'][]=$options; - break; - case 'out': - if (count($o['info']['outlines'])){ - $res="\n".$id." 0 obj\n<< /Type /Outlines /Kids ["; - foreach($o['info']['outlines'] as $k=>$v){ - $res.=$v." 0 R "; - } - $res.="] /Count ".count($o['info']['outlines'])." >>\nendobj"; - } else { - $res="\n".$id." 0 obj\n<< /Type /Outlines /Count 0 >>\nendobj"; - } - return $res; - break; - } -} - -/** -* an object to hold the font description -*/ -function o_font($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'font','info'=>array('name'=>$options['name'],'SubType'=>'Type1')); - $fontNum=$this->numFonts; - $this->objects[$id]['info']['fontNum']=$fontNum; - // deal with the encoding and the differences - if (isset($options['differences'])){ - // then we'll need an encoding dictionary - $this->numObj++; - $this->o_fontEncoding($this->numObj,'new',$options); - $this->objects[$id]['info']['encodingDictionary']=$this->numObj; - } else if (isset($options['encoding'])){ - // we can specify encoding here - switch($options['encoding']){ - case 'WinAnsiEncoding': - case 'MacRomanEncoding': - case 'MacExpertEncoding': - $this->objects[$id]['info']['encoding']=$options['encoding']; - break; - case 'none': - break; - default: - $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; - break; - } - } else { - $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; - } - // also tell the pages node about the new font - $this->o_pages($this->currentNode,'font',array('fontNum'=>$fontNum,'objNum'=>$id)); - break; - case 'add': - foreach ($options as $k=>$v){ - switch ($k){ - case 'BaseFont': - $o['info']['name'] = $v; - break; - case 'FirstChar': - case 'LastChar': - case 'Widths': - case 'FontDescriptor': - case 'SubType': - $this->addMessage('o_font '.$k." : ".$v); - $o['info'][$k] = $v; - break; - } - } - break; - case 'out': - $res="\n".$id." 0 obj\n<< /Type /Font\n/Subtype /".$o['info']['SubType']."\n"; - $res.="/Name /F".$o['info']['fontNum']."\n"; - $res.="/BaseFont /".$o['info']['name']."\n"; - if (isset($o['info']['encodingDictionary'])){ - // then place a reference to the dictionary - $res.="/Encoding ".$o['info']['encodingDictionary']." 0 R\n"; - } else if (isset($o['info']['encoding'])){ - // use the specified encoding - $res.="/Encoding /".$o['info']['encoding']."\n"; - } - if (isset($o['info']['FirstChar'])){ - $res.="/FirstChar ".$o['info']['FirstChar']."\n"; - } - if (isset($o['info']['LastChar'])){ - $res.="/LastChar ".$o['info']['LastChar']."\n"; - } - if (isset($o['info']['Widths'])){ - $res.="/Widths ".$o['info']['Widths']." 0 R\n"; - } - if (isset($o['info']['FontDescriptor'])){ - $res.="/FontDescriptor ".$o['info']['FontDescriptor']." 0 R\n"; - } - $res.=">>\nendobj"; - return $res; - break; - } -} - -/** -* a font descriptor, needed for including additional fonts -*/ -function o_fontDescriptor($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'fontDescriptor','info'=>$options); - break; - case 'out': - $res="\n".$id." 0 obj\n<< /Type /FontDescriptor\n"; - foreach ($o['info'] as $label => $value){ - switch ($label){ - case 'Ascent': - case 'CapHeight': - case 'Descent': - case 'Flags': - case 'ItalicAngle': - case 'StemV': - case 'AvgWidth': - case 'Leading': - case 'MaxWidth': - case 'MissingWidth': - case 'StemH': - case 'XHeight': - case 'CharSet': - if (strlen($value)){ - $res.='/'.$label.' '.$value."\n"; - } - break; - case 'FontFile': - case 'FontFile2': - case 'FontFile3': - $res.='/'.$label.' '.$value." 0 R\n"; - break; - case 'FontBBox': - $res.='/'.$label.' ['.$value[0].' '.$value[1].' '.$value[2].' '.$value[3]."]\n"; - break; - case 'FontName': - $res.='/'.$label.' /'.$value."\n"; - break; - } - } - $res.=">>\nendobj"; - return $res; - break; - } -} - -/** -* the font encoding -*/ -function o_fontEncoding($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - // the options array should contain 'differences' and maybe 'encoding' - $this->objects[$id]=array('t'=>'fontEncoding','info'=>$options); - break; - case 'out': - $res="\n".$id." 0 obj\n<< /Type /Encoding\n"; - if (!isset($o['info']['encoding'])){ - $o['info']['encoding']='WinAnsiEncoding'; - } - if ($o['info']['encoding']!='none'){ - $res.="/BaseEncoding /".$o['info']['encoding']."\n"; - } - $res.="/Differences \n["; - $onum=-100; - foreach($o['info']['differences'] as $num=>$label){ - if ($num!=$onum+1){ - // we cannot make use of consecutive numbering - $res.= "\n".$num." /".$label; - } else { - $res.= " /".$label; - } - $onum=$num; - } - $res.="\n]\n>>\nendobj"; - return $res; - break; - } -} - -/** -* the document procset, solves some problems with printing to old PS printers -*/ -function o_procset($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'procset','info'=>array('PDF'=>1,'Text'=>1)); - $this->o_pages($this->currentNode,'procset',$id); - $this->procsetObjectId=$id; - break; - case 'add': - // this is to add new items to the procset list, despite the fact that this is considered - // obselete, the items are required for printing to some postscript printers - switch ($options) { - case 'ImageB': - case 'ImageC': - case 'ImageI': - $o['info'][$options]=1; - break; - } - break; - case 'out': - $res="\n".$id." 0 obj\n["; - foreach ($o['info'] as $label=>$val){ - $res.='/'.$label.' '; - } - $res.="]\nendobj"; - return $res; - break; - } -} - -/** -* define the document information -*/ -function o_info($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->infoObject=$id; - $date='D:'.date('Ymd'); - $this->objects[$id]=array('t'=>'info','info'=>array('Creator'=>'R and OS php pdf writer, http://www.ros.co.nz','CreationDate'=>$date)); - break; - case 'Title': - case 'Author': - case 'Subject': - case 'Keywords': - case 'Creator': - case 'Producer': - case 'CreationDate': - case 'ModDate': - case 'Trapped': - $o['info'][$action]=$options; - break; - case 'out': - if ($this->encrypted){ - $this->encryptInit($id); - } - $res="\n".$id." 0 obj\n<<\n"; - foreach ($o['info'] as $k=>$v){ - $res.='/'.$k.' ('; - if ($this->encrypted){ - $res.=$this->filterText($this->ARC4($v)); - } else { - $res.=$this->filterText($v); - } - $res.=")\n"; - } - $res.=">>\nendobj"; - return $res; - break; - } -} - -/** -* an action object, used to link to URLS initially -*/ -function o_action($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - if (is_array($options)){ - $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>$options['type']); - } else { - // then assume a URI action - $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>'URI'); - } - break; - case 'out': - if ($this->encrypted){ - $this->encryptInit($id); - } - $res="\n".$id." 0 obj\n<< /Type /Action"; - switch($o['type']){ - case 'ilink': - // there will be an 'label' setting, this is the name of the destination - $res.="\n/S /GoTo\n/D ".$this->destinations[(string)$o['info']['label']]." 0 R"; - break; - case 'URI': - $res.="\n/S /URI\n/URI ("; - if ($this->encrypted){ - $res.=$this->filterText($this->ARC4($o['info'])); - } else { - $res.=$this->filterText($o['info']); - } - $res.=")"; - break; - } - $res.="\n>>\nendobj"; - return $res; - break; - } -} - -/** -* an annotation object, this will add an annotation to the current page. -* initially will support just link annotations -*/ -function o_annotation($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - // add the annotation to the current page - $pageId = $this->currentPage; - $this->o_page($pageId,'annot',$id); - // and add the action object which is going to be required - switch($options['type']){ - case 'link': - $this->objects[$id]=array('t'=>'annotation','info'=>$options); - $this->numObj++; - $this->o_action($this->numObj,'new',$options['url']); - $this->objects[$id]['info']['actionId']=$this->numObj; - break; - case 'ilink': - // this is to a named internal link - $label = $options['label']; - $this->objects[$id]=array('t'=>'annotation','info'=>$options); - $this->numObj++; - $this->o_action($this->numObj,'new',array('type'=>'ilink','label'=>$label)); - $this->objects[$id]['info']['actionId']=$this->numObj; - break; - } - break; - case 'out': - $res="\n".$id." 0 obj\n<< /Type /Annot"; - switch($o['info']['type']){ - case 'link': - case 'ilink': - $res.= "\n/Subtype /Link"; - break; - } - $res.="\n/A ".$o['info']['actionId']." 0 R"; - $res.="\n/Border [0 0 0]"; - $res.="\n/H /I"; - $res.="\n/Rect [ "; - foreach($o['info']['rect'] as $v){ - $res.= sprintf("%.4f ",$v); - } - $res.="]"; - $res.="\n>>\nendobj"; - return $res; - break; - } -} - -/** -* a page object, it also creates a contents object to hold its contents -*/ -function o_page($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->numPages++; - $this->objects[$id]=array('t'=>'page','info'=>array('parent'=>$this->currentNode,'pageNum'=>$this->numPages)); - if (is_array($options)){ - // then this must be a page insertion, array shoudl contain 'rid','pos'=[before|after] - $options['id']=$id; - $this->o_pages($this->currentNode,'page',$options); - } else { - $this->o_pages($this->currentNode,'page',$id); - } - $this->currentPage=$id; - //make a contents object to go with this page - $this->numObj++; - $this->o_contents($this->numObj,'new',$id); - $this->currentContents=$this->numObj; - $this->objects[$id]['info']['contents']=array(); - $this->objects[$id]['info']['contents'][]=$this->numObj; - $match = ($this->numPages%2 ? 'odd' : 'even'); - foreach($this->addLooseObjects as $oId=>$target){ - if ($target=='all' || $match==$target){ - $this->objects[$id]['info']['contents'][]=$oId; - } - } - break; - case 'content': - $o['info']['contents'][]=$options; - break; - case 'annot': - // add an annotation to this page - if (!isset($o['info']['annot'])){ - $o['info']['annot']=array(); - } - // $options should contain the id of the annotation dictionary - $o['info']['annot'][]=$options; - break; - case 'out': - $res="\n".$id." 0 obj\n<< /Type /Page"; - $res.="\n/Parent ".$o['info']['parent']." 0 R"; - if (isset($o['info']['annot'])){ - $res.="\n/Annots ["; - foreach($o['info']['annot'] as $aId){ - $res.=" ".$aId." 0 R"; - } - $res.=" ]"; - } - $count = count($o['info']['contents']); - if ($count==1){ - $res.="\n/Contents ".$o['info']['contents'][0]." 0 R"; - } else if ($count>1){ - $res.="\n/Contents [\n"; - foreach ($o['info']['contents'] as $cId){ - $res.=$cId." 0 R\n"; - } - $res.="]"; - } - $res.="\n>>\nendobj"; - return $res; - break; - } -} - -/** -* the contents objects hold all of the content which appears on pages -*/ -function o_contents($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch ($action){ - case 'new': - $this->objects[$id]=array('t'=>'contents','c'=>'','info'=>array()); - if (strlen($options) && intval($options)){ - // then this contents is the primary for a page - $this->objects[$id]['onPage']=$options; - } else if ($options=='raw'){ - // then this page contains some other type of system object - $this->objects[$id]['raw']=1; - } - break; - case 'add': - // add more options to the decleration - foreach ($options as $k=>$v){ - $o['info'][$k]=$v; - } - case 'out': - $tmp=$o['c']; - $res= "\n".$id." 0 obj\n"; - if (isset($this->objects[$id]['raw'])){ - $res.=$tmp; - } else { - $res.= "<<"; - if (function_exists('gzcompress') && $this->options['compression']){ - // then implement ZLIB based compression on this content stream - $res.=" /Filter /FlateDecode"; - $tmp = gzcompress($tmp); - } - if ($this->encrypted){ - $this->encryptInit($id); - $tmp = $this->ARC4($tmp); - } - foreach($o['info'] as $k=>$v){ - $res .= "\n/".$k.' '.$v; - } - $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream"; - } - $res.="\nendobj\n"; - return $res; - break; - } -} - -/** -* an image object, will be an XObject in the document, includes description and data -*/ -function o_image($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch($action){ - case 'new': - // make the new object - $this->objects[$id]=array('t'=>'image','data'=>$options['data'],'info'=>array()); - $this->objects[$id]['info']['Type']='/XObject'; - $this->objects[$id]['info']['Subtype']='/Image'; - $this->objects[$id]['info']['Width']=$options['iw']; - $this->objects[$id]['info']['Height']=$options['ih']; - if (!isset($options['type']) || $options['type']=='jpg'){ - if (!isset($options['channels'])){ - $options['channels']=3; - } - switch($options['channels']){ - case 1: - $this->objects[$id]['info']['ColorSpace']='/DeviceGray'; - break; - default: - $this->objects[$id]['info']['ColorSpace']='/DeviceRGB'; - break; - } - $this->objects[$id]['info']['Filter']='/DCTDecode'; - $this->objects[$id]['info']['BitsPerComponent']=8; - } else if ($options['type']=='png'){ - $this->objects[$id]['info']['Filter']='/FlateDecode'; - $this->objects[$id]['info']['DecodeParms']='<< /Predictor 15 /Colors '.$options['ncolor'].' /Columns '.$options['iw'].' /BitsPerComponent '.$options['bitsPerComponent'].'>>'; - if (strlen($options['pdata'])){ - $tmp = ' [ /Indexed /DeviceRGB '.(strlen($options['pdata'])/3-1).' '; - $this->numObj++; - $this->o_contents($this->numObj,'new'); - $this->objects[$this->numObj]['c']=$options['pdata']; - $tmp.=$this->numObj.' 0 R'; - $tmp .=' ]'; - $this->objects[$id]['info']['ColorSpace'] = $tmp; - if (isset($options['transparency'])){ - switch($options['transparency']['type']){ - case 'indexed': - $tmp=' [ '.$options['transparency']['data'].' '.$options['transparency']['data'].'] '; - $this->objects[$id]['info']['Mask'] = $tmp; - break; - } - } - } else { - $this->objects[$id]['info']['ColorSpace']='/'.$options['color']; - } - $this->objects[$id]['info']['BitsPerComponent']=$options['bitsPerComponent']; - } - // assign it a place in the named resource dictionary as an external object, according to - // the label passed in with it. - $this->o_pages($this->currentNode,'xObject',array('label'=>$options['label'],'objNum'=>$id)); - // also make sure that we have the right procset object for it. - $this->o_procset($this->procsetObjectId,'add','ImageC'); - break; - case 'out': - $tmp=$o['data']; - $res= "\n".$id." 0 obj\n<<"; - foreach($o['info'] as $k=>$v){ - $res.="\n/".$k.' '.$v; - } - if ($this->encrypted){ - $this->encryptInit($id); - $tmp = $this->ARC4($tmp); - } - $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream\nendobj\n"; - return $res; - break; - } -} - -/** -* encryption object. -*/ -function o_encryption($id,$action,$options=''){ - if ($action!='new'){ - $o =& $this->objects[$id]; - } - switch($action){ - case 'new': - // make the new object - $this->objects[$id]=array('t'=>'encryption','info'=>$options); - $this->arc4_objnum=$id; - // figure out the additional paramaters required - $pad = chr(0x28).chr(0xBF).chr(0x4E).chr(0x5E).chr(0x4E).chr(0x75).chr(0x8A).chr(0x41).chr(0x64).chr(0x00).chr(0x4E).chr(0x56).chr(0xFF).chr(0xFA).chr(0x01).chr(0x08).chr(0x2E).chr(0x2E).chr(0x00).chr(0xB6).chr(0xD0).chr(0x68).chr(0x3E).chr(0x80).chr(0x2F).chr(0x0C).chr(0xA9).chr(0xFE).chr(0x64).chr(0x53).chr(0x69).chr(0x7A); - $len = strlen($options['owner']); - if ($len>32){ - $owner = substr($options['owner'],0,32); - } else if ($len<32){ - $owner = $options['owner'].substr($pad,0,32-$len); - } else { - $owner = $options['owner']; - } - $len = strlen($options['user']); - if ($len>32){ - $user = substr($options['user'],0,32); - } else if ($len<32){ - $user = $options['user'].substr($pad,0,32-$len); - } else { - $user = $options['user']; - } - $tmp = $this->md5_16($owner); - $okey = substr($tmp,0,5); - $this->ARC4_init($okey); - $ovalue=$this->ARC4($user); - $this->objects[$id]['info']['O']=$ovalue; - // now make the u value, phew. - $tmp = $this->md5_16($user.$ovalue.chr($options['p']).chr(255).chr(255).chr(255).$this->fileIdentifier); - $ukey = substr($tmp,0,5); - - $this->ARC4_init($ukey); - $this->encryptionKey = $ukey; - $this->encrypted=1; - $uvalue=$this->ARC4($pad); - - $this->objects[$id]['info']['U']=$uvalue; - $this->encryptionKey=$ukey; - - // initialize the arc4 array - break; - case 'out': - $res= "\n".$id." 0 obj\n<<"; - $res.="\n/Filter /Standard"; - $res.="\n/V 1"; - $res.="\n/R 2"; - $res.="\n/O (".$this->filterText($o['info']['O']).')'; - $res.="\n/U (".$this->filterText($o['info']['U']).')'; - // and the p-value needs to be converted to account for the twos-complement approach - $o['info']['p'] = (($o['info']['p']^255)+1)*-1; - $res.="\n/P ".($o['info']['p']); - $res.="\n>>\nendobj\n"; - - return $res; - break; - } -} - -/** -* ARC4 functions -* A series of function to implement ARC4 encoding in PHP -*/ - -/** -* calculate the 16 byte version of the 128 bit md5 digest of the string -*/ -function md5_16($string){ - $tmp = md5($string); - $out=''; - for ($i=0;$i<=30;$i=$i+2){ - $out.=chr(hexdec(substr($tmp,$i,2))); - } - return $out; -} - -/** -* initialize the encryption for processing a particular object -*/ -function encryptInit($id){ - $tmp = $this->encryptionKey; - $hex = dechex($id); - if (strlen($hex)<6){ - $hex = substr('000000',0,6-strlen($hex)).$hex; - } - $tmp.= chr(hexdec(substr($hex,4,2))).chr(hexdec(substr($hex,2,2))).chr(hexdec(substr($hex,0,2))).chr(0).chr(0); - $key = $this->md5_16($tmp); - $this->ARC4_init(substr($key,0,10)); -} - -/** -* initialize the ARC4 encryption -*/ -function ARC4_init($key=''){ - $this->arc4 = ''; - // setup the control array - if (strlen($key)==0){ - return; - } - $k = ''; - while(strlen($k)<256){ - $k.=$key; - } - $k=substr($k,0,256); - for ($i=0;$i<256;$i++){ - $this->arc4 .= chr($i); - } - $j=0; - for ($i=0;$i<256;$i++){ - $t = $this->arc4[$i]; - $j = ($j + ord($t) + ord($k[$i]))%256; - $this->arc4[$i]=$this->arc4[$j]; - $this->arc4[$j]=$t; - } -} - -/** -* ARC4 encrypt a text string -*/ -function ARC4($text){ - $len=strlen($text); - $a=0; - $b=0; - $c = $this->arc4; - $out=''; - for ($i=0;$i<$len;$i++){ - $a = ($a+1)%256; - $t= $c[$a]; - $b = ($b+ord($t))%256; - $c[$a]=$c[$b]; - $c[$b]=$t; - $k = ord($c[(ord($c[$a])+ord($c[$b]))%256]); - $out.=chr(ord($text[$i]) ^ $k); - } - - return $out; -} - -/** -* functions which can be called to adjust or add to the document -*/ - -/** -* add a link in the document to an external URL -*/ -function addLink($url,$x0,$y0,$x1,$y1){ - $this->numObj++; - $info = array('type'=>'link','url'=>$url,'rect'=>array($x0,$y0,$x1,$y1)); - $this->o_annotation($this->numObj,'new',$info); -} - -/** -* add a link in the document to an internal destination (ie. within the document) -*/ -function addInternalLink($label,$x0,$y0,$x1,$y1){ - $this->numObj++; - $info = array('type'=>'ilink','label'=>$label,'rect'=>array($x0,$y0,$x1,$y1)); - $this->o_annotation($this->numObj,'new',$info); -} - -/** -* set the encryption of the document -* can be used to turn it on and/or set the passwords which it will have. -* also the functions that the user will have are set here, such as print, modify, add -*/ -function setEncryption($userPass='',$ownerPass='',$pc=array()){ - $p=bindec(11000000); - - $options = array( - 'print'=>4 - ,'modify'=>8 - ,'copy'=>16 - ,'add'=>32 - ); - foreach($pc as $k=>$v){ - if ($v && isset($options[$k])){ - $p+=$options[$k]; - } else if (isset($options[$v])){ - $p+=$options[$v]; - } - } - // implement encryption on the document - if ($this->arc4_objnum == 0){ - // then the block does not exist already, add it. - $this->numObj++; - if (strlen($ownerPass)==0){ - $ownerPass=$userPass; - } - $this->o_encryption($this->numObj,'new',array('user'=>$userPass,'owner'=>$ownerPass,'p'=>$p)); - } -} - -/** -* should be used for internal checks, not implemented as yet -*/ -function checkAllHere(){ -} - -/** -* return the pdf stream as a string returned from the function -*/ -function output($debug=0){ - - if ($debug){ - // turn compression off - $this->options['compression']=0; - } - - if ($this->arc4_objnum){ - $this->ARC4_init($this->encryptionKey); - } - - $this->checkAllHere(); - - $xref=array(); - $content="%PDF-1.3\n%\n"; -// $content="%PDF-1.3\n"; - $pos=strlen($content); - foreach($this->objects as $k=>$v){ - $tmp='o_'.$v['t']; - $cont=$this->$tmp($k,'out'); - $content.=$cont; - $xref[]=$pos; - $pos+=strlen($cont); - } - $content.="\nxref\n0 ".(count($xref)+1)."\n0000000000 65535 f \n"; - foreach($xref as $p){ - $content.=substr('0000000000',0,10-strlen($p)).$p." 00000 n \n"; - } - $content.="\ntrailer\n << /Size ".(count($xref)+1)."\n /Root 1 0 R\n /Info ".$this->infoObject." 0 R\n"; - // if encryption has been applied to this document then add the marker for this dictionary - if ($this->arc4_objnum > 0){ - $content .= "/Encrypt ".$this->arc4_objnum." 0 R\n"; - } - if (strlen($this->fileIdentifier)){ - $content .= "/ID[<".$this->fileIdentifier."><".$this->fileIdentifier.">]\n"; - } - $content .= " >>\nstartxref\n".$pos."\n%%EOF\n"; - return $content; -} - -/** -* intialize a new document -* if this is called on an existing document results may be unpredictable, but the existing document would be lost at minimum -* this function is called automatically by the constructor function -* -* @access private -*/ -function newDocument($pageSize=array(0,0,612,792)){ - $this->numObj=0; - $this->objects = array(); - - $this->numObj++; - $this->o_catalog($this->numObj,'new'); - - $this->numObj++; - $this->o_outlines($this->numObj,'new'); - - $this->numObj++; - $this->o_pages($this->numObj,'new'); - - $this->o_pages($this->numObj,'mediaBox',$pageSize); - $this->currentNode = 3; - - $this->numObj++; - $this->o_procset($this->numObj,'new'); - - $this->numObj++; - $this->o_info($this->numObj,'new'); - - $this->numObj++; - $this->o_page($this->numObj,'new'); - - // need to store the first page id as there is no way to get it to the user during - // startup - $this->firstPageId = $this->currentContents; -} - -/** -* open the font file and return a php structure containing it. -* first check if this one has been done before and saved in a form more suited to php -* note that if a php serialized version does not exist it will try and make one, but will -* require write access to the directory to do it... it is MUCH faster to have these serialized -* files. -* -* @access private -*/ -function openFont($font){ - // assume that $font contains both the path and perhaps the extension to the file, split them - $pos=strrpos($font,'/'); - if ($pos===false){ - $dir = './'; - $name = $font; - } else { - $dir=substr($font,0,$pos+1); - $name=substr($font,$pos+1); - } - - if (substr($name,-4)=='.afm'){ - $name=substr($name,0,strlen($name)-4); - } - $this->addMessage('openFont: '.$font.' - '.$name); - if (file_exists($dir.'php_'.$name.'.afm')){ - $this->addMessage('openFont: php file exists '.$dir.'php_'.$name.'.afm'); - $tmp = file($dir.'php_'.$name.'.afm'); - $this->fonts[$font]=unserialize($tmp[0]); - if (!isset($this->fonts[$font]['_version_']) || $this->fonts[$font]['_version_']<1){ - // if the font file is old, then clear it out and prepare for re-creation - $this->addMessage('openFont: clear out, make way for new version.'); - unset($this->fonts[$font]); - } - } - if (!isset($this->fonts[$font]) && file_exists($dir.$name.'.afm')){ - // then rebuild the php_.afm file from the .afm file - $this->addMessage('openFont: build php file from '.$dir.$name.'.afm'); - $data = array(); - $file = file($dir.$name.'.afm'); - foreach ($file as $rowA){ - $row=trim($rowA); - $pos=strpos($row,' '); - if ($pos){ - // then there must be some keyword - $key = substr($row,0,$pos); - switch ($key){ - case 'FontName': - case 'FullName': - case 'FamilyName': - case 'Weight': - case 'ItalicAngle': - case 'IsFixedPitch': - case 'CharacterSet': - case 'UnderlinePosition': - case 'UnderlineThickness': - case 'Version': - case 'EncodingScheme': - case 'CapHeight': - case 'XHeight': - case 'Ascender': - case 'Descender': - case 'StdHW': - case 'StdVW': - case 'StartCharMetrics': - $data[$key]=trim(substr($row,$pos)); - break; - case 'FontBBox': - $data[$key]=explode(' ',trim(substr($row,$pos))); - break; - case 'C': - //C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ; - $bits=explode(';',trim($row)); - $dtmp=array(); - foreach($bits as $bit){ - $bits2 = explode(' ',trim($bit)); - if (strlen($bits2[0])){ - if (count($bits2)>2){ - $dtmp[$bits2[0]]=array(); - for ($i=1;$i=0){ - $data['C'][$dtmp['C']]=$dtmp; - $data['C'][$dtmp['N']]=$dtmp; - } else { - $data['C'][$dtmp['N']]=$dtmp; - } - break; - case 'KPX': - //KPX Adieresis yacute -40 - $bits=explode(' ',trim($row)); - $data['KPX'][$bits[1]][$bits[2]]=$bits[3]; - break; - } - } - } - $data['_version_']=1; - $this->fonts[$font]=$data; - $fp = fopen($dir.'php_'.$name.'.afm','w'); - fwrite($fp,serialize($data)); - fclose($fp); - } else if (!isset($this->fonts[$font])){ - $this->addMessage('openFont: no font file found'); -// echo 'Font not Found '.$font; - } -} - -/** -* if the font is not loaded then load it and make the required object -* else just make it the current font -* the encoding array can contain 'encoding'=> 'none','WinAnsiEncoding','MacRomanEncoding' or 'MacExpertEncoding' -* note that encoding='none' will need to be used for symbolic fonts -* and 'differences' => an array of mappings between numbers 0->255 and character names. -* -*/ -function selectFont($fontName,$encoding='',$set=1){ - if (!isset($this->fonts[$fontName])){ - // load the file - $this->openFont($fontName); - if (isset($this->fonts[$fontName])){ - $this->numObj++; - $this->numFonts++; - $pos=strrpos($fontName,'/'); -// $dir=substr($fontName,0,$pos+1); - $name=substr($fontName,$pos+1); - if (substr($name,-4)=='.afm'){ - $name=substr($name,0,strlen($name)-4); - } - $options=array('name'=>$name); - if (is_array($encoding)){ - // then encoding and differences might be set - if (isset($encoding['encoding'])){ - $options['encoding']=$encoding['encoding']; - } - if (isset($encoding['differences'])){ - $options['differences']=$encoding['differences']; - } - } else if (strlen($encoding)){ - // then perhaps only the encoding has been set - $options['encoding']=$encoding; - } - $fontObj = $this->numObj; - $this->o_font($this->numObj,'new',$options); - $this->fonts[$fontName]['fontNum']=$this->numFonts; - // if this is a '.afm' font, and there is a '.pfa' file to go with it ( as there - // should be for all non-basic fonts), then load it into an object and put the - // references into the font object - $basefile = substr($fontName,0,strlen($fontName)-4); - if (file_exists($basefile.'.pfb')){ - $fbtype = 'pfb'; - } else if (file_exists($basefile.'.ttf')){ - $fbtype = 'ttf'; - } else { - $fbtype=''; - } - $fbfile = $basefile.'.'.$fbtype; - -// $pfbfile = substr($fontName,0,strlen($fontName)-4).'.pfb'; -// $ttffile = substr($fontName,0,strlen($fontName)-4).'.ttf'; - $this->addMessage('selectFont: checking for - '.$fbfile); - if (substr($fontName,-4)=='.afm' && strlen($fbtype) ){ - $adobeFontName = $this->fonts[$fontName]['FontName']; -// $fontObj = $this->numObj; - $this->addMessage('selectFont: adding font file - '.$fbfile.' - '.$adobeFontName); - // find the array of fond widths, and put that into an object. - $firstChar = -1; - $lastChar = 0; - $widths = array(); - foreach ($this->fonts[$fontName]['C'] as $num=>$d){ - if (intval($num)>0 || $num=='0'){ - if ($lastChar>0 && $num>$lastChar+1){ - for($i=$lastChar+1;$i<$num;$i++){ - $widths[] = 0; - } - } - $widths[] = $d['WX']; - if ($firstChar==-1){ - $firstChar = $num; - } - $lastChar = $num; - } - } - // also need to adjust the widths for the differences array - if (isset($options['differences'])){ - foreach($options['differences'] as $charNum=>$charName){ - if ($charNum>$lastChar){ - for($i=$lastChar+1;$i<=$charNum;$i++){ - $widths[]=0; - } - $lastChar=$charNum; - } - if (isset($this->fonts[$fontName]['C'][$charName])){ - $widths[$charNum-$firstChar]=$this->fonts[$fontName]['C'][$charName]['WX']; - } - } - } - $this->addMessage('selectFont: FirstChar='.$firstChar); - $this->addMessage('selectFont: LastChar='.$lastChar); - $this->numObj++; - $this->o_contents($this->numObj,'new','raw'); - $this->objects[$this->numObj]['c'].='['; - foreach($widths as $width){ - $this->objects[$this->numObj]['c'].=' '.$width; - } - $this->objects[$this->numObj]['c'].=' ]'; - $widthid = $this->numObj; - - // load the pfb file, and put that into an object too. - // note that pdf supports only binary format type 1 font files, though there is a - // simple utility to convert them from pfa to pfb. - $fp = fopen($fbfile,'rb'); - $tmp = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $data = fread($fp,filesize($fbfile)); - set_magic_quotes_runtime($tmp); - fclose($fp); - - // create the font descriptor - $this->numObj++; - $fontDescriptorId = $this->numObj; - $this->numObj++; - $pfbid = $this->numObj; - // determine flags (more than a little flakey, hopefully will not matter much) - $flags=0; - if ($this->fonts[$fontName]['ItalicAngle']!=0){ $flags+=pow(2,6); } - if ($this->fonts[$fontName]['IsFixedPitch']=='true'){ $flags+=1; } - $flags+=pow(2,5); // assume non-sybolic - - $list = array('Ascent'=>'Ascender','CapHeight'=>'CapHeight','Descent'=>'Descender','FontBBox'=>'FontBBox','ItalicAngle'=>'ItalicAngle'); - $fdopt = array( - 'Flags'=>$flags - ,'FontName'=>$adobeFontName - ,'StemV'=>100 // don't know what the value for this should be! - ); - foreach($list as $k=>$v){ - if (isset($this->fonts[$fontName][$v])){ - $fdopt[$k]=$this->fonts[$fontName][$v]; - } - } - - if ($fbtype=='pfb'){ - $fdopt['FontFile']=$pfbid; - } else if ($fbtype=='ttf'){ - $fdopt['FontFile2']=$pfbid; - } - $this->o_fontDescriptor($fontDescriptorId,'new',$fdopt); - - // embed the font program - $this->o_contents($this->numObj,'new'); - $this->objects[$pfbid]['c'].=$data; - // determine the cruicial lengths within this file - if ($fbtype=='pfb'){ - $l1 = strpos($data,'eexec')+6; - $l2 = strpos($data,'00000000')-$l1; - $l3 = strlen($data)-$l2-$l1; - $this->o_contents($this->numObj,'add',array('Length1'=>$l1,'Length2'=>$l2,'Length3'=>$l3)); - } else if ($fbtype=='ttf'){ - $l1 = strlen($data); - $this->o_contents($this->numObj,'add',array('Length1'=>$l1)); - } - - - // tell the font object about all this new stuff - $tmp = array('BaseFont'=>$adobeFontName,'Widths'=>$widthid - ,'FirstChar'=>$firstChar,'LastChar'=>$lastChar - ,'FontDescriptor'=>$fontDescriptorId); - if ($fbtype=='ttf'){ - $tmp['SubType']='TrueType'; - } - $this->addMessage('adding extra info to font.('.$fontObj.')'); - foreach($tmp as $fk=>$fv){ - $this->addMessage($fk." : ".$fv); - } - $this->o_font($fontObj,'add',$tmp); - - } else { - $this->addMessage('selectFont: pfb or ttf file not found, ok if this is one of the 14 standard fonts'); - } - - - // also set the differences here, note that this means that these will take effect only the - //first time that a font is selected, else they are ignored - if (isset($options['differences'])){ - $this->fonts[$fontName]['differences']=$options['differences']; - } - } - } - if ($set && isset($this->fonts[$fontName])){ - // so if for some reason the font was not set in the last one then it will not be selected - $this->currentBaseFont=$fontName; - // the next line means that if a new font is selected, then the current text state will be - // applied to it as well. - $this->setCurrentFont(); - } - return $this->currentFontNum; -} - -/** -* sets up the current font, based on the font families, and the current text state -* note that this system is quite flexible, a <><> font can be completely different to a -* <><> font, and even <><> will have to be defined within the family to have meaning -* This function is to be called whenever the currentTextState is changed, it will update -* the currentFont setting to whatever the appropriatte family one is. -* If the user calls selectFont themselves then that will reset the currentBaseFont, and the currentFont -* This function will change the currentFont to whatever it should be, but will not change the -* currentBaseFont. -* -* @access private -*/ -function setCurrentFont(){ - if (strlen($this->currentBaseFont)==0){ - // then assume an initial font - $this->selectFont('./fonts/Helvetica.afm'); - } - $cf = substr($this->currentBaseFont,strrpos($this->currentBaseFont,'/')+1); - if (strlen($this->currentTextState) - && isset($this->fontFamilies[$cf]) - && isset($this->fontFamilies[$cf][$this->currentTextState])){ - // then we are in some state or another - // and this font has a family, and the current setting exists within it - // select the font, then return it - $nf = substr($this->currentBaseFont,0,strrpos($this->currentBaseFont,'/')+1).$this->fontFamilies[$cf][$this->currentTextState]; - $this->selectFont($nf,'',0); - $this->currentFont = $nf; - $this->currentFontNum = $this->fonts[$nf]['fontNum']; - } else { - // the this font must not have the right family member for the current state - // simply assume the base font - $this->currentFont = $this->currentBaseFont; - $this->currentFontNum = $this->fonts[$this->currentFont]['fontNum']; - } -} - -/** -* function for the user to find out what the ID is of the first page that was created during -* startup - useful if they wish to add something to it later. -*/ -function getFirstPageId(){ - return $this->firstPageId; -} - -/** -* add content to the currently active object -* -* @access private -*/ -function addContent($content){ - $this->objects[$this->currentContents]['c'].=$content; -} - -/** -* sets the colour for fill operations -*/ -function setColor($r,$g,$b,$force=0){ - if ($r>=0 && ($force || $r!=$this->currentColour['r'] || $g!=$this->currentColour['g'] || $b!=$this->currentColour['b'])){ - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' rg'; - $this->currentColour=array('r'=>$r,'g'=>$g,'b'=>$b); - } -} - -/** -* sets the colour for stroke operations -*/ -function setStrokeColor($r,$g,$b,$force=0){ - if ($r>=0 && ($force || $r!=$this->currentStrokeColour['r'] || $g!=$this->currentStrokeColour['g'] || $b!=$this->currentStrokeColour['b'])){ - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' RG'; - $this->currentStrokeColour=array('r'=>$r,'g'=>$g,'b'=>$b); - } -} - -/** -* draw a line from one set of coordinates to another -*/ -function line($x1,$y1,$x2,$y2){ - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' m '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' l S'; -} - -/** -* draw a bezier curve based on 4 control points -*/ -function curve($x0,$y0,$x1,$y1,$x2,$y2,$x3,$y3){ - // in the current line style, draw a bezier curve from (x0,y0) to (x3,y3) using the other two points - // as the control points for the curve. - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' m '.sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1); - $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' '.sprintf('%.3f',$x3).' '.sprintf('%.3f',$y3).' c S'; -} - -/** -* draw a part of an ellipse -*/ -function partEllipse($x0,$y0,$astart,$afinish,$r1,$r2=0,$angle=0,$nSeg=8){ - $this->ellipse($x0,$y0,$r1,$r2,$angle,$nSeg,$astart,$afinish,0); -} - -/** -* draw a filled ellipse -*/ -function filledEllipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360){ - return $this->ellipse($x0,$y0,$r1,$r2=0,$angle,$nSeg,$astart,$afinish,1,1); -} - -/** -* draw an ellipse -* note that the part and filled ellipse are just special cases of this function -* -* draws an ellipse in the current line style -* centered at $x0,$y0, radii $r1,$r2 -* if $r2 is not set, then a circle is drawn -* nSeg is not allowed to be less than 2, as this will simply draw a line (and will even draw a -* pretty crappy shape at 2, as we are approximating with bezier curves. -*/ -function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0){ - if ($r1==0){ - return; - } - if ($r2==0){ - $r2=$r1; - } - if ($nSeg<2){ - $nSeg=2; - } - - $astart = deg2rad((float)$astart); - $afinish = deg2rad((float)$afinish); - $totalAngle =$afinish-$astart; - - $dt = $totalAngle/$nSeg; - $dtm = $dt/3; - - if ($angle != 0){ - $a = -1*deg2rad((float)$angle); - $tmp = "\n q "; - $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; - $tmp .= sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' cm'; - $this->objects[$this->currentContents]['c'].= $tmp; - $x0=0; - $y0=0; - } - - $t1 = $astart; - $a0 = $x0+$r1*cos($t1); - $b0 = $y0+$r2*sin($t1); - $c0 = -$r1*sin($t1); - $d0 = $r2*cos($t1); - - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$a0).' '.sprintf('%.3f',$b0).' m '; - for ($i=1;$i<=$nSeg;$i++){ - // draw this bit of the total curve - $t1 = $i*$dt+$astart; - $a1 = $x0+$r1*cos($t1); - $b1 = $y0+$r2*sin($t1); - $c1 = -$r1*sin($t1); - $d1 = $r2*cos($t1); - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',($a0+$c0*$dtm)).' '.sprintf('%.3f',($b0+$d0*$dtm)); - $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',($a1-$c1*$dtm)).' '.sprintf('%.3f',($b1-$d1*$dtm)).' '.sprintf('%.3f',$a1).' '.sprintf('%.3f',$b1).' c'; - $a0=$a1; - $b0=$b1; - $c0=$c1; - $d0=$d1; - } - if ($fill){ - $this->objects[$this->currentContents]['c'].=' f'; - } else { - if ($close){ - $this->objects[$this->currentContents]['c'].=' s'; // small 's' signifies closing the path as well - } else { - $this->objects[$this->currentContents]['c'].=' S'; - } - } - if ($angle !=0){ - $this->objects[$this->currentContents]['c'].=' Q'; - } -} - -/** -* this sets the line drawing style. -* width, is the thickness of the line in user units -* cap is the type of cap to put on the line, values can be 'butt','round','square' -* where the diffference between 'square' and 'butt' is that 'square' projects a flat end past the -* end of the line. -* join can be 'miter', 'round', 'bevel' -* dash is an array which sets the dash pattern, is a series of length values, which are the lengths of the -* on and off dashes. -* (2) represents 2 on, 2 off, 2 on , 2 off ... -* (2,1) is 2 on, 1 off, 2 on, 1 off.. etc -* phase is a modifier on the dash pattern which is used to shift the point at which the pattern starts. -*/ -function setLineStyle($width=1,$cap='',$join='',$dash='',$phase=0){ - - // this is quite inefficient in that it sets all the parameters whenever 1 is changed, but will fix another day - $string = ''; - if ($width>0){ - $string.= $width.' w'; - } - $ca = array('butt'=>0,'round'=>1,'square'=>2); - if (isset($ca[$cap])){ - $string.= ' '.$ca[$cap].' J'; - } - $ja = array('miter'=>0,'round'=>1,'bevel'=>2); - if (isset($ja[$join])){ - $string.= ' '.$ja[$join].' j'; - } - if (is_array($dash)){ - $string.= ' ['; - foreach ($dash as $len){ - $string.=' '.$len; - } - $string.= ' ] '.$phase.' d'; - } - $this->currentLineStyle = $string; - $this->objects[$this->currentContents]['c'].="\n".$string; -} - -/** -* draw a polygon, the syntax for this is similar to the GD polygon command -*/ -function polygon($p,$np,$f=0){ - $this->objects[$this->currentContents]['c'].="\n"; - $this->objects[$this->currentContents]['c'].=sprintf('%.3f',$p[0]).' '.sprintf('%.3f',$p[1]).' m '; - for ($i=2;$i<$np*2;$i=$i+2){ - $this->objects[$this->currentContents]['c'].= sprintf('%.3f',$p[$i]).' '.sprintf('%.3f',$p[$i+1]).' l '; - } - if ($f==1){ - $this->objects[$this->currentContents]['c'].=' f'; - } else { - $this->objects[$this->currentContents]['c'].=' S'; - } -} - -/** -* a filled rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not -* the coordinates of the upper-right corner -*/ -function filledRectangle($x1,$y1,$width,$height){ - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re f'; -} - -/** -* draw a rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not -* the coordinates of the upper-right corner -*/ -function rectangle($x1,$y1,$width,$height){ - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re S'; -} - -/** -* add a new page to the document -* this also makes the new page the current active object -*/ -function newPage($insert=0,$id=0,$pos='after'){ - - // if there is a state saved, then go up the stack closing them - // then on the new page, re-open them with the right setings - - if ($this->nStateStack){ - for ($i=$this->nStateStack;$i>=1;$i--){ - $this->restoreState($i); - } - } - - $this->numObj++; - if ($insert){ - // the id from the ezPdf class is the od of the contents of the page, not the page object itself - // query that object to find the parent - $rid = $this->objects[$id]['onPage']; - $opt= array('rid'=>$rid,'pos'=>$pos); - $this->o_page($this->numObj,'new',$opt); - } else { - $this->o_page($this->numObj,'new'); - } - // if there is a stack saved, then put that onto the page - if ($this->nStateStack){ - for ($i=1;$i<=$this->nStateStack;$i++){ - $this->saveState($i); - } - } - // and if there has been a stroke or fill colour set, then transfer them - if ($this->currentColour['r']>=0){ - $this->setColor($this->currentColour['r'],$this->currentColour['g'],$this->currentColour['b'],1); - } - if ($this->currentStrokeColour['r']>=0){ - $this->setStrokeColor($this->currentStrokeColour['r'],$this->currentStrokeColour['g'],$this->currentStrokeColour['b'],1); - } - - // if there is a line style set, then put this in too - if (strlen($this->currentLineStyle)){ - $this->objects[$this->currentContents]['c'].="\n".$this->currentLineStyle; - } - - // the call to the o_page object set currentContents to the present page, so this can be returned as the page id - return $this->currentContents; -} - -/** -* output the pdf code, streaming it to the browser -* the relevant headers are set so that hopefully the browser will recognise it -*/ -function stream($options=''){ - // setting the options allows the adjustment of the headers - // values at the moment are: - // 'Content-Disposition'=>'filename' - sets the filename, though not too sure how well this will - // work as in my trial the browser seems to use the filename of the php file with .pdf on the end - // 'Accept-Ranges'=>1 or 0 - if this is not set to 1, then this header is not included, off by default - // this header seems to have caused some problems despite tha fact that it is supposed to solve - // them, so I am leaving it off by default. - // 'compress'=> 1 or 0 - apply content stream compression, this is on (1) by default - if (!is_array($options)){ - $options=array(); - } - if ( isset($options['compress']) && $options['compress']==0){ - $tmp = $this->output(1); - } else { - $tmp = $this->output(); - } - header("Content-type: application/pdf"); - header("Content-Length: ".strlen(ltrim($tmp))); - $fileName = (isset($options['Content-Disposition'])?$options['Content-Disposition']:'file.pdf'); - header("Content-Disposition: inline; filename=".$fileName); - if (isset($options['Accept-Ranges']) && $options['Accept-Ranges']==1){ - header("Accept-Ranges: ".strlen(ltrim($tmp))); - } - echo ltrim($tmp); -} - -/** -* return the height in units of the current font in the given size -*/ -function getFontHeight($size){ - if (!$this->numFonts){ - $this->selectFont('./fonts/Helvetica'); - } - // for the current font, and the given size, what is the height of the font in user units - $h = $this->fonts[$this->currentFont]['FontBBox'][3]-$this->fonts[$this->currentFont]['FontBBox'][1]; - return $size*$h/1000; -} - -/** -* return the font decender, this will normally return a negative number -* if you add this number to the baseline, you get the level of the bottom of the font -* it is in the pdf user units -*/ -function getFontDecender($size){ - // note that this will most likely return a negative value - if (!$this->numFonts){ - $this->selectFont('./fonts/Helvetica'); - } - $h = $this->fonts[$this->currentFont]['FontBBox'][1]; - return $size*$h/1000; -} - -/** -* filter the text, this is applied to all text just before being inserted into the pdf document -* it escapes the various things that need to be escaped, and so on -* -* @access private -*/ -function filterText($text){ - $text = str_replace('\\','\\\\',$text); - $text = str_replace('(','\(',$text); - $text = str_replace(')','\)',$text); - $text = str_replace('<','<',$text); - $text = str_replace('>','>',$text); - $text = str_replace(''','\'',$text); - $text = str_replace('"','"',$text); - $text = str_replace('&','&',$text); - - return $text; -} - -/** -* given a start position and information about how text is to be laid out, calculate where -* on the page the text will end -* -* @access private -*/ -function PRVTgetTextPosition($x,$y,$angle,$size,$wa,$text){ - // given this information return an array containing x and y for the end position as elements 0 and 1 - $w = $this->getTextWidth($size,$text); - // need to adjust for the number of spaces in this text - $words = explode(' ',$text); - $nspaces=count($words)-1; - $w += $wa*$nspaces; - $a = deg2rad((float)$angle); - return array(cos($a)*$w+$x,-sin($a)*$w+$y); -} - -/** -* wrapper function for PRVTcheckTextDirective1 -* -* @access private -*/ -function PRVTcheckTextDirective(&$text,$i,&$f){ - $x=0; - $y=0; - return $this->PRVTcheckTextDirective1($text,$i,$f,0,$x,$y); -} - -/** -* checks if the text stream contains a control directive -* if so then makes some changes and returns the number of characters involved in the directive -* this has been re-worked to include everything neccesary to fins the current writing point, so that -* the location can be sent to the callback function if required -* if the directive does not require a font change, then $f should be set to 0 -* -* @access private -*/ -function PRVTcheckTextDirective1(&$text,$i,&$f,$final,&$x,&$y,$size=0,$angle=0,$wordSpaceAdjust=0){ - $directive = 0; - $j=$i; - if ($text[$j]=='<'){ - $j++; - switch($text[$j]){ - case '/': - $j++; - if (strlen($text) <= $j){ - return $directive; - } - switch($text[$j]){ - case 'b': - case 'i': - $j++; - if ($text[$j]=='>'){ - $p = strrpos($this->currentTextState,$text[$j-1]); - if ($p !== false){ - // then there is one to remove - $this->currentTextState = substr($this->currentTextState,0,$p).substr($this->currentTextState,$p+1); - } - $directive=$j-$i+1; - } - break; - case 'c': - // this this might be a callback function - $j++; - $k = strpos($text,'>',$j); - if ($k!==false && $text[$j]==':'){ - // then this will be treated as a callback directive - $directive = $k-$i+1; - $f=0; - // split the remainder on colons to get the function name and the paramater - $tmp = substr($text,$j+1,$k-$j-1); - $b1 = strpos($tmp,':'); - if ($b1!==false){ - $func = substr($tmp,0,$b1); - $parm = substr($tmp,$b1+1); - } else { - $func=$tmp; - $parm=''; - } - if (!isset($func) || !strlen(trim($func))){ - $directive=0; - } else { - // only call the function if this is the final call - if ($final){ - // need to assess the text position, calculate the text width to this point - // can use getTextWidth to find the text width I think - $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); - $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'end','p'=>$parm,'nCallback'=>$this->nCallback); - $x=$tmp[0]; - $y=$tmp[1]; - $ret = $this->$func($info); - if (is_array($ret)){ - // then the return from the callback function could set the position, to start with, later will do font colour, and font - foreach($ret as $rk=>$rv){ - switch($rk){ - case 'x': - case 'y': - $$rk=$rv; - break; - } - } - } - // also remove from to the stack - // for simplicity, just take from the end, fix this another day - $this->nCallback--; - if ($this->nCallback<0){ - $this->nCallBack=0; - } - } - } - } - break; - } - break; - case 'b': - case 'i': - $j++; - if ($text[$j]=='>'){ - $this->currentTextState.=$text[$j-1]; - $directive=$j-$i+1; - } - break; - case 'C': - $noClose=1; - case 'c': - // this this might be a callback function - $j++; - $k = strpos($text,'>',$j); - if ($k!==false && $text[$j]==':'){ - // then this will be treated as a callback directive - $directive = $k-$i+1; - $f=0; - // split the remainder on colons to get the function name and the paramater -// $bits = explode(':',substr($text,$j+1,$k-$j-1)); - $tmp = substr($text,$j+1,$k-$j-1); - $b1 = strpos($tmp,':'); - if ($b1!==false){ - $func = substr($tmp,0,$b1); - $parm = substr($tmp,$b1+1); - } else { - $func=$tmp; - $parm=''; - } - if (!isset($func) || !strlen(trim($func))){ - $directive=0; - } else { - // only call the function if this is the final call, ie, the one actually doing printing, not measurement - if ($final){ - // need to assess the text position, calculate the text width to this point - // can use getTextWidth to find the text width I think - // also add the text height and decender - $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); - $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'start','p'=>$parm,'f'=>$func,'height'=>$this->getFontHeight($size),'decender'=>$this->getFontDecender($size)); - $x=$tmp[0]; - $y=$tmp[1]; - if (!isset($noClose) || !$noClose){ - // only add to the stack if this is a small 'c', therefore is a start-stop pair - $this->nCallback++; - $info['nCallback']=$this->nCallback; - $this->callback[$this->nCallback]=$info; - } - $ret = $this->$func($info); - if (is_array($ret)){ - // then the return from the callback function could set the position, to start with, later will do font colour, and font - foreach($ret as $rk=>$rv){ - switch($rk){ - case 'x': - case 'y': - $$rk=$rv; - break; - } - } - } - } - } - } - break; - } - } - return $directive; -} - -/** -* add text to the document, at a specified location, size and angle on the page -*/ -function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){ - if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} - - // if there are any open callbacks, then they should be called, to show the start of the line - if ($this->nCallback>0){ - for ($i=$this->nCallback;$i>0;$i--){ - // call each function - $info = array('x'=>$x,'y'=>$y,'angle'=>$angle,'status'=>'sol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); - $func = $this->callback[$i]['f']; - $this->$func($info); - } - } - if ($angle==0){ - $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Td'; - } else { - $a = deg2rad((float)$angle); - $tmp = "\n".'BT '; - $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; - $tmp .= sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Tm'; - $this->objects[$this->currentContents]['c'] .= $tmp; - } - if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ - $this->wordSpaceAdjust=$wordSpaceAdjust; - $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; - } - $len=strlen($text); - $start=0; - for ($i=0;$i<$len;$i++){ - $f=1; - $directive = $this->PRVTcheckTextDirective($text,$i,$f); - if ($directive){ - // then we should write what we need to - if ($i>$start){ - $part = substr($text,$start,$i-$start); - $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; - $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; - } - if ($f){ - // then there was nothing drastic done here, restore the contents - $this->setCurrentFont(); - } else { - $this->objects[$this->currentContents]['c'] .= ' ET'; - $f=1; - $xp=$x; - $yp=$y; - $directive = $this->PRVTcheckTextDirective1($text,$i,$f,1,$xp,$yp,$size,$angle,$wordSpaceAdjust); - - // restart the text object - if ($angle==0){ - $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Td'; - } else { - $a = deg2rad((float)$angle); - $tmp = "\n".'BT '; - $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; - $tmp .= sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Tm'; - $this->objects[$this->currentContents]['c'] .= $tmp; - } - if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ - $this->wordSpaceAdjust=$wordSpaceAdjust; - $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; - } - } - // and move the writing point to the next piece of text - $i=$i+$directive-1; - $start=$i+1; - } - - } - if ($start<$len){ - $part = substr($text,$start); - $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; - $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; - } - $this->objects[$this->currentContents]['c'].=' ET'; - - // if there are any open callbacks, then they should be called, to show the end of the line - if ($this->nCallback>0){ - for ($i=$this->nCallback;$i>0;$i--){ - // call each function - $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,$text); - $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'eol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); - $func = $this->callback[$i]['f']; - $this->$func($info); - } - } - -} - -/** -* calculate how wide a given text string will be on a page, at a given size. -* this can be called externally, but is alse used by the other class functions -*/ -function getTextWidth($size,$text){ - // this function should not change any of the settings, though it will need to - // track any directives which change during calculation, so copy them at the start - // and put them back at the end. - $store_currentTextState = $this->currentTextState; - - if (!$this->numFonts){ - $this->selectFont('./fonts/Helvetica'); - } - - // converts a number or a float to a string so it can get the width - $text = "$text"; - - // hmm, this is where it all starts to get tricky - use the font information to - // calculate the width of each character, add them up and convert to user units - $w=0; - $len=strlen($text); - $cf = $this->currentFont; - for ($i=0;$i<$len;$i++){ - $f=1; - $directive = $this->PRVTcheckTextDirective($text,$i,$f); - if ($directive){ - if ($f){ - $this->setCurrentFont(); - $cf = $this->currentFont; - } - $i=$i+$directive-1; - } else { - $char=ord($text[$i]); - if (isset($this->fonts[$cf]['differences'][$char])){ - // then this character is being replaced by another - $name = $this->fonts[$cf]['differences'][$char]; - if (isset($this->fonts[$cf]['C'][$name]['WX'])){ - $w+=$this->fonts[$cf]['C'][$name]['WX']; - } - } else if (isset($this->fonts[$cf]['C'][$char]['WX'])){ - $w+=$this->fonts[$cf]['C'][$char]['WX']; - } - } - } - - $this->currentTextState = $store_currentTextState; - $this->setCurrentFont(); - - return $w*$size/1000; -} - -/** -* do a part of the calculation for sorting out the justification of the text -* -* @access private -*/ -function PRVTadjustWrapText($text,$actual,$width,&$x,&$adjust,$justification){ - switch ($justification){ - case 'left': - return; - break; - case 'right': - $x+=$width-$actual; - break; - case 'center': - case 'centre': - $x+=($width-$actual)/2; - break; - case 'full': - // count the number of words - $words = explode(' ',$text); - $nspaces=count($words)-1; - if ($nspaces>0){ - $adjust = ($width-$actual)/$nspaces; - } else { - $adjust=0; - } - break; - } -} - -/** -* add text to the page, but ensure that it fits within a certain width -* if it does not fit then put in as much as possible, splitting at word boundaries -* and return the remainder. -* justification and angle can also be specified for the text -*/ -function addTextWrap($x,$y,$width,$size,$text,$justification='left',$angle=0,$test=0){ - // this will display the text, and if it goes beyond the width $width, will backtrack to the - // previous space or hyphen, and return the remainder of the text. - - // $justification can be set to 'left','right','center','centre','full' - - // need to store the initial text state, as this will change during the width calculation - // but will need to be re-set before printing, so that the chars work out right - $store_currentTextState = $this->currentTextState; - - if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} - if ($width<=0){ - // error, pretend it printed ok, otherwise risking a loop - return ''; - } - $w=0; - $break=0; - $breakWidth=0; - $len=strlen($text); - $cf = $this->currentFont; - $tw = $width/$size*1000; - for ($i=0;$i<$len;$i++){ - $f=1; - $directive = $this->PRVTcheckTextDirective($text,$i,$f); - if ($directive){ - if ($f){ - $this->setCurrentFont(); - $cf = $this->currentFont; - } - $i=$i+$directive-1; - } else { - $cOrd = ord($text[$i]); - if (isset($this->fonts[$cf]['differences'][$cOrd])){ - // then this character is being replaced by another - $cOrd2 = $this->fonts[$cf]['differences'][$cOrd]; - } else { - $cOrd2 = $cOrd; - } - - if (isset($this->fonts[$cf]['C'][$cOrd2]['WX'])){ - $w+=$this->fonts[$cf]['C'][$cOrd2]['WX']; - } - if ($w>$tw){ - // then we need to truncate this line - if ($break>0){ - // then we have somewhere that we can split :) - if ($text[$break]==' '){ - $tmp = substr($text,0,$break); - } else { - $tmp = substr($text,0,$break+1); - } - $adjust=0; - $this->PRVTadjustWrapText($tmp,$breakWidth,$width,$x,$adjust,$justification); - - // reset the text state - $this->currentTextState = $store_currentTextState; - $this->setCurrentFont(); - if (!$test){ - $this->addText($x,$y,$size,$tmp,$angle,$adjust); - } - return substr($text,$break+1); - } else { - // just split before the current character - $tmp = substr($text,0,$i); - $adjust=0; - $ctmp=ord($text[$i]); - if (isset($this->fonts[$cf]['differences'][$ctmp])){ - $ctmp=$this->fonts[$cf]['differences'][$ctmp]; - } - $tmpw=($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; - $this->PRVTadjustWrapText($tmp,$tmpw,$width,$x,$adjust,$justification); - // reset the text state - $this->currentTextState = $store_currentTextState; - $this->setCurrentFont(); - if (!$test){ - $this->addText($x,$y,$size,$tmp,$angle,$adjust); - } - return substr($text,$i); - } - } - if ($text[$i]=='-'){ - $break=$i; - $breakWidth = $w*$size/1000; - } - if ($text[$i]==' '){ - $break=$i; - $ctmp=ord($text[$i]); - if (isset($this->fonts[$cf]['differences'][$ctmp])){ - $ctmp=$this->fonts[$cf]['differences'][$ctmp]; - } - $breakWidth = ($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; - } - } - } - // then there was no need to break this line - if ($justification=='full'){ - $justification='left'; - } - $adjust=0; - $tmpw=$w*$size/1000; - $this->PRVTadjustWrapText($text,$tmpw,$width,$x,$adjust,$justification); - // reset the text state - $this->currentTextState = $store_currentTextState; - $this->setCurrentFont(); - if (!$test){ - $this->addText($x,$y,$size,$text,$angle,$adjust,$angle); - } - return ''; -} - -/** -* this will be called at a new page to return the state to what it was on the -* end of the previous page, before the stack was closed down -* This is to get around not being able to have open 'q' across pages -* -*/ -function saveState($pageEnd=0){ - if ($pageEnd){ - // this will be called at a new page to return the state to what it was on the - // end of the previous page, before the stack was closed down - // This is to get around not being able to have open 'q' across pages - $opt = $this->stateStack[$pageEnd]; // ok to use this as stack starts numbering at 1 - $this->setColor($opt['col']['r'],$opt['col']['g'],$opt['col']['b'],1); - $this->setStrokeColor($opt['str']['r'],$opt['str']['g'],$opt['str']['b'],1); - $this->objects[$this->currentContents]['c'].="\n".$opt['lin']; -// $this->currentLineStyle = $opt['lin']; - } else { - $this->nStateStack++; - $this->stateStack[$this->nStateStack]=array( - 'col'=>$this->currentColour - ,'str'=>$this->currentStrokeColour - ,'lin'=>$this->currentLineStyle - ); - } - $this->objects[$this->currentContents]['c'].="\nq"; -} - -/** -* restore a previously saved state -*/ -function restoreState($pageEnd=0){ - if (!$pageEnd){ - $n = $this->nStateStack; - $this->currentColour = $this->stateStack[$n]['col']; - $this->currentStrokeColour = $this->stateStack[$n]['str']; - $this->objects[$this->currentContents]['c'].="\n".$this->stateStack[$n]['lin']; - $this->currentLineStyle = $this->stateStack[$n]['lin']; - unset($this->stateStack[$n]); - $this->nStateStack--; - } - $this->objects[$this->currentContents]['c'].="\nQ"; -} - -/** -* make a loose object, the output will go into this object, until it is closed, then will revert to -* the current one. -* this object will not appear until it is included within a page. -* the function will return the object number -*/ -function openObject(){ - $this->nStack++; - $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); - // add a new object of the content type, to hold the data flow - $this->numObj++; - $this->o_contents($this->numObj,'new'); - $this->currentContents=$this->numObj; - $this->looseObjects[$this->numObj]=1; - - return $this->numObj; -} - -/** -* open an existing object for editing -*/ -function reopenObject($id){ - $this->nStack++; - $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); - $this->currentContents=$id; - // also if this object is the primary contents for a page, then set the current page to its parent - if (isset($this->objects[$id]['onPage'])){ - $this->currentPage = $this->objects[$id]['onPage']; - } -} - -/** -* close an object -*/ -function closeObject(){ - // close the object, as long as there was one open in the first place, which will be indicated by - // an objectId on the stack. - if ($this->nStack>0){ - $this->currentContents=$this->stack[$this->nStack]['c']; - $this->currentPage=$this->stack[$this->nStack]['p']; - $this->nStack--; - // easier to probably not worry about removing the old entries, they will be overwritten - // if there are new ones. - } -} - -/** -* stop an object from appearing on pages from this point on -*/ -function stopObject($id){ - // if an object has been appearing on pages up to now, then stop it, this page will - // be the last one that could contian it. - if (isset($this->addLooseObjects[$id])){ - $this->addLooseObjects[$id]=''; - } -} - -/** -* after an object has been created, it wil only show if it has been added, using this function. -*/ -function addObject($id,$options='add'){ - // add the specified object to the page - if (isset($this->looseObjects[$id]) && $this->currentContents!=$id){ - // then it is a valid object, and it is not being added to itself - switch($options){ - case 'all': - // then this object is to be added to this page (done in the next block) and - // all future new pages. - $this->addLooseObjects[$id]='all'; - case 'add': - if (isset($this->objects[$this->currentContents]['onPage'])){ - // then the destination contents is the primary for the page - // (though this object is actually added to that page) - $this->o_page($this->objects[$this->currentContents]['onPage'],'content',$id); - } - break; - case 'even': - $this->addLooseObjects[$id]='even'; - $pageObjectId=$this->objects[$this->currentContents]['onPage']; - if ($this->objects[$pageObjectId]['info']['pageNum']%2==0){ - $this->addObject($id); // hacky huh :) - } - break; - case 'odd': - $this->addLooseObjects[$id]='odd'; - $pageObjectId=$this->objects[$this->currentContents]['onPage']; - if ($this->objects[$pageObjectId]['info']['pageNum']%2==1){ - $this->addObject($id); // hacky huh :) - } - break; - case 'next': - $this->addLooseObjects[$id]='all'; - break; - case 'nexteven': - $this->addLooseObjects[$id]='even'; - break; - case 'nextodd': - $this->addLooseObjects[$id]='odd'; - break; - } - } -} - -/** -* add content to the documents info object -*/ -function addInfo($label,$value=0){ - // this will only work if the label is one of the valid ones. - // modify this so that arrays can be passed as well. - // if $label is an array then assume that it is key=>value pairs - // else assume that they are both scalar, anything else will probably error - if (is_array($label)){ - foreach ($label as $l=>$v){ - $this->o_info($this->infoObject,$l,$v); - } - } else { - $this->o_info($this->infoObject,$label,$value); - } -} - -/** -* set the viewer preferences of the document, it is up to the browser to obey these. -*/ -function setPreferences($label,$value=0){ - // this will only work if the label is one of the valid ones. - if (is_array($label)){ - foreach ($label as $l=>$v){ - $this->o_catalog($this->catalogId,'viewerPreferences',array($l=>$v)); - } - } else { - $this->o_catalog($this->catalogId,'viewerPreferences',array($label=>$value)); - } -} - -/** -* extract an integer from a position in a byte stream -* -* @access private -*/ -function PRVT_getBytes(&$data,$pos,$num){ - // return the integer represented by $num bytes from $pos within $data - $ret=0; - for ($i=0;$i<$num;$i++){ - $ret=$ret*256; - $ret+=ord($data[$pos+$i]); - } - return $ret; -} - -/** -* add a PNG image into the document, from a file -* this should work with remote files -*/ -function addPngFromFile($file,$x,$y,$w=0,$h=0){ - // read in a png file, interpret it, then add to the system - $error=0; - $tmp = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $fp = @fopen($file,'rb'); - if ($fp){ - $data=''; - while(!feof($fp)){ - $data .= fread($fp,1024); - } - fclose($fp); - } else { - $error = 1; - $errormsg = 'trouble opening file: '.$file; - } - set_magic_quotes_runtime($tmp); - - if (!$error){ - $header = chr(137).chr(80).chr(78).chr(71).chr(13).chr(10).chr(26).chr(10); - if (substr($data,0,8)!=$header){ - $error=1; - $errormsg = 'this file does not have a valid header'; - } - } - - if (!$error){ - // set pointer - $p = 8; - $len = strlen($data); - // cycle through the file, identifying chunks - $haveHeader=0; - $info=array(); - $idata=''; - $pdata=''; - while ($p<$len){ - $chunkLen = $this->PRVT_getBytes($data,$p,4); - $chunkType = substr($data,$p+4,4); -// echo $chunkType.' - '.$chunkLen.'
    '; - - switch($chunkType){ - case 'IHDR': - // this is where all the file information comes from - $info['width']=$this->PRVT_getBytes($data,$p+8,4); - $info['height']=$this->PRVT_getBytes($data,$p+12,4); - $info['bitDepth']=ord($data[$p+16]); - $info['colorType']=ord($data[$p+17]); - $info['compressionMethod']=ord($data[$p+18]); - $info['filterMethod']=ord($data[$p+19]); - $info['interlaceMethod']=ord($data[$p+20]); -//print_r($info); - $haveHeader=1; - if ($info['compressionMethod']!=0){ - $error=1; - $errormsg = 'unsupported compression method'; - } - if ($info['filterMethod']!=0){ - $error=1; - $errormsg = 'unsupported filter method'; - } - break; - case 'PLTE': - $pdata.=substr($data,$p+8,$chunkLen); - break; - case 'IDAT': - $idata.=substr($data,$p+8,$chunkLen); - break; - case 'tRNS': - //this chunk can only occur once and it must occur after the PLTE chunk and before IDAT chunk - //print "tRNS found, color type = ".$info['colorType']."
    "; - $transparency = array(); - if ($info['colorType'] == 3) { // indexed color, rbg - /* corresponding to entries in the plte chunk - Alpha for palette index 0: 1 byte - Alpha for palette index 1: 1 byte - ...etc... - */ - // there will be one entry for each palette entry. up until the last non-opaque entry. - // set up an array, stretching over all palette entries which will be o (opaque) or 1 (transparent) - $transparency['type']='indexed'; - $numPalette = strlen($pdata)/3; - $trans=0; - for ($i=$chunkLen;$i>=0;$i--){ - if (ord($data[$p+8+$i])==0){ - $trans=$i; - } - } - $transparency['data'] = $trans; - - } elseif($info['colorType'] == 0) { // grayscale - /* corresponding to entries in the plte chunk - Gray: 2 bytes, range 0 .. (2^bitdepth)-1 - */ -// $transparency['grayscale']=$this->PRVT_getBytes($data,$p+8,2); // g = grayscale - $transparency['type']='indexed'; - $transparency['data'] = ord($data[$p+8+1]); - - } elseif($info['colorType'] == 2) { // truecolor - /* corresponding to entries in the plte chunk - Red: 2 bytes, range 0 .. (2^bitdepth)-1 - Green: 2 bytes, range 0 .. (2^bitdepth)-1 - Blue: 2 bytes, range 0 .. (2^bitdepth)-1 - */ - $transparency['r']=$this->PRVT_getBytes($data,$p+8,2); // r from truecolor - $transparency['g']=$this->PRVT_getBytes($data,$p+10,2); // g from truecolor - $transparency['b']=$this->PRVT_getBytes($data,$p+12,2); // b from truecolor - - } else { - //unsupported transparency type - } - // KS End new code - break; - default: - break; - } - - $p += $chunkLen+12; - } - - if(!$haveHeader){ - $error = 1; - $errormsg = 'information header is missing'; - } - if (isset($info['interlaceMethod']) && $info['interlaceMethod']){ - $error = 1; - $errormsg = 'There appears to be no support for interlaced images in pdf.'; - } - } - - if (!$error && $info['bitDepth'] > 8){ - $error = 1; - $errormsg = 'only bit depth of 8 or less is supported'; - } - - if (!$error){ - if ($info['colorType']!=2 && $info['colorType']!=0 && $info['colorType']!=3){ - $error = 1; - $errormsg = 'transparancey alpha channel not supported, transparency only supported for palette images.'; - } else { - switch ($info['colorType']){ - case 3: - $color = 'DeviceRGB'; - $ncolor=1; - break; - case 2: - $color = 'DeviceRGB'; - $ncolor=3; - break; - case 0: - $color = 'DeviceGray'; - $ncolor=1; - break; - } - } - } - if ($error){ - $this->addMessage('PNG error - ('.$file.') '.$errormsg); - return; - } - if ($w==0){ - $w=$h/$info['height']*$info['width']; - } - if ($h==0){ - $h=$w*$info['height']/$info['width']; - } -//print_r($info); - // so this image is ok... add it in. - $this->numImages++; - $im=$this->numImages; - $label='I'.$im; - $this->numObj++; -// $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$idata,'iw'=>$w,'ih'=>$h,'type'=>'png','ic'=>$info['width'])); - $options = array('label'=>$label,'data'=>$idata,'bitsPerComponent'=>$info['bitDepth'],'pdata'=>$pdata - ,'iw'=>$info['width'],'ih'=>$info['height'],'type'=>'png','color'=>$color,'ncolor'=>$ncolor); - if (isset($transparency)){ - $options['transparency']=$transparency; - } - $this->o_image($this->numObj,'new',$options); - - $this->objects[$this->currentContents]['c'].="\nq"; - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; - $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; - $this->objects[$this->currentContents]['c'].="\nQ"; -} - -/** -* add a JPEG image into the document, from a file -*/ -function addJpegFromFile($img,$x,$y,$w=0,$h=0){ - // attempt to add a jpeg image straight from a file, using no GD commands - // note that this function is unable to operate on a remote file. - - if (!file_exists($img)){ - return; - } - - $tmp=getimagesize($img); - $imageWidth=$tmp[0]; - $imageHeight=$tmp[1]; - - if (isset($tmp['channels'])){ - $channels = $tmp['channels']; - } else { - $channels = 3; - } - - if ($w<=0 && $h<=0){ - $w=$imageWidth; - } - if ($w==0){ - $w=$h/$imageHeight*$imageWidth; - } - if ($h==0){ - $h=$w*$imageHeight/$imageWidth; - } - - $fp=fopen($img,'rb'); - - $tmp = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $data = fread($fp,filesize($img)); - set_magic_quotes_runtime($tmp); - - fclose($fp); - - $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight,$channels); -} - -/** -* add an image into the document, from a GD object -* this function is not all that reliable, and I would probably encourage people to use -* the file based functions -*/ -function addImage(&$img,$x,$y,$w=0,$h=0,$quality=75){ - // add a new image into the current location, as an external object - // add the image at $x,$y, and with width and height as defined by $w & $h - - // note that this will only work with full colour images and makes them jpg images for display - // later versions could present lossless image formats if there is interest. - - // there seems to be some problem here in that images that have quality set above 75 do not appear - // not too sure why this is, but in the meantime I have restricted this to 75. - if ($quality>75){ - $quality=75; - } - - // if the width or height are set to zero, then set the other one based on keeping the image - // height/width ratio the same, if they are both zero, then give up :) - $imageWidth=imagesx($img); - $imageHeight=imagesy($img); - - if ($w<=0 && $h<=0){ - return; - } - if ($w==0){ - $w=$h/$imageHeight*$imageWidth; - } - if ($h==0){ - $h=$w*$imageHeight/$imageWidth; - } - - // gotta get the data out of the img.. - - // so I write to a temp file, and then read it back.. soo ugly, my apologies. - $tmpDir='/tmp'; - $tmpName=tempnam($tmpDir,'img'); - imagejpeg($img,$tmpName,$quality); - $fp=fopen($tmpName,'rb'); - - $tmp = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $fp = @fopen($tmpName,'rb'); - if ($fp){ - $data=''; - while(!feof($fp)){ - $data .= fread($fp,1024); - } - fclose($fp); - } else { - $error = 1; - $errormsg = 'trouble opening file'; - } -// $data = fread($fp,filesize($tmpName)); - set_magic_quotes_runtime($tmp); -// fclose($fp); - unlink($tmpName); - $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight); -} - -/** -* common code used by the two JPEG adding functions -* -* @access private -*/ -function addJpegImage_common(&$data,$x,$y,$w=0,$h=0,$imageWidth,$imageHeight,$channels=3){ - // note that this function is not to be called externally - // it is just the common code between the GD and the file options - $this->numImages++; - $im=$this->numImages; - $label='I'.$im; - $this->numObj++; - $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$data,'iw'=>$imageWidth,'ih'=>$imageHeight,'channels'=>$channels)); - - $this->objects[$this->currentContents]['c'].="\nq"; - $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; - $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; - $this->objects[$this->currentContents]['c'].="\nQ"; -} - -/** -* specify where the document should open when it first starts -*/ -function openHere($style,$a=0,$b=0,$c=0){ - // this function will open the document at a specified page, in a specified style - // the values for style, and the required paramters are: - // 'XYZ' left, top, zoom - // 'Fit' - // 'FitH' top - // 'FitV' left - // 'FitR' left,bottom,right - // 'FitB' - // 'FitBH' top - // 'FitBV' left - $this->numObj++; - $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); - $id = $this->catalogId; - $this->o_catalog($id,'openHere',$this->numObj); -} - -/** -* create a labelled destination within the document -*/ -function addDestination($label,$style,$a=0,$b=0,$c=0){ - // associates the given label with the destination, it is done this way so that a destination can be specified after - // it has been linked to - // styles are the same as the 'openHere' function - $this->numObj++; - $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); - $id = $this->numObj; - // store the label->idf relationship, note that this means that labels can be used only once - $this->destinations["$label"]=$id; -} - -/** -* define font families, this is used to initialize the font families for the default fonts -* and for the user to add new ones for their fonts. The default bahavious can be overridden should -* that be desired. -*/ -function setFontFamily($family,$options=''){ - if (!is_array($options)){ - if ($family=='init'){ - // set the known family groups - // these font families will be used to enable bold and italic markers to be included - // within text streams. html forms will be used... - $this->fontFamilies['Helvetica.afm']=array( - 'b'=>'Helvetica-Bold.afm' - ,'i'=>'Helvetica-Oblique.afm' - ,'bi'=>'Helvetica-BoldOblique.afm' - ,'ib'=>'Helvetica-BoldOblique.afm' - ); - $this->fontFamilies['Courier.afm']=array( - 'b'=>'Courier-Bold.afm' - ,'i'=>'Courier-Oblique.afm' - ,'bi'=>'Courier-BoldOblique.afm' - ,'ib'=>'Courier-BoldOblique.afm' - ); - $this->fontFamilies['Times-Roman.afm']=array( - 'b'=>'Times-Bold.afm' - ,'i'=>'Times-Italic.afm' - ,'bi'=>'Times-BoldItalic.afm' - ,'ib'=>'Times-BoldItalic.afm' - ); - } - } else { - // the user is trying to set a font family - // note that this can also be used to set the base ones to something else - if (strlen($family)){ - $this->fontFamilies[$family] = $options; - } - } -} - -/** -* used to add messages for use in debugging -*/ -function addMessage($message){ - $this->messages.=$message."\n"; -} - -/** -* a few functions which should allow the document to be treated transactionally. -*/ -function transaction($action){ - switch ($action){ - case 'start': - // store all the data away into the checkpoint variable - $data = get_object_vars($this); - $this->checkpoint = $data; - unset($data); - break; - case 'commit': - if (is_array($this->checkpoint) && isset($this->checkpoint['checkpoint'])){ - $tmp = $this->checkpoint['checkpoint']; - $this->checkpoint = $tmp; - unset($tmp); - } else { - $this->checkpoint=''; - } - break; - case 'rewind': - // do not destroy the current checkpoint, but move us back to the state then, so that we can try again - if (is_array($this->checkpoint)){ - // can only abort if were inside a checkpoint - $tmp = $this->checkpoint; - foreach ($tmp as $k=>$v){ - if ($k != 'checkpoint'){ - $this->$k=$v; - } - } - unset($tmp); - } - break; - case 'abort': - if (is_array($this->checkpoint)){ - // can only abort if were inside a checkpoint - $tmp = $this->checkpoint; - foreach ($tmp as $k=>$v){ - $this->$k=$v; - } - unset($tmp); - } - break; - } - -} - -} // end of class - + +* @version 009 +* @package Cpdf +* @link http://www.ros.co.nz/pdf +*/ +class Cpdf { + +/** +* the current number of pdf objects in the document +*/ +var $numObj=0; +/** +* this array contains all of the pdf objects, ready for final assembly +*/ +var $objects = array(); +/** +* the objectId (number within the objects array) of the document catalog +*/ +var $catalogId; +/** +* array carrying information about the fonts that the system currently knows about +* used to ensure that a font is not loaded twice, among other things +*/ +var $fonts=array(); +/** +* a record of the current font +*/ +var $currentFont=''; +/** +* the current base font +*/ +var $currentBaseFont=''; +/** +* the number of the current font within the font array +*/ +var $currentFontNum=0; +/** +* +*/ +var $currentNode; +/** +* object number of the current page +*/ +var $currentPage; +/** +* object number of the currently active contents block +*/ +var $currentContents; +/** +* number of fonts within the system +*/ +var $numFonts=0; +/** +* current colour for fill operations, defaults to inactive value, all three components should be between 0 and 1 inclusive when active +*/ +var $currentColour=array('r'=>-1,'g'=>-1,'b'=>-1); +/** +* current colour for stroke operations (lines etc.) +*/ +var $currentStrokeColour=array('r'=>-1,'g'=>-1,'b'=>-1); +/** +* current style that lines are drawn in +*/ +var $currentLineStyle=''; +/** +* an array which is used to save the state of the document, mainly the colours and styles +* it is used to temporarily change to another state, the change back to what it was before +*/ +var $stateStack = array(); +/** +* number of elements within the state stack +*/ +var $nStateStack = 0; +/** +* number of page objects within the document +*/ +var $numPages=0; +/** +* object Id storage stack +*/ +var $stack=array(); +/** +* number of elements within the object Id storage stack +*/ +var $nStack=0; +/** +* an array which contains information about the objects which are not firmly attached to pages +* these have been added with the addObject function +*/ +var $looseObjects=array(); +/** +* array contains infomation about how the loose objects are to be added to the document +*/ +var $addLooseObjects=array(); +/** +* the objectId of the information object for the document +* this contains authorship, title etc. +*/ +var $infoObject=0; +/** +* number of images being tracked within the document +*/ +var $numImages=0; +/** +* an array containing options about the document +* it defaults to turning on the compression of the objects +*/ +var $options=array('compression'=>1); +/** +* the objectId of the first page of the document +*/ +var $firstPageId; +/** +* used to track the last used value of the inter-word spacing, this is so that it is known +* when the spacing is changed. +*/ +var $wordSpaceAdjust=0; +/** +* the object Id of the procset object +*/ +var $procsetObjectId; +/** +* store the information about the relationship between font families +* this used so that the code knows which font is the bold version of another font, etc. +* the value of this array is initialised in the constuctor function. +*/ +var $fontFamilies = array(); +/** +* track if the current font is bolded or italicised +*/ +var $currentTextState = ''; +/** +* messages are stored here during processing, these can be selected afterwards to give some useful debug information +*/ +var $messages=''; +/** +* the ancryption array for the document encryption is stored here +*/ +var $arc4=''; +/** +* the object Id of the encryption information +*/ +var $arc4_objnum=0; +/** +* the file identifier, used to uniquely identify a pdf document +*/ +var $fileIdentifier=''; +/** +* a flag to say if a document is to be encrypted or not +*/ +var $encrypted=0; +/** +* the ancryption key for the encryption of all the document content (structure is not encrypted) +*/ +var $encryptionKey=''; +/** +* array which forms a stack to keep track of nested callback functions +*/ +var $callback = array(); +/** +* the number of callback functions in the callback array +*/ +var $nCallback = 0; +/** +* store label->id pairs for named destinations, these will be used to replace internal links +* done this way so that destinations can be defined after the location that links to them +*/ +var $destinations = array(); +/** +* store the stack for the transaction commands, each item in here is a record of the values of all the +* variables within the class, so that the user can rollback at will (from each 'start' command) +* note that this includes the objects array, so these can be large. +*/ +var $checkpoint = ''; +/** +* class constructor +* this will start a new document +* @var array array of 4 numbers, defining the bottom left and upper right corner of the page. first two are normally zero. +*/ +function Cpdf ($pageSize=array(0,0,612,792)){ + $this->newDocument($pageSize); + + // also initialize the font families that are known about already + $this->setFontFamily('init'); +// $this->fileIdentifier = md5('xxxxxxxx'.time()); + +} + +/** +* Document object methods (internal use only) +* +* There is about one object method for each type of object in the pdf document +* Each function has the same call list ($id,$action,$options). +* $id = the object ID of the object, or what it is to be if it is being created +* $action = a string specifying the action to be performed, though ALL must support: +* 'new' - create the object with the id $id +* 'out' - produce the output for the pdf object +* $options = optional, a string or array containing the various parameters for the object +* +* These, in conjunction with the output function are the ONLY way for output to be produced +* within the pdf 'file'. +*/ + +/** +*destination object, used to specify the location for the user to jump to, presently on opening +*/ +function o_destination($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + $this->objects[$id]=array('t'=>'destination','info'=>array()); + $tmp = ''; + switch ($options['type']){ + case 'XYZ': + case 'FitR': + $tmp = ' '.$options['p3'].$tmp; + case 'FitH': + case 'FitV': + case 'FitBH': + case 'FitBV': + $tmp = ' '.$options['p1'].' '.$options['p2'].$tmp; + case 'Fit': + case 'FitB': + $tmp = $options['type'].$tmp; + $this->objects[$id]['info']['string']=$tmp; + $this->objects[$id]['info']['page']=$options['page']; + } + break; + case 'out': + $tmp = $o['info']; + $res="\n".$id." 0 obj\n".'['.$tmp['page'].' 0 R /'.$tmp['string']."]\nendobj\n"; + return $res; + break; + } +} + +/** +* set the viewer preferences +*/ +function o_viewerPreferences($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'viewerPreferences','info'=>array()); + break; + case 'add': + foreach($options as $k=>$v){ + switch ($k){ + case 'HideToolbar': + case 'HideMenubar': + case 'HideWindowUI': + case 'FitWindow': + case 'CenterWindow': + case 'NonFullScreenPageMode': + case 'Direction': + $o['info'][$k]=$v; + break; + } + } + break; + case 'out': + + $res="\n".$id." 0 obj\n".'<< '; + foreach($o['info'] as $k=>$v){ + $res.="\n/".$k.' '.$v; + } + $res.="\n>>\n"; + return $res; + break; + } +} + +/** +* define the document catalog, the overall controller for the document +*/ +function o_catalog($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'catalog','info'=>array()); + $this->catalogId=$id; + break; + case 'outlines': + case 'pages': + case 'openHere': + $o['info'][$action]=$options; + break; + case 'viewerPreferences': + if (!isset($o['info']['viewerPreferences'])){ + $this->numObj++; + $this->o_viewerPreferences($this->numObj,'new'); + $o['info']['viewerPreferences']=$this->numObj; + } + $vp = $o['info']['viewerPreferences']; + $this->o_viewerPreferences($vp,'add',$options); + break; + case 'out': + $res="\n".$id." 0 obj\n".'<< /Type /Catalog'; + foreach($o['info'] as $k=>$v){ + switch($k){ + case 'outlines': + $res.="\n".'/Outlines '.$v.' 0 R'; + break; + case 'pages': + $res.="\n".'/Pages '.$v.' 0 R'; + break; + case 'viewerPreferences': + $res.="\n".'/ViewerPreferences '.$o['info']['viewerPreferences'].' 0 R'; + break; + case 'openHere': + $res.="\n".'/OpenAction '.$o['info']['openHere'].' 0 R'; + break; + } + } + $res.=" >>\nendobj"; + return $res; + break; + } +} + +/** +* object which is a parent to the pages in the document +*/ +function o_pages($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'pages','info'=>array()); + $this->o_catalog($this->catalogId,'pages',$id); + break; + case 'page': + if (!is_array($options)){ + // then it will just be the id of the new page + $o['info']['pages'][]=$options; + } else { + // then it should be an array having 'id','rid','pos', where rid=the page to which this one will be placed relative + // and pos is either 'before' or 'after', saying where this page will fit. + if (isset($options['id']) && isset($options['rid']) && isset($options['pos'])){ + $i = array_search($options['rid'],$o['info']['pages']); + if (isset($o['info']['pages'][$i]) && $o['info']['pages'][$i]==$options['rid']){ + // then there is a match + // make a space + switch ($options['pos']){ + case 'before': + $k = $i; + break; + case 'after': + $k=$i+1; + break; + default: + $k=-1; + break; + } + if ($k>=0){ + for ($j=count($o['info']['pages'])-1;$j>=$k;$j--){ + $o['info']['pages'][$j+1]=$o['info']['pages'][$j]; + } + $o['info']['pages'][$k]=$options['id']; + } + } + } + } + break; + case 'procset': + $o['info']['procset']=$options; + break; + case 'mediaBox': + $o['info']['mediaBox']=$options; // which should be an array of 4 numbers + break; + case 'font': + $o['info']['fonts'][]=array('objNum'=>$options['objNum'],'fontNum'=>$options['fontNum']); + break; + case 'xObject': + $o['info']['xObjects'][]=array('objNum'=>$options['objNum'],'label'=>$options['label']); + break; + case 'out': + if (count($o['info']['pages'])){ + $res="\n".$id." 0 obj\n<< /Type /Pages\n/Kids ["; + foreach($o['info']['pages'] as $k=>$v){ + $res.=$v." 0 R\n"; + } + $res.="]\n/Count ".count($this->objects[$id]['info']['pages']); + if ((isset($o['info']['fonts']) && count($o['info']['fonts'])) || isset($o['info']['procset'])){ + $res.="\n/Resources <<"; + if (isset($o['info']['procset'])){ + $res.="\n/ProcSet ".$o['info']['procset']." 0 R"; + } + if (isset($o['info']['fonts']) && count($o['info']['fonts'])){ + $res.="\n/Font << "; + foreach($o['info']['fonts'] as $finfo){ + $res.="\n/F".$finfo['fontNum']." ".$finfo['objNum']." 0 R"; + } + $res.=" >>"; + } + if (isset($o['info']['xObjects']) && count($o['info']['xObjects'])){ + $res.="\n/XObject << "; + foreach($o['info']['xObjects'] as $finfo){ + $res.="\n/".$finfo['label']." ".$finfo['objNum']." 0 R"; + } + $res.=" >>"; + } + $res.="\n>>"; + if (isset($o['info']['mediaBox'])){ + $tmp=$o['info']['mediaBox']; + $res.="\n/MediaBox [".sprintf('%.3f',$tmp[0]).' '.sprintf('%.3f',$tmp[1]).' '.sprintf('%.3f',$tmp[2]).' '.sprintf('%.3f',$tmp[3]).']'; + } + } + $res.="\n >>\nendobj"; + } else { + $res="\n".$id." 0 obj\n<< /Type /Pages\n/Count 0\n>>\nendobj"; + } + return $res; + break; + } +} + +/** +* define the outlines in the doc, empty for now +*/ +function o_outlines($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'outlines','info'=>array('outlines'=>array())); + $this->o_catalog($this->catalogId,'outlines',$id); + break; + case 'outline': + $o['info']['outlines'][]=$options; + break; + case 'out': + if (count($o['info']['outlines'])){ + $res="\n".$id." 0 obj\n<< /Type /Outlines /Kids ["; + foreach($o['info']['outlines'] as $k=>$v){ + $res.=$v." 0 R "; + } + $res.="] /Count ".count($o['info']['outlines'])." >>\nendobj"; + } else { + $res="\n".$id." 0 obj\n<< /Type /Outlines /Count 0 >>\nendobj"; + } + return $res; + break; + } +} + +/** +* an object to hold the font description +*/ +function o_font($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'font','info'=>array('name'=>$options['name'],'SubType'=>'Type1')); + $fontNum=$this->numFonts; + $this->objects[$id]['info']['fontNum']=$fontNum; + // deal with the encoding and the differences + if (isset($options['differences'])){ + // then we'll need an encoding dictionary + $this->numObj++; + $this->o_fontEncoding($this->numObj,'new',$options); + $this->objects[$id]['info']['encodingDictionary']=$this->numObj; + } else if (isset($options['encoding'])){ + // we can specify encoding here + switch($options['encoding']){ + case 'WinAnsiEncoding': + case 'MacRomanEncoding': + case 'MacExpertEncoding': + $this->objects[$id]['info']['encoding']=$options['encoding']; + break; + case 'none': + break; + default: + $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; + break; + } + } else { + $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; + } + // also tell the pages node about the new font + $this->o_pages($this->currentNode,'font',array('fontNum'=>$fontNum,'objNum'=>$id)); + break; + case 'add': + foreach ($options as $k=>$v){ + switch ($k){ + case 'BaseFont': + $o['info']['name'] = $v; + break; + case 'FirstChar': + case 'LastChar': + case 'Widths': + case 'FontDescriptor': + case 'SubType': + $this->addMessage('o_font '.$k." : ".$v); + $o['info'][$k] = $v; + break; + } + } + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Font\n/Subtype /".$o['info']['SubType']."\n"; + $res.="/Name /F".$o['info']['fontNum']."\n"; + $res.="/BaseFont /".$o['info']['name']."\n"; + if (isset($o['info']['encodingDictionary'])){ + // then place a reference to the dictionary + $res.="/Encoding ".$o['info']['encodingDictionary']." 0 R\n"; + } else if (isset($o['info']['encoding'])){ + // use the specified encoding + $res.="/Encoding /".$o['info']['encoding']."\n"; + } + if (isset($o['info']['FirstChar'])){ + $res.="/FirstChar ".$o['info']['FirstChar']."\n"; + } + if (isset($o['info']['LastChar'])){ + $res.="/LastChar ".$o['info']['LastChar']."\n"; + } + if (isset($o['info']['Widths'])){ + $res.="/Widths ".$o['info']['Widths']." 0 R\n"; + } + if (isset($o['info']['FontDescriptor'])){ + $res.="/FontDescriptor ".$o['info']['FontDescriptor']." 0 R\n"; + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* a font descriptor, needed for including additional fonts +*/ +function o_fontDescriptor($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'fontDescriptor','info'=>$options); + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /FontDescriptor\n"; + foreach ($o['info'] as $label => $value){ + switch ($label){ + case 'Ascent': + case 'CapHeight': + case 'Descent': + case 'Flags': + case 'ItalicAngle': + case 'StemV': + case 'AvgWidth': + case 'Leading': + case 'MaxWidth': + case 'MissingWidth': + case 'StemH': + case 'XHeight': + case 'CharSet': + if (strlen($value)){ + $res.='/'.$label.' '.$value."\n"; + } + break; + case 'FontFile': + case 'FontFile2': + case 'FontFile3': + $res.='/'.$label.' '.$value." 0 R\n"; + break; + case 'FontBBox': + $res.='/'.$label.' ['.$value[0].' '.$value[1].' '.$value[2].' '.$value[3]."]\n"; + break; + case 'FontName': + $res.='/'.$label.' /'.$value."\n"; + break; + } + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* the font encoding +*/ +function o_fontEncoding($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + // the options array should contain 'differences' and maybe 'encoding' + $this->objects[$id]=array('t'=>'fontEncoding','info'=>$options); + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Encoding\n"; + if (!isset($o['info']['encoding'])){ + $o['info']['encoding']='WinAnsiEncoding'; + } + if ($o['info']['encoding']!='none'){ + $res.="/BaseEncoding /".$o['info']['encoding']."\n"; + } + $res.="/Differences \n["; + $onum=-100; + foreach($o['info']['differences'] as $num=>$label){ + if ($num!=$onum+1){ + // we cannot make use of consecutive numbering + $res.= "\n".$num." /".$label; + } else { + $res.= " /".$label; + } + $onum=$num; + } + $res.="\n]\n>>\nendobj"; + return $res; + break; + } +} + +/** +* the document procset, solves some problems with printing to old PS printers +*/ +function o_procset($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'procset','info'=>array('PDF'=>1,'Text'=>1)); + $this->o_pages($this->currentNode,'procset',$id); + $this->procsetObjectId=$id; + break; + case 'add': + // this is to add new items to the procset list, despite the fact that this is considered + // obselete, the items are required for printing to some postscript printers + switch ($options) { + case 'ImageB': + case 'ImageC': + case 'ImageI': + $o['info'][$options]=1; + break; + } + break; + case 'out': + $res="\n".$id." 0 obj\n["; + foreach ($o['info'] as $label=>$val){ + $res.='/'.$label.' '; + } + $res.="]\nendobj"; + return $res; + break; + } +} + +/** +* define the document information +*/ +function o_info($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->infoObject=$id; + $date='D:'.date('Ymd'); + $this->objects[$id]=array('t'=>'info','info'=>array('Creator'=>'R and OS php pdf writer, http://www.ros.co.nz','CreationDate'=>$date)); + break; + case 'Title': + case 'Author': + case 'Subject': + case 'Keywords': + case 'Creator': + case 'Producer': + case 'CreationDate': + case 'ModDate': + case 'Trapped': + $o['info'][$action]=$options; + break; + case 'out': + if ($this->encrypted){ + $this->encryptInit($id); + } + $res="\n".$id." 0 obj\n<<\n"; + foreach ($o['info'] as $k=>$v){ + $res.='/'.$k.' ('; + if ($this->encrypted){ + $res.=$this->filterText($this->ARC4($v)); + } else { + $res.=$this->filterText($v); + } + $res.=")\n"; + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* an action object, used to link to URLS initially +*/ +function o_action($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + if (is_array($options)){ + $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>$options['type']); + } else { + // then assume a URI action + $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>'URI'); + } + break; + case 'out': + if ($this->encrypted){ + $this->encryptInit($id); + } + $res="\n".$id." 0 obj\n<< /Type /Action"; + switch($o['type']){ + case 'ilink': + // there will be an 'label' setting, this is the name of the destination + $res.="\n/S /GoTo\n/D ".$this->destinations[(string)$o['info']['label']]." 0 R"; + break; + case 'URI': + $res.="\n/S /URI\n/URI ("; + if ($this->encrypted){ + $res.=$this->filterText($this->ARC4($o['info'])); + } else { + $res.=$this->filterText($o['info']); + } + $res.=")"; + break; + } + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* an annotation object, this will add an annotation to the current page. +* initially will support just link annotations +*/ +function o_annotation($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + // add the annotation to the current page + $pageId = $this->currentPage; + $this->o_page($pageId,'annot',$id); + // and add the action object which is going to be required + switch($options['type']){ + case 'link': + $this->objects[$id]=array('t'=>'annotation','info'=>$options); + $this->numObj++; + $this->o_action($this->numObj,'new',$options['url']); + $this->objects[$id]['info']['actionId']=$this->numObj; + break; + case 'ilink': + // this is to a named internal link + $label = $options['label']; + $this->objects[$id]=array('t'=>'annotation','info'=>$options); + $this->numObj++; + $this->o_action($this->numObj,'new',array('type'=>'ilink','label'=>$label)); + $this->objects[$id]['info']['actionId']=$this->numObj; + break; + } + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Annot"; + switch($o['info']['type']){ + case 'link': + case 'ilink': + $res.= "\n/Subtype /Link"; + break; + } + $res.="\n/A ".$o['info']['actionId']." 0 R"; + $res.="\n/Border [0 0 0]"; + $res.="\n/H /I"; + $res.="\n/Rect [ "; + foreach($o['info']['rect'] as $v){ + $res.= sprintf("%.4f ",$v); + } + $res.="]"; + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* a page object, it also creates a contents object to hold its contents +*/ +function o_page($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->numPages++; + $this->objects[$id]=array('t'=>'page','info'=>array('parent'=>$this->currentNode,'pageNum'=>$this->numPages)); + if (is_array($options)){ + // then this must be a page insertion, array shoudl contain 'rid','pos'=[before|after] + $options['id']=$id; + $this->o_pages($this->currentNode,'page',$options); + } else { + $this->o_pages($this->currentNode,'page',$id); + } + $this->currentPage=$id; + //make a contents object to go with this page + $this->numObj++; + $this->o_contents($this->numObj,'new',$id); + $this->currentContents=$this->numObj; + $this->objects[$id]['info']['contents']=array(); + $this->objects[$id]['info']['contents'][]=$this->numObj; + $match = ($this->numPages%2 ? 'odd' : 'even'); + foreach($this->addLooseObjects as $oId=>$target){ + if ($target=='all' || $match==$target){ + $this->objects[$id]['info']['contents'][]=$oId; + } + } + break; + case 'content': + $o['info']['contents'][]=$options; + break; + case 'annot': + // add an annotation to this page + if (!isset($o['info']['annot'])){ + $o['info']['annot']=array(); + } + // $options should contain the id of the annotation dictionary + $o['info']['annot'][]=$options; + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Page"; + $res.="\n/Parent ".$o['info']['parent']." 0 R"; + if (isset($o['info']['annot'])){ + $res.="\n/Annots ["; + foreach($o['info']['annot'] as $aId){ + $res.=" ".$aId." 0 R"; + } + $res.=" ]"; + } + $count = count($o['info']['contents']); + if ($count==1){ + $res.="\n/Contents ".$o['info']['contents'][0]." 0 R"; + } else if ($count>1){ + $res.="\n/Contents [\n"; + foreach ($o['info']['contents'] as $cId){ + $res.=$cId." 0 R\n"; + } + $res.="]"; + } + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* the contents objects hold all of the content which appears on pages +*/ +function o_contents($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'contents','c'=>'','info'=>array()); + if (strlen($options) && intval($options)){ + // then this contents is the primary for a page + $this->objects[$id]['onPage']=$options; + } else if ($options=='raw'){ + // then this page contains some other type of system object + $this->objects[$id]['raw']=1; + } + break; + case 'add': + // add more options to the decleration + foreach ($options as $k=>$v){ + $o['info'][$k]=$v; + } + case 'out': + $tmp=$o['c']; + $res= "\n".$id." 0 obj\n"; + if (isset($this->objects[$id]['raw'])){ + $res.=$tmp; + } else { + $res.= "<<"; + if (function_exists('gzcompress') && $this->options['compression']){ + // then implement ZLIB based compression on this content stream + $res.=" /Filter /FlateDecode"; + $tmp = gzcompress($tmp); + } + if ($this->encrypted){ + $this->encryptInit($id); + $tmp = $this->ARC4($tmp); + } + foreach($o['info'] as $k=>$v){ + $res .= "\n/".$k.' '.$v; + } + $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream"; + } + $res.="\nendobj\n"; + return $res; + break; + } +} + +/** +* an image object, will be an XObject in the document, includes description and data +*/ +function o_image($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + // make the new object + $this->objects[$id]=array('t'=>'image','data'=>$options['data'],'info'=>array()); + $this->objects[$id]['info']['Type']='/XObject'; + $this->objects[$id]['info']['Subtype']='/Image'; + $this->objects[$id]['info']['Width']=$options['iw']; + $this->objects[$id]['info']['Height']=$options['ih']; + if (!isset($options['type']) || $options['type']=='jpg'){ + if (!isset($options['channels'])){ + $options['channels']=3; + } + switch($options['channels']){ + case 1: + $this->objects[$id]['info']['ColorSpace']='/DeviceGray'; + break; + default: + $this->objects[$id]['info']['ColorSpace']='/DeviceRGB'; + break; + } + $this->objects[$id]['info']['Filter']='/DCTDecode'; + $this->objects[$id]['info']['BitsPerComponent']=8; + } else if ($options['type']=='png'){ + $this->objects[$id]['info']['Filter']='/FlateDecode'; + $this->objects[$id]['info']['DecodeParms']='<< /Predictor 15 /Colors '.$options['ncolor'].' /Columns '.$options['iw'].' /BitsPerComponent '.$options['bitsPerComponent'].'>>'; + if (strlen($options['pdata'])){ + $tmp = ' [ /Indexed /DeviceRGB '.(strlen($options['pdata'])/3-1).' '; + $this->numObj++; + $this->o_contents($this->numObj,'new'); + $this->objects[$this->numObj]['c']=$options['pdata']; + $tmp.=$this->numObj.' 0 R'; + $tmp .=' ]'; + $this->objects[$id]['info']['ColorSpace'] = $tmp; + if (isset($options['transparency'])){ + switch($options['transparency']['type']){ + case 'indexed': + $tmp=' [ '.$options['transparency']['data'].' '.$options['transparency']['data'].'] '; + $this->objects[$id]['info']['Mask'] = $tmp; + break; + } + } + } else { + $this->objects[$id]['info']['ColorSpace']='/'.$options['color']; + } + $this->objects[$id]['info']['BitsPerComponent']=$options['bitsPerComponent']; + } + // assign it a place in the named resource dictionary as an external object, according to + // the label passed in with it. + $this->o_pages($this->currentNode,'xObject',array('label'=>$options['label'],'objNum'=>$id)); + // also make sure that we have the right procset object for it. + $this->o_procset($this->procsetObjectId,'add','ImageC'); + break; + case 'out': + $tmp=$o['data']; + $res= "\n".$id." 0 obj\n<<"; + foreach($o['info'] as $k=>$v){ + $res.="\n/".$k.' '.$v; + } + if ($this->encrypted){ + $this->encryptInit($id); + $tmp = $this->ARC4($tmp); + } + $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream\nendobj\n"; + return $res; + break; + } +} + +/** +* encryption object. +*/ +function o_encryption($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + // make the new object + $this->objects[$id]=array('t'=>'encryption','info'=>$options); + $this->arc4_objnum=$id; + // figure out the additional paramaters required + $pad = chr(0x28).chr(0xBF).chr(0x4E).chr(0x5E).chr(0x4E).chr(0x75).chr(0x8A).chr(0x41).chr(0x64).chr(0x00).chr(0x4E).chr(0x56).chr(0xFF).chr(0xFA).chr(0x01).chr(0x08).chr(0x2E).chr(0x2E).chr(0x00).chr(0xB6).chr(0xD0).chr(0x68).chr(0x3E).chr(0x80).chr(0x2F).chr(0x0C).chr(0xA9).chr(0xFE).chr(0x64).chr(0x53).chr(0x69).chr(0x7A); + $len = strlen($options['owner']); + if ($len>32){ + $owner = substr($options['owner'],0,32); + } else if ($len<32){ + $owner = $options['owner'].substr($pad,0,32-$len); + } else { + $owner = $options['owner']; + } + $len = strlen($options['user']); + if ($len>32){ + $user = substr($options['user'],0,32); + } else if ($len<32){ + $user = $options['user'].substr($pad,0,32-$len); + } else { + $user = $options['user']; + } + $tmp = $this->md5_16($owner); + $okey = substr($tmp,0,5); + $this->ARC4_init($okey); + $ovalue=$this->ARC4($user); + $this->objects[$id]['info']['O']=$ovalue; + // now make the u value, phew. + $tmp = $this->md5_16($user.$ovalue.chr($options['p']).chr(255).chr(255).chr(255).$this->fileIdentifier); + $ukey = substr($tmp,0,5); + + $this->ARC4_init($ukey); + $this->encryptionKey = $ukey; + $this->encrypted=1; + $uvalue=$this->ARC4($pad); + + $this->objects[$id]['info']['U']=$uvalue; + $this->encryptionKey=$ukey; + + // initialize the arc4 array + break; + case 'out': + $res= "\n".$id." 0 obj\n<<"; + $res.="\n/Filter /Standard"; + $res.="\n/V 1"; + $res.="\n/R 2"; + $res.="\n/O (".$this->filterText($o['info']['O']).')'; + $res.="\n/U (".$this->filterText($o['info']['U']).')'; + // and the p-value needs to be converted to account for the twos-complement approach + $o['info']['p'] = (($o['info']['p']^255)+1)*-1; + $res.="\n/P ".($o['info']['p']); + $res.="\n>>\nendobj\n"; + + return $res; + break; + } +} + +/** +* ARC4 functions +* A series of function to implement ARC4 encoding in PHP +*/ + +/** +* calculate the 16 byte version of the 128 bit md5 digest of the string +*/ +function md5_16($string){ + $tmp = md5($string); + $out=''; + for ($i=0;$i<=30;$i=$i+2){ + $out.=chr(hexdec(substr($tmp,$i,2))); + } + return $out; +} + +/** +* initialize the encryption for processing a particular object +*/ +function encryptInit($id){ + $tmp = $this->encryptionKey; + $hex = dechex($id); + if (strlen($hex)<6){ + $hex = substr('000000',0,6-strlen($hex)).$hex; + } + $tmp.= chr(hexdec(substr($hex,4,2))).chr(hexdec(substr($hex,2,2))).chr(hexdec(substr($hex,0,2))).chr(0).chr(0); + $key = $this->md5_16($tmp); + $this->ARC4_init(substr($key,0,10)); +} + +/** +* initialize the ARC4 encryption +*/ +function ARC4_init($key=''){ + $this->arc4 = ''; + // setup the control array + if (strlen($key)==0){ + return; + } + $k = ''; + while(strlen($k)<256){ + $k.=$key; + } + $k=substr($k,0,256); + for ($i=0;$i<256;$i++){ + $this->arc4 .= chr($i); + } + $j=0; + for ($i=0;$i<256;$i++){ + $t = $this->arc4[$i]; + $j = ($j + ord($t) + ord($k[$i]))%256; + $this->arc4[$i]=$this->arc4[$j]; + $this->arc4[$j]=$t; + } +} + +/** +* ARC4 encrypt a text string +*/ +function ARC4($text){ + $len=strlen($text); + $a=0; + $b=0; + $c = $this->arc4; + $out=''; + for ($i=0;$i<$len;$i++){ + $a = ($a+1)%256; + $t= $c[$a]; + $b = ($b+ord($t))%256; + $c[$a]=$c[$b]; + $c[$b]=$t; + $k = ord($c[(ord($c[$a])+ord($c[$b]))%256]); + $out.=chr(ord($text[$i]) ^ $k); + } + + return $out; +} + +/** +* functions which can be called to adjust or add to the document +*/ + +/** +* add a link in the document to an external URL +*/ +function addLink($url,$x0,$y0,$x1,$y1){ + $this->numObj++; + $info = array('type'=>'link','url'=>$url,'rect'=>array($x0,$y0,$x1,$y1)); + $this->o_annotation($this->numObj,'new',$info); +} + +/** +* add a link in the document to an internal destination (ie. within the document) +*/ +function addInternalLink($label,$x0,$y0,$x1,$y1){ + $this->numObj++; + $info = array('type'=>'ilink','label'=>$label,'rect'=>array($x0,$y0,$x1,$y1)); + $this->o_annotation($this->numObj,'new',$info); +} + +/** +* set the encryption of the document +* can be used to turn it on and/or set the passwords which it will have. +* also the functions that the user will have are set here, such as print, modify, add +*/ +function setEncryption($userPass='',$ownerPass='',$pc=array()){ + $p=bindec(11000000); + + $options = array( + 'print'=>4 + ,'modify'=>8 + ,'copy'=>16 + ,'add'=>32 + ); + foreach($pc as $k=>$v){ + if ($v && isset($options[$k])){ + $p+=$options[$k]; + } else if (isset($options[$v])){ + $p+=$options[$v]; + } + } + // implement encryption on the document + if ($this->arc4_objnum == 0){ + // then the block does not exist already, add it. + $this->numObj++; + if (strlen($ownerPass)==0){ + $ownerPass=$userPass; + } + $this->o_encryption($this->numObj,'new',array('user'=>$userPass,'owner'=>$ownerPass,'p'=>$p)); + } +} + +/** +* should be used for internal checks, not implemented as yet +*/ +function checkAllHere(){ +} + +/** +* return the pdf stream as a string returned from the function +*/ +function output($debug=0){ + + if ($debug){ + // turn compression off + $this->options['compression']=0; + } + + if ($this->arc4_objnum){ + $this->ARC4_init($this->encryptionKey); + } + + $this->checkAllHere(); + + $xref=array(); + $content="%PDF-1.3\n%\n"; +// $content="%PDF-1.3\n"; + $pos=strlen($content); + foreach($this->objects as $k=>$v){ + $tmp='o_'.$v['t']; + $cont=$this->$tmp($k,'out'); + $content.=$cont; + $xref[]=$pos; + $pos+=strlen($cont); + } + $content.="\nxref\n0 ".(count($xref)+1)."\n0000000000 65535 f \n"; + foreach($xref as $p){ + $content.=substr('0000000000',0,10-strlen($p)).$p." 00000 n \n"; + } + $content.="\ntrailer\n << /Size ".(count($xref)+1)."\n /Root 1 0 R\n /Info ".$this->infoObject." 0 R\n"; + // if encryption has been applied to this document then add the marker for this dictionary + if ($this->arc4_objnum > 0){ + $content .= "/Encrypt ".$this->arc4_objnum." 0 R\n"; + } + if (strlen($this->fileIdentifier)){ + $content .= "/ID[<".$this->fileIdentifier."><".$this->fileIdentifier.">]\n"; + } + $content .= " >>\nstartxref\n".$pos."\n%%EOF\n"; + return $content; +} + +/** +* intialize a new document +* if this is called on an existing document results may be unpredictable, but the existing document would be lost at minimum +* this function is called automatically by the constructor function +* +* @access private +*/ +function newDocument($pageSize=array(0,0,612,792)){ + $this->numObj=0; + $this->objects = array(); + + $this->numObj++; + $this->o_catalog($this->numObj,'new'); + + $this->numObj++; + $this->o_outlines($this->numObj,'new'); + + $this->numObj++; + $this->o_pages($this->numObj,'new'); + + $this->o_pages($this->numObj,'mediaBox',$pageSize); + $this->currentNode = 3; + + $this->numObj++; + $this->o_procset($this->numObj,'new'); + + $this->numObj++; + $this->o_info($this->numObj,'new'); + + $this->numObj++; + $this->o_page($this->numObj,'new'); + + // need to store the first page id as there is no way to get it to the user during + // startup + $this->firstPageId = $this->currentContents; +} + +/** +* open the font file and return a php structure containing it. +* first check if this one has been done before and saved in a form more suited to php +* note that if a php serialized version does not exist it will try and make one, but will +* require write access to the directory to do it... it is MUCH faster to have these serialized +* files. +* +* @access private +*/ +function openFont($font){ + // assume that $font contains both the path and perhaps the extension to the file, split them + $pos=strrpos($font,'/'); + if ($pos===false){ + $dir = './'; + $name = $font; + } else { + $dir=substr($font,0,$pos+1); + $name=substr($font,$pos+1); + } + + if (substr($name,-4)=='.afm'){ + $name=substr($name,0,strlen($name)-4); + } + $this->addMessage('openFont: '.$font.' - '.$name); + if (file_exists($dir.'php_'.$name.'.afm')){ + $this->addMessage('openFont: php file exists '.$dir.'php_'.$name.'.afm'); + $tmp = file($dir.'php_'.$name.'.afm'); + $this->fonts[$font]=unserialize($tmp[0]); + if (!isset($this->fonts[$font]['_version_']) || $this->fonts[$font]['_version_']<1){ + // if the font file is old, then clear it out and prepare for re-creation + $this->addMessage('openFont: clear out, make way for new version.'); + unset($this->fonts[$font]); + } + } + if (!isset($this->fonts[$font]) && file_exists($dir.$name.'.afm')){ + // then rebuild the php_.afm file from the .afm file + $this->addMessage('openFont: build php file from '.$dir.$name.'.afm'); + $data = array(); + $file = file($dir.$name.'.afm'); + foreach ($file as $rowA){ + $row=trim($rowA); + $pos=strpos($row,' '); + if ($pos){ + // then there must be some keyword + $key = substr($row,0,$pos); + switch ($key){ + case 'FontName': + case 'FullName': + case 'FamilyName': + case 'Weight': + case 'ItalicAngle': + case 'IsFixedPitch': + case 'CharacterSet': + case 'UnderlinePosition': + case 'UnderlineThickness': + case 'Version': + case 'EncodingScheme': + case 'CapHeight': + case 'XHeight': + case 'Ascender': + case 'Descender': + case 'StdHW': + case 'StdVW': + case 'StartCharMetrics': + $data[$key]=trim(substr($row,$pos)); + break; + case 'FontBBox': + $data[$key]=explode(' ',trim(substr($row,$pos))); + break; + case 'C': + //C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ; + $bits=explode(';',trim($row)); + $dtmp=array(); + foreach($bits as $bit){ + $bits2 = explode(' ',trim($bit)); + if (strlen($bits2[0])){ + if (count($bits2)>2){ + $dtmp[$bits2[0]]=array(); + for ($i=1;$i=0){ + $data['C'][$dtmp['C']]=$dtmp; + $data['C'][$dtmp['N']]=$dtmp; + } else { + $data['C'][$dtmp['N']]=$dtmp; + } + break; + case 'KPX': + //KPX Adieresis yacute -40 + $bits=explode(' ',trim($row)); + $data['KPX'][$bits[1]][$bits[2]]=$bits[3]; + break; + } + } + } + $data['_version_']=1; + $this->fonts[$font]=$data; + $fp = fopen($dir.'php_'.$name.'.afm','w'); + fwrite($fp,serialize($data)); + fclose($fp); + } else if (!isset($this->fonts[$font])){ + $this->addMessage('openFont: no font file found'); +// echo 'Font not Found '.$font; + } +} + +/** +* if the font is not loaded then load it and make the required object +* else just make it the current font +* the encoding array can contain 'encoding'=> 'none','WinAnsiEncoding','MacRomanEncoding' or 'MacExpertEncoding' +* note that encoding='none' will need to be used for symbolic fonts +* and 'differences' => an array of mappings between numbers 0->255 and character names. +* +*/ +function selectFont($fontName,$encoding='',$set=1){ + if (!isset($this->fonts[$fontName])){ + // load the file + $this->openFont($fontName); + if (isset($this->fonts[$fontName])){ + $this->numObj++; + $this->numFonts++; + $pos=strrpos($fontName,'/'); +// $dir=substr($fontName,0,$pos+1); + $name=substr($fontName,$pos+1); + if (substr($name,-4)=='.afm'){ + $name=substr($name,0,strlen($name)-4); + } + $options=array('name'=>$name); + if (is_array($encoding)){ + // then encoding and differences might be set + if (isset($encoding['encoding'])){ + $options['encoding']=$encoding['encoding']; + } + if (isset($encoding['differences'])){ + $options['differences']=$encoding['differences']; + } + } else if (strlen($encoding)){ + // then perhaps only the encoding has been set + $options['encoding']=$encoding; + } + $fontObj = $this->numObj; + $this->o_font($this->numObj,'new',$options); + $this->fonts[$fontName]['fontNum']=$this->numFonts; + // if this is a '.afm' font, and there is a '.pfa' file to go with it ( as there + // should be for all non-basic fonts), then load it into an object and put the + // references into the font object + $basefile = substr($fontName,0,strlen($fontName)-4); + if (file_exists($basefile.'.pfb')){ + $fbtype = 'pfb'; + } else if (file_exists($basefile.'.ttf')){ + $fbtype = 'ttf'; + } else { + $fbtype=''; + } + $fbfile = $basefile.'.'.$fbtype; + +// $pfbfile = substr($fontName,0,strlen($fontName)-4).'.pfb'; +// $ttffile = substr($fontName,0,strlen($fontName)-4).'.ttf'; + $this->addMessage('selectFont: checking for - '.$fbfile); + if (substr($fontName,-4)=='.afm' && strlen($fbtype) ){ + $adobeFontName = $this->fonts[$fontName]['FontName']; +// $fontObj = $this->numObj; + $this->addMessage('selectFont: adding font file - '.$fbfile.' - '.$adobeFontName); + // find the array of fond widths, and put that into an object. + $firstChar = -1; + $lastChar = 0; + $widths = array(); + foreach ($this->fonts[$fontName]['C'] as $num=>$d){ + if (intval($num)>0 || $num=='0'){ + if ($lastChar>0 && $num>$lastChar+1){ + for($i=$lastChar+1;$i<$num;$i++){ + $widths[] = 0; + } + } + $widths[] = $d['WX']; + if ($firstChar==-1){ + $firstChar = $num; + } + $lastChar = $num; + } + } + // also need to adjust the widths for the differences array + if (isset($options['differences'])){ + foreach($options['differences'] as $charNum=>$charName){ + if ($charNum>$lastChar){ + for($i=$lastChar+1;$i<=$charNum;$i++){ + $widths[]=0; + } + $lastChar=$charNum; + } + if (isset($this->fonts[$fontName]['C'][$charName])){ + $widths[$charNum-$firstChar]=$this->fonts[$fontName]['C'][$charName]['WX']; + } + } + } + $this->addMessage('selectFont: FirstChar='.$firstChar); + $this->addMessage('selectFont: LastChar='.$lastChar); + $this->numObj++; + $this->o_contents($this->numObj,'new','raw'); + $this->objects[$this->numObj]['c'].='['; + foreach($widths as $width){ + $this->objects[$this->numObj]['c'].=' '.$width; + } + $this->objects[$this->numObj]['c'].=' ]'; + $widthid = $this->numObj; + + // load the pfb file, and put that into an object too. + // note that pdf supports only binary format type 1 font files, though there is a + // simple utility to convert them from pfa to pfb. + $fp = fopen($fbfile,'rb'); + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $data = fread($fp,filesize($fbfile)); + set_magic_quotes_runtime($tmp); + fclose($fp); + + // create the font descriptor + $this->numObj++; + $fontDescriptorId = $this->numObj; + $this->numObj++; + $pfbid = $this->numObj; + // determine flags (more than a little flakey, hopefully will not matter much) + $flags=0; + if ($this->fonts[$fontName]['ItalicAngle']!=0){ $flags+=pow(2,6); } + if ($this->fonts[$fontName]['IsFixedPitch']=='true'){ $flags+=1; } + $flags+=pow(2,5); // assume non-sybolic + + $list = array('Ascent'=>'Ascender','CapHeight'=>'CapHeight','Descent'=>'Descender','FontBBox'=>'FontBBox','ItalicAngle'=>'ItalicAngle'); + $fdopt = array( + 'Flags'=>$flags + ,'FontName'=>$adobeFontName + ,'StemV'=>100 // don't know what the value for this should be! + ); + foreach($list as $k=>$v){ + if (isset($this->fonts[$fontName][$v])){ + $fdopt[$k]=$this->fonts[$fontName][$v]; + } + } + + if ($fbtype=='pfb'){ + $fdopt['FontFile']=$pfbid; + } else if ($fbtype=='ttf'){ + $fdopt['FontFile2']=$pfbid; + } + $this->o_fontDescriptor($fontDescriptorId,'new',$fdopt); + + // embed the font program + $this->o_contents($this->numObj,'new'); + $this->objects[$pfbid]['c'].=$data; + // determine the cruicial lengths within this file + if ($fbtype=='pfb'){ + $l1 = strpos($data,'eexec')+6; + $l2 = strpos($data,'00000000')-$l1; + $l3 = strlen($data)-$l2-$l1; + $this->o_contents($this->numObj,'add',array('Length1'=>$l1,'Length2'=>$l2,'Length3'=>$l3)); + } else if ($fbtype=='ttf'){ + $l1 = strlen($data); + $this->o_contents($this->numObj,'add',array('Length1'=>$l1)); + } + + + // tell the font object about all this new stuff + $tmp = array('BaseFont'=>$adobeFontName,'Widths'=>$widthid + ,'FirstChar'=>$firstChar,'LastChar'=>$lastChar + ,'FontDescriptor'=>$fontDescriptorId); + if ($fbtype=='ttf'){ + $tmp['SubType']='TrueType'; + } + $this->addMessage('adding extra info to font.('.$fontObj.')'); + foreach($tmp as $fk=>$fv){ + $this->addMessage($fk." : ".$fv); + } + $this->o_font($fontObj,'add',$tmp); + + } else { + $this->addMessage('selectFont: pfb or ttf file not found, ok if this is one of the 14 standard fonts'); + } + + + // also set the differences here, note that this means that these will take effect only the + //first time that a font is selected, else they are ignored + if (isset($options['differences'])){ + $this->fonts[$fontName]['differences']=$options['differences']; + } + } + } + if ($set && isset($this->fonts[$fontName])){ + // so if for some reason the font was not set in the last one then it will not be selected + $this->currentBaseFont=$fontName; + // the next line means that if a new font is selected, then the current text state will be + // applied to it as well. + $this->setCurrentFont(); + } + return $this->currentFontNum; +} + +/** +* sets up the current font, based on the font families, and the current text state +* note that this system is quite flexible, a <><> font can be completely different to a +* <><> font, and even <><> will have to be defined within the family to have meaning +* This function is to be called whenever the currentTextState is changed, it will update +* the currentFont setting to whatever the appropriatte family one is. +* If the user calls selectFont themselves then that will reset the currentBaseFont, and the currentFont +* This function will change the currentFont to whatever it should be, but will not change the +* currentBaseFont. +* +* @access private +*/ +function setCurrentFont(){ + if (strlen($this->currentBaseFont)==0){ + // then assume an initial font + $this->selectFont('./fonts/Helvetica.afm'); + } + $cf = substr($this->currentBaseFont,strrpos($this->currentBaseFont,'/')+1); + if (strlen($this->currentTextState) + && isset($this->fontFamilies[$cf]) + && isset($this->fontFamilies[$cf][$this->currentTextState])){ + // then we are in some state or another + // and this font has a family, and the current setting exists within it + // select the font, then return it + $nf = substr($this->currentBaseFont,0,strrpos($this->currentBaseFont,'/')+1).$this->fontFamilies[$cf][$this->currentTextState]; + $this->selectFont($nf,'',0); + $this->currentFont = $nf; + $this->currentFontNum = $this->fonts[$nf]['fontNum']; + } else { + // the this font must not have the right family member for the current state + // simply assume the base font + $this->currentFont = $this->currentBaseFont; + $this->currentFontNum = $this->fonts[$this->currentFont]['fontNum']; + } +} + +/** +* function for the user to find out what the ID is of the first page that was created during +* startup - useful if they wish to add something to it later. +*/ +function getFirstPageId(){ + return $this->firstPageId; +} + +/** +* add content to the currently active object +* +* @access private +*/ +function addContent($content){ + $this->objects[$this->currentContents]['c'].=$content; +} + +/** +* sets the colour for fill operations +*/ +function setColor($r,$g,$b,$force=0){ + if ($r>=0 && ($force || $r!=$this->currentColour['r'] || $g!=$this->currentColour['g'] || $b!=$this->currentColour['b'])){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' rg'; + $this->currentColour=array('r'=>$r,'g'=>$g,'b'=>$b); + } +} + +/** +* sets the colour for stroke operations +*/ +function setStrokeColor($r,$g,$b,$force=0){ + if ($r>=0 && ($force || $r!=$this->currentStrokeColour['r'] || $g!=$this->currentStrokeColour['g'] || $b!=$this->currentStrokeColour['b'])){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' RG'; + $this->currentStrokeColour=array('r'=>$r,'g'=>$g,'b'=>$b); + } +} + +/** +* draw a line from one set of coordinates to another +*/ +function line($x1,$y1,$x2,$y2){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' m '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' l S'; +} + +/** +* draw a bezier curve based on 4 control points +*/ +function curve($x0,$y0,$x1,$y1,$x2,$y2,$x3,$y3){ + // in the current line style, draw a bezier curve from (x0,y0) to (x3,y3) using the other two points + // as the control points for the curve. + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' m '.sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1); + $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' '.sprintf('%.3f',$x3).' '.sprintf('%.3f',$y3).' c S'; +} + +/** +* draw a part of an ellipse +*/ +function partEllipse($x0,$y0,$astart,$afinish,$r1,$r2=0,$angle=0,$nSeg=8){ + $this->ellipse($x0,$y0,$r1,$r2,$angle,$nSeg,$astart,$afinish,0); +} + +/** +* draw a filled ellipse +*/ +function filledEllipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360){ + return $this->ellipse($x0,$y0,$r1,$r2=0,$angle,$nSeg,$astart,$afinish,1,1); +} + +/** +* draw an ellipse +* note that the part and filled ellipse are just special cases of this function +* +* draws an ellipse in the current line style +* centered at $x0,$y0, radii $r1,$r2 +* if $r2 is not set, then a circle is drawn +* nSeg is not allowed to be less than 2, as this will simply draw a line (and will even draw a +* pretty crappy shape at 2, as we are approximating with bezier curves. +*/ +function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0){ + if ($r1==0){ + return; + } + if ($r2==0){ + $r2=$r1; + } + if ($nSeg<2){ + $nSeg=2; + } + + $astart = deg2rad((float)$astart); + $afinish = deg2rad((float)$afinish); + $totalAngle =$afinish-$astart; + + $dt = $totalAngle/$nSeg; + $dtm = $dt/3; + + if ($angle != 0){ + $a = -1*deg2rad((float)$angle); + $tmp = "\n q "; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' cm'; + $this->objects[$this->currentContents]['c'].= $tmp; + $x0=0; + $y0=0; + } + + $t1 = $astart; + $a0 = $x0+$r1*cos($t1); + $b0 = $y0+$r2*sin($t1); + $c0 = -$r1*sin($t1); + $d0 = $r2*cos($t1); + + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$a0).' '.sprintf('%.3f',$b0).' m '; + for ($i=1;$i<=$nSeg;$i++){ + // draw this bit of the total curve + $t1 = $i*$dt+$astart; + $a1 = $x0+$r1*cos($t1); + $b1 = $y0+$r2*sin($t1); + $c1 = -$r1*sin($t1); + $d1 = $r2*cos($t1); + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',($a0+$c0*$dtm)).' '.sprintf('%.3f',($b0+$d0*$dtm)); + $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',($a1-$c1*$dtm)).' '.sprintf('%.3f',($b1-$d1*$dtm)).' '.sprintf('%.3f',$a1).' '.sprintf('%.3f',$b1).' c'; + $a0=$a1; + $b0=$b1; + $c0=$c1; + $d0=$d1; + } + if ($fill){ + $this->objects[$this->currentContents]['c'].=' f'; + } else { + if ($close){ + $this->objects[$this->currentContents]['c'].=' s'; // small 's' signifies closing the path as well + } else { + $this->objects[$this->currentContents]['c'].=' S'; + } + } + if ($angle !=0){ + $this->objects[$this->currentContents]['c'].=' Q'; + } +} + +/** +* this sets the line drawing style. +* width, is the thickness of the line in user units +* cap is the type of cap to put on the line, values can be 'butt','round','square' +* where the diffference between 'square' and 'butt' is that 'square' projects a flat end past the +* end of the line. +* join can be 'miter', 'round', 'bevel' +* dash is an array which sets the dash pattern, is a series of length values, which are the lengths of the +* on and off dashes. +* (2) represents 2 on, 2 off, 2 on , 2 off ... +* (2,1) is 2 on, 1 off, 2 on, 1 off.. etc +* phase is a modifier on the dash pattern which is used to shift the point at which the pattern starts. +*/ +function setLineStyle($width=1,$cap='',$join='',$dash='',$phase=0){ + + // this is quite inefficient in that it sets all the parameters whenever 1 is changed, but will fix another day + $string = ''; + if ($width>0){ + $string.= $width.' w'; + } + $ca = array('butt'=>0,'round'=>1,'square'=>2); + if (isset($ca[$cap])){ + $string.= ' '.$ca[$cap].' J'; + } + $ja = array('miter'=>0,'round'=>1,'bevel'=>2); + if (isset($ja[$join])){ + $string.= ' '.$ja[$join].' j'; + } + if (is_array($dash)){ + $string.= ' ['; + foreach ($dash as $len){ + $string.=' '.$len; + } + $string.= ' ] '.$phase.' d'; + } + $this->currentLineStyle = $string; + $this->objects[$this->currentContents]['c'].="\n".$string; +} + +/** +* draw a polygon, the syntax for this is similar to the GD polygon command +*/ +function polygon($p,$np,$f=0){ + $this->objects[$this->currentContents]['c'].="\n"; + $this->objects[$this->currentContents]['c'].=sprintf('%.3f',$p[0]).' '.sprintf('%.3f',$p[1]).' m '; + for ($i=2;$i<$np*2;$i=$i+2){ + $this->objects[$this->currentContents]['c'].= sprintf('%.3f',$p[$i]).' '.sprintf('%.3f',$p[$i+1]).' l '; + } + if ($f==1){ + $this->objects[$this->currentContents]['c'].=' f'; + } else { + $this->objects[$this->currentContents]['c'].=' S'; + } +} + +/** +* a filled rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not +* the coordinates of the upper-right corner +*/ +function filledRectangle($x1,$y1,$width,$height){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re f'; +} + +/** +* draw a rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not +* the coordinates of the upper-right corner +*/ +function rectangle($x1,$y1,$width,$height){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re S'; +} + +/** +* add a new page to the document +* this also makes the new page the current active object +*/ +function newPage($insert=0,$id=0,$pos='after'){ + + // if there is a state saved, then go up the stack closing them + // then on the new page, re-open them with the right setings + + if ($this->nStateStack){ + for ($i=$this->nStateStack;$i>=1;$i--){ + $this->restoreState($i); + } + } + + $this->numObj++; + if ($insert){ + // the id from the ezPdf class is the od of the contents of the page, not the page object itself + // query that object to find the parent + $rid = $this->objects[$id]['onPage']; + $opt= array('rid'=>$rid,'pos'=>$pos); + $this->o_page($this->numObj,'new',$opt); + } else { + $this->o_page($this->numObj,'new'); + } + // if there is a stack saved, then put that onto the page + if ($this->nStateStack){ + for ($i=1;$i<=$this->nStateStack;$i++){ + $this->saveState($i); + } + } + // and if there has been a stroke or fill colour set, then transfer them + if ($this->currentColour['r']>=0){ + $this->setColor($this->currentColour['r'],$this->currentColour['g'],$this->currentColour['b'],1); + } + if ($this->currentStrokeColour['r']>=0){ + $this->setStrokeColor($this->currentStrokeColour['r'],$this->currentStrokeColour['g'],$this->currentStrokeColour['b'],1); + } + + // if there is a line style set, then put this in too + if (strlen($this->currentLineStyle)){ + $this->objects[$this->currentContents]['c'].="\n".$this->currentLineStyle; + } + + // the call to the o_page object set currentContents to the present page, so this can be returned as the page id + return $this->currentContents; +} + +/** +* output the pdf code, streaming it to the browser +* the relevant headers are set so that hopefully the browser will recognise it +*/ +function stream($options=''){ + // setting the options allows the adjustment of the headers + // values at the moment are: + // 'Content-Disposition'=>'filename' - sets the filename, though not too sure how well this will + // work as in my trial the browser seems to use the filename of the php file with .pdf on the end + // 'Accept-Ranges'=>1 or 0 - if this is not set to 1, then this header is not included, off by default + // this header seems to have caused some problems despite tha fact that it is supposed to solve + // them, so I am leaving it off by default. + // 'compress'=> 1 or 0 - apply content stream compression, this is on (1) by default + if (!is_array($options)){ + $options=array(); + } + if ( isset($options['compress']) && $options['compress']==0){ + $tmp = $this->output(1); + } else { + $tmp = $this->output(); + } + header("Content-type: application/pdf"); + header("Content-Length: ".strlen(ltrim($tmp))); + $fileName = (isset($options['Content-Disposition'])?$options['Content-Disposition']:'file.pdf'); + header("Content-Disposition: inline; filename=".$fileName); + if (isset($options['Accept-Ranges']) && $options['Accept-Ranges']==1){ + header("Accept-Ranges: ".strlen(ltrim($tmp))); + } + echo ltrim($tmp); +} + +/** +* return the height in units of the current font in the given size +*/ +function getFontHeight($size){ + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + // for the current font, and the given size, what is the height of the font in user units + $h = $this->fonts[$this->currentFont]['FontBBox'][3]-$this->fonts[$this->currentFont]['FontBBox'][1]; + return $size*$h/1000; +} + +/** +* return the font decender, this will normally return a negative number +* if you add this number to the baseline, you get the level of the bottom of the font +* it is in the pdf user units +*/ +function getFontDecender($size){ + // note that this will most likely return a negative value + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + $h = $this->fonts[$this->currentFont]['FontBBox'][1]; + return $size*$h/1000; +} + +/** +* filter the text, this is applied to all text just before being inserted into the pdf document +* it escapes the various things that need to be escaped, and so on +* +* @access private +*/ +function filterText($text){ + $text = str_replace('\\','\\\\',$text); + $text = str_replace('(','\(',$text); + $text = str_replace(')','\)',$text); + $text = str_replace('<','<',$text); + $text = str_replace('>','>',$text); + $text = str_replace(''','\'',$text); + $text = str_replace('"','"',$text); + $text = str_replace('&','&',$text); + + return $text; +} + +/** +* given a start position and information about how text is to be laid out, calculate where +* on the page the text will end +* +* @access private +*/ +function PRVTgetTextPosition($x,$y,$angle,$size,$wa,$text){ + // given this information return an array containing x and y for the end position as elements 0 and 1 + $w = $this->getTextWidth($size,$text); + // need to adjust for the number of spaces in this text + $words = explode(' ',$text); + $nspaces=count($words)-1; + $w += $wa*$nspaces; + $a = deg2rad((float)$angle); + return array(cos($a)*$w+$x,-sin($a)*$w+$y); +} + +/** +* wrapper function for PRVTcheckTextDirective1 +* +* @access private +*/ +function PRVTcheckTextDirective(&$text,$i,&$f){ + $x=0; + $y=0; + return $this->PRVTcheckTextDirective1($text,$i,$f,0,$x,$y); +} + +/** +* checks if the text stream contains a control directive +* if so then makes some changes and returns the number of characters involved in the directive +* this has been re-worked to include everything neccesary to fins the current writing point, so that +* the location can be sent to the callback function if required +* if the directive does not require a font change, then $f should be set to 0 +* +* @access private +*/ +function PRVTcheckTextDirective1(&$text,$i,&$f,$final,&$x,&$y,$size=0,$angle=0,$wordSpaceAdjust=0){ + $directive = 0; + $j=$i; + if ($text[$j]=='<'){ + $j++; + switch($text[$j]){ + case '/': + $j++; + if (strlen($text) <= $j){ + return $directive; + } + switch($text[$j]){ + case 'b': + case 'i': + $j++; + if ($text[$j]=='>'){ + $p = strrpos($this->currentTextState,$text[$j-1]); + if ($p !== false){ + // then there is one to remove + $this->currentTextState = substr($this->currentTextState,0,$p).substr($this->currentTextState,$p+1); + } + $directive=$j-$i+1; + } + break; + case 'c': + // this this might be a callback function + $j++; + $k = strpos($text,'>',$j); + if ($k!==false && $text[$j]==':'){ + // then this will be treated as a callback directive + $directive = $k-$i+1; + $f=0; + // split the remainder on colons to get the function name and the paramater + $tmp = substr($text,$j+1,$k-$j-1); + $b1 = strpos($tmp,':'); + if ($b1!==false){ + $func = substr($tmp,0,$b1); + $parm = substr($tmp,$b1+1); + } else { + $func=$tmp; + $parm=''; + } + if (!isset($func) || !strlen(trim($func))){ + $directive=0; + } else { + // only call the function if this is the final call + if ($final){ + // need to assess the text position, calculate the text width to this point + // can use getTextWidth to find the text width I think + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'end','p'=>$parm,'nCallback'=>$this->nCallback); + $x=$tmp[0]; + $y=$tmp[1]; + $ret = $this->$func($info); + if (is_array($ret)){ + // then the return from the callback function could set the position, to start with, later will do font colour, and font + foreach($ret as $rk=>$rv){ + switch($rk){ + case 'x': + case 'y': + $$rk=$rv; + break; + } + } + } + // also remove from to the stack + // for simplicity, just take from the end, fix this another day + $this->nCallback--; + if ($this->nCallback<0){ + $this->nCallBack=0; + } + } + } + } + break; + } + break; + case 'b': + case 'i': + $j++; + if ($text[$j]=='>'){ + $this->currentTextState.=$text[$j-1]; + $directive=$j-$i+1; + } + break; + case 'C': + $noClose=1; + case 'c': + // this this might be a callback function + $j++; + $k = strpos($text,'>',$j); + if ($k!==false && $text[$j]==':'){ + // then this will be treated as a callback directive + $directive = $k-$i+1; + $f=0; + // split the remainder on colons to get the function name and the paramater +// $bits = explode(':',substr($text,$j+1,$k-$j-1)); + $tmp = substr($text,$j+1,$k-$j-1); + $b1 = strpos($tmp,':'); + if ($b1!==false){ + $func = substr($tmp,0,$b1); + $parm = substr($tmp,$b1+1); + } else { + $func=$tmp; + $parm=''; + } + if (!isset($func) || !strlen(trim($func))){ + $directive=0; + } else { + // only call the function if this is the final call, ie, the one actually doing printing, not measurement + if ($final){ + // need to assess the text position, calculate the text width to this point + // can use getTextWidth to find the text width I think + // also add the text height and decender + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'start','p'=>$parm,'f'=>$func,'height'=>$this->getFontHeight($size),'decender'=>$this->getFontDecender($size)); + $x=$tmp[0]; + $y=$tmp[1]; + if (!isset($noClose) || !$noClose){ + // only add to the stack if this is a small 'c', therefore is a start-stop pair + $this->nCallback++; + $info['nCallback']=$this->nCallback; + $this->callback[$this->nCallback]=$info; + } + $ret = $this->$func($info); + if (is_array($ret)){ + // then the return from the callback function could set the position, to start with, later will do font colour, and font + foreach($ret as $rk=>$rv){ + switch($rk){ + case 'x': + case 'y': + $$rk=$rv; + break; + } + } + } + } + } + } + break; + } + } + return $directive; +} + +/** +* add text to the document, at a specified location, size and angle on the page +*/ +function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){ + if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} + + // if there are any open callbacks, then they should be called, to show the start of the line + if ($this->nCallback>0){ + for ($i=$this->nCallback;$i>0;$i--){ + // call each function + $info = array('x'=>$x,'y'=>$y,'angle'=>$angle,'status'=>'sol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); + $func = $this->callback[$i]['f']; + $this->$func($info); + } + } + if ($angle==0){ + $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Td'; + } else { + $a = deg2rad((float)$angle); + $tmp = "\n".'BT '; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Tm'; + $this->objects[$this->currentContents]['c'] .= $tmp; + } + if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ + $this->wordSpaceAdjust=$wordSpaceAdjust; + $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; + } + $len=strlen($text); + $start=0; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + // then we should write what we need to + if ($i>$start){ + $part = substr($text,$start,$i-$start); + $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; + $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; + } + if ($f){ + // then there was nothing drastic done here, restore the contents + $this->setCurrentFont(); + } else { + $this->objects[$this->currentContents]['c'] .= ' ET'; + $f=1; + $xp=$x; + $yp=$y; + $directive = $this->PRVTcheckTextDirective1($text,$i,$f,1,$xp,$yp,$size,$angle,$wordSpaceAdjust); + + // restart the text object + if ($angle==0){ + $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Td'; + } else { + $a = deg2rad((float)$angle); + $tmp = "\n".'BT '; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Tm'; + $this->objects[$this->currentContents]['c'] .= $tmp; + } + if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ + $this->wordSpaceAdjust=$wordSpaceAdjust; + $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; + } + } + // and move the writing point to the next piece of text + $i=$i+$directive-1; + $start=$i+1; + } + + } + if ($start<$len){ + $part = substr($text,$start); + $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; + $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; + } + $this->objects[$this->currentContents]['c'].=' ET'; + + // if there are any open callbacks, then they should be called, to show the end of the line + if ($this->nCallback>0){ + for ($i=$this->nCallback;$i>0;$i--){ + // call each function + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,$text); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'eol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); + $func = $this->callback[$i]['f']; + $this->$func($info); + } + } + +} + +/** +* calculate how wide a given text string will be on a page, at a given size. +* this can be called externally, but is alse used by the other class functions +*/ +function getTextWidth($size,$text){ + // this function should not change any of the settings, though it will need to + // track any directives which change during calculation, so copy them at the start + // and put them back at the end. + $store_currentTextState = $this->currentTextState; + + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + + // converts a number or a float to a string so it can get the width + $text = "$text"; + + // hmm, this is where it all starts to get tricky - use the font information to + // calculate the width of each character, add them up and convert to user units + $w=0; + $len=strlen($text); + $cf = $this->currentFont; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + if ($f){ + $this->setCurrentFont(); + $cf = $this->currentFont; + } + $i=$i+$directive-1; + } else { + $char=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$char])){ + // then this character is being replaced by another + $name = $this->fonts[$cf]['differences'][$char]; + if (isset($this->fonts[$cf]['C'][$name]['WX'])){ + $w+=$this->fonts[$cf]['C'][$name]['WX']; + } + } else if (isset($this->fonts[$cf]['C'][$char]['WX'])){ + $w+=$this->fonts[$cf]['C'][$char]['WX']; + } + } + } + + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + + return $w*$size/1000; +} + +/** +* do a part of the calculation for sorting out the justification of the text +* +* @access private +*/ +function PRVTadjustWrapText($text,$actual,$width,&$x,&$adjust,$justification){ + switch ($justification){ + case 'left': + return; + break; + case 'right': + $x+=$width-$actual; + break; + case 'center': + case 'centre': + $x+=($width-$actual)/2; + break; + case 'full': + // count the number of words + $words = explode(' ',$text); + $nspaces=count($words)-1; + if ($nspaces>0){ + $adjust = ($width-$actual)/$nspaces; + } else { + $adjust=0; + } + break; + } +} + +/** +* add text to the page, but ensure that it fits within a certain width +* if it does not fit then put in as much as possible, splitting at word boundaries +* and return the remainder. +* justification and angle can also be specified for the text +*/ +function addTextWrap($x,$y,$width,$size,$text,$justification='left',$angle=0,$test=0){ + // this will display the text, and if it goes beyond the width $width, will backtrack to the + // previous space or hyphen, and return the remainder of the text. + + // $justification can be set to 'left','right','center','centre','full' + + // need to store the initial text state, as this will change during the width calculation + // but will need to be re-set before printing, so that the chars work out right + $store_currentTextState = $this->currentTextState; + + if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} + if ($width<=0){ + // error, pretend it printed ok, otherwise risking a loop + return ''; + } + $w=0; + $break=0; + $breakWidth=0; + $len=strlen($text); + $cf = $this->currentFont; + $tw = $width/$size*1000; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + if ($f){ + $this->setCurrentFont(); + $cf = $this->currentFont; + } + $i=$i+$directive-1; + } else { + $cOrd = ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$cOrd])){ + // then this character is being replaced by another + $cOrd2 = $this->fonts[$cf]['differences'][$cOrd]; + } else { + $cOrd2 = $cOrd; + } + + if (isset($this->fonts[$cf]['C'][$cOrd2]['WX'])){ + $w+=$this->fonts[$cf]['C'][$cOrd2]['WX']; + } + if ($w>$tw){ + // then we need to truncate this line + if ($break>0){ + // then we have somewhere that we can split :) + if ($text[$break]==' '){ + $tmp = substr($text,0,$break); + } else { + $tmp = substr($text,0,$break+1); + } + $adjust=0; + $this->PRVTadjustWrapText($tmp,$breakWidth,$width,$x,$adjust,$justification); + + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$tmp,$angle,$adjust); + } + return substr($text,$break+1); + } else { + // just split before the current character + $tmp = substr($text,0,$i); + $adjust=0; + $ctmp=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$ctmp])){ + $ctmp=$this->fonts[$cf]['differences'][$ctmp]; + } + $tmpw=($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; + $this->PRVTadjustWrapText($tmp,$tmpw,$width,$x,$adjust,$justification); + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$tmp,$angle,$adjust); + } + return substr($text,$i); + } + } + if ($text[$i]=='-'){ + $break=$i; + $breakWidth = $w*$size/1000; + } + if ($text[$i]==' '){ + $break=$i; + $ctmp=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$ctmp])){ + $ctmp=$this->fonts[$cf]['differences'][$ctmp]; + } + $breakWidth = ($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; + } + } + } + // then there was no need to break this line + if ($justification=='full'){ + $justification='left'; + } + $adjust=0; + $tmpw=$w*$size/1000; + $this->PRVTadjustWrapText($text,$tmpw,$width,$x,$adjust,$justification); + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$text,$angle,$adjust,$angle); + } + return ''; +} + +/** +* this will be called at a new page to return the state to what it was on the +* end of the previous page, before the stack was closed down +* This is to get around not being able to have open 'q' across pages +* +*/ +function saveState($pageEnd=0){ + if ($pageEnd){ + // this will be called at a new page to return the state to what it was on the + // end of the previous page, before the stack was closed down + // This is to get around not being able to have open 'q' across pages + $opt = $this->stateStack[$pageEnd]; // ok to use this as stack starts numbering at 1 + $this->setColor($opt['col']['r'],$opt['col']['g'],$opt['col']['b'],1); + $this->setStrokeColor($opt['str']['r'],$opt['str']['g'],$opt['str']['b'],1); + $this->objects[$this->currentContents]['c'].="\n".$opt['lin']; +// $this->currentLineStyle = $opt['lin']; + } else { + $this->nStateStack++; + $this->stateStack[$this->nStateStack]=array( + 'col'=>$this->currentColour + ,'str'=>$this->currentStrokeColour + ,'lin'=>$this->currentLineStyle + ); + } + $this->objects[$this->currentContents]['c'].="\nq"; +} + +/** +* restore a previously saved state +*/ +function restoreState($pageEnd=0){ + if (!$pageEnd){ + $n = $this->nStateStack; + $this->currentColour = $this->stateStack[$n]['col']; + $this->currentStrokeColour = $this->stateStack[$n]['str']; + $this->objects[$this->currentContents]['c'].="\n".$this->stateStack[$n]['lin']; + $this->currentLineStyle = $this->stateStack[$n]['lin']; + unset($this->stateStack[$n]); + $this->nStateStack--; + } + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* make a loose object, the output will go into this object, until it is closed, then will revert to +* the current one. +* this object will not appear until it is included within a page. +* the function will return the object number +*/ +function openObject(){ + $this->nStack++; + $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); + // add a new object of the content type, to hold the data flow + $this->numObj++; + $this->o_contents($this->numObj,'new'); + $this->currentContents=$this->numObj; + $this->looseObjects[$this->numObj]=1; + + return $this->numObj; +} + +/** +* open an existing object for editing +*/ +function reopenObject($id){ + $this->nStack++; + $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); + $this->currentContents=$id; + // also if this object is the primary contents for a page, then set the current page to its parent + if (isset($this->objects[$id]['onPage'])){ + $this->currentPage = $this->objects[$id]['onPage']; + } +} + +/** +* close an object +*/ +function closeObject(){ + // close the object, as long as there was one open in the first place, which will be indicated by + // an objectId on the stack. + if ($this->nStack>0){ + $this->currentContents=$this->stack[$this->nStack]['c']; + $this->currentPage=$this->stack[$this->nStack]['p']; + $this->nStack--; + // easier to probably not worry about removing the old entries, they will be overwritten + // if there are new ones. + } +} + +/** +* stop an object from appearing on pages from this point on +*/ +function stopObject($id){ + // if an object has been appearing on pages up to now, then stop it, this page will + // be the last one that could contian it. + if (isset($this->addLooseObjects[$id])){ + $this->addLooseObjects[$id]=''; + } +} + +/** +* after an object has been created, it wil only show if it has been added, using this function. +*/ +function addObject($id,$options='add'){ + // add the specified object to the page + if (isset($this->looseObjects[$id]) && $this->currentContents!=$id){ + // then it is a valid object, and it is not being added to itself + switch($options){ + case 'all': + // then this object is to be added to this page (done in the next block) and + // all future new pages. + $this->addLooseObjects[$id]='all'; + case 'add': + if (isset($this->objects[$this->currentContents]['onPage'])){ + // then the destination contents is the primary for the page + // (though this object is actually added to that page) + $this->o_page($this->objects[$this->currentContents]['onPage'],'content',$id); + } + break; + case 'even': + $this->addLooseObjects[$id]='even'; + $pageObjectId=$this->objects[$this->currentContents]['onPage']; + if ($this->objects[$pageObjectId]['info']['pageNum']%2==0){ + $this->addObject($id); // hacky huh :) + } + break; + case 'odd': + $this->addLooseObjects[$id]='odd'; + $pageObjectId=$this->objects[$this->currentContents]['onPage']; + if ($this->objects[$pageObjectId]['info']['pageNum']%2==1){ + $this->addObject($id); // hacky huh :) + } + break; + case 'next': + $this->addLooseObjects[$id]='all'; + break; + case 'nexteven': + $this->addLooseObjects[$id]='even'; + break; + case 'nextodd': + $this->addLooseObjects[$id]='odd'; + break; + } + } +} + +/** +* add content to the documents info object +*/ +function addInfo($label,$value=0){ + // this will only work if the label is one of the valid ones. + // modify this so that arrays can be passed as well. + // if $label is an array then assume that it is key=>value pairs + // else assume that they are both scalar, anything else will probably error + if (is_array($label)){ + foreach ($label as $l=>$v){ + $this->o_info($this->infoObject,$l,$v); + } + } else { + $this->o_info($this->infoObject,$label,$value); + } +} + +/** +* set the viewer preferences of the document, it is up to the browser to obey these. +*/ +function setPreferences($label,$value=0){ + // this will only work if the label is one of the valid ones. + if (is_array($label)){ + foreach ($label as $l=>$v){ + $this->o_catalog($this->catalogId,'viewerPreferences',array($l=>$v)); + } + } else { + $this->o_catalog($this->catalogId,'viewerPreferences',array($label=>$value)); + } +} + +/** +* extract an integer from a position in a byte stream +* +* @access private +*/ +function PRVT_getBytes(&$data,$pos,$num){ + // return the integer represented by $num bytes from $pos within $data + $ret=0; + for ($i=0;$i<$num;$i++){ + $ret=$ret*256; + $ret+=ord($data[$pos+$i]); + } + return $ret; +} + +/** +* add a PNG image into the document, from a file +* this should work with remote files +*/ +function addPngFromFile($file,$x,$y,$w=0,$h=0){ + // read in a png file, interpret it, then add to the system + $error=0; + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $fp = @fopen($file,'rb'); + if ($fp){ + $data=''; + while(!feof($fp)){ + $data .= fread($fp,1024); + } + fclose($fp); + } else { + $error = 1; + $errormsg = 'trouble opening file: '.$file; + } + set_magic_quotes_runtime($tmp); + + if (!$error){ + $header = chr(137).chr(80).chr(78).chr(71).chr(13).chr(10).chr(26).chr(10); + if (substr($data,0,8)!=$header){ + $error=1; + $errormsg = 'this file does not have a valid header'; + } + } + + if (!$error){ + // set pointer + $p = 8; + $len = strlen($data); + // cycle through the file, identifying chunks + $haveHeader=0; + $info=array(); + $idata=''; + $pdata=''; + while ($p<$len){ + $chunkLen = $this->PRVT_getBytes($data,$p,4); + $chunkType = substr($data,$p+4,4); +// echo $chunkType.' - '.$chunkLen.'
    '; + + switch($chunkType){ + case 'IHDR': + // this is where all the file information comes from + $info['width']=$this->PRVT_getBytes($data,$p+8,4); + $info['height']=$this->PRVT_getBytes($data,$p+12,4); + $info['bitDepth']=ord($data[$p+16]); + $info['colorType']=ord($data[$p+17]); + $info['compressionMethod']=ord($data[$p+18]); + $info['filterMethod']=ord($data[$p+19]); + $info['interlaceMethod']=ord($data[$p+20]); +//print_r($info); + $haveHeader=1; + if ($info['compressionMethod']!=0){ + $error=1; + $errormsg = 'unsupported compression method'; + } + if ($info['filterMethod']!=0){ + $error=1; + $errormsg = 'unsupported filter method'; + } + break; + case 'PLTE': + $pdata.=substr($data,$p+8,$chunkLen); + break; + case 'IDAT': + $idata.=substr($data,$p+8,$chunkLen); + break; + case 'tRNS': + //this chunk can only occur once and it must occur after the PLTE chunk and before IDAT chunk + //print "tRNS found, color type = ".$info['colorType']."
    "; + $transparency = array(); + if ($info['colorType'] == 3) { // indexed color, rbg + /* corresponding to entries in the plte chunk + Alpha for palette index 0: 1 byte + Alpha for palette index 1: 1 byte + ...etc... + */ + // there will be one entry for each palette entry. up until the last non-opaque entry. + // set up an array, stretching over all palette entries which will be o (opaque) or 1 (transparent) + $transparency['type']='indexed'; + $numPalette = strlen($pdata)/3; + $trans=0; + for ($i=$chunkLen;$i>=0;$i--){ + if (ord($data[$p+8+$i])==0){ + $trans=$i; + } + } + $transparency['data'] = $trans; + + } elseif($info['colorType'] == 0) { // grayscale + /* corresponding to entries in the plte chunk + Gray: 2 bytes, range 0 .. (2^bitdepth)-1 + */ +// $transparency['grayscale']=$this->PRVT_getBytes($data,$p+8,2); // g = grayscale + $transparency['type']='indexed'; + $transparency['data'] = ord($data[$p+8+1]); + + } elseif($info['colorType'] == 2) { // truecolor + /* corresponding to entries in the plte chunk + Red: 2 bytes, range 0 .. (2^bitdepth)-1 + Green: 2 bytes, range 0 .. (2^bitdepth)-1 + Blue: 2 bytes, range 0 .. (2^bitdepth)-1 + */ + $transparency['r']=$this->PRVT_getBytes($data,$p+8,2); // r from truecolor + $transparency['g']=$this->PRVT_getBytes($data,$p+10,2); // g from truecolor + $transparency['b']=$this->PRVT_getBytes($data,$p+12,2); // b from truecolor + + } else { + //unsupported transparency type + } + // KS End new code + break; + default: + break; + } + + $p += $chunkLen+12; + } + + if(!$haveHeader){ + $error = 1; + $errormsg = 'information header is missing'; + } + if (isset($info['interlaceMethod']) && $info['interlaceMethod']){ + $error = 1; + $errormsg = 'There appears to be no support for interlaced images in pdf.'; + } + } + + if (!$error && $info['bitDepth'] > 8){ + $error = 1; + $errormsg = 'only bit depth of 8 or less is supported'; + } + + if (!$error){ + if ($info['colorType']!=2 && $info['colorType']!=0 && $info['colorType']!=3){ + $error = 1; + $errormsg = 'transparancey alpha channel not supported, transparency only supported for palette images.'; + } else { + switch ($info['colorType']){ + case 3: + $color = 'DeviceRGB'; + $ncolor=1; + break; + case 2: + $color = 'DeviceRGB'; + $ncolor=3; + break; + case 0: + $color = 'DeviceGray'; + $ncolor=1; + break; + } + } + } + if ($error){ + $this->addMessage('PNG error - ('.$file.') '.$errormsg); + return; + } + if ($w==0){ + $w=$h/$info['height']*$info['width']; + } + if ($h==0){ + $h=$w*$info['height']/$info['width']; + } +//print_r($info); + // so this image is ok... add it in. + $this->numImages++; + $im=$this->numImages; + $label='I'.$im; + $this->numObj++; +// $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$idata,'iw'=>$w,'ih'=>$h,'type'=>'png','ic'=>$info['width'])); + $options = array('label'=>$label,'data'=>$idata,'bitsPerComponent'=>$info['bitDepth'],'pdata'=>$pdata + ,'iw'=>$info['width'],'ih'=>$info['height'],'type'=>'png','color'=>$color,'ncolor'=>$ncolor); + if (isset($transparency)){ + $options['transparency']=$transparency; + } + $this->o_image($this->numObj,'new',$options); + + $this->objects[$this->currentContents]['c'].="\nq"; + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; + $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* add a JPEG image into the document, from a file +*/ +function addJpegFromFile($img,$x,$y,$w=0,$h=0){ + // attempt to add a jpeg image straight from a file, using no GD commands + // note that this function is unable to operate on a remote file. + + if (!file_exists($img)){ + return; + } + + $tmp=getimagesize($img); + $imageWidth=$tmp[0]; + $imageHeight=$tmp[1]; + + if (isset($tmp['channels'])){ + $channels = $tmp['channels']; + } else { + $channels = 3; + } + + if ($w<=0 && $h<=0){ + $w=$imageWidth; + } + if ($w==0){ + $w=$h/$imageHeight*$imageWidth; + } + if ($h==0){ + $h=$w*$imageHeight/$imageWidth; + } + + $fp=fopen($img,'rb'); + + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $data = fread($fp,filesize($img)); + set_magic_quotes_runtime($tmp); + + fclose($fp); + + $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight,$channels); +} + +/** +* add an image into the document, from a GD object +* this function is not all that reliable, and I would probably encourage people to use +* the file based functions +*/ +function addImage(&$img,$x,$y,$w=0,$h=0,$quality=75){ + // add a new image into the current location, as an external object + // add the image at $x,$y, and with width and height as defined by $w & $h + + // note that this will only work with full colour images and makes them jpg images for display + // later versions could present lossless image formats if there is interest. + + // there seems to be some problem here in that images that have quality set above 75 do not appear + // not too sure why this is, but in the meantime I have restricted this to 75. + if ($quality>75){ + $quality=75; + } + + // if the width or height are set to zero, then set the other one based on keeping the image + // height/width ratio the same, if they are both zero, then give up :) + $imageWidth=imagesx($img); + $imageHeight=imagesy($img); + + if ($w<=0 && $h<=0){ + return; + } + if ($w==0){ + $w=$h/$imageHeight*$imageWidth; + } + if ($h==0){ + $h=$w*$imageHeight/$imageWidth; + } + + // gotta get the data out of the img.. + + // so I write to a temp file, and then read it back.. soo ugly, my apologies. + $tmpDir='/tmp'; + $tmpName=tempnam($tmpDir,'img'); + imagejpeg($img,$tmpName,$quality); + $fp=fopen($tmpName,'rb'); + + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $fp = @fopen($tmpName,'rb'); + if ($fp){ + $data=''; + while(!feof($fp)){ + $data .= fread($fp,1024); + } + fclose($fp); + } else { + $error = 1; + $errormsg = 'trouble opening file'; + } +// $data = fread($fp,filesize($tmpName)); + set_magic_quotes_runtime($tmp); +// fclose($fp); + unlink($tmpName); + $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight); +} + +/** +* common code used by the two JPEG adding functions +* +* @access private +*/ +function addJpegImage_common(&$data,$x,$y,$w=0,$h=0,$imageWidth,$imageHeight,$channels=3){ + // note that this function is not to be called externally + // it is just the common code between the GD and the file options + $this->numImages++; + $im=$this->numImages; + $label='I'.$im; + $this->numObj++; + $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$data,'iw'=>$imageWidth,'ih'=>$imageHeight,'channels'=>$channels)); + + $this->objects[$this->currentContents]['c'].="\nq"; + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; + $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* specify where the document should open when it first starts +*/ +function openHere($style,$a=0,$b=0,$c=0){ + // this function will open the document at a specified page, in a specified style + // the values for style, and the required paramters are: + // 'XYZ' left, top, zoom + // 'Fit' + // 'FitH' top + // 'FitV' left + // 'FitR' left,bottom,right + // 'FitB' + // 'FitBH' top + // 'FitBV' left + $this->numObj++; + $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); + $id = $this->catalogId; + $this->o_catalog($id,'openHere',$this->numObj); +} + +/** +* create a labelled destination within the document +*/ +function addDestination($label,$style,$a=0,$b=0,$c=0){ + // associates the given label with the destination, it is done this way so that a destination can be specified after + // it has been linked to + // styles are the same as the 'openHere' function + $this->numObj++; + $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); + $id = $this->numObj; + // store the label->idf relationship, note that this means that labels can be used only once + $this->destinations["$label"]=$id; +} + +/** +* define font families, this is used to initialize the font families for the default fonts +* and for the user to add new ones for their fonts. The default bahavious can be overridden should +* that be desired. +*/ +function setFontFamily($family,$options=''){ + if (!is_array($options)){ + if ($family=='init'){ + // set the known family groups + // these font families will be used to enable bold and italic markers to be included + // within text streams. html forms will be used... + $this->fontFamilies['Helvetica.afm']=array( + 'b'=>'Helvetica-Bold.afm' + ,'i'=>'Helvetica-Oblique.afm' + ,'bi'=>'Helvetica-BoldOblique.afm' + ,'ib'=>'Helvetica-BoldOblique.afm' + ); + $this->fontFamilies['Courier.afm']=array( + 'b'=>'Courier-Bold.afm' + ,'i'=>'Courier-Oblique.afm' + ,'bi'=>'Courier-BoldOblique.afm' + ,'ib'=>'Courier-BoldOblique.afm' + ); + $this->fontFamilies['Times-Roman.afm']=array( + 'b'=>'Times-Bold.afm' + ,'i'=>'Times-Italic.afm' + ,'bi'=>'Times-BoldItalic.afm' + ,'ib'=>'Times-BoldItalic.afm' + ); + } + } else { + // the user is trying to set a font family + // note that this can also be used to set the base ones to something else + if (strlen($family)){ + $this->fontFamilies[$family] = $options; + } + } +} + +/** +* used to add messages for use in debugging +*/ +function addMessage($message){ + $this->messages.=$message."\n"; +} + +/** +* a few functions which should allow the document to be treated transactionally. +*/ +function transaction($action){ + switch ($action){ + case 'start': + // store all the data away into the checkpoint variable + $data = get_object_vars($this); + $this->checkpoint = $data; + unset($data); + break; + case 'commit': + if (is_array($this->checkpoint) && isset($this->checkpoint['checkpoint'])){ + $tmp = $this->checkpoint['checkpoint']; + $this->checkpoint = $tmp; + unset($tmp); + } else { + $this->checkpoint=''; + } + break; + case 'rewind': + // do not destroy the current checkpoint, but move us back to the state then, so that we can try again + if (is_array($this->checkpoint)){ + // can only abort if were inside a checkpoint + $tmp = $this->checkpoint; + foreach ($tmp as $k=>$v){ + if ($k != 'checkpoint'){ + $this->$k=$v; + } + } + unset($tmp); + } + break; + case 'abort': + if (is_array($this->checkpoint)){ + // can only abort if were inside a checkpoint + $tmp = $this->checkpoint; + foreach ($tmp as $k=>$v){ + $this->$k=$v; + } + unset($tmp); + } + break; + } + +} + +} // end of class + ?> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php index 1272a31a16..cff6dfa5de 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php @@ -1,353 +1,353 @@ - - * @copyright 2000-2006 Joshua Eichorn, Gregory Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @link http://www.phpdoc.org - * @link http://pear.php.net/PhpDocumentor - * @since 1.2 - */ - -/** ezPdf libraries */ -include_once 'phpDocumentor/Converters/PDF/default/class.ezpdf.php'; -include_once 'phpDocumentor/Converters/PDF/default/ParserPDF.inc'; - -// define a class extension to allow the use of a callback to get the table of -// contents, and to put the dots in the toc -/** - * @package Converters - * @subpackage PDFdefault - */ -class phpdocpdf extends Cezpdf -{ - var $reportContents = array(); - var $indexContents = array(); - var $indents = array(); - var $font_dir = false; - var $set_pageNumbering = false; - var $converter; - var $_save = ''; - var $listType = 'ordered'; - var $_colorStack = array(); - - function phpdocpdf(&$pdfconverter,$fontdir,$paper='a4',$orientation='portrait') - { - Cezpdf::Cezpdf($paper,$orientation); - $this->converter = $pdfconverter; - $this->font_dir = $fontdir; - } - - /** - * This really should be in the parent class - */ - function getColor() - { - return $this->currentColour; - } - - function setColorArray($color) - { - $this->setColor($color['r'], $color['g'], $color['b']); - } - - /** - * Extract Pdfphp-format color from html-format color - * @return array - * @access private - */ - function _extractColor($htmlcolor) - { - preg_match('/#([a-fA-F0-9][a-fA-F0-9])([a-fA-F0-9][a-fA-F0-9])([a-fA-F0-9][a-fA-F0-9])/', $htmlcolor, $color); - if (count($color) != 4) - { - return false; - } - $red = hexdec($color[1]) / hexdec('FF'); - $green = hexdec($color[2]) / hexdec('FF'); - $blue = hexdec($color[3]) / hexdec('FF'); - return array('r' => $red, 'g' => $green, 'b' => $blue); - } - - function validHTMLColor($color) - { - return $this->_extractColor($htmlcolor); - } - - function setHTMLColor($color) - { - fancy_debug('toplevel setting to', $color); - $this->setColor($color['r'], $color['g'], $color['b']); - } - - function textcolor($info) - { - if ($info['status'] == 'start') - { - array_push($this->_colorStack, $this->getColor()); - $color = $this->_extractColor($info['p']); - if ($color) - { -// fancy_debug('set color to ',$info['p'],$color, $this->_colorStack); - $this->setColorArray($color); - } else - { - array_pop($this->_colorStack); - } - } elseif ($info['status'] == 'end') - { -// debug('unsetting'); - $this->setColorArray(array_pop($this->_colorStack)); - } - } - - function rf($info) - { - $tmp = $info['p']; - $lvl = $tmp[0]; - $lbl = rawurldecode(substr($tmp,1)); - $num=$this->ezWhatPageNumber($this->ezGetCurrentPageNumber()); - $this->reportContents[] = array($lbl,$num,$lvl ); - $this->addDestination('toc'.(count($this->reportContents)-1),'FitH',$info['y']+$info['height']); - } - - function index($info) - { - $res = explode('|||',rawurldecode($info['p'])); - $name = $res[0]; - $descrip = $res[1]; - $letter = $name[0]; - if ($letter == '$') $letter = $name[1]; - $this->indexContents[strtoupper($letter)][] = array($name,$descrip,$this->ezWhatPageNumber($this->ezGetCurrentPageNumber()),count($this->reportContents) - 1); - } - - function IndexLetter($info) - { - $letter = $info['p']; - $this->transaction('start'); - $ok=0; - while (!$ok){ - $thisPageNum = $this->ezPageCount; - $this->saveState(); - $this->setColor(0.9,0.9,0.9); - $this->filledRectangle($this->ez['leftMargin'],$this->y-$this->getFontHeight(18)+$this->getFontDecender(18),$this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin'],$this->getFontHeight(18)); - $this->restoreState(); - $this->_ezText($letter,18,array('justification'=>'left')); - if ($this->ezPageCount==$thisPageNum){ - $this->transaction('commit'); - $ok=1; - } else { - // then we have moved onto a new page, bad bad, as the background colour will be on the old one - $this->transaction('rewind'); - $this->ezNewPage(); - } - } - } - - function dots($info) - { - // draw a dotted line over to the right and put on a page number - $tmp = $info['p']; - $lvl = $tmp[0]; - $lbl = substr($tmp,1); - $xpos = 520; - - switch($lvl) - { - case '1': - $size=16; - $thick=1; - break; - case '2': - $size=14; - $thick=1; - break; - case '3': - $size=12; - $thick=1; - break; - case '4': - $size=11; - $thick=1; - break; - } - - $adjust = 0; - if ($size != 16) $adjust = 1; - $this->saveState(); - $this->setLineStyle($thick,'round','',array(0,10)); - $this->line($xpos - (5*$adjust),$info['y'],$info['x']+5,$info['y']); - $this->restoreState(); - $this->addText($xpos - (5*$adjust)+5,$info['y'],$size,$lbl); - } - - /** - * @uses PDFParser extracts all meta-tags and processes text for output - */ - function ezText($text,$size=0,$options=array(),$test=0) - { - $text = str_replace("\t"," ",$text); - // paragraph breaks - $text = str_replace("<##P##>","\n ",$text); - $text = str_replace("<>","ilink> >",$text); - $this->_save .= $text; - } - - function setupTOC() - { - $parser = new PDFParser; - $parser->parse($this->_save,$this->font_dir,$this); - $this->_save = ''; - } - - function ezOutput($debug = false, $template) - { - if ($debug) return $this->_save; - $this->setupTOC(); - if ($template) - { - uksort($this->indexContents,'strnatcasecmp'); - $xpos = 520; - $z = 0; - foreach($this->indexContents as $letter => $contents) - { - if ($z++/50 == 0) {phpDocumentor_out('.');flush();} - uksort($this->indexContents[$letter],array($this->converter,'mystrnatcasecmp')); - } - $template->assign('indexcontents',$this->indexContents); - $this->ezText($template->fetch('index.tpl')); - $this->setupTOC(); - } - return parent::ezOutput(); - } - - function _ezText($text,$size=0,$options=array(),$test=0) - { - return parent::ezText($text,$size,$options,$test); - } - - function getYPlusOffset($offset) - { - return $this->y + $offset; - } - - function addMessage($message) - { - return parent::addMessage($message); - phpDocumentor_out($message."\n"); - flush(); - } - - function ezProcessText($text){ - // this function will intially be used to implement underlining support, but could be used for a range of other - // purposes - $text = parent::ezProcessText($text); - $text = str_replace(array('
      ','
    ','
  • ','
  • ','
      ','
    ','','
    ','
    '), - array('
      ','
    ','
  • ','
  • ','
      ','','',"\n",""),$text); -// $text = str_replace("
        \n","
          ",$text); - $text = preg_replace("/\n+\s*(
            |
              )/", "\n\\1", $text); - // some problemos fixed here - hack - $text = preg_replace('//', '', $text); - $text = str_replace("
            1. \n","
            2. ",$text); - $text = preg_replace("/\n+\s*
            3. /", "
            4. ", $text); - $text = str_replace("","\n",$text); - $text = str_replace('
          ','
        ',$text); - $text = preg_replace("/^\n(\d+\s+.*)/", '\\1', $text); - $search = array('
          ','
        ','
          ','
        1. ','
        2. '); - $replace = array("\n","\n","\n\n",'',"\n"); - $text = str_replace($search,$replace,$text); - $text = preg_replace("/([^\n])listType = 'ordered'; - $this->listIndex = 1; - } else - { - if ($margin > 0) - { - $this->listIndex = 1; - } - $this->listType = 'unordered'; - } - $this->ez['leftMargin'] += $margin; - } - - /** - * @author Murray Shields - */ - function bullet($Data) - { - if ($this->listType == 'ordered') - { - return $this->orderedBullet($Data); - } - $D = abs($Data["decender"]); - $X = $Data["x"] - ($D * 2) - 10; - $Y = $Data["y"] + ($D * 1.5); - $this->setLineStyle($D, "butt", "miter", array()); - $this->setColor(0,0,0); - $this->ellipse($X, $Y, 1); - } - - function orderedBullet($info) - { - $this->addText($info['x']-20, $info['y']-1, 10, $this->listIndex++ . '.'); - } - - function ezNewPage($debug=false) - { - parent::ezNewPage(); - if (!$this->set_pageNumbering) - { - $template = $this->converter->newSmarty(); - $parser = new PDFParser; - $parser->parse($template->fetch('pagenumbering.tpl'),$this->font_dir,$this); - } - $this->set_pageNumbering = true; - } -} -?> + + * @copyright 2000-2006 Joshua Eichorn, Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.2 + */ + +/** ezPdf libraries */ +include_once 'phpDocumentor/Converters/PDF/default/class.ezpdf.php'; +include_once 'phpDocumentor/Converters/PDF/default/ParserPDF.inc'; + +// define a class extension to allow the use of a callback to get the table of +// contents, and to put the dots in the toc +/** + * @package Converters + * @subpackage PDFdefault + */ +class phpdocpdf extends Cezpdf +{ + var $reportContents = array(); + var $indexContents = array(); + var $indents = array(); + var $font_dir = false; + var $set_pageNumbering = false; + var $converter; + var $_save = ''; + var $listType = 'ordered'; + var $_colorStack = array(); + + function phpdocpdf(&$pdfconverter,$fontdir,$paper='a4',$orientation='portrait') + { + Cezpdf::Cezpdf($paper,$orientation); + $this->converter = $pdfconverter; + $this->font_dir = $fontdir; + } + + /** + * This really should be in the parent class + */ + function getColor() + { + return $this->currentColour; + } + + function setColorArray($color) + { + $this->setColor($color['r'], $color['g'], $color['b']); + } + + /** + * Extract Pdfphp-format color from html-format color + * @return array + * @access private + */ + function _extractColor($htmlcolor) + { + preg_match('/#([a-fA-F0-9][a-fA-F0-9])([a-fA-F0-9][a-fA-F0-9])([a-fA-F0-9][a-fA-F0-9])/', $htmlcolor, $color); + if (count($color) != 4) + { + return false; + } + $red = hexdec($color[1]) / hexdec('FF'); + $green = hexdec($color[2]) / hexdec('FF'); + $blue = hexdec($color[3]) / hexdec('FF'); + return array('r' => $red, 'g' => $green, 'b' => $blue); + } + + function validHTMLColor($color) + { + return $this->_extractColor($htmlcolor); + } + + function setHTMLColor($color) + { + fancy_debug('toplevel setting to', $color); + $this->setColor($color['r'], $color['g'], $color['b']); + } + + function textcolor($info) + { + if ($info['status'] == 'start') + { + array_push($this->_colorStack, $this->getColor()); + $color = $this->_extractColor($info['p']); + if ($color) + { +// fancy_debug('set color to ',$info['p'],$color, $this->_colorStack); + $this->setColorArray($color); + } else + { + array_pop($this->_colorStack); + } + } elseif ($info['status'] == 'end') + { +// debug('unsetting'); + $this->setColorArray(array_pop($this->_colorStack)); + } + } + + function rf($info) + { + $tmp = $info['p']; + $lvl = $tmp[0]; + $lbl = rawurldecode(substr($tmp,1)); + $num=$this->ezWhatPageNumber($this->ezGetCurrentPageNumber()); + $this->reportContents[] = array($lbl,$num,$lvl ); + $this->addDestination('toc'.(count($this->reportContents)-1),'FitH',$info['y']+$info['height']); + } + + function index($info) + { + $res = explode('|||',rawurldecode($info['p'])); + $name = $res[0]; + $descrip = $res[1]; + $letter = $name[0]; + if ($letter == '$') $letter = $name[1]; + $this->indexContents[strtoupper($letter)][] = array($name,$descrip,$this->ezWhatPageNumber($this->ezGetCurrentPageNumber()),count($this->reportContents) - 1); + } + + function IndexLetter($info) + { + $letter = $info['p']; + $this->transaction('start'); + $ok=0; + while (!$ok){ + $thisPageNum = $this->ezPageCount; + $this->saveState(); + $this->setColor(0.9,0.9,0.9); + $this->filledRectangle($this->ez['leftMargin'],$this->y-$this->getFontHeight(18)+$this->getFontDecender(18),$this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin'],$this->getFontHeight(18)); + $this->restoreState(); + $this->_ezText($letter,18,array('justification'=>'left')); + if ($this->ezPageCount==$thisPageNum){ + $this->transaction('commit'); + $ok=1; + } else { + // then we have moved onto a new page, bad bad, as the background colour will be on the old one + $this->transaction('rewind'); + $this->ezNewPage(); + } + } + } + + function dots($info) + { + // draw a dotted line over to the right and put on a page number + $tmp = $info['p']; + $lvl = $tmp[0]; + $lbl = substr($tmp,1); + $xpos = 520; + + switch($lvl) + { + case '1': + $size=16; + $thick=1; + break; + case '2': + $size=14; + $thick=1; + break; + case '3': + $size=12; + $thick=1; + break; + case '4': + $size=11; + $thick=1; + break; + } + + $adjust = 0; + if ($size != 16) $adjust = 1; + $this->saveState(); + $this->setLineStyle($thick,'round','',array(0,10)); + $this->line($xpos - (5*$adjust),$info['y'],$info['x']+5,$info['y']); + $this->restoreState(); + $this->addText($xpos - (5*$adjust)+5,$info['y'],$size,$lbl); + } + + /** + * @uses PDFParser extracts all meta-tags and processes text for output + */ + function ezText($text,$size=0,$options=array(),$test=0) + { + $text = str_replace("\t"," ",$text); + // paragraph breaks + $text = str_replace("<##P##>","\n ",$text); + $text = str_replace("<>","ilink> >",$text); + $this->_save .= $text; + } + + function setupTOC() + { + $parser = new PDFParser; + $parser->parse($this->_save,$this->font_dir,$this); + $this->_save = ''; + } + + function ezOutput($debug = false, $template) + { + if ($debug) return $this->_save; + $this->setupTOC(); + if ($template) + { + uksort($this->indexContents,'strnatcasecmp'); + $xpos = 520; + $z = 0; + foreach($this->indexContents as $letter => $contents) + { + if ($z++/50 == 0) {phpDocumentor_out('.');flush();} + uksort($this->indexContents[$letter],array($this->converter,'mystrnatcasecmp')); + } + $template->assign('indexcontents',$this->indexContents); + $this->ezText($template->fetch('index.tpl')); + $this->setupTOC(); + } + return parent::ezOutput(); + } + + function _ezText($text,$size=0,$options=array(),$test=0) + { + return parent::ezText($text,$size,$options,$test); + } + + function getYPlusOffset($offset) + { + return $this->y + $offset; + } + + function addMessage($message) + { + return parent::addMessage($message); + phpDocumentor_out($message."\n"); + flush(); + } + + function ezProcessText($text){ + // this function will intially be used to implement underlining support, but could be used for a range of other + // purposes + $text = parent::ezProcessText($text); + $text = str_replace(array('
            ','
          ','
        3. ','
        4. ','
            ','
          ','
        ','
        ','
        '), + array('
          ','
        ','
      • ','
      • ','
          ','
      ','',"\n",""),$text); +// $text = str_replace("
        \n","
          ",$text); + $text = preg_replace("/\n+\s*(
            |
              )/", "\n\\1", $text); + // some problemos fixed here - hack + $text = preg_replace('//', '', $text); + $text = str_replace("
            1. \n","
            2. ",$text); + $text = preg_replace("/\n+\s*
            3. /", "
            4. ", $text); + $text = str_replace("","\n",$text); + $text = str_replace('
          ','
        ',$text); + $text = preg_replace("/^\n(\d+\s+.*)/", '\\1', $text); + $search = array('
          ','
        ','
          ','
        1. ','
        2. '); + $replace = array("\n","\n","\n\n",'',"\n"); + $text = str_replace($search,$replace,$text); + $text = preg_replace("/([^\n])listType = 'ordered'; + $this->listIndex = 1; + } else + { + if ($margin > 0) + { + $this->listIndex = 1; + } + $this->listType = 'unordered'; + } + $this->ez['leftMargin'] += $margin; + } + + /** + * @author Murray Shields + */ + function bullet($Data) + { + if ($this->listType == 'ordered') + { + return $this->orderedBullet($Data); + } + $D = abs($Data["decender"]); + $X = $Data["x"] - ($D * 2) - 10; + $Y = $Data["y"] + ($D * 1.5); + $this->setLineStyle($D, "butt", "miter", array()); + $this->setColor(0,0,0); + $this->ellipse($X, $Y, 1); + } + + function orderedBullet($info) + { + $this->addText($info['x']-20, $info['y']-1, 10, $this->listIndex++ . '.'); + } + + function ezNewPage($debug=false) + { + parent::ezNewPage(); + if (!$this->set_pageNumbering) + { + $template = $this->converter->newSmarty(); + $parser = new PDFParser; + $parser->parse($template->fetch('pagenumbering.tpl'),$this->font_dir,$this); + } + $this->set_pageNumbering = true; + } +} +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/options.ini index 8118da2849..fd9c64142c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/options.ini @@ -1,431 +1,431 @@ -preservedocbooktags = false - -;; used to highlight the {@source} inline tag -[highlightSourceTokens] -;; format: -;; T_CONSTANTNAME = open -;; /T_CONSTANTNAME = close -T_FUNCTION = -/T_FUNCTION = -T_CLONE = -/T_CLONE = -T_HALT_COMPILER = -/T_HALT_COMPILER = -T_VARIABLE = -/T_VARIABLE = -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_COMMENT = -/T_COMMENT = -T_OBJECT_OPERATOR = -/T_OBJECT_OPERATOR = -T_RETURN = -/T_RETURN = -T_SWITCH = -/T_SWITCH = -T_STATIC = -/T_STATIC = -T_IF = -/T_IF = -T_FOREACH = -/T_FOREACH = -T_FOR = -/T_FOR = -T_WHILE = -/T_WHILE = -T_DO = -/T_DO = -T_CLASS = -/T_CLASS = -T_EXTENDS = -/T_EXTENDS = -T_VAR = -/T_VAR = -T_GLOBAL = -/T_GLOBAL = -T_ELSE = -/T_ELSE = -T_ELSEIF = -/T_ELSEIF = -T_NEW = -/T_NEW = -T_CONSTANT_ENCAPSED_STRING = -/T_CONSTANT_ENCAPSED_STRING = -T_STRING_VARNAME = -/T_STRING_VARNAME = -T_INCLUDE = -/T_INCLUDE = -T_INCLUDE_ONCE = -/T_INCLUDE_ONCE = -T_REQUIRE = -/T_REQUIRE = -T_REQUIRE_ONCE = -/T_REQUIRE_ONCE = -T_DNUMBER = -/T_DNUMBER = -T_LNUMBER = -/T_LNUMBER = -T_AS = -/T_AS = -T_BREAK = -/T_BREAK = -T_CASE = -/T_CASE = -T_CONTINUE = -/T_CONTINUE = -T_DECLARE = -/T_DECLARE = -T_DEFAULT = -/T_DEFAULT = -T_ENDDECLARE = -/T_ENDDECLARE = -T_ENDFOR = -/T_ENDFOR = -T_ENDFOREACH = -/T_ENDFOREACH = -T_ENDSWITCH = -/T_ENDSWITCH = -T_ENDWHILE = -/T_ENDWHILE = -T_EXIT = -/T_EXIT = -T_STRING = -/T_STRING = - -[highlightDocBlockSourceTokens] -;; this is for docblock tokens, using by phpDocumentor_HighlightParser -;; tagphptype is for "string" in @param string description, for example -docblock = -/docblock = -tagphptype = -/tagphptype = -tagvarname = -/tagvarname = -coretag = -/coretag = -tag = -/tag = -inlinetag = -/inlinetag = -internal = -/internal = -closetemplate = -/closetemplate = -docblocktemplate = -/docblocktemplate = - -[highlightSource] -;; this is for highlighting things that aren't tokens like "&" -;; format: -;; word = open -;; /word = close -& = -/& = -[ = -/[ = -] = -/] = -! = -/! = -";" = -/; = -( = -/( = -) = -/) = -, = -/, = -{ = -/{ = -} = -/} = -""" = -/" = - -[highlightTutorialSourceTokens] -;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser -;; -opentag = -/opentag = -;; -closetag = -/closetag = -;; -attribute = -/attribute = -;; -attributevalue = -/attributevalue = -;; &entity; -entity = -/entity = -;; -comment = -/comment = -;; {@inline tag} -itag = -/itag = - -[desctranslate] -ul =
            -/ul =
          -ol =
            -/ol =
          -li =
        3. -/li =
        4. -code = -/code = -var = -/var = -samp = -/samp = -kbd = -/kbd = -pre = -/pre = -p = -/p = "\n\n" -b = -/b = -i = -/i = -br = "\n" - -[ppage] -;; this is the DocBook package page translation section. All DocBook tags -;; that have a corresponding html tag must 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 -;; becomes and -;; becomes -;; -;; -;; 2) -;; tagname = newtagname -;; tagname->attr = newattrname -;; -;; in this case, everything will be like the first case, except tags like: -;; will become -;; -;; -;; 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. -;; will become -;; -;; -;; 4) -;; tagname = newtagname -;; tagname!attr = dummy -;; -;; here, the attribute will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 5) -;; tagname = newtagname -;; tagname! = dummy -;; -;; here, all attributes will be ignored. dummy is not used and may be any value -;; will become -;; -;; -;; 6) -;; $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. -;; -;; 7) -;; &entity; = translation text -;; " = " -;; " = """ -;; < = < -;; -;; Use this to control translation of entities to their appropriate values - -  = " " -" = """ -” = """ -“ = """ -& = & -< = < -> = > -© = © - -author = -author! -/author = "\n" - -authorgroup = Authors: -/authorgroup = -authorgroup! - -blockquote = blockquote -blockquote! - -authorblurb = blockquote -authorblurb! - -caution = "\nCaution\n
          " -/caution = "
          \n" -caution! - -command = b -command! - -copyright = i -copyright! - -emphasis = b -emphasis! - -example = "Example:\n\n" -/example = "\n\n" -example! - -formalpara = " " -/formalpara = "\n\n" -formalpara! - -graphic = pdffunction:ezImage -graphic/ = 1 - -important = u -important! - -informalequation = blockquote -informalequation! - -inlineequation = i -inlineequation! - -itemizedlist = ul -itemizedlist! - -literal = -/literal = -literal! - -option = " " -/option = -option! - -listitem = li -listitem! - -orderedlist = ol -orderedlist! - -para = -/para = "\n\n" -para! - -programlisting = "\n
          " -/programlisting = "\n" -programlisting! - -refsect1 = "" -/refsect1 = "\n" -refsect1! - -refsect2 = "" -/refsect2 = "\n" -refsect2! - -refsect3 = "" -/refsect3 = "\n" -refsect3! - -refpurpose = -/refpurpose = "\n" -refpurpose! - -simpara = " " -/simpara = "" -simpara! - -warning = "Warning:\n
          " -/warning = "
          \n" -warning! - -;; now begins the attributes that should be tags in cdata -[$attr$id] -open = y /> -cdata! = true -quotevalues = true -separator = "=" -;separateall = true -$id = id - -;; now begins the sections that deal with -[refentry_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="20" justification="centre"><b> -close = "\n</b></text><text size="10" justification="left">" - -[refsect1_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="15" justification="centre"><b> -close = "\n</b></text><text size="10" justification="left">" - -[refsect2_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="13" justification="centre"><b> -close = "\n</b></text><text size="10" justification="left">" - -[refsect3_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="11" justification="centre"><i> -close = "\n</i></text><text size="10" justification="left">" - -[para_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="11" justification="left"><b> -close = "\n</b></text><text size="10" justification="left">" - -[formalpara_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="11" justification="centre"><b> -close = "\n</b></text><text size="10" justification="left">" - -[example_title] -;tag_attr = true -;attr_name = title -cdata_start = true -;cdata_end = true -open = </text><text size="11" justification="centre"> -close = "\n</text><text size="10" justification="left">" +preservedocbooktags = false + +;; used to highlight the {@source} inline tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close +T_FUNCTION = <b><c:textcolor:#0000FF> +/T_FUNCTION = </c:textcolor></b> +T_CLONE = <b><c:textcolor:#0000FF> +/T_CLONE = </c:textcolor></b> +T_HALT_COMPILER = <b><c:textcolor:#0000FF> +/T_HALT_COMPILER = </c:textcolor></b> +T_VARIABLE = <b><i><c:textcolor:#000080> +/T_VARIABLE = </c:textcolor></i></b> +T_CONSTANT_ENCAPSED_STRING = <i> +/T_CONSTANT_ENCAPSED_STRING = </i> +T_COMMENT = <i><c:textcolor:#339999> +/T_COMMENT = </c:textcolor></i> +T_OBJECT_OPERATOR = <b> +/T_OBJECT_OPERATOR = </b> +T_RETURN = <b><c:textcolor:#0000FF> +/T_RETURN = </c:textcolor></b> +T_SWITCH = <b><c:textcolor:#0000FF> +/T_SWITCH = </c:textcolor></b> +T_STATIC = <b><c:textcolor:#0000FF> +/T_STATIC = </c:textcolor></b> +T_IF = <b><c:textcolor:#0000FF> +/T_IF = </c:textcolor></b> +T_FOREACH = <b><c:textcolor:#0000FF> +/T_FOREACH = </c:textcolor></b> +T_FOR = <b><c:textcolor:#0000FF> +/T_FOR = </c:textcolor></b> +T_WHILE = <b><c:textcolor:#0000FF> +/T_WHILE = </c:textcolor></b> +T_DO = <b><c:textcolor:#0000FF> +/T_DO = </c:textcolor></b> +T_CLASS = <b><c:textcolor:#0000FF> +/T_CLASS = </c:textcolor></b> +T_EXTENDS = <b><c:textcolor:#0000FF> +/T_EXTENDS = </c:textcolor></b> +T_VAR = <b><c:textcolor:#0000FF> +/T_VAR = </c:textcolor></b> +T_GLOBAL = <b><c:textcolor:#0000FF> +/T_GLOBAL = </c:textcolor></b> +T_ELSE = <b><c:textcolor:#0000FF> +/T_ELSE = </c:textcolor></b> +T_ELSEIF = <b><c:textcolor:#0000FF> +/T_ELSEIF = </c:textcolor></b> +T_NEW = <b><c:textcolor:#0000FF> +/T_NEW = </c:textcolor></b> +T_CONSTANT_ENCAPSED_STRING = <c:textcolor:#339999> +/T_CONSTANT_ENCAPSED_STRING = </c:textcolor> +T_STRING_VARNAME = <c:textcolor:#339999> +/T_STRING_VARNAME = </c:textcolor> +T_INCLUDE = <b><c:textcolor:#0000FF> +/T_INCLUDE = </c:textcolor></b> +T_INCLUDE_ONCE = <b><c:textcolor:#0000FF> +/T_INCLUDE_ONCE = </c:textcolor></b> +T_REQUIRE = <b><c:textcolor:#0000FF> +/T_REQUIRE = </c:textcolor></b> +T_REQUIRE_ONCE = <b><c:textcolor:#0000FF> +/T_REQUIRE_ONCE = </c:textcolor></b> +T_DNUMBER = <c:textcolor:#53AC46> +/T_DNUMBER = </c:textcolor> +T_LNUMBER = <c:textcolor:#53AC46> +/T_LNUMBER = </c:textcolor> +T_AS = <b><c:textcolor:#0000FF> +/T_AS = </c:textcolor></b> +T_BREAK = <b><c:textcolor:#0000FF> +/T_BREAK = </c:textcolor></b> +T_CASE = <b><c:textcolor:#0000FF> +/T_CASE = </c:textcolor></b> +T_CONTINUE = <b><c:textcolor:#0000FF> +/T_CONTINUE = </c:textcolor></b> +T_DECLARE = <b><c:textcolor:#0000FF> +/T_DECLARE = </c:textcolor></b> +T_DEFAULT = <b><c:textcolor:#0000FF> +/T_DEFAULT = </c:textcolor></b> +T_ENDDECLARE = <b><c:textcolor:#0000FF> +/T_ENDDECLARE = </c:textcolor></b> +T_ENDFOR = <b><c:textcolor:#0000FF> +/T_ENDFOR = </c:textcolor></b> +T_ENDFOREACH = <b><c:textcolor:#0000FF> +/T_ENDFOREACH = </c:textcolor></b> +T_ENDSWITCH = <b><c:textcolor:#0000FF> +/T_ENDSWITCH = </c:textcolor></b> +T_ENDWHILE = <b><c:textcolor:#0000FF> +/T_ENDWHILE = </c:textcolor></b> +T_EXIT = <b><c:textcolor:#0000FF> +/T_EXIT = </c:textcolor></b> +T_STRING = <c:textcolor:#FF8000> +/T_STRING = </c:textcolor> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <i><c:textcolor:#8080FF> +/docblock = </c:textcolor></i> +tagphptype = <i><c:textcolor:#A428CC> +/tagphptype = </c:textcolor></i> +tagvarname = <b><c:textcolor:#A428CC> +/tagvarname = </c:textcolor></b> +coretag = <c:textcolor:#A428CC> +/coretag = </c:textcolor> +tag = <c:textcolor:#A428CC> +/tag = </c:textcolor> +inlinetag = <i><c:textcolor:#A428CC> +/inlinetag = </c:textcolor></i> +internal = <i><c:textcolor:#808080> +/internal = </c:textcolor></i> +closetemplate = <c:textcolor:#5BACEE> +/closetemplate = </c:textcolor> +docblocktemplate = <c:textcolor:#5BACEE> +/docblocktemplate = </c:textcolor> + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +& = <b> +/& = </b> +[ = <b> +/[ = </b> +] = <b> +/] = </b> +! = <b> +/! = </b> +";" = <b> +/; = </b> +( = <b> +/( = </b> +) = <b> +/) = </b> +, = <b> +/, = </b> +{ = <b> +/{ = </b> +} = <b> +/} = </b> +""" = <c:textcolor:#339999> +/" = </c:textcolor> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <c:textcolor:#8080FF> +/opentag = </c:textcolor> +;; </tag> +closetag = <c:textcolor:#8080FF> +/closetag = </c:textcolor> +;; <tag attribute="value"> +attribute = <c:textcolor:#A428CC> +/attribute = </c:textcolor> +;; <tag attribute="value"> +attributevalue = <c:textcolor:#5BACEE> +/attributevalue = </c:textcolor> +;; &entity; +entity = <b> +/entity = </b> +;; <!-- comment --> +comment = <i> +/comment = </i> +;; {@inline tag} +itag = <b><i> +/itag = </b></i> + +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = </text><text size="8"><font face="Courier" /> +/code = </text><text size="10"><font face="Helvetica" /> +var = <i> +/var = </i> +samp = <font face="Courier" /><i> +/samp = </i><font face="Helvetica" /> +kbd = <font face="Courier" /><b> +/kbd = </b><font face="Helvetica" /> +pre = +/pre = +p = +/p = "\n\n" +b = <b> +/b = </b> +i = <i> +/i = </i> +br = "\n" + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must 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!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> +;; +;; 5) +;; 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> +;; +;; 6) +;; $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. +;; +;; 7) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + +  = " " +" = """ +” = """ +“ = """ +& = & +< = < +> = > +© = © + +author = <i> +author! +/author = "</i>\n" + +authorgroup = <text size="10"><b>Authors:</b> +/authorgroup = </text> +authorgroup! + +blockquote = blockquote +blockquote! + +authorblurb = blockquote +authorblurb! + +caution = "\n<b>Caution</b>\n<blockquote>" +/caution = "</blockquote>\n" +caution! + +command = b +command! + +copyright = i +copyright! + +emphasis = b +emphasis! + +example = "<b>Example:</b>\n<C:indent:20>\n" +/example = "\n<C:indent:-20>\n" +example! + +formalpara = " " +/formalpara = "\n\n" +formalpara! + +graphic = pdffunction:ezImage +graphic/ = 1 + +important = u +important! + +informalequation = blockquote +informalequation! + +inlineequation = i +inlineequation! + +itemizedlist = ul +itemizedlist! + +literal = <font face="Courier" /> +/literal = <font face="Helvetica" /> +literal! + +option = " " +/option = +option! + +listitem = li +listitem! + +orderedlist = ol +orderedlist! + +para = +/para = "\n\n" +para! + +programlisting = "\n</text><text size="8"><font face="Courier" />" +/programlisting = "</text><text size="10">\n<font face="Helvetica" />" +programlisting! + +refsect1 = "<text size="10" justification="left">" +/refsect1 = "\n</text>" +refsect1! + +refsect2 = "<text size="10" justification="left">" +/refsect2 = "\n</text>" +refsect2! + +refsect3 = "<text size="10" justification="left">" +/refsect3 = "\n</text>" +refsect3! + +refpurpose = <text size="13" justification="center"><i> +/refpurpose = "</i>\n</text>" +refpurpose! + +simpara = "<text size="10" justification="left"> " +/simpara = "</text>" +simpara! + +warning = "<b>Warning:</b>\n<blockquote>" +/warning = "</blockquote>\n" +warning! + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = <pdffunction:addDestination arg=" +close = " arg="FitH" arg=$this->y /> +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = id + +;; now begins the sections that deal with <title> +[refentry_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="20" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="15" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="13" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="centre"><i> +close = "\n</i></text><text size="10" justification="left">" + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="left"><b> +close = "\n</b></text><text size="10" justification="left">" + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[example_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="centre"> +close = "\n</text><text size="10" justification="left">" diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl index 91593962dc..a18b32b661 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl @@ -1,4 +1,4 @@ -<newpage /> -<text size="26" justification="centre"><C:rf:1Appendices><b>Appendices</b> -</text> -<newpage /> +<newpage /> +<text size="26" justification="centre"><C:rf:1Appendices><b>Appendices</b> +</text> +<newpage /> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl index b4812e3e02..17db4f0a29 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl @@ -1,12 +1,12 @@ -{capture name="clink"}{if $is_interface}Interface{else}Class{/if} {$name}{/capture} -{capture name="cindex"}{$name}|||{$sdesc}{/capture} -{capture name="classeslink"}Package {$package} Classes{/capture} -{if $plink}{capture name="plink"}Package {$package}{/capture}{/if} -{if $includeheader}{include file="newpackage_header.tpl" isclass=true}{/if} -<text size="11"> - - - -</text> -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="20" justification="centre">{if $is_interface}Interface{else}Class{/if} {$name} <i></text><text size="11" justification="centre">[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:2{$smarty.capture.clink|rawurlencode}><C:index:{$smarty.capture.cindex|rawurlencode}></text> +{capture name="clink"}{if $is_interface}Interface{else}Class{/if} {$name}{/capture} +{capture name="cindex"}{$name}|||{$sdesc}{/capture} +{capture name="classeslink"}Package {$package} Classes{/capture} +{if $plink}{capture name="plink"}Package {$package}{/capture}{/if} +{if $includeheader}{include file="newpackage_header.tpl" isclass=true}{/if} +<text size="11"> + + + +</text> +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="20" justification="centre">{if $is_interface}Interface{else}Class{/if} {$name} <i></text><text size="11" justification="centre">[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:2{$smarty.capture.clink|rawurlencode}><C:index:{$smarty.capture.cindex|rawurlencode}></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl index ecfb240828..42063dc2b3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl @@ -1,11 +1,11 @@ -{* Class Trees template for the PDF Converter *} -<text size="26" justification="centre"><C:rf:2Appendix A - Class Trees>Appendix A - Class Trees -</text> -{section name=classtrees loop=$trees} -<text size="16" justification="centre"><C:rf:3{$trees[classtrees].package}>Package {$trees[classtrees].package} -</text> -{section name=trees loop=$trees[classtrees].trees} -<text size="12"><C:IndexLetter:{$trees[classtrees].trees[trees].class}> -{$trees[classtrees].trees[trees].class_tree}</text> -{/section} +{* Class Trees template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix A - Class Trees>Appendix A - Class Trees +</text> +{section name=classtrees loop=$trees} +<text size="16" justification="centre"><C:rf:3{$trees[classtrees].package}>Package {$trees[classtrees].package} +</text> +{section name=trees loop=$trees[classtrees].trees} +<text size="12"><C:IndexLetter:{$trees[classtrees].trees[trees].class}> +{$trees[classtrees].trees[trees].class_tree}</text> +{/section} {/section} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl index 7e070ebdd8..0236dfd078 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl @@ -1,7 +1,7 @@ -{capture name="vlink"}Class Constant {$name}{/capture} -{capture name="vindex"}{$class}::{$name}|||{$sdesc}{/capture} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="10" justification="left"><b>{$class}::{$name}</b> -<C:indent:25> - = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.vlink|rawurlencode}><C:index:{$smarty.capture.vindex|rawurlencode}> -<C:indent:-25></text> +{capture name="vlink"}Class Constant {$name}{/capture} +{capture name="vindex"}{$class}::{$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><b>{$class}::{$name}</b> +<C:indent:25> + = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.vlink|rawurlencode}><C:index:{$smarty.capture.vindex|rawurlencode}> +<C:indent:-25></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl index fd8e30d77d..8ae570cbab 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl @@ -1,4 +1,4 @@ -{capture name="dlink"}Define {$name}{/capture} -{capture name="dindex"}{$name}|||{$sdesc}{/capture} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="10" justification="left">{$name} = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.dlink|rawurlencode}><C:index:{$smarty.capture.dindex|rawurlencode}></text> +{capture name="dlink"}Define {$name}{/capture} +{capture name="dindex"}{$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left">{$name} = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.dlink|rawurlencode}><C:index:{$smarty.capture.dindex|rawurlencode}></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl index 87dc460d46..8cc8d00445 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl @@ -1,10 +1,10 @@ -{if $sdesc}<text size="12" justification="full" left="10"><C:indent:25><b>{$sdesc}</b> -<C:indent:-25>{$desc} -</text>{/if} -{if $tags} -<text size="10" left="15"> -<C:indent:40> -<ul>{section name=tags loop=$tags}<li><b>{$tags[tags].keyword}</b> {$tags[tags].data}</li> -{/section}</ul> -<C:indent:-40></text> -{/if} +{if $sdesc}<text size="12" justification="full" left="10"><C:indent:25><b>{$sdesc}</b> +<C:indent:-25>{$desc} +</text>{/if} +{if $tags} +<text size="10" left="15"> +<C:indent:40> +<ul>{section name=tags loop=$tags}<li><b>{$tags[tags].keyword}</b> {$tags[tags].data}</li> +{/section}</ul> +<C:indent:-40></text> +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl index 2de33af744..8da4c7820a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl @@ -1,5 +1,5 @@ -<text size="15" justification="centre"><C:rf:3example: {$title}>{$title} -</text> -<font face="Courier" /> -<text size="8">{$source}</text> -<font face="Helvetica" /> +<text size="15" justification="centre"><C:rf:3example: {$title}>{$title} +</text> +<font face="Courier" /> +<text size="8">{$source}</text> +<font face="Helvetica" /> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl index 690475e8c0..bbe40d41d9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl @@ -1,11 +1,11 @@ -{capture name="gindex"}{$name}|||Source code{/capture} -<newpage /> -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="26" justification="centre"><C:index:{$smarty.capture.gindex|rawurlencode}><C:rf:3source code: {$name}>File Source for {$name} -</text> -<text size="12"><i>Documentation for this file is available at {$docs}</i> - -</text> -<font face="Courier" /> -<text size="8">{$source}</text> -<font face="Helvetica" /> +{capture name="gindex"}{$name}|||Source code{/capture} +<newpage /> +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="26" justification="centre"><C:index:{$smarty.capture.gindex|rawurlencode}><C:rf:3source code: {$name}>File Source for {$name} +</text> +<text size="12"><i>Documentation for this file is available at {$docs}</i> + +</text> +<font face="Courier" /> +<text size="8">{$source}</text> +<font face="Helvetica" /> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl index e667688095..83480b2701 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl @@ -1,11 +1,11 @@ -<pdffunction:openObject return="all" /> -<pdffunction:saveState /> -<pdffunction:setStrokeColor arg="0" arg="0" arg="0" arg="1" /> -<pdffunction:line arg="20" arg="40" arg="578" arg="40" /> -<pdffunction:line arg="20" arg="822" arg="578" arg="822" /> -<pdffunction:addText arg="50" arg="34" arg="6" arg="Generated by phpDocumentor v{$phpdocversion} http://www.phpdoc.org - http://www.sourceforge.net/projects/phpdocu" /> -<pdffunction:restoreState /> -<pdffunction:closeObject /> -{* note that object can be told to appear on just odd or even pages by changing -'all' to 'odd' or 'even'. *} +<pdffunction:openObject return="all" /> +<pdffunction:saveState /> +<pdffunction:setStrokeColor arg="0" arg="0" arg="0" arg="1" /> +<pdffunction:line arg="20" arg="40" arg="578" arg="40" /> +<pdffunction:line arg="20" arg="822" arg="578" arg="822" /> +<pdffunction:addText arg="50" arg="34" arg="6" arg="Generated by phpDocumentor v{$phpdocversion} http://www.phpdoc.org - http://www.sourceforge.net/projects/phpdocu" /> +<pdffunction:restoreState /> +<pdffunction:closeObject /> +{* note that object can be told to appear on just odd or even pages by changing +'all' to 'odd' or 'even'. *} <pdffunction:addObject arg=$all arg="all" /> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl index f4c1f91b91..a5595dff65 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl @@ -1,4 +1,4 @@ -{capture name="flink"}Function {$intricatefunctioncall.name}{/capture} -{capture name="findex"}{$intricatefunctioncall.name}()|||{$sdesc}{/capture} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="10" justification="left"><i>{$return}</i> function {$intricatefunctioncall.name}({section name=params loop=$intricatefunctioncall.params}{if $smarty.section.params.index > 0}, {/if}{if $intricatefunctioncall.params[params].hasdefault}[{/if}{$intricatefunctioncall.params[params].name}{if $intricatefunctioncall.params[params].hasdefault} = {$intricatefunctioncall.params[params].default}]{/if}{/section}) <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.flink|rawurlencode}><C:index:{$smarty.capture.findex|rawurlencode}></text> +{capture name="flink"}Function {$intricatefunctioncall.name}{/capture} +{capture name="findex"}{$intricatefunctioncall.name}()|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><i>{$return}</i> function {$intricatefunctioncall.name}({section name=params loop=$intricatefunctioncall.params}{if $smarty.section.params.index > 0}, {/if}{if $intricatefunctioncall.params[params].hasdefault}[{/if}{$intricatefunctioncall.params[params].name}{if $intricatefunctioncall.params[params].hasdefault} = {$intricatefunctioncall.params[params].default}]{/if}{/section}) <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.flink|rawurlencode}><C:index:{$smarty.capture.findex|rawurlencode}></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl index f654d34b28..6185204303 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl @@ -1,7 +1,7 @@ -{capture name="glink"}Global Variable {$name}{/capture} -{capture name="gindex"}global {$name}|||{$sdesc}{/capture} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="10" justification="left"><b>{$name}</b> -<C:indent:25> -<i>{$type}</i> = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.glink|rawurlencode}><C:index:{$smarty.capture.gindex|rawurlencode}> -<C:indent:-25></text> +{capture name="glink"}Global Variable {$name}{/capture} +{capture name="gindex"}global {$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><b>{$name}</b> +<C:indent:25> +<i>{$type}</i> = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.glink|rawurlencode}><C:index:{$smarty.capture.gindex|rawurlencode}> +<C:indent:-25></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl index f3b425c21b..399f04d852 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl @@ -1,3 +1,3 @@ -<text size="10" justification="left">{$name} <b>{$value}</b> <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i> - +<text size="10" justification="left">{$name} <b>{$value}</b> <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i> + </text> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl index fd19b28384..0396171303 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl @@ -1,14 +1,14 @@ -<pdffunction:ezInsertMode arg="0" /> -<newpage /> -<text size="26" justification="centre"><C:rf:1Index>Index -</text> -{foreach item="contents" key="letter" from=$indexcontents} -<text size="26"><C:IndexLetter:{$letter}></text> -{foreach item="arr" from=$contents} -<text size="11" aright="520"><c:ilink:toc{$arr[3]}>{$arr[0]}</c:ilink><C:dots:4{$arr[2]}></text> -{if $arr[1]} -<text size="11" left="50"><i>{$arr[1]}</i></text> -{/if} -{/foreach} -{/foreach} - +<pdffunction:ezInsertMode arg="0" /> +<newpage /> +<text size="26" justification="centre"><C:rf:1Index>Index +</text> +{foreach item="contents" key="letter" from=$indexcontents} +<text size="26"><C:IndexLetter:{$letter}></text> +{foreach item="arr" from=$contents} +<text size="11" aright="520"><c:ilink:toc{$arr[3]}>{$arr[0]}</c:ilink><C:dots:4{$arr[2]}></text> +{if $arr[1]} +<text size="11" left="50"><i>{$arr[1]}</i></text> +{/if} +{/foreach} +{/foreach} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl index 4329f2fdcb..dcc72f9f01 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl @@ -1,4 +1,4 @@ -{capture name="mlink"}{if $constructor}Constructor {else}Method {/if}{$intricatefunctioncall.name}{/capture} -{capture name="mindex"}{if $constructor}constructor {/if}{$class}::{$intricatefunctioncall.name}()|||{$sdesc}{/capture} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="10" justification="left">{if $constructor}Constructor {else}{/if}<i>{$return}</i> function {$class}::{$intricatefunctioncall.name}({section name=params loop=$intricatefunctioncall.params}{if $smarty.section.params.index > 0}, {/if}{if $intricatefunctioncall.params[params].hasdefault}[{/if}{$intricatefunctioncall.params[params].name}{if $intricatefunctioncall.params[params].hasdefault} = {$intricatefunctioncall.params[params].default}]{/if}{/section}) <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.mlink|rawurlencode}><C:index:{$smarty.capture.mindex|rawurlencode}></text> +{capture name="mlink"}{if $constructor}Constructor {else}Method {/if}{$intricatefunctioncall.name}{/capture} +{capture name="mindex"}{if $constructor}constructor {/if}{$class}::{$intricatefunctioncall.name}()|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left">{if $constructor}Constructor {else}{/if}<i>{$return}</i> function {$class}::{$intricatefunctioncall.name}({section name=params loop=$intricatefunctioncall.params}{if $smarty.section.params.index > 0}, {/if}{if $intricatefunctioncall.params[params].hasdefault}[{/if}{$intricatefunctioncall.params[params].name}{if $intricatefunctioncall.params[params].hasdefault} = {$intricatefunctioncall.params[params].default}]{/if}{/section}) <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.mlink|rawurlencode}><C:index:{$smarty.capture.mindex|rawurlencode}></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl index ab5bab5d10..c12c3e5de5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl @@ -1,6 +1,6 @@ -<newpage /> -{if $ppage}{include file="packagepage.tpl" package=$package plink=$smarty.capture.plink ppage=$ppage}{/if} -<text size="26" justification="centre">Package {$package} {if $isclass}Classes{else}Procedural Elements{/if}<C:rf:1{$smarty.capture.classeslink|rawurlencode}> - - -</text> +<newpage /> +{if $ppage}{include file="packagepage.tpl" package=$package plink=$smarty.capture.plink ppage=$ppage}{/if} +<text size="26" justification="centre">Package {$package} {if $isclass}Classes{else}Procedural Elements{/if}<C:rf:1{$smarty.capture.classeslink|rawurlencode}> + + +</text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl index c423b9cc09..94accf308b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl @@ -1,5 +1,5 @@ -<text size="26" justification="centre">Package {$package}<C:rf:1{$plink|rawurlencode}> - - -</text> +<text size="26" justification="centre">Package {$package}<C:rf:1{$plink|rawurlencode}> + + +</text> <text size="12">{$ppage}</text> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl index c94210f716..73d33c1c6c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl @@ -1,7 +1,7 @@ -{capture name="pagelink"}{$name}{/capture} -{capture name="pageindex"}{$name}|||{$sdesc}{/capture} -{capture name="classeslink"}Package {$package} Procedural Elements{/capture} -<newpage /> -{if $includeheader}{include file="newpackage_header.tpl" isclass=false}{/if} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +{capture name="pagelink"}{$name}{/capture} +{capture name="pageindex"}{$name}|||{$sdesc}{/capture} +{capture name="classeslink"}Package {$package} Procedural Elements{/capture} +<newpage /> +{if $includeheader}{include file="newpackage_header.tpl" isclass=false}{/if} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> <text size="18" justification="center">{$name}<C:rf:2{$smarty.capture.pagelink|rawurlencode}><C:index:{$smarty.capture.pageindex|rawurlencode}></text> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl index e8cb649a3b..bb260c38e8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl @@ -1 +1 @@ -<pdffunction:ezStartPageNumbers x="500" y="28" size="10" pos="" pattern="Page {ldelim}PAGENUM{rdelim} of {ldelim}TOTALPAGENUM{rdelim}" num="1" /> +<pdffunction:ezStartPageNumbers x="500" y="28" size="10" pos="" pattern="Page {ldelim}PAGENUM{rdelim} of {ldelim}TOTALPAGENUM{rdelim}" num="1" /> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl index 6ec95a4a32..64be39c383 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl @@ -1,4 +1,4 @@ -{if count($params)}<text size="10" left="15"><b><i>Function Parameters:</i></b> -</text><text size="11" left="20"><ul>{section name=params loop=$params} -<li><i>{$params[params].type}</i> <b>{$params[params].name}</b> {$params[params].description}</li> -{/section}</ul></text>{/if} +{if count($params)}<text size="10" left="15"><b><i>Function Parameters:</i></b> +</text><text size="11" left="20"><ul>{section name=params loop=$params} +<li><i>{$params[params].type}</i> <b>{$params[params].name}</b> {$params[params].description}</li> +{/section}</ul></text>{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl index 15af061ea4..427e0afb3f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl @@ -1,7 +1,7 @@ -{capture name="tlink"}{$name}{/capture} -{capture name="tindex"}{$name}|||{/capture} -<text size="20" justification="centre"><C:rf:3{$smarty.capture.tlink|rawurlencode}><C:index:{$smarty.capture.tindex|rawurlencode}>{$name} - -</text> -<text size="10" justification="left"> +{capture name="tlink"}{$name}{/capture} +{capture name="tindex"}{$name}|||{/capture} +<text size="20" justification="centre"><C:rf:3{$smarty.capture.tlink|rawurlencode}><C:index:{$smarty.capture.tindex|rawurlencode}>{$name} + +</text> +<text size="10" justification="left"> {$contents|htmlentities}</text> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl index cf95cb9700..5a604b7f53 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl @@ -1,5 +1,5 @@ -<newpage /> -{* Class Trees template for the PDF Converter *} -<text size="26" justification="centre"><C:rf:2Appendix B - README/CHANGELOG/INSTALL>Appendix B - README/CHANGELOG/INSTALL -</text> -<newpage /> +<newpage /> +{* Class Trees template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix B - README/CHANGELOG/INSTALL>Appendix B - README/CHANGELOG/INSTALL +</text> +<newpage /> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl index 46d503667d..7d85c2e344 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl @@ -1,8 +1,8 @@ -{* Source Code template for the PDF Converter *} -{foreach from=$source item=code id=$package} -<text size="16" justification="centre"><C:rf:3Package {$package}>Package {$package} -</text> -{section name=code loop=$code} -{$code[code]} -{/section} +{* Source Code template for the PDF Converter *} +{foreach from=$source item=code id=$package} +<text size="16" justification="centre"><C:rf:3Package {$package}>Package {$package} +</text> +{section name=code loop=$code} +{$code[code]} +{/section} {/foreach} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl index 36aabad878..42f868f765 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl @@ -1,5 +1,5 @@ -<newpage /> -{* Class Trees template for the PDF Converter *} -<text size="26" justification="centre"><C:rf:2Appendix C - Source Code>Appendix C - Source Code -</text> -<newpage /> +<newpage /> +{* Class Trees template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix C - Source Code>Appendix C - Source Code +</text> +<newpage /> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl index 72b9b7a98a..91d50cfc65 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl @@ -1,7 +1,7 @@ -<pdffunction:ezSetDy arg="-100" /> -<text size="30" justification="centre"><b>{$title}</b></text> -<pdffunction:ezSetDy arg="-150" /> -{if $logo} -<pdffunction:getYPlusOffset return="newy" offset="0" /> -<pdffunction:addJpegFromFile arg="{$logo}" x="250" y=$newy /> +<pdffunction:ezSetDy arg="-100" /> +<text size="30" justification="centre"><b>{$title}</b></text> +<pdffunction:ezSetDy arg="-150" /> +{if $logo} +<pdffunction:getYPlusOffset return="newy" offset="0" /> +<pdffunction:addJpegFromFile arg="{$logo}" x="250" y=$newy /> {/if} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl index 3f611f24aa..e632ad1601 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl @@ -1,15 +1,15 @@ -<pdffunction:ezStopPageNumbers arg="1" arg="1" /> -<pdffunction:ezInsertMode arg="1" arg="1" arg="after" /> -<newpage /> -<text size="26" justification="centre">Contents -</text> -{assign var="xpos" value="520"} -{foreach item=v key=k from=$contents} -{if $v[2] == '1'} -<text size="16" aright="{$xpos}"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> -{elseif $v[2] == '2'} -<text size="12" aright="{$xpos}" left="30"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> -{elseif $v[2] == '3'} -<text size="12" aright="{$xpos}" left="40"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> -{/if} -{/foreach} +<pdffunction:ezStopPageNumbers arg="1" arg="1" /> +<pdffunction:ezInsertMode arg="1" arg="1" arg="after" /> +<newpage /> +<text size="26" justification="centre">Contents +</text> +{assign var="xpos" value="520"} +{foreach item=v key=k from=$contents} +{if $v[2] == '1'} +<text size="16" aright="{$xpos}"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> +{elseif $v[2] == '2'} +<text size="12" aright="{$xpos}" left="30"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> +{elseif $v[2] == '3'} +<text size="12" aright="{$xpos}" left="40"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> +{/if} +{/foreach} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl index 705d1a75ff..2652c1c60c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl @@ -1,17 +1,17 @@ -<newpage /> -{* Todo List template for the PDF Converter *} -<text size="26" justification="centre"><C:rf:2Appendix D - Todo List>Appendix D - Todo List -</text> -{foreach from=$todos key=todopackage item=todo} -<text size="16" justification="centre">In Package {$todopackage} - -</text> -{section name=todo loop=$todo} -<text size="12">In <b>{$todo[todo].link}</b>: -</text> -<text size="11"><ul>{section name=t loop=$todo[todo].todos} - <li>{$todo[todo].todos[t]}</li>{/section} -</ul> -</text> -{/section} +<newpage /> +{* Todo List template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix D - Todo List>Appendix D - Todo List +</text> +{foreach from=$todos key=todopackage item=todo} +<text size="16" justification="centre">In Package {$todopackage} + +</text> +{section name=todo loop=$todo} +<text size="12">In <b>{$todo[todo].link}</b>: +</text> +<text size="11"><ul>{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li>{/section} +</ul> +</text> +{/section} {/foreach} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl index 8b9d6fa28b..c5f8a2dcd7 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl @@ -1,7 +1,7 @@ -{capture name="tlink"}{$title|strip_tags}{/capture} -{capture name="tindex"}{$title|strip_tags}|||{/capture} -{capture name="dest"}tutorial{$package}{$subpackage}{$element->name}{/capture} -<newpage /> -<pdffunction:addDestination arg="{$smarty.capture.dest|urlencode}" arg="FitH" arg=$this->y /> -<text size="26" justification="centre">{$title}<C:rf:{if $hasparent}3{elseif $child}2{else}1{/if}{$smarty.capture.tlink|rawurlencode}><C:index:{$smarty.capture.tindex|rawurlencode}> +{capture name="tlink"}{$title|strip_tags}{/capture} +{capture name="tindex"}{$title|strip_tags}|||{/capture} +{capture name="dest"}tutorial{$package}{$subpackage}{$element->name}{/capture} +<newpage /> +<pdffunction:addDestination arg="{$smarty.capture.dest|urlencode}" arg="FitH" arg=$this->y /> +<text size="26" justification="centre">{$title}<C:rf:{if $hasparent}3{elseif $child}2{else}1{/if}{$smarty.capture.tlink|rawurlencode}><C:index:{$smarty.capture.tindex|rawurlencode}> </text>{$contents} \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl index 13a9ae835e..0a9fe92770 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl @@ -1,7 +1,7 @@ -{capture name="vlink"}Var {$name}{/capture} -{capture name="vindex"}{$class}::{$name}|||{$sdesc}{/capture} -<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> -<text size="10" justification="left"><b>{$class}::{$name}</b> -<C:indent:25> -<i>{$type}</i> = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.vlink|rawurlencode}><C:index:{$smarty.capture.vindex|rawurlencode}> -<C:indent:-25></text> +{capture name="vlink"}Var {$name}{/capture} +{capture name="vindex"}{$class}::{$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><b>{$class}::{$name}</b> +<C:indent:25> +<i>{$type}</i> = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.vlink|rawurlencode}><C:index:{$smarty.capture.vindex|rawurlencode}> +<C:indent:-25></text> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php index 5378aee471..5474b52143 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php @@ -1,135 +1,135 @@ -<?PHP -/** - * XML/Beautifier.php - * - * Format XML files containing unknown entities (like all of peardoc) - * - * phpDocumentor :: automatic documentation generator - * - * PHP versions 4 and 5 - * - * Copyright (c) 2004-2006 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 phpDocumentor - * @subpackage Parsers - * @author Greg Beaver <cellog@php.net> - * @copyright 2004-2006 Gregory Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @link http://www.phpdoc.org - * @link http://pear.php.net/PhpDocumentor - * @since 1.3.0 - */ - - -/** - * This is just like XML_Beautifier, but uses {@link phpDocumentor_XML_Beautifier_Tokenizer} - * @package phpDocumentor - * @subpackage Parsers - * @since 1.3.0 - */ -class phpDocumentor_peardoc2_XML_Beautifier extends XML_Beautifier { - - /** - * format a file or URL - * - * @access public - * @param string $file filename - * @param mixed $newFile filename for beautified XML file (if none is given, the XML string will be returned.) - * if you want overwrite the original file, use XML_BEAUTIFIER_OVERWRITE - * @param string $renderer Renderer to use, default is the plain xml renderer - * @return mixed XML string of no file should be written, true if file could be written - * @throws PEAR_Error - * @uses _loadRenderer() to load the desired renderer - */ - function formatFile($file, $newFile = null, $renderer = "Plain") - { - if ($this->apiVersion() != '1.0') { - return $this->raiseError('API version must be 1.0'); - } - /** - * Split the document into tokens - * using the XML_Tokenizer - */ - require_once dirname(__FILE__) . '/Tokenizer.php'; - $tokenizer = new phpDocumentor_XML_Beautifier_Tokenizer(); - - $tokens = $tokenizer->tokenize( $file, true ); - - if (PEAR::isError($tokens)) { - return $tokens; - } - - include_once dirname(__FILE__) . '/Plain.php'; - $renderer = new PHPDoc_XML_Beautifier_Renderer_Plain($this->_options); - - $xml = $renderer->serialize($tokens); - - if ($newFile == null) { - return $xml; - } - - $fp = @fopen($newFile, "w"); - if (!$fp) { - return PEAR::raiseError("Could not write to output file", XML_BEAUTIFIER_ERROR_NO_OUTPUT_FILE); - } - - flock($fp, LOCK_EX); - fwrite($fp, $xml); - flock($fp, LOCK_UN); - fclose($fp); - return true; } - - /** - * format an XML string - * - * @access public - * @param string $string XML - * @return string formatted XML string - * @throws PEAR_Error - */ - function formatString($string, $renderer = "Plain") - { - if ($this->apiVersion() != '1.0') { - return $this->raiseError('API version must be 1.0'); - } - /** - * Split the document into tokens - * using the XML_Tokenizer - */ - require_once dirname(__FILE__) . '/Tokenizer.php'; - $tokenizer = new phpDocumentor_XML_Beautifier_Tokenizer(); - - $tokens = $tokenizer->tokenize( $string, false ); - - if (PEAR::isError($tokens)) { - return $tokens; - } - - include_once dirname(__FILE__) . '/Plain.php'; - $renderer = new PHPDoc_XML_Beautifier_Renderer_Plain($this->_options); - - $xml = $renderer->serialize($tokens); - - return $xml; - } -} +<?PHP +/** + * XML/Beautifier.php + * + * Format XML files containing unknown entities (like all of peardoc) + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2004-2006 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 phpDocumentor + * @subpackage Parsers + * @author Greg Beaver <cellog@php.net> + * @copyright 2004-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.3.0 + */ + + +/** + * This is just like XML_Beautifier, but uses {@link phpDocumentor_XML_Beautifier_Tokenizer} + * @package phpDocumentor + * @subpackage Parsers + * @since 1.3.0 + */ +class phpDocumentor_peardoc2_XML_Beautifier extends XML_Beautifier { + + /** + * format a file or URL + * + * @access public + * @param string $file filename + * @param mixed $newFile filename for beautified XML file (if none is given, the XML string will be returned.) + * if you want overwrite the original file, use XML_BEAUTIFIER_OVERWRITE + * @param string $renderer Renderer to use, default is the plain xml renderer + * @return mixed XML string of no file should be written, true if file could be written + * @throws PEAR_Error + * @uses _loadRenderer() to load the desired renderer + */ + function formatFile($file, $newFile = null, $renderer = "Plain") + { + if ($this->apiVersion() != '1.0') { + return $this->raiseError('API version must be 1.0'); + } + /** + * Split the document into tokens + * using the XML_Tokenizer + */ + require_once dirname(__FILE__) . '/Tokenizer.php'; + $tokenizer = new phpDocumentor_XML_Beautifier_Tokenizer(); + + $tokens = $tokenizer->tokenize( $file, true ); + + if (PEAR::isError($tokens)) { + return $tokens; + } + + include_once dirname(__FILE__) . '/Plain.php'; + $renderer = new PHPDoc_XML_Beautifier_Renderer_Plain($this->_options); + + $xml = $renderer->serialize($tokens); + + if ($newFile == null) { + return $xml; + } + + $fp = @fopen($newFile, "w"); + if (!$fp) { + return PEAR::raiseError("Could not write to output file", XML_BEAUTIFIER_ERROR_NO_OUTPUT_FILE); + } + + flock($fp, LOCK_EX); + fwrite($fp, $xml); + flock($fp, LOCK_UN); + fclose($fp); + return true; } + + /** + * format an XML string + * + * @access public + * @param string $string XML + * @return string formatted XML string + * @throws PEAR_Error + */ + function formatString($string, $renderer = "Plain") + { + if ($this->apiVersion() != '1.0') { + return $this->raiseError('API version must be 1.0'); + } + /** + * Split the document into tokens + * using the XML_Tokenizer + */ + require_once dirname(__FILE__) . '/Tokenizer.php'; + $tokenizer = new phpDocumentor_XML_Beautifier_Tokenizer(); + + $tokens = $tokenizer->tokenize( $string, false ); + + if (PEAR::isError($tokens)) { + return $tokens; + } + + include_once dirname(__FILE__) . '/Plain.php'; + $renderer = new PHPDoc_XML_Beautifier_Renderer_Plain($this->_options); + + $xml = $renderer->serialize($tokens); + + return $xml; + } +} ?> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php index a9c636c5c2..b99ced18cb 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php @@ -1,250 +1,250 @@ -<?PHP -/* vim: set expandtab tabstop=4 shiftwidth=4: */ -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2002 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.0 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Stephan Schmidt <schst@php.net> | -// +----------------------------------------------------------------------+ - -/** - * XML/Beautifier/Renderer/Plain.php - * - * @package XML_Beautifier - * @author Stephan Schmidt <schst@php.net> - */ - -/** - * XML_Util is needed to create the tags - */ -require_once 'XML/Util.php'; - -/** - * Renderer base class - */ -require_once 'XML/Beautifier/Renderer.php'; - -/** - * Basic XML Renderer for XML Beautifier - * - * @package XML_Beautifier - * @author Stephan Schmidt <schst@php.net> - * @todo option to specify inline tags - * @todo option to specify treatment of whitespac in data sections - * @todo automatically create <![CDATA[ ]]> sections - */ -class PHPDoc_XML_Beautifier_Renderer_Plain extends XML_Beautifier_Renderer { - - /** - * Serialize the XML tokens - * - * @access public - * @param array XML tokens - * @return string XML document - */ - function serialize($tokens) - { - $tokens = $this->normalize($tokens); - - $xml = ''; - $cnt = count($tokens); - for($i = 0; $i < $cnt; $i++ ) - { - $xml .= $this->_serializeToken($tokens[$i]); - } - return $xml; - } - - /** - * serialize a token - * - * This method does the actual beautifying. - * - * @access private - * @param array $token structure that should be serialized - * @todo split this method into smaller methods - */ - function _serializeToken($token) - { - switch ($token["type"]) { - - /* - * serialize XML Element - */ - case XML_BEAUTIFIER_ELEMENT: - $indent = $this->_getIndentString($token["depth"]); - - // adjust tag case - if ($this->_options["caseFolding"] === true) { - switch ($this->_options["caseFoldingTo"]) { - case "uppercase": - $token["tagname"] = strtoupper($token["tagname"]); - $token["attribs"] = array_change_key_case($token["attribs"], CASE_UPPER); - break; - case "lowercase": - $token["tagname"] = strtolower($token["tagname"]); - $token["attribs"] = array_change_key_case($token["attribs"], CASE_LOWER); - break; - } - } - - if ($this->_options["multilineTags"] == true) { - $attIndent = $indent . str_repeat(" ", (2+strlen($token["tagname"]))); - } else { - $attIndent = null; - } - // check for children - switch ($token["contains"]) { - - // contains only CData or is empty - case XML_BEAUTIFIER_CDATA: - case XML_BEAUTIFIER_EMPTY: - if (sizeof($token["children"]) >= 1) { - $data = $token["children"][0]["data"]; - } else { - $data = ''; - } - - if( strstr( $data, "\n" ) && $token['contains'] != PHPDOC_BEAUTIFIER_CDATA) - { - $data = "\n" . $this->_indentTextBlock( $data, $token['depth']+1, true ); - } - - $xml = $indent . XML_Util::createTag($token["tagname"], $token["attribs"], $data, null, false, $this->_options["multilineTags"], $attIndent) - . $this->_options["linebreak"]; - break; - // contains mixed content - default: - $xml = $indent . XML_Util::createStartElement($token["tagname"], $token["attribs"], null, $this->_options["multilineTags"], $attIndent) - . $this->_options["linebreak"]; - - $cnt = count($token["children"]); - for ($i = 0; $i < $cnt; $i++) { - $xml .= $this->_serializeToken($token["children"][$i]); - } - $xml .= $indent . XML_Util::createEndElement($token["tagname"]) - . $this->_options["linebreak"]; - break; - break; - } - break; - - /* - * serialize <![CDATA - */ - case PHPDOC_BEAUTIFIER_CDATA: - $xml = $token['data'] . $this->_options['linebreak']; - break; - - /* - * serialize CData - */ - case XML_BEAUTIFIER_CDATA: - if ($token["depth"] > 0) { - $xml = str_repeat($this->_options["indent"], $token["depth"]); - } else { - $xml = ""; - } - - $xml .= $token["data"] . $this->_options["linebreak"]; - break; - - /* - * serialize Processing instruction - */ - case XML_BEAUTIFIER_PI: - $indent = $this->_getIndentString($token["depth"]); - - $xml = $indent."<?".$token["target"].$this->_options["linebreak"] - . $this->_indentTextBlock(rtrim($token["data"]), $token["depth"]) - . $indent."?>".$this->_options["linebreak"]; - break; - - /* - * comments - */ - case XML_BEAUTIFIER_COMMENT: - $lines = count(explode("\n",$token["data"])); - - /* - * normalize comment, i.e. combine it to one - * line and remove whitespace - */ - if ($this->_options["normalizeComments"] && $lines > 1){ - $comment = preg_replace("/\s\s+/s", " ", str_replace( "\n" , " ", $token["data"])); - $lines = 1; - } else { - $comment = $token["data"]; - } - - /* - * check for the maximum length of one line - */ - if ($this->_options["maxCommentLine"] > 0) { - if ($lines > 1) { - $commentLines = explode("\n", $comment); - } else { - $commentLines = array($comment); - } - - $comment = ""; - for ($i = 0; $i < $lines; $i++) { - if (strlen($commentLines[$i]) <= $this->_options["maxCommentLine"]) { - $comment .= $commentLines[$i]; - continue; - } - $comment .= wordwrap($commentLines[$i], $this->_options["maxCommentLine"] ); - if ($i != ($lines-1)) { - $comment .= "\n"; - } - } - $lines = count(explode("\n",$comment)); - } - - $indent = $this->_getIndentString($token["depth"]); - - if ($lines > 1) { - $xml = $indent . "<!--" . $this->_options["linebreak"] - . $this->_indentTextBlock($comment, $token["depth"]+1, true) - . $indent . "-->" . $this->_options["linebreak"]; - } else { - $xml = $indent . sprintf( "<!-- %s -->", trim($comment) ) . $this->_options["linebreak"]; - } - break; - - /* - * xml declaration - */ - case XML_BEAUTIFIER_XML_DECLARATION: - $indent = $this->_getIndentString($token["depth"]); - $xml = $indent . XML_Util::getXMLDeclaration($token["version"], $token["encoding"], $token["standalone"]); - break; - - /* - * xml declaration - */ - case XML_BEAUTIFIER_DT_DECLARATION: - $xml = $token["data"]; - break; - - /* - * all other elements - */ - case XML_BEAUTIFIER_DEFAULT: - default: - $xml = XML_Util::replaceEntities( $token["data"] ); - break; - } - return $xml; - } -} +<?PHP +/* vim: set expandtab tabstop=4 shiftwidth=4: */ +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2002 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 2.0 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/2_02.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Authors: Stephan Schmidt <schst@php.net> | +// +----------------------------------------------------------------------+ + +/** + * XML/Beautifier/Renderer/Plain.php + * + * @package XML_Beautifier + * @author Stephan Schmidt <schst@php.net> + */ + +/** + * XML_Util is needed to create the tags + */ +require_once 'XML/Util.php'; + +/** + * Renderer base class + */ +require_once 'XML/Beautifier/Renderer.php'; + +/** + * Basic XML Renderer for XML Beautifier + * + * @package XML_Beautifier + * @author Stephan Schmidt <schst@php.net> + * @todo option to specify inline tags + * @todo option to specify treatment of whitespac in data sections + * @todo automatically create <![CDATA[ ]]> sections + */ +class PHPDoc_XML_Beautifier_Renderer_Plain extends XML_Beautifier_Renderer { + + /** + * Serialize the XML tokens + * + * @access public + * @param array XML tokens + * @return string XML document + */ + function serialize($tokens) + { + $tokens = $this->normalize($tokens); + + $xml = ''; + $cnt = count($tokens); + for($i = 0; $i < $cnt; $i++ ) + { + $xml .= $this->_serializeToken($tokens[$i]); + } + return $xml; + } + + /** + * serialize a token + * + * This method does the actual beautifying. + * + * @access private + * @param array $token structure that should be serialized + * @todo split this method into smaller methods + */ + function _serializeToken($token) + { + switch ($token["type"]) { + + /* + * serialize XML Element + */ + case XML_BEAUTIFIER_ELEMENT: + $indent = $this->_getIndentString($token["depth"]); + + // adjust tag case + if ($this->_options["caseFolding"] === true) { + switch ($this->_options["caseFoldingTo"]) { + case "uppercase": + $token["tagname"] = strtoupper($token["tagname"]); + $token["attribs"] = array_change_key_case($token["attribs"], CASE_UPPER); + break; + case "lowercase": + $token["tagname"] = strtolower($token["tagname"]); + $token["attribs"] = array_change_key_case($token["attribs"], CASE_LOWER); + break; + } + } + + if ($this->_options["multilineTags"] == true) { + $attIndent = $indent . str_repeat(" ", (2+strlen($token["tagname"]))); + } else { + $attIndent = null; + } + // check for children + switch ($token["contains"]) { + + // contains only CData or is empty + case XML_BEAUTIFIER_CDATA: + case XML_BEAUTIFIER_EMPTY: + if (sizeof($token["children"]) >= 1) { + $data = $token["children"][0]["data"]; + } else { + $data = ''; + } + + if( strstr( $data, "\n" ) && $token['contains'] != PHPDOC_BEAUTIFIER_CDATA) + { + $data = "\n" . $this->_indentTextBlock( $data, $token['depth']+1, true ); + } + + $xml = $indent . XML_Util::createTag($token["tagname"], $token["attribs"], $data, null, false, $this->_options["multilineTags"], $attIndent) + . $this->_options["linebreak"]; + break; + // contains mixed content + default: + $xml = $indent . XML_Util::createStartElement($token["tagname"], $token["attribs"], null, $this->_options["multilineTags"], $attIndent) + . $this->_options["linebreak"]; + + $cnt = count($token["children"]); + for ($i = 0; $i < $cnt; $i++) { + $xml .= $this->_serializeToken($token["children"][$i]); + } + $xml .= $indent . XML_Util::createEndElement($token["tagname"]) + . $this->_options["linebreak"]; + break; + break; + } + break; + + /* + * serialize <![CDATA + */ + case PHPDOC_BEAUTIFIER_CDATA: + $xml = $token['data'] . $this->_options['linebreak']; + break; + + /* + * serialize CData + */ + case XML_BEAUTIFIER_CDATA: + if ($token["depth"] > 0) { + $xml = str_repeat($this->_options["indent"], $token["depth"]); + } else { + $xml = ""; + } + + $xml .= $token["data"] . $this->_options["linebreak"]; + break; + + /* + * serialize Processing instruction + */ + case XML_BEAUTIFIER_PI: + $indent = $this->_getIndentString($token["depth"]); + + $xml = $indent."<?".$token["target"].$this->_options["linebreak"] + . $this->_indentTextBlock(rtrim($token["data"]), $token["depth"]) + . $indent."?>".$this->_options["linebreak"]; + break; + + /* + * comments + */ + case XML_BEAUTIFIER_COMMENT: + $lines = count(explode("\n",$token["data"])); + + /* + * normalize comment, i.e. combine it to one + * line and remove whitespace + */ + if ($this->_options["normalizeComments"] && $lines > 1){ + $comment = preg_replace("/\s\s+/s", " ", str_replace( "\n" , " ", $token["data"])); + $lines = 1; + } else { + $comment = $token["data"]; + } + + /* + * check for the maximum length of one line + */ + if ($this->_options["maxCommentLine"] > 0) { + if ($lines > 1) { + $commentLines = explode("\n", $comment); + } else { + $commentLines = array($comment); + } + + $comment = ""; + for ($i = 0; $i < $lines; $i++) { + if (strlen($commentLines[$i]) <= $this->_options["maxCommentLine"]) { + $comment .= $commentLines[$i]; + continue; + } + $comment .= wordwrap($commentLines[$i], $this->_options["maxCommentLine"] ); + if ($i != ($lines-1)) { + $comment .= "\n"; + } + } + $lines = count(explode("\n",$comment)); + } + + $indent = $this->_getIndentString($token["depth"]); + + if ($lines > 1) { + $xml = $indent . "<!--" . $this->_options["linebreak"] + . $this->_indentTextBlock($comment, $token["depth"]+1, true) + . $indent . "-->" . $this->_options["linebreak"]; + } else { + $xml = $indent . sprintf( "<!-- %s -->", trim($comment) ) . $this->_options["linebreak"]; + } + break; + + /* + * xml declaration + */ + case XML_BEAUTIFIER_XML_DECLARATION: + $indent = $this->_getIndentString($token["depth"]); + $xml = $indent . XML_Util::getXMLDeclaration($token["version"], $token["encoding"], $token["standalone"]); + break; + + /* + * xml declaration + */ + case XML_BEAUTIFIER_DT_DECLARATION: + $xml = $token["data"]; + break; + + /* + * all other elements + */ + case XML_BEAUTIFIER_DEFAULT: + default: + $xml = XML_Util::replaceEntities( $token["data"] ); + break; + } + return $xml; + } +} ?> \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php index 7dd8b5b4a3..87214b1b94 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php @@ -1,752 +1,752 @@ -<?php -/** - * XML/Beautifier.php - * - * Format XML files containing unknown entities (like all of peardoc) - * - * phpDocumentor :: automatic documentation generator - * - * PHP versions 4 and 5 - * - * Copyright (c) 2004-2006 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 phpDocumentor - * @subpackage Parsers - * @author Greg Beaver <cellog@php.net> - * @copyright 2004-2006 Gregory Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @filesource - * @link http://www.phpdoc.org - * @link http://pear.php.net/PhpDocumentor - * @since 1.3.0 - */ -/** - * From the XML_Beautifier package - */ -require_once 'XML/Beautifier/Tokenizer.php'; -/** - * Highlights source code using {@link parse()} - * @package phpDocumentor - * @subpackage Parsers - */ -class phpDocumentor_XML_Beautifier_Tokenizer extends XML_Beautifier_Tokenizer -{ - /**#@+ - * @access private - */ - var $_curthing; - var $_tag; - var $_attrs; - var $_attr; - - /**#@-*/ - /** - * @var array - */ - var $eventHandlers = array( - PHPDOC_XMLTOKEN_EVENT_NOEVENTS => 'normalHandler', - PHPDOC_XMLTOKEN_EVENT_XML => 'parseXMLHandler', - PHPDOC_XMLTOKEN_EVENT_PI => 'parsePiHandler', - PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE => 'attrHandler', - PHPDOC_XMLTOKEN_EVENT_OPENTAG => 'tagHandler', - PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'realcdataHandler', - PHPDOC_XMLTOKEN_EVENT_DEF => 'defHandler', - PHPDOC_XMLTOKEN_EVENT_CLOSETAG => 'closetagHandler', - PHPDOC_XMLTOKEN_EVENT_ENTITY => 'entityHandler', - PHPDOC_XMLTOKEN_EVENT_COMMENT => 'commentHandler', - PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE => 'stringHandler', - PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE => 'stringHandler', - PHPDOC_XMLTOKEN_EVENT_CDATA => 'parseCdataHandler', - ); - - /** - * Parse a new file - * - * The parse() method is a do...while() loop that retrieves tokens one by - * one from the {@link $_event_stack}, and uses the token event array set up - * by the class constructor to call event handlers. - * - * The event handlers each process the tokens passed to them, and use the - * {@link _addoutput()} method to append the processed tokens to the - * {@link $_line} variable. The word parser calls {@link newLineNum()} - * every time a line is reached. - * - * In addition, the event handlers use special linking functions - * {@link _link()} and its cousins (_classlink(), etc.) to create in-code - * hyperlinks to the documentation for source code elements that are in the - * source code. - * - * @uses setupStates() initialize parser state variables - * @uses configWordParser() pass $parse_data to prepare retrieval of tokens - * @param string - * @param Converter - * @param false|string full path to file with @filesource tag, if this - * is a @filesource parse - * @param false|integer starting line number from {@}source linenum} - * @staticvar integer used for recursion limiting if a handler for - * an event is not found - * @return bool - */ - function parseString ($parse_data) - { - static $endrecur = 0; - $parse_data = str_replace(array("\r\n", "\t"), array("\n", ' '), $parse_data); - $this->setupStates($parse_data); - - $this->configWordParser(PHPDOC_XMLTOKEN_EVENT_NOEVENTS); - // initialize variables so E_ALL error_reporting doesn't complain - $pevent = 0; - $word = 0; - $this->_curthing = ''; - - do - { - $lpevent = $pevent; - $pevent = $this->_event_stack->getEvent(); - if ($lpevent != $pevent) - { - $this->_last_pevent = $lpevent; - $this->configWordParser($pevent); - } - $this->_wp->setWhitespace(true); - - $dbg_linenum = $this->_wp->linenum; - $dbg_pos = $this->_wp->getPos(); - $this->_pv_last_word = $word; - $this->_pv_curline = $this->_wp->linenum; - $word = $this->_wp->getWord(); - - if (0)//PHPDOCUMENTOR_DEBUG == true) - { - echo "LAST: "; - echo "|" . $this->_pv_last_word; - echo "|\n"; - echo "PEVENT: " . $this->getParserEventName($pevent) . "\n"; - echo "LASTPEVENT: " . $this->getParserEventName($this->_last_pevent) . "\n"; -// echo "LINE: ".$this->_line."\n"; -// echo "OUTPUT: ".$this->_output."\n"; - echo $dbg_linenum.'-'.$dbg_pos . ": "; - echo '|'.htmlspecialchars($word); - echo "|\n"; - echo "-------------------\n\n\n"; - flush(); - } - if (isset($this->eventHandlers[$pevent])) - { - $handle = $this->eventHandlers[$pevent]; - $this->$handle($word, $pevent); - } else - { - echo ('WARNING: possible error, no handler for event number '.$pevent); - if ($endrecur++ == 25) - { - return $this->raiseError("FATAL ERROR, recursion limit reached"); - } - } - } while (!($word === false)); - return true; - } - - /**#@+ - * Event Handlers - * - * All Event Handlers use {@link checkEventPush()} and - * {@link checkEventPop()} to set up the event stack and parser state. - * @access private - * @param string|array token value - * @param integer parser event from {@link Parser.inc} - */ - /** - * Most tokens only need highlighting, and this method handles them - */ - function normalHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - $this->_addoutput($pevent); - $this->_curthing = ''; - return; - } - $this->_curthing .= $word; - - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - } - } - - /** - * handle <!-- comments --> - */ - function commentHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - return; - } - - $this->_curthing .= $word; - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - } - } - - /** - * handle <?Processor instructions?> - */ - function parsePiHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - return; - } - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - $this->_attrs = null; - return; - } - if (!strlen($this->_curthing)) { - $this->_curthing .= str_replace('<?', '', $word); - } else { - if (!isset($this->_attrs) || !is_string($this->_attrs)) { - $this->_attrs = ''; - } - $this->_attrs .= $word; - } - } - - /** - * handle <?xml Processor instructions?> - */ - function parseXMLHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - return; - } - - $this->_curthing .= $word; - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - } - } - - /** - * handle <![CDATA[ unescaped text ]]> - */ - function realcdataHandler($word, $pevent) - { - $this->_curthing .= $word; - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - } - } - - /** - * handle <tags> - */ - function tagHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - $this->_curthing = ''; - return; - } - - if ($word{0} == '<') { - $this->_tag = substr($word, 1); - } - - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_tag = null; - $this->_attrs = null; - if ($word == '>') { - $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_CDATA); - return; - } - } - } - - /** - * handle </tags> - */ - function closetagHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - return; - } - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_tag = ''; - return; - } - $this->_tag = trim(str_replace('</', '', $word)); - } - - /** - * handle <!def> - */ - function defHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - return; - } - - $this->_curthing .= $word; - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - } - } - - /** - * Most tokens only need highlighting, and this method handles them - */ - function attrHandler($word, $pevent) - { - if ($e = $this->checkEventPush($word, $pevent)) { - return; - } - if (!isset($this->_attrs) || !is_array($this->_attrs)) { - $this->_attrs = array(); - } - if (strpos($word, '=')) { - $this->_attrs[$this->_attr = trim(str_replace('=', '', $word))] = ''; - } - if ($this->checkEventPop($word, $pevent)) { - $this->_wp->backupPos($word); - return; - } - } - - /** - * handle attribute values - */ - function stringHandler($word, $pevent) - { - if ($this->checkEventPop($word, $pevent)) { - return; - } - $this->_attrs[$this->_attr] = $word; - } - - /** - * handle &entities; - */ - function entityHandler($word, $pevent) - { - if ($this->checkEventPop($word, $pevent)) { - $this->_addoutput($pevent); - $this->_curthing = ''; - return; - } - if (strlen($word) && $word{0} == '&') { - $word = substr($word, 1); - } - $this->_curthing .= $word; - } - - /** - * handle tag contents - */ - function parseCdataHandler($word, $pevent) - { - if ($this->checkEventPush($word, $pevent)) { - $this->_wp->backupPos($word); - if (strlen($this->_curthing)) { - $this->_addoutput($pevent); - } - $this->_curthing = ''; - return; - } - if ($this->checkEventPop($word, $pevent)) { - if (strlen($this->_curthing)) { - $this->_addoutput($pevent); - } - $this->_curthing = ''; - $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_CLOSETAG); - return; - } - $this->_curthing .= $word; - } - - /**#@-*/ - - /** - * Handler for real character data - * - * @access protected - * @param object XML parser object - * @param string CDATA - * @return void - */ - function incdataHandler($parser, $cdata) - { - if ((string)$cdata === '') { - return true; - } - - $struct = array( - "type" => PHPDOC_BEAUTIFIER_CDATA, - "data" => $cdata, - "depth" => $this->_depth - ); - - $this->_appendToParent($struct); - } - /**#@+ - * Output Methods - * @access private - */ - /** - * This method adds output to {@link $_line} - * - * If a string with variables like "$test this" is present, then special - * handling is used to allow processing of the variable in context. - * @see _flush_save() - */ - function _addoutput($event) - { - $type = - array( - PHPDOC_XMLTOKEN_EVENT_NOEVENTS => '_handleXMLDefault', - PHPDOC_XMLTOKEN_EVENT_CLOSETAG => 'endHandler', - PHPDOC_XMLTOKEN_EVENT_ENTITY => 'entityrefHandler', - PHPDOC_XMLTOKEN_EVENT_DEF => '_handleXMLDefault', - PHPDOC_XMLTOKEN_EVENT_PI => 'parsePiHandler', - PHPDOC_XMLTOKEN_EVENT_XML => '_handleXMLDefault', - PHPDOC_XMLTOKEN_EVENT_OPENTAG => 'startHandler', - PHPDOC_XMLTOKEN_EVENT_COMMENT => '_handleXMLDefault', - PHPDOC_XMLTOKEN_EVENT_CDATA => 'cdataHandler', - PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'incdataHandler', - ); - $method = $type[$event]; - switch ($event) { - case PHPDOC_XMLTOKEN_EVENT_COMMENT : -// echo "comment: $this->_curthing\n"; - $this->$method(false, $this->_curthing); - break; - case PHPDOC_XMLTOKEN_EVENT_OPENTAG : -// echo "open tag: $this->_tag\n"; -// var_dump($this->_attrs); - $this->$method(false, $this->_tag, $this->_attrs); - break; - case PHPDOC_XMLTOKEN_EVENT_CLOSETAG : -// echo "close tag: $this->_tag\n"; - $this->$method(false, $this->_curthing); - break; - case PHPDOC_XMLTOKEN_EVENT_NOEVENTS : - if (!strlen($this->_curthing)) { - return; - } -// echo "default: $this->_curthing\n"; - $this->$method(false, $this->_curthing); - break; - case PHPDOC_XMLTOKEN_EVENT_DEF : -// echo "<!definition: $this->_curthing\n"; - $this->$method(false, $this->_curthing); - break; - case PHPDOC_XMLTOKEN_EVENT_PI : -// echo "<?pi: $this->_curthing\n"; -// echo "<?pi attrs: $this->_attrs\n"; - $this->$method(false, $this->_curthing, $this->_attrs); - break; - case PHPDOC_XMLTOKEN_EVENT_XML : -// echo "<?xml: $this->_curthing\n"; - $this->$method(false, $this->_curthing, $this->_attrs); - break; - case PHPDOC_XMLTOKEN_EVENT_CDATA : - case PHPDOC_XMLTOKEN_EVENT_IN_CDATA : -// echo "cdata: $this->_curthing\n"; - $this->$method(false, $this->_curthing); - break; - case PHPDOC_XMLTOKEN_EVENT_ENTITY : -// echo "entity: $this->_curthing\n"; - $this->$method(false, $this->_curthing, false, false, false); - break; - } - } - /**#@-*/ - - /** - * tell the parser's WordParser {@link $wp} to set up tokens to parse words by. - * tokens are word separators. In English, a space or punctuation are examples of tokens. - * In PHP, a token can be a ;, a parenthesis, or even the word "function" - * @param $value integer an event number - * @see WordParser - */ - - function configWordParser($e) - { - $this->_wp->setSeperator($this->tokens[($e + 100)]); - } - /** - * this function checks whether parameter $word is a token for pushing a new event onto the Event Stack. - * @return mixed returns false, or the event number - */ - - function checkEventPush($word,$pevent) - { - $e = false; - if (isset($this->pushEvent[$pevent])) - { - if (isset($this->pushEvent[$pevent][strtolower($word)])) - $e = $this->pushEvent[$pevent][strtolower($word)]; - } - if ($e) - { - $this->_event_stack->pushEvent($e); - return $e; - } else { - return false; - } - } - - /** - * this function checks whether parameter $word is a token for popping the current event off of the Event Stack. - * @return mixed returns false, or the event number popped off of the stack - */ - - function checkEventPop($word,$pevent) - { - if (!isset($this->popEvent[$pevent])) return false; - if (in_array(strtolower($word),$this->popEvent[$pevent])) - { - return $this->_event_stack->popEvent(); - } else { - return false; - } - } - - /** - * Initialize all parser state variables - * @param boolean true if we are highlighting an inline {@}source} tag's - * output - * @param false|string name of class we are going to start from - * @uses $_wp sets to a new {@link phpDocumentor_HighlightWordParser} - */ - function setupStates($parsedata) - { - $this->_output = ''; - $this->_line = ''; - unset($this->_wp); - $this->_wp = new WordParser; - $this->_wp->setup($parsedata); - $this->_event_stack = @(new EventStack); - $this->_event_stack->popEvent(); - $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_NOEVENTS); - $this->_pv_linenum = null; - $this->_pv_next_word = false; - } - - /** - * Initialize the {@link $tokenpushEvent, $wordpushEvent} arrays - */ - function phpDocumentor_XML_Beautifier_Tokenizer() - { - $this->tokens[STATE_XMLTOKEN_CDATA] = - $this->tokens[STATE_XMLTOKEN_NOEVENTS] = array('<?xml', '<!--', '<![CDATA[', '<!', '</', '<?', '<');//, '&'); - $this->tokens[STATE_XMLTOKEN_OPENTAG] = array("\n","\t"," ", '>', '/>'); - $this->tokens[STATE_XMLTOKEN_XML] = - $this->tokens[STATE_XMLTOKEN_PI] = array("\n","\t"," ", '?>'); - $this->tokens[STATE_XMLTOKEN_IN_CDATA] = array(']]>'); - $this->tokens[STATE_XMLTOKEN_CLOSETAG] = array("\n",'>'); - $this->tokens[STATE_XMLTOKEN_COMMENT] = array("\n",'-->'); - $this->tokens[STATE_XMLTOKEN_DEF] = array("\n",']>','>'); - $this->tokens[STATE_XMLTOKEN_ENTITY] = array("\n",';'); - $this->tokens[STATE_XMLTOKEN_ATTRIBUTE] = array("\n",'"',"'",'>','/>'); - $this->tokens[STATE_XMLTOKEN_DOUBLEQUOTE] = array("\n",'"'); - $this->tokens[STATE_XMLTOKEN_SINGLEQUOTE] = array("\n","'"); -/**************************************************************/ - - $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_NOEVENTS] = - array( - '<' => PHPDOC_XMLTOKEN_EVENT_OPENTAG, - '<?' => PHPDOC_XMLTOKEN_EVENT_PI, - '<?xml' => PHPDOC_XMLTOKEN_EVENT_XML, - '</' => PHPDOC_XMLTOKEN_EVENT_CLOSETAG, -// '&' => PHPDOC_XMLTOKEN_EVENT_ENTITY, - '<![cdata[' => PHPDOC_XMLTOKEN_EVENT_IN_CDATA, - '<!--' => PHPDOC_XMLTOKEN_EVENT_COMMENT, - '<!' => PHPDOC_XMLTOKEN_EVENT_DEF, - ); -/**************************************************************/ - - $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_OPENTAG] = - array( - " " => PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE, - "\n" => PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE, - ); -/**************************************************************/ - - $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE] = - array( - "'" => PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE, - '"' => PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE, - ); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_IN_CDATA] = array(']]>'); -/**************************************************************/ - - $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_CDATA] = - array( - '<' => PHPDOC_XMLTOKEN_EVENT_OPENTAG, - '<?' => PHPDOC_XMLTOKEN_EVENT_PI, -// '&' => PHPDOC_XMLTOKEN_EVENT_ENTITY, - '<!--' => PHPDOC_XMLTOKEN_EVENT_COMMENT, - '<!' => PHPDOC_XMLTOKEN_EVENT_DEF, - '<![cdata[' => PHPDOC_XMLTOKEN_EVENT_IN_CDATA, - ); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_XML] = - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_PI] = array('?>'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_ENTITY] = array(';'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE] = array("'"); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE] = array('"'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_OPENTAG] = array('>', '/>'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_CLOSETAG] = array('>'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_COMMENT] = array('-->'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_DEF] = array('>',']>'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE] = array('>','/>'); -/**************************************************************/ - - $this->popEvent[PHPDOC_XMLTOKEN_EVENT_CDATA] = - array('</'); -/**************************************************************/ - } - - function getParserEventName ($value) - { - $lookup = array( - PHPDOC_XMLTOKEN_EVENT_NOEVENTS => "PHPDOC_XMLTOKEN_EVENT_NOEVENTS", - PHPDOC_XMLTOKEN_EVENT_PI => "PHPDOC_XMLTOKEN_EVENT_PI", - PHPDOC_XMLTOKEN_EVENT_OPENTAG => "PHPDOC_XMLTOKEN_EVENT_OPENTAG", - PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE => "PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE", - PHPDOC_XMLTOKEN_EVENT_CLOSETAG => "PHPDOC_XMLTOKEN_EVENT_CLOSETAG", - PHPDOC_XMLTOKEN_EVENT_ENTITY => "PHPDOC_XMLTOKEN_EVENT_ENTITY", - PHPDOC_XMLTOKEN_EVENT_COMMENT => "PHPDOC_XMLTOKEN_EVENT_COMMENT", - PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE => "PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE", - PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE => "PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE", - PHPDOC_XMLTOKEN_EVENT_CDATA => 'PHPDOC_XMLTOKEN_EVENT_CDATA', - PHPDOC_XMLTOKEN_EVENT_DEF => 'PHPDOC_XMLTOKEN_EVENT_DEF', - PHPDOC_XMLTOKEN_EVENT_XML => 'PHPDOC_XMLTOKEN_EVENT_XML', - PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'PHPDOC_XMLTOKEN_EVENT_IN_CDATA', - ); - if (isset($lookup[$value])) - return $lookup[$value]; - else return $value; - } -} - - -/** starting state */ -define("PHPDOC_XMLTOKEN_EVENT_NOEVENTS" , 1); -/** currently in starting state */ -define("STATE_XMLTOKEN_NOEVENTS" , 101); - -/** used when a processor instruction is found */ -define("PHPDOC_XMLTOKEN_EVENT_PI" , 2); -/** currently in processor instruction */ -define("STATE_XMLTOKEN_PI" , 102); - -/** used when an open <tag> is found */ -define("PHPDOC_XMLTOKEN_EVENT_OPENTAG" , 3); -/** currently parsing an open <tag> */ -define("STATE_XMLTOKEN_OPENTAG" , 103); - -/** used when a <tag attr="attribute"> is found */ -define("PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE" , 4); -/** currently parsing an open <tag> */ -define("STATE_XMLTOKEN_ATTRIBUTE" , 104); - -/** used when a close </tag> is found */ -define("PHPDOC_XMLTOKEN_EVENT_CLOSETAG" , 5); -/** currently parsing a close </tag> */ -define("STATE_XMLTOKEN_CLOSETAG" , 105); - -/** used when an &entity; is found */ -define("PHPDOC_XMLTOKEN_EVENT_ENTITY" , 6); -/** currently parsing an &entity; */ -define("STATE_XMLTOKEN_ENTITY" , 106); - -/** used when a <!-- comment --> is found */ -define("PHPDOC_XMLTOKEN_EVENT_COMMENT" , 7); -/** currently parsing a <!-- comment --> */ -define("STATE_XMLTOKEN_COMMENT" , 107); - -/** used when a <!-- comment --> is found */ -define("PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE" , 8); -/** currently parsing a <!-- comment --> */ -define("STATE_XMLTOKEN_SINGLEQUOTE" , 108); - -/** used when a <!-- comment --> is found */ -define("PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE" , 9); -/** currently parsing a <!-- comment --> */ -define("STATE_XMLTOKEN_DOUBLEQUOTE" , 109); - -/** used when a <! is found */ -define("PHPDOC_XMLTOKEN_EVENT_DEF" , 10); -/** currently parsing a <! */ -define("STATE_XMLTOKEN_DEF" , 110); - -/** used when a <! is found */ -define("PHPDOC_XMLTOKEN_EVENT_CDATA" , 11); -/** currently parsing a <! */ -define("STATE_XMLTOKEN_CDATA" , 111); - -/** used when a <?xml is found */ -define("PHPDOC_XMLTOKEN_EVENT_XML" , 12); -/** currently parsing a <?xml */ -define("STATE_XMLTOKEN_XML" , 112); - -/** used when a <![CDATA[ section is found */ -define('PHPDOC_XMLTOKEN_EVENT_IN_CDATA', 13); -/** currently parsing a <![CDATA[ ]]> */ -define('STATE_XMLTOKEN_IN_CDATA', 113); - -/** do not remove, needed in plain renderer */ -define('PHPDOC_BEAUTIFIER_CDATA', 100000); -?> +<?php +/** + * XML/Beautifier.php + * + * Format XML files containing unknown entities (like all of peardoc) + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2004-2006 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 phpDocumentor + * @subpackage Parsers + * @author Greg Beaver <cellog@php.net> + * @copyright 2004-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.3.0 + */ +/** + * From the XML_Beautifier package + */ +require_once 'XML/Beautifier/Tokenizer.php'; +/** + * Highlights source code using {@link parse()} + * @package phpDocumentor + * @subpackage Parsers + */ +class phpDocumentor_XML_Beautifier_Tokenizer extends XML_Beautifier_Tokenizer +{ + /**#@+ + * @access private + */ + var $_curthing; + var $_tag; + var $_attrs; + var $_attr; + + /**#@-*/ + /** + * @var array + */ + var $eventHandlers = array( + PHPDOC_XMLTOKEN_EVENT_NOEVENTS => 'normalHandler', + PHPDOC_XMLTOKEN_EVENT_XML => 'parseXMLHandler', + PHPDOC_XMLTOKEN_EVENT_PI => 'parsePiHandler', + PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE => 'attrHandler', + PHPDOC_XMLTOKEN_EVENT_OPENTAG => 'tagHandler', + PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'realcdataHandler', + PHPDOC_XMLTOKEN_EVENT_DEF => 'defHandler', + PHPDOC_XMLTOKEN_EVENT_CLOSETAG => 'closetagHandler', + PHPDOC_XMLTOKEN_EVENT_ENTITY => 'entityHandler', + PHPDOC_XMLTOKEN_EVENT_COMMENT => 'commentHandler', + PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE => 'stringHandler', + PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE => 'stringHandler', + PHPDOC_XMLTOKEN_EVENT_CDATA => 'parseCdataHandler', + ); + + /** + * Parse a new file + * + * The parse() method is a do...while() loop that retrieves tokens one by + * one from the {@link $_event_stack}, and uses the token event array set up + * by the class constructor to call event handlers. + * + * The event handlers each process the tokens passed to them, and use the + * {@link _addoutput()} method to append the processed tokens to the + * {@link $_line} variable. The word parser calls {@link newLineNum()} + * every time a line is reached. + * + * In addition, the event handlers use special linking functions + * {@link _link()} and its cousins (_classlink(), etc.) to create in-code + * hyperlinks to the documentation for source code elements that are in the + * source code. + * + * @uses setupStates() initialize parser state variables + * @uses configWordParser() pass $parse_data to prepare retrieval of tokens + * @param string + * @param Converter + * @param false|string full path to file with @filesource tag, if this + * is a @filesource parse + * @param false|integer starting line number from {@}source linenum} + * @staticvar integer used for recursion limiting if a handler for + * an event is not found + * @return bool + */ + function parseString ($parse_data) + { + static $endrecur = 0; + $parse_data = str_replace(array("\r\n", "\t"), array("\n", ' '), $parse_data); + $this->setupStates($parse_data); + + $this->configWordParser(PHPDOC_XMLTOKEN_EVENT_NOEVENTS); + // initialize variables so E_ALL error_reporting doesn't complain + $pevent = 0; + $word = 0; + $this->_curthing = ''; + + do + { + $lpevent = $pevent; + $pevent = $this->_event_stack->getEvent(); + if ($lpevent != $pevent) + { + $this->_last_pevent = $lpevent; + $this->configWordParser($pevent); + } + $this->_wp->setWhitespace(true); + + $dbg_linenum = $this->_wp->linenum; + $dbg_pos = $this->_wp->getPos(); + $this->_pv_last_word = $word; + $this->_pv_curline = $this->_wp->linenum; + $word = $this->_wp->getWord(); + + if (0)//PHPDOCUMENTOR_DEBUG == true) + { + echo "LAST: "; + echo "|" . $this->_pv_last_word; + echo "|\n"; + echo "PEVENT: " . $this->getParserEventName($pevent) . "\n"; + echo "LASTPEVENT: " . $this->getParserEventName($this->_last_pevent) . "\n"; +// echo "LINE: ".$this->_line."\n"; +// echo "OUTPUT: ".$this->_output."\n"; + echo $dbg_linenum.'-'.$dbg_pos . ": "; + echo '|'.htmlspecialchars($word); + echo "|\n"; + echo "-------------------\n\n\n"; + flush(); + } + if (isset($this->eventHandlers[$pevent])) + { + $handle = $this->eventHandlers[$pevent]; + $this->$handle($word, $pevent); + } else + { + echo ('WARNING: possible error, no handler for event number '.$pevent); + if ($endrecur++ == 25) + { + return $this->raiseError("FATAL ERROR, recursion limit reached"); + } + } + } while (!($word === false)); + return true; + } + + /**#@+ + * Event Handlers + * + * All Event Handlers use {@link checkEventPush()} and + * {@link checkEventPop()} to set up the event stack and parser state. + * @access private + * @param string|array token value + * @param integer parser event from {@link Parser.inc} + */ + /** + * Most tokens only need highlighting, and this method handles them + */ + function normalHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + $this->_addoutput($pevent); + $this->_curthing = ''; + return; + } + $this->_curthing .= $word; + + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <!-- comments --> + */ + function commentHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <?Processor instructions?> + */ + function parsePiHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + $this->_attrs = null; + return; + } + if (!strlen($this->_curthing)) { + $this->_curthing .= str_replace('<?', '', $word); + } else { + if (!isset($this->_attrs) || !is_string($this->_attrs)) { + $this->_attrs = ''; + } + $this->_attrs .= $word; + } + } + + /** + * handle <?xml Processor instructions?> + */ + function parseXMLHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <![CDATA[ unescaped text ]]> + */ + function realcdataHandler($word, $pevent) + { + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <tags> + */ + function tagHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + $this->_curthing = ''; + return; + } + + if ($word{0} == '<') { + $this->_tag = substr($word, 1); + } + + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_tag = null; + $this->_attrs = null; + if ($word == '>') { + $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_CDATA); + return; + } + } + } + + /** + * handle </tags> + */ + function closetagHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_tag = ''; + return; + } + $this->_tag = trim(str_replace('</', '', $word)); + } + + /** + * handle <!def> + */ + function defHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * Most tokens only need highlighting, and this method handles them + */ + function attrHandler($word, $pevent) + { + if ($e = $this->checkEventPush($word, $pevent)) { + return; + } + if (!isset($this->_attrs) || !is_array($this->_attrs)) { + $this->_attrs = array(); + } + if (strpos($word, '=')) { + $this->_attrs[$this->_attr = trim(str_replace('=', '', $word))] = ''; + } + if ($this->checkEventPop($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + } + + /** + * handle attribute values + */ + function stringHandler($word, $pevent) + { + if ($this->checkEventPop($word, $pevent)) { + return; + } + $this->_attrs[$this->_attr] = $word; + } + + /** + * handle &entities; + */ + function entityHandler($word, $pevent) + { + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + return; + } + if (strlen($word) && $word{0} == '&') { + $word = substr($word, 1); + } + $this->_curthing .= $word; + } + + /** + * handle tag contents + */ + function parseCdataHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + if (strlen($this->_curthing)) { + $this->_addoutput($pevent); + } + $this->_curthing = ''; + return; + } + if ($this->checkEventPop($word, $pevent)) { + if (strlen($this->_curthing)) { + $this->_addoutput($pevent); + } + $this->_curthing = ''; + $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_CLOSETAG); + return; + } + $this->_curthing .= $word; + } + + /**#@-*/ + + /** + * Handler for real character data + * + * @access protected + * @param object XML parser object + * @param string CDATA + * @return void + */ + function incdataHandler($parser, $cdata) + { + if ((string)$cdata === '') { + return true; + } + + $struct = array( + "type" => PHPDOC_BEAUTIFIER_CDATA, + "data" => $cdata, + "depth" => $this->_depth + ); + + $this->_appendToParent($struct); + } + /**#@+ + * Output Methods + * @access private + */ + /** + * This method adds output to {@link $_line} + * + * If a string with variables like "$test this" is present, then special + * handling is used to allow processing of the variable in context. + * @see _flush_save() + */ + function _addoutput($event) + { + $type = + array( + PHPDOC_XMLTOKEN_EVENT_NOEVENTS => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_CLOSETAG => 'endHandler', + PHPDOC_XMLTOKEN_EVENT_ENTITY => 'entityrefHandler', + PHPDOC_XMLTOKEN_EVENT_DEF => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_PI => 'parsePiHandler', + PHPDOC_XMLTOKEN_EVENT_XML => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_OPENTAG => 'startHandler', + PHPDOC_XMLTOKEN_EVENT_COMMENT => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_CDATA => 'cdataHandler', + PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'incdataHandler', + ); + $method = $type[$event]; + switch ($event) { + case PHPDOC_XMLTOKEN_EVENT_COMMENT : +// echo "comment: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_OPENTAG : +// echo "open tag: $this->_tag\n"; +// var_dump($this->_attrs); + $this->$method(false, $this->_tag, $this->_attrs); + break; + case PHPDOC_XMLTOKEN_EVENT_CLOSETAG : +// echo "close tag: $this->_tag\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_NOEVENTS : + if (!strlen($this->_curthing)) { + return; + } +// echo "default: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_DEF : +// echo "<!definition: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_PI : +// echo "<?pi: $this->_curthing\n"; +// echo "<?pi attrs: $this->_attrs\n"; + $this->$method(false, $this->_curthing, $this->_attrs); + break; + case PHPDOC_XMLTOKEN_EVENT_XML : +// echo "<?xml: $this->_curthing\n"; + $this->$method(false, $this->_curthing, $this->_attrs); + break; + case PHPDOC_XMLTOKEN_EVENT_CDATA : + case PHPDOC_XMLTOKEN_EVENT_IN_CDATA : +// echo "cdata: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_ENTITY : +// echo "entity: $this->_curthing\n"; + $this->$method(false, $this->_curthing, false, false, false); + break; + } + } + /**#@-*/ + + /** + * tell the parser's WordParser {@link $wp} to set up tokens to parse words by. + * tokens are word separators. In English, a space or punctuation are examples of tokens. + * In PHP, a token can be a ;, a parenthesis, or even the word "function" + * @param $value integer an event number + * @see WordParser + */ + + function configWordParser($e) + { + $this->_wp->setSeperator($this->tokens[($e + 100)]); + } + /** + * this function checks whether parameter $word is a token for pushing a new event onto the Event Stack. + * @return mixed returns false, or the event number + */ + + function checkEventPush($word,$pevent) + { + $e = false; + if (isset($this->pushEvent[$pevent])) + { + if (isset($this->pushEvent[$pevent][strtolower($word)])) + $e = $this->pushEvent[$pevent][strtolower($word)]; + } + if ($e) + { + $this->_event_stack->pushEvent($e); + return $e; + } else { + return false; + } + } + + /** + * this function checks whether parameter $word is a token for popping the current event off of the Event Stack. + * @return mixed returns false, or the event number popped off of the stack + */ + + function checkEventPop($word,$pevent) + { + if (!isset($this->popEvent[$pevent])) return false; + if (in_array(strtolower($word),$this->popEvent[$pevent])) + { + return $this->_event_stack->popEvent(); + } else { + return false; + } + } + + /** + * Initialize all parser state variables + * @param boolean true if we are highlighting an inline {@}source} tag's + * output + * @param false|string name of class we are going to start from + * @uses $_wp sets to a new {@link phpDocumentor_HighlightWordParser} + */ + function setupStates($parsedata) + { + $this->_output = ''; + $this->_line = ''; + unset($this->_wp); + $this->_wp = new WordParser; + $this->_wp->setup($parsedata); + $this->_event_stack = @(new EventStack); + $this->_event_stack->popEvent(); + $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_NOEVENTS); + $this->_pv_linenum = null; + $this->_pv_next_word = false; + } + + /** + * Initialize the {@link $tokenpushEvent, $wordpushEvent} arrays + */ + function phpDocumentor_XML_Beautifier_Tokenizer() + { + $this->tokens[STATE_XMLTOKEN_CDATA] = + $this->tokens[STATE_XMLTOKEN_NOEVENTS] = array('<?xml', '<!--', '<![CDATA[', '<!', '</', '<?', '<');//, '&'); + $this->tokens[STATE_XMLTOKEN_OPENTAG] = array("\n","\t"," ", '>', '/>'); + $this->tokens[STATE_XMLTOKEN_XML] = + $this->tokens[STATE_XMLTOKEN_PI] = array("\n","\t"," ", '?>'); + $this->tokens[STATE_XMLTOKEN_IN_CDATA] = array(']]>'); + $this->tokens[STATE_XMLTOKEN_CLOSETAG] = array("\n",'>'); + $this->tokens[STATE_XMLTOKEN_COMMENT] = array("\n",'-->'); + $this->tokens[STATE_XMLTOKEN_DEF] = array("\n",']>','>'); + $this->tokens[STATE_XMLTOKEN_ENTITY] = array("\n",';'); + $this->tokens[STATE_XMLTOKEN_ATTRIBUTE] = array("\n",'"',"'",'>','/>'); + $this->tokens[STATE_XMLTOKEN_DOUBLEQUOTE] = array("\n",'"'); + $this->tokens[STATE_XMLTOKEN_SINGLEQUOTE] = array("\n","'"); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_NOEVENTS] = + array( + '<' => PHPDOC_XMLTOKEN_EVENT_OPENTAG, + '<?' => PHPDOC_XMLTOKEN_EVENT_PI, + '<?xml' => PHPDOC_XMLTOKEN_EVENT_XML, + '</' => PHPDOC_XMLTOKEN_EVENT_CLOSETAG, +// '&' => PHPDOC_XMLTOKEN_EVENT_ENTITY, + '<![cdata[' => PHPDOC_XMLTOKEN_EVENT_IN_CDATA, + '<!--' => PHPDOC_XMLTOKEN_EVENT_COMMENT, + '<!' => PHPDOC_XMLTOKEN_EVENT_DEF, + ); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_OPENTAG] = + array( + " " => PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE, + "\n" => PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE, + ); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE] = + array( + "'" => PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE, + '"' => PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE, + ); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_IN_CDATA] = array(']]>'); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_CDATA] = + array( + '<' => PHPDOC_XMLTOKEN_EVENT_OPENTAG, + '<?' => PHPDOC_XMLTOKEN_EVENT_PI, +// '&' => PHPDOC_XMLTOKEN_EVENT_ENTITY, + '<!--' => PHPDOC_XMLTOKEN_EVENT_COMMENT, + '<!' => PHPDOC_XMLTOKEN_EVENT_DEF, + '<![cdata[' => PHPDOC_XMLTOKEN_EVENT_IN_CDATA, + ); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_XML] = + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_PI] = array('?>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_ENTITY] = array(';'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE] = array("'"); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE] = array('"'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_OPENTAG] = array('>', '/>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_CLOSETAG] = array('>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_COMMENT] = array('-->'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_DEF] = array('>',']>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE] = array('>','/>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_CDATA] = + array('</'); +/**************************************************************/ + } + + function getParserEventName ($value) + { + $lookup = array( + PHPDOC_XMLTOKEN_EVENT_NOEVENTS => "PHPDOC_XMLTOKEN_EVENT_NOEVENTS", + PHPDOC_XMLTOKEN_EVENT_PI => "PHPDOC_XMLTOKEN_EVENT_PI", + PHPDOC_XMLTOKEN_EVENT_OPENTAG => "PHPDOC_XMLTOKEN_EVENT_OPENTAG", + PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE => "PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE", + PHPDOC_XMLTOKEN_EVENT_CLOSETAG => "PHPDOC_XMLTOKEN_EVENT_CLOSETAG", + PHPDOC_XMLTOKEN_EVENT_ENTITY => "PHPDOC_XMLTOKEN_EVENT_ENTITY", + PHPDOC_XMLTOKEN_EVENT_COMMENT => "PHPDOC_XMLTOKEN_EVENT_COMMENT", + PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE => "PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE", + PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE => "PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE", + PHPDOC_XMLTOKEN_EVENT_CDATA => 'PHPDOC_XMLTOKEN_EVENT_CDATA', + PHPDOC_XMLTOKEN_EVENT_DEF => 'PHPDOC_XMLTOKEN_EVENT_DEF', + PHPDOC_XMLTOKEN_EVENT_XML => 'PHPDOC_XMLTOKEN_EVENT_XML', + PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'PHPDOC_XMLTOKEN_EVENT_IN_CDATA', + ); + if (isset($lookup[$value])) + return $lookup[$value]; + else return $value; + } +} + + +/** starting state */ +define("PHPDOC_XMLTOKEN_EVENT_NOEVENTS" , 1); +/** currently in starting state */ +define("STATE_XMLTOKEN_NOEVENTS" , 101); + +/** used when a processor instruction is found */ +define("PHPDOC_XMLTOKEN_EVENT_PI" , 2); +/** currently in processor instruction */ +define("STATE_XMLTOKEN_PI" , 102); + +/** used when an open <tag> is found */ +define("PHPDOC_XMLTOKEN_EVENT_OPENTAG" , 3); +/** currently parsing an open <tag> */ +define("STATE_XMLTOKEN_OPENTAG" , 103); + +/** used when a <tag attr="attribute"> is found */ +define("PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE" , 4); +/** currently parsing an open <tag> */ +define("STATE_XMLTOKEN_ATTRIBUTE" , 104); + +/** used when a close </tag> is found */ +define("PHPDOC_XMLTOKEN_EVENT_CLOSETAG" , 5); +/** currently parsing a close </tag> */ +define("STATE_XMLTOKEN_CLOSETAG" , 105); + +/** used when an &entity; is found */ +define("PHPDOC_XMLTOKEN_EVENT_ENTITY" , 6); +/** currently parsing an &entity; */ +define("STATE_XMLTOKEN_ENTITY" , 106); + +/** used when a <!-- comment --> is found */ +define("PHPDOC_XMLTOKEN_EVENT_COMMENT" , 7); +/** currently parsing a <!-- comment --> */ +define("STATE_XMLTOKEN_COMMENT" , 107); + +/** used when a <!-- comment --> is found */ +define("PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE" , 8); +/** currently parsing a <!-- comment --> */ +define("STATE_XMLTOKEN_SINGLEQUOTE" , 108); + +/** used when a <!-- comment --> is found */ +define("PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE" , 9); +/** currently parsing a <!-- comment --> */ +define("STATE_XMLTOKEN_DOUBLEQUOTE" , 109); + +/** used when a <! is found */ +define("PHPDOC_XMLTOKEN_EVENT_DEF" , 10); +/** currently parsing a <! */ +define("STATE_XMLTOKEN_DEF" , 110); + +/** used when a <! is found */ +define("PHPDOC_XMLTOKEN_EVENT_CDATA" , 11); +/** currently parsing a <! */ +define("STATE_XMLTOKEN_CDATA" , 111); + +/** used when a <?xml is found */ +define("PHPDOC_XMLTOKEN_EVENT_XML" , 12); +/** currently parsing a <?xml */ +define("STATE_XMLTOKEN_XML" , 112); + +/** used when a <![CDATA[ section is found */ +define('PHPDOC_XMLTOKEN_EVENT_IN_CDATA', 13); +/** currently parsing a <![CDATA[ ]]> */ +define('STATE_XMLTOKEN_IN_CDATA', 113); + +/** do not remove, needed in plain renderer */ +define('PHPDOC_BEAUTIFIER_CDATA', 100000); +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini index 8339316b9d..cdb08f3826 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini @@ -1,39 +1,39 @@ -;; XML DocBook peardoc2 options -usepear = true - -;; preserve package page docbook tags that don't have an entry in the ppage section -;; we preserve every tag, as this is how it works -;; this is after all a docbook converter! -preservedocbooktags = true - -;; separate file for class and page docblocks and minor details (variables, globals, defines) -separatepage = true - -[typechanging] -true = &true; -false = &false; -null = &null; - -[desctranslate] -ul = "\n<itemizedlist>" -/ul = "</itemizedlist>\n" -ol = "\n<orderedlist>" -/ol = "</orderedlist>\n" -li = "\n<listitem><para>" -/li = "</para></listitem>\n" -code = <programlisting role="php-highlighted"> -/code = "</programlisting>\n" -pre = <![CDATA[ -/pre = ]]> -p = <para> -/p = "</para>\n" -b = <emphasis> -/b = </emphasis> -i = <important> -/i = </important> -var = <varname> -/var = </varname> -kbd = <screen> -/kbd = </screen> -samp = <example> -/samp = "</example>\n" +;; XML DocBook peardoc2 options +usepear = true + +;; preserve package page docbook tags that don't have an entry in the ppage section +;; we preserve every tag, as this is how it works +;; this is after all a docbook converter! +preservedocbooktags = true + +;; separate file for class and page docblocks and minor details (variables, globals, defines) +separatepage = true + +[typechanging] +true = &true; +false = &false; +null = &null; + +[desctranslate] +ul = "\n<itemizedlist>" +/ul = "</itemizedlist>\n" +ol = "\n<orderedlist>" +/ol = "</orderedlist>\n" +li = "\n<listitem><para>" +/li = "</para></listitem>\n" +code = <programlisting role="php-highlighted"> +/code = "</programlisting>\n" +pre = <![CDATA[ +/pre = ]]> +p = <para> +/p = "</para>\n" +b = <emphasis> +/b = </emphasis> +i = <important> +/i = </important> +var = <varname> +/var = </varname> +kbd = <screen> +/kbd = </screen> +samp = <example> +/samp = "</example>\n" diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl index 6208c25514..7c95b11eaf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl @@ -1,26 +1,26 @@ -<chapter id="{$id}"> -<title>{$category} -{section name=ids loop=$ids} -&{$ids[ids]}; -{/section} - - - + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl index b4daa5eeea..72b9fea2dc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl @@ -1,29 +1,29 @@ - - - {$class_name} - {$classname} - -{section name=methods loop=$method_ids} -&{$method_ids[methods]}; -{/section} - - - + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl index 3c863eab12..03b42703aa 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl @@ -1,53 +1,53 @@ - - - Class Summary {$class_name} - {$sdesc} - - - {$sdesc} - {$desc|default:"¬documented;"} - - -Class Trees for {$class_name} - - {section name=tree loop=$class_tree} - {section name=mine loop=$class_tree[tree]} {/section} - {section name=mine loop=$class_tree[tree]} {/section} - {section name=mine loop=$class_tree[tree]} {/section} {$class_tree[tree]} - {/section} - {section name=tree loop=$class_tree} - {section name=mine loop=$class_tree[tree]} {/section} - - {/section} - -{if $children} - - - Classes that extend {$class_name} - - - - Class - Summary - - - -{section name=kids loop=$children} - - {$children[kids].link} - {$children[kids].sdesc} - -{/section} - - -
          -
          -{/if} -{if $imethods} - - {$class_name} Inherited Methods - -{include file="imethods.tpl" ivars=$ivars} -{/if} -
          -
          + + + Class Summary {$class_name} + {$sdesc} + + + {$sdesc} + {$desc|default:"¬documented;"} + + +Class Trees for {$class_name} + + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section} + {section name=mine loop=$class_tree[tree]} {/section} + {section name=mine loop=$class_tree[tree]} {/section} {$class_tree[tree]} + {/section} + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section} + + {/section} + +{if $children} + + + Classes that extend {$class_name} + + + + Class + Summary + + + +{section name=kids loop=$children} + + {$children[kids].link} + {$children[kids].sdesc} + +{/section} + + +
          +
          +{/if} +{if $imethods} + + {$class_name} Inherited Methods + +{include file="imethods.tpl" ivars=$ivars} +{/if} +
          +
          diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl index f0178e608d..24588e88f4 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl @@ -1,68 +1,68 @@ - - - Package {$package} Constants - Constants defined in and used by {$package} - - - All Constants -{section name=files loop=$defines} - - - Constants defined in {$defines[files].name} - - - - Constants defined in {$defines[files].name} -{section name=d loop=$defines[files].defines} -{if $defines[files].defines[d].conflicts}{assign var="defineconflict" value=true}{/if} -{/section} - - - - Name - Value - Line Number -{if $defineconflict} - Conflicts with other packages -{/if} - - - -{section name=d loop=$defines[files].defines} - - {$defines[files].defines[d].name} - {$defines[files].defines[d].value} - {$defines[files].defines[d].line_number} -{if $defineconflict} - {$defines[files].defines[d].conflicts} -{/if} - -{/section} - - -
          -
          -
          -{/section} -
          -
          - - + + + Package {$package} Constants + Constants defined in and used by {$package} + + + All Constants +{section name=files loop=$defines} + + + Constants defined in {$defines[files].name} + + + + Constants defined in {$defines[files].name} +{section name=d loop=$defines[files].defines} +{if $defines[files].defines[d].conflicts}{assign var="defineconflict" value=true}{/if} +{/section} + + + + Name + Value + Line Number +{if $defineconflict} + Conflicts with other packages +{/if} + + + +{section name=d loop=$defines[files].defines} + + {$defines[files].defines[d].name} + {$defines[files].defines[d].value} + {$defines[files].defines[d].line_number} +{if $defineconflict} + {$defines[files].defines[d].conflicts} +{/if} + +{/section} + + +
          +
          +
          +{/section} +
          +
          + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl index d9d910edd5..ab140b3bf2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl @@ -1,116 +1,116 @@ -{if $var} -{assign var="num" value="refsect3"} -{else} -{assign var="num" value="refsect1"} -{/if} - <{$num} id="{$id}.desc"> - &title.desc; -{if $line_number} - - Source on line #: {if $class_slink}{$class_slink}{else}{$line_number}{/if} - -{/if} -{if $var} - - {$sdesc|default:"¬documented;"} - -{/if} -{if $desc} - {$desc} -{else} -{if $var && $sdesc} -{else} - ¬documented; -{/if} -{/if} - -{if $params} - <{$num} id="{$id}.param"> - &title.param; - -{section name=params loop=$params} - - - - {assign var="temp" value=$params[params].name} - {if strpos($params[params].type, '|') || - strpos($cparams.$temp.cdatatype, '>')} - {$params[params].type} - {else} - {if $params[params].type == 'integer'} - {assign var="paramtype" value="int"} - {elseif $params[params].type == 'boolean'} - {assign var="paramtype" value="bool"} - {else} - {assign var="paramtype" value=$params[params].type} - {/if} - {if in_array($paramtype, array('bool', 'int', 'float', 'string', 'mixed', 'object', 'resource', 'array', 'res'))} - &type.{$paramtype}; - {else} - {$paramtype} - {/if} - {/if} - {$params[params].name|replace:"&":"&"} - - - - {$params[params].description} - - - - -{/section} - - -{/if} -{foreach from=$tags item="tag" key="tagname"} -{if $tagname != 'static' && $tagname != 'author' && $tagname != 'version' && $tagname != 'copyright' && $tagname != 'package' && $tagname != 'subpackage' && $tagname != 'example'} - <{$num} id="{$id}.{$tagname}"> - &title.{$tagname}; - {section name=t loop=$tag} - - {$tag[t].keyword} {$tag[t].data} - - {/section} - -{elseif $tagname == 'deprecated'} - <{$num} id="{$id}.{$tagname}"> - &title.note; - ¬e.deprecated; - {section name=t loop=$tag} - - {$tag[t].data} - - {/section} - -{elseif $tagname == 'static'} -{assign var="canstatic" value=true} -{elseif $tagname == 'example'} - <{$num} id="{$id}.{$tagname}"> - Examples - {section name=t loop=$tag} - {$tag[t].data} - {/section} - -{elseif $tagname != 'package' && $tagname != 'subpackage'} - <{$num} id="{$id}.{$tagname}"> - {$tagname}{* <-- need language snippets support for phpDocumentor, will use this instead *} - {section name=t loop=$tag} - - {$tagname} {$tag[t].data} - - {/section} - -{/if} -{/foreach} -{if $canstatic} - <{$num} id="{$id}.note"> - &title.note; - ¬e.canstatic; - -{else} - <{$num} id="{$id}.note"> - &title.note; - ¬e.notstatic; - -{/if} +{if $var} +{assign var="num" value="refsect3"} +{else} +{assign var="num" value="refsect1"} +{/if} + <{$num} id="{$id}.desc"> + &title.desc; +{if $line_number} + + Source on line #: {if $class_slink}{$class_slink}{else}{$line_number}{/if} + +{/if} +{if $var} + + {$sdesc|default:"¬documented;"} + +{/if} +{if $desc} + {$desc} +{else} +{if $var && $sdesc} +{else} + ¬documented; +{/if} +{/if} + +{if $params} + <{$num} id="{$id}.param"> + &title.param; + +{section name=params loop=$params} + + + + {assign var="temp" value=$params[params].name} + {if strpos($params[params].type, '|') || + strpos($cparams.$temp.cdatatype, '>')} + {$params[params].type} + {else} + {if $params[params].type == 'integer'} + {assign var="paramtype" value="int"} + {elseif $params[params].type == 'boolean'} + {assign var="paramtype" value="bool"} + {else} + {assign var="paramtype" value=$params[params].type} + {/if} + {if in_array($paramtype, array('bool', 'int', 'float', 'string', 'mixed', 'object', 'resource', 'array', 'res'))} + &type.{$paramtype}; + {else} + {$paramtype} + {/if} + {/if} + {$params[params].name|replace:"&":"&"} + + + + {$params[params].description} + + + + +{/section} + + +{/if} +{foreach from=$tags item="tag" key="tagname"} +{if $tagname != 'static' && $tagname != 'author' && $tagname != 'version' && $tagname != 'copyright' && $tagname != 'package' && $tagname != 'subpackage' && $tagname != 'example'} + <{$num} id="{$id}.{$tagname}"> + &title.{$tagname}; + {section name=t loop=$tag} + + {$tag[t].keyword} {$tag[t].data} + + {/section} + +{elseif $tagname == 'deprecated'} + <{$num} id="{$id}.{$tagname}"> + &title.note; + ¬e.deprecated; + {section name=t loop=$tag} + + {$tag[t].data} + + {/section} + +{elseif $tagname == 'static'} +{assign var="canstatic" value=true} +{elseif $tagname == 'example'} + <{$num} id="{$id}.{$tagname}"> + Examples + {section name=t loop=$tag} + {$tag[t].data} + {/section} + +{elseif $tagname != 'package' && $tagname != 'subpackage'} + <{$num} id="{$id}.{$tagname}"> + {$tagname}{* <-- need language snippets support for phpDocumentor, will use this instead *} + {section name=t loop=$tag} + + {$tagname} {$tag[t].data} + + {/section} + +{/if} +{/foreach} +{if $canstatic} + <{$num} id="{$id}.note"> + &title.note; + ¬e.canstatic; + +{else} + <{$num} id="{$id}.note"> + &title.note; + ¬e.notstatic; + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl index 1576a8224b..0f5265846d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl @@ -1,21 +1,21 @@ -{include file="header.tpl" noleftindex=true} -{section name=files loop=$files} -{$files[files].file}
          -{/section} -{foreach key=file item=issues from=$all} - -

          {$file}

          -{if count($issues.warnings)} -

          Warnings:


          -{section name=warnings loop=$issues.warnings} -{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
          -{/section} -{/if} -{if count($issues.errors)} -

          Errors:


          -{section name=errors loop=$issues.errors} -{$issues.errors[errors].name} - {$issues.errors[errors].listing}
          -{/section} -{/if} -{/foreach} -{include file="footer.tpl"} +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +{$files[files].file}
          +{/section} +{foreach key=file item=issues from=$all} + +

          {$file}

          +{if count($issues.warnings)} +

          Warnings:


          +{section name=warnings loop=$issues.warnings} +{$issues.warnings[warnings].name} - {$issues.warnings[warnings].listing}
          +{/section} +{/if} +{if count($issues.errors)} +

          Errors:


          +{section name=errors loop=$issues.errors} +{$issues.errors[errors].name} - {$issues.errors[errors].listing}
          +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl index 773b430cc0..7392d87a31 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl @@ -1,69 +1,69 @@ - - - Package {$package} Global Variables - Global Variables defined in and used by {$package} - - - All Global Variables -{section name=files loop=$globals} - - - Global Variables defined in {$globals[files].name} - - - - Global Variables defined in {$globals[files].name} -{section name=d loop=$globals[files].globals} -{if $globals[files].globals[d].conflicts}{assign var="globalconflict" value=true}{/if} -{/section} - - - - Name - Value - Line Number -{if $globalconflict} - Conflicts with other packages -{/if} - - - -{section name=d loop=$globals} - - -{$globals[files].globals[d].name} - {$globals[files].globals[d].value} - {$globals[files].globals[d].line_number} -{if $globalconflict} - {$globals[files].globals[d].conflicts} -{/if} - -{/section} - - -
          -
          -
          -{/section} -
          -
          - - + + + Package {$package} Global Variables + Global Variables defined in and used by {$package} + + + All Global Variables +{section name=files loop=$globals} + + + Global Variables defined in {$globals[files].name} + + + + Global Variables defined in {$globals[files].name} +{section name=d loop=$globals[files].globals} +{if $globals[files].globals[d].conflicts}{assign var="globalconflict" value=true}{/if} +{/section} + + + + Name + Value + Line Number +{if $globalconflict} + Conflicts with other packages +{/if} + + + +{section name=d loop=$globals} + + +{$globals[files].globals[d].name} + {$globals[files].globals[d].value} + {$globals[files].globals[d].line_number} +{if $globalconflict} + {$globals[files].globals[d].conflicts} +{/if} + +{/section} + + +
          +
          +
          +{/section} +
          +
          + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl index 779918af23..c0be1bf712 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl @@ -1,24 +1,24 @@ - -{section name=classes loop=$imethods} - - Inherited from {$imethods[classes].parent_class} - - - - Method Name - Summary - - - -{section name=m loop=$imethods[classes].imethods} - - {if $imethods[classes].imethods[m].constructor} Constructor{/if} {$imethods[classes].imethods[m].link} - {$imethods[classes].imethods[m].sdesc|default:"¬documented;"} - -{/section} - - -
          -{/section} -
          - + +{section name=classes loop=$imethods} + + Inherited from {$imethods[classes].parent_class} + + + + Method Name + Summary + + + +{section name=m loop=$imethods[classes].imethods} + + {if $imethods[classes].imethods[m].constructor} Constructor{/if} {$imethods[classes].imethods[m].link} + {$imethods[classes].imethods[m].sdesc|default:"¬documented;"} + +{/section} + + +
          +{/section} +
          + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl index 4555ac2bf4..3b9eecf98b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl @@ -1,26 +1,26 @@ - -{section name=classes loop=$ivars} - - Inherited from {$ivars[classes].parent_class} - - - - Variable Name - Summary - Default Value - - - -{section name=m loop=$ivars[classes].ivars} - - {if $ivars[classes].ivars[m].constructor} Constructor{/if} {$ivars[classes].ivars[m].link} - {$ivars[classes].ivars[m].sdesc|default:"¬documented;"} - {$ivars[classes].ivars[m].default|default:"&null;"} - -{/section} - - -
          -{/section} -
          - + +{section name=classes loop=$ivars} + + Inherited from {$ivars[classes].parent_class} + + + + Variable Name + Summary + Default Value + + + +{section name=m loop=$ivars[classes].ivars} + + {if $ivars[classes].ivars[m].constructor} Constructor{/if} {$ivars[classes].ivars[m].link} + {$ivars[classes].ivars[m].sdesc|default:"¬documented;"} + {$ivars[classes].ivars[m].default|default:"&null;"} + +{/section} + + +
          +{/section} +
          + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl index 039fe67eff..fc53f5dc2f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl @@ -1,45 +1,45 @@ - - - {if $function_call.constructor}constructor {/if}{$class}::{$function_name} - {$sdesc|default:$function_name} - - - - - require_once '{$source_location}'; - - - {$function_return}{if $function_call.returnsref}&{/if} - {if $function_call.constructor}constructor {/if}{$class}::{$function_name} -{if count($function_call.params)} -{section name=params loop=$function_call.params} - {if @strpos('>',$function_call.params[params].type)}{/if}{$function_call.params[params].type}{if @strpos('>',$function_call.params[params].type)}{/if} {if $function_call.params[params].hasdefault} {/if}{$function_call.params[params].name|replace:"&":"&"}{if $function_call.params[params].hasdefault} = {$function_call.params[params].default}{/if} -{/section} -{else} - -{/if} - - - -{include file="docblock.tpl" cparams=$params params=$function_call.params desc=$desc tags=$tags} - - - + + + {if $function_call.constructor}constructor {/if}{$class}::{$function_name} + {$sdesc|default:$function_name} + + + + + require_once '{$source_location}'; + + + {$function_return}{if $function_call.returnsref}&{/if} + {if $function_call.constructor}constructor {/if}{$class}::{$function_name} +{if count($function_call.params)} +{section name=params loop=$function_call.params} + {if @strpos('>',$function_call.params[params].type)}{/if}{$function_call.params[params].type}{if @strpos('>',$function_call.params[params].type)}{/if} {if $function_call.params[params].hasdefault} {/if}{$function_call.params[params].name|replace:"&":"&"}{if $function_call.params[params].hasdefault} = {$function_call.params[params].default}{/if} +{/section} +{else} + +{/if} + + + +{include file="docblock.tpl" cparams=$params params=$function_call.params desc=$desc tags=$tags} + + + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl index 5c1afda849..5b6bfc1c5d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl @@ -1,26 +1,26 @@ - -{$package} -{section name=ids loop=$ids} -{$ids[ids]} -{/section} - - - + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl index b5e71f0f08..e2cb70c4af 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl @@ -1,21 +1,21 @@ -{$contents} - - + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl index 01781164b1..0d490e461f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl @@ -1,15 +1,15 @@ - - Class Variables -{section name=var loop=$vars} - - {$vars[var].var_type} {$vars[var].var_name}{if $vars[var].default} = {$vars[var].var_default}{/if} - -{section name=v loop=$vars[var].var_overrides} - - Overrides {$vars[var].var_overrides[v].link}{if $vars[var].var_overrides[v].sdesc}: {$vars[var].var_overrides[v].sdesc|default:""}{/if} - -{/section} -{include file="docblock.tpl" var=true desc=$vars[var].desc sdesc=$vars[var].sdesc tags=$vars[var].tags line_number=$line_number id=$vars[var].id} - -{/section} - + + Class Variables +{section name=var loop=$vars} + + {$vars[var].var_type} {$vars[var].var_name}{if $vars[var].default} = {$vars[var].var_default}{/if} + +{section name=v loop=$vars[var].var_overrides} + + Overrides {$vars[var].var_overrides[v].link}{if $vars[var].var_overrides[v].sdesc}: {$vars[var].var_overrides[v].sdesc|default:""}{/if} + +{/section} +{include file="docblock.tpl" var=true desc=$vars[var].desc sdesc=$vars[var].sdesc tags=$vars[var].tags line_number=$line_number id=$vars[var].id} + +{/section} + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl index e76fba19bc..ca8210a787 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl @@ -1,93 +1,93 @@ - - - - Class {$class_name} Summary - {$sdesc|default:"¬documented"} - -{include file="docblock.tpl" desc=$desc tags=$tags line_number=$line_number params=false} -{include file="var.tpl" vars=$vars my_id=$id} - - - Heritage for {$class_name} - - - - Class Trees for {$class_name} - - - {section name=tree loop=$class_tree} - {section name=mine loop=$class_tree[tree]} {/section} - {section name=mine loop=$class_tree[tree]} {/section} - {section name=mine loop=$class_tree[tree]} {/section} {$class_tree[tree]} - {/section} - {section name=tree loop=$class_tree} - {section name=mine loop=$class_tree[tree]} {/section} - - {/section} - - -{if $children} - - - Classes that extend {$class_name} - - - - - - - Class - Summary - - - -{section name=kids loop=$children} - - {$children[kids].link} - {$children[kids].sdesc} - -{/section} - - -
          -
          -
          -{/if} -{if $imethods} - - - {$class_name} Inherited Methods - -{include file="imethods.tpl" ivars=$ivars} - -{/if} -{if $ivars} - - - {$class_name} Inherited Variables - -{include file="ivars.tpl" ivars=$ivars} - -{/if} -
          -
          - - + + + Class {$class_name} Summary + {$sdesc|default:"¬documented"} + +{include file="docblock.tpl" desc=$desc tags=$tags line_number=$line_number params=false} +{include file="var.tpl" vars=$vars my_id=$id} + + + Heritage for {$class_name} + + + + Class Trees for {$class_name} + + + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section} + {section name=mine loop=$class_tree[tree]} {/section} + {section name=mine loop=$class_tree[tree]} {/section} {$class_tree[tree]} + {/section} + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section} + + {/section} + + +{if $children} + + + Classes that extend {$class_name} + + + + + + + Class + Summary + + + +{section name=kids loop=$children} + + {$children[kids].link} + {$children[kids].sdesc} + +{/section} + + +
          +
          +
          +{/if} +{if $imethods} + + + {$class_name} Inherited Methods + +{include file="imethods.tpl" ivars=$ivars} + +{/if} +{if $ivars} + + + {$class_name} Inherited Variables + +{include file="ivars.tpl" ivars=$ivars} + +{/if} +
          +
          + + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl index 4555ac2bf4..3b9eecf98b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl @@ -1,26 +1,26 @@ - -{section name=classes loop=$ivars} - - Inherited from {$ivars[classes].parent_class} - - - - Variable Name - Summary - Default Value - - - -{section name=m loop=$ivars[classes].ivars} - - {if $ivars[classes].ivars[m].constructor} Constructor{/if} {$ivars[classes].ivars[m].link} - {$ivars[classes].ivars[m].sdesc|default:"¬documented;"} - {$ivars[classes].ivars[m].default|default:"&null;"} - -{/section} - - -
          -{/section} -
          - + +{section name=classes loop=$ivars} + + Inherited from {$ivars[classes].parent_class} + + + + Variable Name + Summary + Default Value + + + +{section name=m loop=$ivars[classes].ivars} + + {if $ivars[classes].ivars[m].constructor} Constructor{/if} {$ivars[classes].ivars[m].link} + {$ivars[classes].ivars[m].sdesc|default:"¬documented;"} + {$ivars[classes].ivars[m].default|default:"&null;"} + +{/section} + + +
          +{/section} +
          + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl index b5e71f0f08..e2cb70c4af 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl @@ -1,21 +1,21 @@ -{$contents} - - + \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Setup.inc.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Setup.inc.php index 1e0b1bc727..718a2906e1 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Setup.inc.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Setup.inc.php @@ -1,872 +1,872 @@ - - * @copyright 2002-2006 Gregory Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @link http://www.phpdoc.org - * @link http://pear.php.net/PhpDocumentor - * @since 1.2 - */ -error_reporting(E_ALL); -/** common settings */ -include_once("phpDocumentor/common.inc.php"); - -include_once("phpDocumentor/Io.inc"); -include_once("phpDocumentor/Publisher.inc"); -include_once("phpDocumentor/Classes.inc"); -include_once("phpDocumentor/ProceduralPages.inc"); -include_once("phpDocumentor/IntermediateParser.inc"); -include_once("phpDocumentor/WordParser.inc"); -include_once("phpDocumentor/EventStack.inc"); -include_once("phpDocumentor/ParserData.inc"); -include_once("phpDocumentor/InlineTags.inc"); -include_once("phpDocumentor/DocBlockTags.inc"); -include_once("phpDocumentor/DescHTML.inc"); -include_once("phpDocumentor/ParserDocBlock.inc"); -include_once("phpDocumentor/ParserElements.inc"); -include_once("phpDocumentor/Parser.inc"); -include_once("phpDocumentor/phpDocumentorTWordParser.inc"); -include_once("phpDocumentor/phpDocumentorTParser.inc"); -include_once("phpDocumentor/HighlightParser.inc"); -include_once("phpDocumentor/TutorialHighlightParser.inc"); -include_once("phpDocumentor/ParserDescCleanup.inc"); -include_once("phpDocumentor/PackagePageElements.inc"); -include_once("phpDocumentor/XMLpackagePageParser.inc"); -include_once("phpDocumentor/LinkClasses.inc"); -include_once("phpDocumentor/Converter.inc"); -include_once("phpDocumentor/Errors.inc"); -if (isset($_GET)) -{ -/** - * $interface is either 'web' or is not set at all - * @global array $interface - */ - if (isset($_GET['interface'])) $interface = $_GET['interface']; -/** - * $_phpDocumentor_setting is either the value from the web interface, or is set up by {@link Io::parseArgv()} - * @global array $_phpDocumentor_setting - */ - if (isset($_GET['setting'])) $_phpDocumentor_setting = $_GET['setting']; -} - -/** - * default package name, set using -dn --defaultpackagename - * @global string $GLOBALS['phpDocumentor_DefaultPackageName'] - * @name $phpDocumentor_DefaultPackageName - */ -$GLOBALS['phpDocumentor_DefaultPackageName'] = 'default'; - -/** - * default package name, set using -dn --defaultcategoryname - * @global string $GLOBALS['phpDocumentor_DefaultCategoryName'] - * @name $phpDocumentor_DefaultCategoryName - */ -$GLOBALS['phpDocumentor_DefaultCategoryName'] = 'default'; - -/** - * @package phpDocumentor - */ -class phpDocumentor_setup -{ - /** - * The main parser - * @var Parser|phpDocumentorTParser - */ - var $parse; - /** - * Used to parse command-line options - * @var Io - */ - var $setup; - /** - * Used to organize output from the Parser before Conversion - * @var phpDocumentor_IntermediateParser - */ - var $render = false; - /** - * Packages to create documentation for - * @var string - */ - var $packages = false; - /** - * contents of --filename commandline - * @tutorial phpDocumentor.howto.pkg#using.command-line.filename - * @var string - */ - var $files = ''; - /** - * contents of --directory commandline - * @tutorial phpDocumentor.howto.pkg#using.command-line.directory - * @var string - */ - var $dirs = ''; - /** - * contents of --hidden commandline - * @tutorial phpDocumentor.howto.pkg#using.command-line.hidden - * @var boolean - */ - var $hidden = false; - /** - * time that parsing was started, used for informative timing of output - * @access private - */ - var $parse_start_time; - /** - * contents of --ignore commandline - * @tutorial phpDocumentor.howto.pkg#using.command-line.ignore - * @var string - */ - var $ignore_files = array(); - /** - * Checks PHP version, makes sure it is 4.2.0+, and chooses the - * phpDocumentorTParser if version is 4.3.0+ - * @uses parseIni() - */ - function phpDocumentor_setup() - { - global $_phpDocumentor_cvsphpfile_exts, $_phpDocumentor_setting; - if (!function_exists('is_a')) - { - print "phpDocumentor requires PHP version 4.2.0 or greater to function"; - exit; - } - - $this->setup = new Io; - if (!isset($interface) && !isset($_GET['interface']) && !isset($_phpDocumentor_setting)) - { - // Parse the argv settings - $_phpDocumentor_setting = $this->setup->parseArgv(); - } - if (isset($_phpDocumentor_setting['useconfig']) && - !empty($_phpDocumentor_setting['useconfig'])) { - $this->readConfigFile($_phpDocumentor_setting['useconfig']); - } - - // set runtime to a large value since this can take quite a while - // we can only set_time_limit when not in safe_mode bug #912064 - if (!ini_get('safe_mode')) - { - set_time_limit(0); // unlimited runtime - } else - { - phpDocumentor_out("time_limit cannot be set since your in safe_mode, please edit time_limit in your php.ini to allow enough time for phpDocumentor to run"); - } - $x = str_replace('M', '', ini_get('memory_limit')); - if ($x < 256) { - ini_set("memory_limit","256M"); - } - - $phpver = phpversion(); - $phpdocver = PHPDOCUMENTOR_VER; - if (isset($_GET['interface'])) { - $phpver = "$phpver"; - $phpdocver = "$phpdocver"; - } - phpDocumentor_out("PHP Version $phpver\n"); - phpDocumentor_out("phpDocumentor version $phpdocver\n\n"); - - $this->parseIni(); - - if (tokenizer_ext) - { - phpDocumentor_out("using tokenizer Parser\n"); - $this->parse = new phpDocumentorTParser; - } else - { - phpDocumentor_out("using default (slower) Parser - get PHP 4.3.0+ -and load the tokenizer extension for faster parsing (your version is ".phpversion()."\n"); - $this->parse = new Parser; - } - } - - /** - * Get phpDocumentor settings from a user configuration file - * @param string user configuration file - */ - function readConfigFile($file) - { - global $_phpDocumentor_setting, $_phpDocumentor_options; - // security - $file = str_replace(array('..','.ini','\\'),array('','','/'),$file); - if (is_file($file . '.ini')) - { - $_phpDocumentor_setting = phpDocumentor_parse_ini_file($file.'.ini'); - } else - { - if ('@DATA-DIR@' != '@'.'DATA-DIR@') - { - $configdir = str_replace('\\','/', '@DATA-DIR@/PhpDocumentor') . PATH_DELIMITER . 'user' . PATH_DELIMITER; - } else { - $configdir = str_replace('\\','/',$GLOBALS['_phpDocumentor_install_dir']) . PATH_DELIMITER . 'user' . PATH_DELIMITER; - } - if (isset($_phpDocumentor_options['userdir'])) $configdir = $_phpDocumentor_options['userdir']; - if (substr($configdir,-1) != '/') - { - $configdir .= '/'; - } - $_phpDocumentor_setting = phpDocumentor_parse_ini_file( $configdir . $file . '.ini'); - if (empty($_phpDocumentor_setting['defaultpackagename'])) - { - $_phpDocumentor_setting['defaultpackagename'] = 'default'; - } - } - // don't want a loop condition! - unset($_phpDocumentor_setting['useconfig']); - } - - /** - * Get phpDocumentor settings from command-line or web interface - */ - function readCommandLineSettings() - { - global $_phpDocumentor_setting,$interface,$_phpDocumentor_RIC_files; - // subscribe $render class to $parse class events - if (!isset($_phpDocumentor_setting['junk'])) $_phpDocumentor_setting['junk'] = ''; - if (!isset($_phpDocumentor_setting['title'])) $_phpDocumentor_setting['title'] = 'Generated Documentation'; - $temp_title = $_phpDocumentor_setting['title']; - $this->render = new phpDocumentor_IntermediateParser($temp_title); - if (isset($_phpDocumentor_setting['help']) || $_phpDocumentor_setting['junk'] == "-h" || $_phpDocumentor_setting['junk'] == "--help") - { - echo $this->setup->displayHelpMsg(); - die(); - } - - // set to parse hidden files - $this->hidden = (isset($_phpDocumentor_setting['hidden'])) ? decideOnOrOff($_phpDocumentor_setting['hidden']) : false; - - // set to parse elements marked private with @access private - $this->render->setParsePrivate((isset($_phpDocumentor_setting['parseprivate'])) ? decideOnOrOff($_phpDocumentor_setting['parseprivate']) : false); - - if (isset($_phpDocumentor_setting['ignoretags'])) - { - $ignoretags = explode(',', $_phpDocumentor_setting['ignoretags']); - $ignoretags = array_map('trim', $ignoretags); - $tags = array(); - foreach($ignoretags as $tag) - { - if (!in_array($tag,array('@global', '@access', '@package', '@ignore', '@name', '@param', '@return', '@staticvar', '@var'))) - $tags[] = $tag; - } - $_phpDocumentor_setting['ignoretags'] = $tags; - } - - if (isset($_phpDocumentor_setting['readmeinstallchangelog'])) - { - $_phpDocumentor_setting['readmeinstallchangelog'] = explode(',',str_replace(' ','',$_phpDocumentor_setting['readmeinstallchangelog'])); - $rics = array(); - foreach($_phpDocumentor_setting['readmeinstallchangelog'] as $ric) - { - $rics[] = strtoupper(trim($ric)); - } - $_phpDocumentor_RIC_files = $rics; - } - - if (isset($_phpDocumentor_setting['javadocdesc']) && $_phpDocumentor_setting['javadocdesc'] == 'on') - { - $this->parse->eventHandlers[PARSER_EVENT_DOCBLOCK] = 'JavaDochandleDocblock'; - } - if (tokenizer_ext) - { - if (isset($_phpDocumentor_setting['sourcecode']) && $_phpDocumentor_setting['sourcecode'] == 'on') - { - $_phpDocumentor_setting['sourcecode'] = true; - } else - { - $_phpDocumentor_setting['sourcecode'] = false; - } - } else - { - if (isset($_phpDocumentor_setting['sourcecode']) && $_phpDocumentor_setting['sourcecode'] == 'on') - { - addWarning(PDERROR_SOURCECODE_IGNORED); - } - $_phpDocumentor_setting['sourcecode'] = false; - } - if (isset($_phpDocumentor_setting['converterparams'])) - { - $_phpDocumentor_setting['converterparams'] = explode($_phpDocumentor_setting['converterparams']); - foreach($_phpDocumentor_setting['converterparams'] as $i => $p) - { - $_phpDocumentor_setting['converterparams'][$i] = trim($p); - } - } - if (isset($_phpDocumentor_setting['customtags']) && !empty($_phpDocumentor_setting['customtags'])) - { - $c = explode(',',$_phpDocumentor_setting['customtags']); - for($i=0;$irender->setQuietMode((isset($_phpDocumentor_setting['quiet'])) ? decideOnOrOff($_phpDocumentor_setting['quiet']) : false); - - // Setup the different classes - if (isset($_phpDocumentor_setting['templatebase'])) - { - $this->render->setTemplateBase(trim($_phpDocumentor_setting['templatebase'])); - } - if (isset($_phpDocumentor_setting['target']) && !empty($_phpDocumentor_setting['target'])) - { - $this->render->setTargetDir(trim($_phpDocumentor_setting['target'])); - } - else - { - echo "a target directory must be specified\n try phpdoc -h\n"; - die(); - } - if (!empty($_phpDocumentor_setting['packageoutput'])) - { - $this->packages = explode(",",trim($_phpDocumentor_setting['packageoutput'])); - foreach($this->packages as $p => $v) - { - $this->packages[$p] = trim($v); - } - } - if (!empty($_phpDocumentor_setting['filename'])) { - $this->files = trim($_phpDocumentor_setting['filename']); - } - if (!empty($_phpDocumentor_setting['directory'])) { - $this->dirs = trim($_phpDocumentor_setting['directory']); - } - } - - function checkIgnoreTag($tagname, $inline = false) - { - global $_phpDocumentor_setting; - $tagname = '@'.$tagname; - if (!isset($_phpDocumentor_setting['ignoretags'])) return false; - if ($inline) $tagname = '{'.$tagname.'}'; - return in_array($tagname, $_phpDocumentor_setting['ignoretags']); - } - - function setJavadocDesc() - { - $this->parse->eventHandlers[PARSER_EVENT_DOCBLOCK] = 'JavaDochandleDocblock'; - } - - function setParsePrivate($flag = true) - { - $this->render->setParsePrivate($flag); - } - - function setQuietMode($flag = true) - { - $this->render->setQuietMode($flag); - } - - function setTargetDir($target) - { - $this->render->setTargetDir($target); - } - - function setTemplateBase($dir) - { - $this->render->setTemplateBase($dir); - } - - function setPackageOutput($po) - { - $this->packages = explode(",",$po); - array_map('trim', $this->packages); - } - - function setTitle($ti) - { - $this->render = new phpDocumentor_IntermediateParser($ti); - } - - function setFilesToParse($files) - { - $this->files = $files; - } - - function setDirectoriesToParse($dirs) - { - $this->dirs = $dirs; - } - - function parseHiddenFiles($flag = true) - { - $this->hidden = $flag; - } - - function setIgnore($ig) - { - if (strstr($ig,",")) - { - $this->ignore_files = explode(",",$ig); - } else { - if (!empty($ig)) - $this->ignore_files = array($ig); - } - $this->ignore_files = array_map('trim', $this->ignore_files); - } - - function createDocs($title = false) - { - $this->parse_start_time = time(); - global $_phpDocumentor_setting; - if (!$this->render) - { - $this->render = new phpDocumentor_IntermediateParser($title); - } - // setup ignore list - $this->ignore_files =array(); - if(isset($_phpDocumentor_setting['ignore'])) - { - $this->setIgnore($_phpDocumentor_setting['ignore']); - } - $this->parse->subscribe("*",$this->render); - // parse the directory - if (!empty($this->files)) - { - $files = explode(",",$this->files); - foreach($files as $file) - { - $file = trim($file); - $test = $this->setup->getAllFiles($file); - if ($test) - { - foreach($test as $file) - { - $file = trim($file); - $dir = realpath(dirname($file)); - $dir = strtr($dir, "\\", "/"); - $dir = str_replace('//','/',$dir); - // strip trailing directory seperator - if (substr($dir,-1) == "/" || substr($dir,-1) == "\\") - { - $dir = substr($dir,0,-1); - } - $file = strtr(realpath($file), "\\", "/"); - $file = str_replace('//','/',$file); - - if (!$this->setup->checkIgnore(basename($file),dirname($file),$this->ignore_files)) - { - $filelist[] = str_replace('\\','/',$file); - } else { - phpDocumentor_out("File $file Ignored\n"); - flush(); - } - } - } else - { - $dir = dirname(realpath($file)); - $dir = strtr($dir, "\\", "/"); - $dir = str_replace('//','/',$dir); - // strip trailing directory seperator - if (substr($dir,-1) == "/" || substr($dir,-1) == "\\") - { - $dir = substr($dir,0,-1); - } - $base = count(explode("/",$dir)); - $file = strtr(realpath($file), "\\", "/"); - $file = str_replace('//','/',$file); - flush(); - - if (!$this->setup->checkIgnore(basename($file),dirname($file),$this->ignore_files)) - { - $filelist[] = str_replace('\\','/',$file); - } else { - phpDocumentor_out("File $file Ignored\n"); - flush(); - } - } - } - } - if (!empty($this->dirs)) - { - $dirs = explode(",",$this->dirs); - foreach($dirs as $dir) - { - $olddir = $dir; - $dir = realpath($dir); - if (!$dir) { - phpDocumentor_out('ERROR: "' . $olddir . '" does not exist, skipping'); - continue; - } - $dir = trim($dir); - $dir = strtr($dir, "\\", "/"); - $dir = str_replace('//','/',$dir); - // strip trailing directory seperator - if (substr($dir,-1) == "/" || substr($dir,-1) == "\\") - { - $dir = substr($dir,0,-1); - } - $files = $this->setup->dirList($dir,$this->hidden); - if (is_array($files)) - { - foreach($files as $file) - { - // Make sure the file isn't a hidden file - $file = strtr($file, "\\", "/"); - if (substr(basename($file),0,1) != ".") - { - if (!$this->setup->checkIgnore(basename($file),str_replace('\\','/',dirname($file)),$this->ignore_files)) - { - $filelist[] = str_replace('\\','/',$file); - } else { - phpDocumentor_out("File $file Ignored\n"); - flush(); - } - } - } - } - } - } - if (isset($filelist)) - { - if (PHPDOCUMENTOR_WINDOWS) - { - // case insensitive array_unique - usort($filelist,'strnatcasecmp'); - reset($filelist); - - $newarray = array(); - $i = 0; - - $element = current($filelist); - for ($n=0;$nsetup->getBase($filelist))); - define("PHPDOCUMENTOR_BASE",$source_base); - list($filelist,$ric) = $this->setup->getReadmeInstallChangelog($source_base, $filelist); - phpDocumentor_out("\n\nGrabbing README/INSTALL/CHANGELOG\n"); - flush(); - foreach($ric as $file) - { - phpDocumentor_out(basename($file).'...'); - flush(); - $fp = fopen($file,'r'); - $contents = fread($fp,filesize($file)); - $this->render->HandleEvent(PHPDOCUMENTOR_EVENT_README_INSTALL_CHANGELOG, array(basename($file),$contents)); - fclose($fp); - } - phpDocumentor_out("\ndone\n"); - flush(); - list($filelist,$tutorials) = $this->setup->getTutorials($filelist); - phpDocumentor_out("\n\nTutorial/Extended Documentation Parsing Stage\n\n"); - flush(); - if (count($tutorials)) - { - $tuteparser = new XMLPackagePageParser; - $tuteparser->subscribe('*',$this->render); - foreach($tutorials as $tutorial) - { - switch($tutorial['tutetype']) - { - case 'pkg' : - case 'cls' : - case 'proc' : - switch($tutorial['tutetype']) - { - case 'pkg' : - $ptext = 'Package-level Docs '; - if (!empty($tutorial['subpackage'])) - $ptext = 'Sub-Package Docs '; - break; - case 'cls' : - $ptext = 'Class-level Docs '; - break; - case 'proc' : - $ptext = 'Procedural-level Docs '; - break; - } - $fp = @fopen($tutorial['path'],"r"); - if ($fp) - { - $ret = fread($fp,filesize($tutorial['path'])); - // fix 1151650 - if (stristr($ret, "utf-8") !== "") - { - $ret = utf8_decode($ret); - } - fclose($fp); - unset($fp); - phpDocumentor_out('Parsing '.$ptext.$tutorial['path'].'...'); - flush(); - $tuteparser->parse($ret,$tutorial); - phpDocumentor_out("done\n"); - flush(); - } else - { - phpDocumentor_out('Error '.$ptext.$tutorial['path'].' doesn\'t exist'."\n"); - flush(); - } - default : - break; - } - } - } - phpDocumentor_out("done\n"); - flush(); - phpDocumentor_out("\n\nGeneral Parsing Stage\n\n"); - flush(); - foreach($filelist as $file) - { - phpDocumentor_out("Reading file $file"); - flush(); - $this->parse->parse($a = $this->setup->readPhpFile($file, $this->render->quietMode),$file,$base,$this->packages); - - } - $b = (time() - $this->parse_start_time); - phpDocumentor_out("done\n"); - flush(); - // render output - phpDocumentor_out("\nConverting From Abstract Parsed Data\n"); - flush(); - $this->render->output(); - $a = (time() - $this->parse_start_time); - $c = ($a - $b); - phpDocumentor_out("\nParsing time: $b seconds\n"); - phpDocumentor_out("\nConversion time: $c seconds\n"); - phpDocumentor_out("\nTotal Documentation Time: $a seconds\n"); - phpDocumentor_out("done\n"); - flush(); - } else - { - print "ERROR: nothing parsed"; - exit; - } - } - /** - * Parse configuration file phpDocumentor.ini - */ - function parseIni() - { - phpDocumentor_out("Parsing configuration file phpDocumentor.ini..."); - flush(); - if ('@DATA-DIR@' != '@'.'DATA-DIR@') - { - $options = phpDocumentor_parse_ini_file(str_replace('\\','/', '@DATA-DIR@/PhpDocumentor') . PATH_DELIMITER . 'phpDocumentor.ini',true); - } else { - $options = phpDocumentor_parse_ini_file(str_replace('\\','/',$GLOBALS['_phpDocumentor_install_dir']) . PATH_DELIMITER . 'phpDocumentor.ini',true); - } - - if (!$options) - { - print "ERROR: cannot open phpDocumentor.ini in directory " . $GLOBALS['_phpDocumentor_install_dir']."\n"; - print "-Is phpdoc in either the path or include_path in your php.ini file?"; - exit; - } - - foreach($options as $var => $values) - { - if ($var != 'DEBUG') - { -// phpDocumentor_out("\n$var"); - if ($var != '_phpDocumentor_setting' && $var != '_phpDocumentor_options' && $var != '_phpDocumentor_install_dir' ) $values = array_values($values); -// fancy_debug("\n$var",$values); - $GLOBALS[$var] = $values; - } - } - phpDocumentor_out("\ndone\n"); - flush(); - /** Debug Constant */ - if (!defined('PHPDOCUMENTOR_DEBUG')) define("PHPDOCUMENTOR_DEBUG",$options['DEBUG']['PHPDOCUMENTOR_DEBUG']); - if (!defined('PHPDOCUMENTOR_KILL_WHITESPACE')) define("PHPDOCUMENTOR_KILL_WHITESPACE",$options['DEBUG']['PHPDOCUMENTOR_KILL_WHITESPACE']); - $GLOBALS['_phpDocumentor_cvsphpfile_exts'] = $GLOBALS['_phpDocumentor_phpfile_exts']; - foreach($GLOBALS['_phpDocumentor_cvsphpfile_exts'] as $key => $val) - { - $GLOBALS['_phpDocumentor_cvsphpfile_exts'][$key] = "$val,v"; - } - // none of this stuff is used anymore - if (isset($GLOBALS['_phpDocumentor_html_allowed'])) - { - $___htmltemp = array_flip($GLOBALS['_phpDocumentor_html_allowed']); - $___html1 = array(); - foreach($___htmltemp as $tag => $trans) - { - $___html1['<'.$tag.'>'] = htmlentities('<'.$tag.'>'); - $___html1[''] = htmlentities(''); - } - $GLOBALS['phpDocumentor___html'] = array_flip($___html1); - } - } - - - function cleanConverterNamePiece($name, $extra_characters_to_allow = '') - { - $name = str_replace("\\", "/", $name); - // security: ensure no opportunity exists to use "../.." pathing in this value - $name = preg_replace('/[^a-zA-Z0-9' . $extra_characters_to_allow . '_]/', "", $name); - - // absolutely positively do NOT allow two consecutive dots ".." - if (strpos($name, '..') > -1) $name = false; - return $name; - } - - function setupConverters($output = false) - { - global $_phpDocumentor_setting; - if ($output) - { - $_phpDocumentor_setting['output'] = $output; - } - if (isset($_phpDocumentor_setting['output']) && !empty($_phpDocumentor_setting['output'])) - { - $c = explode(',',$_phpDocumentor_setting['output']); - for($i=0; $i< count($c); $i++) - { - $c[$i] = explode(':',$c[$i]); - $a = $c[$i][0]; - if (isset($c[$i][0])) - { - $a = $this->cleanConverterNamePiece($c[$i][0]); - } - else - { - $a = false; - } - if (isset($c[$i][1])) - { - $b = $this->cleanConverterNamePiece($c[$i][1], '\/'); // must allow "/" due to options like "DocBook/peardoc2" - } - else - { - $b = false; - } - if (isset($c[$i][2])) - { - /** - * must allow "." due to options like "phpdoc.de" - * must allow "/" due to options like "DOM/default" - */ - $d = $this->cleanConverterNamePiece($c[$i][2], '.\/'); - if (substr($d,-1) != "/") - { - $d .= "/"; - } - else - { - $d = 'default/'; - } - } - if (strtoupper(trim($a)) == 'HTML' && (trim($b) == 'default')) - { - phpDocumentor_out("WARNING: HTMLdefaultConverter is deprecated, using HTMLframesConverter.\n"); - phpDocumentor_out("WARNING: template output is identical, HTMLframes is more flexible.\n"); - phpDocumentor_out("WARNING: please adjust your usage\n"); - flush(); - $b = 'frames'; // change default to frames. - } - $this->render->addConverter(strtoupper(trim($a)),trim($b),trim($d)); - } - } else - { - $this->render->addConverter('HTML','frames','default/'); - } - if (empty($this->render->converters)) addErrorDie(PDERROR_NO_CONVERTERS); - } -} - -/** - * Fuzzy logic to interpret the boolean args' intent - * @param string the command-line option to analyze - * @return boolean our best guess of the value's boolean intent - */ -function decideOnOrOff($value_to_guess = 'NO VALUE WAS PASSED') -{ - $these_probably_mean_yes = array( - '', // "--hidden" with no value - 'on', // "--hidden on" - 'y', 'yes', // "--hidden y" - 'true', // "--hidden true" - '1' // "--hidden 1" - ); - $best_guess = false; // default to "false", "off", "no", "take a hike" - - if (in_array(strtolower(trim($value_to_guess)), $these_probably_mean_yes)) - { - $best_guess = true; - } - return $best_guess; -} - -/** - * Print parse information if quiet setting is off - */ -function phpDocumentor_out($string) -{ - global $_phpDocumentor_setting; - if ((isset($_phpDocumentor_setting['quiet'])) ? !decideOnOrOff($_phpDocumentor_setting['quiet']) : true) - { - print $string; - } - -} - -/** - * Crash in case of known, dangerous bug condition - * - * Checks the PHP version that is executing PhpDocumentor, - * in case a known PHP/PEAR bug condition could be triggered - * by the PhpDocumentor execution. - * @param string $php_version the PHP version that contains the bug - * @param string $php_bug_number the PHP bug number (if any) - * @param string $pear_bug_number the PEAR bug number (if any) - */ -function checkForBugCondition($php_version, $php_bug_number = 'none', $pear_bug_number = 'none') -{ - if (version_compare(phpversion(), $php_version) == 0) - { - addErrorDie(PDERROR_DANGEROUS_PHP_BUG_EXISTS, $php_version, $php_bug_number, $pear_bug_number); - } -} -?> + + * @copyright 2002-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id$ + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.2 + */ +error_reporting(E_ALL); +/** common settings */ +include_once("phpDocumentor/common.inc.php"); + +include_once("phpDocumentor/Io.inc"); +include_once("phpDocumentor/Publisher.inc"); +include_once("phpDocumentor/Classes.inc"); +include_once("phpDocumentor/ProceduralPages.inc"); +include_once("phpDocumentor/IntermediateParser.inc"); +include_once("phpDocumentor/WordParser.inc"); +include_once("phpDocumentor/EventStack.inc"); +include_once("phpDocumentor/ParserData.inc"); +include_once("phpDocumentor/InlineTags.inc"); +include_once("phpDocumentor/DocBlockTags.inc"); +include_once("phpDocumentor/DescHTML.inc"); +include_once("phpDocumentor/ParserDocBlock.inc"); +include_once("phpDocumentor/ParserElements.inc"); +include_once("phpDocumentor/Parser.inc"); +include_once("phpDocumentor/phpDocumentorTWordParser.inc"); +include_once("phpDocumentor/phpDocumentorTParser.inc"); +include_once("phpDocumentor/HighlightParser.inc"); +include_once("phpDocumentor/TutorialHighlightParser.inc"); +include_once("phpDocumentor/ParserDescCleanup.inc"); +include_once("phpDocumentor/PackagePageElements.inc"); +include_once("phpDocumentor/XMLpackagePageParser.inc"); +include_once("phpDocumentor/LinkClasses.inc"); +include_once("phpDocumentor/Converter.inc"); +include_once("phpDocumentor/Errors.inc"); +if (isset($_GET)) +{ +/** + * $interface is either 'web' or is not set at all + * @global array $interface + */ + if (isset($_GET['interface'])) $interface = $_GET['interface']; +/** + * $_phpDocumentor_setting is either the value from the web interface, or is set up by {@link Io::parseArgv()} + * @global array $_phpDocumentor_setting + */ + if (isset($_GET['setting'])) $_phpDocumentor_setting = $_GET['setting']; +} + +/** + * default package name, set using -dn --defaultpackagename + * @global string $GLOBALS['phpDocumentor_DefaultPackageName'] + * @name $phpDocumentor_DefaultPackageName + */ +$GLOBALS['phpDocumentor_DefaultPackageName'] = 'default'; + +/** + * default package name, set using -dn --defaultcategoryname + * @global string $GLOBALS['phpDocumentor_DefaultCategoryName'] + * @name $phpDocumentor_DefaultCategoryName + */ +$GLOBALS['phpDocumentor_DefaultCategoryName'] = 'default'; + +/** + * @package phpDocumentor + */ +class phpDocumentor_setup +{ + /** + * The main parser + * @var Parser|phpDocumentorTParser + */ + var $parse; + /** + * Used to parse command-line options + * @var Io + */ + var $setup; + /** + * Used to organize output from the Parser before Conversion + * @var phpDocumentor_IntermediateParser + */ + var $render = false; + /** + * Packages to create documentation for + * @var string + */ + var $packages = false; + /** + * contents of --filename commandline + * @tutorial phpDocumentor.howto.pkg#using.command-line.filename + * @var string + */ + var $files = ''; + /** + * contents of --directory commandline + * @tutorial phpDocumentor.howto.pkg#using.command-line.directory + * @var string + */ + var $dirs = ''; + /** + * contents of --hidden commandline + * @tutorial phpDocumentor.howto.pkg#using.command-line.hidden + * @var boolean + */ + var $hidden = false; + /** + * time that parsing was started, used for informative timing of output + * @access private + */ + var $parse_start_time; + /** + * contents of --ignore commandline + * @tutorial phpDocumentor.howto.pkg#using.command-line.ignore + * @var string + */ + var $ignore_files = array(); + /** + * Checks PHP version, makes sure it is 4.2.0+, and chooses the + * phpDocumentorTParser if version is 4.3.0+ + * @uses parseIni() + */ + function phpDocumentor_setup() + { + global $_phpDocumentor_cvsphpfile_exts, $_phpDocumentor_setting; + if (!function_exists('is_a')) + { + print "phpDocumentor requires PHP version 4.2.0 or greater to function"; + exit; + } + + $this->setup = new Io; + if (!isset($interface) && !isset($_GET['interface']) && !isset($_phpDocumentor_setting)) + { + // Parse the argv settings + $_phpDocumentor_setting = $this->setup->parseArgv(); + } + if (isset($_phpDocumentor_setting['useconfig']) && + !empty($_phpDocumentor_setting['useconfig'])) { + $this->readConfigFile($_phpDocumentor_setting['useconfig']); + } + + // set runtime to a large value since this can take quite a while + // we can only set_time_limit when not in safe_mode bug #912064 + if (!ini_get('safe_mode')) + { + set_time_limit(0); // unlimited runtime + } else + { + phpDocumentor_out("time_limit cannot be set since your in safe_mode, please edit time_limit in your php.ini to allow enough time for phpDocumentor to run"); + } + $x = str_replace('M', '', ini_get('memory_limit')); + if ($x < 256) { + ini_set("memory_limit","256M"); + } + + $phpver = phpversion(); + $phpdocver = PHPDOCUMENTOR_VER; + if (isset($_GET['interface'])) { + $phpver = "$phpver"; + $phpdocver = "$phpdocver"; + } + phpDocumentor_out("PHP Version $phpver\n"); + phpDocumentor_out("phpDocumentor version $phpdocver\n\n"); + + $this->parseIni(); + + if (tokenizer_ext) + { + phpDocumentor_out("using tokenizer Parser\n"); + $this->parse = new phpDocumentorTParser; + } else + { + phpDocumentor_out("using default (slower) Parser - get PHP 4.3.0+ +and load the tokenizer extension for faster parsing (your version is ".phpversion()."\n"); + $this->parse = new Parser; + } + } + + /** + * Get phpDocumentor settings from a user configuration file + * @param string user configuration file + */ + function readConfigFile($file) + { + global $_phpDocumentor_setting, $_phpDocumentor_options; + // security + $file = str_replace(array('..','.ini','\\'),array('','','/'),$file); + if (is_file($file . '.ini')) + { + $_phpDocumentor_setting = phpDocumentor_parse_ini_file($file.'.ini'); + } else + { + if ('@DATA-DIR@' != '@'.'DATA-DIR@') + { + $configdir = str_replace('\\','/', '@DATA-DIR@/PhpDocumentor') . PATH_DELIMITER . 'user' . PATH_DELIMITER; + } else { + $configdir = str_replace('\\','/',$GLOBALS['_phpDocumentor_install_dir']) . PATH_DELIMITER . 'user' . PATH_DELIMITER; + } + if (isset($_phpDocumentor_options['userdir'])) $configdir = $_phpDocumentor_options['userdir']; + if (substr($configdir,-1) != '/') + { + $configdir .= '/'; + } + $_phpDocumentor_setting = phpDocumentor_parse_ini_file( $configdir . $file . '.ini'); + if (empty($_phpDocumentor_setting['defaultpackagename'])) + { + $_phpDocumentor_setting['defaultpackagename'] = 'default'; + } + } + // don't want a loop condition! + unset($_phpDocumentor_setting['useconfig']); + } + + /** + * Get phpDocumentor settings from command-line or web interface + */ + function readCommandLineSettings() + { + global $_phpDocumentor_setting,$interface,$_phpDocumentor_RIC_files; + // subscribe $render class to $parse class events + if (!isset($_phpDocumentor_setting['junk'])) $_phpDocumentor_setting['junk'] = ''; + if (!isset($_phpDocumentor_setting['title'])) $_phpDocumentor_setting['title'] = 'Generated Documentation'; + $temp_title = $_phpDocumentor_setting['title']; + $this->render = new phpDocumentor_IntermediateParser($temp_title); + if (isset($_phpDocumentor_setting['help']) || $_phpDocumentor_setting['junk'] == "-h" || $_phpDocumentor_setting['junk'] == "--help") + { + echo $this->setup->displayHelpMsg(); + die(); + } + + // set to parse hidden files + $this->hidden = (isset($_phpDocumentor_setting['hidden'])) ? decideOnOrOff($_phpDocumentor_setting['hidden']) : false; + + // set to parse elements marked private with @access private + $this->render->setParsePrivate((isset($_phpDocumentor_setting['parseprivate'])) ? decideOnOrOff($_phpDocumentor_setting['parseprivate']) : false); + + if (isset($_phpDocumentor_setting['ignoretags'])) + { + $ignoretags = explode(',', $_phpDocumentor_setting['ignoretags']); + $ignoretags = array_map('trim', $ignoretags); + $tags = array(); + foreach($ignoretags as $tag) + { + if (!in_array($tag,array('@global', '@access', '@package', '@ignore', '@name', '@param', '@return', '@staticvar', '@var'))) + $tags[] = $tag; + } + $_phpDocumentor_setting['ignoretags'] = $tags; + } + + if (isset($_phpDocumentor_setting['readmeinstallchangelog'])) + { + $_phpDocumentor_setting['readmeinstallchangelog'] = explode(',',str_replace(' ','',$_phpDocumentor_setting['readmeinstallchangelog'])); + $rics = array(); + foreach($_phpDocumentor_setting['readmeinstallchangelog'] as $ric) + { + $rics[] = strtoupper(trim($ric)); + } + $_phpDocumentor_RIC_files = $rics; + } + + if (isset($_phpDocumentor_setting['javadocdesc']) && $_phpDocumentor_setting['javadocdesc'] == 'on') + { + $this->parse->eventHandlers[PARSER_EVENT_DOCBLOCK] = 'JavaDochandleDocblock'; + } + if (tokenizer_ext) + { + if (isset($_phpDocumentor_setting['sourcecode']) && $_phpDocumentor_setting['sourcecode'] == 'on') + { + $_phpDocumentor_setting['sourcecode'] = true; + } else + { + $_phpDocumentor_setting['sourcecode'] = false; + } + } else + { + if (isset($_phpDocumentor_setting['sourcecode']) && $_phpDocumentor_setting['sourcecode'] == 'on') + { + addWarning(PDERROR_SOURCECODE_IGNORED); + } + $_phpDocumentor_setting['sourcecode'] = false; + } + if (isset($_phpDocumentor_setting['converterparams'])) + { + $_phpDocumentor_setting['converterparams'] = explode($_phpDocumentor_setting['converterparams']); + foreach($_phpDocumentor_setting['converterparams'] as $i => $p) + { + $_phpDocumentor_setting['converterparams'][$i] = trim($p); + } + } + if (isset($_phpDocumentor_setting['customtags']) && !empty($_phpDocumentor_setting['customtags'])) + { + $c = explode(',',$_phpDocumentor_setting['customtags']); + for($i=0;$irender->setQuietMode((isset($_phpDocumentor_setting['quiet'])) ? decideOnOrOff($_phpDocumentor_setting['quiet']) : false); + + // Setup the different classes + if (isset($_phpDocumentor_setting['templatebase'])) + { + $this->render->setTemplateBase(trim($_phpDocumentor_setting['templatebase'])); + } + if (isset($_phpDocumentor_setting['target']) && !empty($_phpDocumentor_setting['target'])) + { + $this->render->setTargetDir(trim($_phpDocumentor_setting['target'])); + } + else + { + echo "a target directory must be specified\n try phpdoc -h\n"; + die(); + } + if (!empty($_phpDocumentor_setting['packageoutput'])) + { + $this->packages = explode(",",trim($_phpDocumentor_setting['packageoutput'])); + foreach($this->packages as $p => $v) + { + $this->packages[$p] = trim($v); + } + } + if (!empty($_phpDocumentor_setting['filename'])) { + $this->files = trim($_phpDocumentor_setting['filename']); + } + if (!empty($_phpDocumentor_setting['directory'])) { + $this->dirs = trim($_phpDocumentor_setting['directory']); + } + } + + function checkIgnoreTag($tagname, $inline = false) + { + global $_phpDocumentor_setting; + $tagname = '@'.$tagname; + if (!isset($_phpDocumentor_setting['ignoretags'])) return false; + if ($inline) $tagname = '{'.$tagname.'}'; + return in_array($tagname, $_phpDocumentor_setting['ignoretags']); + } + + function setJavadocDesc() + { + $this->parse->eventHandlers[PARSER_EVENT_DOCBLOCK] = 'JavaDochandleDocblock'; + } + + function setParsePrivate($flag = true) + { + $this->render->setParsePrivate($flag); + } + + function setQuietMode($flag = true) + { + $this->render->setQuietMode($flag); + } + + function setTargetDir($target) + { + $this->render->setTargetDir($target); + } + + function setTemplateBase($dir) + { + $this->render->setTemplateBase($dir); + } + + function setPackageOutput($po) + { + $this->packages = explode(",",$po); + array_map('trim', $this->packages); + } + + function setTitle($ti) + { + $this->render = new phpDocumentor_IntermediateParser($ti); + } + + function setFilesToParse($files) + { + $this->files = $files; + } + + function setDirectoriesToParse($dirs) + { + $this->dirs = $dirs; + } + + function parseHiddenFiles($flag = true) + { + $this->hidden = $flag; + } + + function setIgnore($ig) + { + if (strstr($ig,",")) + { + $this->ignore_files = explode(",",$ig); + } else { + if (!empty($ig)) + $this->ignore_files = array($ig); + } + $this->ignore_files = array_map('trim', $this->ignore_files); + } + + function createDocs($title = false) + { + $this->parse_start_time = time(); + global $_phpDocumentor_setting; + if (!$this->render) + { + $this->render = new phpDocumentor_IntermediateParser($title); + } + // setup ignore list + $this->ignore_files =array(); + if(isset($_phpDocumentor_setting['ignore'])) + { + $this->setIgnore($_phpDocumentor_setting['ignore']); + } + $this->parse->subscribe("*",$this->render); + // parse the directory + if (!empty($this->files)) + { + $files = explode(",",$this->files); + foreach($files as $file) + { + $file = trim($file); + $test = $this->setup->getAllFiles($file); + if ($test) + { + foreach($test as $file) + { + $file = trim($file); + $dir = realpath(dirname($file)); + $dir = strtr($dir, "\\", "/"); + $dir = str_replace('//','/',$dir); + // strip trailing directory seperator + if (substr($dir,-1) == "/" || substr($dir,-1) == "\\") + { + $dir = substr($dir,0,-1); + } + $file = strtr(realpath($file), "\\", "/"); + $file = str_replace('//','/',$file); + + if (!$this->setup->checkIgnore(basename($file),dirname($file),$this->ignore_files)) + { + $filelist[] = str_replace('\\','/',$file); + } else { + phpDocumentor_out("File $file Ignored\n"); + flush(); + } + } + } else + { + $dir = dirname(realpath($file)); + $dir = strtr($dir, "\\", "/"); + $dir = str_replace('//','/',$dir); + // strip trailing directory seperator + if (substr($dir,-1) == "/" || substr($dir,-1) == "\\") + { + $dir = substr($dir,0,-1); + } + $base = count(explode("/",$dir)); + $file = strtr(realpath($file), "\\", "/"); + $file = str_replace('//','/',$file); + flush(); + + if (!$this->setup->checkIgnore(basename($file),dirname($file),$this->ignore_files)) + { + $filelist[] = str_replace('\\','/',$file); + } else { + phpDocumentor_out("File $file Ignored\n"); + flush(); + } + } + } + } + if (!empty($this->dirs)) + { + $dirs = explode(",",$this->dirs); + foreach($dirs as $dir) + { + $olddir = $dir; + $dir = realpath($dir); + if (!$dir) { + phpDocumentor_out('ERROR: "' . $olddir . '" does not exist, skipping'); + continue; + } + $dir = trim($dir); + $dir = strtr($dir, "\\", "/"); + $dir = str_replace('//','/',$dir); + // strip trailing directory seperator + if (substr($dir,-1) == "/" || substr($dir,-1) == "\\") + { + $dir = substr($dir,0,-1); + } + $files = $this->setup->dirList($dir,$this->hidden); + if (is_array($files)) + { + foreach($files as $file) + { + // Make sure the file isn't a hidden file + $file = strtr($file, "\\", "/"); + if (substr(basename($file),0,1) != ".") + { + if (!$this->setup->checkIgnore(basename($file),str_replace('\\','/',dirname($file)),$this->ignore_files)) + { + $filelist[] = str_replace('\\','/',$file); + } else { + phpDocumentor_out("File $file Ignored\n"); + flush(); + } + } + } + } + } + } + if (isset($filelist)) + { + if (PHPDOCUMENTOR_WINDOWS) + { + // case insensitive array_unique + usort($filelist,'strnatcasecmp'); + reset($filelist); + + $newarray = array(); + $i = 0; + + $element = current($filelist); + for ($n=0;$nsetup->getBase($filelist))); + define("PHPDOCUMENTOR_BASE",$source_base); + list($filelist,$ric) = $this->setup->getReadmeInstallChangelog($source_base, $filelist); + phpDocumentor_out("\n\nGrabbing README/INSTALL/CHANGELOG\n"); + flush(); + foreach($ric as $file) + { + phpDocumentor_out(basename($file).'...'); + flush(); + $fp = fopen($file,'r'); + $contents = fread($fp,filesize($file)); + $this->render->HandleEvent(PHPDOCUMENTOR_EVENT_README_INSTALL_CHANGELOG, array(basename($file),$contents)); + fclose($fp); + } + phpDocumentor_out("\ndone\n"); + flush(); + list($filelist,$tutorials) = $this->setup->getTutorials($filelist); + phpDocumentor_out("\n\nTutorial/Extended Documentation Parsing Stage\n\n"); + flush(); + if (count($tutorials)) + { + $tuteparser = new XMLPackagePageParser; + $tuteparser->subscribe('*',$this->render); + foreach($tutorials as $tutorial) + { + switch($tutorial['tutetype']) + { + case 'pkg' : + case 'cls' : + case 'proc' : + switch($tutorial['tutetype']) + { + case 'pkg' : + $ptext = 'Package-level Docs '; + if (!empty($tutorial['subpackage'])) + $ptext = 'Sub-Package Docs '; + break; + case 'cls' : + $ptext = 'Class-level Docs '; + break; + case 'proc' : + $ptext = 'Procedural-level Docs '; + break; + } + $fp = @fopen($tutorial['path'],"r"); + if ($fp) + { + $ret = fread($fp,filesize($tutorial['path'])); + // fix 1151650 + if (stristr($ret, "utf-8") !== "") + { + $ret = utf8_decode($ret); + } + fclose($fp); + unset($fp); + phpDocumentor_out('Parsing '.$ptext.$tutorial['path'].'...'); + flush(); + $tuteparser->parse($ret,$tutorial); + phpDocumentor_out("done\n"); + flush(); + } else + { + phpDocumentor_out('Error '.$ptext.$tutorial['path'].' doesn\'t exist'."\n"); + flush(); + } + default : + break; + } + } + } + phpDocumentor_out("done\n"); + flush(); + phpDocumentor_out("\n\nGeneral Parsing Stage\n\n"); + flush(); + foreach($filelist as $file) + { + phpDocumentor_out("Reading file $file"); + flush(); + $this->parse->parse($a = $this->setup->readPhpFile($file, $this->render->quietMode),$file,$base,$this->packages); + + } + $b = (time() - $this->parse_start_time); + phpDocumentor_out("done\n"); + flush(); + // render output + phpDocumentor_out("\nConverting From Abstract Parsed Data\n"); + flush(); + $this->render->output(); + $a = (time() - $this->parse_start_time); + $c = ($a - $b); + phpDocumentor_out("\nParsing time: $b seconds\n"); + phpDocumentor_out("\nConversion time: $c seconds\n"); + phpDocumentor_out("\nTotal Documentation Time: $a seconds\n"); + phpDocumentor_out("done\n"); + flush(); + } else + { + print "ERROR: nothing parsed"; + exit; + } + } + /** + * Parse configuration file phpDocumentor.ini + */ + function parseIni() + { + phpDocumentor_out("Parsing configuration file phpDocumentor.ini..."); + flush(); + if ('@DATA-DIR@' != '@'.'DATA-DIR@') + { + $options = phpDocumentor_parse_ini_file(str_replace('\\','/', '@DATA-DIR@/PhpDocumentor') . PATH_DELIMITER . 'phpDocumentor.ini',true); + } else { + $options = phpDocumentor_parse_ini_file(str_replace('\\','/',$GLOBALS['_phpDocumentor_install_dir']) . PATH_DELIMITER . 'phpDocumentor.ini',true); + } + + if (!$options) + { + print "ERROR: cannot open phpDocumentor.ini in directory " . $GLOBALS['_phpDocumentor_install_dir']."\n"; + print "-Is phpdoc in either the path or include_path in your php.ini file?"; + exit; + } + + foreach($options as $var => $values) + { + if ($var != 'DEBUG') + { +// phpDocumentor_out("\n$var"); + if ($var != '_phpDocumentor_setting' && $var != '_phpDocumentor_options' && $var != '_phpDocumentor_install_dir' ) $values = array_values($values); +// fancy_debug("\n$var",$values); + $GLOBALS[$var] = $values; + } + } + phpDocumentor_out("\ndone\n"); + flush(); + /** Debug Constant */ + if (!defined('PHPDOCUMENTOR_DEBUG')) define("PHPDOCUMENTOR_DEBUG",$options['DEBUG']['PHPDOCUMENTOR_DEBUG']); + if (!defined('PHPDOCUMENTOR_KILL_WHITESPACE')) define("PHPDOCUMENTOR_KILL_WHITESPACE",$options['DEBUG']['PHPDOCUMENTOR_KILL_WHITESPACE']); + $GLOBALS['_phpDocumentor_cvsphpfile_exts'] = $GLOBALS['_phpDocumentor_phpfile_exts']; + foreach($GLOBALS['_phpDocumentor_cvsphpfile_exts'] as $key => $val) + { + $GLOBALS['_phpDocumentor_cvsphpfile_exts'][$key] = "$val,v"; + } + // none of this stuff is used anymore + if (isset($GLOBALS['_phpDocumentor_html_allowed'])) + { + $___htmltemp = array_flip($GLOBALS['_phpDocumentor_html_allowed']); + $___html1 = array(); + foreach($___htmltemp as $tag => $trans) + { + $___html1['<'.$tag.'>'] = htmlentities('<'.$tag.'>'); + $___html1[''] = htmlentities(''); + } + $GLOBALS['phpDocumentor___html'] = array_flip($___html1); + } + } + + + function cleanConverterNamePiece($name, $extra_characters_to_allow = '') + { + $name = str_replace("\\", "/", $name); + // security: ensure no opportunity exists to use "../.." pathing in this value + $name = preg_replace('/[^a-zA-Z0-9' . $extra_characters_to_allow . '_]/', "", $name); + + // absolutely positively do NOT allow two consecutive dots ".." + if (strpos($name, '..') > -1) $name = false; + return $name; + } + + function setupConverters($output = false) + { + global $_phpDocumentor_setting; + if ($output) + { + $_phpDocumentor_setting['output'] = $output; + } + if (isset($_phpDocumentor_setting['output']) && !empty($_phpDocumentor_setting['output'])) + { + $c = explode(',',$_phpDocumentor_setting['output']); + for($i=0; $i< count($c); $i++) + { + $c[$i] = explode(':',$c[$i]); + $a = $c[$i][0]; + if (isset($c[$i][0])) + { + $a = $this->cleanConverterNamePiece($c[$i][0]); + } + else + { + $a = false; + } + if (isset($c[$i][1])) + { + $b = $this->cleanConverterNamePiece($c[$i][1], '\/'); // must allow "/" due to options like "DocBook/peardoc2" + } + else + { + $b = false; + } + if (isset($c[$i][2])) + { + /** + * must allow "." due to options like "phpdoc.de" + * must allow "/" due to options like "DOM/default" + */ + $d = $this->cleanConverterNamePiece($c[$i][2], '.\/'); + if (substr($d,-1) != "/") + { + $d .= "/"; + } + else + { + $d = 'default/'; + } + } + if (strtoupper(trim($a)) == 'HTML' && (trim($b) == 'default')) + { + phpDocumentor_out("WARNING: HTMLdefaultConverter is deprecated, using HTMLframesConverter.\n"); + phpDocumentor_out("WARNING: template output is identical, HTMLframes is more flexible.\n"); + phpDocumentor_out("WARNING: please adjust your usage\n"); + flush(); + $b = 'frames'; // change default to frames. + } + $this->render->addConverter(strtoupper(trim($a)),trim($b),trim($d)); + } + } else + { + $this->render->addConverter('HTML','frames','default/'); + } + if (empty($this->render->converters)) addErrorDie(PDERROR_NO_CONVERTERS); + } +} + +/** + * Fuzzy logic to interpret the boolean args' intent + * @param string the command-line option to analyze + * @return boolean our best guess of the value's boolean intent + */ +function decideOnOrOff($value_to_guess = 'NO VALUE WAS PASSED') +{ + $these_probably_mean_yes = array( + '', // "--hidden" with no value + 'on', // "--hidden on" + 'y', 'yes', // "--hidden y" + 'true', // "--hidden true" + '1' // "--hidden 1" + ); + $best_guess = false; // default to "false", "off", "no", "take a hike" + + if (in_array(strtolower(trim($value_to_guess)), $these_probably_mean_yes)) + { + $best_guess = true; + } + return $best_guess; +} + +/** + * Print parse information if quiet setting is off + */ +function phpDocumentor_out($string) +{ + global $_phpDocumentor_setting; + if ((isset($_phpDocumentor_setting['quiet'])) ? !decideOnOrOff($_phpDocumentor_setting['quiet']) : true) + { + print $string; + } + +} + +/** + * Crash in case of known, dangerous bug condition + * + * Checks the PHP version that is executing PhpDocumentor, + * in case a known PHP/PEAR bug condition could be triggered + * by the PhpDocumentor execution. + * @param string $php_version the PHP version that contains the bug + * @param string $php_bug_number the PHP bug number (if any) + * @param string $pear_bug_number the PEAR bug number (if any) + */ +function checkForBugCondition($php_version, $php_bug_number = 'none', $pear_bug_number = 'none') +{ + if (version_compare(phpversion(), $php_version) == 0) + { + addErrorDie(PDERROR_DANGEROUS_PHP_BUG_EXISTS, $php_version, $php_bug_number, $pear_bug_number); + } +} +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Config_File.class.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Config_File.class.php index 0b01559f9a..43248cd8e9 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Config_File.class.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Config_File.class.php @@ -1,365 +1,365 @@ - - * @access public - * @package Smarty - */ - -/* $Id$ */ -/** - * Config file reading class - * @package Smarty - */ -class Config_File { - /**#@+ - * Options - * @var boolean - */ - /** - * Controls whether variables with the same name overwrite each other. - */ - var $overwrite = true; - - /** - * Controls whether config values of on/true/yes and off/false/no get - * converted to boolean values automatically. - */ - var $booleanize = true; - - /** - * Controls whether hidden config sections/vars are read from the file. - */ - var $read_hidden = true; - - /** - * Controls whether or not to fix mac or dos formatted newlines. - * If set to true, \r or \r\n will be changed to \n. - */ - var $fix_newlines = true; - /**#@-*/ - - /** @access private */ - var $_config_path = ""; - var $_config_data = array(); - /**#@-*/ - - /** - * Constructs a new config file class. - * - * @param string $config_path (optional) path to the config files - */ - function Config_File($config_path = NULL) - { - if (isset($config_path)) - $this->set_path($config_path); - } - - - /** - * Set the path where configuration files can be found. - * - * @param string $config_path path to the config files - */ - function set_path($config_path) - { - if (!empty($config_path)) { - if (!is_string($config_path) || !file_exists($config_path) || !is_dir($config_path)) { - $this->_trigger_error_msg("Bad config file path '$config_path'"); - return; - } - if(substr($config_path, -1) != DIRECTORY_SEPARATOR) { - $config_path .= DIRECTORY_SEPARATOR; - } - - $this->_config_path = $config_path; - } - } - - - /** - * Retrieves config info based on the file, section, and variable name. - * - * @param string $file_name config file to get info for - * @param string $section_name (optional) section to get info for - * @param string $var_name (optional) variable to get info for - * @return string|array a value or array of values - */ - function &get($file_name, $section_name = NULL, $var_name = NULL) - { - if (empty($file_name)) { - $this->_trigger_error_msg('Empty config file name'); - return; - } else { - $file_name = $this->_config_path . $file_name; - if (!isset($this->_config_data[$file_name])) - $this->load_file($file_name, false); - } - - if (!empty($var_name)) { - if (empty($section_name)) { - return $this->_config_data[$file_name]["vars"][$var_name]; - } else { - if(isset($this->_config_data[$file_name]["sections"][$section_name]["vars"][$var_name])) - return $this->_config_data[$file_name]["sections"][$section_name]["vars"][$var_name]; - else - return array(); - } - } else { - if (empty($section_name)) { - return (array)$this->_config_data[$file_name]["vars"]; - } else { - if(isset($this->_config_data[$file_name]["sections"][$section_name]["vars"])) - return (array)$this->_config_data[$file_name]["sections"][$section_name]["vars"]; - else - return array(); - } - } - } - - - /** - * Retrieves config info based on the key. - * - * @param $file_name string config key (filename/section/var) - * @return string|array same as get() - * @uses get() retrieves information from config file and returns it - */ - function &get_key($config_key) - { - list($file_name, $section_name, $var_name) = explode('/', $config_key, 3); - $result = &$this->get($file_name, $section_name, $var_name); - return $result; - } - - /** - * Get all loaded config file names. - * - * @return array an array of loaded config file names - */ - function get_file_names() - { - return array_keys($this->_config_data); - } - - - /** - * Get all section names from a loaded file. - * - * @param string $file_name config file to get section names from - * @return array an array of section names from the specified file - */ - function get_section_names($file_name) - { - $file_name = $this->_config_path . $file_name; - if (!isset($this->_config_data[$file_name])) { - $this->_trigger_error_msg("Unknown config file '$file_name'"); - return; - } - - return array_keys($this->_config_data[$file_name]["sections"]); - } - - - /** - * Get all global or section variable names. - * - * @param string $file_name config file to get info for - * @param string $section_name (optional) section to get info for - * @return array an array of variables names from the specified file/section - */ - function get_var_names($file_name, $section = NULL) - { - if (empty($file_name)) { - $this->_trigger_error_msg('Empty config file name'); - return; - } else if (!isset($this->_config_data[$file_name])) { - $this->_trigger_error_msg("Unknown config file '$file_name'"); - return; - } - - if (empty($section)) - return array_keys($this->_config_data[$file_name]["vars"]); - else - return array_keys($this->_config_data[$file_name]["sections"][$section]["vars"]); - } - - - /** - * Clear loaded config data for a certain file or all files. - * - * @param string $file_name file to clear config data for - */ - function clear($file_name = NULL) - { - if ($file_name === NULL) - $this->_config_data = array(); - else if (isset($this->_config_data[$file_name])) - $this->_config_data[$file_name] = array(); - } - - - /** - * Load a configuration file manually. - * - * @param string $file_name file name to load - * @param boolean $prepend_path whether current config path should be - * prepended to the filename - */ - function load_file($file_name, $prepend_path = true) - { - if ($prepend_path && $this->_config_path != "") - $config_file = $this->_config_path . $file_name; - else - $config_file = $file_name; - - ini_set('track_errors', true); - $fp = @fopen($config_file, "r"); - if (!is_resource($fp)) { - $this->_trigger_error_msg("Could not open config file '$config_file'"); - return false; - } - - $contents = fread($fp, filesize($config_file)); - fclose($fp); - - if($this->fix_newlines) { - // fix mac/dos formatted newlines - $contents = preg_replace('!\r\n?!',"\n",$contents); - } - - $config_data = array(); - - /* replace all multi-line values by placeholders */ - if (preg_match_all('/"""(.*)"""/Us', $contents, $match)) { - $_triple_quotes = $match[1]; - $_i = 0; - $contents = preg_replace('/""".*"""/Use', '"\x1b\x1b\x1b".$_i++."\x1b\x1b\x1b"', $contents); - } else { - $_triple_quotes = null; - } - - /* Get global variables first. */ - if ($contents{0} != '[' && preg_match("/^(.*?)(\n\[|\Z)/s", $contents, $match)) - $config_data["vars"] = $this->_parse_config_block($match[1], $_triple_quotes); - - /* Get section variables. */ - $config_data["sections"] = array(); - preg_match_all("/^\[(.*?)\]/m", $contents, $match); - foreach ($match[1] as $section) { - if ($section{0} == '.' && !$this->read_hidden) - continue; - if (preg_match("/\[".preg_quote($section, '/')."\](.*?)(\n\[|\Z)/s", $contents, $match)) - if ($section{0} == '.') - $section = substr($section, 1); - $config_data["sections"][$section]["vars"] = $this->_parse_config_block($match[1], $_triple_quotes); - } - - $this->_config_data[$config_file] = $config_data; - - return true; - } - - /**#@+ @access private */ - /** - * @var string $config_block - */ - function _parse_config_block($config_block, $triple_quotes) - { - $vars = array(); - - /* First we grab the multi-line values. */ - if (preg_match_all("/^([^=\n]+)=\s*\x1b\x1b\x1b(\d+)\x1b\x1b\x1b\s*$/ms", $config_block, $match, PREG_SET_ORDER)) { - for ($i = 0; $i < count($match); $i++) { - $this->_set_config_var($vars, trim($match[$i][1]), $triple_quotes[$match[$i][2]], false); - } - $config_block = preg_replace("/^[^=\n]+=\s*\x1b\x1b\x1b\d+\x1b\x1b\x1b\s*$/ms", "", $config_block); - } - - - $config_lines = preg_split("/\n+/", $config_block); - - foreach ($config_lines as $line) { - if (preg_match("/^\s*(\.?\w+)\s*=(.*)/", $line, $match)) { - $var_value = preg_replace('/^([\'"])(.*)\1$/', '\2', trim($match[2])); - $this->_set_config_var($vars, trim($match[1]), $var_value, $this->booleanize); - } - } - - return $vars; - } - - /** - * @param array &$container - * @param string $var_name - * @param mixed $var_value - * @param boolean $booleanize determines whether $var_value is converted to - * to true/false - */ - function _set_config_var(&$container, $var_name, $var_value, $booleanize) - { - if ($var_name{0} == '.') { - if (!$this->read_hidden) - return; - else - $var_name = substr($var_name, 1); - } - - if (!preg_match("/^[a-zA-Z_]\w*$/", $var_name)) { - $this->_trigger_error_msg("Bad variable name '$var_name'"); - return; - } - - if ($booleanize) { - if (preg_match("/^(on|true|yes)$/i", $var_value)) - $var_value = true; - else if (preg_match("/^(off|false|no)$/i", $var_value)) - $var_value = false; - } - - if (!isset($container[$var_name]) || $this->overwrite) - $container[$var_name] = $var_value; - else { - settype($container[$var_name], 'array'); - $container[$var_name][] = $var_value; - } - } - - /** - * @uses trigger_error() creates a PHP warning/error - * @param string $error_msg - * @param integer $error_type one of - */ - function _trigger_error_msg($error_msg, $error_type = E_USER_WARNING) - { - trigger_error("Config_File error: $error_msg", $error_type); - } - /**#@-*/ -} - -?> + + * @access public + * @package Smarty + */ + +/* $Id$ */ +/** + * Config file reading class + * @package Smarty + */ +class Config_File { + /**#@+ + * Options + * @var boolean + */ + /** + * Controls whether variables with the same name overwrite each other. + */ + var $overwrite = true; + + /** + * Controls whether config values of on/true/yes and off/false/no get + * converted to boolean values automatically. + */ + var $booleanize = true; + + /** + * Controls whether hidden config sections/vars are read from the file. + */ + var $read_hidden = true; + + /** + * Controls whether or not to fix mac or dos formatted newlines. + * If set to true, \r or \r\n will be changed to \n. + */ + var $fix_newlines = true; + /**#@-*/ + + /** @access private */ + var $_config_path = ""; + var $_config_data = array(); + /**#@-*/ + + /** + * Constructs a new config file class. + * + * @param string $config_path (optional) path to the config files + */ + function Config_File($config_path = NULL) + { + if (isset($config_path)) + $this->set_path($config_path); + } + + + /** + * Set the path where configuration files can be found. + * + * @param string $config_path path to the config files + */ + function set_path($config_path) + { + if (!empty($config_path)) { + if (!is_string($config_path) || !file_exists($config_path) || !is_dir($config_path)) { + $this->_trigger_error_msg("Bad config file path '$config_path'"); + return; + } + if(substr($config_path, -1) != DIRECTORY_SEPARATOR) { + $config_path .= DIRECTORY_SEPARATOR; + } + + $this->_config_path = $config_path; + } + } + + + /** + * Retrieves config info based on the file, section, and variable name. + * + * @param string $file_name config file to get info for + * @param string $section_name (optional) section to get info for + * @param string $var_name (optional) variable to get info for + * @return string|array a value or array of values + */ + function &get($file_name, $section_name = NULL, $var_name = NULL) + { + if (empty($file_name)) { + $this->_trigger_error_msg('Empty config file name'); + return; + } else { + $file_name = $this->_config_path . $file_name; + if (!isset($this->_config_data[$file_name])) + $this->load_file($file_name, false); + } + + if (!empty($var_name)) { + if (empty($section_name)) { + return $this->_config_data[$file_name]["vars"][$var_name]; + } else { + if(isset($this->_config_data[$file_name]["sections"][$section_name]["vars"][$var_name])) + return $this->_config_data[$file_name]["sections"][$section_name]["vars"][$var_name]; + else + return array(); + } + } else { + if (empty($section_name)) { + return (array)$this->_config_data[$file_name]["vars"]; + } else { + if(isset($this->_config_data[$file_name]["sections"][$section_name]["vars"])) + return (array)$this->_config_data[$file_name]["sections"][$section_name]["vars"]; + else + return array(); + } + } + } + + + /** + * Retrieves config info based on the key. + * + * @param $file_name string config key (filename/section/var) + * @return string|array same as get() + * @uses get() retrieves information from config file and returns it + */ + function &get_key($config_key) + { + list($file_name, $section_name, $var_name) = explode('/', $config_key, 3); + $result = &$this->get($file_name, $section_name, $var_name); + return $result; + } + + /** + * Get all loaded config file names. + * + * @return array an array of loaded config file names + */ + function get_file_names() + { + return array_keys($this->_config_data); + } + + + /** + * Get all section names from a loaded file. + * + * @param string $file_name config file to get section names from + * @return array an array of section names from the specified file + */ + function get_section_names($file_name) + { + $file_name = $this->_config_path . $file_name; + if (!isset($this->_config_data[$file_name])) { + $this->_trigger_error_msg("Unknown config file '$file_name'"); + return; + } + + return array_keys($this->_config_data[$file_name]["sections"]); + } + + + /** + * Get all global or section variable names. + * + * @param string $file_name config file to get info for + * @param string $section_name (optional) section to get info for + * @return array an array of variables names from the specified file/section + */ + function get_var_names($file_name, $section = NULL) + { + if (empty($file_name)) { + $this->_trigger_error_msg('Empty config file name'); + return; + } else if (!isset($this->_config_data[$file_name])) { + $this->_trigger_error_msg("Unknown config file '$file_name'"); + return; + } + + if (empty($section)) + return array_keys($this->_config_data[$file_name]["vars"]); + else + return array_keys($this->_config_data[$file_name]["sections"][$section]["vars"]); + } + + + /** + * Clear loaded config data for a certain file or all files. + * + * @param string $file_name file to clear config data for + */ + function clear($file_name = NULL) + { + if ($file_name === NULL) + $this->_config_data = array(); + else if (isset($this->_config_data[$file_name])) + $this->_config_data[$file_name] = array(); + } + + + /** + * Load a configuration file manually. + * + * @param string $file_name file name to load + * @param boolean $prepend_path whether current config path should be + * prepended to the filename + */ + function load_file($file_name, $prepend_path = true) + { + if ($prepend_path && $this->_config_path != "") + $config_file = $this->_config_path . $file_name; + else + $config_file = $file_name; + + ini_set('track_errors', true); + $fp = @fopen($config_file, "r"); + if (!is_resource($fp)) { + $this->_trigger_error_msg("Could not open config file '$config_file'"); + return false; + } + + $contents = fread($fp, filesize($config_file)); + fclose($fp); + + if($this->fix_newlines) { + // fix mac/dos formatted newlines + $contents = preg_replace('!\r\n?!',"\n",$contents); + } + + $config_data = array(); + + /* replace all multi-line values by placeholders */ + if (preg_match_all('/"""(.*)"""/Us', $contents, $match)) { + $_triple_quotes = $match[1]; + $_i = 0; + $contents = preg_replace('/""".*"""/Use', '"\x1b\x1b\x1b".$_i++."\x1b\x1b\x1b"', $contents); + } else { + $_triple_quotes = null; + } + + /* Get global variables first. */ + if ($contents{0} != '[' && preg_match("/^(.*?)(\n\[|\Z)/s", $contents, $match)) + $config_data["vars"] = $this->_parse_config_block($match[1], $_triple_quotes); + + /* Get section variables. */ + $config_data["sections"] = array(); + preg_match_all("/^\[(.*?)\]/m", $contents, $match); + foreach ($match[1] as $section) { + if ($section{0} == '.' && !$this->read_hidden) + continue; + if (preg_match("/\[".preg_quote($section, '/')."\](.*?)(\n\[|\Z)/s", $contents, $match)) + if ($section{0} == '.') + $section = substr($section, 1); + $config_data["sections"][$section]["vars"] = $this->_parse_config_block($match[1], $_triple_quotes); + } + + $this->_config_data[$config_file] = $config_data; + + return true; + } + + /**#@+ @access private */ + /** + * @var string $config_block + */ + function _parse_config_block($config_block, $triple_quotes) + { + $vars = array(); + + /* First we grab the multi-line values. */ + if (preg_match_all("/^([^=\n]+)=\s*\x1b\x1b\x1b(\d+)\x1b\x1b\x1b\s*$/ms", $config_block, $match, PREG_SET_ORDER)) { + for ($i = 0; $i < count($match); $i++) { + $this->_set_config_var($vars, trim($match[$i][1]), $triple_quotes[$match[$i][2]], false); + } + $config_block = preg_replace("/^[^=\n]+=\s*\x1b\x1b\x1b\d+\x1b\x1b\x1b\s*$/ms", "", $config_block); + } + + + $config_lines = preg_split("/\n+/", $config_block); + + foreach ($config_lines as $line) { + if (preg_match("/^\s*(\.?\w+)\s*=(.*)/", $line, $match)) { + $var_value = preg_replace('/^([\'"])(.*)\1$/', '\2', trim($match[2])); + $this->_set_config_var($vars, trim($match[1]), $var_value, $this->booleanize); + } + } + + return $vars; + } + + /** + * @param array &$container + * @param string $var_name + * @param mixed $var_value + * @param boolean $booleanize determines whether $var_value is converted to + * to true/false + */ + function _set_config_var(&$container, $var_name, $var_value, $booleanize) + { + if ($var_name{0} == '.') { + if (!$this->read_hidden) + return; + else + $var_name = substr($var_name, 1); + } + + if (!preg_match("/^[a-zA-Z_]\w*$/", $var_name)) { + $this->_trigger_error_msg("Bad variable name '$var_name'"); + return; + } + + if ($booleanize) { + if (preg_match("/^(on|true|yes)$/i", $var_value)) + $var_value = true; + else if (preg_match("/^(off|false|no)$/i", $var_value)) + $var_value = false; + } + + if (!isset($container[$var_name]) || $this->overwrite) + $container[$var_name] = $var_value; + else { + settype($container[$var_name], 'array'); + $container[$var_name][] = $var_value; + } + } + + /** + * @uses trigger_error() creates a PHP warning/error + * @param string $error_msg + * @param integer $error_type one of + */ + function _trigger_error_msg($error_msg, $error_type = E_USER_WARNING) + { + trigger_error("Config_File error: $error_msg", $error_type); + } + /**#@-*/ +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty.class.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty.class.php index 1f9c04c904..aac22557cf 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty.class.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty.class.php @@ -1,2010 +1,2010 @@ - - * @author Andrei Zmievski - * @package Smarty - * @version 2.6.0 - */ - -/* $Id$ */ - -/** - * DIR_SEP isn't used anymore, but third party apps might - */ -if(!defined('DIR_SEP')) { - define('DIR_SEP', DIRECTORY_SEPARATOR); -} - -/** - * set SMARTY_DIR to absolute path to Smarty library files. - * if not defined, include_path will be used. Sets SMARTY_DIR only if user - * application has not already defined it. - */ - -if (!defined('SMARTY_DIR')) { - define('SMARTY_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR); -} - -define('SMARTY_PHP_PASSTHRU', 0); -define('SMARTY_PHP_QUOTE', 1); -define('SMARTY_PHP_REMOVE', 2); -define('SMARTY_PHP_ALLOW', 3); - -/** - * @package Smarty - */ -class Smarty -{ - /**#@+ - * Smarty Configuration Section - */ - - /** - * The name of the directory where templates are located. - * - * @var string - */ - var $template_dir = 'templates'; - - /** - * The directory where compiled templates are located. - * - * @var string - */ - var $compile_dir = 'templates_c'; - - /** - * The directory where config files are located. - * - * @var string - */ - var $config_dir = 'configs'; - - /** - * An array of directories searched for plugins. - * - * @var array - */ - var $plugins_dir = array('plugins'); - - /** - * If debugging is enabled, a debug console window will display - * when the page loads (make sure your browser allows unrequested - * popup windows) - * - * @var boolean - */ - var $debugging = false; - - /** - * This is the path to the debug console template. If not set, - * the default one will be used. - * - * @var string - */ - var $debug_tpl = ''; - - /** - * This determines if debugging is enable-able from the browser. - *
            - *
          • NONE => no debugging control allowed
          • - *
          • URL => enable debugging when SMARTY_DEBUG is found in the URL.
          • - *
          - * @link http://www.foo.dom/index.php?SMARTY_DEBUG - * @var string - */ - var $debugging_ctrl = 'NONE'; - - /** - * This tells Smarty whether to check for recompiling or not. Recompiling - * does not need to happen unless a template or config file is changed. - * Typically you enable this during development, and disable for - * production. - * - * @var boolean - */ - var $compile_check = true; - - /** - * This forces templates to compile every time. Useful for development - * or debugging. - * - * @var boolean - */ - var $force_compile = false; - - /** - * This enables template caching. - *
            - *
          • 0 = no caching
          • - *
          • 1 = use class cache_lifetime value
          • - *
          • 2 = use cache_lifetime in cache file
          • - *
          - * @var integer - */ - var $caching = 0; - - /** - * The name of the directory for cache files. - * - * @var string - */ - var $cache_dir = 'cache'; - - /** - * This is the number of seconds cached content will persist. - *
            - *
          • 0 = always regenerate cache
          • - *
          • -1 = never expires
          • - *
          - * - * @var integer - */ - var $cache_lifetime = 3600; - - /** - * Only used when $caching is enabled. If true, then If-Modified-Since headers - * are respected with cached content, and appropriate HTTP headers are sent. - * This way repeated hits to a cached page do not send the entire page to the - * client every time. - * - * @var boolean - */ - var $cache_modified_check = false; - - /** - * This determines how Smarty handles "" tags in templates. - * possible values: - *
            - *
          • SMARTY_PHP_PASSTHRU -> print tags as plain text
          • - *
          • SMARTY_PHP_QUOTE -> escape tags as entities
          • - *
          • SMARTY_PHP_REMOVE -> remove php tags
          • - *
          • SMARTY_PHP_ALLOW -> execute php tags
          • - *
          - * - * @var integer - */ - var $php_handling = SMARTY_PHP_PASSTHRU; - - /** - * This enables template security. When enabled, many things are restricted - * in the templates that normally would go unchecked. This is useful when - * untrusted parties are editing templates and you want a reasonable level - * of security. (no direct execution of PHP in templates for example) - * - * @var boolean - */ - var $security = false; - - /** - * This is the list of template directories that are considered secure. This - * is used only if {@link $security} is enabled. One directory per array - * element. {@link $template_dir} is in this list implicitly. - * - * @var array - */ - var $secure_dir = array(); - - /** - * These are the security settings for Smarty. They are used only when - * {@link $security} is enabled. - * - * @var array - */ - var $security_settings = array( - 'PHP_HANDLING' => false, - 'IF_FUNCS' => array('array', 'list', - 'isset', 'empty', - 'count', 'sizeof', - 'in_array', 'is_array', - 'true','false'), - 'INCLUDE_ANY' => false, - 'PHP_TAGS' => false, - 'MODIFIER_FUNCS' => array('count'), - 'ALLOW_CONSTANTS' => false - ); - - /** - * This is an array of directories where trusted php scripts reside. - * {@link $security} is disabled during their inclusion/execution. - * - * @var array - */ - var $trusted_dir = array(); - - /** - * The left delimiter used for the template tags. - * - * @var string - */ - var $left_delimiter = '{'; - - /** - * The right delimiter used for the template tags. - * - * @var string - */ - var $right_delimiter = '}'; - - /** - * The order in which request variables are registered, similar to - * variables_order in php.ini E = Environment, G = GET, P = POST, - * C = Cookies, S = Server - * - * @var string - */ - var $request_vars_order = "EGPCS"; - - /** - * Indicates wether $HTTP_*_VARS[] (request_use_auto_globals=false) - * are uses as request-vars or $_*[]-vars. note: if - * request_use_auto_globals is true, then $request_vars_order has - * no effect, but the php-ini-value "gpc_order" - * - * @var boolean - */ - var $request_use_auto_globals = false; - - /** - * Set this if you want different sets of compiled files for the same - * templates. This is useful for things like different languages. - * Instead of creating separate sets of templates per language, you - * set different compile_ids like 'en' and 'de'. - * - * @var string - */ - var $compile_id = null; - - /** - * This tells Smarty whether or not to use sub dirs in the cache/ and - * templates_c/ directories. sub directories better organized, but - * may not work well with PHP safe mode enabled. - * - * @var boolean - * - */ - var $use_sub_dirs = true; - - /** - * This is a list of the modifiers to apply to all template variables. - * Put each modifier in a separate array element in the order you want - * them applied. example: array('escape:"htmlall"'); - * - * @var array - */ - var $default_modifiers = array(); - - /** - * This is the resource type to be used when not specified - * at the beginning of the resource path. examples: - * $smarty->display('file:index.tpl'); - * $smarty->display('db:index.tpl'); - * $smarty->display('index.tpl'); // will use default resource type - * {include file="file:index.tpl"} - * {include file="db:index.tpl"} - * {include file="index.tpl"} {* will use default resource type *} - * - * @var array - */ - var $default_resource_type = 'file'; - - /** - * The function used for cache file handling. If not set, built-in caching is used. - * - * @var null|string function name - */ - var $cache_handler_func = null; - - /** - * These are the variables from the globals array that are - * assigned to all templates automatically. This isn't really - * necessary any more, you can use the $smarty var to access them - * directly. - * - * @var array - */ - var $global_assign = array('HTTP_SERVER_VARS' => array('SCRIPT_NAME')); - - /** - * The value of "undefined". Leave it alone :-) - * - * @var null - */ - var $undefined = null; - - /** - * This indicates which filters are automatically loaded into Smarty. - * - * @var array array of filter names - */ - var $autoload_filters = array(); - - /**#@+ - * @var boolean - */ - /** - * This tells if config file vars of the same name overwrite each other or not. - * if disabled, same name variables are accumulated in an array. - */ - var $config_overwrite = true; - - /** - * This tells whether or not to automatically booleanize config file variables. - * If enabled, then the strings "on", "true", and "yes" are treated as boolean - * true, and "off", "false" and "no" are treated as boolean false. - */ - var $config_booleanize = true; - - /** - * This tells whether hidden sections [.foobar] are readable from the - * tempalates or not. Normally you would never allow this since that is - * the point behind hidden sections: the application can access them, but - * the templates cannot. - */ - var $config_read_hidden = false; - - /** - * This tells whether or not automatically fix newlines in config files. - * It basically converts \r (mac) or \r\n (dos) to \n - */ - var $config_fix_newlines = true; - /**#@-*/ - - /** - * If a template cannot be found, this PHP function will be executed. - * Useful for creating templates on-the-fly or other special action. - * - * @var string function name - */ - var $default_template_handler_func = ''; - - /** - * The file that contains the compiler class. This can a full - * pathname, or relative to the php_include path. - * - * @var string - */ - var $compiler_file = 'Smarty_Compiler.class.php'; - - /** - * The class used for compiling templates. - * - * @var string - */ - var $compiler_class = 'Smarty_Compiler'; - - /** - * The class used to load config vars. - * - * @var string - */ - var $config_class = 'Config_File'; - -/**#@+ - * END Smarty Configuration Section - * There should be no need to touch anything below this line. - * @access private - */ - /** - * error messages. true/false - * - * @var boolean - */ - var $_error_msg = false; - - /** - * where assigned template vars are kept - * - * @var array - */ - var $_tpl_vars = array(); - - /** - * stores run-time $smarty.* vars - * - * @var null|array - */ - var $_smarty_vars = null; - - /** - * keeps track of sections - * - * @var array - */ - var $_sections = array(); - - /** - * keeps track of foreach blocks - * - * @var array - */ - var $_foreach = array(); - - /** - * keeps track of tag hierarchy - * - * @var array - */ - var $_tag_stack = array(); - - /** - * configuration object - * - * @var Config_file - */ - var $_conf_obj = null; - - /** - * loaded configuration settings - * - * @var array - */ - var $_config = array(array('vars' => array(), 'files' => array())); - - /** - * md5 checksum of the string 'Smarty' - * - * @var string - */ - var $_smarty_md5 = 'f8d698aea36fcbead2b9d5359ffca76f'; - - /** - * Smarty version number - * - * @var string - */ - var $_version = '2.6.0'; - - /** - * current template inclusion depth - * - * @var integer - */ - var $_inclusion_depth = 0; - - /** - * for different compiled templates - * - * @var string - */ - var $_compile_id = null; - - /** - * text in URL to enable debug mode - * - * @var string - */ - var $_smarty_debug_id = 'SMARTY_DEBUG'; - - /** - * debugging information for debug console - * - * @var array - */ - var $_smarty_debug_info = array(); - - /** - * info that makes up a cache file - * - * @var array - */ - var $_cache_info = array(); - - /** - * default file permissions - * - * @var integer - */ - var $_file_perms = 0644; - - /** - * default dir permissions - * - * @var integer - */ - var $_dir_perms = 0771; - - /** - * registered objects - * - * @var array - */ - var $_reg_objects = array(); - - /** - * table keeping track of plugins - * - * @var array - */ - var $_plugins = array( - 'modifier' => array(), - 'function' => array(), - 'block' => array(), - 'compiler' => array(), - 'prefilter' => array(), - 'postfilter' => array(), - 'outputfilter' => array(), - 'resource' => array(), - 'insert' => array()); - - - /** - * cache serials - * - * @var array - */ - var $_cache_serials = array(); - - /** - * name of optional cache include file - * - * @var string - */ - var $_cache_include = null; - - /** - * indicate if the current code is used in a compiled - * include - * - * @var string - */ - var $_cache_including = false; - - /**#@-*/ - /** - * The class constructor. - * - * @uses $global_assign uses {@link assign()} to assign each corresponding - * value from $GLOBALS to the template vars - */ - function Smarty() - { - foreach ($this->global_assign as $key => $var_name) { - if (is_array($var_name)) { - foreach ($var_name as $var) { - if (isset($GLOBALS[$key][$var])) { - $this->assign($var, $GLOBALS[$key][$var]); - } else { - $this->assign($var, $this->undefined); - } - } - } else { - if (isset($GLOBALS[$var_name])) { - $this->assign($var_name, $GLOBALS[$var_name]); - } else { - $this->assign($var_name, $this->undefined); - } - } - } - } - - - /** - * assigns values to template variables - * - * @param array|string $tpl_var the template variable name(s) - * @param mixed $value the value to assign - */ - function assign($tpl_var, $value = null) - { - if (is_array($tpl_var)){ - foreach ($tpl_var as $key => $val) { - if ($key != '') { - $this->_tpl_vars[$key] = $val; - } - } - } else { - if ($tpl_var != '') - $this->_tpl_vars[$tpl_var] = $value; - } - } - - /** - * assigns values to template variables by reference - * - * @param string $tpl_var the template variable name - * @param mixed $value the referenced value to assign - */ - function assign_by_ref($tpl_var, &$value) - { - if ($tpl_var != '') - $this->_tpl_vars[$tpl_var] = &$value; - } - - /** - * appends values to template variables - * - * @param array|string $tpl_var the template variable name(s) - * @param mixed $value the value to append - */ - function append($tpl_var, $value=null, $merge=false) - { - if (is_array($tpl_var)) { - // $tpl_var is an array, ignore $value - foreach ($tpl_var as $_key => $_val) { - if ($_key != '') { - if(!@is_array($this->_tpl_vars[$_key])) { - settype($this->_tpl_vars[$_key],'array'); - } - if($merge && is_array($_val)) { - foreach($_val as $_mkey => $_mval) { - $this->_tpl_vars[$_key][$_mkey] = $_mval; - } - } else { - $this->_tpl_vars[$_key][] = $_val; - } - } - } - } else { - if ($tpl_var != '' && isset($value)) { - if(!@is_array($this->_tpl_vars[$tpl_var])) { - settype($this->_tpl_vars[$tpl_var],'array'); - } - if($merge && is_array($value)) { - foreach($value as $_mkey => $_mval) { - $this->_tpl_vars[$tpl_var][$_mkey] = $_mval; - } - } else { - $this->_tpl_vars[$tpl_var][] = $value; - } - } - } - } - - /** - * appends values to template variables by reference - * - * @param string $tpl_var the template variable name - * @param mixed $value the referenced value to append - */ - function append_by_ref($tpl_var, &$value, $merge=false) - { - if ($tpl_var != '' && isset($value)) { - if(!@is_array($this->_tpl_vars[$tpl_var])) { - settype($this->_tpl_vars[$tpl_var],'array'); - } - if ($merge && is_array($value)) { - foreach($value as $_key => $_val) { - $this->_tpl_vars[$tpl_var][$_key] = &$value[$_key]; - } - } else { - $this->_tpl_vars[$tpl_var][] = &$value; - } - } - } - - - /** - * clear the given assigned template variable. - * - * @param string $tpl_var the template variable to clear - */ - function clear_assign($tpl_var) - { - if (is_array($tpl_var)) - foreach ($tpl_var as $curr_var) - unset($this->_tpl_vars[$curr_var]); - else - unset($this->_tpl_vars[$tpl_var]); - } - - - /** - * Registers custom function to be used in templates - * - * @param string $function the name of the template function - * @param string $function_impl the name of the PHP function to register - */ - function register_function($function, $function_impl, $cacheable=true, $cache_attrs=null) - { - $this->_plugins['function'][$function] = - array($function_impl, null, null, false, $cacheable, $cache_attrs); - - } - - /** - * Unregisters custom function - * - * @param string $function name of template function - */ - function unregister_function($function) - { - unset($this->_plugins['function'][$function]); - } - - /** - * Registers object to be used in templates - * - * @param string $object name of template object - * @param object &$object_impl the referenced PHP object to register - * @param null|array $allowed list of allowed methods (empty = all) - * @param boolean $smarty_args smarty argument format, else traditional - * @param null|array $block_functs list of methods that are block format - */ - function register_object($object, &$object_impl, $allowed = array(), $smarty_args = true, $block_methods = array()) - { - settype($allowed, 'array'); - settype($smarty_args, 'boolean'); - $this->_reg_objects[$object] = - array(&$object_impl, $allowed, $smarty_args, $block_methods); - } - - /** - * Unregisters object - * - * @param string $object name of template object - */ - function unregister_object($object) - { - unset($this->_reg_objects[$object]); - } - - - /** - * Registers block function to be used in templates - * - * @param string $block name of template block - * @param string $block_impl PHP function to register - */ - function register_block($block, $block_impl, $cacheable=true, $cache_attrs=null) - { - $this->_plugins['block'][$block] = - array($block_impl, null, null, false, $cacheable, $cache_attrs); - } - - /** - * Unregisters block function - * - * @param string $block name of template function - */ - function unregister_block($block) - { - unset($this->_plugins['block'][$block]); - } - - /** - * Registers compiler function - * - * @param string $function name of template function - * @param string $function_impl name of PHP function to register - */ - function register_compiler_function($function, $function_impl, $cacheable=true) - { - $this->_plugins['compiler'][$function] = - array($function_impl, null, null, false, $cacheable); - } - - /** - * Unregisters compiler function - * - * @param string $function name of template function - */ - function unregister_compiler_function($function) - { - unset($this->_plugins['compiler'][$function]); - } - - /** - * Registers modifier to be used in templates - * - * @param string $modifier name of template modifier - * @param string $modifier_impl name of PHP function to register - */ - function register_modifier($modifier, $modifier_impl) - { - $this->_plugins['modifier'][$modifier] = - array($modifier_impl, null, null, false); - } - - /** - * Unregisters modifier - * - * @param string $modifier name of template modifier - */ - function unregister_modifier($modifier) - { - unset($this->_plugins['modifier'][$modifier]); - } - - /** - * Registers a resource to fetch a template - * - * @param string $type name of resource - * @param array $functions array of functions to handle resource - */ - function register_resource($type, $functions) - { - if (count($functions)==4) { - $this->_plugins['resource'][$type] = - array($functions, false); - - } elseif (count($functions)==5) { - $this->_plugins['resource'][$type] = - array(array(array(&$functions[0], $functions[1]) - ,array(&$functions[0], $functions[2]) - ,array(&$functions[0], $functions[3]) - ,array(&$functions[0], $functions[4])) - ,false); - - } else { - $this->trigger_error("malformed function-list for '$type' in register_resource"); - - } - } - - /** - * Unregisters a resource - * - * @param string $type name of resource - */ - function unregister_resource($type) - { - unset($this->_plugins['resource'][$type]); - } - - /** - * Registers a prefilter function to apply - * to a template before compiling - * - * @param string $function name of PHP function to register - */ - function register_prefilter($function) - { - $_name = (is_array($function)) ? $function[1] : $function; - $this->_plugins['prefilter'][$_name] - = array($function, null, null, false); - } - - /** - * Unregisters a prefilter function - * - * @param string $function name of PHP function - */ - function unregister_prefilter($function) - { - unset($this->_plugins['prefilter'][$function]); - } - - /** - * Registers a postfilter function to apply - * to a compiled template after compilation - * - * @param string $function name of PHP function to register - */ - function register_postfilter($function) - { - $_name = (is_array($function)) ? $function[1] : $function; - $this->_plugins['postfilter'][$_name] - = array($function, null, null, false); - } - - /** - * Unregisters a postfilter function - * - * @param string $function name of PHP function - */ - function unregister_postfilter($function) - { - unset($this->_plugins['postfilter'][$function]); - } - - /** - * Registers an output filter function to apply - * to a template output - * - * @param string $function name of PHP function - */ - function register_outputfilter($function) - { - $_name = (is_array($function)) ? $function[1] : $function; - $this->_plugins['outputfilter'][$_name] - = array($function, null, null, false); - } - - /** - * Unregisters an outputfilter function - * - * @param string $function name of PHP function - */ - function unregister_outputfilter($function) - { - unset($this->_plugins['outputfilter'][$function]); - } - - /** - * load a filter of specified type and name - * - * @param string $type filter type - * @param string $name filter name - */ - function load_filter($type, $name) - { - switch ($type) { - case 'output': - $_params = array('plugins' => array(array($type . 'filter', $name, null, null, false))); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); - smarty_core_load_plugins($_params, $this); - break; - - case 'pre': - case 'post': - if (!isset($this->_plugins[$type . 'filter'][$name])) - $this->_plugins[$type . 'filter'][$name] = false; - break; - } - } - - /** - * clear cached content for the given template and cache id - * - * @param string $tpl_file name of template file - * @param string $cache_id name of cache_id - * @param string $compile_id name of compile_id - * @param string $exp_time expiration time - * @return boolean - */ - function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null) - { - - if (!isset($compile_id)) - $compile_id = $this->compile_id; - - if (!isset($tpl_file)) - $compile_id = null; - - $_auto_id = $this->_get_auto_id($cache_id, $compile_id); - - if (!empty($this->cache_handler_func)) { - return call_user_func_array($this->cache_handler_func, - array('clear', &$this, &$dummy, $tpl_file, $cache_id, $compile_id, $exp_time)); - } else { - $_params = array('auto_base' => $this->cache_dir, - 'auto_source' => $tpl_file, - 'auto_id' => $_auto_id, - 'exp_time' => $exp_time); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); - return smarty_core_rm_auto($_params, $this); - } - - } - - - /** - * clear the entire contents of cache (all templates) - * - * @param string $exp_time expire time - * @return boolean results of {@link smarty_core_rm_auto()} - */ - function clear_all_cache($exp_time = null) - { - if (!empty($this->cache_handler_func)) { - $dummy = null; - call_user_func_array($this->cache_handler_func, - array('clear', &$this, &$dummy, null, null, null, $exp_time)); - } else { - $_params = array('auto_base' => $this->cache_dir, - 'auto_source' => null, - 'auto_id' => null, - 'exp_time' => $exp_time); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); - return smarty_core_rm_auto($_params, $this); - } - } - - - /** - * test to see if valid cache exists for this template - * - * @param string $tpl_file name of template file - * @param string $cache_id - * @param string $compile_id - * @return string|false results of {@link _read_cache_file()} - */ - function is_cached($tpl_file, $cache_id = null, $compile_id = null) - { - if (!$this->caching) - return false; - - if (!isset($compile_id)) - $compile_id = $this->compile_id; - - $_params = array( - 'tpl_file' => $tpl_file, - 'cache_id' => $cache_id, - 'compile_id' => $compile_id - ); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.read_cache_file.php'); - return smarty_core_read_cache_file($_params, $this); - } - - - /** - * clear all the assigned template variables. - * - */ - function clear_all_assign() - { - $this->_tpl_vars = array(); - } - - /** - * clears compiled version of specified template resource, - * or all compiled template files if one is not specified. - * This function is for advanced use only, not normally needed. - * - * @param string $tpl_file - * @param string $compile_id - * @param string $exp_time - * @return boolean results of {@link smarty_core_rm_auto()} - */ - function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null) - { - if (!isset($compile_id)) { - $compile_id = $this->compile_id; - } - $_params = array('auto_base' => $this->compile_dir, - 'auto_source' => $tpl_file, - 'auto_id' => $compile_id, - 'exp_time' => $exp_time, - 'extensions' => array('.inc', '.php')); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); - return smarty_core_rm_auto($_params, $this); - } - - /** - * Checks whether requested template exists. - * - * @param string $tpl_file - * @return boolean - */ - function template_exists($tpl_file) - { - $_params = array('resource_name' => $tpl_file, 'quiet'=>true, 'get_source'=>false); - return $this->_fetch_resource_info($_params); - } - - /** - * Returns an array containing template variables - * - * @param string $name - * @param string $type - * @return array - */ - function &get_template_vars($name=null) - { - if(!isset($name)) { - return $this->_tpl_vars; - } - if(isset($this->_tpl_vars[$name])) { - return $this->_tpl_vars[$name]; - } - } - - /** - * Returns an array containing config variables - * - * @param string $name - * @param string $type - * @return array - */ - function &get_config_vars($name=null) - { - if(!isset($name) && is_array($this->_config[0])) { - return $this->_config[0]['vars']; - } else if(isset($this->_config[0]['vars'][$name])) { - return $this->_config[0]['vars'][$name]; - } - } - - /** - * trigger Smarty error - * - * @param string $error_msg - * @param integer $error_type - */ - function trigger_error($error_msg, $error_type = E_USER_WARNING) - { - trigger_error("Smarty error: $error_msg", $error_type); - } - - - /** - * executes & displays the template results - * - * @param string $resource_name - * @param string $cache_id - * @param string $compile_id - */ - function display($resource_name, $cache_id = null, $compile_id = null) - { - $this->fetch($resource_name, $cache_id, $compile_id, true); - } - - /** - * executes & returns or displays the template results - * - * @param string $resource_name - * @param string $cache_id - * @param string $compile_id - * @param boolean $display - */ - function fetch($resource_name, $cache_id = null, $compile_id = null, $display = false) - { - static $_cache_info = array(); - - $_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(error_reporting() & ~E_NOTICE); - - if (!$this->debugging && $this->debugging_ctrl == 'URL' - && @strstr($GLOBALS['HTTP_SERVER_VARS']['QUERY_STRING'], $this->_smarty_debug_id)) { - // enable debugging from URL - $this->debugging = true; - } - - if ($this->debugging) { - // capture time for debugging info - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $_debug_start_time = smarty_core_get_microtime($_params, $this); - $this->_smarty_debug_info[] = array('type' => 'template', - 'filename' => $resource_name, - 'depth' => 0); - $_included_tpls_idx = count($this->_smarty_debug_info) - 1; - } - - if (!isset($compile_id)) { - $compile_id = $this->compile_id; - } - - $this->_compile_id = $compile_id; - $this->_inclusion_depth = 0; - - if ($this->caching) { - // save old cache_info, initialize cache_info - array_push($_cache_info, $this->_cache_info); - $this->_cache_info = array(); - $_params = array( - 'tpl_file' => $resource_name, - 'cache_id' => $cache_id, - 'compile_id' => $compile_id, - 'results' => null - ); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.read_cache_file.php'); - if (smarty_core_read_cache_file($_params, $this)) { - $_smarty_results = $_params['results']; - if (@count($this->_cache_info['insert_tags'])) { - $_params = array('plugins' => $this->_cache_info['insert_tags']); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); - smarty_core_load_plugins($_params, $this); - $_params = array('results' => $_smarty_results); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.process_cached_inserts.php'); - $_smarty_results = smarty_core_process_cached_inserts($_params, $this); - } - if (@count($this->_cache_info['cache_serials'])) { - $_params = array('results' => $_smarty_results); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.process_compiled_include.php'); - $_smarty_results = smarty_core_process_compiled_include($_params, $this); - } - - - if ($display) { - if ($this->debugging) - { - // capture time for debugging info - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $this->_smarty_debug_info[$_included_tpls_idx]['exec_time'] = smarty_core_get_microtime($_params, $this) - $_debug_start_time; - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.display_debug_console.php'); - $_smarty_results .= smarty_core_display_debug_console($_params, $this); - } - if ($this->cache_modified_check) { - $_last_modified_date = @substr($GLOBALS['HTTP_SERVER_VARS']['HTTP_IF_MODIFIED_SINCE'], 0, strpos($GLOBALS['HTTP_SERVER_VARS']['HTTP_IF_MODIFIED_SINCE'], 'GMT') + 3); - $_gmt_mtime = gmdate('D, d M Y H:i:s', $this->_cache_info['timestamp']).' GMT'; - if (@count($this->_cache_info['insert_tags']) == 0 - && !$this->_cache_serials - && $_gmt_mtime == $_last_modified_date) { - if (php_sapi_name()=='cgi') - header("Status: 304 Not Modified"); - else - header("HTTP/1.1 304 Not Modified"); - - } else { - header("Last-Modified: ".$_gmt_mtime); - echo $_smarty_results; - } - } else { - echo $_smarty_results; - } - error_reporting($_smarty_old_error_level); - // restore initial cache_info - $this->_cache_info = array_pop($_cache_info); - return true; - } else { - error_reporting($_smarty_old_error_level); - // restore initial cache_info - $this->_cache_info = array_pop($_cache_info); - return $_smarty_results; - } - } else { - $this->_cache_info['template'][$resource_name] = true; - if ($this->cache_modified_check) { - header("Last-Modified: ".gmdate('D, d M Y H:i:s', time()).' GMT'); - } - } - } - - // load filters that are marked as autoload - if (count($this->autoload_filters)) { - foreach ($this->autoload_filters as $_filter_type => $_filters) { - foreach ($_filters as $_filter) { - $this->load_filter($_filter_type, $_filter); - } - } - } - - $_smarty_compile_path = $this->_get_compile_path($resource_name); - - // if we just need to display the results, don't perform output - // buffering - for speed - $_cache_including = $this->_cache_including; - $this->_cache_including = false; - if ($display && !$this->caching && count($this->_plugins['outputfilter']) == 0) { - if ($this->_is_compiled($resource_name, $_smarty_compile_path) - || $this->_compile_resource($resource_name, $_smarty_compile_path)) - { - include($_smarty_compile_path); - } - } else { - ob_start(); - if ($this->_is_compiled($resource_name, $_smarty_compile_path) - || $this->_compile_resource($resource_name, $_smarty_compile_path)) - { - include($_smarty_compile_path); - } - $_smarty_results = ob_get_contents(); - ob_end_clean(); - - foreach ((array)$this->_plugins['outputfilter'] as $_output_filter) { - $_smarty_results = call_user_func_array($_output_filter[0], array($_smarty_results, &$this)); - } - } - - if ($this->caching) { - $_params = array('tpl_file' => $resource_name, - 'cache_id' => $cache_id, - 'compile_id' => $compile_id, - 'results' => $_smarty_results); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_cache_file.php'); - smarty_core_write_cache_file($_params, $this); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.process_cached_inserts.php'); - $_smarty_results = smarty_core_process_cached_inserts($_params, $this); - - if ($this->_cache_serials) { - // strip nocache-tags from output - $_smarty_results = preg_replace('!(\{/?nocache\:[0-9a-f]{32}#\d+\})!s' - ,'' - ,$_smarty_results); - } - // restore initial cache_info - $this->_cache_info = array_pop($_cache_info); - } - $this->_cache_including = $_cache_including; - - if ($display) { - if (isset($_smarty_results)) { echo $_smarty_results; } - if ($this->debugging) { - // capture time for debugging info - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $this->_smarty_debug_info[$_included_tpls_idx]['exec_time'] = (smarty_core_get_microtime($_params, $this) - $_debug_start_time); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.display_debug_console.php'); - echo smarty_core_display_debug_console($_params, $this); - } - error_reporting($_smarty_old_error_level); - return; - } else { - error_reporting($_smarty_old_error_level); - if (isset($_smarty_results)) { return $_smarty_results; } - } - } - - /** - * load configuration values - * - * @param string $file - * @param string $section - * @param string $scope - */ - function config_load($file, $section = null, $scope = 'global') - { - require_once($this->_get_plugin_filepath('function', 'config_load')); - smarty_function_config_load(array('file' => $file, 'section' => $section, 'scope' => $scope), $this); - } - - /** - * return a reference to a registered object - * - * @param string $name - * @return object - */ - function &get_registered_object($name) { - if (!isset($this->_reg_objects[$name])) - $this->_trigger_fatal_error("'$name' is not a registered object"); - - if (!is_object($this->_reg_objects[$name][0])) - $this->_trigger_fatal_error("registered '$name' is not an object"); - - return $this->_reg_objects[$name][0]; - } - - /** - * clear configuration values - * - * @param string $var - */ - function clear_config($var = null) - { - if(!isset($var)) { - // clear all values - $this->_config = array(array('vars' => array(), - 'files' => array())); - } else { - unset($this->_config[0]['vars'][$var]); - } - } - - /** - * get filepath of requested plugin - * - * @param string $type - * @param string $name - * @return string|false - */ - function _get_plugin_filepath($type, $name) - { - $_params = array('type' => $type, 'name' => $name); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.assemble_plugin_filepath.php'); - return smarty_core_assemble_plugin_filepath($_params, $this); - } - - /** - * test if resource needs compiling - * - * @param string $resource_name - * @param string $compile_path - * @return boolean - */ - function _is_compiled($resource_name, $compile_path) - { - if (!$this->force_compile && file_exists($compile_path)) { - if (!$this->compile_check) { - // no need to check compiled file - return true; - } else { - // get file source and timestamp - $_params = array('resource_name' => $resource_name, 'get_source'=>false); - if (!$this->_fetch_resource_info($_params, $this)) { - return false; - } - if ($_params['resource_timestamp'] <= filemtime($compile_path)) { - // template not expired, no recompile - return true; - } else { - // compile template - return false; - } - } - } else { - // compiled template does not exist, or forced compile - return false; - } - } - - /** - * compile the template - * - * @param string $resource_name - * @param string $compile_path - * @return boolean - */ - function _compile_resource($resource_name, $compile_path) - { - - $_params = array('resource_name' => $resource_name); - if (!$this->_fetch_resource_info($_params)) { - return false; - } - - $_source_content = $_params['source_content']; - $_resource_timestamp = $_params['resource_timestamp']; - $_cache_include = substr($compile_path, 0, -4).'.inc'; - - if ($this->_compile_source($resource_name, $_source_content, $_compiled_content, $_cache_include)) { - // if a _cache_serial was set, we also have to write an include-file: - if ($this->_cache_include_info) { - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_include.php'); - smarty_core_write_compiled_include(array_merge($this->_cache_include_info, array('compiled_content'=>$_compiled_content)), $this); - } - - $_params = array('compile_path'=>$compile_path, 'compiled_content' => $_compiled_content, 'resource_timestamp' => $_resource_timestamp); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_resource.php'); - smarty_core_write_compiled_resource($_params, $this); - - return true; - } else { - $this->trigger_error($smarty_compiler->_error_msg); - return false; - } - - } - - /** - * compile the given source - * - * @param string $resource_name - * @param string $source_content - * @param string $compiled_content - * @return boolean - */ - function _compile_source($resource_name, &$source_content, &$compiled_content, $cache_include_path=null) - { - if (file_exists(SMARTY_DIR . $this->compiler_file)) { - require_once(SMARTY_DIR . $this->compiler_file); - } else { - // use include_path - require_once($this->compiler_file); - } - - - $smarty_compiler = new $this->compiler_class; - - $smarty_compiler->template_dir = $this->template_dir; - $smarty_compiler->compile_dir = $this->compile_dir; - $smarty_compiler->plugins_dir = $this->plugins_dir; - $smarty_compiler->config_dir = $this->config_dir; - $smarty_compiler->force_compile = $this->force_compile; - $smarty_compiler->caching = $this->caching; - $smarty_compiler->php_handling = $this->php_handling; - $smarty_compiler->left_delimiter = $this->left_delimiter; - $smarty_compiler->right_delimiter = $this->right_delimiter; - $smarty_compiler->_version = $this->_version; - $smarty_compiler->security = $this->security; - $smarty_compiler->secure_dir = $this->secure_dir; - $smarty_compiler->security_settings = $this->security_settings; - $smarty_compiler->trusted_dir = $this->trusted_dir; - $smarty_compiler->_reg_objects = &$this->_reg_objects; - $smarty_compiler->_plugins = &$this->_plugins; - $smarty_compiler->_tpl_vars = &$this->_tpl_vars; - $smarty_compiler->default_modifiers = $this->default_modifiers; - $smarty_compiler->compile_id = $this->_compile_id; - $smarty_compiler->_config = $this->_config; - $smarty_compiler->request_use_auto_globals = $this->request_use_auto_globals; - - $smarty_compiler->_cache_serial = null; - $smarty_compiler->_cache_include = $cache_include_path; - - - $_results = $smarty_compiler->_compile_file($resource_name, $source_content, $compiled_content); - - if ($smarty_compiler->_cache_serial) { - $this->_cache_include_info = array( - 'cache_serial'=>$smarty_compiler->_cache_serial - ,'plugins_code'=>$smarty_compiler->_plugins_code - ,'include_file_path' => $cache_include_path); - - } else { - $this->_cache_include_info = null; - - } - - return $_results; - } - - /** - * Get the compile path for this resource - * - * @param string $resource_name - * @return string results of {@link _get_auto_filename()} - */ - function _get_compile_path($resource_name) - { - return $this->_get_auto_filename($this->compile_dir, $resource_name, - $this->_compile_id) . '.php'; - } - - /** - * fetch the template info. Gets timestamp, and source - * if get_source is true - * - * sets $source_content to the source of the template, and - * $resource_timestamp to its time stamp - * @param string $resource_name - * @param string $source_content - * @param integer $resource_timestamp - * @param boolean $get_source - * @param boolean $quiet - * @return boolean - */ - - function _fetch_resource_info(&$params) - { - if(!isset($params['get_source'])) { $params['get_source'] = true; } - if(!isset($params['quiet'])) { $params['quiet'] = false; } - - $_return = false; - $_params = array('resource_name' => $params['resource_name']) ; - if (isset($params['resource_base_path'])) - $_params['resource_base_path'] = $params['resource_base_path']; - - if ($this->_parse_resource_name($_params)) { - $_resource_type = $_params['resource_type']; - $_resource_name = $_params['resource_name']; - switch ($_resource_type) { - case 'file': - if ($params['get_source']) { - $params['source_content'] = $this->_read_file($_resource_name); - } - $params['resource_timestamp'] = filemtime($_resource_name); - $_return = is_file($_resource_name); - break; - - default: - // call resource functions to fetch the template source and timestamp - if ($params['get_source']) { - $_source_return = isset($this->_plugins['resource'][$_resource_type]) && - call_user_func_array($this->_plugins['resource'][$_resource_type][0][0], - array($_resource_name, &$params['source_content'], &$this)); - } else { - $_source_return = true; - } - - $_timestamp_return = isset($this->_plugins['resource'][$_resource_type]) && - call_user_func_array($this->_plugins['resource'][$_resource_type][0][1], - array($_resource_name, &$params['resource_timestamp'], &$this)); - - $_return = $_source_return && $_timestamp_return; - break; - } - } - - if (!$_return) { - // see if we can get a template with the default template handler - if (!empty($this->default_template_handler_func)) { - if (!is_callable($this->default_template_handler_func)) { - $this->trigger_error("default template handler function \"$this->default_template_handler_func\" doesn't exist."); - } else { - $_return = call_user_func_array( - $this->default_template_handler_func, - array($_params['resource_type'], $_params['resource_name'], &$params['source_content'], &$params['resource_timestamp'], &$this)); - } - } - } - - if (!$_return) { - if (!$params['quiet']) { - $this->trigger_error('unable to read resource: "' . $params['resource_name'] . '"'); - } - } else if ($_return && $this->security) { - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); - if (!smarty_core_is_secure($_params, $this)) { - if (!$params['quiet']) - $this->trigger_error('(secure mode) accessing "' . $params['resource_name'] . '" is not allowed'); - $params['source_content'] = null; - $params['resource_timestamp'] = null; - return false; - } - } - return $_return; - } - - - /** - * parse out the type and name from the resource - * - * @param string $resource_base_path - * @param string $resource_name - * @param string $resource_type - * @param string $resource_name - * @return boolean - */ - - function _parse_resource_name(&$params) - { - - // split tpl_path by the first colon - $_resource_name_parts = explode(':', $params['resource_name'], 2); - - if (count($_resource_name_parts) == 1) { - // no resource type given - $params['resource_type'] = $this->default_resource_type; - $params['resource_name'] = $_resource_name_parts[0]; - } else { - if(strlen($_resource_name_parts[0]) == 1) { - // 1 char is not resource type, but part of filepath - $params['resource_type'] = $this->default_resource_type; - $params['resource_name'] = $params['resource_name']; - } else { - $params['resource_type'] = $_resource_name_parts[0]; - $params['resource_name'] = $_resource_name_parts[1]; - } - } - - if ($params['resource_type'] == 'file') { - if (!preg_match("/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/", $params['resource_name'])) { - // relative pathname to $params['resource_base_path'] - // use the first directory where the file is found - if (isset($params['resource_base_path'])) { - $_resource_base_path = (array)$params['resource_base_path']; - } else { - $_resource_base_path = (array)$this->template_dir; - $_resource_base_path[] = '.'; - } - foreach ($_resource_base_path as $_curr_path) { - $_fullpath = $_curr_path . DIRECTORY_SEPARATOR . $params['resource_name']; - if (file_exists($_fullpath) && is_file($_fullpath)) { - $params['resource_name'] = $_fullpath; - return true; - } - // didn't find the file, try include_path - $_params = array('file_path' => $_fullpath); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); - if(smarty_core_get_include_path($_params, $this)) { - $params['resource_name'] = $_params['new_file_path']; - return true; - } - } - return false; - } - } elseif (empty($this->_plugins['resource'][$params['resource_type']])) { - $_params = array('type' => $params['resource_type']); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_resource_plugin.php'); - smarty_core_load_resource_plugin($_params, $this); - } - - return true; - } - - - /** - * Handle modifiers - * - * @param string|null $modifier_name - * @param array|null $map_array - * @return string result of modifiers - */ - function _run_mod_handler() - { - $_args = func_get_args(); - list($_modifier_name, $_map_array) = array_splice($_args, 0, 2); - list($_func_name, $_tpl_file, $_tpl_line) = - $this->_plugins['modifier'][$_modifier_name]; - - $_var = $_args[0]; - foreach ($_var as $_key => $_val) { - $_args[0] = $_val; - $_var[$_key] = call_user_func_array($_func_name, $_args); - } - return $_var; - } - - /** - * Remove starting and ending quotes from the string - * - * @param string $string - * @return string - */ - function _dequote($string) - { - if (($string{0} == "'" || $string{0} == '"') && - $string{strlen($string)-1} == $string{0}) - return substr($string, 1, -1); - else - return $string; - } - - - /** - * read in a file from line $start for $lines. - * read the entire file if $start and $lines are null. - * - * @param string $filename - * @param integer $start - * @param integer $lines - * @return string - */ - function _read_file($filename, $start=null, $lines=null) - { - if (!($fd = @fopen($filename, 'r'))) { - return false; - } - flock($fd, LOCK_SH); - if ($start == null && $lines == null) { - // read the entire file - $contents = fread($fd, filesize($filename)); - } else { - if ( $start > 1 ) { - // skip the first lines before $start - for ($loop=1; $loop < $start; $loop++) { - fgets($fd, 65536); - } - } - if ( $lines == null ) { - // read the rest of the file - while (!feof($fd)) { - $contents .= fgets($fd, 65536); - } - } else { - // read up to $lines lines - for ($loop=0; $loop < $lines; $loop++) { - $contents .= fgets($fd, 65536); - if (feof($fd)) { - break; - } - } - } - } - fclose($fd); - return $contents; - } - - /** - * get a concrete filename for automagically created content - * - * @param string $auto_base - * @param string $auto_source - * @param string $auto_id - * @return string - * @staticvar string|null - * @staticvar string|null - */ - function _get_auto_filename($auto_base, $auto_source = null, $auto_id = null) - { - $_compile_dir_sep = $this->use_sub_dirs ? DIRECTORY_SEPARATOR : '^'; - - if(@is_dir($auto_base)) { - $_return = $auto_base . DIRECTORY_SEPARATOR; - } else { - // auto_base not found, try include_path - $_params = array('file_path' => $auto_base); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); - smarty_core_get_include_path($_params, $this); - $_return = isset($_params['new_file_path']) ? $_params['new_file_path'] . DIRECTORY_SEPARATOR : null; - } - - if(isset($auto_id)) { - // make auto_id safe for directory names - $auto_id = str_replace('%7C',$_compile_dir_sep,(urlencode($auto_id))); - // split into separate directories - $_return .= $auto_id . $_compile_dir_sep; - } - - if(isset($auto_source)) { - // make source name safe for filename - $_filename = urlencode(basename($auto_source)); - $_crc32 = crc32($auto_source) . $_compile_dir_sep; - // prepend %% to avoid name conflicts with - // with $params['auto_id'] names - $_crc32 = '%%' . substr($_crc32,0,3) . $_compile_dir_sep . '%%' . $_crc32; - $_return .= $_crc32 . $_filename; - } - - return $_return; - } - - /** - * unlink a file, possibly using expiration time - * - * @param string $resource - * @param integer $exp_time - */ - function _unlink($resource, $exp_time = null) - { - if(isset($exp_time)) { - if(time() - @filemtime($resource) >= $exp_time) { - return @unlink($resource); - } - } else { - return @unlink($resource); - } - } - - /** - * returns an auto_id for auto-file-functions - * - * @param string $cache_id - * @param string $compile_id - * @return string|null - */ - function _get_auto_id($cache_id=null, $compile_id=null) { - if (isset($cache_id)) - return (isset($compile_id)) ? $cache_id . '|' . $compile_id : $cache_id; - elseif(isset($compile_id)) - return $compile_id; - else - return null; - } - - /** - * trigger Smarty plugin error - * - * @param string $error_msg - * @param string $tpl_file - * @param integer $tpl_line - * @param string $file - * @param integer $line - * @param integer $error_type - */ - function _trigger_fatal_error($error_msg, $tpl_file = null, $tpl_line = null, - $file = null, $line = null, $error_type = E_USER_ERROR) - { - if(isset($file) && isset($line)) { - $info = ' ('.basename($file).", line $line)"; - } else { - $info = null; - } - if (isset($tpl_line) && isset($tpl_file)) { - trigger_error("Smarty error: [in " . $tpl_file . " line " . - $tpl_line . "]: $error_msg$info", $error_type); - } else { - trigger_error("Smarty error: $error_msg$info", $error_type); - } - } - - - /** - * callback function for preg_replace, to call a non-cacheable block - * @return string - */ - function _process_compiled_include_callback($match) { - $_func = '_smarty_tplfunc_'.$match[2].'_'.$match[3]; - ob_start(); - $_func($this); - $_ret = ob_get_contents(); - ob_end_clean(); - return $_ret; - } - - - /** - * called for included templates - * - * @param string $_smarty_include_tpl_file - * @param string $_smarty_include_vars - */ - - // $_smarty_include_tpl_file, $_smarty_include_vars - - function _smarty_include($params) - { - if ($this->debugging) { - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $debug_start_time = smarty_core_get_microtime($_params, $this); - $this->_smarty_debug_info[] = array('type' => 'template', - 'filename' => $params['smarty_include_tpl_file'], - 'depth' => ++$this->_inclusion_depth); - $included_tpls_idx = count($this->_smarty_debug_info) - 1; - } - - $this->_tpl_vars = array_merge($this->_tpl_vars, $params['smarty_include_vars']); - - // config vars are treated as local, so push a copy of the - // current ones onto the front of the stack - array_unshift($this->_config, $this->_config[0]); - - $_smarty_compile_path = $this->_get_compile_path($params['smarty_include_tpl_file']); - - - if ($this->_is_compiled($params['smarty_include_tpl_file'], $_smarty_compile_path) - || $this->_compile_resource($params['smarty_include_tpl_file'], $_smarty_compile_path)) - { - include($_smarty_compile_path); - } - - // pop the local vars off the front of the stack - array_shift($this->_config); - - $this->_inclusion_depth--; - - if ($this->debugging) { - // capture time for debugging info - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $this->_smarty_debug_info[$included_tpls_idx]['exec_time'] = smarty_core_get_microtime($_params, $this) - $debug_start_time; - } - - if ($this->caching) { - $this->_cache_info['template'][$params['smarty_include_tpl_file']] = true; - } - } - - - /** - * get or set an array of cached attributes for function that is - * not cacheable - * @return array - */ - function &_smarty_cache_attrs($cache_serial, $count) { - $_cache_attrs =& $this->_cache_info['cache_attrs'][$cache_serial][$count]; - - if ($this->_cache_including) { - /* return next set of cache_attrs */ - $_return =& current($_cache_attrs); - next($_cache_attrs); - return $_return; - - } else { - /* add a reference to a new set of cache_attrs */ - $_cache_attrs[] = array(); - return $_cache_attrs[count($_cache_attrs)-1]; - - } - - } - - - /** - * wrapper for include() retaining $this - * @return mixed - */ - function _include($filename, $once=false, $params=null) - { - if ($once) { - return include_once($filename); - } else { - return include($filename); - } - } - - - /** - * wrapper for eval() retaining $this - * @return mixed - */ - function _eval($code, $params=null) - { - return eval($code); - } - /**#@-*/ - -} - -/* vim: set expandtab: */ - -?> + + * @author Andrei Zmievski + * @package Smarty + * @version 2.6.0 + */ + +/* $Id$ */ + +/** + * DIR_SEP isn't used anymore, but third party apps might + */ +if(!defined('DIR_SEP')) { + define('DIR_SEP', DIRECTORY_SEPARATOR); +} + +/** + * set SMARTY_DIR to absolute path to Smarty library files. + * if not defined, include_path will be used. Sets SMARTY_DIR only if user + * application has not already defined it. + */ + +if (!defined('SMARTY_DIR')) { + define('SMARTY_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR); +} + +define('SMARTY_PHP_PASSTHRU', 0); +define('SMARTY_PHP_QUOTE', 1); +define('SMARTY_PHP_REMOVE', 2); +define('SMARTY_PHP_ALLOW', 3); + +/** + * @package Smarty + */ +class Smarty +{ + /**#@+ + * Smarty Configuration Section + */ + + /** + * The name of the directory where templates are located. + * + * @var string + */ + var $template_dir = 'templates'; + + /** + * The directory where compiled templates are located. + * + * @var string + */ + var $compile_dir = 'templates_c'; + + /** + * The directory where config files are located. + * + * @var string + */ + var $config_dir = 'configs'; + + /** + * An array of directories searched for plugins. + * + * @var array + */ + var $plugins_dir = array('plugins'); + + /** + * If debugging is enabled, a debug console window will display + * when the page loads (make sure your browser allows unrequested + * popup windows) + * + * @var boolean + */ + var $debugging = false; + + /** + * This is the path to the debug console template. If not set, + * the default one will be used. + * + * @var string + */ + var $debug_tpl = ''; + + /** + * This determines if debugging is enable-able from the browser. + *
            + *
          • NONE => no debugging control allowed
          • + *
          • URL => enable debugging when SMARTY_DEBUG is found in the URL.
          • + *
          + * @link http://www.foo.dom/index.php?SMARTY_DEBUG + * @var string + */ + var $debugging_ctrl = 'NONE'; + + /** + * This tells Smarty whether to check for recompiling or not. Recompiling + * does not need to happen unless a template or config file is changed. + * Typically you enable this during development, and disable for + * production. + * + * @var boolean + */ + var $compile_check = true; + + /** + * This forces templates to compile every time. Useful for development + * or debugging. + * + * @var boolean + */ + var $force_compile = false; + + /** + * This enables template caching. + *
            + *
          • 0 = no caching
          • + *
          • 1 = use class cache_lifetime value
          • + *
          • 2 = use cache_lifetime in cache file
          • + *
          + * @var integer + */ + var $caching = 0; + + /** + * The name of the directory for cache files. + * + * @var string + */ + var $cache_dir = 'cache'; + + /** + * This is the number of seconds cached content will persist. + *
            + *
          • 0 = always regenerate cache
          • + *
          • -1 = never expires
          • + *
          + * + * @var integer + */ + var $cache_lifetime = 3600; + + /** + * Only used when $caching is enabled. If true, then If-Modified-Since headers + * are respected with cached content, and appropriate HTTP headers are sent. + * This way repeated hits to a cached page do not send the entire page to the + * client every time. + * + * @var boolean + */ + var $cache_modified_check = false; + + /** + * This determines how Smarty handles "" tags in templates. + * possible values: + *
            + *
          • SMARTY_PHP_PASSTHRU -> print tags as plain text
          • + *
          • SMARTY_PHP_QUOTE -> escape tags as entities
          • + *
          • SMARTY_PHP_REMOVE -> remove php tags
          • + *
          • SMARTY_PHP_ALLOW -> execute php tags
          • + *
          + * + * @var integer + */ + var $php_handling = SMARTY_PHP_PASSTHRU; + + /** + * This enables template security. When enabled, many things are restricted + * in the templates that normally would go unchecked. This is useful when + * untrusted parties are editing templates and you want a reasonable level + * of security. (no direct execution of PHP in templates for example) + * + * @var boolean + */ + var $security = false; + + /** + * This is the list of template directories that are considered secure. This + * is used only if {@link $security} is enabled. One directory per array + * element. {@link $template_dir} is in this list implicitly. + * + * @var array + */ + var $secure_dir = array(); + + /** + * These are the security settings for Smarty. They are used only when + * {@link $security} is enabled. + * + * @var array + */ + var $security_settings = array( + 'PHP_HANDLING' => false, + 'IF_FUNCS' => array('array', 'list', + 'isset', 'empty', + 'count', 'sizeof', + 'in_array', 'is_array', + 'true','false'), + 'INCLUDE_ANY' => false, + 'PHP_TAGS' => false, + 'MODIFIER_FUNCS' => array('count'), + 'ALLOW_CONSTANTS' => false + ); + + /** + * This is an array of directories where trusted php scripts reside. + * {@link $security} is disabled during their inclusion/execution. + * + * @var array + */ + var $trusted_dir = array(); + + /** + * The left delimiter used for the template tags. + * + * @var string + */ + var $left_delimiter = '{'; + + /** + * The right delimiter used for the template tags. + * + * @var string + */ + var $right_delimiter = '}'; + + /** + * The order in which request variables are registered, similar to + * variables_order in php.ini E = Environment, G = GET, P = POST, + * C = Cookies, S = Server + * + * @var string + */ + var $request_vars_order = "EGPCS"; + + /** + * Indicates wether $HTTP_*_VARS[] (request_use_auto_globals=false) + * are uses as request-vars or $_*[]-vars. note: if + * request_use_auto_globals is true, then $request_vars_order has + * no effect, but the php-ini-value "gpc_order" + * + * @var boolean + */ + var $request_use_auto_globals = false; + + /** + * Set this if you want different sets of compiled files for the same + * templates. This is useful for things like different languages. + * Instead of creating separate sets of templates per language, you + * set different compile_ids like 'en' and 'de'. + * + * @var string + */ + var $compile_id = null; + + /** + * This tells Smarty whether or not to use sub dirs in the cache/ and + * templates_c/ directories. sub directories better organized, but + * may not work well with PHP safe mode enabled. + * + * @var boolean + * + */ + var $use_sub_dirs = true; + + /** + * This is a list of the modifiers to apply to all template variables. + * Put each modifier in a separate array element in the order you want + * them applied. example: array('escape:"htmlall"'); + * + * @var array + */ + var $default_modifiers = array(); + + /** + * This is the resource type to be used when not specified + * at the beginning of the resource path. examples: + * $smarty->display('file:index.tpl'); + * $smarty->display('db:index.tpl'); + * $smarty->display('index.tpl'); // will use default resource type + * {include file="file:index.tpl"} + * {include file="db:index.tpl"} + * {include file="index.tpl"} {* will use default resource type *} + * + * @var array + */ + var $default_resource_type = 'file'; + + /** + * The function used for cache file handling. If not set, built-in caching is used. + * + * @var null|string function name + */ + var $cache_handler_func = null; + + /** + * These are the variables from the globals array that are + * assigned to all templates automatically. This isn't really + * necessary any more, you can use the $smarty var to access them + * directly. + * + * @var array + */ + var $global_assign = array('HTTP_SERVER_VARS' => array('SCRIPT_NAME')); + + /** + * The value of "undefined". Leave it alone :-) + * + * @var null + */ + var $undefined = null; + + /** + * This indicates which filters are automatically loaded into Smarty. + * + * @var array array of filter names + */ + var $autoload_filters = array(); + + /**#@+ + * @var boolean + */ + /** + * This tells if config file vars of the same name overwrite each other or not. + * if disabled, same name variables are accumulated in an array. + */ + var $config_overwrite = true; + + /** + * This tells whether or not to automatically booleanize config file variables. + * If enabled, then the strings "on", "true", and "yes" are treated as boolean + * true, and "off", "false" and "no" are treated as boolean false. + */ + var $config_booleanize = true; + + /** + * This tells whether hidden sections [.foobar] are readable from the + * tempalates or not. Normally you would never allow this since that is + * the point behind hidden sections: the application can access them, but + * the templates cannot. + */ + var $config_read_hidden = false; + + /** + * This tells whether or not automatically fix newlines in config files. + * It basically converts \r (mac) or \r\n (dos) to \n + */ + var $config_fix_newlines = true; + /**#@-*/ + + /** + * If a template cannot be found, this PHP function will be executed. + * Useful for creating templates on-the-fly or other special action. + * + * @var string function name + */ + var $default_template_handler_func = ''; + + /** + * The file that contains the compiler class. This can a full + * pathname, or relative to the php_include path. + * + * @var string + */ + var $compiler_file = 'Smarty_Compiler.class.php'; + + /** + * The class used for compiling templates. + * + * @var string + */ + var $compiler_class = 'Smarty_Compiler'; + + /** + * The class used to load config vars. + * + * @var string + */ + var $config_class = 'Config_File'; + +/**#@+ + * END Smarty Configuration Section + * There should be no need to touch anything below this line. + * @access private + */ + /** + * error messages. true/false + * + * @var boolean + */ + var $_error_msg = false; + + /** + * where assigned template vars are kept + * + * @var array + */ + var $_tpl_vars = array(); + + /** + * stores run-time $smarty.* vars + * + * @var null|array + */ + var $_smarty_vars = null; + + /** + * keeps track of sections + * + * @var array + */ + var $_sections = array(); + + /** + * keeps track of foreach blocks + * + * @var array + */ + var $_foreach = array(); + + /** + * keeps track of tag hierarchy + * + * @var array + */ + var $_tag_stack = array(); + + /** + * configuration object + * + * @var Config_file + */ + var $_conf_obj = null; + + /** + * loaded configuration settings + * + * @var array + */ + var $_config = array(array('vars' => array(), 'files' => array())); + + /** + * md5 checksum of the string 'Smarty' + * + * @var string + */ + var $_smarty_md5 = 'f8d698aea36fcbead2b9d5359ffca76f'; + + /** + * Smarty version number + * + * @var string + */ + var $_version = '2.6.0'; + + /** + * current template inclusion depth + * + * @var integer + */ + var $_inclusion_depth = 0; + + /** + * for different compiled templates + * + * @var string + */ + var $_compile_id = null; + + /** + * text in URL to enable debug mode + * + * @var string + */ + var $_smarty_debug_id = 'SMARTY_DEBUG'; + + /** + * debugging information for debug console + * + * @var array + */ + var $_smarty_debug_info = array(); + + /** + * info that makes up a cache file + * + * @var array + */ + var $_cache_info = array(); + + /** + * default file permissions + * + * @var integer + */ + var $_file_perms = 0644; + + /** + * default dir permissions + * + * @var integer + */ + var $_dir_perms = 0771; + + /** + * registered objects + * + * @var array + */ + var $_reg_objects = array(); + + /** + * table keeping track of plugins + * + * @var array + */ + var $_plugins = array( + 'modifier' => array(), + 'function' => array(), + 'block' => array(), + 'compiler' => array(), + 'prefilter' => array(), + 'postfilter' => array(), + 'outputfilter' => array(), + 'resource' => array(), + 'insert' => array()); + + + /** + * cache serials + * + * @var array + */ + var $_cache_serials = array(); + + /** + * name of optional cache include file + * + * @var string + */ + var $_cache_include = null; + + /** + * indicate if the current code is used in a compiled + * include + * + * @var string + */ + var $_cache_including = false; + + /**#@-*/ + /** + * The class constructor. + * + * @uses $global_assign uses {@link assign()} to assign each corresponding + * value from $GLOBALS to the template vars + */ + function Smarty() + { + foreach ($this->global_assign as $key => $var_name) { + if (is_array($var_name)) { + foreach ($var_name as $var) { + if (isset($GLOBALS[$key][$var])) { + $this->assign($var, $GLOBALS[$key][$var]); + } else { + $this->assign($var, $this->undefined); + } + } + } else { + if (isset($GLOBALS[$var_name])) { + $this->assign($var_name, $GLOBALS[$var_name]); + } else { + $this->assign($var_name, $this->undefined); + } + } + } + } + + + /** + * assigns values to template variables + * + * @param array|string $tpl_var the template variable name(s) + * @param mixed $value the value to assign + */ + function assign($tpl_var, $value = null) + { + if (is_array($tpl_var)){ + foreach ($tpl_var as $key => $val) { + if ($key != '') { + $this->_tpl_vars[$key] = $val; + } + } + } else { + if ($tpl_var != '') + $this->_tpl_vars[$tpl_var] = $value; + } + } + + /** + * assigns values to template variables by reference + * + * @param string $tpl_var the template variable name + * @param mixed $value the referenced value to assign + */ + function assign_by_ref($tpl_var, &$value) + { + if ($tpl_var != '') + $this->_tpl_vars[$tpl_var] = &$value; + } + + /** + * appends values to template variables + * + * @param array|string $tpl_var the template variable name(s) + * @param mixed $value the value to append + */ + function append($tpl_var, $value=null, $merge=false) + { + if (is_array($tpl_var)) { + // $tpl_var is an array, ignore $value + foreach ($tpl_var as $_key => $_val) { + if ($_key != '') { + if(!@is_array($this->_tpl_vars[$_key])) { + settype($this->_tpl_vars[$_key],'array'); + } + if($merge && is_array($_val)) { + foreach($_val as $_mkey => $_mval) { + $this->_tpl_vars[$_key][$_mkey] = $_mval; + } + } else { + $this->_tpl_vars[$_key][] = $_val; + } + } + } + } else { + if ($tpl_var != '' && isset($value)) { + if(!@is_array($this->_tpl_vars[$tpl_var])) { + settype($this->_tpl_vars[$tpl_var],'array'); + } + if($merge && is_array($value)) { + foreach($value as $_mkey => $_mval) { + $this->_tpl_vars[$tpl_var][$_mkey] = $_mval; + } + } else { + $this->_tpl_vars[$tpl_var][] = $value; + } + } + } + } + + /** + * appends values to template variables by reference + * + * @param string $tpl_var the template variable name + * @param mixed $value the referenced value to append + */ + function append_by_ref($tpl_var, &$value, $merge=false) + { + if ($tpl_var != '' && isset($value)) { + if(!@is_array($this->_tpl_vars[$tpl_var])) { + settype($this->_tpl_vars[$tpl_var],'array'); + } + if ($merge && is_array($value)) { + foreach($value as $_key => $_val) { + $this->_tpl_vars[$tpl_var][$_key] = &$value[$_key]; + } + } else { + $this->_tpl_vars[$tpl_var][] = &$value; + } + } + } + + + /** + * clear the given assigned template variable. + * + * @param string $tpl_var the template variable to clear + */ + function clear_assign($tpl_var) + { + if (is_array($tpl_var)) + foreach ($tpl_var as $curr_var) + unset($this->_tpl_vars[$curr_var]); + else + unset($this->_tpl_vars[$tpl_var]); + } + + + /** + * Registers custom function to be used in templates + * + * @param string $function the name of the template function + * @param string $function_impl the name of the PHP function to register + */ + function register_function($function, $function_impl, $cacheable=true, $cache_attrs=null) + { + $this->_plugins['function'][$function] = + array($function_impl, null, null, false, $cacheable, $cache_attrs); + + } + + /** + * Unregisters custom function + * + * @param string $function name of template function + */ + function unregister_function($function) + { + unset($this->_plugins['function'][$function]); + } + + /** + * Registers object to be used in templates + * + * @param string $object name of template object + * @param object &$object_impl the referenced PHP object to register + * @param null|array $allowed list of allowed methods (empty = all) + * @param boolean $smarty_args smarty argument format, else traditional + * @param null|array $block_functs list of methods that are block format + */ + function register_object($object, &$object_impl, $allowed = array(), $smarty_args = true, $block_methods = array()) + { + settype($allowed, 'array'); + settype($smarty_args, 'boolean'); + $this->_reg_objects[$object] = + array(&$object_impl, $allowed, $smarty_args, $block_methods); + } + + /** + * Unregisters object + * + * @param string $object name of template object + */ + function unregister_object($object) + { + unset($this->_reg_objects[$object]); + } + + + /** + * Registers block function to be used in templates + * + * @param string $block name of template block + * @param string $block_impl PHP function to register + */ + function register_block($block, $block_impl, $cacheable=true, $cache_attrs=null) + { + $this->_plugins['block'][$block] = + array($block_impl, null, null, false, $cacheable, $cache_attrs); + } + + /** + * Unregisters block function + * + * @param string $block name of template function + */ + function unregister_block($block) + { + unset($this->_plugins['block'][$block]); + } + + /** + * Registers compiler function + * + * @param string $function name of template function + * @param string $function_impl name of PHP function to register + */ + function register_compiler_function($function, $function_impl, $cacheable=true) + { + $this->_plugins['compiler'][$function] = + array($function_impl, null, null, false, $cacheable); + } + + /** + * Unregisters compiler function + * + * @param string $function name of template function + */ + function unregister_compiler_function($function) + { + unset($this->_plugins['compiler'][$function]); + } + + /** + * Registers modifier to be used in templates + * + * @param string $modifier name of template modifier + * @param string $modifier_impl name of PHP function to register + */ + function register_modifier($modifier, $modifier_impl) + { + $this->_plugins['modifier'][$modifier] = + array($modifier_impl, null, null, false); + } + + /** + * Unregisters modifier + * + * @param string $modifier name of template modifier + */ + function unregister_modifier($modifier) + { + unset($this->_plugins['modifier'][$modifier]); + } + + /** + * Registers a resource to fetch a template + * + * @param string $type name of resource + * @param array $functions array of functions to handle resource + */ + function register_resource($type, $functions) + { + if (count($functions)==4) { + $this->_plugins['resource'][$type] = + array($functions, false); + + } elseif (count($functions)==5) { + $this->_plugins['resource'][$type] = + array(array(array(&$functions[0], $functions[1]) + ,array(&$functions[0], $functions[2]) + ,array(&$functions[0], $functions[3]) + ,array(&$functions[0], $functions[4])) + ,false); + + } else { + $this->trigger_error("malformed function-list for '$type' in register_resource"); + + } + } + + /** + * Unregisters a resource + * + * @param string $type name of resource + */ + function unregister_resource($type) + { + unset($this->_plugins['resource'][$type]); + } + + /** + * Registers a prefilter function to apply + * to a template before compiling + * + * @param string $function name of PHP function to register + */ + function register_prefilter($function) + { + $_name = (is_array($function)) ? $function[1] : $function; + $this->_plugins['prefilter'][$_name] + = array($function, null, null, false); + } + + /** + * Unregisters a prefilter function + * + * @param string $function name of PHP function + */ + function unregister_prefilter($function) + { + unset($this->_plugins['prefilter'][$function]); + } + + /** + * Registers a postfilter function to apply + * to a compiled template after compilation + * + * @param string $function name of PHP function to register + */ + function register_postfilter($function) + { + $_name = (is_array($function)) ? $function[1] : $function; + $this->_plugins['postfilter'][$_name] + = array($function, null, null, false); + } + + /** + * Unregisters a postfilter function + * + * @param string $function name of PHP function + */ + function unregister_postfilter($function) + { + unset($this->_plugins['postfilter'][$function]); + } + + /** + * Registers an output filter function to apply + * to a template output + * + * @param string $function name of PHP function + */ + function register_outputfilter($function) + { + $_name = (is_array($function)) ? $function[1] : $function; + $this->_plugins['outputfilter'][$_name] + = array($function, null, null, false); + } + + /** + * Unregisters an outputfilter function + * + * @param string $function name of PHP function + */ + function unregister_outputfilter($function) + { + unset($this->_plugins['outputfilter'][$function]); + } + + /** + * load a filter of specified type and name + * + * @param string $type filter type + * @param string $name filter name + */ + function load_filter($type, $name) + { + switch ($type) { + case 'output': + $_params = array('plugins' => array(array($type . 'filter', $name, null, null, false))); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); + smarty_core_load_plugins($_params, $this); + break; + + case 'pre': + case 'post': + if (!isset($this->_plugins[$type . 'filter'][$name])) + $this->_plugins[$type . 'filter'][$name] = false; + break; + } + } + + /** + * clear cached content for the given template and cache id + * + * @param string $tpl_file name of template file + * @param string $cache_id name of cache_id + * @param string $compile_id name of compile_id + * @param string $exp_time expiration time + * @return boolean + */ + function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null) + { + + if (!isset($compile_id)) + $compile_id = $this->compile_id; + + if (!isset($tpl_file)) + $compile_id = null; + + $_auto_id = $this->_get_auto_id($cache_id, $compile_id); + + if (!empty($this->cache_handler_func)) { + return call_user_func_array($this->cache_handler_func, + array('clear', &$this, &$dummy, $tpl_file, $cache_id, $compile_id, $exp_time)); + } else { + $_params = array('auto_base' => $this->cache_dir, + 'auto_source' => $tpl_file, + 'auto_id' => $_auto_id, + 'exp_time' => $exp_time); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); + return smarty_core_rm_auto($_params, $this); + } + + } + + + /** + * clear the entire contents of cache (all templates) + * + * @param string $exp_time expire time + * @return boolean results of {@link smarty_core_rm_auto()} + */ + function clear_all_cache($exp_time = null) + { + if (!empty($this->cache_handler_func)) { + $dummy = null; + call_user_func_array($this->cache_handler_func, + array('clear', &$this, &$dummy, null, null, null, $exp_time)); + } else { + $_params = array('auto_base' => $this->cache_dir, + 'auto_source' => null, + 'auto_id' => null, + 'exp_time' => $exp_time); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); + return smarty_core_rm_auto($_params, $this); + } + } + + + /** + * test to see if valid cache exists for this template + * + * @param string $tpl_file name of template file + * @param string $cache_id + * @param string $compile_id + * @return string|false results of {@link _read_cache_file()} + */ + function is_cached($tpl_file, $cache_id = null, $compile_id = null) + { + if (!$this->caching) + return false; + + if (!isset($compile_id)) + $compile_id = $this->compile_id; + + $_params = array( + 'tpl_file' => $tpl_file, + 'cache_id' => $cache_id, + 'compile_id' => $compile_id + ); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.read_cache_file.php'); + return smarty_core_read_cache_file($_params, $this); + } + + + /** + * clear all the assigned template variables. + * + */ + function clear_all_assign() + { + $this->_tpl_vars = array(); + } + + /** + * clears compiled version of specified template resource, + * or all compiled template files if one is not specified. + * This function is for advanced use only, not normally needed. + * + * @param string $tpl_file + * @param string $compile_id + * @param string $exp_time + * @return boolean results of {@link smarty_core_rm_auto()} + */ + function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null) + { + if (!isset($compile_id)) { + $compile_id = $this->compile_id; + } + $_params = array('auto_base' => $this->compile_dir, + 'auto_source' => $tpl_file, + 'auto_id' => $compile_id, + 'exp_time' => $exp_time, + 'extensions' => array('.inc', '.php')); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rm_auto.php'); + return smarty_core_rm_auto($_params, $this); + } + + /** + * Checks whether requested template exists. + * + * @param string $tpl_file + * @return boolean + */ + function template_exists($tpl_file) + { + $_params = array('resource_name' => $tpl_file, 'quiet'=>true, 'get_source'=>false); + return $this->_fetch_resource_info($_params); + } + + /** + * Returns an array containing template variables + * + * @param string $name + * @param string $type + * @return array + */ + function &get_template_vars($name=null) + { + if(!isset($name)) { + return $this->_tpl_vars; + } + if(isset($this->_tpl_vars[$name])) { + return $this->_tpl_vars[$name]; + } + } + + /** + * Returns an array containing config variables + * + * @param string $name + * @param string $type + * @return array + */ + function &get_config_vars($name=null) + { + if(!isset($name) && is_array($this->_config[0])) { + return $this->_config[0]['vars']; + } else if(isset($this->_config[0]['vars'][$name])) { + return $this->_config[0]['vars'][$name]; + } + } + + /** + * trigger Smarty error + * + * @param string $error_msg + * @param integer $error_type + */ + function trigger_error($error_msg, $error_type = E_USER_WARNING) + { + trigger_error("Smarty error: $error_msg", $error_type); + } + + + /** + * executes & displays the template results + * + * @param string $resource_name + * @param string $cache_id + * @param string $compile_id + */ + function display($resource_name, $cache_id = null, $compile_id = null) + { + $this->fetch($resource_name, $cache_id, $compile_id, true); + } + + /** + * executes & returns or displays the template results + * + * @param string $resource_name + * @param string $cache_id + * @param string $compile_id + * @param boolean $display + */ + function fetch($resource_name, $cache_id = null, $compile_id = null, $display = false) + { + static $_cache_info = array(); + + $_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(error_reporting() & ~E_NOTICE); + + if (!$this->debugging && $this->debugging_ctrl == 'URL' + && @strstr($GLOBALS['HTTP_SERVER_VARS']['QUERY_STRING'], $this->_smarty_debug_id)) { + // enable debugging from URL + $this->debugging = true; + } + + if ($this->debugging) { + // capture time for debugging info + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $_debug_start_time = smarty_core_get_microtime($_params, $this); + $this->_smarty_debug_info[] = array('type' => 'template', + 'filename' => $resource_name, + 'depth' => 0); + $_included_tpls_idx = count($this->_smarty_debug_info) - 1; + } + + if (!isset($compile_id)) { + $compile_id = $this->compile_id; + } + + $this->_compile_id = $compile_id; + $this->_inclusion_depth = 0; + + if ($this->caching) { + // save old cache_info, initialize cache_info + array_push($_cache_info, $this->_cache_info); + $this->_cache_info = array(); + $_params = array( + 'tpl_file' => $resource_name, + 'cache_id' => $cache_id, + 'compile_id' => $compile_id, + 'results' => null + ); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.read_cache_file.php'); + if (smarty_core_read_cache_file($_params, $this)) { + $_smarty_results = $_params['results']; + if (@count($this->_cache_info['insert_tags'])) { + $_params = array('plugins' => $this->_cache_info['insert_tags']); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); + smarty_core_load_plugins($_params, $this); + $_params = array('results' => $_smarty_results); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.process_cached_inserts.php'); + $_smarty_results = smarty_core_process_cached_inserts($_params, $this); + } + if (@count($this->_cache_info['cache_serials'])) { + $_params = array('results' => $_smarty_results); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.process_compiled_include.php'); + $_smarty_results = smarty_core_process_compiled_include($_params, $this); + } + + + if ($display) { + if ($this->debugging) + { + // capture time for debugging info + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $this->_smarty_debug_info[$_included_tpls_idx]['exec_time'] = smarty_core_get_microtime($_params, $this) - $_debug_start_time; + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.display_debug_console.php'); + $_smarty_results .= smarty_core_display_debug_console($_params, $this); + } + if ($this->cache_modified_check) { + $_last_modified_date = @substr($GLOBALS['HTTP_SERVER_VARS']['HTTP_IF_MODIFIED_SINCE'], 0, strpos($GLOBALS['HTTP_SERVER_VARS']['HTTP_IF_MODIFIED_SINCE'], 'GMT') + 3); + $_gmt_mtime = gmdate('D, d M Y H:i:s', $this->_cache_info['timestamp']).' GMT'; + if (@count($this->_cache_info['insert_tags']) == 0 + && !$this->_cache_serials + && $_gmt_mtime == $_last_modified_date) { + if (php_sapi_name()=='cgi') + header("Status: 304 Not Modified"); + else + header("HTTP/1.1 304 Not Modified"); + + } else { + header("Last-Modified: ".$_gmt_mtime); + echo $_smarty_results; + } + } else { + echo $_smarty_results; + } + error_reporting($_smarty_old_error_level); + // restore initial cache_info + $this->_cache_info = array_pop($_cache_info); + return true; + } else { + error_reporting($_smarty_old_error_level); + // restore initial cache_info + $this->_cache_info = array_pop($_cache_info); + return $_smarty_results; + } + } else { + $this->_cache_info['template'][$resource_name] = true; + if ($this->cache_modified_check) { + header("Last-Modified: ".gmdate('D, d M Y H:i:s', time()).' GMT'); + } + } + } + + // load filters that are marked as autoload + if (count($this->autoload_filters)) { + foreach ($this->autoload_filters as $_filter_type => $_filters) { + foreach ($_filters as $_filter) { + $this->load_filter($_filter_type, $_filter); + } + } + } + + $_smarty_compile_path = $this->_get_compile_path($resource_name); + + // if we just need to display the results, don't perform output + // buffering - for speed + $_cache_including = $this->_cache_including; + $this->_cache_including = false; + if ($display && !$this->caching && count($this->_plugins['outputfilter']) == 0) { + if ($this->_is_compiled($resource_name, $_smarty_compile_path) + || $this->_compile_resource($resource_name, $_smarty_compile_path)) + { + include($_smarty_compile_path); + } + } else { + ob_start(); + if ($this->_is_compiled($resource_name, $_smarty_compile_path) + || $this->_compile_resource($resource_name, $_smarty_compile_path)) + { + include($_smarty_compile_path); + } + $_smarty_results = ob_get_contents(); + ob_end_clean(); + + foreach ((array)$this->_plugins['outputfilter'] as $_output_filter) { + $_smarty_results = call_user_func_array($_output_filter[0], array($_smarty_results, &$this)); + } + } + + if ($this->caching) { + $_params = array('tpl_file' => $resource_name, + 'cache_id' => $cache_id, + 'compile_id' => $compile_id, + 'results' => $_smarty_results); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_cache_file.php'); + smarty_core_write_cache_file($_params, $this); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.process_cached_inserts.php'); + $_smarty_results = smarty_core_process_cached_inserts($_params, $this); + + if ($this->_cache_serials) { + // strip nocache-tags from output + $_smarty_results = preg_replace('!(\{/?nocache\:[0-9a-f]{32}#\d+\})!s' + ,'' + ,$_smarty_results); + } + // restore initial cache_info + $this->_cache_info = array_pop($_cache_info); + } + $this->_cache_including = $_cache_including; + + if ($display) { + if (isset($_smarty_results)) { echo $_smarty_results; } + if ($this->debugging) { + // capture time for debugging info + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $this->_smarty_debug_info[$_included_tpls_idx]['exec_time'] = (smarty_core_get_microtime($_params, $this) - $_debug_start_time); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.display_debug_console.php'); + echo smarty_core_display_debug_console($_params, $this); + } + error_reporting($_smarty_old_error_level); + return; + } else { + error_reporting($_smarty_old_error_level); + if (isset($_smarty_results)) { return $_smarty_results; } + } + } + + /** + * load configuration values + * + * @param string $file + * @param string $section + * @param string $scope + */ + function config_load($file, $section = null, $scope = 'global') + { + require_once($this->_get_plugin_filepath('function', 'config_load')); + smarty_function_config_load(array('file' => $file, 'section' => $section, 'scope' => $scope), $this); + } + + /** + * return a reference to a registered object + * + * @param string $name + * @return object + */ + function &get_registered_object($name) { + if (!isset($this->_reg_objects[$name])) + $this->_trigger_fatal_error("'$name' is not a registered object"); + + if (!is_object($this->_reg_objects[$name][0])) + $this->_trigger_fatal_error("registered '$name' is not an object"); + + return $this->_reg_objects[$name][0]; + } + + /** + * clear configuration values + * + * @param string $var + */ + function clear_config($var = null) + { + if(!isset($var)) { + // clear all values + $this->_config = array(array('vars' => array(), + 'files' => array())); + } else { + unset($this->_config[0]['vars'][$var]); + } + } + + /** + * get filepath of requested plugin + * + * @param string $type + * @param string $name + * @return string|false + */ + function _get_plugin_filepath($type, $name) + { + $_params = array('type' => $type, 'name' => $name); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.assemble_plugin_filepath.php'); + return smarty_core_assemble_plugin_filepath($_params, $this); + } + + /** + * test if resource needs compiling + * + * @param string $resource_name + * @param string $compile_path + * @return boolean + */ + function _is_compiled($resource_name, $compile_path) + { + if (!$this->force_compile && file_exists($compile_path)) { + if (!$this->compile_check) { + // no need to check compiled file + return true; + } else { + // get file source and timestamp + $_params = array('resource_name' => $resource_name, 'get_source'=>false); + if (!$this->_fetch_resource_info($_params, $this)) { + return false; + } + if ($_params['resource_timestamp'] <= filemtime($compile_path)) { + // template not expired, no recompile + return true; + } else { + // compile template + return false; + } + } + } else { + // compiled template does not exist, or forced compile + return false; + } + } + + /** + * compile the template + * + * @param string $resource_name + * @param string $compile_path + * @return boolean + */ + function _compile_resource($resource_name, $compile_path) + { + + $_params = array('resource_name' => $resource_name); + if (!$this->_fetch_resource_info($_params)) { + return false; + } + + $_source_content = $_params['source_content']; + $_resource_timestamp = $_params['resource_timestamp']; + $_cache_include = substr($compile_path, 0, -4).'.inc'; + + if ($this->_compile_source($resource_name, $_source_content, $_compiled_content, $_cache_include)) { + // if a _cache_serial was set, we also have to write an include-file: + if ($this->_cache_include_info) { + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_include.php'); + smarty_core_write_compiled_include(array_merge($this->_cache_include_info, array('compiled_content'=>$_compiled_content)), $this); + } + + $_params = array('compile_path'=>$compile_path, 'compiled_content' => $_compiled_content, 'resource_timestamp' => $_resource_timestamp); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_resource.php'); + smarty_core_write_compiled_resource($_params, $this); + + return true; + } else { + $this->trigger_error($smarty_compiler->_error_msg); + return false; + } + + } + + /** + * compile the given source + * + * @param string $resource_name + * @param string $source_content + * @param string $compiled_content + * @return boolean + */ + function _compile_source($resource_name, &$source_content, &$compiled_content, $cache_include_path=null) + { + if (file_exists(SMARTY_DIR . $this->compiler_file)) { + require_once(SMARTY_DIR . $this->compiler_file); + } else { + // use include_path + require_once($this->compiler_file); + } + + + $smarty_compiler = new $this->compiler_class; + + $smarty_compiler->template_dir = $this->template_dir; + $smarty_compiler->compile_dir = $this->compile_dir; + $smarty_compiler->plugins_dir = $this->plugins_dir; + $smarty_compiler->config_dir = $this->config_dir; + $smarty_compiler->force_compile = $this->force_compile; + $smarty_compiler->caching = $this->caching; + $smarty_compiler->php_handling = $this->php_handling; + $smarty_compiler->left_delimiter = $this->left_delimiter; + $smarty_compiler->right_delimiter = $this->right_delimiter; + $smarty_compiler->_version = $this->_version; + $smarty_compiler->security = $this->security; + $smarty_compiler->secure_dir = $this->secure_dir; + $smarty_compiler->security_settings = $this->security_settings; + $smarty_compiler->trusted_dir = $this->trusted_dir; + $smarty_compiler->_reg_objects = &$this->_reg_objects; + $smarty_compiler->_plugins = &$this->_plugins; + $smarty_compiler->_tpl_vars = &$this->_tpl_vars; + $smarty_compiler->default_modifiers = $this->default_modifiers; + $smarty_compiler->compile_id = $this->_compile_id; + $smarty_compiler->_config = $this->_config; + $smarty_compiler->request_use_auto_globals = $this->request_use_auto_globals; + + $smarty_compiler->_cache_serial = null; + $smarty_compiler->_cache_include = $cache_include_path; + + + $_results = $smarty_compiler->_compile_file($resource_name, $source_content, $compiled_content); + + if ($smarty_compiler->_cache_serial) { + $this->_cache_include_info = array( + 'cache_serial'=>$smarty_compiler->_cache_serial + ,'plugins_code'=>$smarty_compiler->_plugins_code + ,'include_file_path' => $cache_include_path); + + } else { + $this->_cache_include_info = null; + + } + + return $_results; + } + + /** + * Get the compile path for this resource + * + * @param string $resource_name + * @return string results of {@link _get_auto_filename()} + */ + function _get_compile_path($resource_name) + { + return $this->_get_auto_filename($this->compile_dir, $resource_name, + $this->_compile_id) . '.php'; + } + + /** + * fetch the template info. Gets timestamp, and source + * if get_source is true + * + * sets $source_content to the source of the template, and + * $resource_timestamp to its time stamp + * @param string $resource_name + * @param string $source_content + * @param integer $resource_timestamp + * @param boolean $get_source + * @param boolean $quiet + * @return boolean + */ + + function _fetch_resource_info(&$params) + { + if(!isset($params['get_source'])) { $params['get_source'] = true; } + if(!isset($params['quiet'])) { $params['quiet'] = false; } + + $_return = false; + $_params = array('resource_name' => $params['resource_name']) ; + if (isset($params['resource_base_path'])) + $_params['resource_base_path'] = $params['resource_base_path']; + + if ($this->_parse_resource_name($_params)) { + $_resource_type = $_params['resource_type']; + $_resource_name = $_params['resource_name']; + switch ($_resource_type) { + case 'file': + if ($params['get_source']) { + $params['source_content'] = $this->_read_file($_resource_name); + } + $params['resource_timestamp'] = filemtime($_resource_name); + $_return = is_file($_resource_name); + break; + + default: + // call resource functions to fetch the template source and timestamp + if ($params['get_source']) { + $_source_return = isset($this->_plugins['resource'][$_resource_type]) && + call_user_func_array($this->_plugins['resource'][$_resource_type][0][0], + array($_resource_name, &$params['source_content'], &$this)); + } else { + $_source_return = true; + } + + $_timestamp_return = isset($this->_plugins['resource'][$_resource_type]) && + call_user_func_array($this->_plugins['resource'][$_resource_type][0][1], + array($_resource_name, &$params['resource_timestamp'], &$this)); + + $_return = $_source_return && $_timestamp_return; + break; + } + } + + if (!$_return) { + // see if we can get a template with the default template handler + if (!empty($this->default_template_handler_func)) { + if (!is_callable($this->default_template_handler_func)) { + $this->trigger_error("default template handler function \"$this->default_template_handler_func\" doesn't exist."); + } else { + $_return = call_user_func_array( + $this->default_template_handler_func, + array($_params['resource_type'], $_params['resource_name'], &$params['source_content'], &$params['resource_timestamp'], &$this)); + } + } + } + + if (!$_return) { + if (!$params['quiet']) { + $this->trigger_error('unable to read resource: "' . $params['resource_name'] . '"'); + } + } else if ($_return && $this->security) { + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); + if (!smarty_core_is_secure($_params, $this)) { + if (!$params['quiet']) + $this->trigger_error('(secure mode) accessing "' . $params['resource_name'] . '" is not allowed'); + $params['source_content'] = null; + $params['resource_timestamp'] = null; + return false; + } + } + return $_return; + } + + + /** + * parse out the type and name from the resource + * + * @param string $resource_base_path + * @param string $resource_name + * @param string $resource_type + * @param string $resource_name + * @return boolean + */ + + function _parse_resource_name(&$params) + { + + // split tpl_path by the first colon + $_resource_name_parts = explode(':', $params['resource_name'], 2); + + if (count($_resource_name_parts) == 1) { + // no resource type given + $params['resource_type'] = $this->default_resource_type; + $params['resource_name'] = $_resource_name_parts[0]; + } else { + if(strlen($_resource_name_parts[0]) == 1) { + // 1 char is not resource type, but part of filepath + $params['resource_type'] = $this->default_resource_type; + $params['resource_name'] = $params['resource_name']; + } else { + $params['resource_type'] = $_resource_name_parts[0]; + $params['resource_name'] = $_resource_name_parts[1]; + } + } + + if ($params['resource_type'] == 'file') { + if (!preg_match("/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/", $params['resource_name'])) { + // relative pathname to $params['resource_base_path'] + // use the first directory where the file is found + if (isset($params['resource_base_path'])) { + $_resource_base_path = (array)$params['resource_base_path']; + } else { + $_resource_base_path = (array)$this->template_dir; + $_resource_base_path[] = '.'; + } + foreach ($_resource_base_path as $_curr_path) { + $_fullpath = $_curr_path . DIRECTORY_SEPARATOR . $params['resource_name']; + if (file_exists($_fullpath) && is_file($_fullpath)) { + $params['resource_name'] = $_fullpath; + return true; + } + // didn't find the file, try include_path + $_params = array('file_path' => $_fullpath); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); + if(smarty_core_get_include_path($_params, $this)) { + $params['resource_name'] = $_params['new_file_path']; + return true; + } + } + return false; + } + } elseif (empty($this->_plugins['resource'][$params['resource_type']])) { + $_params = array('type' => $params['resource_type']); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_resource_plugin.php'); + smarty_core_load_resource_plugin($_params, $this); + } + + return true; + } + + + /** + * Handle modifiers + * + * @param string|null $modifier_name + * @param array|null $map_array + * @return string result of modifiers + */ + function _run_mod_handler() + { + $_args = func_get_args(); + list($_modifier_name, $_map_array) = array_splice($_args, 0, 2); + list($_func_name, $_tpl_file, $_tpl_line) = + $this->_plugins['modifier'][$_modifier_name]; + + $_var = $_args[0]; + foreach ($_var as $_key => $_val) { + $_args[0] = $_val; + $_var[$_key] = call_user_func_array($_func_name, $_args); + } + return $_var; + } + + /** + * Remove starting and ending quotes from the string + * + * @param string $string + * @return string + */ + function _dequote($string) + { + if (($string{0} == "'" || $string{0} == '"') && + $string{strlen($string)-1} == $string{0}) + return substr($string, 1, -1); + else + return $string; + } + + + /** + * read in a file from line $start for $lines. + * read the entire file if $start and $lines are null. + * + * @param string $filename + * @param integer $start + * @param integer $lines + * @return string + */ + function _read_file($filename, $start=null, $lines=null) + { + if (!($fd = @fopen($filename, 'r'))) { + return false; + } + flock($fd, LOCK_SH); + if ($start == null && $lines == null) { + // read the entire file + $contents = fread($fd, filesize($filename)); + } else { + if ( $start > 1 ) { + // skip the first lines before $start + for ($loop=1; $loop < $start; $loop++) { + fgets($fd, 65536); + } + } + if ( $lines == null ) { + // read the rest of the file + while (!feof($fd)) { + $contents .= fgets($fd, 65536); + } + } else { + // read up to $lines lines + for ($loop=0; $loop < $lines; $loop++) { + $contents .= fgets($fd, 65536); + if (feof($fd)) { + break; + } + } + } + } + fclose($fd); + return $contents; + } + + /** + * get a concrete filename for automagically created content + * + * @param string $auto_base + * @param string $auto_source + * @param string $auto_id + * @return string + * @staticvar string|null + * @staticvar string|null + */ + function _get_auto_filename($auto_base, $auto_source = null, $auto_id = null) + { + $_compile_dir_sep = $this->use_sub_dirs ? DIRECTORY_SEPARATOR : '^'; + + if(@is_dir($auto_base)) { + $_return = $auto_base . DIRECTORY_SEPARATOR; + } else { + // auto_base not found, try include_path + $_params = array('file_path' => $auto_base); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); + smarty_core_get_include_path($_params, $this); + $_return = isset($_params['new_file_path']) ? $_params['new_file_path'] . DIRECTORY_SEPARATOR : null; + } + + if(isset($auto_id)) { + // make auto_id safe for directory names + $auto_id = str_replace('%7C',$_compile_dir_sep,(urlencode($auto_id))); + // split into separate directories + $_return .= $auto_id . $_compile_dir_sep; + } + + if(isset($auto_source)) { + // make source name safe for filename + $_filename = urlencode(basename($auto_source)); + $_crc32 = crc32($auto_source) . $_compile_dir_sep; + // prepend %% to avoid name conflicts with + // with $params['auto_id'] names + $_crc32 = '%%' . substr($_crc32,0,3) . $_compile_dir_sep . '%%' . $_crc32; + $_return .= $_crc32 . $_filename; + } + + return $_return; + } + + /** + * unlink a file, possibly using expiration time + * + * @param string $resource + * @param integer $exp_time + */ + function _unlink($resource, $exp_time = null) + { + if(isset($exp_time)) { + if(time() - @filemtime($resource) >= $exp_time) { + return @unlink($resource); + } + } else { + return @unlink($resource); + } + } + + /** + * returns an auto_id for auto-file-functions + * + * @param string $cache_id + * @param string $compile_id + * @return string|null + */ + function _get_auto_id($cache_id=null, $compile_id=null) { + if (isset($cache_id)) + return (isset($compile_id)) ? $cache_id . '|' . $compile_id : $cache_id; + elseif(isset($compile_id)) + return $compile_id; + else + return null; + } + + /** + * trigger Smarty plugin error + * + * @param string $error_msg + * @param string $tpl_file + * @param integer $tpl_line + * @param string $file + * @param integer $line + * @param integer $error_type + */ + function _trigger_fatal_error($error_msg, $tpl_file = null, $tpl_line = null, + $file = null, $line = null, $error_type = E_USER_ERROR) + { + if(isset($file) && isset($line)) { + $info = ' ('.basename($file).", line $line)"; + } else { + $info = null; + } + if (isset($tpl_line) && isset($tpl_file)) { + trigger_error("Smarty error: [in " . $tpl_file . " line " . + $tpl_line . "]: $error_msg$info", $error_type); + } else { + trigger_error("Smarty error: $error_msg$info", $error_type); + } + } + + + /** + * callback function for preg_replace, to call a non-cacheable block + * @return string + */ + function _process_compiled_include_callback($match) { + $_func = '_smarty_tplfunc_'.$match[2].'_'.$match[3]; + ob_start(); + $_func($this); + $_ret = ob_get_contents(); + ob_end_clean(); + return $_ret; + } + + + /** + * called for included templates + * + * @param string $_smarty_include_tpl_file + * @param string $_smarty_include_vars + */ + + // $_smarty_include_tpl_file, $_smarty_include_vars + + function _smarty_include($params) + { + if ($this->debugging) { + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $debug_start_time = smarty_core_get_microtime($_params, $this); + $this->_smarty_debug_info[] = array('type' => 'template', + 'filename' => $params['smarty_include_tpl_file'], + 'depth' => ++$this->_inclusion_depth); + $included_tpls_idx = count($this->_smarty_debug_info) - 1; + } + + $this->_tpl_vars = array_merge($this->_tpl_vars, $params['smarty_include_vars']); + + // config vars are treated as local, so push a copy of the + // current ones onto the front of the stack + array_unshift($this->_config, $this->_config[0]); + + $_smarty_compile_path = $this->_get_compile_path($params['smarty_include_tpl_file']); + + + if ($this->_is_compiled($params['smarty_include_tpl_file'], $_smarty_compile_path) + || $this->_compile_resource($params['smarty_include_tpl_file'], $_smarty_compile_path)) + { + include($_smarty_compile_path); + } + + // pop the local vars off the front of the stack + array_shift($this->_config); + + $this->_inclusion_depth--; + + if ($this->debugging) { + // capture time for debugging info + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $this->_smarty_debug_info[$included_tpls_idx]['exec_time'] = smarty_core_get_microtime($_params, $this) - $debug_start_time; + } + + if ($this->caching) { + $this->_cache_info['template'][$params['smarty_include_tpl_file']] = true; + } + } + + + /** + * get or set an array of cached attributes for function that is + * not cacheable + * @return array + */ + function &_smarty_cache_attrs($cache_serial, $count) { + $_cache_attrs =& $this->_cache_info['cache_attrs'][$cache_serial][$count]; + + if ($this->_cache_including) { + /* return next set of cache_attrs */ + $_return =& current($_cache_attrs); + next($_cache_attrs); + return $_return; + + } else { + /* add a reference to a new set of cache_attrs */ + $_cache_attrs[] = array(); + return $_cache_attrs[count($_cache_attrs)-1]; + + } + + } + + + /** + * wrapper for include() retaining $this + * @return mixed + */ + function _include($filename, $once=false, $params=null) + { + if ($once) { + return include_once($filename); + } else { + return include($filename); + } + } + + + /** + * wrapper for eval() retaining $this + * @return mixed + */ + function _eval($code, $params=null) + { + return eval($code); + } + /**#@-*/ + +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php index 909cf53f50..317e3ba15b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/Smarty_Compiler.class.php @@ -1,2123 +1,2123 @@ - - * @author Andrei Zmievski - * @version 2.6.0 - * @copyright 2001-2003 ispi of Lincoln, Inc. - * @package Smarty - */ - -/* $Id$ */ - -/** - * Template compiling class - * @package Smarty - */ -class Smarty_Compiler extends Smarty { - - // internal vars - /**#@+ - * @access private - */ - var $_sectionelse_stack = array(); // keeps track of whether section had 'else' part - var $_foreachelse_stack = array(); // keeps track of whether foreach had 'else' part - var $_literal_blocks = array(); // keeps literal template blocks - var $_php_blocks = array(); // keeps php code blocks - var $_current_file = null; // the current template being compiled - var $_current_line_no = 1; // line number for error messages - var $_capture_stack = array(); // keeps track of nested capture buffers - var $_plugin_info = array(); // keeps track of plugins to load - var $_init_smarty_vars = false; - var $_permitted_tokens = array('true','false','yes','no','on','off','null'); - var $_db_qstr_regexp = null; // regexps are setup in the constructor - var $_si_qstr_regexp = null; - var $_qstr_regexp = null; - var $_func_regexp = null; - var $_var_bracket_regexp = null; - var $_dvar_guts_regexp = null; - var $_dvar_regexp = null; - var $_cvar_regexp = null; - var $_svar_regexp = null; - var $_avar_regexp = null; - var $_mod_regexp = null; - var $_var_regexp = null; - var $_parenth_param_regexp = null; - var $_func_call_regexp = null; - var $_obj_ext_regexp = null; - var $_obj_start_regexp = null; - var $_obj_params_regexp = null; - var $_obj_call_regexp = null; - var $_cacheable_state = 0; - var $_cache_attrs_count = 0; - var $_nocache_count = 0; - var $_cache_serial = null; - var $_cache_include = null; - - var $_strip_depth = 0; - var $_additional_newline = "\n"; - - /**#@-*/ - /** - * The class constructor. - */ - function Smarty_Compiler() - { - // matches double quoted strings: - // "foobar" - // "foo\"bar" - $this->_db_qstr_regexp = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"'; - - // matches single quoted strings: - // 'foobar' - // 'foo\'bar' - $this->_si_qstr_regexp = '\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\''; - - // matches single or double quoted strings - $this->_qstr_regexp = '(?:' . $this->_db_qstr_regexp . '|' . $this->_si_qstr_regexp . ')'; - - // matches bracket portion of vars - // [0] - // [foo] - // [$bar] - $this->_var_bracket_regexp = '\[\$?[\w\.]+\]'; - - // matches $ vars (not objects): - // $foo - // $foo.bar - // $foo.bar.foobar - // $foo[0] - // $foo[$bar] - // $foo[5][blah] - // $foo[5].bar[$foobar][4] - $this->_dvar_math_regexp = '[\+\-\*\/\%]'; - $this->_dvar_math_var_regexp = '[\$\w\.\+\-\*\/\%\d\>\[\]]'; - $this->_dvar_num_var_regexp = '\-?\d+(?:\.\d+)?' . $this->_dvar_math_var_regexp; - $this->_dvar_guts_regexp = '\w+(?:' . $this->_var_bracket_regexp - . ')*(?:\.\$?\w+(?:' . $this->_var_bracket_regexp . ')*)*(?:' . $this->_dvar_math_regexp . '(?:\-?\d+(?:\.\d+)?|' . $this->_dvar_math_var_regexp . ')*)?'; - $this->_dvar_regexp = '\$' . $this->_dvar_guts_regexp; - - // matches config vars: - // #foo# - // #foobar123_foo# - $this->_cvar_regexp = '\#\w+\#'; - - // matches section vars: - // %foo.bar% - $this->_svar_regexp = '\%\w+\.\w+\%'; - - // matches all valid variables (no quotes, no modifiers) - $this->_avar_regexp = '(?:' . $this->_dvar_regexp . '|' - . $this->_cvar_regexp . '|' . $this->_svar_regexp . ')'; - - // matches valid variable syntax: - // $foo - // $foo - // #foo# - // #foo# - // "text" - // "text" - $this->_var_regexp = '(?:' . $this->_avar_regexp . '|' . $this->_qstr_regexp . ')'; - - // matches valid object call (no objects allowed in parameters): - // $foo->bar - // $foo->bar() - // $foo->bar("text") - // $foo->bar($foo, $bar, "text") - // $foo->bar($foo, "foo") - // $foo->bar->foo() - // $foo->bar->foo->bar() - $this->_obj_ext_regexp = '\->(?:\$?' . $this->_dvar_guts_regexp . ')'; - $this->_obj_params_regexp = '\((?:\w+|' - . $this->_var_regexp . '(?:\s*,\s*(?:(?:\w+|' - . $this->_var_regexp . ')))*)?\)'; - $this->_obj_start_regexp = '(?:' . $this->_dvar_regexp . '(?:' . $this->_obj_ext_regexp . ')+)'; - $this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . ')?)'; - - // matches valid modifier syntax: - // |foo - // |@foo - // |foo:"bar" - // |foo:$bar - // |foo:"bar":$foobar - // |foo|bar - // |foo:$foo->bar - $this->_mod_regexp = '(?:\|@?\w+(?::(?>-?\w+|' - . $this->_obj_call_regexp . '|' . $this->_avar_regexp . '|' . $this->_qstr_regexp .'))*)'; - - // matches valid function name: - // foo123 - // _foo_bar - $this->_func_regexp = '[a-zA-Z_]\w*'; - - // matches valid registered object: - // foo->bar - $this->_reg_obj_regexp = '[a-zA-Z_]\w*->[a-zA-Z_]\w*'; - - // matches valid parameter values: - // true - // $foo - // $foo|bar - // #foo# - // #foo#|bar - // "text" - // "text"|bar - // $foo->bar - $this->_param_regexp = '(?:\s*(?:' . $this->_obj_call_regexp . '|' - . $this->_var_regexp . '|\w+)(?>' . $this->_mod_regexp . '*)\s*)'; - - // matches valid parenthesised function parameters: - // - // "text" - // $foo, $bar, "text" - // $foo|bar, "foo"|bar, $foo->bar($foo)|bar - $this->_parenth_param_regexp = '(?:\((?:\w+|' - . $this->_param_regexp . '(?:\s*,\s*(?:(?:\w+|' - . $this->_param_regexp . ')))*)?\))'; - - // matches valid function call: - // foo() - // foo_bar($foo) - // _foo_bar($foo,"bar") - // foo123($foo,$foo->bar(),"foo") - $this->_func_call_regexp = '(?:' . $this->_func_regexp . '\s*(?:' - . $this->_parenth_param_regexp . '))'; - } - - /** - * compile a resource - * - * sets $compiled_content to the compiled source - * @param string $resource_name - * @param string $source_content - * @param string $compiled_content - * @return true - */ - function _compile_file($resource_name, $source_content, &$compiled_content) - { - - if ($this->security) { - // do not allow php syntax to be executed unless specified - if ($this->php_handling == SMARTY_PHP_ALLOW && - !$this->security_settings['PHP_HANDLING']) { - $this->php_handling = SMARTY_PHP_PASSTHRU; - } - } - - $this->_load_filters(); - - $this->_current_file = $resource_name; - $this->_current_line_no = 1; - $ldq = preg_quote($this->left_delimiter, '!'); - $rdq = preg_quote($this->right_delimiter, '!'); - - // run template source through prefilter functions - if (count($this->_plugins['prefilter']) > 0) { - foreach ($this->_plugins['prefilter'] as $filter_name => $prefilter) { - if ($prefilter === false) continue; - if ($prefilter[3] || is_callable($prefilter[0])) { - $source_content = call_user_func_array($prefilter[0], - array($source_content, &$this)); - $this->_plugins['prefilter'][$filter_name][3] = true; - } else { - $this->_trigger_fatal_error("[plugin] prefilter '$filter_name' is not implemented"); - } - } - } - - /* Annihilate the comments. */ - $source_content = preg_replace("!({$ldq})\*(.*?)\*({$rdq})!se", - "'\\1*'.str_repeat(\"\n\", substr_count('\\2', \"\n\")) .'*\\3'", - $source_content); - - /* Pull out the literal blocks. */ - preg_match_all("!{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}!s", $source_content, $_match); - $this->_literal_blocks = $_match[1]; - $source_content = preg_replace("!{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}!s", - $this->_quote_replace($this->left_delimiter.'literal'.$this->right_delimiter), $source_content); - - /* Pull out the php code blocks. */ - preg_match_all("!{$ldq}php{$rdq}(.*?){$ldq}/php{$rdq}!s", $source_content, $_match); - $this->_php_blocks = $_match[1]; - $source_content = preg_replace("!{$ldq}php{$rdq}(.*?){$ldq}/php{$rdq}!s", - $this->_quote_replace($this->left_delimiter.'php'.$this->right_delimiter), $source_content); - - /* Gather all template tags. */ - preg_match_all("!{$ldq}\s*(.*?)\s*{$rdq}!s", $source_content, $_match); - $template_tags = $_match[1]; - /* Split content by template tags to obtain non-template content. */ - $text_blocks = preg_split("!{$ldq}.*?{$rdq}!s", $source_content); - - /* loop through text blocks */ - for ($curr_tb = 0, $for_max = count($text_blocks); $curr_tb < $for_max; $curr_tb++) { - /* match anything resembling php tags */ - if (preg_match_all('!(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)!is', $text_blocks[$curr_tb], $sp_match)) { - /* replace tags with placeholders to prevent recursive replacements */ - $sp_match[1] = array_unique($sp_match[1]); - usort($sp_match[1], '_smarty_sort_length'); - for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) { - $text_blocks[$curr_tb] = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$text_blocks[$curr_tb]); - } - /* process each one */ - for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) { - if ($this->php_handling == SMARTY_PHP_PASSTHRU) { - /* echo php contents */ - $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', ''."\n", $text_blocks[$curr_tb]); - } else if ($this->php_handling == SMARTY_PHP_QUOTE) { - /* quote php tags */ - $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', htmlspecialchars($sp_match[1][$curr_sp]), $text_blocks[$curr_tb]); - } else if ($this->php_handling == SMARTY_PHP_REMOVE) { - /* remove php tags */ - $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '', $text_blocks[$curr_tb]); - } else { - /* SMARTY_PHP_ALLOW, but echo non php starting tags */ - $sp_match[1][$curr_sp] = preg_replace('%(<\?(?!php|=|$))%i', ''."\n", $sp_match[1][$curr_sp]); - $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', $sp_match[1][$curr_sp], $text_blocks[$curr_tb]); - } - } - } - } - - /* Compile the template tags into PHP code. */ - $compiled_tags = array(); - for ($i = 0, $for_max = count($template_tags); $i < $for_max; $i++) { - $this->_current_line_no += substr_count($text_blocks[$i], "\n"); - $compiled_tags[] = $this->_compile_tag($template_tags[$i]); - $this->_current_line_no += substr_count($template_tags[$i], "\n"); - } - - $compiled_content = ''; - - /* Interleave the compiled contents and text blocks to get the final result. */ - for ($i = 0, $for_max = count($compiled_tags); $i < $for_max; $i++) { - if ($compiled_tags[$i] == '') { - // tag result empty, remove first newline from following text block - $text_blocks[$i+1] = preg_replace('!^(\r\n|\r|\n)!', '', $text_blocks[$i+1]); - } - $compiled_content .= $text_blocks[$i].$compiled_tags[$i]; - } - $compiled_content .= $text_blocks[$i]; - - /* Reformat data between 'strip' and '/strip' tags, removing spaces, tabs and newlines. */ - if (preg_match_all("!{$ldq}strip{$rdq}.*?{$ldq}/strip{$rdq}!s", $compiled_content, $_match)) { - $strip_tags = $_match[0]; - $strip_tags_modified = preg_replace("!{$ldq}/?strip{$rdq}|[\t ]+$|^[\t ]+!m", '', $strip_tags); - $strip_tags_modified = preg_replace('![\r\n]+!m', '', $strip_tags_modified); - for ($i = 0, $for_max = count($strip_tags); $i < $for_max; $i++) - $compiled_content = preg_replace("!{$ldq}strip{$rdq}.*?{$ldq}/strip{$rdq}!s", - $this->_quote_replace($strip_tags_modified[$i]), - $compiled_content, 1); - } - - // remove \n from the end of the file, if any - if (($_len=strlen($compiled_content)) && ($compiled_content{$_len - 1} == "\n" )) { - $compiled_content = substr($compiled_content, 0, -1); - } - - if (!empty($this->_cache_serial)) { - $compiled_content = "_cache_serials['".$this->_cache_include."'] = '".$this->_cache_serial."'; ?>" . $compiled_content; - } - - // remove unnecessary close/open tags - $compiled_content = preg_replace('!\?>\n?<\?php!', '', $compiled_content); - - // run compiled template through postfilter functions - if (count($this->_plugins['postfilter']) > 0) { - foreach ($this->_plugins['postfilter'] as $filter_name => $postfilter) { - if ($postfilter === false) continue; - if ($postfilter[3] || is_callable($postfilter[0])) { - $compiled_content = call_user_func_array($postfilter[0], - array($compiled_content, &$this)); - $this->_plugins['postfilter'][$filter_name][3] = true; - } else { - $this->_trigger_fatal_error("Smarty plugin error: postfilter '$filter_name' is not implemented"); - } - } - } - - // put header at the top of the compiled template - $template_header = "_version.", created on ".strftime("%Y-%m-%d %H:%M:%S")."\n"; - $template_header .= " compiled from ".strtr(urlencode($resource_name), array('%2F'=>'/', '%3A'=>':'))." */ ?>\n"; - - /* Emit code to load needed plugins. */ - $this->_plugins_code = ''; - if (count($this->_plugin_info)) { - $_plugins_params = "array('plugins' => array("; - foreach ($this->_plugin_info as $plugin_type => $plugins) { - foreach ($plugins as $plugin_name => $plugin_info) { - $_plugins_params .= "array('$plugin_type', '$plugin_name', '$plugin_info[0]', $plugin_info[1], "; - $_plugins_params .= $plugin_info[2] ? 'true),' : 'false),'; - } - } - $_plugins_params .= '))'; - $plugins_code = "\n"; - $template_header .= $plugins_code; - $this->_plugin_info = array(); - $this->_plugins_code = $plugins_code; - } - - if ($this->_init_smarty_vars) { - $template_header .= "\n"; - $this->_init_smarty_vars = false; - } - - $compiled_content = $template_header . $compiled_content; - - return true; - } - - /** - * Compile a template tag - * - * @param string $template_tag - * @return string - */ - function _compile_tag($template_tag) - { - /* Matched comment. */ - if ($template_tag{0} == '*' && $template_tag{strlen($template_tag) - 1} == '*') - return ''; - - /* Split tag into two three parts: command, command modifiers and the arguments. */ - if(! preg_match('/^(?:(' . $this->_obj_call_regexp . '|' . $this->_var_regexp - . '|\/?' . $this->_reg_obj_regexp . '|\/?' . $this->_func_regexp . ')(' . $this->_mod_regexp . '*)) - (?:\s+(.*))?$ - /xs', $template_tag, $match)) { - $this->_syntax_error("unrecognized tag: $template_tag", E_USER_ERROR, __FILE__, __LINE__); - } - - $tag_command = $match[1]; - $tag_modifier = isset($match[2]) ? $match[2] : null; - $tag_args = isset($match[3]) ? $match[3] : null; - - if (preg_match('!^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '$!', $tag_command)) { - /* tag name is a variable or object */ - $_return = $this->_parse_var_props($tag_command . $tag_modifier, $this->_parse_attrs($tag_args)); - if(isset($_tag_attrs['assign'])) { - return "assign('" . $this->_dequote($_tag_attrs['assign']) . "', $_return ); ?>\n"; - } else { - return "" . $this->_additional_newline; - } - } - - /* If the tag name is a registered object, we process it. */ - if (preg_match('!^\/?' . $this->_reg_obj_regexp . '$!', $tag_command)) { - return $this->_compile_registered_object_tag($tag_command, $this->_parse_attrs($tag_args), $tag_modifier); - } - - switch ($tag_command) { - case 'include': - return $this->_compile_include_tag($tag_args); - - case 'include_php': - return $this->_compile_include_php_tag($tag_args); - - case 'if': - return $this->_compile_if_tag($tag_args); - - case 'else': - return ''; - - case 'elseif': - return $this->_compile_if_tag($tag_args, true); - - case '/if': - return ''; - - case 'capture': - return $this->_compile_capture_tag(true, $tag_args); - - case '/capture': - return $this->_compile_capture_tag(false); - - case 'ldelim': - return $this->left_delimiter; - - case 'rdelim': - return $this->right_delimiter; - - case 'section': - array_push($this->_sectionelse_stack, false); - return $this->_compile_section_start($tag_args); - - case 'sectionelse': - $this->_sectionelse_stack[count($this->_sectionelse_stack)-1] = true; - return ""; - - case '/section': - if (array_pop($this->_sectionelse_stack)) - return ""; - else - return ""; - - case 'foreach': - array_push($this->_foreachelse_stack, false); - return $this->_compile_foreach_start($tag_args); - break; - - case 'foreachelse': - $this->_foreachelse_stack[count($this->_foreachelse_stack)-1] = true; - return ""; - - case '/foreach': - if (array_pop($this->_foreachelse_stack)) - return ""; - else - return ""; - - case 'strip': - case '/strip': - if ($tag_command{0}=='/') { - if (--$this->_strip_depth==0) { /* outermost closing {/strip} */ - $this->_additional_newline = "\n"; - return $this->left_delimiter.$tag_command.$this->right_delimiter; - } - } else { - if ($this->_strip_depth++==0) { /* outermost opening {strip} */ - $this->_additional_newline = ""; - return $this->left_delimiter.$tag_command.$this->right_delimiter; - } - } - return ''; - - case 'literal': - list (,$literal_block) = each($this->_literal_blocks); - $this->_current_line_no += substr_count($literal_block, "\n"); - return "" . $this->_additional_newline; - - case 'php': - if ($this->security && !$this->security_settings['PHP_TAGS']) { - $this->_syntax_error("(secure mode) php tags not permitted", E_USER_WARNING, __FILE__, __LINE__); - return; - } - list (,$php_block) = each($this->_php_blocks); - $this->_current_line_no += substr_count($php_block, "\n"); - return ''; - - case 'insert': - return $this->_compile_insert_tag($tag_args); - - default: - if ($this->_compile_compiler_tag($tag_command, $tag_args, $output)) { - return $output; - } else if ($this->_compile_block_tag($tag_command, $tag_args, $tag_modifier, $output)) { - return $output; - } else { - return $this->_compile_custom_tag($tag_command, $tag_args, $tag_modifier); - } - } - } - - - /** - * compile the custom compiler tag - * - * sets $output to the compiled custom compiler tag - * @param string $tag_command - * @param string $tag_args - * @param string $output - * @return boolean - */ - function _compile_compiler_tag($tag_command, $tag_args, &$output) - { - $found = false; - $have_function = true; - - /* - * First we check if the compiler function has already been registered - * or loaded from a plugin file. - */ - if (isset($this->_plugins['compiler'][$tag_command])) { - $found = true; - $plugin_func = $this->_plugins['compiler'][$tag_command][0]; - if (!is_callable($plugin_func)) { - $message = "compiler function '$tag_command' is not implemented"; - $have_function = false; - } - } - /* - * Otherwise we need to load plugin file and look for the function - * inside it. - */ - else if ($plugin_file = $this->_get_plugin_filepath('compiler', $tag_command)) { - $found = true; - - include_once $plugin_file; - - $plugin_func = 'smarty_compiler_' . $tag_command; - if (!is_callable($plugin_func)) { - $message = "plugin function $plugin_func() not found in $plugin_file\n"; - $have_function = false; - } else { - $this->_plugins['compiler'][$tag_command] = array($plugin_func, null, null, null, true); - } - } - - /* - * True return value means that we either found a plugin or a - * dynamically registered function. False means that we didn't and the - * compiler should now emit code to load custom function plugin for this - * tag. - */ - if ($found) { - if ($have_function) { - $output = call_user_func_array($plugin_func, array($tag_args, &$this)); - if($output != '') { - $output = '_push_cacheable_state('compiler', $tag_command) - . $output - . $this->_pop_cacheable_state('compiler', $tag_command) . ' ?>'; - } - } else { - $this->_syntax_error($message, E_USER_WARNING, __FILE__, __LINE__); - } - return true; - } else { - return false; - } - } - - - /** - * compile block function tag - * - * sets $output to compiled block function tag - * @param string $tag_command - * @param string $tag_args - * @param string $tag_modifier - * @param string $output - * @return boolean - */ - function _compile_block_tag($tag_command, $tag_args, $tag_modifier, &$output) - { - if ($tag_command{0} == '/') { - $start_tag = false; - $tag_command = substr($tag_command, 1); - } else - $start_tag = true; - - $found = false; - $have_function = true; - - /* - * First we check if the block function has already been registered - * or loaded from a plugin file. - */ - if (isset($this->_plugins['block'][$tag_command])) { - $found = true; - $plugin_func = $this->_plugins['block'][$tag_command][0]; - if (!is_callable($plugin_func)) { - $message = "block function '$tag_command' is not implemented"; - $have_function = false; - } - } - /* - * Otherwise we need to load plugin file and look for the function - * inside it. - */ - else if ($plugin_file = $this->_get_plugin_filepath('block', $tag_command)) { - $found = true; - - include_once $plugin_file; - - $plugin_func = 'smarty_block_' . $tag_command; - if (!function_exists($plugin_func)) { - $message = "plugin function $plugin_func() not found in $plugin_file\n"; - $have_function = false; - } else { - $this->_plugins['block'][$tag_command] = array($plugin_func, null, null, null, true); - - } - } - - if (!$found) { - return false; - } else if (!$have_function) { - $this->_syntax_error($message, E_USER_WARNING, __FILE__, __LINE__); - return true; - } - - /* - * Even though we've located the plugin function, compilation - * happens only once, so the plugin will still need to be loaded - * at runtime for future requests. - */ - $this->_add_plugin('block', $tag_command); - - if ($start_tag) { - $output = '_push_cacheable_state('block', $tag_command); - $attrs = $this->_parse_attrs($tag_args); - $arg_list = $this->_compile_arg_list('block', $tag_command, $attrs, $_cache_attrs=''); - $output .= "$_cache_attrs\$_params = \$this->_tag_stack[] = array('$tag_command', array(".implode(',', $arg_list).')); '; - $output .= $this->_compile_plugin_call('block', $tag_command).'($_params[1], null, $this, $_block_repeat=true); unset($_params);'; - $output .= 'while ($_block_repeat) { ob_start(); ?>'; - } else { - $output = '_block_content = ob_get_contents(); ob_end_clean(); '; - $_out_tag_text = $this->_compile_plugin_call('block', $tag_command).'($this->_tag_stack[count($this->_tag_stack)-1][1], $this->_block_content, $this, $_block_repeat=false)'; - if ($tag_modifier != '') { - $this->_parse_modifiers($_out_tag_text, $tag_modifier); - } - $output .= 'echo '.$_out_tag_text.'; } '; - $output .= " array_pop(\$this->_tag_stack); " . $this->_pop_cacheable_state('block', $tag_command) . '?>'; - } - - return true; - } - - - /** - * compile custom function tag - * - * @param string $tag_command - * @param string $tag_args - * @param string $tag_modifier - * @return string - */ - function _compile_custom_tag($tag_command, $tag_args, $tag_modifier) - { - $this->_add_plugin('function', $tag_command); - - $_cacheable_state = $this->_push_cacheable_state('function', $tag_command); - $attrs = $this->_parse_attrs($tag_args); - $arg_list = $this->_compile_arg_list('function', $tag_command, $attrs, $_cache_attrs=''); - - $_return = $this->_compile_plugin_call('function', $tag_command).'(array('.implode(',', $arg_list)."), \$this)"; - if($tag_modifier != '') { - $this->_parse_modifiers($_return, $tag_modifier); - } - - if($_return != '') { - $_return = '_pop_cacheable_state('function', $tag_command) . "?>" . $this->_additional_newline; - } - - return $_return; - } - - /** - * compile a registered object tag - * - * @param string $tag_command - * @param array $attrs - * @param string $tag_modifier - * @return string - */ - function _compile_registered_object_tag($tag_command, $attrs, $tag_modifier) - { - if ($tag_command{0} == '/') { - $start_tag = false; - $tag_command = substr($tag_command, 1); - } else { - $start_tag = true; - } - - list($object, $obj_comp) = explode('->', $tag_command); - - $arg_list = array(); - if(count($attrs)) { - $_assign_var = false; - foreach ($attrs as $arg_name => $arg_value) { - if($arg_name == 'assign') { - $_assign_var = $arg_value; - unset($attrs['assign']); - continue; - } - if (is_bool($arg_value)) - $arg_value = $arg_value ? 'true' : 'false'; - $arg_list[] = "'$arg_name' => $arg_value"; - } - } - - if($this->_reg_objects[$object][2]) { - // smarty object argument format - $args = "array(".implode(',', (array)$arg_list)."), \$this"; - } else { - // traditional argument format - $args = implode(',', array_values($attrs)); - if (empty($args)) { - $args = 'null'; - } - } - - $prefix = ''; - $postfix = ''; - $newline = ''; - if(!is_object($this->_reg_objects[$object][0])) { - $this->_trigger_fatal_error("registered '$object' is not an object"); - } elseif(!empty($this->_reg_objects[$object][1]) && !in_array($obj_comp, $this->_reg_objects[$object][1])) { - $this->_trigger_fatal_error("'$obj_comp' is not a registered component of object '$object'"); - } elseif(method_exists($this->_reg_objects[$object][0], $obj_comp)) { - // method - if(in_array($obj_comp, $this->_reg_objects[$object][3])) { - // block method - if ($start_tag) { - $prefix = "\$this->_tag_stack[] = array('$obj_comp', $args); "; - $prefix .= "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], null, \$this, \$_block_repeat=true); "; - $prefix .= "while (\$_block_repeat) { ob_start();"; - $return = null; - $postfix = ''; - } else { - $prefix = "\$this->_obj_block_content = ob_get_contents(); ob_end_clean(); "; - $return = "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], \$this->_obj_block_content, \$this, \$_block_repeat=false)"; - $postfix = "} array_pop(\$this->_tag_stack);"; - } - } else { - // non-block method - $return = "\$this->_reg_objects['$object'][0]->$obj_comp($args)"; - } - } else { - // property - $return = "\$this->_reg_objects['$object'][0]->$obj_comp"; - } - - if($return != null) { - if($tag_modifier != '') { - $this->_parse_modifiers($return, $tag_modifier); - } - - if(!empty($_assign_var)) { - $output = "\$this->assign('" . $this->_dequote($_assign_var) ."', $return);"; - } else { - $output = 'echo ' . $return . ';'; - $newline = $this->_additional_newline; - } - } else { - $output = ''; - } - - return '" . $newline; - } - - /** - * Compile {insert ...} tag - * - * @param string $tag_args - * @return string - */ - function _compile_insert_tag($tag_args) - { - $attrs = $this->_parse_attrs($tag_args); - $name = $this->_dequote($attrs['name']); - - if (empty($name)) { - $this->_syntax_error("missing insert name", E_USER_ERROR, __FILE__, __LINE__); - } - - if (!empty($attrs['script'])) { - $delayed_loading = true; - } else { - $delayed_loading = false; - } - - foreach ($attrs as $arg_name => $arg_value) { - if (is_bool($arg_value)) - $arg_value = $arg_value ? 'true' : 'false'; - $arg_list[] = "'$arg_name' => $arg_value"; - } - - $this->_add_plugin('insert', $name, $delayed_loading); - - $_params = "array('args' => array(".implode(', ', (array)$arg_list)."))"; - - return "" . $this->_additional_newline; - } - - /** - * Compile {include ...} tag - * - * @param string $tag_args - * @return string - */ - function _compile_include_tag($tag_args) - { - $attrs = $this->_parse_attrs($tag_args); - $arg_list = array(); - - if (empty($attrs['file'])) { - $this->_syntax_error("missing 'file' attribute in include tag", E_USER_ERROR, __FILE__, __LINE__); - } - - foreach ($attrs as $arg_name => $arg_value) { - if ($arg_name == 'file') { - $include_file = $arg_value; - continue; - } else if ($arg_name == 'assign') { - $assign_var = $arg_value; - continue; - } - if (is_bool($arg_value)) - $arg_value = $arg_value ? 'true' : 'false'; - $arg_list[] = "'$arg_name' => $arg_value"; - } - - $output = '_tpl_vars;\n"; - - - $_params = "array('smarty_include_tpl_file' => " . $include_file . ", 'smarty_include_vars' => array(".implode(',', (array)$arg_list)."))"; - $output .= "\$this->_smarty_include($_params);\n" . - "\$this->_tpl_vars = \$_smarty_tpl_vars;\n" . - "unset(\$_smarty_tpl_vars);\n"; - - if (isset($assign_var)) { - $output .= "\$this->assign(" . $assign_var . ", ob_get_contents()); ob_end_clean();\n"; - } - - $output .= ' ?>'; - - return $output; - - } - - /** - * Compile {include ...} tag - * - * @param string $tag_args - * @return string - */ - function _compile_include_php_tag($tag_args) - { - $attrs = $this->_parse_attrs($tag_args); - - if (empty($attrs['file'])) { - $this->_syntax_error("missing 'file' attribute in include_php tag", E_USER_ERROR, __FILE__, __LINE__); - } - - $assign_var = (empty($attrs['assign'])) ? '' : $this->_dequote($attrs['assign']); - $once_var = (empty($attrs['once']) || $attrs['once']=='false') ? 'false' : 'true'; - - foreach($attrs as $arg_name => $arg_value) { - if($arg_name != 'file' AND $arg_name != 'once' AND $arg_name != 'assign') { - if(is_bool($arg_value)) - $arg_value = $arg_value ? 'true' : 'false'; - $arg_list[] = "'$arg_name' => $arg_value"; - } - } - - $_params = "array('smarty_file' => " . $attrs['file'] . ", 'smarty_assign' => '$assign_var', 'smarty_once' => $once_var, 'smarty_include_vars' => array(".implode(',', (array)$arg_list)."))"; - - return "" . $this->_additional_newline; - } - - - /** - * Compile {section ...} tag - * - * @param string $tag_args - * @return string - */ - function _compile_section_start($tag_args) - { - $attrs = $this->_parse_attrs($tag_args); - $arg_list = array(); - - $output = '_syntax_error("missing section name", E_USER_ERROR, __FILE__, __LINE__); - } - - $output .= "if (isset(\$this->_sections[$section_name])) unset(\$this->_sections[$section_name]);\n"; - $section_props = "\$this->_sections[$section_name]"; - - foreach ($attrs as $attr_name => $attr_value) { - switch ($attr_name) { - case 'loop': - $output .= "{$section_props}['loop'] = is_array(\$_loop=$attr_value) ? count(\$_loop) : max(0, (int)\$_loop); unset(\$_loop);\n"; - break; - - case 'show': - if (is_bool($attr_value)) - $show_attr_value = $attr_value ? 'true' : 'false'; - else - $show_attr_value = "(bool)$attr_value"; - $output .= "{$section_props}['show'] = $show_attr_value;\n"; - break; - - case 'name': - $output .= "{$section_props}['$attr_name'] = $attr_value;\n"; - break; - - case 'max': - case 'start': - $output .= "{$section_props}['$attr_name'] = (int)$attr_value;\n"; - break; - - case 'step': - $output .= "{$section_props}['$attr_name'] = ((int)$attr_value) == 0 ? 1 : (int)$attr_value;\n"; - break; - - default: - $this->_syntax_error("unknown section attribute - '$attr_name'", E_USER_ERROR, __FILE__, __LINE__); - break; - } - } - - if (!isset($attrs['show'])) - $output .= "{$section_props}['show'] = true;\n"; - - if (!isset($attrs['loop'])) - $output .= "{$section_props}['loop'] = 1;\n"; - - if (!isset($attrs['max'])) - $output .= "{$section_props}['max'] = {$section_props}['loop'];\n"; - else - $output .= "if ({$section_props}['max'] < 0)\n" . - " {$section_props}['max'] = {$section_props}['loop'];\n"; - - if (!isset($attrs['step'])) - $output .= "{$section_props}['step'] = 1;\n"; - - if (!isset($attrs['start'])) - $output .= "{$section_props}['start'] = {$section_props}['step'] > 0 ? 0 : {$section_props}['loop']-1;\n"; - else { - $output .= "if ({$section_props}['start'] < 0)\n" . - " {$section_props}['start'] = max({$section_props}['step'] > 0 ? 0 : -1, {$section_props}['loop'] + {$section_props}['start']);\n" . - "else\n" . - " {$section_props}['start'] = min({$section_props}['start'], {$section_props}['step'] > 0 ? {$section_props}['loop'] : {$section_props}['loop']-1);\n"; - } - - $output .= "if ({$section_props}['show']) {\n"; - if (!isset($attrs['start']) && !isset($attrs['step']) && !isset($attrs['max'])) { - $output .= " {$section_props}['total'] = {$section_props}['loop'];\n"; - } else { - $output .= " {$section_props}['total'] = min(ceil(({$section_props}['step'] > 0 ? {$section_props}['loop'] - {$section_props}['start'] : {$section_props}['start']+1)/abs({$section_props}['step'])), {$section_props}['max']);\n"; - } - $output .= " if ({$section_props}['total'] == 0)\n" . - " {$section_props}['show'] = false;\n" . - "} else\n" . - " {$section_props}['total'] = 0;\n"; - - $output .= "if ({$section_props}['show']):\n"; - $output .= " - for ({$section_props}['index'] = {$section_props}['start'], {$section_props}['iteration'] = 1; - {$section_props}['iteration'] <= {$section_props}['total']; - {$section_props}['index'] += {$section_props}['step'], {$section_props}['iteration']++):\n"; - $output .= "{$section_props}['rownum'] = {$section_props}['iteration'];\n"; - $output .= "{$section_props}['index_prev'] = {$section_props}['index'] - {$section_props}['step'];\n"; - $output .= "{$section_props}['index_next'] = {$section_props}['index'] + {$section_props}['step'];\n"; - $output .= "{$section_props}['first'] = ({$section_props}['iteration'] == 1);\n"; - $output .= "{$section_props}['last'] = ({$section_props}['iteration'] == {$section_props}['total']);\n"; - - $output .= "?>"; - - return $output; - } - - - /** - * Compile {foreach ...} tag. - * - * @param string $tag_args - * @return string - */ - function _compile_foreach_start($tag_args) - { - $attrs = $this->_parse_attrs($tag_args); - $arg_list = array(); - - if (empty($attrs['from'])) { - $this->_syntax_error("missing 'from' attribute", E_USER_ERROR, __FILE__, __LINE__); - } - - if (empty($attrs['item'])) { - $this->_syntax_error("missing 'item' attribute", E_USER_ERROR, __FILE__, __LINE__); - } - - $from = $attrs['from']; - $item = $this->_dequote($attrs['item']); - if (isset($attrs['name'])) - $name = $attrs['name']; - - $output = '_foreach[$name])) unset(\$this->_foreach[$name]);\n"; - $foreach_props = "\$this->_foreach[$name]"; - } - - $key_part = ''; - - foreach ($attrs as $attr_name => $attr_value) { - switch ($attr_name) { - case 'key': - $key = $this->_dequote($attrs['key']); - $key_part = "\$this->_tpl_vars['$key'] => "; - break; - - case 'name': - $output .= "{$foreach_props}['$attr_name'] = $attr_value;\n"; - break; - } - } - - if (isset($name)) { - $output .= "{$foreach_props}['total'] = count(\$_from = (array)$from);\n"; - $output .= "{$foreach_props}['show'] = {$foreach_props}['total'] > 0;\n"; - $output .= "if ({$foreach_props}['show']):\n"; - $output .= "{$foreach_props}['iteration'] = 0;\n"; - $output .= " foreach (\$_from as $key_part\$this->_tpl_vars['$item']):\n"; - $output .= " {$foreach_props}['iteration']++;\n"; - $output .= " {$foreach_props}['first'] = ({$foreach_props}['iteration'] == 1);\n"; - $output .= " {$foreach_props}['last'] = ({$foreach_props}['iteration'] == {$foreach_props}['total']);\n"; - } else { - $output .= "if (count(\$_from = (array)$from)):\n"; - $output .= " foreach (\$_from as $key_part\$this->_tpl_vars['$item']):\n"; - } - $output .= '?>'; - - return $output; - } - - - /** - * Compile {capture} .. {/capture} tags - * - * @param boolean $start true if this is the {capture} tag - * @param string $tag_args - * @return string - */ - - function _compile_capture_tag($start, $tag_args = '') - { - $attrs = $this->_parse_attrs($tag_args); - - if ($start) { - if (isset($attrs['name'])) - $buffer = $attrs['name']; - else - $buffer = "'default'"; - - if (isset($attrs['assign'])) - $assign = $attrs['assign']; - else - $assign = null; - $output = ""; - $this->_capture_stack[] = array($buffer, $assign); - } else { - list($buffer, $assign) = array_pop($this->_capture_stack); - $output = "_smarty_vars['capture'][$buffer] = ob_get_contents(); "; - if (isset($assign)) { - $output .= " \$this->assign($assign, ob_get_contents());"; - } - $output .= "ob_end_clean(); ?>"; - } - - return $output; - } - - /** - * Compile {if ...} tag - * - * @param string $tag_args - * @param boolean $elseif if true, uses elseif instead of if - * @return string - */ - function _compile_if_tag($tag_args, $elseif = false) - { - - /* Tokenize args for 'if' tag. */ - preg_match_all('/(?> - ' . $this->_obj_call_regexp . '(?:' . $this->_mod_regexp . '*)? | # valid object call - ' . $this->_var_regexp . '(?:' . $this->_mod_regexp . '*)? | # var or quoted string - \-?0[xX][0-9a-fA-F]+|\-?\d+(?:\.\d+)?|\.\d+|!==|===|==|!=|<>|<<|>>|<=|>=|\&\&|\|\||\(|\)|,|\!|\^|=|\&|\~|<|>|\||\%|\+|\-|\/|\*|\@ | # valid non-word token - \b\w+\b | # valid word token - \S+ # anything else - )/x', $tag_args, $match); - - $tokens = $match[0]; - - // make sure we have balanced parenthesis - $token_count = array_count_values($tokens); - if(isset($token_count['(']) && $token_count['('] != $token_count[')']) { - $this->_syntax_error("unbalanced parenthesis in if statement", E_USER_ERROR, __FILE__, __LINE__); - } - - $is_arg_stack = array(); - - for ($i = 0; $i < count($tokens); $i++) { - - $token = &$tokens[$i]; - - switch (strtolower($token)) { - case '!': - case '%': - case '!==': - case '==': - case '===': - case '>': - case '<': - case '!=': - case '<>': - case '<<': - case '>>': - case '<=': - case '>=': - case '&&': - case '||': - case '|': - case '^': - case '&': - case '~': - case ')': - case ',': - case '+': - case '-': - case '*': - case '/': - case '@': - break; - - case 'eq': - $token = '=='; - break; - - case 'ne': - case 'neq': - $token = '!='; - break; - - case 'lt': - $token = '<'; - break; - - case 'le': - case 'lte': - $token = '<='; - break; - - case 'gt': - $token = '>'; - break; - - case 'ge': - case 'gte': - $token = '>='; - break; - - case 'and': - $token = '&&'; - break; - - case 'or': - $token = '||'; - break; - - case 'not': - $token = '!'; - break; - - case 'mod': - $token = '%'; - break; - - case '(': - array_push($is_arg_stack, $i); - break; - - case 'is': - /* If last token was a ')', we operate on the parenthesized - expression. The start of the expression is on the stack. - Otherwise, we operate on the last encountered token. */ - if ($tokens[$i-1] == ')') - $is_arg_start = array_pop($is_arg_stack); - else - $is_arg_start = $i-1; - /* Construct the argument for 'is' expression, so it knows - what to operate on. */ - $is_arg = implode(' ', array_slice($tokens, $is_arg_start, $i - $is_arg_start)); - - /* Pass all tokens from next one until the end to the - 'is' expression parsing function. The function will - return modified tokens, where the first one is the result - of the 'is' expression and the rest are the tokens it - didn't touch. */ - $new_tokens = $this->_parse_is_expr($is_arg, array_slice($tokens, $i+1)); - - /* Replace the old tokens with the new ones. */ - array_splice($tokens, $is_arg_start, count($tokens), $new_tokens); - - /* Adjust argument start so that it won't change from the - current position for the next iteration. */ - $i = $is_arg_start; - break; - - default: - if(preg_match('!^' . $this->_func_regexp . '$!', $token) ) { - // function call - if($this->security && - !in_array($token, $this->security_settings['IF_FUNCS'])) { - $this->_syntax_error("(secure mode) '$token' not allowed in if statement", E_USER_ERROR, __FILE__, __LINE__); - } - } elseif(preg_match('!^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '(?:' . $this->_mod_regexp . '*)$!', $token)) { - // object or variable - $token = $this->_parse_var_props($token); - } elseif(is_numeric($token)) { - // number, skip it - } else { - $this->_syntax_error("unidentified token '$token'", E_USER_ERROR, __FILE__, __LINE__); - } - break; - } - } - - if ($elseif) - return ''; - else - return ''; - } - - - function _compile_arg_list($type, $name, $attrs, &$cache_code) { - $arg_list = array(); - - if (isset($type) && isset($name) - && isset($this->_plugins[$type]) - && isset($this->_plugins[$type][$name]) - && empty($this->_plugins[$type][$name][4]) - && is_array($this->_plugins[$type][$name][5]) - ) { - /* we have a list of parameters that should be cached */ - $_cache_attrs = $this->_plugins[$type][$name][5]; - $_count = $this->_cache_attrs_count++; - $cache_code = "\$_cache_attrs =& \$this->_smarty_cache_attrs('$this->_cache_serial','$_count');"; - - } else { - /* no parameters are cached */ - $_cache_attrs = null; - } - - foreach ($attrs as $arg_name => $arg_value) { - if (is_bool($arg_value)) - $arg_value = $arg_value ? 'true' : 'false'; - if (is_null($arg_value)) - $arg_value = 'null'; - if ($_cache_attrs && in_array($arg_name, $_cache_attrs)) { - $arg_list[] = "'$arg_name' => (\$this->_cache_including) ? \$_cache_attrs['$arg_name'] : (\$_cache_attrs['$arg_name']=$arg_value)"; - } else { - $arg_list[] = "'$arg_name' => $arg_value"; - } - } - return $arg_list; - } - - /** - * Parse is expression - * - * @param string $is_arg - * @param array $tokens - * @return array - */ - function _parse_is_expr($is_arg, $tokens) - { - $expr_end = 0; - $negate_expr = false; - - if (($first_token = array_shift($tokens)) == 'not') { - $negate_expr = true; - $expr_type = array_shift($tokens); - } else - $expr_type = $first_token; - - switch ($expr_type) { - case 'even': - if (@$tokens[$expr_end] == 'by') { - $expr_end++; - $expr_arg = $tokens[$expr_end++]; - $expr = "!(($is_arg / $expr_arg) % " . $this->_parse_var_props($expr_arg) . ")"; - } else - $expr = "!($is_arg % 2)"; - break; - - case 'odd': - if (@$tokens[$expr_end] == 'by') { - $expr_end++; - $expr_arg = $tokens[$expr_end++]; - $expr = "(($is_arg / $expr_arg) % ". $this->_parse_var_props($expr_arg) . ")"; - } else - $expr = "($is_arg % 2)"; - break; - - case 'div': - if (@$tokens[$expr_end] == 'by') { - $expr_end++; - $expr_arg = $tokens[$expr_end++]; - $expr = "!($is_arg % " . $this->_parse_var_props($expr_arg) . ")"; - } else { - $this->_syntax_error("expecting 'by' after 'div'", E_USER_ERROR, __FILE__, __LINE__); - } - break; - - default: - $this->_syntax_error("unknown 'is' expression - '$expr_type'", E_USER_ERROR, __FILE__, __LINE__); - break; - } - - if ($negate_expr) { - $expr = "!($expr)"; - } - - array_splice($tokens, 0, $expr_end, $expr); - - return $tokens; - } - - - /** - * Parse attribute string - * - * @param string $tag_args - * @return array - */ - function _parse_attrs($tag_args) - { - - /* Tokenize tag attributes. */ - preg_match_all('/(?:' . $this->_obj_call_regexp . '|' . $this->_qstr_regexp . ' | (?>[^"\'=\s]+) - )+ | - [=] - /x', $tag_args, $match); - $tokens = $match[0]; - - $attrs = array(); - /* Parse state: - 0 - expecting attribute name - 1 - expecting '=' - 2 - expecting attribute value (not '=') */ - $state = 0; - - foreach ($tokens as $token) { - switch ($state) { - case 0: - /* If the token is a valid identifier, we set attribute name - and go to state 1. */ - if (preg_match('!^\w+$!', $token)) { - $attr_name = $token; - $state = 1; - } else - $this->_syntax_error("invalid attribute name: '$token'", E_USER_ERROR, __FILE__, __LINE__); - break; - - case 1: - /* If the token is '=', then we go to state 2. */ - if ($token == '=') { - $state = 2; - } else - $this->_syntax_error("expecting '=' after attribute name '$last_token'", E_USER_ERROR, __FILE__, __LINE__); - break; - - case 2: - /* If token is not '=', we set the attribute value and go to - state 0. */ - if ($token != '=') { - /* We booleanize the token if it's a non-quoted possible - boolean value. */ - if (preg_match('!^(on|yes|true)$!', $token)) { - $token = 'true'; - } else if (preg_match('!^(off|no|false)$!', $token)) { - $token = 'false'; - } else if ($token == 'null') { - $token = 'null'; - } else if (preg_match('!^-?([0-9]+|0[xX][0-9a-fA-F]+)$!', $token)) { - /* treat integer literally */ - } else if (!preg_match('!^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '(?:' . $this->_mod_regexp . ')*$!', $token)) { - /* treat as a string, double-quote it escaping quotes */ - $token = '"'.addslashes($token).'"'; - } - - $attrs[$attr_name] = $token; - $state = 0; - } else - $this->_syntax_error("'=' cannot be an attribute value", E_USER_ERROR, __FILE__, __LINE__); - break; - } - $last_token = $token; - } - - if($state != 0) { - if($state == 1) { - $this->_syntax_error("expecting '=' after attribute name '$last_token'", E_USER_ERROR, __FILE__, __LINE__); - } else { - $this->_syntax_error("missing attribute value", E_USER_ERROR, __FILE__, __LINE__); - } - } - - $this->_parse_vars_props($attrs); - - return $attrs; - } - - /** - * compile multiple variables and section properties tokens into - * PHP code - * - * @param array $tokens - */ - function _parse_vars_props(&$tokens) - { - foreach($tokens as $key => $val) { - $tokens[$key] = $this->_parse_var_props($val); - } - } - - /** - * compile single variable and section properties token into - * PHP code - * - * @param string $val - * @param string $tag_attrs - * @return string - */ - function _parse_var_props($val) - { - $val = trim($val); - - if(preg_match('!^(' . $this->_obj_call_regexp . '|' . $this->_dvar_regexp . ')(' . $this->_mod_regexp . '*)$!', $val, $match)) { - // $ variable or object - $return = $this->_parse_var($match[1]); - if($match[2] != '') { - $this->_parse_modifiers($return, $match[2]); - } - return $return; - } - elseif(preg_match('!^' . $this->_db_qstr_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { - // double quoted text - preg_match('!^(' . $this->_db_qstr_regexp . ')('. $this->_mod_regexp . '*)$!', $val, $match); - $return = $this->_expand_quoted_text($match[1]); - if($match[2] != '') { - $this->_parse_modifiers($return, $match[2]); - } - return $return; - } - elseif(preg_match('!^' . $this->_si_qstr_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { - // single quoted text - preg_match('!^(' . $this->_si_qstr_regexp . ')('. $this->_mod_regexp . '*)$!', $val, $match); - if($match[2] != '') { - $this->_parse_modifiers($match[1], $match[2]); - return $match[1]; - } - } - elseif(preg_match('!^' . $this->_cvar_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { - // config var - return $this->_parse_conf_var($val); - } - elseif(preg_match('!^' . $this->_svar_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { - // section var - return $this->_parse_section_prop($val); - } - elseif(!in_array($val, $this->_permitted_tokens) && !is_numeric($val)) { - // literal string - return $this->_expand_quoted_text('"' . $val .'"'); - } - return $val; - } - - /** - * expand quoted text with embedded variables - * - * @param string $var_expr - * @return string - */ - function _expand_quoted_text($var_expr) - { - // if contains unescaped $, expand it - if(preg_match_all('%(?:\`(?_dvar_guts_regexp . '\`)|(?:(?_parse_var(str_replace('`','',$_var)) . ')."', $var_expr); - } - $_return = preg_replace('%\.""|(?_dvar_math_regexp.'|'.$this->_qstr_regexp.')!', $var_expr, -1, PREG_SPLIT_DELIM_CAPTURE); - - if(count($_math_vars) > 1) { - $_first_var = ""; - $_complete_var = ""; - // simple check if there is any math, to stop recursion (due to modifiers with "xx % yy" as parameter) - foreach($_math_vars as $_k => $_math_var) { - $_math_var = $_math_vars[$_k]; - - if(!empty($_math_var) || is_numeric($_math_var)) { - // hit a math operator, so process the stuff which came before it - if(preg_match('!^' . $this->_dvar_math_regexp . '$!', $_math_var)) { - $_has_math = true; - if(!empty($_complete_var) || is_numeric($_complete_var)) { - $_output .= $this->_parse_var($_complete_var); - } - - // just output the math operator to php - $_output .= $_math_var; - - if(empty($_first_var)) - $_first_var = $_complete_var; - - $_complete_var = ""; - } else { - // fetch multiple -> (like $foo->bar->baz ) which wouldn't get fetched else, because it would only get $foo->bar and treat the ->baz as "-" ">baz" then - for($_i = $_k + 1; $_i <= count($_math_vars); $_i += 2) { - // fetch -> because it gets splitted at - and move it back together - if( /* prevent notice */ (isset($_math_vars[$_i]) && isset($_math_vars[$_i+1])) && ($_math_vars[$_i] === '-' && $_math_vars[$_i+1]{0} === '>')) { - $_math_var .= $_math_vars[$_i].$_math_vars[$_i+1]; - $_math_vars[$_i] = $_math_vars[$_i+1] = ''; - } else { - break; - } - } - $_complete_var .= $_math_var; - } - } - } - if($_has_math) { - if(!empty($_complete_var) || is_numeric($_complete_var)) - $_output .= $this->_parse_var($_complete_var, true); - - // get the modifiers working (only the last var from math + modifier is left) - $var_expr = $_complete_var; - } - } - - // prevent cutting of first digit in the number (we _definitly_ got a number if the first char is a digit) - if(is_numeric($var_expr{0})) - $_var_ref = $var_expr; - else - $_var_ref = substr($var_expr, 1); - - if(!$_has_math) { - // get [foo] and .foo and ->foo and (...) pieces - preg_match_all('!(?:^\w+)|' . $this->_obj_params_regexp . '|(?:' . $this->_var_bracket_regexp . ')|->\$?\w+|\.\$?\w+|\S+!', $_var_ref, $match); - - $_indexes = $match[0]; - $_var_name = array_shift($_indexes); - - /* Handle $smarty.* variable references as a special case. */ - if ($_var_name == 'smarty') { - /* - * If the reference could be compiled, use the compiled output; - * otherwise, fall back on the $smarty variable generated at - * run-time. - */ - if (($smarty_ref = $this->_compile_smarty_ref($_indexes)) !== null) { - $_output = $smarty_ref; - } else { - $_var_name = substr(array_shift($_indexes), 1); - $_output = "\$this->_smarty_vars['$_var_name']"; - } - } elseif(is_numeric($_var_name) && is_numeric($var_expr{0})) { - // because . is the operator for accessing arrays thru inidizes we need to put it together again for floating point numbers - if(count($_indexes) > 0) - { - $_var_name .= implode("", $_indexes); - $_indexes = array(); - } - $_output = $_var_name; - } else { - $_output = "\$this->_tpl_vars['$_var_name']"; - } - - foreach ($_indexes as $_index) { - if ($_index{0} == '[') { - $_index = substr($_index, 1, -1); - if (is_numeric($_index)) { - $_output .= "[$_index]"; - } elseif ($_index{0} == '$') { - if (strpos($_index, '.') !== false) { - $_output .= '[' . $this->_parse_var($_index) . ']'; - } else { - $_output .= "[\$this->_tpl_vars['" . substr($_index, 1) . "']]"; - } - } else { - $_var_parts = explode('.', $_index); - $_var_section = $_var_parts[0]; - $_var_section_prop = isset($_var_parts[1]) ? $_var_parts[1] : 'index'; - $_output .= "[\$this->_sections['$_var_section']['$_var_section_prop']]"; - } - } else if ($_index{0} == '.') { - if ($_index{1} == '$') - $_output .= "[\$this->_tpl_vars['" . substr($_index, 2) . "']]"; - else - $_output .= "['" . substr($_index, 1) . "']"; - } else if (substr($_index,0,2) == '->') { - if(substr($_index,2,2) == '__') { - $this->_syntax_error('call to internal object members is not allowed', E_USER_ERROR, __FILE__, __LINE__); - } elseif($this->security && substr($_index, 2, 1) == '_') { - $this->_syntax_error('(secure) call to private object member is not allowed', E_USER_ERROR, __FILE__, __LINE__); - } elseif ($_index{2} == '$') { - if ($this->security) { - $this->_syntax_error('(secure) call to dynamic object member is not allowed', E_USER_ERROR, __FILE__, __LINE__); - } else { - $_output .= '->{(($_var=$this->_tpl_vars[\''.substr($_index,3).'\']) && substr($_var,0,2)!=\'__\') ? $_var : $this->trigger_error("cannot access property \\"$_var\\"")}'; - } - } else { - $_output .= $_index; - } - } elseif ($_index{0} == '(') { - $_index = $this->_parse_parenth_args($_index); - $_output .= $_index; - } else { - $_output .= $_index; - } - } - } - - return $_output; - } - - /** - * parse arguments in function call parenthesis - * - * @param string $parenth_args - * @return string - */ - function _parse_parenth_args($parenth_args) - { - preg_match_all('!' . $this->_param_regexp . '!',$parenth_args, $match); - $match = $match[0]; - rsort($match); - reset($match); - $orig_vals = $match; - $this->_parse_vars_props($match); - return str_replace($orig_vals, $match, $parenth_args); - } - - /** - * parse configuration variable expression into PHP code - * - * @param string $conf_var_expr - */ - function _parse_conf_var($conf_var_expr) - { - $parts = explode('|', $conf_var_expr, 2); - $var_ref = $parts[0]; - $modifiers = isset($parts[1]) ? $parts[1] : ''; - - $var_name = substr($var_ref, 1, -1); - - $output = "\$this->_config[0]['vars']['$var_name']"; - - $this->_parse_modifiers($output, $modifiers); - - return $output; - } - - /** - * parse section property expression into PHP code - * - * @param string $section_prop_expr - * @return string - */ - function _parse_section_prop($section_prop_expr) - { - $parts = explode('|', $section_prop_expr, 2); - $var_ref = $parts[0]; - $modifiers = isset($parts[1]) ? $parts[1] : ''; - - preg_match('!%(\w+)\.(\w+)%!', $var_ref, $match); - $section_name = $match[1]; - $prop_name = $match[2]; - - $output = "\$this->_sections['$section_name']['$prop_name']"; - - $this->_parse_modifiers($output, $modifiers); - - return $output; - } - - - /** - * parse modifier chain into PHP code - * - * sets $output to parsed modified chain - * @param string $output - * @param string $modifier_string - */ - function _parse_modifiers(&$output, $modifier_string) - { - preg_match_all('!\|(@?\w+)((?>:(?:'. $this->_qstr_regexp . '|[^|]+))*)!', '|' . $modifier_string, $_match); - list(, $_modifiers, $modifier_arg_strings) = $_match; - - for ($_i = 0, $_for_max = count($_modifiers); $_i < $_for_max; $_i++) { - $_modifier_name = $_modifiers[$_i]; - - if($_modifier_name == 'smarty') { - // skip smarty modifier - continue; - } - - preg_match_all('!:(' . $this->_qstr_regexp . '|[^:]+)!', $modifier_arg_strings[$_i], $_match); - $_modifier_args = $_match[1]; - - if ($_modifier_name{0} == '@') { - $_map_array = false; - $_modifier_name = substr($_modifier_name, 1); - } else { - $_map_array = true; - } - - $this->_add_plugin('modifier', $_modifier_name); - if (empty($this->_plugins['modifier'][$_modifier_name]) - && !$this->_get_plugin_filepath('modifier', $_modifier_name) - && function_exists($_modifier_name)) { - if ($this->security && !in_array($_modifier_name, $this->security_settings['MODIFIER_FUNCS'])) { - $this->_trigger_fatal_error("[plugin] (secure mode) modifier '$_modifier_name' is not allowed" , $_tpl_file, $_tpl_line, __FILE__, __LINE__); - } else { - $this->_plugins['modifier'][$_modifier_name] = array($_modifier_name, null, null, false); - } - } - - $this->_parse_vars_props($_modifier_args); - - if($_modifier_name == 'default') { - // supress notifications of default modifier vars and args - if($output{0} == '$') { - $output = '@' . $output; - } - if(isset($_modifier_args[0]) && $_modifier_args[0]{0} == '$') { - $_modifier_args[0] = '@' . $_modifier_args[0]; - } - } - if (count($_modifier_args) > 0) - $_modifier_args = ', '.implode(', ', $_modifier_args); - else - $_modifier_args = ''; - - if ($_map_array) { - $output = "((is_array(\$_tmp=$output)) ? \$this->_run_mod_handler('$_modifier_name', true, \$_tmp$_modifier_args) : " . $this->_compile_plugin_call('modifier', $_modifier_name) . "(\$_tmp$_modifier_args))"; - - } else { - - $output = $this->_compile_plugin_call('modifier', $_modifier_name)."($output$_modifier_args)"; - - } - } - } - - - /** - * add plugin - * - * @param string $type - * @param string $name - * @param boolean? $delayed_loading - */ - function _add_plugin($type, $name, $delayed_loading = null) - { - if (!isset($this->_plugin_info[$type])) { - $this->_plugin_info[$type] = array(); - } - if (!isset($this->_plugin_info[$type][$name])) { - $this->_plugin_info[$type][$name] = array($this->_current_file, - $this->_current_line_no, - $delayed_loading); - } - } - - - /** - * Compiles references of type $smarty.foo - * - * @param string $indexes - * @return string - */ - function _compile_smarty_ref(&$indexes) - { - /* Extract the reference name. */ - $_ref = substr($indexes[0], 1); - foreach($indexes as $_index_no=>$_index) { - if ($_index{0} != '.' && $_index_no<2 || !preg_match('!^(\.|\[|->)!', $_index)) { - $this->_syntax_error('$smarty' . implode('', array_slice($indexes, 0, 2)) . ' is an invalid reference', E_USER_ERROR, __FILE__, __LINE__); - } - } - - switch ($_ref) { - case 'now': - $compiled_ref = 'time()'; - $_max_index = 1; - break; - - case 'foreach': - case 'section': - array_shift($indexes); - $_var = $this->_parse_var_props(substr($indexes[0], 1)); - if ($_ref == 'foreach') - $compiled_ref = "\$this->_foreach[$_var]"; - else - $compiled_ref = "\$this->_sections[$_var]"; - break; - - case 'get': - $compiled_ref = ($this->request_use_auto_globals) ? '$_GET' : "\$GLOBALS['HTTP_GET_VARS']"; - break; - - case 'post': - $compiled_ref = ($this->request_use_auto_globals) ? '$_POST' : "\$GLOBALS['HTTP_POST_VARS']"; - break; - - case 'cookies': - $compiled_ref = ($this->request_use_auto_globals) ? '$_COOKIE' : "\$GLOBALS['HTTP_COOKIE_VARS']"; - break; - - case 'env': - $compiled_ref = ($this->request_use_auto_globals) ? '$_ENV' : "\$GLOBALS['HTTP_ENV_VARS']"; - break; - - case 'server': - $compiled_ref = ($this->request_use_auto_globals) ? '$_SERVER' : "\$GLOBALS['HTTP_SERVER_VARS']"; - break; - - case 'session': - $compiled_ref = ($this->request_use_auto_globals) ? '$_SESSION' : "\$GLOBALS['HTTP_SESSION_VARS']"; - break; - - /* - * These cases are handled either at run-time or elsewhere in the - * compiler. - */ - case 'request': - if ($this->request_use_auto_globals) { - $compiled_ref = '$_REQUEST'; - break; - } else { - $this->_init_smarty_vars = true; - } - return null; - - case 'capture': - return null; - - case 'template': - $compiled_ref = "'$this->_current_file'"; - $_max_index = 1; - break; - - case 'version': - $compiled_ref = "'$this->_version'"; - $_max_index = 1; - break; - - case 'const': - array_shift($indexes); - $_val = $this->_parse_var_props(substr($indexes[0],1)); - $compiled_ref = '@constant(' . $_val . ')'; - $_max_index = 1; - break; - - case 'config': - $compiled_ref = "\$this->_config[0]['vars']"; - $_max_index = 2; - break; - - default: - $this->_syntax_error('$smarty.' . $_ref . ' is an unknown reference', E_USER_ERROR, __FILE__, __LINE__); - break; - } - - if (isset($_max_index) && count($indexes) > $_max_index) { - $this->_syntax_error('$smarty' . implode('', $indexes) .' is an invalid reference', E_USER_ERROR, __FILE__, __LINE__); - } - - array_shift($indexes); - return $compiled_ref; - } - - /** - * compiles call to plugin of type $type with name $name - * returns a string containing the function-name or method call - * without the paramter-list that would have follow to make the - * call valid php-syntax - * - * @param string $type - * @param string $name - * @return string - */ - function _compile_plugin_call($type, $name) { - if (isset($this->_plugins[$type][$name])) { - /* plugin loaded */ - if (is_array($this->_plugins[$type][$name][0])) { - return ((is_object($this->_plugins[$type][$name][0][0])) ? - "\$this->_plugins['$type']['$name'][0][0]->" /* method callback */ - : (string)($this->_plugins[$type][$name][0][0]).'::' /* class callback */ - ). $this->_plugins[$type][$name][0][1]; - - } else { - /* function callback */ - return $this->_plugins[$type][$name][0]; - - } - } else { - /* plugin not loaded -> auto-loadable-plugin */ - return 'smarty_'.$type.'_'.$name; - - } - } - - /** - * load pre- and post-filters - */ - function _load_filters() - { - if (count($this->_plugins['prefilter']) > 0) { - foreach ($this->_plugins['prefilter'] as $filter_name => $prefilter) { - if ($prefilter === false) { - unset($this->_plugins['prefilter'][$filter_name]); - $_params = array('plugins' => array(array('prefilter', $filter_name, null, null, false))); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); - smarty_core_load_plugins($_params, $this); - } - } - } - if (count($this->_plugins['postfilter']) > 0) { - foreach ($this->_plugins['postfilter'] as $filter_name => $postfilter) { - if ($postfilter === false) { - unset($this->_plugins['postfilter'][$filter_name]); - $_params = array('plugins' => array(array('postfilter', $filter_name, null, null, false))); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); - smarty_core_load_plugins($_params, $this); - } - } - } - } - - - /** - * Quote subpattern references - * - * @param string $string - * @return string - */ - function _quote_replace($string) - { - return preg_replace('![\\$]\d!', '\\\\\\0', $string); - } - - /** - * display Smarty syntax error - * - * @param string $error_msg - * @param integer $error_type - * @param string $file - * @param integer $line - */ - function _syntax_error($error_msg, $error_type = E_USER_ERROR, $file=null, $line=null) - { - if(isset($file) && isset($line)) { - $info = ' ('.basename($file).", line $line)"; - } else { - $info = null; - } - trigger_error('Smarty: [in ' . $this->_current_file . ' line ' . - $this->_current_line_no . "]: syntax error: $error_msg$info", $error_type); - } - - - /** - * check if the compilation changes from cacheable to - * non-cacheable state with the beginning of the current - * plugin. return php-code to reflect the transition. - * @return string - */ - function _push_cacheable_state($type, $name) { - $_cacheable = !isset($this->_plugins[$type][$name]) || $this->_plugins[$type][$name][4]; - if ($_cacheable - || 0<$this->_cacheable_state++) return ''; - if (!isset($this->_cache_serial)) $this->_cache_serial = md5(uniqid('Smarty')); - $_ret = 'if ($this->caching) { echo \'{nocache:' - . $this->_cache_serial . '#' . $this->_nocache_count - . '}\';}'; - return $_ret; - } - - - /** - * check if the compilation changes from non-cacheable to - * cacheable state with the end of the current plugin return - * php-code to reflect the transition. - * @return string - */ - function _pop_cacheable_state($type, $name) { - $_cacheable = !isset($this->_plugins[$type][$name]) || $this->_plugins[$type][$name][4]; - if ($_cacheable - || --$this->_cacheable_state>0) return ''; - return 'if ($this->caching) { echo \'{/nocache:' - . $this->_cache_serial . '#' . ($this->_nocache_count++) - . '}\';}'; - } - -} - -/** - * compare to values by their string length - * - * @access private - * @param string $a - * @param string $b - * @return 0|-1|1 - */ -function _smarty_sort_length($a, $b) -{ - if($a == $b) - return 0; - - if(strlen($a) == strlen($b)) - return ($a > $b) ? -1 : 1; - - return (strlen($a) > strlen($b)) ? -1 : 1; -} - - -/* vim: set et: */ - -?> + + * @author Andrei Zmievski + * @version 2.6.0 + * @copyright 2001-2003 ispi of Lincoln, Inc. + * @package Smarty + */ + +/* $Id$ */ + +/** + * Template compiling class + * @package Smarty + */ +class Smarty_Compiler extends Smarty { + + // internal vars + /**#@+ + * @access private + */ + var $_sectionelse_stack = array(); // keeps track of whether section had 'else' part + var $_foreachelse_stack = array(); // keeps track of whether foreach had 'else' part + var $_literal_blocks = array(); // keeps literal template blocks + var $_php_blocks = array(); // keeps php code blocks + var $_current_file = null; // the current template being compiled + var $_current_line_no = 1; // line number for error messages + var $_capture_stack = array(); // keeps track of nested capture buffers + var $_plugin_info = array(); // keeps track of plugins to load + var $_init_smarty_vars = false; + var $_permitted_tokens = array('true','false','yes','no','on','off','null'); + var $_db_qstr_regexp = null; // regexps are setup in the constructor + var $_si_qstr_regexp = null; + var $_qstr_regexp = null; + var $_func_regexp = null; + var $_var_bracket_regexp = null; + var $_dvar_guts_regexp = null; + var $_dvar_regexp = null; + var $_cvar_regexp = null; + var $_svar_regexp = null; + var $_avar_regexp = null; + var $_mod_regexp = null; + var $_var_regexp = null; + var $_parenth_param_regexp = null; + var $_func_call_regexp = null; + var $_obj_ext_regexp = null; + var $_obj_start_regexp = null; + var $_obj_params_regexp = null; + var $_obj_call_regexp = null; + var $_cacheable_state = 0; + var $_cache_attrs_count = 0; + var $_nocache_count = 0; + var $_cache_serial = null; + var $_cache_include = null; + + var $_strip_depth = 0; + var $_additional_newline = "\n"; + + /**#@-*/ + /** + * The class constructor. + */ + function Smarty_Compiler() + { + // matches double quoted strings: + // "foobar" + // "foo\"bar" + $this->_db_qstr_regexp = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"'; + + // matches single quoted strings: + // 'foobar' + // 'foo\'bar' + $this->_si_qstr_regexp = '\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\''; + + // matches single or double quoted strings + $this->_qstr_regexp = '(?:' . $this->_db_qstr_regexp . '|' . $this->_si_qstr_regexp . ')'; + + // matches bracket portion of vars + // [0] + // [foo] + // [$bar] + $this->_var_bracket_regexp = '\[\$?[\w\.]+\]'; + + // matches $ vars (not objects): + // $foo + // $foo.bar + // $foo.bar.foobar + // $foo[0] + // $foo[$bar] + // $foo[5][blah] + // $foo[5].bar[$foobar][4] + $this->_dvar_math_regexp = '[\+\-\*\/\%]'; + $this->_dvar_math_var_regexp = '[\$\w\.\+\-\*\/\%\d\>\[\]]'; + $this->_dvar_num_var_regexp = '\-?\d+(?:\.\d+)?' . $this->_dvar_math_var_regexp; + $this->_dvar_guts_regexp = '\w+(?:' . $this->_var_bracket_regexp + . ')*(?:\.\$?\w+(?:' . $this->_var_bracket_regexp . ')*)*(?:' . $this->_dvar_math_regexp . '(?:\-?\d+(?:\.\d+)?|' . $this->_dvar_math_var_regexp . ')*)?'; + $this->_dvar_regexp = '\$' . $this->_dvar_guts_regexp; + + // matches config vars: + // #foo# + // #foobar123_foo# + $this->_cvar_regexp = '\#\w+\#'; + + // matches section vars: + // %foo.bar% + $this->_svar_regexp = '\%\w+\.\w+\%'; + + // matches all valid variables (no quotes, no modifiers) + $this->_avar_regexp = '(?:' . $this->_dvar_regexp . '|' + . $this->_cvar_regexp . '|' . $this->_svar_regexp . ')'; + + // matches valid variable syntax: + // $foo + // $foo + // #foo# + // #foo# + // "text" + // "text" + $this->_var_regexp = '(?:' . $this->_avar_regexp . '|' . $this->_qstr_regexp . ')'; + + // matches valid object call (no objects allowed in parameters): + // $foo->bar + // $foo->bar() + // $foo->bar("text") + // $foo->bar($foo, $bar, "text") + // $foo->bar($foo, "foo") + // $foo->bar->foo() + // $foo->bar->foo->bar() + $this->_obj_ext_regexp = '\->(?:\$?' . $this->_dvar_guts_regexp . ')'; + $this->_obj_params_regexp = '\((?:\w+|' + . $this->_var_regexp . '(?:\s*,\s*(?:(?:\w+|' + . $this->_var_regexp . ')))*)?\)'; + $this->_obj_start_regexp = '(?:' . $this->_dvar_regexp . '(?:' . $this->_obj_ext_regexp . ')+)'; + $this->_obj_call_regexp = '(?:' . $this->_obj_start_regexp . '(?:' . $this->_obj_params_regexp . ')?)'; + + // matches valid modifier syntax: + // |foo + // |@foo + // |foo:"bar" + // |foo:$bar + // |foo:"bar":$foobar + // |foo|bar + // |foo:$foo->bar + $this->_mod_regexp = '(?:\|@?\w+(?::(?>-?\w+|' + . $this->_obj_call_regexp . '|' . $this->_avar_regexp . '|' . $this->_qstr_regexp .'))*)'; + + // matches valid function name: + // foo123 + // _foo_bar + $this->_func_regexp = '[a-zA-Z_]\w*'; + + // matches valid registered object: + // foo->bar + $this->_reg_obj_regexp = '[a-zA-Z_]\w*->[a-zA-Z_]\w*'; + + // matches valid parameter values: + // true + // $foo + // $foo|bar + // #foo# + // #foo#|bar + // "text" + // "text"|bar + // $foo->bar + $this->_param_regexp = '(?:\s*(?:' . $this->_obj_call_regexp . '|' + . $this->_var_regexp . '|\w+)(?>' . $this->_mod_regexp . '*)\s*)'; + + // matches valid parenthesised function parameters: + // + // "text" + // $foo, $bar, "text" + // $foo|bar, "foo"|bar, $foo->bar($foo)|bar + $this->_parenth_param_regexp = '(?:\((?:\w+|' + . $this->_param_regexp . '(?:\s*,\s*(?:(?:\w+|' + . $this->_param_regexp . ')))*)?\))'; + + // matches valid function call: + // foo() + // foo_bar($foo) + // _foo_bar($foo,"bar") + // foo123($foo,$foo->bar(),"foo") + $this->_func_call_regexp = '(?:' . $this->_func_regexp . '\s*(?:' + . $this->_parenth_param_regexp . '))'; + } + + /** + * compile a resource + * + * sets $compiled_content to the compiled source + * @param string $resource_name + * @param string $source_content + * @param string $compiled_content + * @return true + */ + function _compile_file($resource_name, $source_content, &$compiled_content) + { + + if ($this->security) { + // do not allow php syntax to be executed unless specified + if ($this->php_handling == SMARTY_PHP_ALLOW && + !$this->security_settings['PHP_HANDLING']) { + $this->php_handling = SMARTY_PHP_PASSTHRU; + } + } + + $this->_load_filters(); + + $this->_current_file = $resource_name; + $this->_current_line_no = 1; + $ldq = preg_quote($this->left_delimiter, '!'); + $rdq = preg_quote($this->right_delimiter, '!'); + + // run template source through prefilter functions + if (count($this->_plugins['prefilter']) > 0) { + foreach ($this->_plugins['prefilter'] as $filter_name => $prefilter) { + if ($prefilter === false) continue; + if ($prefilter[3] || is_callable($prefilter[0])) { + $source_content = call_user_func_array($prefilter[0], + array($source_content, &$this)); + $this->_plugins['prefilter'][$filter_name][3] = true; + } else { + $this->_trigger_fatal_error("[plugin] prefilter '$filter_name' is not implemented"); + } + } + } + + /* Annihilate the comments. */ + $source_content = preg_replace("!({$ldq})\*(.*?)\*({$rdq})!se", + "'\\1*'.str_repeat(\"\n\", substr_count('\\2', \"\n\")) .'*\\3'", + $source_content); + + /* Pull out the literal blocks. */ + preg_match_all("!{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}!s", $source_content, $_match); + $this->_literal_blocks = $_match[1]; + $source_content = preg_replace("!{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}!s", + $this->_quote_replace($this->left_delimiter.'literal'.$this->right_delimiter), $source_content); + + /* Pull out the php code blocks. */ + preg_match_all("!{$ldq}php{$rdq}(.*?){$ldq}/php{$rdq}!s", $source_content, $_match); + $this->_php_blocks = $_match[1]; + $source_content = preg_replace("!{$ldq}php{$rdq}(.*?){$ldq}/php{$rdq}!s", + $this->_quote_replace($this->left_delimiter.'php'.$this->right_delimiter), $source_content); + + /* Gather all template tags. */ + preg_match_all("!{$ldq}\s*(.*?)\s*{$rdq}!s", $source_content, $_match); + $template_tags = $_match[1]; + /* Split content by template tags to obtain non-template content. */ + $text_blocks = preg_split("!{$ldq}.*?{$rdq}!s", $source_content); + + /* loop through text blocks */ + for ($curr_tb = 0, $for_max = count($text_blocks); $curr_tb < $for_max; $curr_tb++) { + /* match anything resembling php tags */ + if (preg_match_all('!(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?php[\"\']?)!is', $text_blocks[$curr_tb], $sp_match)) { + /* replace tags with placeholders to prevent recursive replacements */ + $sp_match[1] = array_unique($sp_match[1]); + usort($sp_match[1], '_smarty_sort_length'); + for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) { + $text_blocks[$curr_tb] = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$text_blocks[$curr_tb]); + } + /* process each one */ + for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++) { + if ($this->php_handling == SMARTY_PHP_PASSTHRU) { + /* echo php contents */ + $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', ''."\n", $text_blocks[$curr_tb]); + } else if ($this->php_handling == SMARTY_PHP_QUOTE) { + /* quote php tags */ + $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', htmlspecialchars($sp_match[1][$curr_sp]), $text_blocks[$curr_tb]); + } else if ($this->php_handling == SMARTY_PHP_REMOVE) { + /* remove php tags */ + $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '', $text_blocks[$curr_tb]); + } else { + /* SMARTY_PHP_ALLOW, but echo non php starting tags */ + $sp_match[1][$curr_sp] = preg_replace('%(<\?(?!php|=|$))%i', ''."\n", $sp_match[1][$curr_sp]); + $text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%', $sp_match[1][$curr_sp], $text_blocks[$curr_tb]); + } + } + } + } + + /* Compile the template tags into PHP code. */ + $compiled_tags = array(); + for ($i = 0, $for_max = count($template_tags); $i < $for_max; $i++) { + $this->_current_line_no += substr_count($text_blocks[$i], "\n"); + $compiled_tags[] = $this->_compile_tag($template_tags[$i]); + $this->_current_line_no += substr_count($template_tags[$i], "\n"); + } + + $compiled_content = ''; + + /* Interleave the compiled contents and text blocks to get the final result. */ + for ($i = 0, $for_max = count($compiled_tags); $i < $for_max; $i++) { + if ($compiled_tags[$i] == '') { + // tag result empty, remove first newline from following text block + $text_blocks[$i+1] = preg_replace('!^(\r\n|\r|\n)!', '', $text_blocks[$i+1]); + } + $compiled_content .= $text_blocks[$i].$compiled_tags[$i]; + } + $compiled_content .= $text_blocks[$i]; + + /* Reformat data between 'strip' and '/strip' tags, removing spaces, tabs and newlines. */ + if (preg_match_all("!{$ldq}strip{$rdq}.*?{$ldq}/strip{$rdq}!s", $compiled_content, $_match)) { + $strip_tags = $_match[0]; + $strip_tags_modified = preg_replace("!{$ldq}/?strip{$rdq}|[\t ]+$|^[\t ]+!m", '', $strip_tags); + $strip_tags_modified = preg_replace('![\r\n]+!m', '', $strip_tags_modified); + for ($i = 0, $for_max = count($strip_tags); $i < $for_max; $i++) + $compiled_content = preg_replace("!{$ldq}strip{$rdq}.*?{$ldq}/strip{$rdq}!s", + $this->_quote_replace($strip_tags_modified[$i]), + $compiled_content, 1); + } + + // remove \n from the end of the file, if any + if (($_len=strlen($compiled_content)) && ($compiled_content{$_len - 1} == "\n" )) { + $compiled_content = substr($compiled_content, 0, -1); + } + + if (!empty($this->_cache_serial)) { + $compiled_content = "_cache_serials['".$this->_cache_include."'] = '".$this->_cache_serial."'; ?>" . $compiled_content; + } + + // remove unnecessary close/open tags + $compiled_content = preg_replace('!\?>\n?<\?php!', '', $compiled_content); + + // run compiled template through postfilter functions + if (count($this->_plugins['postfilter']) > 0) { + foreach ($this->_plugins['postfilter'] as $filter_name => $postfilter) { + if ($postfilter === false) continue; + if ($postfilter[3] || is_callable($postfilter[0])) { + $compiled_content = call_user_func_array($postfilter[0], + array($compiled_content, &$this)); + $this->_plugins['postfilter'][$filter_name][3] = true; + } else { + $this->_trigger_fatal_error("Smarty plugin error: postfilter '$filter_name' is not implemented"); + } + } + } + + // put header at the top of the compiled template + $template_header = "_version.", created on ".strftime("%Y-%m-%d %H:%M:%S")."\n"; + $template_header .= " compiled from ".strtr(urlencode($resource_name), array('%2F'=>'/', '%3A'=>':'))." */ ?>\n"; + + /* Emit code to load needed plugins. */ + $this->_plugins_code = ''; + if (count($this->_plugin_info)) { + $_plugins_params = "array('plugins' => array("; + foreach ($this->_plugin_info as $plugin_type => $plugins) { + foreach ($plugins as $plugin_name => $plugin_info) { + $_plugins_params .= "array('$plugin_type', '$plugin_name', '$plugin_info[0]', $plugin_info[1], "; + $_plugins_params .= $plugin_info[2] ? 'true),' : 'false),'; + } + } + $_plugins_params .= '))'; + $plugins_code = "\n"; + $template_header .= $plugins_code; + $this->_plugin_info = array(); + $this->_plugins_code = $plugins_code; + } + + if ($this->_init_smarty_vars) { + $template_header .= "\n"; + $this->_init_smarty_vars = false; + } + + $compiled_content = $template_header . $compiled_content; + + return true; + } + + /** + * Compile a template tag + * + * @param string $template_tag + * @return string + */ + function _compile_tag($template_tag) + { + /* Matched comment. */ + if ($template_tag{0} == '*' && $template_tag{strlen($template_tag) - 1} == '*') + return ''; + + /* Split tag into two three parts: command, command modifiers and the arguments. */ + if(! preg_match('/^(?:(' . $this->_obj_call_regexp . '|' . $this->_var_regexp + . '|\/?' . $this->_reg_obj_regexp . '|\/?' . $this->_func_regexp . ')(' . $this->_mod_regexp . '*)) + (?:\s+(.*))?$ + /xs', $template_tag, $match)) { + $this->_syntax_error("unrecognized tag: $template_tag", E_USER_ERROR, __FILE__, __LINE__); + } + + $tag_command = $match[1]; + $tag_modifier = isset($match[2]) ? $match[2] : null; + $tag_args = isset($match[3]) ? $match[3] : null; + + if (preg_match('!^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '$!', $tag_command)) { + /* tag name is a variable or object */ + $_return = $this->_parse_var_props($tag_command . $tag_modifier, $this->_parse_attrs($tag_args)); + if(isset($_tag_attrs['assign'])) { + return "assign('" . $this->_dequote($_tag_attrs['assign']) . "', $_return ); ?>\n"; + } else { + return "" . $this->_additional_newline; + } + } + + /* If the tag name is a registered object, we process it. */ + if (preg_match('!^\/?' . $this->_reg_obj_regexp . '$!', $tag_command)) { + return $this->_compile_registered_object_tag($tag_command, $this->_parse_attrs($tag_args), $tag_modifier); + } + + switch ($tag_command) { + case 'include': + return $this->_compile_include_tag($tag_args); + + case 'include_php': + return $this->_compile_include_php_tag($tag_args); + + case 'if': + return $this->_compile_if_tag($tag_args); + + case 'else': + return ''; + + case 'elseif': + return $this->_compile_if_tag($tag_args, true); + + case '/if': + return ''; + + case 'capture': + return $this->_compile_capture_tag(true, $tag_args); + + case '/capture': + return $this->_compile_capture_tag(false); + + case 'ldelim': + return $this->left_delimiter; + + case 'rdelim': + return $this->right_delimiter; + + case 'section': + array_push($this->_sectionelse_stack, false); + return $this->_compile_section_start($tag_args); + + case 'sectionelse': + $this->_sectionelse_stack[count($this->_sectionelse_stack)-1] = true; + return ""; + + case '/section': + if (array_pop($this->_sectionelse_stack)) + return ""; + else + return ""; + + case 'foreach': + array_push($this->_foreachelse_stack, false); + return $this->_compile_foreach_start($tag_args); + break; + + case 'foreachelse': + $this->_foreachelse_stack[count($this->_foreachelse_stack)-1] = true; + return ""; + + case '/foreach': + if (array_pop($this->_foreachelse_stack)) + return ""; + else + return ""; + + case 'strip': + case '/strip': + if ($tag_command{0}=='/') { + if (--$this->_strip_depth==0) { /* outermost closing {/strip} */ + $this->_additional_newline = "\n"; + return $this->left_delimiter.$tag_command.$this->right_delimiter; + } + } else { + if ($this->_strip_depth++==0) { /* outermost opening {strip} */ + $this->_additional_newline = ""; + return $this->left_delimiter.$tag_command.$this->right_delimiter; + } + } + return ''; + + case 'literal': + list (,$literal_block) = each($this->_literal_blocks); + $this->_current_line_no += substr_count($literal_block, "\n"); + return "" . $this->_additional_newline; + + case 'php': + if ($this->security && !$this->security_settings['PHP_TAGS']) { + $this->_syntax_error("(secure mode) php tags not permitted", E_USER_WARNING, __FILE__, __LINE__); + return; + } + list (,$php_block) = each($this->_php_blocks); + $this->_current_line_no += substr_count($php_block, "\n"); + return ''; + + case 'insert': + return $this->_compile_insert_tag($tag_args); + + default: + if ($this->_compile_compiler_tag($tag_command, $tag_args, $output)) { + return $output; + } else if ($this->_compile_block_tag($tag_command, $tag_args, $tag_modifier, $output)) { + return $output; + } else { + return $this->_compile_custom_tag($tag_command, $tag_args, $tag_modifier); + } + } + } + + + /** + * compile the custom compiler tag + * + * sets $output to the compiled custom compiler tag + * @param string $tag_command + * @param string $tag_args + * @param string $output + * @return boolean + */ + function _compile_compiler_tag($tag_command, $tag_args, &$output) + { + $found = false; + $have_function = true; + + /* + * First we check if the compiler function has already been registered + * or loaded from a plugin file. + */ + if (isset($this->_plugins['compiler'][$tag_command])) { + $found = true; + $plugin_func = $this->_plugins['compiler'][$tag_command][0]; + if (!is_callable($plugin_func)) { + $message = "compiler function '$tag_command' is not implemented"; + $have_function = false; + } + } + /* + * Otherwise we need to load plugin file and look for the function + * inside it. + */ + else if ($plugin_file = $this->_get_plugin_filepath('compiler', $tag_command)) { + $found = true; + + include_once $plugin_file; + + $plugin_func = 'smarty_compiler_' . $tag_command; + if (!is_callable($plugin_func)) { + $message = "plugin function $plugin_func() not found in $plugin_file\n"; + $have_function = false; + } else { + $this->_plugins['compiler'][$tag_command] = array($plugin_func, null, null, null, true); + } + } + + /* + * True return value means that we either found a plugin or a + * dynamically registered function. False means that we didn't and the + * compiler should now emit code to load custom function plugin for this + * tag. + */ + if ($found) { + if ($have_function) { + $output = call_user_func_array($plugin_func, array($tag_args, &$this)); + if($output != '') { + $output = '_push_cacheable_state('compiler', $tag_command) + . $output + . $this->_pop_cacheable_state('compiler', $tag_command) . ' ?>'; + } + } else { + $this->_syntax_error($message, E_USER_WARNING, __FILE__, __LINE__); + } + return true; + } else { + return false; + } + } + + + /** + * compile block function tag + * + * sets $output to compiled block function tag + * @param string $tag_command + * @param string $tag_args + * @param string $tag_modifier + * @param string $output + * @return boolean + */ + function _compile_block_tag($tag_command, $tag_args, $tag_modifier, &$output) + { + if ($tag_command{0} == '/') { + $start_tag = false; + $tag_command = substr($tag_command, 1); + } else + $start_tag = true; + + $found = false; + $have_function = true; + + /* + * First we check if the block function has already been registered + * or loaded from a plugin file. + */ + if (isset($this->_plugins['block'][$tag_command])) { + $found = true; + $plugin_func = $this->_plugins['block'][$tag_command][0]; + if (!is_callable($plugin_func)) { + $message = "block function '$tag_command' is not implemented"; + $have_function = false; + } + } + /* + * Otherwise we need to load plugin file and look for the function + * inside it. + */ + else if ($plugin_file = $this->_get_plugin_filepath('block', $tag_command)) { + $found = true; + + include_once $plugin_file; + + $plugin_func = 'smarty_block_' . $tag_command; + if (!function_exists($plugin_func)) { + $message = "plugin function $plugin_func() not found in $plugin_file\n"; + $have_function = false; + } else { + $this->_plugins['block'][$tag_command] = array($plugin_func, null, null, null, true); + + } + } + + if (!$found) { + return false; + } else if (!$have_function) { + $this->_syntax_error($message, E_USER_WARNING, __FILE__, __LINE__); + return true; + } + + /* + * Even though we've located the plugin function, compilation + * happens only once, so the plugin will still need to be loaded + * at runtime for future requests. + */ + $this->_add_plugin('block', $tag_command); + + if ($start_tag) { + $output = '_push_cacheable_state('block', $tag_command); + $attrs = $this->_parse_attrs($tag_args); + $arg_list = $this->_compile_arg_list('block', $tag_command, $attrs, $_cache_attrs=''); + $output .= "$_cache_attrs\$_params = \$this->_tag_stack[] = array('$tag_command', array(".implode(',', $arg_list).')); '; + $output .= $this->_compile_plugin_call('block', $tag_command).'($_params[1], null, $this, $_block_repeat=true); unset($_params);'; + $output .= 'while ($_block_repeat) { ob_start(); ?>'; + } else { + $output = '_block_content = ob_get_contents(); ob_end_clean(); '; + $_out_tag_text = $this->_compile_plugin_call('block', $tag_command).'($this->_tag_stack[count($this->_tag_stack)-1][1], $this->_block_content, $this, $_block_repeat=false)'; + if ($tag_modifier != '') { + $this->_parse_modifiers($_out_tag_text, $tag_modifier); + } + $output .= 'echo '.$_out_tag_text.'; } '; + $output .= " array_pop(\$this->_tag_stack); " . $this->_pop_cacheable_state('block', $tag_command) . '?>'; + } + + return true; + } + + + /** + * compile custom function tag + * + * @param string $tag_command + * @param string $tag_args + * @param string $tag_modifier + * @return string + */ + function _compile_custom_tag($tag_command, $tag_args, $tag_modifier) + { + $this->_add_plugin('function', $tag_command); + + $_cacheable_state = $this->_push_cacheable_state('function', $tag_command); + $attrs = $this->_parse_attrs($tag_args); + $arg_list = $this->_compile_arg_list('function', $tag_command, $attrs, $_cache_attrs=''); + + $_return = $this->_compile_plugin_call('function', $tag_command).'(array('.implode(',', $arg_list)."), \$this)"; + if($tag_modifier != '') { + $this->_parse_modifiers($_return, $tag_modifier); + } + + if($_return != '') { + $_return = '_pop_cacheable_state('function', $tag_command) . "?>" . $this->_additional_newline; + } + + return $_return; + } + + /** + * compile a registered object tag + * + * @param string $tag_command + * @param array $attrs + * @param string $tag_modifier + * @return string + */ + function _compile_registered_object_tag($tag_command, $attrs, $tag_modifier) + { + if ($tag_command{0} == '/') { + $start_tag = false; + $tag_command = substr($tag_command, 1); + } else { + $start_tag = true; + } + + list($object, $obj_comp) = explode('->', $tag_command); + + $arg_list = array(); + if(count($attrs)) { + $_assign_var = false; + foreach ($attrs as $arg_name => $arg_value) { + if($arg_name == 'assign') { + $_assign_var = $arg_value; + unset($attrs['assign']); + continue; + } + if (is_bool($arg_value)) + $arg_value = $arg_value ? 'true' : 'false'; + $arg_list[] = "'$arg_name' => $arg_value"; + } + } + + if($this->_reg_objects[$object][2]) { + // smarty object argument format + $args = "array(".implode(',', (array)$arg_list)."), \$this"; + } else { + // traditional argument format + $args = implode(',', array_values($attrs)); + if (empty($args)) { + $args = 'null'; + } + } + + $prefix = ''; + $postfix = ''; + $newline = ''; + if(!is_object($this->_reg_objects[$object][0])) { + $this->_trigger_fatal_error("registered '$object' is not an object"); + } elseif(!empty($this->_reg_objects[$object][1]) && !in_array($obj_comp, $this->_reg_objects[$object][1])) { + $this->_trigger_fatal_error("'$obj_comp' is not a registered component of object '$object'"); + } elseif(method_exists($this->_reg_objects[$object][0], $obj_comp)) { + // method + if(in_array($obj_comp, $this->_reg_objects[$object][3])) { + // block method + if ($start_tag) { + $prefix = "\$this->_tag_stack[] = array('$obj_comp', $args); "; + $prefix .= "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], null, \$this, \$_block_repeat=true); "; + $prefix .= "while (\$_block_repeat) { ob_start();"; + $return = null; + $postfix = ''; + } else { + $prefix = "\$this->_obj_block_content = ob_get_contents(); ob_end_clean(); "; + $return = "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], \$this->_obj_block_content, \$this, \$_block_repeat=false)"; + $postfix = "} array_pop(\$this->_tag_stack);"; + } + } else { + // non-block method + $return = "\$this->_reg_objects['$object'][0]->$obj_comp($args)"; + } + } else { + // property + $return = "\$this->_reg_objects['$object'][0]->$obj_comp"; + } + + if($return != null) { + if($tag_modifier != '') { + $this->_parse_modifiers($return, $tag_modifier); + } + + if(!empty($_assign_var)) { + $output = "\$this->assign('" . $this->_dequote($_assign_var) ."', $return);"; + } else { + $output = 'echo ' . $return . ';'; + $newline = $this->_additional_newline; + } + } else { + $output = ''; + } + + return '" . $newline; + } + + /** + * Compile {insert ...} tag + * + * @param string $tag_args + * @return string + */ + function _compile_insert_tag($tag_args) + { + $attrs = $this->_parse_attrs($tag_args); + $name = $this->_dequote($attrs['name']); + + if (empty($name)) { + $this->_syntax_error("missing insert name", E_USER_ERROR, __FILE__, __LINE__); + } + + if (!empty($attrs['script'])) { + $delayed_loading = true; + } else { + $delayed_loading = false; + } + + foreach ($attrs as $arg_name => $arg_value) { + if (is_bool($arg_value)) + $arg_value = $arg_value ? 'true' : 'false'; + $arg_list[] = "'$arg_name' => $arg_value"; + } + + $this->_add_plugin('insert', $name, $delayed_loading); + + $_params = "array('args' => array(".implode(', ', (array)$arg_list)."))"; + + return "" . $this->_additional_newline; + } + + /** + * Compile {include ...} tag + * + * @param string $tag_args + * @return string + */ + function _compile_include_tag($tag_args) + { + $attrs = $this->_parse_attrs($tag_args); + $arg_list = array(); + + if (empty($attrs['file'])) { + $this->_syntax_error("missing 'file' attribute in include tag", E_USER_ERROR, __FILE__, __LINE__); + } + + foreach ($attrs as $arg_name => $arg_value) { + if ($arg_name == 'file') { + $include_file = $arg_value; + continue; + } else if ($arg_name == 'assign') { + $assign_var = $arg_value; + continue; + } + if (is_bool($arg_value)) + $arg_value = $arg_value ? 'true' : 'false'; + $arg_list[] = "'$arg_name' => $arg_value"; + } + + $output = '_tpl_vars;\n"; + + + $_params = "array('smarty_include_tpl_file' => " . $include_file . ", 'smarty_include_vars' => array(".implode(',', (array)$arg_list)."))"; + $output .= "\$this->_smarty_include($_params);\n" . + "\$this->_tpl_vars = \$_smarty_tpl_vars;\n" . + "unset(\$_smarty_tpl_vars);\n"; + + if (isset($assign_var)) { + $output .= "\$this->assign(" . $assign_var . ", ob_get_contents()); ob_end_clean();\n"; + } + + $output .= ' ?>'; + + return $output; + + } + + /** + * Compile {include ...} tag + * + * @param string $tag_args + * @return string + */ + function _compile_include_php_tag($tag_args) + { + $attrs = $this->_parse_attrs($tag_args); + + if (empty($attrs['file'])) { + $this->_syntax_error("missing 'file' attribute in include_php tag", E_USER_ERROR, __FILE__, __LINE__); + } + + $assign_var = (empty($attrs['assign'])) ? '' : $this->_dequote($attrs['assign']); + $once_var = (empty($attrs['once']) || $attrs['once']=='false') ? 'false' : 'true'; + + foreach($attrs as $arg_name => $arg_value) { + if($arg_name != 'file' AND $arg_name != 'once' AND $arg_name != 'assign') { + if(is_bool($arg_value)) + $arg_value = $arg_value ? 'true' : 'false'; + $arg_list[] = "'$arg_name' => $arg_value"; + } + } + + $_params = "array('smarty_file' => " . $attrs['file'] . ", 'smarty_assign' => '$assign_var', 'smarty_once' => $once_var, 'smarty_include_vars' => array(".implode(',', (array)$arg_list)."))"; + + return "" . $this->_additional_newline; + } + + + /** + * Compile {section ...} tag + * + * @param string $tag_args + * @return string + */ + function _compile_section_start($tag_args) + { + $attrs = $this->_parse_attrs($tag_args); + $arg_list = array(); + + $output = '_syntax_error("missing section name", E_USER_ERROR, __FILE__, __LINE__); + } + + $output .= "if (isset(\$this->_sections[$section_name])) unset(\$this->_sections[$section_name]);\n"; + $section_props = "\$this->_sections[$section_name]"; + + foreach ($attrs as $attr_name => $attr_value) { + switch ($attr_name) { + case 'loop': + $output .= "{$section_props}['loop'] = is_array(\$_loop=$attr_value) ? count(\$_loop) : max(0, (int)\$_loop); unset(\$_loop);\n"; + break; + + case 'show': + if (is_bool($attr_value)) + $show_attr_value = $attr_value ? 'true' : 'false'; + else + $show_attr_value = "(bool)$attr_value"; + $output .= "{$section_props}['show'] = $show_attr_value;\n"; + break; + + case 'name': + $output .= "{$section_props}['$attr_name'] = $attr_value;\n"; + break; + + case 'max': + case 'start': + $output .= "{$section_props}['$attr_name'] = (int)$attr_value;\n"; + break; + + case 'step': + $output .= "{$section_props}['$attr_name'] = ((int)$attr_value) == 0 ? 1 : (int)$attr_value;\n"; + break; + + default: + $this->_syntax_error("unknown section attribute - '$attr_name'", E_USER_ERROR, __FILE__, __LINE__); + break; + } + } + + if (!isset($attrs['show'])) + $output .= "{$section_props}['show'] = true;\n"; + + if (!isset($attrs['loop'])) + $output .= "{$section_props}['loop'] = 1;\n"; + + if (!isset($attrs['max'])) + $output .= "{$section_props}['max'] = {$section_props}['loop'];\n"; + else + $output .= "if ({$section_props}['max'] < 0)\n" . + " {$section_props}['max'] = {$section_props}['loop'];\n"; + + if (!isset($attrs['step'])) + $output .= "{$section_props}['step'] = 1;\n"; + + if (!isset($attrs['start'])) + $output .= "{$section_props}['start'] = {$section_props}['step'] > 0 ? 0 : {$section_props}['loop']-1;\n"; + else { + $output .= "if ({$section_props}['start'] < 0)\n" . + " {$section_props}['start'] = max({$section_props}['step'] > 0 ? 0 : -1, {$section_props}['loop'] + {$section_props}['start']);\n" . + "else\n" . + " {$section_props}['start'] = min({$section_props}['start'], {$section_props}['step'] > 0 ? {$section_props}['loop'] : {$section_props}['loop']-1);\n"; + } + + $output .= "if ({$section_props}['show']) {\n"; + if (!isset($attrs['start']) && !isset($attrs['step']) && !isset($attrs['max'])) { + $output .= " {$section_props}['total'] = {$section_props}['loop'];\n"; + } else { + $output .= " {$section_props}['total'] = min(ceil(({$section_props}['step'] > 0 ? {$section_props}['loop'] - {$section_props}['start'] : {$section_props}['start']+1)/abs({$section_props}['step'])), {$section_props}['max']);\n"; + } + $output .= " if ({$section_props}['total'] == 0)\n" . + " {$section_props}['show'] = false;\n" . + "} else\n" . + " {$section_props}['total'] = 0;\n"; + + $output .= "if ({$section_props}['show']):\n"; + $output .= " + for ({$section_props}['index'] = {$section_props}['start'], {$section_props}['iteration'] = 1; + {$section_props}['iteration'] <= {$section_props}['total']; + {$section_props}['index'] += {$section_props}['step'], {$section_props}['iteration']++):\n"; + $output .= "{$section_props}['rownum'] = {$section_props}['iteration'];\n"; + $output .= "{$section_props}['index_prev'] = {$section_props}['index'] - {$section_props}['step'];\n"; + $output .= "{$section_props}['index_next'] = {$section_props}['index'] + {$section_props}['step'];\n"; + $output .= "{$section_props}['first'] = ({$section_props}['iteration'] == 1);\n"; + $output .= "{$section_props}['last'] = ({$section_props}['iteration'] == {$section_props}['total']);\n"; + + $output .= "?>"; + + return $output; + } + + + /** + * Compile {foreach ...} tag. + * + * @param string $tag_args + * @return string + */ + function _compile_foreach_start($tag_args) + { + $attrs = $this->_parse_attrs($tag_args); + $arg_list = array(); + + if (empty($attrs['from'])) { + $this->_syntax_error("missing 'from' attribute", E_USER_ERROR, __FILE__, __LINE__); + } + + if (empty($attrs['item'])) { + $this->_syntax_error("missing 'item' attribute", E_USER_ERROR, __FILE__, __LINE__); + } + + $from = $attrs['from']; + $item = $this->_dequote($attrs['item']); + if (isset($attrs['name'])) + $name = $attrs['name']; + + $output = '_foreach[$name])) unset(\$this->_foreach[$name]);\n"; + $foreach_props = "\$this->_foreach[$name]"; + } + + $key_part = ''; + + foreach ($attrs as $attr_name => $attr_value) { + switch ($attr_name) { + case 'key': + $key = $this->_dequote($attrs['key']); + $key_part = "\$this->_tpl_vars['$key'] => "; + break; + + case 'name': + $output .= "{$foreach_props}['$attr_name'] = $attr_value;\n"; + break; + } + } + + if (isset($name)) { + $output .= "{$foreach_props}['total'] = count(\$_from = (array)$from);\n"; + $output .= "{$foreach_props}['show'] = {$foreach_props}['total'] > 0;\n"; + $output .= "if ({$foreach_props}['show']):\n"; + $output .= "{$foreach_props}['iteration'] = 0;\n"; + $output .= " foreach (\$_from as $key_part\$this->_tpl_vars['$item']):\n"; + $output .= " {$foreach_props}['iteration']++;\n"; + $output .= " {$foreach_props}['first'] = ({$foreach_props}['iteration'] == 1);\n"; + $output .= " {$foreach_props}['last'] = ({$foreach_props}['iteration'] == {$foreach_props}['total']);\n"; + } else { + $output .= "if (count(\$_from = (array)$from)):\n"; + $output .= " foreach (\$_from as $key_part\$this->_tpl_vars['$item']):\n"; + } + $output .= '?>'; + + return $output; + } + + + /** + * Compile {capture} .. {/capture} tags + * + * @param boolean $start true if this is the {capture} tag + * @param string $tag_args + * @return string + */ + + function _compile_capture_tag($start, $tag_args = '') + { + $attrs = $this->_parse_attrs($tag_args); + + if ($start) { + if (isset($attrs['name'])) + $buffer = $attrs['name']; + else + $buffer = "'default'"; + + if (isset($attrs['assign'])) + $assign = $attrs['assign']; + else + $assign = null; + $output = ""; + $this->_capture_stack[] = array($buffer, $assign); + } else { + list($buffer, $assign) = array_pop($this->_capture_stack); + $output = "_smarty_vars['capture'][$buffer] = ob_get_contents(); "; + if (isset($assign)) { + $output .= " \$this->assign($assign, ob_get_contents());"; + } + $output .= "ob_end_clean(); ?>"; + } + + return $output; + } + + /** + * Compile {if ...} tag + * + * @param string $tag_args + * @param boolean $elseif if true, uses elseif instead of if + * @return string + */ + function _compile_if_tag($tag_args, $elseif = false) + { + + /* Tokenize args for 'if' tag. */ + preg_match_all('/(?> + ' . $this->_obj_call_regexp . '(?:' . $this->_mod_regexp . '*)? | # valid object call + ' . $this->_var_regexp . '(?:' . $this->_mod_regexp . '*)? | # var or quoted string + \-?0[xX][0-9a-fA-F]+|\-?\d+(?:\.\d+)?|\.\d+|!==|===|==|!=|<>|<<|>>|<=|>=|\&\&|\|\||\(|\)|,|\!|\^|=|\&|\~|<|>|\||\%|\+|\-|\/|\*|\@ | # valid non-word token + \b\w+\b | # valid word token + \S+ # anything else + )/x', $tag_args, $match); + + $tokens = $match[0]; + + // make sure we have balanced parenthesis + $token_count = array_count_values($tokens); + if(isset($token_count['(']) && $token_count['('] != $token_count[')']) { + $this->_syntax_error("unbalanced parenthesis in if statement", E_USER_ERROR, __FILE__, __LINE__); + } + + $is_arg_stack = array(); + + for ($i = 0; $i < count($tokens); $i++) { + + $token = &$tokens[$i]; + + switch (strtolower($token)) { + case '!': + case '%': + case '!==': + case '==': + case '===': + case '>': + case '<': + case '!=': + case '<>': + case '<<': + case '>>': + case '<=': + case '>=': + case '&&': + case '||': + case '|': + case '^': + case '&': + case '~': + case ')': + case ',': + case '+': + case '-': + case '*': + case '/': + case '@': + break; + + case 'eq': + $token = '=='; + break; + + case 'ne': + case 'neq': + $token = '!='; + break; + + case 'lt': + $token = '<'; + break; + + case 'le': + case 'lte': + $token = '<='; + break; + + case 'gt': + $token = '>'; + break; + + case 'ge': + case 'gte': + $token = '>='; + break; + + case 'and': + $token = '&&'; + break; + + case 'or': + $token = '||'; + break; + + case 'not': + $token = '!'; + break; + + case 'mod': + $token = '%'; + break; + + case '(': + array_push($is_arg_stack, $i); + break; + + case 'is': + /* If last token was a ')', we operate on the parenthesized + expression. The start of the expression is on the stack. + Otherwise, we operate on the last encountered token. */ + if ($tokens[$i-1] == ')') + $is_arg_start = array_pop($is_arg_stack); + else + $is_arg_start = $i-1; + /* Construct the argument for 'is' expression, so it knows + what to operate on. */ + $is_arg = implode(' ', array_slice($tokens, $is_arg_start, $i - $is_arg_start)); + + /* Pass all tokens from next one until the end to the + 'is' expression parsing function. The function will + return modified tokens, where the first one is the result + of the 'is' expression and the rest are the tokens it + didn't touch. */ + $new_tokens = $this->_parse_is_expr($is_arg, array_slice($tokens, $i+1)); + + /* Replace the old tokens with the new ones. */ + array_splice($tokens, $is_arg_start, count($tokens), $new_tokens); + + /* Adjust argument start so that it won't change from the + current position for the next iteration. */ + $i = $is_arg_start; + break; + + default: + if(preg_match('!^' . $this->_func_regexp . '$!', $token) ) { + // function call + if($this->security && + !in_array($token, $this->security_settings['IF_FUNCS'])) { + $this->_syntax_error("(secure mode) '$token' not allowed in if statement", E_USER_ERROR, __FILE__, __LINE__); + } + } elseif(preg_match('!^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '(?:' . $this->_mod_regexp . '*)$!', $token)) { + // object or variable + $token = $this->_parse_var_props($token); + } elseif(is_numeric($token)) { + // number, skip it + } else { + $this->_syntax_error("unidentified token '$token'", E_USER_ERROR, __FILE__, __LINE__); + } + break; + } + } + + if ($elseif) + return ''; + else + return ''; + } + + + function _compile_arg_list($type, $name, $attrs, &$cache_code) { + $arg_list = array(); + + if (isset($type) && isset($name) + && isset($this->_plugins[$type]) + && isset($this->_plugins[$type][$name]) + && empty($this->_plugins[$type][$name][4]) + && is_array($this->_plugins[$type][$name][5]) + ) { + /* we have a list of parameters that should be cached */ + $_cache_attrs = $this->_plugins[$type][$name][5]; + $_count = $this->_cache_attrs_count++; + $cache_code = "\$_cache_attrs =& \$this->_smarty_cache_attrs('$this->_cache_serial','$_count');"; + + } else { + /* no parameters are cached */ + $_cache_attrs = null; + } + + foreach ($attrs as $arg_name => $arg_value) { + if (is_bool($arg_value)) + $arg_value = $arg_value ? 'true' : 'false'; + if (is_null($arg_value)) + $arg_value = 'null'; + if ($_cache_attrs && in_array($arg_name, $_cache_attrs)) { + $arg_list[] = "'$arg_name' => (\$this->_cache_including) ? \$_cache_attrs['$arg_name'] : (\$_cache_attrs['$arg_name']=$arg_value)"; + } else { + $arg_list[] = "'$arg_name' => $arg_value"; + } + } + return $arg_list; + } + + /** + * Parse is expression + * + * @param string $is_arg + * @param array $tokens + * @return array + */ + function _parse_is_expr($is_arg, $tokens) + { + $expr_end = 0; + $negate_expr = false; + + if (($first_token = array_shift($tokens)) == 'not') { + $negate_expr = true; + $expr_type = array_shift($tokens); + } else + $expr_type = $first_token; + + switch ($expr_type) { + case 'even': + if (@$tokens[$expr_end] == 'by') { + $expr_end++; + $expr_arg = $tokens[$expr_end++]; + $expr = "!(($is_arg / $expr_arg) % " . $this->_parse_var_props($expr_arg) . ")"; + } else + $expr = "!($is_arg % 2)"; + break; + + case 'odd': + if (@$tokens[$expr_end] == 'by') { + $expr_end++; + $expr_arg = $tokens[$expr_end++]; + $expr = "(($is_arg / $expr_arg) % ". $this->_parse_var_props($expr_arg) . ")"; + } else + $expr = "($is_arg % 2)"; + break; + + case 'div': + if (@$tokens[$expr_end] == 'by') { + $expr_end++; + $expr_arg = $tokens[$expr_end++]; + $expr = "!($is_arg % " . $this->_parse_var_props($expr_arg) . ")"; + } else { + $this->_syntax_error("expecting 'by' after 'div'", E_USER_ERROR, __FILE__, __LINE__); + } + break; + + default: + $this->_syntax_error("unknown 'is' expression - '$expr_type'", E_USER_ERROR, __FILE__, __LINE__); + break; + } + + if ($negate_expr) { + $expr = "!($expr)"; + } + + array_splice($tokens, 0, $expr_end, $expr); + + return $tokens; + } + + + /** + * Parse attribute string + * + * @param string $tag_args + * @return array + */ + function _parse_attrs($tag_args) + { + + /* Tokenize tag attributes. */ + preg_match_all('/(?:' . $this->_obj_call_regexp . '|' . $this->_qstr_regexp . ' | (?>[^"\'=\s]+) + )+ | + [=] + /x', $tag_args, $match); + $tokens = $match[0]; + + $attrs = array(); + /* Parse state: + 0 - expecting attribute name + 1 - expecting '=' + 2 - expecting attribute value (not '=') */ + $state = 0; + + foreach ($tokens as $token) { + switch ($state) { + case 0: + /* If the token is a valid identifier, we set attribute name + and go to state 1. */ + if (preg_match('!^\w+$!', $token)) { + $attr_name = $token; + $state = 1; + } else + $this->_syntax_error("invalid attribute name: '$token'", E_USER_ERROR, __FILE__, __LINE__); + break; + + case 1: + /* If the token is '=', then we go to state 2. */ + if ($token == '=') { + $state = 2; + } else + $this->_syntax_error("expecting '=' after attribute name '$last_token'", E_USER_ERROR, __FILE__, __LINE__); + break; + + case 2: + /* If token is not '=', we set the attribute value and go to + state 0. */ + if ($token != '=') { + /* We booleanize the token if it's a non-quoted possible + boolean value. */ + if (preg_match('!^(on|yes|true)$!', $token)) { + $token = 'true'; + } else if (preg_match('!^(off|no|false)$!', $token)) { + $token = 'false'; + } else if ($token == 'null') { + $token = 'null'; + } else if (preg_match('!^-?([0-9]+|0[xX][0-9a-fA-F]+)$!', $token)) { + /* treat integer literally */ + } else if (!preg_match('!^' . $this->_obj_call_regexp . '|' . $this->_var_regexp . '(?:' . $this->_mod_regexp . ')*$!', $token)) { + /* treat as a string, double-quote it escaping quotes */ + $token = '"'.addslashes($token).'"'; + } + + $attrs[$attr_name] = $token; + $state = 0; + } else + $this->_syntax_error("'=' cannot be an attribute value", E_USER_ERROR, __FILE__, __LINE__); + break; + } + $last_token = $token; + } + + if($state != 0) { + if($state == 1) { + $this->_syntax_error("expecting '=' after attribute name '$last_token'", E_USER_ERROR, __FILE__, __LINE__); + } else { + $this->_syntax_error("missing attribute value", E_USER_ERROR, __FILE__, __LINE__); + } + } + + $this->_parse_vars_props($attrs); + + return $attrs; + } + + /** + * compile multiple variables and section properties tokens into + * PHP code + * + * @param array $tokens + */ + function _parse_vars_props(&$tokens) + { + foreach($tokens as $key => $val) { + $tokens[$key] = $this->_parse_var_props($val); + } + } + + /** + * compile single variable and section properties token into + * PHP code + * + * @param string $val + * @param string $tag_attrs + * @return string + */ + function _parse_var_props($val) + { + $val = trim($val); + + if(preg_match('!^(' . $this->_obj_call_regexp . '|' . $this->_dvar_regexp . ')(' . $this->_mod_regexp . '*)$!', $val, $match)) { + // $ variable or object + $return = $this->_parse_var($match[1]); + if($match[2] != '') { + $this->_parse_modifiers($return, $match[2]); + } + return $return; + } + elseif(preg_match('!^' . $this->_db_qstr_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { + // double quoted text + preg_match('!^(' . $this->_db_qstr_regexp . ')('. $this->_mod_regexp . '*)$!', $val, $match); + $return = $this->_expand_quoted_text($match[1]); + if($match[2] != '') { + $this->_parse_modifiers($return, $match[2]); + } + return $return; + } + elseif(preg_match('!^' . $this->_si_qstr_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { + // single quoted text + preg_match('!^(' . $this->_si_qstr_regexp . ')('. $this->_mod_regexp . '*)$!', $val, $match); + if($match[2] != '') { + $this->_parse_modifiers($match[1], $match[2]); + return $match[1]; + } + } + elseif(preg_match('!^' . $this->_cvar_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { + // config var + return $this->_parse_conf_var($val); + } + elseif(preg_match('!^' . $this->_svar_regexp . '(?:' . $this->_mod_regexp . '*)$!', $val)) { + // section var + return $this->_parse_section_prop($val); + } + elseif(!in_array($val, $this->_permitted_tokens) && !is_numeric($val)) { + // literal string + return $this->_expand_quoted_text('"' . $val .'"'); + } + return $val; + } + + /** + * expand quoted text with embedded variables + * + * @param string $var_expr + * @return string + */ + function _expand_quoted_text($var_expr) + { + // if contains unescaped $, expand it + if(preg_match_all('%(?:\`(?_dvar_guts_regexp . '\`)|(?:(?_parse_var(str_replace('`','',$_var)) . ')."', $var_expr); + } + $_return = preg_replace('%\.""|(?_dvar_math_regexp.'|'.$this->_qstr_regexp.')!', $var_expr, -1, PREG_SPLIT_DELIM_CAPTURE); + + if(count($_math_vars) > 1) { + $_first_var = ""; + $_complete_var = ""; + // simple check if there is any math, to stop recursion (due to modifiers with "xx % yy" as parameter) + foreach($_math_vars as $_k => $_math_var) { + $_math_var = $_math_vars[$_k]; + + if(!empty($_math_var) || is_numeric($_math_var)) { + // hit a math operator, so process the stuff which came before it + if(preg_match('!^' . $this->_dvar_math_regexp . '$!', $_math_var)) { + $_has_math = true; + if(!empty($_complete_var) || is_numeric($_complete_var)) { + $_output .= $this->_parse_var($_complete_var); + } + + // just output the math operator to php + $_output .= $_math_var; + + if(empty($_first_var)) + $_first_var = $_complete_var; + + $_complete_var = ""; + } else { + // fetch multiple -> (like $foo->bar->baz ) which wouldn't get fetched else, because it would only get $foo->bar and treat the ->baz as "-" ">baz" then + for($_i = $_k + 1; $_i <= count($_math_vars); $_i += 2) { + // fetch -> because it gets splitted at - and move it back together + if( /* prevent notice */ (isset($_math_vars[$_i]) && isset($_math_vars[$_i+1])) && ($_math_vars[$_i] === '-' && $_math_vars[$_i+1]{0} === '>')) { + $_math_var .= $_math_vars[$_i].$_math_vars[$_i+1]; + $_math_vars[$_i] = $_math_vars[$_i+1] = ''; + } else { + break; + } + } + $_complete_var .= $_math_var; + } + } + } + if($_has_math) { + if(!empty($_complete_var) || is_numeric($_complete_var)) + $_output .= $this->_parse_var($_complete_var, true); + + // get the modifiers working (only the last var from math + modifier is left) + $var_expr = $_complete_var; + } + } + + // prevent cutting of first digit in the number (we _definitly_ got a number if the first char is a digit) + if(is_numeric($var_expr{0})) + $_var_ref = $var_expr; + else + $_var_ref = substr($var_expr, 1); + + if(!$_has_math) { + // get [foo] and .foo and ->foo and (...) pieces + preg_match_all('!(?:^\w+)|' . $this->_obj_params_regexp . '|(?:' . $this->_var_bracket_regexp . ')|->\$?\w+|\.\$?\w+|\S+!', $_var_ref, $match); + + $_indexes = $match[0]; + $_var_name = array_shift($_indexes); + + /* Handle $smarty.* variable references as a special case. */ + if ($_var_name == 'smarty') { + /* + * If the reference could be compiled, use the compiled output; + * otherwise, fall back on the $smarty variable generated at + * run-time. + */ + if (($smarty_ref = $this->_compile_smarty_ref($_indexes)) !== null) { + $_output = $smarty_ref; + } else { + $_var_name = substr(array_shift($_indexes), 1); + $_output = "\$this->_smarty_vars['$_var_name']"; + } + } elseif(is_numeric($_var_name) && is_numeric($var_expr{0})) { + // because . is the operator for accessing arrays thru inidizes we need to put it together again for floating point numbers + if(count($_indexes) > 0) + { + $_var_name .= implode("", $_indexes); + $_indexes = array(); + } + $_output = $_var_name; + } else { + $_output = "\$this->_tpl_vars['$_var_name']"; + } + + foreach ($_indexes as $_index) { + if ($_index{0} == '[') { + $_index = substr($_index, 1, -1); + if (is_numeric($_index)) { + $_output .= "[$_index]"; + } elseif ($_index{0} == '$') { + if (strpos($_index, '.') !== false) { + $_output .= '[' . $this->_parse_var($_index) . ']'; + } else { + $_output .= "[\$this->_tpl_vars['" . substr($_index, 1) . "']]"; + } + } else { + $_var_parts = explode('.', $_index); + $_var_section = $_var_parts[0]; + $_var_section_prop = isset($_var_parts[1]) ? $_var_parts[1] : 'index'; + $_output .= "[\$this->_sections['$_var_section']['$_var_section_prop']]"; + } + } else if ($_index{0} == '.') { + if ($_index{1} == '$') + $_output .= "[\$this->_tpl_vars['" . substr($_index, 2) . "']]"; + else + $_output .= "['" . substr($_index, 1) . "']"; + } else if (substr($_index,0,2) == '->') { + if(substr($_index,2,2) == '__') { + $this->_syntax_error('call to internal object members is not allowed', E_USER_ERROR, __FILE__, __LINE__); + } elseif($this->security && substr($_index, 2, 1) == '_') { + $this->_syntax_error('(secure) call to private object member is not allowed', E_USER_ERROR, __FILE__, __LINE__); + } elseif ($_index{2} == '$') { + if ($this->security) { + $this->_syntax_error('(secure) call to dynamic object member is not allowed', E_USER_ERROR, __FILE__, __LINE__); + } else { + $_output .= '->{(($_var=$this->_tpl_vars[\''.substr($_index,3).'\']) && substr($_var,0,2)!=\'__\') ? $_var : $this->trigger_error("cannot access property \\"$_var\\"")}'; + } + } else { + $_output .= $_index; + } + } elseif ($_index{0} == '(') { + $_index = $this->_parse_parenth_args($_index); + $_output .= $_index; + } else { + $_output .= $_index; + } + } + } + + return $_output; + } + + /** + * parse arguments in function call parenthesis + * + * @param string $parenth_args + * @return string + */ + function _parse_parenth_args($parenth_args) + { + preg_match_all('!' . $this->_param_regexp . '!',$parenth_args, $match); + $match = $match[0]; + rsort($match); + reset($match); + $orig_vals = $match; + $this->_parse_vars_props($match); + return str_replace($orig_vals, $match, $parenth_args); + } + + /** + * parse configuration variable expression into PHP code + * + * @param string $conf_var_expr + */ + function _parse_conf_var($conf_var_expr) + { + $parts = explode('|', $conf_var_expr, 2); + $var_ref = $parts[0]; + $modifiers = isset($parts[1]) ? $parts[1] : ''; + + $var_name = substr($var_ref, 1, -1); + + $output = "\$this->_config[0]['vars']['$var_name']"; + + $this->_parse_modifiers($output, $modifiers); + + return $output; + } + + /** + * parse section property expression into PHP code + * + * @param string $section_prop_expr + * @return string + */ + function _parse_section_prop($section_prop_expr) + { + $parts = explode('|', $section_prop_expr, 2); + $var_ref = $parts[0]; + $modifiers = isset($parts[1]) ? $parts[1] : ''; + + preg_match('!%(\w+)\.(\w+)%!', $var_ref, $match); + $section_name = $match[1]; + $prop_name = $match[2]; + + $output = "\$this->_sections['$section_name']['$prop_name']"; + + $this->_parse_modifiers($output, $modifiers); + + return $output; + } + + + /** + * parse modifier chain into PHP code + * + * sets $output to parsed modified chain + * @param string $output + * @param string $modifier_string + */ + function _parse_modifiers(&$output, $modifier_string) + { + preg_match_all('!\|(@?\w+)((?>:(?:'. $this->_qstr_regexp . '|[^|]+))*)!', '|' . $modifier_string, $_match); + list(, $_modifiers, $modifier_arg_strings) = $_match; + + for ($_i = 0, $_for_max = count($_modifiers); $_i < $_for_max; $_i++) { + $_modifier_name = $_modifiers[$_i]; + + if($_modifier_name == 'smarty') { + // skip smarty modifier + continue; + } + + preg_match_all('!:(' . $this->_qstr_regexp . '|[^:]+)!', $modifier_arg_strings[$_i], $_match); + $_modifier_args = $_match[1]; + + if ($_modifier_name{0} == '@') { + $_map_array = false; + $_modifier_name = substr($_modifier_name, 1); + } else { + $_map_array = true; + } + + $this->_add_plugin('modifier', $_modifier_name); + if (empty($this->_plugins['modifier'][$_modifier_name]) + && !$this->_get_plugin_filepath('modifier', $_modifier_name) + && function_exists($_modifier_name)) { + if ($this->security && !in_array($_modifier_name, $this->security_settings['MODIFIER_FUNCS'])) { + $this->_trigger_fatal_error("[plugin] (secure mode) modifier '$_modifier_name' is not allowed" , $_tpl_file, $_tpl_line, __FILE__, __LINE__); + } else { + $this->_plugins['modifier'][$_modifier_name] = array($_modifier_name, null, null, false); + } + } + + $this->_parse_vars_props($_modifier_args); + + if($_modifier_name == 'default') { + // supress notifications of default modifier vars and args + if($output{0} == '$') { + $output = '@' . $output; + } + if(isset($_modifier_args[0]) && $_modifier_args[0]{0} == '$') { + $_modifier_args[0] = '@' . $_modifier_args[0]; + } + } + if (count($_modifier_args) > 0) + $_modifier_args = ', '.implode(', ', $_modifier_args); + else + $_modifier_args = ''; + + if ($_map_array) { + $output = "((is_array(\$_tmp=$output)) ? \$this->_run_mod_handler('$_modifier_name', true, \$_tmp$_modifier_args) : " . $this->_compile_plugin_call('modifier', $_modifier_name) . "(\$_tmp$_modifier_args))"; + + } else { + + $output = $this->_compile_plugin_call('modifier', $_modifier_name)."($output$_modifier_args)"; + + } + } + } + + + /** + * add plugin + * + * @param string $type + * @param string $name + * @param boolean? $delayed_loading + */ + function _add_plugin($type, $name, $delayed_loading = null) + { + if (!isset($this->_plugin_info[$type])) { + $this->_plugin_info[$type] = array(); + } + if (!isset($this->_plugin_info[$type][$name])) { + $this->_plugin_info[$type][$name] = array($this->_current_file, + $this->_current_line_no, + $delayed_loading); + } + } + + + /** + * Compiles references of type $smarty.foo + * + * @param string $indexes + * @return string + */ + function _compile_smarty_ref(&$indexes) + { + /* Extract the reference name. */ + $_ref = substr($indexes[0], 1); + foreach($indexes as $_index_no=>$_index) { + if ($_index{0} != '.' && $_index_no<2 || !preg_match('!^(\.|\[|->)!', $_index)) { + $this->_syntax_error('$smarty' . implode('', array_slice($indexes, 0, 2)) . ' is an invalid reference', E_USER_ERROR, __FILE__, __LINE__); + } + } + + switch ($_ref) { + case 'now': + $compiled_ref = 'time()'; + $_max_index = 1; + break; + + case 'foreach': + case 'section': + array_shift($indexes); + $_var = $this->_parse_var_props(substr($indexes[0], 1)); + if ($_ref == 'foreach') + $compiled_ref = "\$this->_foreach[$_var]"; + else + $compiled_ref = "\$this->_sections[$_var]"; + break; + + case 'get': + $compiled_ref = ($this->request_use_auto_globals) ? '$_GET' : "\$GLOBALS['HTTP_GET_VARS']"; + break; + + case 'post': + $compiled_ref = ($this->request_use_auto_globals) ? '$_POST' : "\$GLOBALS['HTTP_POST_VARS']"; + break; + + case 'cookies': + $compiled_ref = ($this->request_use_auto_globals) ? '$_COOKIE' : "\$GLOBALS['HTTP_COOKIE_VARS']"; + break; + + case 'env': + $compiled_ref = ($this->request_use_auto_globals) ? '$_ENV' : "\$GLOBALS['HTTP_ENV_VARS']"; + break; + + case 'server': + $compiled_ref = ($this->request_use_auto_globals) ? '$_SERVER' : "\$GLOBALS['HTTP_SERVER_VARS']"; + break; + + case 'session': + $compiled_ref = ($this->request_use_auto_globals) ? '$_SESSION' : "\$GLOBALS['HTTP_SESSION_VARS']"; + break; + + /* + * These cases are handled either at run-time or elsewhere in the + * compiler. + */ + case 'request': + if ($this->request_use_auto_globals) { + $compiled_ref = '$_REQUEST'; + break; + } else { + $this->_init_smarty_vars = true; + } + return null; + + case 'capture': + return null; + + case 'template': + $compiled_ref = "'$this->_current_file'"; + $_max_index = 1; + break; + + case 'version': + $compiled_ref = "'$this->_version'"; + $_max_index = 1; + break; + + case 'const': + array_shift($indexes); + $_val = $this->_parse_var_props(substr($indexes[0],1)); + $compiled_ref = '@constant(' . $_val . ')'; + $_max_index = 1; + break; + + case 'config': + $compiled_ref = "\$this->_config[0]['vars']"; + $_max_index = 2; + break; + + default: + $this->_syntax_error('$smarty.' . $_ref . ' is an unknown reference', E_USER_ERROR, __FILE__, __LINE__); + break; + } + + if (isset($_max_index) && count($indexes) > $_max_index) { + $this->_syntax_error('$smarty' . implode('', $indexes) .' is an invalid reference', E_USER_ERROR, __FILE__, __LINE__); + } + + array_shift($indexes); + return $compiled_ref; + } + + /** + * compiles call to plugin of type $type with name $name + * returns a string containing the function-name or method call + * without the paramter-list that would have follow to make the + * call valid php-syntax + * + * @param string $type + * @param string $name + * @return string + */ + function _compile_plugin_call($type, $name) { + if (isset($this->_plugins[$type][$name])) { + /* plugin loaded */ + if (is_array($this->_plugins[$type][$name][0])) { + return ((is_object($this->_plugins[$type][$name][0][0])) ? + "\$this->_plugins['$type']['$name'][0][0]->" /* method callback */ + : (string)($this->_plugins[$type][$name][0][0]).'::' /* class callback */ + ). $this->_plugins[$type][$name][0][1]; + + } else { + /* function callback */ + return $this->_plugins[$type][$name][0]; + + } + } else { + /* plugin not loaded -> auto-loadable-plugin */ + return 'smarty_'.$type.'_'.$name; + + } + } + + /** + * load pre- and post-filters + */ + function _load_filters() + { + if (count($this->_plugins['prefilter']) > 0) { + foreach ($this->_plugins['prefilter'] as $filter_name => $prefilter) { + if ($prefilter === false) { + unset($this->_plugins['prefilter'][$filter_name]); + $_params = array('plugins' => array(array('prefilter', $filter_name, null, null, false))); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); + smarty_core_load_plugins($_params, $this); + } + } + } + if (count($this->_plugins['postfilter']) > 0) { + foreach ($this->_plugins['postfilter'] as $filter_name => $postfilter) { + if ($postfilter === false) { + unset($this->_plugins['postfilter'][$filter_name]); + $_params = array('plugins' => array(array('postfilter', $filter_name, null, null, false))); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.load_plugins.php'); + smarty_core_load_plugins($_params, $this); + } + } + } + } + + + /** + * Quote subpattern references + * + * @param string $string + * @return string + */ + function _quote_replace($string) + { + return preg_replace('![\\$]\d!', '\\\\\\0', $string); + } + + /** + * display Smarty syntax error + * + * @param string $error_msg + * @param integer $error_type + * @param string $file + * @param integer $line + */ + function _syntax_error($error_msg, $error_type = E_USER_ERROR, $file=null, $line=null) + { + if(isset($file) && isset($line)) { + $info = ' ('.basename($file).", line $line)"; + } else { + $info = null; + } + trigger_error('Smarty: [in ' . $this->_current_file . ' line ' . + $this->_current_line_no . "]: syntax error: $error_msg$info", $error_type); + } + + + /** + * check if the compilation changes from cacheable to + * non-cacheable state with the beginning of the current + * plugin. return php-code to reflect the transition. + * @return string + */ + function _push_cacheable_state($type, $name) { + $_cacheable = !isset($this->_plugins[$type][$name]) || $this->_plugins[$type][$name][4]; + if ($_cacheable + || 0<$this->_cacheable_state++) return ''; + if (!isset($this->_cache_serial)) $this->_cache_serial = md5(uniqid('Smarty')); + $_ret = 'if ($this->caching) { echo \'{nocache:' + . $this->_cache_serial . '#' . $this->_nocache_count + . '}\';}'; + return $_ret; + } + + + /** + * check if the compilation changes from non-cacheable to + * cacheable state with the end of the current plugin return + * php-code to reflect the transition. + * @return string + */ + function _pop_cacheable_state($type, $name) { + $_cacheable = !isset($this->_plugins[$type][$name]) || $this->_plugins[$type][$name][4]; + if ($_cacheable + || --$this->_cacheable_state>0) return ''; + return 'if ($this->caching) { echo \'{/nocache:' + . $this->_cache_serial . '#' . ($this->_nocache_count++) + . '}\';}'; + } + +} + +/** + * compare to values by their string length + * + * @access private + * @param string $a + * @param string $b + * @return 0|-1|1 + */ +function _smarty_sort_length($a, $b) +{ + if($a == $b) + return 0; + + if(strlen($a) == strlen($b)) + return ($a > $b) ? -1 : 1; + + return (strlen($a) > strlen($b)) ? -1 : 1; +} + + +/* vim: set et: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assemble_plugin_filepath.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assemble_plugin_filepath.php index 4c40ae90cd..ec44f8e421 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assemble_plugin_filepath.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assemble_plugin_filepath.php @@ -1,62 +1,62 @@ -plugins_dir as $_plugin_dir) { - - $_plugin_filepath = $_plugin_dir . DIRECTORY_SEPARATOR . $_plugin_filename; - - // see if path is relative - if (!preg_match("/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/", $_plugin_dir)) { - $_relative_paths[] = $_plugin_dir; - // relative path, see if it is in the SMARTY_DIR - if (@is_readable(SMARTY_DIR . $_plugin_filepath)) { - $_return = SMARTY_DIR . $_plugin_filepath; - break; - } - } - // try relative to cwd (or absolute) - if (@is_readable($_plugin_filepath)) { - $_return = $_plugin_filepath; - break; - } - } - - if($_return === false) { - // still not found, try PHP include_path - if(isset($_relative_paths)) { - foreach ((array)$_relative_paths as $_plugin_dir) { - - $_plugin_filepath = $_plugin_dir . DIRECTORY_SEPARATOR . $_plugin_filename; - - $_params = array('file_path' => $_plugin_filepath); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); - if(smarty_core_get_include_path($_params, $smarty)) { - return $_params['new_file_path']; - } - } - } - } - - return $_return; -} - -/* vim: set expandtab: */ - -?> +plugins_dir as $_plugin_dir) { + + $_plugin_filepath = $_plugin_dir . DIRECTORY_SEPARATOR . $_plugin_filename; + + // see if path is relative + if (!preg_match("/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/", $_plugin_dir)) { + $_relative_paths[] = $_plugin_dir; + // relative path, see if it is in the SMARTY_DIR + if (@is_readable(SMARTY_DIR . $_plugin_filepath)) { + $_return = SMARTY_DIR . $_plugin_filepath; + break; + } + } + // try relative to cwd (or absolute) + if (@is_readable($_plugin_filepath)) { + $_return = $_plugin_filepath; + break; + } + } + + if($_return === false) { + // still not found, try PHP include_path + if(isset($_relative_paths)) { + foreach ((array)$_relative_paths as $_plugin_dir) { + + $_plugin_filepath = $_plugin_dir . DIRECTORY_SEPARATOR . $_plugin_filename; + + $_params = array('file_path' => $_plugin_filepath); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); + if(smarty_core_get_include_path($_params, $smarty)) { + return $_params['new_file_path']; + } + } + } + } + + return $_return; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assign_smarty_interface.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assign_smarty_interface.php index 500ba9a96a..7e65a73ec2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assign_smarty_interface.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.assign_smarty_interface.php @@ -1,43 +1,43 @@ - - * Name: assign_smarty_interface
          - * Purpose: assign the $smarty interface variable - * @param array Format: null - * @param Smarty - */ -function smarty_core_assign_smarty_interface($params, &$smarty) -{ - if (isset($smarty->_smarty_vars) && isset($smarty->_smarty_vars['request'])) { - return; - } - - $_globals_map = array('g' => 'HTTP_GET_VARS', - 'p' => 'HTTP_POST_VARS', - 'c' => 'HTTP_COOKIE_VARS', - 's' => 'HTTP_SERVER_VARS', - 'e' => 'HTTP_ENV_VARS'); - - $_smarty_vars_request = array(); - - foreach (preg_split('!!', strtolower($smarty->request_vars_order)) as $_c) { - if (isset($_globals_map[$_c])) { - $_smarty_vars_request = array_merge($_smarty_vars_request, $GLOBALS[$_globals_map[$_c]]); - } - } - $_smarty_vars_request = @array_merge($_smarty_vars_request, $GLOBALS['HTTP_SESSION_VARS']); - - $smarty->_smarty_vars['request'] = $_smarty_vars_request; -} - -/* vim: set expandtab: */ - -?> + + * Name: assign_smarty_interface
          + * Purpose: assign the $smarty interface variable + * @param array Format: null + * @param Smarty + */ +function smarty_core_assign_smarty_interface($params, &$smarty) +{ + if (isset($smarty->_smarty_vars) && isset($smarty->_smarty_vars['request'])) { + return; + } + + $_globals_map = array('g' => 'HTTP_GET_VARS', + 'p' => 'HTTP_POST_VARS', + 'c' => 'HTTP_COOKIE_VARS', + 's' => 'HTTP_SERVER_VARS', + 'e' => 'HTTP_ENV_VARS'); + + $_smarty_vars_request = array(); + + foreach (preg_split('!!', strtolower($smarty->request_vars_order)) as $_c) { + if (isset($_globals_map[$_c])) { + $_smarty_vars_request = array_merge($_smarty_vars_request, $GLOBALS[$_globals_map[$_c]]); + } + } + $_smarty_vars_request = @array_merge($_smarty_vars_request, $GLOBALS['HTTP_SESSION_VARS']); + + $smarty->_smarty_vars['request'] = $_smarty_vars_request; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.create_dir_structure.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.create_dir_structure.php index b57d50eaf3..999cf59302 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.create_dir_structure.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.create_dir_structure.php @@ -1,79 +1,79 @@ -_dir_perms) && !is_dir($_new_dir)) { - $smarty->trigger_error("problem creating directory '" . $_new_dir . "'"); - return false; - } - $_new_dir .= '/'; - } - } -} - -/* vim: set expandtab: */ - -?> +_dir_perms) && !is_dir($_new_dir)) { + $smarty->trigger_error("problem creating directory '" . $_new_dir . "'"); + return false; + } + $_new_dir .= '/'; + } + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.display_debug_console.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.display_debug_console.php index 252c4478bc..c509ff72f3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.display_debug_console.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.display_debug_console.php @@ -1,60 +1,60 @@ - - * Name: display_debug_console
          - * Purpose: display the javascript debug console window - * @param array Format: null - * @param Smarty - */ -function smarty_core_display_debug_console($params, &$smarty) -{ - // we must force compile the debug template in case the environment - // changed between separate applications. - - if(empty($smarty->debug_tpl)) { - // set path to debug template from SMARTY_DIR - $smarty->debug_tpl = SMARTY_DIR . 'debug.tpl'; - if($smarty->security && is_file($smarty->debug_tpl)) { - $smarty->secure_dir[] = dirname(realpath($smarty->debug_tpl)); - } - } - - $_ldelim_orig = $smarty->left_delimiter; - $_rdelim_orig = $smarty->right_delimiter; - - $smarty->left_delimiter = '{'; - $smarty->right_delimiter = '}'; - - $_compile_id_orig = $smarty->_compile_id; - $smarty->_compile_id = null; - - $_compile_path = $smarty->_get_compile_path($smarty->debug_tpl); - if ($smarty->_compile_resource($smarty->debug_tpl, $_compile_path)) - { - ob_start(); - $smarty->_include($_compile_path); - $_results = ob_get_contents(); - ob_end_clean(); - } else { - $_results = ''; - } - - $smarty->_compile_id = $_compile_id_orig; - - $smarty->left_delimiter = $_ldelim_orig; - $smarty->right_delimiter = $_rdelim_orig; - - return $_results; -} - -/* vim: set expandtab: */ - -?> + + * Name: display_debug_console
          + * Purpose: display the javascript debug console window + * @param array Format: null + * @param Smarty + */ +function smarty_core_display_debug_console($params, &$smarty) +{ + // we must force compile the debug template in case the environment + // changed between separate applications. + + if(empty($smarty->debug_tpl)) { + // set path to debug template from SMARTY_DIR + $smarty->debug_tpl = SMARTY_DIR . 'debug.tpl'; + if($smarty->security && is_file($smarty->debug_tpl)) { + $smarty->secure_dir[] = dirname(realpath($smarty->debug_tpl)); + } + } + + $_ldelim_orig = $smarty->left_delimiter; + $_rdelim_orig = $smarty->right_delimiter; + + $smarty->left_delimiter = '{'; + $smarty->right_delimiter = '}'; + + $_compile_id_orig = $smarty->_compile_id; + $smarty->_compile_id = null; + + $_compile_path = $smarty->_get_compile_path($smarty->debug_tpl); + if ($smarty->_compile_resource($smarty->debug_tpl, $_compile_path)) + { + ob_start(); + $smarty->_include($_compile_path); + $_results = ob_get_contents(); + ob_end_clean(); + } else { + $_results = ''; + } + + $smarty->_compile_id = $_compile_id_orig; + + $smarty->left_delimiter = $_ldelim_orig; + $smarty->right_delimiter = $_rdelim_orig; + + return $_results; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_include_path.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_include_path.php index 855eed308e..eb7188cdcb 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_include_path.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_include_path.php @@ -1,44 +1,44 @@ - + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_microtime.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_microtime.php index 3c998a71f0..f1a28e0425 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_microtime.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_microtime.php @@ -1,23 +1,23 @@ - + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_php_resource.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_php_resource.php index 5279ad21ee..8121acf8b0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_php_resource.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.get_php_resource.php @@ -1,80 +1,80 @@ -trusted_dir; - $smarty->_parse_resource_name($params, $smarty); - - /* - * Find out if the resource exists. - */ - - if ($params['resource_type'] == 'file') { - $_readable = false; - if(file_exists($params['resource_name']) && is_readable($params['resource_name'])) { - $_readable = true; - } else { - // test for file in include_path - $_params = array('file_path' => $params['resource_name']); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); - if(smarty_core_get_include_path($_params, $smarty)) { - $_include_path = $_params['new_file_path']; - $_readable = true; - } - } - } else if ($params['resource_type'] != 'file') { - $_template_source = null; - $_readable = is_callable($smarty->_plugins['resource'][$params['resource_type']][0][0]) - && call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][0], - array($params['resource_name'], &$_template_source, &$smarty)); - } - - /* - * Set the error function, depending on which class calls us. - */ - if (method_exists($smarty, '_syntax_error')) { - $_error_funcc = '_syntax_error'; - } else { - $_error_funcc = 'trigger_error'; - } - - if ($_readable) { - if ($smarty->security) { - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_trusted.php'); - if (!smarty_core_is_trusted($params, $smarty)) { - $smarty->$_error_funcc('(secure mode) ' . $params['resource_type'] . ':' . $params['resource_name'] . ' is not trusted'); - return false; - } - } - } else { - $smarty->$_error_funcc($params['resource_type'] . ':' . $params['resource_name'] . ' is not readable'); - return false; - } - - if ($params['resource_type'] == 'file') { - $params['php_resource'] = $params['resource_name']; - } else { - $params['php_resource'] = $_template_source; - } - return true; -} - -/* vim: set expandtab: */ - -?> +trusted_dir; + $smarty->_parse_resource_name($params, $smarty); + + /* + * Find out if the resource exists. + */ + + if ($params['resource_type'] == 'file') { + $_readable = false; + if(file_exists($params['resource_name']) && is_readable($params['resource_name'])) { + $_readable = true; + } else { + // test for file in include_path + $_params = array('file_path' => $params['resource_name']); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); + if(smarty_core_get_include_path($_params, $smarty)) { + $_include_path = $_params['new_file_path']; + $_readable = true; + } + } + } else if ($params['resource_type'] != 'file') { + $_template_source = null; + $_readable = is_callable($smarty->_plugins['resource'][$params['resource_type']][0][0]) + && call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][0], + array($params['resource_name'], &$_template_source, &$smarty)); + } + + /* + * Set the error function, depending on which class calls us. + */ + if (method_exists($smarty, '_syntax_error')) { + $_error_funcc = '_syntax_error'; + } else { + $_error_funcc = 'trigger_error'; + } + + if ($_readable) { + if ($smarty->security) { + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_trusted.php'); + if (!smarty_core_is_trusted($params, $smarty)) { + $smarty->$_error_funcc('(secure mode) ' . $params['resource_type'] . ':' . $params['resource_name'] . ' is not trusted'); + return false; + } + } + } else { + $smarty->$_error_funcc($params['resource_type'] . ':' . $params['resource_name'] . ' is not readable'); + return false; + } + + if ($params['resource_type'] == 'file') { + $params['php_resource'] = $params['resource_name']; + } else { + $params['php_resource'] = $_template_source; + } + return true; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_secure.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_secure.php index d635820842..877886b885 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_secure.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_secure.php @@ -1,59 +1,59 @@ -security || $smarty->security_settings['INCLUDE_ANY']) { - return true; - } - - $_smarty_secure = false; - if ($params['resource_type'] == 'file') { - if($check_template_dir) { - if (!in_array($smarty->template_dir, $smarty->secure_dir)) - // add template_dir to secure_dir array - array_unshift($smarty->secure_dir, $smarty->template_dir); - $check_template_dir = false; - } - if (!empty($smarty->secure_dir)) { - $_rp = realpath($params['resource_name']); - foreach ((array)$smarty->secure_dir as $curr_dir) { - if ( !empty($curr_dir) && is_readable ($curr_dir)) { - $_cd = realpath($curr_dir); - if (strncmp($_rp, $_cd, strlen($_cd)) == 0 - && $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) { - $_smarty_secure = true; - break; - } - } - } - } - } else { - // resource is not on local file system - $_smarty_secure = call_user_func_array( - $smarty->_plugins['resource'][$params['resource_type']][0][2], - array($params['resource_name'], &$_smarty_secure, &$smarty)); - } - - return $_smarty_secure; -} - -/* vim: set expandtab: */ - -?> +security || $smarty->security_settings['INCLUDE_ANY']) { + return true; + } + + $_smarty_secure = false; + if ($params['resource_type'] == 'file') { + if($check_template_dir) { + if (!in_array($smarty->template_dir, $smarty->secure_dir)) + // add template_dir to secure_dir array + array_unshift($smarty->secure_dir, $smarty->template_dir); + $check_template_dir = false; + } + if (!empty($smarty->secure_dir)) { + $_rp = realpath($params['resource_name']); + foreach ((array)$smarty->secure_dir as $curr_dir) { + if ( !empty($curr_dir) && is_readable ($curr_dir)) { + $_cd = realpath($curr_dir); + if (strncmp($_rp, $_cd, strlen($_cd)) == 0 + && $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) { + $_smarty_secure = true; + break; + } + } + } + } + } else { + // resource is not on local file system + $_smarty_secure = call_user_func_array( + $smarty->_plugins['resource'][$params['resource_type']][0][2], + array($params['resource_name'], &$_smarty_secure, &$smarty)); + } + + return $_smarty_secure; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_trusted.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_trusted.php index 478d3d30db..c90e3ef992 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_trusted.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.is_trusted.php @@ -1,50 +1,50 @@ -trusted_dir)) { - $_rp = realpath($params['resource_name']); - foreach ((array)$smarty->trusted_dir as $curr_dir) { - if (!empty($curr_dir) && is_readable ($curr_dir)) { - $_cd = realpath($curr_dir); - if (strncmp($_rp, $_cd, strlen($_cd)) == 0 - && $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) { - $_smarty_trusted = true; - break; - } - } - } - } - - } else { - // resource is not on local file system - $_smarty_trusted = call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][3], - array($params['resource_name'], $smarty)); - } - - return $_smarty_trusted; -} - -/* vim: set expandtab: */ - -?> +trusted_dir)) { + $_rp = realpath($params['resource_name']); + foreach ((array)$smarty->trusted_dir as $curr_dir) { + if (!empty($curr_dir) && is_readable ($curr_dir)) { + $_cd = realpath($curr_dir); + if (strncmp($_rp, $_cd, strlen($_cd)) == 0 + && $_rp{strlen($_cd)} == DIRECTORY_SEPARATOR ) { + $_smarty_trusted = true; + break; + } + } + } + } + + } else { + // resource is not on local file system + $_smarty_trusted = call_user_func_array($smarty->_plugins['resource'][$params['resource_type']][0][3], + array($params['resource_name'], $smarty)); + } + + return $_smarty_trusted; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_plugins.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_plugins.php index 6f412ec99a..6db1dc51d2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_plugins.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_plugins.php @@ -1,125 +1,125 @@ -_plugins[$_type][$_name]; - - /* - * We do not load plugin more than once for each instance of Smarty. - * The following code checks for that. The plugin can also be - * registered dynamically at runtime, in which case template file - * and line number will be unknown, so we fill them in. - * - * The final element of the info array is a flag that indicates - * whether the dynamically registered plugin function has been - * checked for existence yet or not. - */ - if (isset($_plugin)) { - if (empty($_plugin[3])) { - if (!is_callable($_plugin[0])) { - $smarty->_trigger_fatal_error("[plugin] $_type '$_name' is not implemented", $_tpl_file, $_tpl_line, __FILE__, __LINE__); - } else { - $_plugin[1] = $_tpl_file; - $_plugin[2] = $_tpl_line; - $_plugin[3] = true; - if (!isset($_plugin[4])) $_plugin[4] = true; /* cacheable */ - } - } - continue; - } else if ($_type == 'insert') { - /* - * For backwards compatibility, we check for insert functions in - * the symbol table before trying to load them as a plugin. - */ - $_plugin_func = 'insert_' . $_name; - if (function_exists($_plugin_func)) { - $_plugin = array($_plugin_func, $_tpl_file, $_tpl_line, true, false); - continue; - } - } - - $_plugin_file = $smarty->_get_plugin_filepath($_type, $_name); - - if (! $_found = ($_plugin_file != false)) { - $_message = "could not load plugin file '$_type.$_name.php'\n"; - } - - /* - * If plugin file is found, it -must- provide the properly named - * plugin function. In case it doesn't, simply output the error and - * do not fall back on any other method. - */ - if ($_found) { - include_once $_plugin_file; - - $_plugin_func = 'smarty_' . $_type . '_' . $_name; - if (!function_exists($_plugin_func)) { - $smarty->_trigger_fatal_error("[plugin] function $_plugin_func() not found in $_plugin_file", $_tpl_file, $_tpl_line, __FILE__, __LINE__); - continue; - } - } - /* - * In case of insert plugins, their code may be loaded later via - * 'script' attribute. - */ - else if ($_type == 'insert' && $_delayed_loading) { - $_plugin_func = 'smarty_' . $_type . '_' . $_name; - $_found = true; - } - - /* - * Plugin specific processing and error checking. - */ - if (!$_found) { - if ($_type == 'modifier') { - /* - * In case modifier falls back on using PHP functions - * directly, we only allow those specified in the security - * context. - */ - if ($smarty->security && !in_array($_name, $smarty->security_settings['MODIFIER_FUNCS'])) { - $_message = "(secure mode) modifier '$_name' is not allowed"; - } else { - if (!function_exists($_name)) { - $_message = "modifier '$_name' is not implemented"; - } else { - $_plugin_func = $_name; - $_found = true; - } - } - } else if ($_type == 'function') { - /* - * This is a catch-all situation. - */ - $_message = "unknown tag - '$_name'"; - } - } - - if ($_found) { - $smarty->_plugins[$_type][$_name] = array($_plugin_func, $_tpl_file, $_tpl_line, true, true); - } else { - // output error - $smarty->_trigger_fatal_error('[plugin] ' . $_message, $_tpl_file, $_tpl_line, __FILE__, __LINE__); - } - } -} - -/* vim: set expandtab: */ - -?> +_plugins[$_type][$_name]; + + /* + * We do not load plugin more than once for each instance of Smarty. + * The following code checks for that. The plugin can also be + * registered dynamically at runtime, in which case template file + * and line number will be unknown, so we fill them in. + * + * The final element of the info array is a flag that indicates + * whether the dynamically registered plugin function has been + * checked for existence yet or not. + */ + if (isset($_plugin)) { + if (empty($_plugin[3])) { + if (!is_callable($_plugin[0])) { + $smarty->_trigger_fatal_error("[plugin] $_type '$_name' is not implemented", $_tpl_file, $_tpl_line, __FILE__, __LINE__); + } else { + $_plugin[1] = $_tpl_file; + $_plugin[2] = $_tpl_line; + $_plugin[3] = true; + if (!isset($_plugin[4])) $_plugin[4] = true; /* cacheable */ + } + } + continue; + } else if ($_type == 'insert') { + /* + * For backwards compatibility, we check for insert functions in + * the symbol table before trying to load them as a plugin. + */ + $_plugin_func = 'insert_' . $_name; + if (function_exists($_plugin_func)) { + $_plugin = array($_plugin_func, $_tpl_file, $_tpl_line, true, false); + continue; + } + } + + $_plugin_file = $smarty->_get_plugin_filepath($_type, $_name); + + if (! $_found = ($_plugin_file != false)) { + $_message = "could not load plugin file '$_type.$_name.php'\n"; + } + + /* + * If plugin file is found, it -must- provide the properly named + * plugin function. In case it doesn't, simply output the error and + * do not fall back on any other method. + */ + if ($_found) { + include_once $_plugin_file; + + $_plugin_func = 'smarty_' . $_type . '_' . $_name; + if (!function_exists($_plugin_func)) { + $smarty->_trigger_fatal_error("[plugin] function $_plugin_func() not found in $_plugin_file", $_tpl_file, $_tpl_line, __FILE__, __LINE__); + continue; + } + } + /* + * In case of insert plugins, their code may be loaded later via + * 'script' attribute. + */ + else if ($_type == 'insert' && $_delayed_loading) { + $_plugin_func = 'smarty_' . $_type . '_' . $_name; + $_found = true; + } + + /* + * Plugin specific processing and error checking. + */ + if (!$_found) { + if ($_type == 'modifier') { + /* + * In case modifier falls back on using PHP functions + * directly, we only allow those specified in the security + * context. + */ + if ($smarty->security && !in_array($_name, $smarty->security_settings['MODIFIER_FUNCS'])) { + $_message = "(secure mode) modifier '$_name' is not allowed"; + } else { + if (!function_exists($_name)) { + $_message = "modifier '$_name' is not implemented"; + } else { + $_plugin_func = $_name; + $_found = true; + } + } + } else if ($_type == 'function') { + /* + * This is a catch-all situation. + */ + $_message = "unknown tag - '$_name'"; + } + } + + if ($_found) { + $smarty->_plugins[$_type][$_name] = array($_plugin_func, $_tpl_file, $_tpl_line, true, true); + } else { + // output error + $smarty->_trigger_fatal_error('[plugin] ' . $_message, $_tpl_file, $_tpl_line, __FILE__, __LINE__); + } + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_resource_plugin.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_resource_plugin.php index 8a084f1b67..a7d37d1afc 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_resource_plugin.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.load_resource_plugin.php @@ -1,74 +1,74 @@ -_plugins['resource'][$params['type']]; - if (isset($_plugin)) { - if (!$_plugin[1] && count($_plugin[0])) { - $_plugin[1] = true; - foreach ($_plugin[0] as $_plugin_func) { - if (!is_callable($_plugin_func)) { - $_plugin[1] = false; - break; - } - } - } - - if (!$_plugin[1]) { - $smarty->_trigger_fatal_error("[plugin] resource '" . $params['type'] . "' is not implemented", null, null, __FILE__, __LINE__); - } - - return; - } - - $_plugin_file = $smarty->_get_plugin_filepath('resource', $params['type']); - $_found = ($_plugin_file != false); - - if ($_found) { /* - * If the plugin file is found, it -must- provide the properly named - * plugin functions. - */ - include_once($_plugin_file); - - /* - * Locate functions that we require the plugin to provide. - */ - $_resource_ops = array('source', 'timestamp', 'secure', 'trusted'); - $_resource_funcs = array(); - foreach ($_resource_ops as $_op) { - $_plugin_func = 'smarty_resource_' . $params['type'] . '_' . $_op; - if (!function_exists($_plugin_func)) { - $smarty->_trigger_fatal_error("[plugin] function $_plugin_func() not found in $_plugin_file", null, null, __FILE__, __LINE__); - return; - } else { - $_resource_funcs[] = $_plugin_func; - } - } - - $smarty->_plugins['resource'][$params['type']] = array($_resource_funcs, true); - } -} - -/* vim: set expandtab: */ - -?> +_plugins['resource'][$params['type']]; + if (isset($_plugin)) { + if (!$_plugin[1] && count($_plugin[0])) { + $_plugin[1] = true; + foreach ($_plugin[0] as $_plugin_func) { + if (!is_callable($_plugin_func)) { + $_plugin[1] = false; + break; + } + } + } + + if (!$_plugin[1]) { + $smarty->_trigger_fatal_error("[plugin] resource '" . $params['type'] . "' is not implemented", null, null, __FILE__, __LINE__); + } + + return; + } + + $_plugin_file = $smarty->_get_plugin_filepath('resource', $params['type']); + $_found = ($_plugin_file != false); + + if ($_found) { /* + * If the plugin file is found, it -must- provide the properly named + * plugin functions. + */ + include_once($_plugin_file); + + /* + * Locate functions that we require the plugin to provide. + */ + $_resource_ops = array('source', 'timestamp', 'secure', 'trusted'); + $_resource_funcs = array(); + foreach ($_resource_ops as $_op) { + $_plugin_func = 'smarty_resource_' . $params['type'] . '_' . $_op; + if (!function_exists($_plugin_func)) { + $smarty->_trigger_fatal_error("[plugin] function $_plugin_func() not found in $_plugin_file", null, null, __FILE__, __LINE__); + return; + } else { + $_resource_funcs[] = $_plugin_func; + } + } + + $smarty->_plugins['resource'][$params['type']] = array($_resource_funcs, true); + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_cached_inserts.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_cached_inserts.php index 42c3269814..0e368fdd60 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_cached_inserts.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_cached_inserts.php @@ -1,71 +1,71 @@ -_smarty_md5.'{insert_cache (.*)}'.$smarty->_smarty_md5.'!Uis', - $params['results'], $match); - list($cached_inserts, $insert_args) = $match; - - for ($i = 0, $for_max = count($cached_inserts); $i < $for_max; $i++) { - if ($smarty->debugging) { - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $debug_start_time = smarty_core_get_microtime($_params, $smarty); - } - - $args = unserialize($insert_args[$i]); - $name = $args['name']; - - if (isset($args['script'])) { - $_params = array('resource_name' => $smarty->_dequote($args['script'])); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); - if(!smarty_core_get_php_resource($_params, $smarty)) { - return false; - } - $resource_type = $_params['resource_type']; - $php_resource = $_params['php_resource']; - - - if ($resource_type == 'file') { - $smarty->_include($php_resource, true); - } else { - $smarty->_eval($php_resource); - } - } - - $function_name = $smarty->_plugins['insert'][$name][0]; - if (empty($args['assign'])) { - $replace = $function_name($args, $smarty); - } else { - $smarty->assign($args['assign'], $function_name($args, $smarty)); - $replace = ''; - } - - $params['results'] = str_replace($cached_inserts[$i], $replace, $params['results']); - if ($smarty->debugging) { - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $smarty->_smarty_debug_info[] = array('type' => 'insert', - 'filename' => 'insert_'.$name, - 'depth' => $smarty->_inclusion_depth, - 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $debug_start_time); - } - } - - return $params['results']; -} - -/* vim: set expandtab: */ - -?> +_smarty_md5.'{insert_cache (.*)}'.$smarty->_smarty_md5.'!Uis', + $params['results'], $match); + list($cached_inserts, $insert_args) = $match; + + for ($i = 0, $for_max = count($cached_inserts); $i < $for_max; $i++) { + if ($smarty->debugging) { + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $debug_start_time = smarty_core_get_microtime($_params, $smarty); + } + + $args = unserialize($insert_args[$i]); + $name = $args['name']; + + if (isset($args['script'])) { + $_params = array('resource_name' => $smarty->_dequote($args['script'])); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); + if(!smarty_core_get_php_resource($_params, $smarty)) { + return false; + } + $resource_type = $_params['resource_type']; + $php_resource = $_params['php_resource']; + + + if ($resource_type == 'file') { + $smarty->_include($php_resource, true); + } else { + $smarty->_eval($php_resource); + } + } + + $function_name = $smarty->_plugins['insert'][$name][0]; + if (empty($args['assign'])) { + $replace = $function_name($args, $smarty); + } else { + $smarty->assign($args['assign'], $function_name($args, $smarty)); + $replace = ''; + } + + $params['results'] = str_replace($cached_inserts[$i], $replace, $params['results']); + if ($smarty->debugging) { + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $smarty->_smarty_debug_info[] = array('type' => 'insert', + 'filename' => 'insert_'.$name, + 'depth' => $smarty->_inclusion_depth, + 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $debug_start_time); + } + } + + return $params['results']; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_compiled_include.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_compiled_include.php index 52ecc64216..3e1d4c15a0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_compiled_include.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.process_compiled_include.php @@ -1,32 +1,32 @@ -_cache_including; - $smarty->_cache_including = true; - - $_return = $params['results']; - foreach ($smarty->_cache_serials as $_include_file_path=>$_cache_serial) { - $_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s', - array(&$smarty, '_process_compiled_include_callback'), - $_return); - } - $smarty->_cache_including = $_cache_including; - return $_return; -} - -?> +_cache_including; + $smarty->_cache_including = true; + + $_return = $params['results']; + foreach ($smarty->_cache_serials as $_include_file_path=>$_cache_serial) { + $_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s', + array(&$smarty, '_process_compiled_include_callback'), + $_return); + } + $smarty->_cache_including = $_cache_including; + return $_return; +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.read_cache_file.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.read_cache_file.php index 60ec924e9a..2ab428111d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.read_cache_file.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.read_cache_file.php @@ -1,111 +1,111 @@ -force_compile) { - // force compile enabled, always regenerate - return false; - } - - if (isset($content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']])) { - list($params['results'], $smarty->_cache_info) = $content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']]; - return true; - } - - if (!empty($smarty->cache_handler_func)) { - // use cache_handler function - call_user_func_array($smarty->cache_handler_func, - array('read', &$smarty, &$params['results'], $params['tpl_file'], $params['cache_id'], $params['compile_id'], null)); - } else { - // use local cache file - $_auto_id = $smarty->_get_auto_id($params['cache_id'], $params['compile_id']); - $_cache_file = $smarty->_get_auto_filename($smarty->cache_dir, $params['tpl_file'], $_auto_id); - $params['results'] = $smarty->_read_file($_cache_file); - } - - if (empty($params['results'])) { - // nothing to parse (error?), regenerate cache - return false; - } - - $cache_split = explode("\n", $params['results'], 2); - $cache_header = $cache_split[0]; - - $_cache_info = unserialize($cache_header); - - if ($smarty->caching == 2 && isset ($_cache_info['expires'])){ - // caching by expiration time - if ($_cache_info['expires'] > -1 && (time() > $_cache_info['expires'])) { - // cache expired, regenerate - return false; - } - } else { - // caching by lifetime - if ($smarty->cache_lifetime > -1 && (time() - $_cache_info['timestamp'] > $smarty->cache_lifetime)) { - // cache expired, regenerate - return false; - } - } - - if ($smarty->compile_check) { - $_params = array('get_source' => false, 'quiet'=>true); - foreach (array_keys($_cache_info['template']) as $_template_dep) { - $_params['resource_name'] = $_template_dep; - if (!$smarty->_fetch_resource_info($_params) || $_cache_info['timestamp'] < $_params['resource_timestamp']) { - // template file has changed, regenerate cache - return false; - } - } - - if (isset($_cache_info['config'])) { - $_params = array('resource_base_path' => $smarty->config_dir, 'get_source' => false, 'quiet'=>true); - foreach (array_keys($_cache_info['config']) as $_config_dep) { - $_params['resource_name'] = $_config_dep; - if (!$smarty->_fetch_resource_info($_params) || $_cache_info['timestamp'] < $_params['resource_timestamp']) { - // config file has changed, regenerate cache - return false; - } - } - } - } - - foreach ($_cache_info['cache_serials'] as $_include_file_path=>$_cache_serial) { - if (empty($smarty->_cache_serials[$_include_file_path])) { - $smarty->_include($_include_file_path, true); - } - - if ($smarty->_cache_serials[$_include_file_path] != $_cache_serial) { - /* regenerate */ - return false; - } - } - $params['results'] = $cache_split[1]; - $content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']] = array($params['results'], $_cache_info); - - $smarty->_cache_info = $_cache_info; - return true; -} - -/* vim: set expandtab: */ - -?> +force_compile) { + // force compile enabled, always regenerate + return false; + } + + if (isset($content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']])) { + list($params['results'], $smarty->_cache_info) = $content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']]; + return true; + } + + if (!empty($smarty->cache_handler_func)) { + // use cache_handler function + call_user_func_array($smarty->cache_handler_func, + array('read', &$smarty, &$params['results'], $params['tpl_file'], $params['cache_id'], $params['compile_id'], null)); + } else { + // use local cache file + $_auto_id = $smarty->_get_auto_id($params['cache_id'], $params['compile_id']); + $_cache_file = $smarty->_get_auto_filename($smarty->cache_dir, $params['tpl_file'], $_auto_id); + $params['results'] = $smarty->_read_file($_cache_file); + } + + if (empty($params['results'])) { + // nothing to parse (error?), regenerate cache + return false; + } + + $cache_split = explode("\n", $params['results'], 2); + $cache_header = $cache_split[0]; + + $_cache_info = unserialize($cache_header); + + if ($smarty->caching == 2 && isset ($_cache_info['expires'])){ + // caching by expiration time + if ($_cache_info['expires'] > -1 && (time() > $_cache_info['expires'])) { + // cache expired, regenerate + return false; + } + } else { + // caching by lifetime + if ($smarty->cache_lifetime > -1 && (time() - $_cache_info['timestamp'] > $smarty->cache_lifetime)) { + // cache expired, regenerate + return false; + } + } + + if ($smarty->compile_check) { + $_params = array('get_source' => false, 'quiet'=>true); + foreach (array_keys($_cache_info['template']) as $_template_dep) { + $_params['resource_name'] = $_template_dep; + if (!$smarty->_fetch_resource_info($_params) || $_cache_info['timestamp'] < $_params['resource_timestamp']) { + // template file has changed, regenerate cache + return false; + } + } + + if (isset($_cache_info['config'])) { + $_params = array('resource_base_path' => $smarty->config_dir, 'get_source' => false, 'quiet'=>true); + foreach (array_keys($_cache_info['config']) as $_config_dep) { + $_params['resource_name'] = $_config_dep; + if (!$smarty->_fetch_resource_info($_params) || $_cache_info['timestamp'] < $_params['resource_timestamp']) { + // config file has changed, regenerate cache + return false; + } + } + } + } + + foreach ($_cache_info['cache_serials'] as $_include_file_path=>$_cache_serial) { + if (empty($smarty->_cache_serials[$_include_file_path])) { + $smarty->_include($_include_file_path, true); + } + + if ($smarty->_cache_serials[$_include_file_path] != $_cache_serial) { + /* regenerate */ + return false; + } + } + $params['results'] = $cache_split[1]; + $content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']] = array($params['results'], $_cache_info); + + $smarty->_cache_info = $_cache_info; + return true; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rm_auto.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rm_auto.php index d3cbfe2837..b7cdaf8c5d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rm_auto.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rm_auto.php @@ -1,71 +1,71 @@ - $params['auto_base'], - 'level' => 0, - 'exp_time' => $params['exp_time'] - ); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php'); - $_res = smarty_core_rmdir($_params, $smarty); - } else { - $_tname = $smarty->_get_auto_filename($params['auto_base'], $params['auto_source'], $params['auto_id']); - - if(isset($params['auto_source'])) { - if (isset($params['extensions'])) { - $_res = false; - foreach ((array)$params['extensions'] as $_extension) - $_res |= $smarty->_unlink($_tname.$_extension, $params['exp_time']); - } else { - $_res = $smarty->_unlink($_tname, $params['exp_time']); - } - } elseif ($smarty->use_sub_dirs) { - $_params = array( - 'dirname' => $_tname, - 'level' => 1, - 'exp_time' => $params['exp_time'] - ); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php'); - $_res = smarty_core_rmdir($_params, $smarty); - } else { - // remove matching file names - $_handle = opendir($params['auto_base']); - $_res = true; - while (false !== ($_filename = readdir($_handle))) { - if($_filename == '.' || $_filename == '..') { - continue; - } elseif (substr($params['auto_base'] . DIRECTORY_SEPARATOR . $_filename, 0, strlen($_tname)) == $_tname) { - $_res &= (bool)$smarty->_unlink($params['auto_base'] . DIRECTORY_SEPARATOR . $_filename, $params['exp_time']); - } - } - } - } - - return $_res; -} - -/* vim: set expandtab: */ - -?> + $params['auto_base'], + 'level' => 0, + 'exp_time' => $params['exp_time'] + ); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php'); + $_res = smarty_core_rmdir($_params, $smarty); + } else { + $_tname = $smarty->_get_auto_filename($params['auto_base'], $params['auto_source'], $params['auto_id']); + + if(isset($params['auto_source'])) { + if (isset($params['extensions'])) { + $_res = false; + foreach ((array)$params['extensions'] as $_extension) + $_res |= $smarty->_unlink($_tname.$_extension, $params['exp_time']); + } else { + $_res = $smarty->_unlink($_tname, $params['exp_time']); + } + } elseif ($smarty->use_sub_dirs) { + $_params = array( + 'dirname' => $_tname, + 'level' => 1, + 'exp_time' => $params['exp_time'] + ); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php'); + $_res = smarty_core_rmdir($_params, $smarty); + } else { + // remove matching file names + $_handle = opendir($params['auto_base']); + $_res = true; + while (false !== ($_filename = readdir($_handle))) { + if($_filename == '.' || $_filename == '..') { + continue; + } elseif (substr($params['auto_base'] . DIRECTORY_SEPARATOR . $_filename, 0, strlen($_tname)) == $_tname) { + $_res &= (bool)$smarty->_unlink($params['auto_base'] . DIRECTORY_SEPARATOR . $_filename, $params['exp_time']); + } + } + } + } + + return $_res; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rmdir.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rmdir.php index f149469dab..38df822cea 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rmdir.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.rmdir.php @@ -1,55 +1,55 @@ - keep root) - * WARNING: no tests, it will try to remove what you tell it! - * - * @param string $dirname - * @param integer $level - * @param integer $exp_time - * @return boolean - */ - -// $dirname, $level = 1, $exp_time = null - -function smarty_core_rmdir($params, &$smarty) -{ - if(!isset($params['level'])) { $params['level'] = 1; } - if(!isset($params['exp_time'])) { $params['exp_time'] = null; } - - if($_handle = @opendir($params['dirname'])) { - - while (false !== ($_entry = readdir($_handle))) { - if ($_entry != '.' && $_entry != '..') { - if (@is_dir($params['dirname'] . DIRECTORY_SEPARATOR . $_entry)) { - $_params = array( - 'dirname' => $params['dirname'] . DIRECTORY_SEPARATOR . $_entry, - 'level' => $params['level'] + 1, - 'exp_time' => $params['exp_time'] - ); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php'); - smarty_core_rmdir($_params, $smarty); - } - else { - $smarty->_unlink($params['dirname'] . DIRECTORY_SEPARATOR . $_entry, $params['exp_time']); - } - } - } - closedir($_handle); - } - - if ($params['level']) { - return @rmdir($params['dirname']); - } - return (bool)$_handle; - -} - -/* vim: set expandtab: */ - -?> + keep root) + * WARNING: no tests, it will try to remove what you tell it! + * + * @param string $dirname + * @param integer $level + * @param integer $exp_time + * @return boolean + */ + +// $dirname, $level = 1, $exp_time = null + +function smarty_core_rmdir($params, &$smarty) +{ + if(!isset($params['level'])) { $params['level'] = 1; } + if(!isset($params['exp_time'])) { $params['exp_time'] = null; } + + if($_handle = @opendir($params['dirname'])) { + + while (false !== ($_entry = readdir($_handle))) { + if ($_entry != '.' && $_entry != '..') { + if (@is_dir($params['dirname'] . DIRECTORY_SEPARATOR . $_entry)) { + $_params = array( + 'dirname' => $params['dirname'] . DIRECTORY_SEPARATOR . $_entry, + 'level' => $params['level'] + 1, + 'exp_time' => $params['exp_time'] + ); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.rmdir.php'); + smarty_core_rmdir($_params, $smarty); + } + else { + $smarty->_unlink($params['dirname'] . DIRECTORY_SEPARATOR . $_entry, $params['exp_time']); + } + } + } + closedir($_handle); + } + + if ($params['level']) { + return @rmdir($params['dirname']); + } + return (bool)$_handle; + +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.run_insert_handler.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.run_insert_handler.php index a40f8b2488..aa391ab3b2 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.run_insert_handler.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.run_insert_handler.php @@ -1,71 +1,71 @@ -debugging) { - $_params = array(); - $_debug_start_time = smarty_core_get_microtime($_params, $smarty); - } - - if ($smarty->caching) { - $_arg_string = serialize($params['args']); - $_name = $params['args']['name']; - if (!isset($smarty->_cache_info['insert_tags'][$_name])) { - $smarty->_cache_info['insert_tags'][$_name] = array('insert', - $_name, - $smarty->_plugins['insert'][$_name][1], - $smarty->_plugins['insert'][$_name][2], - !empty($params['args']['script']) ? true : false); - } - return $smarty->_smarty_md5."{insert_cache $_arg_string}".$smarty->_smarty_md5; - } else { - if (isset($params['args']['script'])) { - $_params = array('resource_name' => $smarty->_dequote($params['args']['script'])); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); - if(!smarty_core_get_php_resource($_params, $smarty)) { - return false; - } - - if ($_params['resource_type'] == 'file') { - $smarty->_include($_params['php_resource'], true); - } else { - $smarty->_eval($_params['php_resource']); - } - unset($params['args']['script']); - } - - $_funcname = $smarty->_plugins['insert'][$params['args']['name']][0]; - $_content = $_funcname($params['args'], $smarty); - if ($smarty->debugging) { - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $smarty->_smarty_debug_info[] = array('type' => 'insert', - 'filename' => 'insert_'.$params['args']['name'], - 'depth' => $smarty->_inclusion_depth, - 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $_debug_start_time); - } - - if (!empty($params['args']["assign"])) { - $smarty->assign($params['args']["assign"], $_content); - } else { - return $_content; - } - } -} - -/* vim: set expandtab: */ - -?> +debugging) { + $_params = array(); + $_debug_start_time = smarty_core_get_microtime($_params, $smarty); + } + + if ($smarty->caching) { + $_arg_string = serialize($params['args']); + $_name = $params['args']['name']; + if (!isset($smarty->_cache_info['insert_tags'][$_name])) { + $smarty->_cache_info['insert_tags'][$_name] = array('insert', + $_name, + $smarty->_plugins['insert'][$_name][1], + $smarty->_plugins['insert'][$_name][2], + !empty($params['args']['script']) ? true : false); + } + return $smarty->_smarty_md5."{insert_cache $_arg_string}".$smarty->_smarty_md5; + } else { + if (isset($params['args']['script'])) { + $_params = array('resource_name' => $smarty->_dequote($params['args']['script'])); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); + if(!smarty_core_get_php_resource($_params, $smarty)) { + return false; + } + + if ($_params['resource_type'] == 'file') { + $smarty->_include($_params['php_resource'], true); + } else { + $smarty->_eval($_params['php_resource']); + } + unset($params['args']['script']); + } + + $_funcname = $smarty->_plugins['insert'][$params['args']['name']][0]; + $_content = $_funcname($params['args'], $smarty); + if ($smarty->debugging) { + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $smarty->_smarty_debug_info[] = array('type' => 'insert', + 'filename' => 'insert_'.$params['args']['name'], + 'depth' => $smarty->_inclusion_depth, + 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $_debug_start_time); + } + + if (!empty($params['args']["assign"])) { + $smarty->assign($params['args']["assign"], $_content); + } else { + return $_content; + } + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.smarty_include_php.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.smarty_include_php.php index 9efc46ac05..4b3164801a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.smarty_include_php.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.smarty_include_php.php @@ -1,50 +1,50 @@ - $params['smarty_file']); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); - smarty_core_get_php_resource($_params, $smarty); - $_smarty_resource_type = $_params['resource_type']; - $_smarty_php_resource = $_params['php_resource']; - - if (!empty($params['smarty_assign'])) { - ob_start(); - if ($_smarty_resource_type == 'file') { - $smarty->_include($_smarty_php_resource, $params['smarty_once'], $params['smarty_include_vars']); - } else { - $smarty->_eval($_smarty_php_resource, $params['smarty_include_vars']); - } - $smarty->assign($params['smarty_assign'], ob_get_contents()); - ob_end_clean(); - } else { - if ($_smarty_resource_type == 'file') { - $smarty->_include($_smarty_php_resource, $params['smarty_once'], $params['smarty_include_vars']); - } else { - $smarty->_eval($_smarty_php_resource, $params['smarty_include_vars']); - } - } -} - - -/* vim: set expandtab: */ - -?> + $params['smarty_file']); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_php_resource.php'); + smarty_core_get_php_resource($_params, $smarty); + $_smarty_resource_type = $_params['resource_type']; + $_smarty_php_resource = $_params['php_resource']; + + if (!empty($params['smarty_assign'])) { + ob_start(); + if ($_smarty_resource_type == 'file') { + $smarty->_include($_smarty_php_resource, $params['smarty_once'], $params['smarty_include_vars']); + } else { + $smarty->_eval($_smarty_php_resource, $params['smarty_include_vars']); + } + $smarty->assign($params['smarty_assign'], ob_get_contents()); + ob_end_clean(); + } else { + if ($_smarty_resource_type == 'file') { + $smarty->_include($_smarty_php_resource, $params['smarty_once'], $params['smarty_include_vars']); + } else { + $smarty->_eval($_smarty_php_resource, $params['smarty_include_vars']); + } + } +} + + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_cache_file.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_cache_file.php index 47f1b8ec23..7429ad98a8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_cache_file.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_cache_file.php @@ -1,73 +1,73 @@ -_cache_info['timestamp'] = time(); - if ($smarty->cache_lifetime > -1){ - // expiration set - $smarty->_cache_info['expires'] = $smarty->_cache_info['timestamp'] + $smarty->cache_lifetime; - } else { - // cache will never expire - $smarty->_cache_info['expires'] = -1; - } - - // collapse {nocache...}-tags - $params['results'] = preg_replace('!((\{nocache\:([0-9a-f]{32})#(\d+)\})' - .'.*' - .'{/nocache\:\\3#\\4\})!Us' - ,'\\2' - ,$params['results']); - $smarty->_cache_info['cache_serials'] = $smarty->_cache_serials; - - // prepend the cache header info into cache file - $params['results'] = serialize($smarty->_cache_info)."\n".$params['results']; - - if (!empty($smarty->cache_handler_func)) { - // use cache_handler function - call_user_func_array($smarty->cache_handler_func, - array('write', &$smarty, &$params['results'], $params['tpl_file'], $params['cache_id'], $params['compile_id'], null)); - } else { - // use local cache file - - if(!@is_writable($smarty->cache_dir)) { - // cache_dir not writable, see if it exists - if(!@is_dir($smarty->cache_dir)) { - $smarty->trigger_error('the $cache_dir \'' . $smarty->cache_dir . '\' does not exist, or is not a directory.', E_USER_ERROR); - return false; - } - $smarty->trigger_error('unable to write to $cache_dir \'' . realpath($smarty->cache_dir) . '\'. Be sure $cache_dir is writable by the web server user.', E_USER_ERROR); - return false; - } - - $_auto_id = $smarty->_get_auto_id($params['cache_id'], $params['compile_id']); - $_cache_file = $smarty->_get_auto_filename($smarty->cache_dir, $params['tpl_file'], $_auto_id); - $_params = array('filename' => $_cache_file, 'contents' => $params['results'], 'create_dirs' => true); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_file.php'); - smarty_core_write_file($_params, $smarty); - return true; - } -} - -/* vim: set expandtab: */ - -?> +_cache_info['timestamp'] = time(); + if ($smarty->cache_lifetime > -1){ + // expiration set + $smarty->_cache_info['expires'] = $smarty->_cache_info['timestamp'] + $smarty->cache_lifetime; + } else { + // cache will never expire + $smarty->_cache_info['expires'] = -1; + } + + // collapse {nocache...}-tags + $params['results'] = preg_replace('!((\{nocache\:([0-9a-f]{32})#(\d+)\})' + .'.*' + .'{/nocache\:\\3#\\4\})!Us' + ,'\\2' + ,$params['results']); + $smarty->_cache_info['cache_serials'] = $smarty->_cache_serials; + + // prepend the cache header info into cache file + $params['results'] = serialize($smarty->_cache_info)."\n".$params['results']; + + if (!empty($smarty->cache_handler_func)) { + // use cache_handler function + call_user_func_array($smarty->cache_handler_func, + array('write', &$smarty, &$params['results'], $params['tpl_file'], $params['cache_id'], $params['compile_id'], null)); + } else { + // use local cache file + + if(!@is_writable($smarty->cache_dir)) { + // cache_dir not writable, see if it exists + if(!@is_dir($smarty->cache_dir)) { + $smarty->trigger_error('the $cache_dir \'' . $smarty->cache_dir . '\' does not exist, or is not a directory.', E_USER_ERROR); + return false; + } + $smarty->trigger_error('unable to write to $cache_dir \'' . realpath($smarty->cache_dir) . '\'. Be sure $cache_dir is writable by the web server user.', E_USER_ERROR); + return false; + } + + $_auto_id = $smarty->_get_auto_id($params['cache_id'], $params['compile_id']); + $_cache_file = $smarty->_get_auto_filename($smarty->cache_dir, $params['tpl_file'], $_auto_id); + $_params = array('filename' => $_cache_file, 'contents' => $params['results'], 'create_dirs' => true); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_file.php'); + smarty_core_write_file($_params, $smarty); + return true; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_include.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_include.php index 4124f35504..9c6a49199c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_include.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_include.php @@ -1,59 +1,59 @@ -caching\) \{ echo \'\{nocache\:('.$params['cache_serial'].')#(\d+)\}\';\}'; - $_tag_end = 'if \(\$this->caching\) \{ echo \'\{/nocache\:(\\2)#(\\3)\}\';\}'; - - preg_match_all('!('.$_tag_start.'(.*)'.$_tag_end.')!Us', - $params['compiled_content'], $_match_source, PREG_SET_ORDER); - - // no nocache-parts found: done - if (count($_match_source)==0) return; - - // convert the matched php-code to functions - $_include_compiled = "_cache_serials[$_compile_path] = $params['cache_serial']; - $_include_compiled .= "\$this->_cache_serials['".$_compile_path."'] = '".$params['cache_serial']."';\n\n?>"; - - $_include_compiled .= $params['plugins_code']; - $_include_compiled .= "\n"; - - $_params = array('filename' => $_compile_path, - 'contents' => $_include_compiled, 'create_dirs' => true); - - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_file.php'); - smarty_core_write_file($_params, $smarty); - return true; -} - - -?> +caching\) \{ echo \'\{nocache\:('.$params['cache_serial'].')#(\d+)\}\';\}'; + $_tag_end = 'if \(\$this->caching\) \{ echo \'\{/nocache\:(\\2)#(\\3)\}\';\}'; + + preg_match_all('!('.$_tag_start.'(.*)'.$_tag_end.')!Us', + $params['compiled_content'], $_match_source, PREG_SET_ORDER); + + // no nocache-parts found: done + if (count($_match_source)==0) return; + + // convert the matched php-code to functions + $_include_compiled = "_cache_serials[$_compile_path] = $params['cache_serial']; + $_include_compiled .= "\$this->_cache_serials['".$_compile_path."'] = '".$params['cache_serial']."';\n\n?>"; + + $_include_compiled .= $params['plugins_code']; + $_include_compiled .= "\n"; + + $_params = array('filename' => $_compile_path, + 'contents' => $_include_compiled, 'create_dirs' => true); + + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_file.php'); + smarty_core_write_file($_params, $smarty); + return true; +} + + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_resource.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_resource.php index cd5cfb5638..09b50d3b0a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_resource.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_compiled_resource.php @@ -1,37 +1,37 @@ -compile_dir)) { - // compile_dir not writable, see if it exists - if(!@is_dir($smarty->compile_dir)) { - $smarty->trigger_error('the $compile_dir \'' . $smarty->compile_dir . '\' does not exist, or is not a directory.', E_USER_ERROR); - return false; - } - $smarty->trigger_error('unable to write to $compile_dir \'' . realpath($smarty->compile_dir) . '\'. Be sure $compile_dir is writable by the web server user.', E_USER_ERROR); - return false; - } - - $_params = array('filename' => $params['compile_path'], 'contents' => $params['compiled_content'], 'create_dirs' => true); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_file.php'); - smarty_core_write_file($_params, $smarty); - touch($params['compile_path'], $params['resource_timestamp']); - return true; -} - -/* vim: set expandtab: */ - -?> +compile_dir)) { + // compile_dir not writable, see if it exists + if(!@is_dir($smarty->compile_dir)) { + $smarty->trigger_error('the $compile_dir \'' . $smarty->compile_dir . '\' does not exist, or is not a directory.', E_USER_ERROR); + return false; + } + $smarty->trigger_error('unable to write to $compile_dir \'' . realpath($smarty->compile_dir) . '\'. Be sure $compile_dir is writable by the web server user.', E_USER_ERROR); + return false; + } + + $_params = array('filename' => $params['compile_path'], 'contents' => $params['compiled_content'], 'create_dirs' => true); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_file.php'); + smarty_core_write_file($_params, $smarty); + touch($params['compile_path'], $params['resource_timestamp']); + return true; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_file.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_file.php index 534a3828a2..c92454d4e8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_file.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/core/core.write_file.php @@ -1,48 +1,48 @@ - $_dirname); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.create_dir_structure.php'); - smarty_core_create_dir_structure($_params, $smarty); - } - - // write to tmp file, then rename it to avoid - // file locking race condition - $_tmp_file = $_dirname . DIRECTORY_SEPARATOR . uniqid(''); - - if (!($fd = @fopen($_tmp_file, 'w'))) { - $smarty->trigger_error("problem writing temporary file '$_tmp_file'"); - return false; - } - - fwrite($fd, $params['contents']); - fclose($fd); - if(file_exists($params['filename'])) { - @unlink($params['filename']); - } - @rename($_tmp_file, $params['filename']); - @chmod($params['filename'], $smarty->_file_perms); - - return true; -} - -/* vim: set expandtab: */ - -?> + $_dirname); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.create_dir_structure.php'); + smarty_core_create_dir_structure($_params, $smarty); + } + + // write to tmp file, then rename it to avoid + // file locking race condition + $_tmp_file = $_dirname . DIRECTORY_SEPARATOR . uniqid(''); + + if (!($fd = @fopen($_tmp_file, 'w'))) { + $smarty->trigger_error("problem writing temporary file '$_tmp_file'"); + return false; + } + + fwrite($fd, $params['contents']); + fclose($fd); + if(file_exists($params['filename'])) { + @unlink($params['filename']); + } + @rename($_tmp_file, $params['filename']); + @chmod($params['filename'], $smarty->_file_perms); + + return true; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/debug.tpl b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/debug.tpl index ab717db76f..01265fb445 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/debug.tpl +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/debug.tpl @@ -1,64 +1,64 @@ -{* Smarty *} - -{* debug.tpl, last updated version 2.0.1 *} - -{assign_debug_info} - -{if isset($_smarty_debug_output) and $_smarty_debug_output eq "html"} - - - - {section name=templates loop=$_debug_tpls} - - {sectionelse} - - {/section} - - {section name=vars loop=$_debug_keys} - - {sectionelse} - - {/section} - - {section name=config_vars loop=$_debug_config_keys} - - {sectionelse} - - {/section} -
          Smarty Debug Console
          included templates & config files (load time in seconds):
          {section name=indent loop=$_debug_tpls[templates].depth}   {/section}{$_debug_tpls[templates].filename|escape:html}{if isset($_debug_tpls[templates].exec_time)} ({$_debug_tpls[templates].exec_time|string_format:"%.5f"}){if %templates.index% eq 0} (total){/if}{/if}
          no templates included
          assigned template variables:
          {ldelim}${$_debug_keys[vars]}{rdelim}{$_debug_vals[vars]|@debug_print_var}
          no template variables assigned
          assigned config file variables (outer template scope):
          {ldelim}#{$_debug_config_keys[config_vars]}#{rdelim}{$_debug_config_vals[config_vars]|@debug_print_var}
          no config vars assigned
          - -{else} - -{/if} +{* Smarty *} + +{* debug.tpl, last updated version 2.0.1 *} + +{assign_debug_info} + +{if isset($_smarty_debug_output) and $_smarty_debug_output eq "html"} + + + + {section name=templates loop=$_debug_tpls} + + {sectionelse} + + {/section} + + {section name=vars loop=$_debug_keys} + + {sectionelse} + + {/section} + + {section name=config_vars loop=$_debug_config_keys} + + {sectionelse} + + {/section} +
          Smarty Debug Console
          included templates & config files (load time in seconds):
          {section name=indent loop=$_debug_tpls[templates].depth}   {/section}{$_debug_tpls[templates].filename|escape:html}{if isset($_debug_tpls[templates].exec_time)} ({$_debug_tpls[templates].exec_time|string_format:"%.5f"}){if %templates.index% eq 0} (total){/if}{/if}
          no templates included
          assigned template variables:
          {ldelim}${$_debug_keys[vars]}{rdelim}{$_debug_vals[vars]|@debug_print_var}
          no template variables assigned
          assigned config file variables (outer template scope):
          {ldelim}#{$_debug_config_keys[config_vars]}#{rdelim}{$_debug_config_vals[config_vars]|@debug_print_var}
          no config vars assigned
          + +{else} + +{/if} diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.strip.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.strip.php index a25df36069..b03ce78c96 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.strip.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.strip.php @@ -1,35 +1,35 @@ - - * Name: strip
          - * Purpose: strip unwanted white space from text
          - * @link http://smarty.php.net/manual/en/language.function.strip.php {strip} - * (Smarty online manual) - * @param array unused, no parameters for this block - * @param string content of {strip}{/strip} tags - * @param Smarty clever method emulation - * @return string $content stripped of whitespace - */ -function smarty_block_strip($params, $content, &$this) -{ - /* Reformat data between 'strip' and '/strip' tags, removing spaces, tabs and newlines. */ - $_strip_search = array( - "![\t ]+$|^[\t ]+!m", // remove leading/trailing space chars - '%[\r\n]+%m'); // remove CRs and newlines - $_strip_replace = array( - '', - ''); - return preg_replace($_strip_search, $_strip_replace, $content); -} - -/* vim: set expandtab: */ - -?> + + * Name: strip
          + * Purpose: strip unwanted white space from text
          + * @link http://smarty.php.net/manual/en/language.function.strip.php {strip} + * (Smarty online manual) + * @param array unused, no parameters for this block + * @param string content of {strip}{/strip} tags + * @param Smarty clever method emulation + * @return string $content stripped of whitespace + */ +function smarty_block_strip($params, $content, &$this) +{ + /* Reformat data between 'strip' and '/strip' tags, removing spaces, tabs and newlines. */ + $_strip_search = array( + "![\t ]+$|^[\t ]+!m", // remove leading/trailing space chars + '%[\r\n]+%m'); // remove CRs and newlines + $_strip_replace = array( + '', + ''); + return preg_replace($_strip_search, $_strip_replace, $content); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.textformat.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.textformat.php index f3462c211f..7ddccc7041 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.textformat.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/block.textformat.php @@ -1,83 +1,83 @@ - - * Name: textformat
          - * Purpose: format text a certain way with preset styles - * or custom wrap/indent settings
          - * @link http://smarty.php.net/manual/en/language.function.textformat.php {textformat} - * (Smarty online manual) - * @param array - *
          - * Params:   style: string (email)
          - *           indent: integer (0)
          - *           wrap: integer (80)
          - *           wrap_char string ("\n")
          - *           indent_char: string (" ")
          - *           wrap_boundary: boolean (true)
          - * 
          - * @param string contents of the block - * @param Smarty clever simulation of a method - * @return string string $content re-formatted - */ -function smarty_block_textformat($params, $content, &$smarty) -{ - $style = null; - $indent = 0; - $indent_first = 0; - $indent_char = ' '; - $wrap = 80; - $wrap_char = "\n"; - $wrap_cut = false; - $assign = null; - - if($content == null) { - return true; - } - - extract($params); - - if($style == 'email') { - $wrap = 72; - } - - // split into paragraphs - $paragraphs = preg_split('![\r\n][\r\n]!',$content); - $output = ''; - - foreach($paragraphs as $paragraph) { - if($paragraph == '') { - continue; - } - // convert mult. spaces & special chars to single space - $paragraph = preg_replace(array('!\s+!','!(^\s+)|(\s+$)!'),array(' ',''),$paragraph); - // indent first line - if($indent_first > 0) { - $paragraph = str_repeat($indent_char,$indent_first) . $paragraph; - } - // wordwrap sentences - $paragraph = wordwrap($paragraph, $wrap - $indent, $wrap_char, $wrap_cut); - // indent lines - if($indent > 0) { - $paragraph = preg_replace('!^!m',str_repeat($indent_char,$indent),$paragraph); - } - $output .= $paragraph . $wrap_char . $wrap_char; - } - - if($assign != null) { - $smarty->assign($assign,$output); - } else { - return $output; - } -} - -/* vim: set expandtab: */ - -?> + + * Name: textformat
          + * Purpose: format text a certain way with preset styles + * or custom wrap/indent settings
          + * @link http://smarty.php.net/manual/en/language.function.textformat.php {textformat} + * (Smarty online manual) + * @param array + *
          + * Params:   style: string (email)
          + *           indent: integer (0)
          + *           wrap: integer (80)
          + *           wrap_char string ("\n")
          + *           indent_char: string (" ")
          + *           wrap_boundary: boolean (true)
          + * 
          + * @param string contents of the block + * @param Smarty clever simulation of a method + * @return string string $content re-formatted + */ +function smarty_block_textformat($params, $content, &$smarty) +{ + $style = null; + $indent = 0; + $indent_first = 0; + $indent_char = ' '; + $wrap = 80; + $wrap_char = "\n"; + $wrap_cut = false; + $assign = null; + + if($content == null) { + return true; + } + + extract($params); + + if($style == 'email') { + $wrap = 72; + } + + // split into paragraphs + $paragraphs = preg_split('![\r\n][\r\n]!',$content); + $output = ''; + + foreach($paragraphs as $paragraph) { + if($paragraph == '') { + continue; + } + // convert mult. spaces & special chars to single space + $paragraph = preg_replace(array('!\s+!','!(^\s+)|(\s+$)!'),array(' ',''),$paragraph); + // indent first line + if($indent_first > 0) { + $paragraph = str_repeat($indent_char,$indent_first) . $paragraph; + } + // wordwrap sentences + $paragraph = wordwrap($paragraph, $wrap - $indent, $wrap_char, $wrap_cut); + // indent lines + if($indent > 0) { + $paragraph = preg_replace('!^!m',str_repeat($indent_char,$indent),$paragraph); + } + $output .= $paragraph . $wrap_char . $wrap_char; + } + + if($assign != null) { + $smarty->assign($assign,$output); + } else { + return $output; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign.php index c04be8bc05..ad23f043db 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign.php @@ -1,38 +1,38 @@ - - * Name: assign
          - * Purpose: assign a value to a template variable - * @link http://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign} - * (Smarty online manual) - * @param array Format: array('var' => variable name, 'value' => value to assign) - * @param Smarty - */ -function smarty_function_assign($params, &$smarty) -{ - extract($params); - - if (empty($var)) { - $smarty->trigger_error("assign: missing 'var' parameter"); - return; - } - - if (!in_array('value', array_keys($params))) { - $smarty->trigger_error("assign: missing 'value' parameter"); - return; - } - - $smarty->assign($var, $value); -} - -/* vim: set expandtab: */ - -?> + + * Name: assign
          + * Purpose: assign a value to a template variable + * @link http://smarty.php.net/manual/en/language.custom.functions.php#LANGUAGE.FUNCTION.ASSIGN {assign} + * (Smarty online manual) + * @param array Format: array('var' => variable name, 'value' => value to assign) + * @param Smarty + */ +function smarty_function_assign($params, &$smarty) +{ + extract($params); + + if (empty($var)) { + $smarty->trigger_error("assign: missing 'var' parameter"); + return; + } + + if (!in_array('value', array_keys($params))) { + $smarty->trigger_error("assign: missing 'value' parameter"); + return; + } + + $smarty->assign($var, $value); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign_debug_info.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign_debug_info.php index 59ddaa1637..c281ce879d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign_debug_info.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.assign_debug_info.php @@ -1,39 +1,39 @@ - - * Name: assign_debug_info
          - * Purpose: assign debug info to the template
          - * @param array unused in this plugin, this plugin uses {@link Smarty::$_config}, - * {@link Smarty::$_tpl_vars} and {@link Smarty::$_smarty_debug_info} - * @param Smarty - */ -function smarty_function_assign_debug_info($params, &$smarty) -{ - $assigned_vars = $smarty->_tpl_vars; - ksort($assigned_vars); - if (@is_array($smarty->_config[0])) { - $config_vars = $smarty->_config[0]; - ksort($config_vars); - $smarty->assign("_debug_config_keys", array_keys($config_vars)); - $smarty->assign("_debug_config_vals", array_values($config_vars)); - } - - $included_templates = $smarty->_smarty_debug_info; - - $smarty->assign("_debug_keys", array_keys($assigned_vars)); - $smarty->assign("_debug_vals", array_values($assigned_vars)); - - $smarty->assign("_debug_tpls", $included_templates); -} - -/* vim: set expandtab: */ - -?> + + * Name: assign_debug_info
          + * Purpose: assign debug info to the template
          + * @param array unused in this plugin, this plugin uses {@link Smarty::$_config}, + * {@link Smarty::$_tpl_vars} and {@link Smarty::$_smarty_debug_info} + * @param Smarty + */ +function smarty_function_assign_debug_info($params, &$smarty) +{ + $assigned_vars = $smarty->_tpl_vars; + ksort($assigned_vars); + if (@is_array($smarty->_config[0])) { + $config_vars = $smarty->_config[0]; + ksort($config_vars); + $smarty->assign("_debug_config_keys", array_keys($config_vars)); + $smarty->assign("_debug_config_vals", array_values($config_vars)); + } + + $included_templates = $smarty->_smarty_debug_info; + + $smarty->assign("_debug_keys", array_keys($assigned_vars)); + $smarty->assign("_debug_vals", array_values($assigned_vars)); + + $smarty->assign("_debug_tpls", $included_templates); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.config_load.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.config_load.php index d9d65b954e..12b74620de 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.config_load.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.config_load.php @@ -1,130 +1,130 @@ - - * Name: config_load
          - * Purpose: load config file vars - * @link http://smarty.php.net/manual/en/language.function.config.load.php {config_load} - * (Smarty online manual) - * @param array Format: - *
          - * array('file' => required config file name,
          - *       'section' => optional config file section to load
          - *       'scope' => local/parent/global
          - *       'global' => overrides scope, setting to parent if true)
          - * 
          - * @param Smarty - */ -function smarty_function_config_load($params, &$smarty) -{ - if ($smarty->debugging) { - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $_debug_start_time = smarty_core_get_microtime($_params, $smarty); - } - - $_file = isset($params['file']) ? $smarty->_dequote($params['file']) : null; - $_section = isset($params['section']) ? $smarty->_dequote($params['section']) : null; - $_scope = isset($params['scope']) ? $smarty->_dequote($params['scope']) : 'global'; - $_global = isset($params['global']) ? $smarty->_dequote($params['global']) : false; - - if (!isset($_file) || strlen($_file) == 0) { - $smarty->_syntax_error("missing 'file' attribute in config_load tag", E_USER_ERROR, __FILE__, __LINE__); - } - - if (isset($_scope)) { - if ($_scope != 'local' && - $_scope != 'parent' && - $_scope != 'global') { - $smarty->_syntax_error("invalid 'scope' attribute value", E_USER_ERROR, __FILE__, __LINE__); - } - } else { - if ($_global) { - $_scope = 'parent'; - } else { - $_scope = 'local'; - } - } - - if(@is_dir($smarty->config_dir)) { - $_config_dir = $smarty->config_dir; - } else { - // config_dir not found, try include_path - $_params = array('file_path' => $smarty->config_dir); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); - smarty_core_get_include_path($_params, $smarty); - $_config_dir = $_params['new_file_path']; - } - - $_file_path = $_config_dir . DIRECTORY_SEPARATOR . $_file; - if (isset($_section)) - $_compile_file = $smarty->_get_compile_path($_file_path.'|'.$_section); - else - $_compile_file = $smarty->_get_compile_path($_file_path); - - if($smarty->force_compile - || !file_exists($_compile_file) - || ($smarty->compile_check - && !$smarty->_is_compiled($_file_path, $_compile_file))) { - // compile config file - if(!is_object($smarty->_conf_obj)) { - require_once SMARTY_DIR . $smarty->config_class . '.class.php'; - $smarty->_conf_obj = new $smarty->config_class($_config_dir); - $smarty->_conf_obj->overwrite = $smarty->config_overwrite; - $smarty->_conf_obj->booleanize = $smarty->config_booleanize; - $smarty->_conf_obj->read_hidden = $smarty->config_read_hidden; - $smarty->_conf_obj->fix_newlines = $smarty->config_fix_newlines; - $smarty->_conf_obj->set_path = $_config_dir; - } - $_config_vars = array_merge($smarty->_conf_obj->get($_file), - $smarty->_conf_obj->get($_file, $_section)); - if(function_exists('var_export')) { - $_output = ''; - } else { - $_output = ''\\\'', '\\'=>'\\\\')) . '\'); ?>'; - } - $_params = (array('compile_path' => $_compile_file, 'compiled_content' => $_output, 'resource_timestamp' => filemtime($_file_path))); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_resource.php'); - smarty_core_write_compiled_resource($_params, $smarty); - } else { - include($_compile_file); - } - - if ($smarty->caching) { - $smarty->_cache_info['config'][$_file] = true; - } - - $smarty->_config[0]['vars'] = @array_merge($smarty->_config[0]['vars'], $_config_vars); - $smarty->_config[0]['files'][$_file] = true; - - if ($_scope == 'parent') { - $smarty->_config[1]['vars'] = @array_merge($smarty->_config[1]['vars'], $_config_vars); - $smarty->_config[1]['files'][$_file] = true; - } else if ($_scope == 'global') { - for ($i = 1, $for_max = count($smarty->_config); $i < $for_max; $i++) { - $smarty->_config[$i]['vars'] = @array_merge($smarty->_config[$i]['vars'], $_config_vars); - $smarty->_config[$i]['files'][$_file] = true; - } - } - - if ($smarty->debugging) { - $_params = array(); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); - $smarty->_smarty_debug_info[] = array('type' => 'config', - 'filename' => $_file.' ['.$_section.'] '.$_scope, - 'depth' => $smarty->_inclusion_depth, - 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $_debug_start_time); - } - -} - -/* vim: set expandtab: */ - -?> + + * Name: config_load
          + * Purpose: load config file vars + * @link http://smarty.php.net/manual/en/language.function.config.load.php {config_load} + * (Smarty online manual) + * @param array Format: + *
          + * array('file' => required config file name,
          + *       'section' => optional config file section to load
          + *       'scope' => local/parent/global
          + *       'global' => overrides scope, setting to parent if true)
          + * 
          + * @param Smarty + */ +function smarty_function_config_load($params, &$smarty) +{ + if ($smarty->debugging) { + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $_debug_start_time = smarty_core_get_microtime($_params, $smarty); + } + + $_file = isset($params['file']) ? $smarty->_dequote($params['file']) : null; + $_section = isset($params['section']) ? $smarty->_dequote($params['section']) : null; + $_scope = isset($params['scope']) ? $smarty->_dequote($params['scope']) : 'global'; + $_global = isset($params['global']) ? $smarty->_dequote($params['global']) : false; + + if (!isset($_file) || strlen($_file) == 0) { + $smarty->_syntax_error("missing 'file' attribute in config_load tag", E_USER_ERROR, __FILE__, __LINE__); + } + + if (isset($_scope)) { + if ($_scope != 'local' && + $_scope != 'parent' && + $_scope != 'global') { + $smarty->_syntax_error("invalid 'scope' attribute value", E_USER_ERROR, __FILE__, __LINE__); + } + } else { + if ($_global) { + $_scope = 'parent'; + } else { + $_scope = 'local'; + } + } + + if(@is_dir($smarty->config_dir)) { + $_config_dir = $smarty->config_dir; + } else { + // config_dir not found, try include_path + $_params = array('file_path' => $smarty->config_dir); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_include_path.php'); + smarty_core_get_include_path($_params, $smarty); + $_config_dir = $_params['new_file_path']; + } + + $_file_path = $_config_dir . DIRECTORY_SEPARATOR . $_file; + if (isset($_section)) + $_compile_file = $smarty->_get_compile_path($_file_path.'|'.$_section); + else + $_compile_file = $smarty->_get_compile_path($_file_path); + + if($smarty->force_compile + || !file_exists($_compile_file) + || ($smarty->compile_check + && !$smarty->_is_compiled($_file_path, $_compile_file))) { + // compile config file + if(!is_object($smarty->_conf_obj)) { + require_once SMARTY_DIR . $smarty->config_class . '.class.php'; + $smarty->_conf_obj = new $smarty->config_class($_config_dir); + $smarty->_conf_obj->overwrite = $smarty->config_overwrite; + $smarty->_conf_obj->booleanize = $smarty->config_booleanize; + $smarty->_conf_obj->read_hidden = $smarty->config_read_hidden; + $smarty->_conf_obj->fix_newlines = $smarty->config_fix_newlines; + $smarty->_conf_obj->set_path = $_config_dir; + } + $_config_vars = array_merge($smarty->_conf_obj->get($_file), + $smarty->_conf_obj->get($_file, $_section)); + if(function_exists('var_export')) { + $_output = ''; + } else { + $_output = ''\\\'', '\\'=>'\\\\')) . '\'); ?>'; + } + $_params = (array('compile_path' => $_compile_file, 'compiled_content' => $_output, 'resource_timestamp' => filemtime($_file_path))); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.write_compiled_resource.php'); + smarty_core_write_compiled_resource($_params, $smarty); + } else { + include($_compile_file); + } + + if ($smarty->caching) { + $smarty->_cache_info['config'][$_file] = true; + } + + $smarty->_config[0]['vars'] = @array_merge($smarty->_config[0]['vars'], $_config_vars); + $smarty->_config[0]['files'][$_file] = true; + + if ($_scope == 'parent') { + $smarty->_config[1]['vars'] = @array_merge($smarty->_config[1]['vars'], $_config_vars); + $smarty->_config[1]['files'][$_file] = true; + } else if ($_scope == 'global') { + for ($i = 1, $for_max = count($smarty->_config); $i < $for_max; $i++) { + $smarty->_config[$i]['vars'] = @array_merge($smarty->_config[$i]['vars'], $_config_vars); + $smarty->_config[$i]['files'][$_file] = true; + } + } + + if ($smarty->debugging) { + $_params = array(); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.get_microtime.php'); + $smarty->_smarty_debug_info[] = array('type' => 'config', + 'filename' => $_file.' ['.$_section.'] '.$_scope, + 'depth' => $smarty->_inclusion_depth, + 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $_debug_start_time); + } + +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.counter.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.counter.php index 8d17d2bb23..2536c14ea3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.counter.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.counter.php @@ -1,88 +1,88 @@ - - * Name: counter
          - * Purpose: print out a counter value - * @link http://smarty.php.net/manual/en/language.function.counter.php {counter} - * (Smarty online manual) - * @param array parameters - * @param Smarty - * @return string|null - */ -function smarty_function_counter($params, &$smarty) -{ - static $counters = array(); - - extract($params); - - if (!isset($name)) { - if(isset($id)) { - $name = $id; - } else { - $name = "default"; - } - } - - if (!isset($counters[$name])) { - $counters[$name] = array( - 'start'=>1, - 'skip'=>1, - 'direction'=>'up', - 'count'=>1 - ); - } - $counter =& $counters[$name]; - - if (isset($start)) { - $counter['start'] = $counter['count'] = $start; - } - - if (!empty($assign)) { - $counter['assign'] = $assign; - } - - if (isset($counter['assign'])) { - $smarty->assign($counter['assign'], $counter['count']); - } - - if (isset($print)) { - $print = (bool)$print; - } else { - $print = empty($counter['assign']); - } - - if ($print) { - $retval = $counter['count']; - } else { - $retval = null; - } - - if (isset($skip)) { - $counter['skip'] = $skip; - } - - if (isset($direction)) { - $counter['direction'] = $direction; - } - - if ($counter['direction'] == "down") - $counter['count'] -= $counter['skip']; - else - $counter['count'] += $counter['skip']; - - return $retval; - -} - -/* vim: set expandtab: */ - -?> + + * Name: counter
          + * Purpose: print out a counter value + * @link http://smarty.php.net/manual/en/language.function.counter.php {counter} + * (Smarty online manual) + * @param array parameters + * @param Smarty + * @return string|null + */ +function smarty_function_counter($params, &$smarty) +{ + static $counters = array(); + + extract($params); + + if (!isset($name)) { + if(isset($id)) { + $name = $id; + } else { + $name = "default"; + } + } + + if (!isset($counters[$name])) { + $counters[$name] = array( + 'start'=>1, + 'skip'=>1, + 'direction'=>'up', + 'count'=>1 + ); + } + $counter =& $counters[$name]; + + if (isset($start)) { + $counter['start'] = $counter['count'] = $start; + } + + if (!empty($assign)) { + $counter['assign'] = $assign; + } + + if (isset($counter['assign'])) { + $smarty->assign($counter['assign'], $counter['count']); + } + + if (isset($print)) { + $print = (bool)$print; + } else { + $print = empty($counter['assign']); + } + + if ($print) { + $retval = $counter['count']; + } else { + $retval = null; + } + + if (isset($skip)) { + $counter['skip'] = $skip; + } + + if (isset($direction)) { + $counter['direction'] = $direction; + } + + if ($counter['direction'] == "down") + $counter['count'] -= $counter['skip']; + else + $counter['count'] += $counter['skip']; + + return $retval; + +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.cycle.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.cycle.php index c2e899d0d1..d5909a61a3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.cycle.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.cycle.php @@ -1,119 +1,119 @@ - - * Name: cycle
          - * Date: May 3, 2002
          - * Purpose: cycle through given values
          - * Input: - * - name = name of cycle (optional) - * - values = comma separated list of values to cycle, - * or an array of values to cycle - * (this can be left out for subsequent calls) - * - reset = boolean - resets given var to true - * - print = boolean - print var or not. default is true - * - advance = boolean - whether or not to advance the cycle - * - delimiter = the value delimiter, default is "," - * - assign = boolean, assigns to template var instead of - * printed. - * - * Examples:
          - *
          - * {cycle values="#eeeeee,#d0d0d0d"}
          - * {cycle name=row values="one,two,three" reset=true}
          - * {cycle name=row}
          - * 
          - * @link http://smarty.php.net/manual/en/language.function.cycle.php {cycle} - * (Smarty online manual) - * @author Monte Ohrt - * @author credit to Mark Priatel - * @author credit to Gerard - * @author credit to Jason Sweat - * @version 1.3 - * @param array - * @param Smarty - * @return string|null - */ -function smarty_function_cycle($params, &$smarty) -{ - static $cycle_vars; - - extract($params); - - if (empty($name)) { - $name = 'default'; - } - - if (!isset($print)) { - $print = true; - } - - if (!isset($advance)) { - $advance = true; - } - - if (!isset($reset)) { - $reset = false; - } - - if (!in_array('values', array_keys($params))) { - if(!isset($cycle_vars[$name]['values'])) { - $smarty->trigger_error("cycle: missing 'values' parameter"); - return; - } - } else { - if(isset($cycle_vars[$name]['values']) - && $cycle_vars[$name]['values'] != $values ) { - $cycle_vars[$name]['index'] = 0; - } - $cycle_vars[$name]['values'] = $values; - } - - if (isset($delimiter)) { - $cycle_vars[$name]['delimiter'] = $delimiter; - } elseif (!isset($cycle_vars[$name]['delimiter'])) { - $cycle_vars[$name]['delimiter'] = ','; - } - - if(!is_array($cycle_vars[$name]['values'])) { - $cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']); - } else { - $cycle_array = $cycle_vars[$name]['values']; - } - - if(!isset($cycle_vars[$name]['index']) || $reset ) { - $cycle_vars[$name]['index'] = 0; - } - - if (isset($assign)) { - $print = false; - $smarty->assign($assign, $cycle_array[$cycle_vars[$name]['index']]); - } - - if($print) { - $retval = $cycle_array[$cycle_vars[$name]['index']]; - } else { - $retval = null; - } - - if($advance) { - if ( $cycle_vars[$name]['index'] >= count($cycle_array) -1 ) { - $cycle_vars[$name]['index'] = 0; - } else { - $cycle_vars[$name]['index']++; - } - } - - return $retval; -} - -/* vim: set expandtab: */ - -?> + + * Name: cycle
          + * Date: May 3, 2002
          + * Purpose: cycle through given values
          + * Input: + * - name = name of cycle (optional) + * - values = comma separated list of values to cycle, + * or an array of values to cycle + * (this can be left out for subsequent calls) + * - reset = boolean - resets given var to true + * - print = boolean - print var or not. default is true + * - advance = boolean - whether or not to advance the cycle + * - delimiter = the value delimiter, default is "," + * - assign = boolean, assigns to template var instead of + * printed. + * + * Examples:
          + *
          + * {cycle values="#eeeeee,#d0d0d0d"}
          + * {cycle name=row values="one,two,three" reset=true}
          + * {cycle name=row}
          + * 
          + * @link http://smarty.php.net/manual/en/language.function.cycle.php {cycle} + * (Smarty online manual) + * @author Monte Ohrt + * @author credit to Mark Priatel + * @author credit to Gerard + * @author credit to Jason Sweat + * @version 1.3 + * @param array + * @param Smarty + * @return string|null + */ +function smarty_function_cycle($params, &$smarty) +{ + static $cycle_vars; + + extract($params); + + if (empty($name)) { + $name = 'default'; + } + + if (!isset($print)) { + $print = true; + } + + if (!isset($advance)) { + $advance = true; + } + + if (!isset($reset)) { + $reset = false; + } + + if (!in_array('values', array_keys($params))) { + if(!isset($cycle_vars[$name]['values'])) { + $smarty->trigger_error("cycle: missing 'values' parameter"); + return; + } + } else { + if(isset($cycle_vars[$name]['values']) + && $cycle_vars[$name]['values'] != $values ) { + $cycle_vars[$name]['index'] = 0; + } + $cycle_vars[$name]['values'] = $values; + } + + if (isset($delimiter)) { + $cycle_vars[$name]['delimiter'] = $delimiter; + } elseif (!isset($cycle_vars[$name]['delimiter'])) { + $cycle_vars[$name]['delimiter'] = ','; + } + + if(!is_array($cycle_vars[$name]['values'])) { + $cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']); + } else { + $cycle_array = $cycle_vars[$name]['values']; + } + + if(!isset($cycle_vars[$name]['index']) || $reset ) { + $cycle_vars[$name]['index'] = 0; + } + + if (isset($assign)) { + $print = false; + $smarty->assign($assign, $cycle_array[$cycle_vars[$name]['index']]); + } + + if($print) { + $retval = $cycle_array[$cycle_vars[$name]['index']]; + } else { + $retval = null; + } + + if($advance) { + if ( $cycle_vars[$name]['index'] >= count($cycle_array) -1 ) { + $cycle_vars[$name]['index'] = 0; + } else { + $cycle_vars[$name]['index']++; + } + } + + return $retval; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.debug.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.debug.php index 5fe02f30c4..2452d625e8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.debug.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.debug.php @@ -1,35 +1,35 @@ - - * Name: debug
          - * Date: July 1, 2002
          - * Purpose: popup debug window - * @link http://smarty.php.net/manual/en/language.function.debug.php {debug} - * (Smarty online manual) - * @author Monte Ohrt - * @version 1.0 - * @param array - * @param Smarty - * @return string output from {@link Smarty::_generate_debug_output()} - */ -function smarty_function_debug($params, &$smarty) -{ - if($params['output']) { - $smarty->assign('_smarty_debug_output',$params['output']); - } - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.display_debug_console.php'); - return smarty_core_display_debug_console(null, $smarty); -} - -/* vim: set expandtab: */ - -?> + + * Name: debug
          + * Date: July 1, 2002
          + * Purpose: popup debug window + * @link http://smarty.php.net/manual/en/language.function.debug.php {debug} + * (Smarty online manual) + * @author Monte Ohrt + * @version 1.0 + * @param array + * @param Smarty + * @return string output from {@link Smarty::_generate_debug_output()} + */ +function smarty_function_debug($params, &$smarty) +{ + if($params['output']) { + $smarty->assign('_smarty_debug_output',$params['output']); + } + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.display_debug_console.php'); + return smarty_core_display_debug_console(null, $smarty); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.eval.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.eval.php index e694387648..3a4b8b2b8c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.eval.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.eval.php @@ -1,48 +1,48 @@ - - * Name: eval
          - * Purpose: evaluate a template variable as a template
          - * @link http://smarty.php.net/manual/en/language.function.eval.php {eval} - * (Smarty online manual) - * @param array - * @param Smarty - */ -function smarty_function_eval($params, &$smarty) -{ - - if (!isset($params['var'])) { - $smarty->trigger_error("eval: missing 'var' parameter"); - return; - } - - if($params['var'] == '') { - return; - } - - $smarty->_compile_source('evaluated template', $params['var'], $_var_compiled); - - ob_start(); - $smarty->_eval('?>' . $_var_compiled); - $_contents = ob_get_contents(); - ob_end_clean(); - - if (!empty($params['assign'])) { - $smarty->assign($params['assign'], $_contents); - } else { - return $_contents; - } -} - -/* vim: set expandtab: */ - -?> + + * Name: eval
          + * Purpose: evaluate a template variable as a template
          + * @link http://smarty.php.net/manual/en/language.function.eval.php {eval} + * (Smarty online manual) + * @param array + * @param Smarty + */ +function smarty_function_eval($params, &$smarty) +{ + + if (!isset($params['var'])) { + $smarty->trigger_error("eval: missing 'var' parameter"); + return; + } + + if($params['var'] == '') { + return; + } + + $smarty->_compile_source('evaluated template', $params['var'], $_var_compiled); + + ob_start(); + $smarty->_eval('?>' . $_var_compiled); + $_contents = ob_get_contents(); + ob_end_clean(); + + if (!empty($params['assign'])) { + $smarty->assign($params['assign'], $_contents); + } else { + return $_contents; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.fetch.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.fetch.php index 082c3483cc..b013b8c37d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.fetch.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.fetch.php @@ -1,217 +1,217 @@ - - * Name: fetch
          - * Purpose: fetch file, web or ftp data and display results - * @link http://smarty.php.net/manual/en/language.function.fetch.php {fetch} - * (Smarty online manual) - * @param array - * @param Smarty - * @return string|null if the assign parameter is passed, Smarty assigns the - * result to a template variable - */ -function smarty_function_fetch($params, &$smarty) -{ - if (empty($params['file'])) { - $smarty->_trigger_fatal_error("[plugin] parameter 'file' cannot be empty"); - return; - } - - if ($smarty->security && !preg_match('!^(http|ftp)://!i', $params['file'])) { - $_params = array('resource_type' => 'file', 'resource_name' => $params['file']); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); - if(!smarty_core_is_secure($_params, $smarty)) { - $smarty->_trigger_fatal_error('[plugin] (secure mode) fetch \'' . $params['file'] . '\' is not allowed'); - return; - } - - // fetch the file - if($fp = @fopen($params['file'],'r')) { - while(!feof($fp)) { - $content .= fgets ($fp,4096); - } - fclose($fp); - } else { - $smarty->_trigger_fatal_error('[plugin] fetch cannot read file \'' . $params['file'] . '\''); - return; - } - } else { - // not a local file - if(preg_match('!^http://!i',$params['file'])) { - // http fetch - if($uri_parts = parse_url($params['file'])) { - // set defaults - $host = $server_name = $uri_parts['host']; - $timeout = 30; - $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; - $agent = "Smarty Template Engine ".$smarty->_version; - $referer = ""; - $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/'; - $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : ''; - $_is_proxy = false; - if(empty($uri_parts['port'])) { - $port = 80; - } else { - $port = $uri_parts['port']; - } - if(empty($uri_parts['user'])) { - $user = ''; - } - // loop through parameters, setup headers - foreach($params as $param_key => $param_value) { - switch($param_key) { - case "file": - case "assign": - case "assign_headers": - break; - case "user": - if(!empty($param_value)) { - $user = $param_value; - } - break; - case "pass": - if(!empty($param_value)) { - $pass = $param_value; - } - break; - case "accept": - if(!empty($param_value)) { - $accept = $param_value; - } - break; - case "header": - if(!empty($param_value)) { - if(!preg_match('![\w\d-]+: .+!',$param_value)) { - $smarty->_trigger_fatal_error("[plugin] invalid header format '".$param_value."'"); - return; - } else { - $extra_headers[] = $param_value; - } - } - break; - case "proxy_host": - if(!empty($param_value)) { - $proxy_host = $param_value; - } - break; - case "proxy_port": - if(!preg_match('!\D!', $param_value)) { - $proxy_port = (int) $param_value; - } else { - $smarty->_trigger_fatal_error("[plugin] invalid value for attribute '".$param_key."'"); - return; - } - break; - case "agent": - if(!empty($param_value)) { - $agent = $param_value; - } - break; - case "referer": - if(!empty($param_value)) { - $referer = $param_value; - } - break; - case "timeout": - if(!preg_match('!\D!', $param_value)) { - $timeout = (int) $param_value; - } else { - $smarty->_trigger_fatal_error("[plugin] invalid value for attribute '".$param_key."'"); - return; - } - break; - default: - $smarty->_trigger_fatal_error("[plugin] unrecognized attribute '".$param_key."'"); - return; - } - } - if(!empty($proxy_host) && !empty($proxy_port)) { - $_is_proxy = true; - $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout); - } else { - $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout); - } - - if(!$fp) { - $smarty->_trigger_fatal_error("[plugin] unable to fetch: $errstr ($errno)"); - return; - } else { - if($_is_proxy) { - fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n"); - } else { - fputs($fp, "GET $uri HTTP/1.0\r\n"); - } - if(!empty($host)) { - fputs($fp, "Host: $host\r\n"); - } - if(!empty($accept)) { - fputs($fp, "Accept: $accept\r\n"); - } - if(!empty($agent)) { - fputs($fp, "User-Agent: $agent\r\n"); - } - if(!empty($referer)) { - fputs($fp, "Referer: $referer\r\n"); - } - if(isset($extra_headers) && is_array($extra_headers)) { - foreach($extra_headers as $curr_header) { - fputs($fp, $curr_header."\r\n"); - } - } - if(!empty($user) && !empty($pass)) { - fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n"); - } - - $content = ''; - fputs($fp, "\r\n"); - while(!feof($fp)) { - $content .= fgets($fp,4096); - } - fclose($fp); - $csplit = split("\r\n\r\n",$content,2); - - $content = $csplit[1]; - - if(!empty($params['assign_headers'])) { - $smarty->assign($params['assign_headers'],split("\r\n",$csplit[0])); - } - } - } else { - $smarty->_trigger_fatal_error("[plugin] unable to parse URL, check syntax"); - return; - } - } else { - // ftp fetch - if($fp = @fopen($params['file'],'r')) { - while(!feof($fp)) { - $content .= fgets ($fp,4096); - } - fclose($fp); - } else { - $smarty->_trigger_fatal_error('[plugin] fetch cannot read file \'' . $params['file'] .'\''); - return; - } - } - - } - - - if (!empty($params['assign'])) { - $smarty->assign($params['assign'],$content); - } else { - return $content; - } -} - -/* vim: set expandtab: */ - -?> + + * Name: fetch
          + * Purpose: fetch file, web or ftp data and display results + * @link http://smarty.php.net/manual/en/language.function.fetch.php {fetch} + * (Smarty online manual) + * @param array + * @param Smarty + * @return string|null if the assign parameter is passed, Smarty assigns the + * result to a template variable + */ +function smarty_function_fetch($params, &$smarty) +{ + if (empty($params['file'])) { + $smarty->_trigger_fatal_error("[plugin] parameter 'file' cannot be empty"); + return; + } + + if ($smarty->security && !preg_match('!^(http|ftp)://!i', $params['file'])) { + $_params = array('resource_type' => 'file', 'resource_name' => $params['file']); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); + if(!smarty_core_is_secure($_params, $smarty)) { + $smarty->_trigger_fatal_error('[plugin] (secure mode) fetch \'' . $params['file'] . '\' is not allowed'); + return; + } + + // fetch the file + if($fp = @fopen($params['file'],'r')) { + while(!feof($fp)) { + $content .= fgets ($fp,4096); + } + fclose($fp); + } else { + $smarty->_trigger_fatal_error('[plugin] fetch cannot read file \'' . $params['file'] . '\''); + return; + } + } else { + // not a local file + if(preg_match('!^http://!i',$params['file'])) { + // http fetch + if($uri_parts = parse_url($params['file'])) { + // set defaults + $host = $server_name = $uri_parts['host']; + $timeout = 30; + $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; + $agent = "Smarty Template Engine ".$smarty->_version; + $referer = ""; + $uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/'; + $uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : ''; + $_is_proxy = false; + if(empty($uri_parts['port'])) { + $port = 80; + } else { + $port = $uri_parts['port']; + } + if(empty($uri_parts['user'])) { + $user = ''; + } + // loop through parameters, setup headers + foreach($params as $param_key => $param_value) { + switch($param_key) { + case "file": + case "assign": + case "assign_headers": + break; + case "user": + if(!empty($param_value)) { + $user = $param_value; + } + break; + case "pass": + if(!empty($param_value)) { + $pass = $param_value; + } + break; + case "accept": + if(!empty($param_value)) { + $accept = $param_value; + } + break; + case "header": + if(!empty($param_value)) { + if(!preg_match('![\w\d-]+: .+!',$param_value)) { + $smarty->_trigger_fatal_error("[plugin] invalid header format '".$param_value."'"); + return; + } else { + $extra_headers[] = $param_value; + } + } + break; + case "proxy_host": + if(!empty($param_value)) { + $proxy_host = $param_value; + } + break; + case "proxy_port": + if(!preg_match('!\D!', $param_value)) { + $proxy_port = (int) $param_value; + } else { + $smarty->_trigger_fatal_error("[plugin] invalid value for attribute '".$param_key."'"); + return; + } + break; + case "agent": + if(!empty($param_value)) { + $agent = $param_value; + } + break; + case "referer": + if(!empty($param_value)) { + $referer = $param_value; + } + break; + case "timeout": + if(!preg_match('!\D!', $param_value)) { + $timeout = (int) $param_value; + } else { + $smarty->_trigger_fatal_error("[plugin] invalid value for attribute '".$param_key."'"); + return; + } + break; + default: + $smarty->_trigger_fatal_error("[plugin] unrecognized attribute '".$param_key."'"); + return; + } + } + if(!empty($proxy_host) && !empty($proxy_port)) { + $_is_proxy = true; + $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout); + } else { + $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout); + } + + if(!$fp) { + $smarty->_trigger_fatal_error("[plugin] unable to fetch: $errstr ($errno)"); + return; + } else { + if($_is_proxy) { + fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n"); + } else { + fputs($fp, "GET $uri HTTP/1.0\r\n"); + } + if(!empty($host)) { + fputs($fp, "Host: $host\r\n"); + } + if(!empty($accept)) { + fputs($fp, "Accept: $accept\r\n"); + } + if(!empty($agent)) { + fputs($fp, "User-Agent: $agent\r\n"); + } + if(!empty($referer)) { + fputs($fp, "Referer: $referer\r\n"); + } + if(isset($extra_headers) && is_array($extra_headers)) { + foreach($extra_headers as $curr_header) { + fputs($fp, $curr_header."\r\n"); + } + } + if(!empty($user) && !empty($pass)) { + fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n"); + } + + $content = ''; + fputs($fp, "\r\n"); + while(!feof($fp)) { + $content .= fgets($fp,4096); + } + fclose($fp); + $csplit = split("\r\n\r\n",$content,2); + + $content = $csplit[1]; + + if(!empty($params['assign_headers'])) { + $smarty->assign($params['assign_headers'],split("\r\n",$csplit[0])); + } + } + } else { + $smarty->_trigger_fatal_error("[plugin] unable to parse URL, check syntax"); + return; + } + } else { + // ftp fetch + if($fp = @fopen($params['file'],'r')) { + while(!feof($fp)) { + $content .= fgets ($fp,4096); + } + fclose($fp); + } else { + $smarty->_trigger_fatal_error('[plugin] fetch cannot read file \'' . $params['file'] .'\''); + return; + } + } + + } + + + if (!empty($params['assign'])) { + $smarty->assign($params['assign'],$content); + } else { + return $content; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_checkboxes.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_checkboxes.php index 6b32c59466..c146fc19f0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_checkboxes.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_checkboxes.php @@ -1,135 +1,135 @@ - - * Type: function
          - * Name: html_checkboxes
          - * Date: 24.Feb.2003
          - * Purpose: Prints out a list of checkbox input types
          - * Input:
          - * - name (optional) - string default "checkbox" - * - values (required) - array - * - options (optional) - associative array - * - checked (optional) - array default not set - * - separator (optional) - ie
          or   - * - output (optional) - without this one the buttons don't have names - * Examples: - *
          - * {html_checkboxes values=$ids output=$names}
          - * {html_checkboxes values=$ids name='box' separator='
          ' output=$names} - * {html_checkboxes values=$ids checked=$checked separator='
          ' output=$names} - *
          - * @link http://smarty.php.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} - * (Smarty online manual) - * @author Christopher Kvarme - * @author credits to Monte Ohrt - * @version 1.0 - * @param array - * @param Smarty - * @return string - * @uses smarty_function_escape_special_chars() - */ -function smarty_function_html_checkboxes($params, &$smarty) -{ - require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); - - $name = 'checkbox'; - $values = null; - $options = null; - $selected = null; - $separator = ''; - $labels = true; - $output = null; - - $extra = ''; - - foreach($params as $_key => $_val) { - switch($_key) { - case 'name': - case 'separator': - $$_key = $_val; - break; - - case 'labels': - $$_key = (bool)$_val; - break; - - case 'options': - $$_key = (array)$_val; - break; - - case 'values': - case 'output': - $$_key = array_values((array)$_val); - break; - - case 'checked': - case 'selected': - $selected = array_values((array)$_val); - break; - - case 'checkboxes': - $smarty->trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING); - $options = (array)$_val; - break; - - default: - if(!is_array($_val)) { - $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; - } else { - $smarty->trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } - break; - } - } - - if (!isset($options) && !isset($values)) - return ''; /* raise error here? */ - - settype($selected, 'array'); - $_html_result = ''; - - if (is_array($options)) { - - foreach ($options as $_key=>$_val) - $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels); - - - } else { - foreach ($values as $_i=>$_key) { - $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels); - } - - } - - return $_html_result; - -} - -function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels) { - $_output = ''; - if ($labels) $_output .= ''; - $_output .= $separator . "\n"; - - return $_output; -} - -?> + + * Type: function
          + * Name: html_checkboxes
          + * Date: 24.Feb.2003
          + * Purpose: Prints out a list of checkbox input types
          + * Input:
          + * - name (optional) - string default "checkbox" + * - values (required) - array + * - options (optional) - associative array + * - checked (optional) - array default not set + * - separator (optional) - ie
          or   + * - output (optional) - without this one the buttons don't have names + * Examples: + *
          + * {html_checkboxes values=$ids output=$names}
          + * {html_checkboxes values=$ids name='box' separator='
          ' output=$names} + * {html_checkboxes values=$ids checked=$checked separator='
          ' output=$names} + *
          + * @link http://smarty.php.net/manual/en/language.function.html.checkboxes.php {html_checkboxes} + * (Smarty online manual) + * @author Christopher Kvarme + * @author credits to Monte Ohrt + * @version 1.0 + * @param array + * @param Smarty + * @return string + * @uses smarty_function_escape_special_chars() + */ +function smarty_function_html_checkboxes($params, &$smarty) +{ + require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); + + $name = 'checkbox'; + $values = null; + $options = null; + $selected = null; + $separator = ''; + $labels = true; + $output = null; + + $extra = ''; + + foreach($params as $_key => $_val) { + switch($_key) { + case 'name': + case 'separator': + $$_key = $_val; + break; + + case 'labels': + $$_key = (bool)$_val; + break; + + case 'options': + $$_key = (array)$_val; + break; + + case 'values': + case 'output': + $$_key = array_values((array)$_val); + break; + + case 'checked': + case 'selected': + $selected = array_values((array)$_val); + break; + + case 'checkboxes': + $smarty->trigger_error('html_checkboxes: the use of the "checkboxes" attribute is deprecated, use "options" instead', E_USER_WARNING); + $options = (array)$_val; + break; + + default: + if(!is_array($_val)) { + $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; + } else { + $smarty->trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE); + } + break; + } + } + + if (!isset($options) && !isset($values)) + return ''; /* raise error here? */ + + settype($selected, 'array'); + $_html_result = ''; + + if (is_array($options)) { + + foreach ($options as $_key=>$_val) + $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels); + + + } else { + foreach ($values as $_i=>$_key) { + $_val = isset($output[$_i]) ? $output[$_i] : ''; + $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels); + } + + } + + return $_html_result; + +} + +function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels) { + $_output = ''; + if ($labels) $_output .= ''; + $_output .= $separator . "\n"; + + return $_output; +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_image.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_image.php index 5ddbe4a197..2fcdb4e19e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_image.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_image.php @@ -1,143 +1,143 @@ - - * Name: html_image
          - * Date: Feb 24, 2003
          - * Purpose: format HTML tags for the image
          - * Input:
          - * - file = file (and path) of image (required) - * - border = border width (optional, default 0) - * - height = image height (optional, default actual height) - * - image =image width (optional, default actual width) - * - basedir = base directory for absolute paths, default - * is environment variable DOCUMENT_ROOT - * - * Examples: {html_image file="images/masthead.gif"} - * Output: - * @link http://smarty.php.net/manual/en/language.function.html.image.php {html_image} - * (Smarty online manual) - * @author Monte Ohrt - * @author credits to Duda - wrote first image function - * in repository, helped with lots of functionality - * @version 1.0 - * @param array - * @param Smarty - * @return string - * @uses smarty_function_escape_special_chars() - */ -function smarty_function_html_image($params, &$smarty) -{ - require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); - - $alt = ''; - $file = ''; - $border = 0; - $height = ''; - $width = ''; - $extra = ''; - $prefix = ''; - $suffix = ''; - $basedir = isset($GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT']) - ? $GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT'] : ''; - if(strstr($GLOBALS['HTTP_SERVER_VARS']['HTTP_USER_AGENT'], 'Mac')) { - $dpi_default = 72; - } else { - $dpi_default = 96; - } - - foreach($params as $_key => $_val) { - switch($_key) { - case 'file': - case 'border': - case 'height': - case 'width': - case 'dpi': - case 'basedir': - $$_key = $_val; - break; - - case 'alt': - if(!is_array($_val)) { - $$_key = smarty_function_escape_special_chars($_val); - } else { - $smarty->trigger_error("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } - break; - - case 'link': - case 'href': - $prefix = ''; - $suffix = ''; - break; - - default: - if(!is_array($_val)) { - $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; - } else { - $smarty->trigger_error("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } - break; - } - } - - if (empty($file)) { - $smarty->trigger_error("html_image: missing 'file' parameter", E_USER_NOTICE); - return; - } - - if (substr($file,0,1) == '/') { - $_image_path = $basedir . $file; - } else { - $_image_path = $file; - } - - if(!isset($params['width']) || !isset($params['height'])) { - if(!$_image_data = @getimagesize($_image_path)) { - if(!file_exists($_image_path)) { - $smarty->trigger_error("html_image: unable to find '$_image_path'", E_USER_NOTICE); - return; - } else if(!is_readable($_image_path)) { - $smarty->trigger_error("html_image: unable to read '$_image_path'", E_USER_NOTICE); - return; - } else { - $smarty->trigger_error("html_image: '$_image_path' is not a valid image file", E_USER_NOTICE); - return; - } - } - $_params = array('resource_type' => 'file', 'resource_name' => $_image_path); - require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); - if(!$smarty->security && !smarty_core_is_secure($_params, $smarty)) { - $smarty->trigger_error("html_image: (secure) '$_image_path' not in secure directory", E_USER_NOTICE); - return; - } - - if(!isset($params['width'])) { - $width = $_image_data[0]; - } - if(!isset($params['height'])) { - $height = $_image_data[1]; - } - - } - - if(isset($params['dpi'])) { - $_resize = $dpi_default/$params['dpi']; - $width = round($width * $_resize); - $height = round($height * $_resize); - } - - return $prefix . ''.$alt.'' . $suffix; -} - -/* vim: set expandtab: */ - -?> + + * Name: html_image
          + * Date: Feb 24, 2003
          + * Purpose: format HTML tags for the image
          + * Input:
          + * - file = file (and path) of image (required) + * - border = border width (optional, default 0) + * - height = image height (optional, default actual height) + * - image =image width (optional, default actual width) + * - basedir = base directory for absolute paths, default + * is environment variable DOCUMENT_ROOT + * + * Examples: {html_image file="images/masthead.gif"} + * Output: + * @link http://smarty.php.net/manual/en/language.function.html.image.php {html_image} + * (Smarty online manual) + * @author Monte Ohrt + * @author credits to Duda - wrote first image function + * in repository, helped with lots of functionality + * @version 1.0 + * @param array + * @param Smarty + * @return string + * @uses smarty_function_escape_special_chars() + */ +function smarty_function_html_image($params, &$smarty) +{ + require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); + + $alt = ''; + $file = ''; + $border = 0; + $height = ''; + $width = ''; + $extra = ''; + $prefix = ''; + $suffix = ''; + $basedir = isset($GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT']) + ? $GLOBALS['HTTP_SERVER_VARS']['DOCUMENT_ROOT'] : ''; + if(strstr($GLOBALS['HTTP_SERVER_VARS']['HTTP_USER_AGENT'], 'Mac')) { + $dpi_default = 72; + } else { + $dpi_default = 96; + } + + foreach($params as $_key => $_val) { + switch($_key) { + case 'file': + case 'border': + case 'height': + case 'width': + case 'dpi': + case 'basedir': + $$_key = $_val; + break; + + case 'alt': + if(!is_array($_val)) { + $$_key = smarty_function_escape_special_chars($_val); + } else { + $smarty->trigger_error("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE); + } + break; + + case 'link': + case 'href': + $prefix = ''; + $suffix = ''; + break; + + default: + if(!is_array($_val)) { + $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; + } else { + $smarty->trigger_error("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE); + } + break; + } + } + + if (empty($file)) { + $smarty->trigger_error("html_image: missing 'file' parameter", E_USER_NOTICE); + return; + } + + if (substr($file,0,1) == '/') { + $_image_path = $basedir . $file; + } else { + $_image_path = $file; + } + + if(!isset($params['width']) || !isset($params['height'])) { + if(!$_image_data = @getimagesize($_image_path)) { + if(!file_exists($_image_path)) { + $smarty->trigger_error("html_image: unable to find '$_image_path'", E_USER_NOTICE); + return; + } else if(!is_readable($_image_path)) { + $smarty->trigger_error("html_image: unable to read '$_image_path'", E_USER_NOTICE); + return; + } else { + $smarty->trigger_error("html_image: '$_image_path' is not a valid image file", E_USER_NOTICE); + return; + } + } + $_params = array('resource_type' => 'file', 'resource_name' => $_image_path); + require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . 'core.is_secure.php'); + if(!$smarty->security && !smarty_core_is_secure($_params, $smarty)) { + $smarty->trigger_error("html_image: (secure) '$_image_path' not in secure directory", E_USER_NOTICE); + return; + } + + if(!isset($params['width'])) { + $width = $_image_data[0]; + } + if(!isset($params['height'])) { + $height = $_image_data[1]; + } + + } + + if(isset($params['dpi'])) { + $_resize = $dpi_default/$params['dpi']; + $width = round($width * $_resize); + $height = round($height * $_resize); + } + + return $prefix . ''.$alt.'' . $suffix; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_options.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_options.php index dfc38c834c..1b10653c21 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_options.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_options.php @@ -1,118 +1,118 @@ - - * Name: html_options
          - * Input:
          - * - name (optional) - string default "select" - * - values (required if no options supplied) - array - * - options (required if no values supplied) - associative array - * - selected (optional) - string default not set - * - output (required if not options supplied) - array - * Purpose: Prints the list of ' . "\n"; - foreach ($values as $key => $value) { - $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected); - } - $optgroup_html .= "\n"; - return $optgroup_html; -} - -/* vim: set expandtab: */ - -?> + + * Name: html_options
          + * Input:
          + * - name (optional) - string default "select" + * - values (required if no options supplied) - array + * - options (required if no values supplied) - associative array + * - selected (optional) - string default not set + * - output (required if not options supplied) - array + * Purpose: Prints the list of ' . "\n"; + foreach ($values as $key => $value) { + $optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected); + } + $optgroup_html .= "\n"; + return $optgroup_html; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_radios.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_radios.php index f505239194..b80e9bc2c8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_radios.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_radios.php @@ -1,138 +1,138 @@ - - * Type: function
          - * Name: html_radios
          - * Date: 24.Feb.2003
          - * Purpose: Prints out a list of radio input types
          - * Input:
          - * - name (optional) - string default "radio" - * - values (required) - array - * - options (optional) - associative array - * - checked (optional) - array default not set - * - separator (optional) - ie
          or   - * - output (optional) - without this one the buttons don't have names - * Examples: - *
          - * {html_radios values=$ids output=$names}
          - * {html_radios values=$ids name='box' separator='
          ' output=$names} - * {html_radios values=$ids checked=$checked separator='
          ' output=$names} - *
          - * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios} - * (Smarty online manual) - * @author Christopher Kvarme - * @author credits to Monte Ohrt - * @version 1.0 - * @param array - * @param Smarty - * @return string - * @uses smarty_function_escape_special_chars() - */ -function smarty_function_html_radios($params, &$smarty) -{ - require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); - - $name = 'radio'; - $values = null; - $options = null; - $selected = null; - $separator = ''; - $labels = true; - $output = null; - $extra = ''; - - foreach($params as $_key => $_val) { - switch($_key) { - case 'name': - case 'separator': - $$_key = (string)$_val; - break; - - case 'checked': - case 'selected': - if(is_array($_val)) { - $smarty->trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); - } else { - $selected = (string)$_val; - } - break; - - case 'labels': - $$_key = (bool)$_val; - break; - - case 'options': - $$_key = (array)$_val; - break; - - case 'values': - case 'output': - $$_key = array_values((array)$_val); - break; - - case 'radios': - $smarty->trigger_error('html_radios: the use of the "radios" attribute is deprecated, use "options" instead', E_USER_WARNING); - $options = (array)$_val; - break; - - - default: - if(!is_array($_val)) { - $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; - } else { - $smarty->trigger_error("html_radios: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } - break; - } - } - - if (!isset($options) && !isset($values)) - return ''; /* raise error here? */ - - $_html_result = ''; - - if (isset($options) && is_array($options)) { - - foreach ((array)$options as $_key=>$_val) - $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels); - - } else { - - foreach ((array)$values as $_i=>$_key) { - $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels); - } - - } - - return $_html_result; - -} - -function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels) { - $_output = ''; - if ($labels) $_output .= ''; - $_output .= $separator . "\n"; - - return $_output; -} - -?> + + * Type: function
          + * Name: html_radios
          + * Date: 24.Feb.2003
          + * Purpose: Prints out a list of radio input types
          + * Input:
          + * - name (optional) - string default "radio" + * - values (required) - array + * - options (optional) - associative array + * - checked (optional) - array default not set + * - separator (optional) - ie
          or   + * - output (optional) - without this one the buttons don't have names + * Examples: + *
          + * {html_radios values=$ids output=$names}
          + * {html_radios values=$ids name='box' separator='
          ' output=$names} + * {html_radios values=$ids checked=$checked separator='
          ' output=$names} + *
          + * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios} + * (Smarty online manual) + * @author Christopher Kvarme + * @author credits to Monte Ohrt + * @version 1.0 + * @param array + * @param Smarty + * @return string + * @uses smarty_function_escape_special_chars() + */ +function smarty_function_html_radios($params, &$smarty) +{ + require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); + + $name = 'radio'; + $values = null; + $options = null; + $selected = null; + $separator = ''; + $labels = true; + $output = null; + $extra = ''; + + foreach($params as $_key => $_val) { + switch($_key) { + case 'name': + case 'separator': + $$_key = (string)$_val; + break; + + case 'checked': + case 'selected': + if(is_array($_val)) { + $smarty->trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); + } else { + $selected = (string)$_val; + } + break; + + case 'labels': + $$_key = (bool)$_val; + break; + + case 'options': + $$_key = (array)$_val; + break; + + case 'values': + case 'output': + $$_key = array_values((array)$_val); + break; + + case 'radios': + $smarty->trigger_error('html_radios: the use of the "radios" attribute is deprecated, use "options" instead', E_USER_WARNING); + $options = (array)$_val; + break; + + + default: + if(!is_array($_val)) { + $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"'; + } else { + $smarty->trigger_error("html_radios: extra attribute '$_key' cannot be an array", E_USER_NOTICE); + } + break; + } + } + + if (!isset($options) && !isset($values)) + return ''; /* raise error here? */ + + $_html_result = ''; + + if (isset($options) && is_array($options)) { + + foreach ((array)$options as $_key=>$_val) + $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels); + + } else { + + foreach ((array)$values as $_i=>$_key) { + $_val = isset($output[$_i]) ? $output[$_i] : ''; + $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels); + } + + } + + return $_html_result; + +} + +function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels) { + $_output = ''; + if ($labels) $_output .= ''; + $_output .= $separator . "\n"; + + return $_output; +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_date.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_date.php index a607f5558b..dd90e921e3 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_date.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_date.php @@ -1,243 +1,243 @@ - - * Name: html_select_date
          - * Purpose: Prints the dropdowns for date selection. - * - * ChangeLog:
          - * - 1.0 initial release - * - 1.1 added support for +/- N syntax for begin - * and end year values. (Monte) - * - 1.2 added support for yyyy-mm-dd syntax for - * time value. (Jan Rosier) - * - 1.3 added support for choosing format for - * month values (Gary Loescher) - * - 1.3.1 added support for choosing format for - * day values (Marcus Bointon) - * @link http://smarty.php.net/manual/en/language.function.html.select.date.php {html_select_date} - * (Smarty online manual) - * @version 1.3 - * @author Andrei Zmievski - * @param array - * @param Smarty - * @return string - */ -function smarty_function_html_select_date($params, &$smarty) -{ - require_once $smarty->_get_plugin_filepath('shared','make_timestamp'); - require_once $smarty->_get_plugin_filepath('function','html_options'); - /* Default values. */ - $prefix = "Date_"; - $start_year = strftime("%Y"); - $end_year = $start_year; - $display_days = true; - $display_months = true; - $display_years = true; - $month_format = "%B"; - /* Write months as numbers by default GL */ - $month_value_format = "%m"; - $day_format = "%02d"; - /* Write day values using this format MB */ - $day_value_format = "%d"; - $year_as_text = false; - /* Display years in reverse order? Ie. 2000,1999,.... */ - $reverse_years = false; - /* Should the select boxes be part of an array when returned from PHP? - e.g. setting it to "birthday", would create "birthday[Day]", - "birthday[Month]" & "birthday[Year]". Can be combined with prefix */ - $field_array = null; - /* tags. - If not set, uses default dropdown. */ - $day_size = null; - $month_size = null; - $year_size = null; - /* Unparsed attributes common to *ALL* the tags. - An example might be in the template: all_extra ='class ="foo"'. */ - $all_extra = null; - /* Separate attributes for the tags. */ - $day_extra = null; - $month_extra = null; - $year_extra = null; - /* Order in which to display the fields. - "D" -> day, "M" -> month, "Y" -> year. */ - $field_order = 'MDY'; - /* String printed between the different fields. */ - $field_separator = "\n"; - $time = time(); - - - extract($params); - - // If $time is not in format yyyy-mm-dd - if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $time)) { - // then $time is empty or unix timestamp or mysql timestamp - // using smarty_make_timestamp to get an unix timestamp and - // strftime to make yyyy-mm-dd - $time = strftime('%Y-%m-%d', smarty_make_timestamp($time)); - } - // Now split this in pieces, which later can be used to set the select - $time = explode("-", $time); - - // make syntax "+N" or "-N" work with start_year and end_year - if (preg_match('!^(\+|\-)\s*(\d+)$!', $end_year, $match)) { - if ($match[1] == '+') { - $end_year = strftime('%Y') + $match[2]; - } else { - $end_year = strftime('%Y') - $match[2]; - } - } - if (preg_match('!^(\+|\-)\s*(\d+)$!', $start_year, $match)) { - if ($match[1] == '+') { - $start_year = strftime('%Y') + $match[2]; - } else { - $start_year = strftime('%Y') - $match[2]; - } - } - - $field_order = strtoupper($field_order); - - $html_result = $month_result = $day_result = $year_result = ""; - - if ($display_months) { - $month_names = array(); - $month_values = array(); - - for ($i = 1; $i <= 12; $i++) { - $month_names[] = strftime($month_format, mktime(0, 0, 0, $i, 1, 2000)); - $month_values[] = strftime($month_value_format, mktime(0, 0, 0, $i, 1, 2000)); - } - - $month_result .= ''; - } - - if ($display_days) { - $days = array(); - for ($i = 1; $i <= 31; $i++) { - $days[] = sprintf($day_format, $i); - $day_values[] = sprintf($day_value_format, $i); - } - - $day_result .= ''; - } - - if ($display_years) { - if (null !== $field_array){ - $year_name = $field_array . '[' . $prefix . 'Year]'; - } else { - $year_name = $prefix . 'Year'; - } - if ($year_as_text) { - $year_result .= ' $years, - 'values' => $years, - 'selected' => $time[0], - 'print_result' => false), - $smarty); - $year_result .= ''; - } - } - - // Loop thru the field_order field - for ($i = 0; $i <= 2; $i++){ - $c = substr($field_order, $i, 1); - switch ($c){ - case 'D': - $html_result .= $day_result; - break; - - case 'M': - $html_result .= $month_result; - break; - - case 'Y': - $html_result .= $year_result; - break; - } - // Add the field seperator - if($i != 2) { - $html_result .= $field_separator; - } - } - - return $html_result; -} - -/* vim: set expandtab: */ - -?> + + * Name: html_select_date
          + * Purpose: Prints the dropdowns for date selection. + * + * ChangeLog:
          + * - 1.0 initial release + * - 1.1 added support for +/- N syntax for begin + * and end year values. (Monte) + * - 1.2 added support for yyyy-mm-dd syntax for + * time value. (Jan Rosier) + * - 1.3 added support for choosing format for + * month values (Gary Loescher) + * - 1.3.1 added support for choosing format for + * day values (Marcus Bointon) + * @link http://smarty.php.net/manual/en/language.function.html.select.date.php {html_select_date} + * (Smarty online manual) + * @version 1.3 + * @author Andrei Zmievski + * @param array + * @param Smarty + * @return string + */ +function smarty_function_html_select_date($params, &$smarty) +{ + require_once $smarty->_get_plugin_filepath('shared','make_timestamp'); + require_once $smarty->_get_plugin_filepath('function','html_options'); + /* Default values. */ + $prefix = "Date_"; + $start_year = strftime("%Y"); + $end_year = $start_year; + $display_days = true; + $display_months = true; + $display_years = true; + $month_format = "%B"; + /* Write months as numbers by default GL */ + $month_value_format = "%m"; + $day_format = "%02d"; + /* Write day values using this format MB */ + $day_value_format = "%d"; + $year_as_text = false; + /* Display years in reverse order? Ie. 2000,1999,.... */ + $reverse_years = false; + /* Should the select boxes be part of an array when returned from PHP? + e.g. setting it to "birthday", would create "birthday[Day]", + "birthday[Month]" & "birthday[Year]". Can be combined with prefix */ + $field_array = null; + /* tags. + If not set, uses default dropdown. */ + $day_size = null; + $month_size = null; + $year_size = null; + /* Unparsed attributes common to *ALL* the tags. + An example might be in the template: all_extra ='class ="foo"'. */ + $all_extra = null; + /* Separate attributes for the tags. */ + $day_extra = null; + $month_extra = null; + $year_extra = null; + /* Order in which to display the fields. + "D" -> day, "M" -> month, "Y" -> year. */ + $field_order = 'MDY'; + /* String printed between the different fields. */ + $field_separator = "\n"; + $time = time(); + + + extract($params); + + // If $time is not in format yyyy-mm-dd + if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $time)) { + // then $time is empty or unix timestamp or mysql timestamp + // using smarty_make_timestamp to get an unix timestamp and + // strftime to make yyyy-mm-dd + $time = strftime('%Y-%m-%d', smarty_make_timestamp($time)); + } + // Now split this in pieces, which later can be used to set the select + $time = explode("-", $time); + + // make syntax "+N" or "-N" work with start_year and end_year + if (preg_match('!^(\+|\-)\s*(\d+)$!', $end_year, $match)) { + if ($match[1] == '+') { + $end_year = strftime('%Y') + $match[2]; + } else { + $end_year = strftime('%Y') - $match[2]; + } + } + if (preg_match('!^(\+|\-)\s*(\d+)$!', $start_year, $match)) { + if ($match[1] == '+') { + $start_year = strftime('%Y') + $match[2]; + } else { + $start_year = strftime('%Y') - $match[2]; + } + } + + $field_order = strtoupper($field_order); + + $html_result = $month_result = $day_result = $year_result = ""; + + if ($display_months) { + $month_names = array(); + $month_values = array(); + + for ($i = 1; $i <= 12; $i++) { + $month_names[] = strftime($month_format, mktime(0, 0, 0, $i, 1, 2000)); + $month_values[] = strftime($month_value_format, mktime(0, 0, 0, $i, 1, 2000)); + } + + $month_result .= ''; + } + + if ($display_days) { + $days = array(); + for ($i = 1; $i <= 31; $i++) { + $days[] = sprintf($day_format, $i); + $day_values[] = sprintf($day_value_format, $i); + } + + $day_result .= ''; + } + + if ($display_years) { + if (null !== $field_array){ + $year_name = $field_array . '[' . $prefix . 'Year]'; + } else { + $year_name = $prefix . 'Year'; + } + if ($year_as_text) { + $year_result .= ' $years, + 'values' => $years, + 'selected' => $time[0], + 'print_result' => false), + $smarty); + $year_result .= ''; + } + } + + // Loop thru the field_order field + for ($i = 0; $i <= 2; $i++){ + $c = substr($field_order, $i, 1); + switch ($c){ + case 'D': + $html_result .= $day_result; + break; + + case 'M': + $html_result .= $month_result; + break; + + case 'Y': + $html_result .= $year_result; + break; + } + // Add the field seperator + if($i != 2) { + $html_result .= $field_separator; + } + } + + return $html_result; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_time.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_time.php index 4643136bc2..969c13e62d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_time.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_select_time.php @@ -1,163 +1,163 @@ - - * Name: html_select_time
          - * Purpose: Prints the dropdowns for time selection - * @link http://smarty.php.net/manual/en/language.function.html.select.time.php {html_select_time} - * (Smarty online manual) - * @param array - * @param Smarty - * @return string - * @uses smarty_make_timestamp() - */ -function smarty_function_html_select_time($params, &$smarty) -{ - require_once $smarty->_get_plugin_filepath('shared','make_timestamp'); - require_once $smarty->_get_plugin_filepath('function','html_options'); - /* Default values. */ - $prefix = "Time_"; - $time = time(); - $display_hours = true; - $display_minutes = true; - $display_seconds = true; - $display_meridian = true; - $use_24_hours = true; - $minute_interval = 1; - $second_interval = 1; - /* Should the select boxes be part of an array when returned from PHP? - e.g. setting it to "birthday", would create "birthday[Hour]", - "birthday[Minute]", "birthday[Seconds]" & "birthday[Meridian]". - Can be combined with prefix. */ - $field_array = null; - $all_extra = null; - $hour_extra = null; - $minute_extra = null; - $second_extra = null; - $meridian_extra = null; - - extract($params); - - $time = smarty_make_timestamp($time); - - $html_result = ''; - - if ($display_hours) { - $hours = $use_24_hours ? range(0, 23) : range(1, 12); - $hour_fmt = $use_24_hours ? '%H' : '%I'; - for ($i = 0, $for_max = count($hours); $i < $for_max; $i++) - $hours[$i] = sprintf('%02d', $hours[$i]); - $html_result .= '\n"; - } - - if ($display_minutes) { - $all_minutes = range(0, 59); - for ($i = 0, $for_max = count($all_minutes); $i < $for_max; $i+= $minute_interval) - $minutes[] = sprintf('%02d', $all_minutes[$i]); - $selected = intval(floor(strftime('%M', $time) / $minute_interval) * $minute_interval); - $html_result .= '\n"; - } - - if ($display_seconds) { - $all_seconds = range(0, 59); - for ($i = 0, $for_max = count($all_seconds); $i < $for_max; $i+= $second_interval) - $seconds[] = sprintf('%02d', $all_seconds[$i]); - $selected = intval(floor(strftime('%S', $time) / $second_interval) * $second_interval); - $html_result .= '\n"; - } - - if ($display_meridian && !$use_24_hours) { - $html_result .= '\n"; - } - - return $html_result; -} - -/* vim: set expandtab: */ - -?> + + * Name: html_select_time
          + * Purpose: Prints the dropdowns for time selection + * @link http://smarty.php.net/manual/en/language.function.html.select.time.php {html_select_time} + * (Smarty online manual) + * @param array + * @param Smarty + * @return string + * @uses smarty_make_timestamp() + */ +function smarty_function_html_select_time($params, &$smarty) +{ + require_once $smarty->_get_plugin_filepath('shared','make_timestamp'); + require_once $smarty->_get_plugin_filepath('function','html_options'); + /* Default values. */ + $prefix = "Time_"; + $time = time(); + $display_hours = true; + $display_minutes = true; + $display_seconds = true; + $display_meridian = true; + $use_24_hours = true; + $minute_interval = 1; + $second_interval = 1; + /* Should the select boxes be part of an array when returned from PHP? + e.g. setting it to "birthday", would create "birthday[Hour]", + "birthday[Minute]", "birthday[Seconds]" & "birthday[Meridian]". + Can be combined with prefix. */ + $field_array = null; + $all_extra = null; + $hour_extra = null; + $minute_extra = null; + $second_extra = null; + $meridian_extra = null; + + extract($params); + + $time = smarty_make_timestamp($time); + + $html_result = ''; + + if ($display_hours) { + $hours = $use_24_hours ? range(0, 23) : range(1, 12); + $hour_fmt = $use_24_hours ? '%H' : '%I'; + for ($i = 0, $for_max = count($hours); $i < $for_max; $i++) + $hours[$i] = sprintf('%02d', $hours[$i]); + $html_result .= '\n"; + } + + if ($display_minutes) { + $all_minutes = range(0, 59); + for ($i = 0, $for_max = count($all_minutes); $i < $for_max; $i+= $minute_interval) + $minutes[] = sprintf('%02d', $all_minutes[$i]); + $selected = intval(floor(strftime('%M', $time) / $minute_interval) * $minute_interval); + $html_result .= '\n"; + } + + if ($display_seconds) { + $all_seconds = range(0, 59); + for ($i = 0, $for_max = count($all_seconds); $i < $for_max; $i+= $second_interval) + $seconds[] = sprintf('%02d', $all_seconds[$i]); + $selected = intval(floor(strftime('%S', $time) / $second_interval) * $second_interval); + $html_result .= '\n"; + } + + if ($display_meridian && !$use_24_hours) { + $html_result .= '\n"; + } + + return $html_result; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_table.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_table.php index ece9c8c574..33be01aaf8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_table.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.html_table.php @@ -1,113 +1,113 @@ - - * Name: html_table
          - * Date: Feb 17, 2003
          - * Purpose: make an html table from an array of data
          - * Input:
          - * - loop = array to loop through - * - cols = number of columns - * - rows = number of rows - * - table_attr = table attributes - * - tr_attr = table row attributes (arrays are cycled) - * - td_attr = table cell attributes (arrays are cycled) - * - trailpad = value to pad trailing cells with - * - vdir = vertical direction (default: "down", means top-to-bottom) - * - hdir = horizontal direction (default: "right", means left-to-right) - * - inner = inner loop (default "cols": print $loop line by line, - * $loop will be printed column by column otherwise) - * - * - * Examples: - *
          - * {table loop=$data}
          - * {table loop=$data cols=4 tr_attr='"bgcolor=red"'}
          - * {table loop=$data cols=4 tr_attr=$colors}
          - * 
          - * @author Monte Ohrt - * @version 1.0 - * @link http://smarty.php.net/manual/en/language.function.html.table.php {html_table} - * (Smarty online manual) - * @param array - * @param Smarty - * @return string - */ -function smarty_function_html_table($params, &$smarty) -{ - $table_attr = 'border="1"'; - $tr_attr = ''; - $td_attr = ''; - $cols = 3; - $rows = 3; - $trailpad = ' '; - $vdir = 'down'; - $hdir = 'right'; - $inner = 'cols'; - - extract($params); - - if (!isset($loop)) { - $smarty->trigger_error("html_table: missing 'loop' parameter"); - return; - } - - $loop_count = count($loop); - if (empty($params['rows'])) { - /* no rows specified */ - $rows = ceil($loop_count/$cols); - } elseif (empty($params['cols'])) { - if (!empty($params['rows'])) { - /* no cols specified, but rows */ - $cols = ceil($loop_count/$rows); - } - } - - $output = "\n"; - - for ($r=0; $r<$rows; $r++) { - $output .= "\n"; - $rx = ($vdir == 'down') ? $r*$cols : ($rows-1-$r)*$cols; - - for ($c=0; $c<$cols; $c++) { - $x = ($hdir == 'right') ? $rx+$c : $rx+$cols-1-$c; - if ($inner!='cols') { - /* shuffle x to loop over rows*/ - $x = floor($x/$cols) + ($x%$cols)*$rows; - } - - if ($x<$loop_count) { - $output .= "" . $loop[$x] . "\n"; - } else { - $output .= "$trailpad\n"; - } - } - $output .= "\n"; - } - $output .= "
          \n"; - - return $output; -} - -function smarty_function_html_table_cycle($name, $var, $no) { - if(!is_array($var)) { - $ret = $var; - } else { - $ret = $var[$no % count($var)]; - } - - return ($ret) ? ' '.$ret : ''; -} - - -/* vim: set expandtab: */ - -?> + + * Name: html_table
          + * Date: Feb 17, 2003
          + * Purpose: make an html table from an array of data
          + * Input:
          + * - loop = array to loop through + * - cols = number of columns + * - rows = number of rows + * - table_attr = table attributes + * - tr_attr = table row attributes (arrays are cycled) + * - td_attr = table cell attributes (arrays are cycled) + * - trailpad = value to pad trailing cells with + * - vdir = vertical direction (default: "down", means top-to-bottom) + * - hdir = horizontal direction (default: "right", means left-to-right) + * - inner = inner loop (default "cols": print $loop line by line, + * $loop will be printed column by column otherwise) + * + * + * Examples: + *
          + * {table loop=$data}
          + * {table loop=$data cols=4 tr_attr='"bgcolor=red"'}
          + * {table loop=$data cols=4 tr_attr=$colors}
          + * 
          + * @author Monte Ohrt + * @version 1.0 + * @link http://smarty.php.net/manual/en/language.function.html.table.php {html_table} + * (Smarty online manual) + * @param array + * @param Smarty + * @return string + */ +function smarty_function_html_table($params, &$smarty) +{ + $table_attr = 'border="1"'; + $tr_attr = ''; + $td_attr = ''; + $cols = 3; + $rows = 3; + $trailpad = ' '; + $vdir = 'down'; + $hdir = 'right'; + $inner = 'cols'; + + extract($params); + + if (!isset($loop)) { + $smarty->trigger_error("html_table: missing 'loop' parameter"); + return; + } + + $loop_count = count($loop); + if (empty($params['rows'])) { + /* no rows specified */ + $rows = ceil($loop_count/$cols); + } elseif (empty($params['cols'])) { + if (!empty($params['rows'])) { + /* no cols specified, but rows */ + $cols = ceil($loop_count/$rows); + } + } + + $output = "\n"; + + for ($r=0; $r<$rows; $r++) { + $output .= "\n"; + $rx = ($vdir == 'down') ? $r*$cols : ($rows-1-$r)*$cols; + + for ($c=0; $c<$cols; $c++) { + $x = ($hdir == 'right') ? $rx+$c : $rx+$cols-1-$c; + if ($inner!='cols') { + /* shuffle x to loop over rows*/ + $x = floor($x/$cols) + ($x%$cols)*$rows; + } + + if ($x<$loop_count) { + $output .= "" . $loop[$x] . "\n"; + } else { + $output .= "$trailpad\n"; + } + } + $output .= "\n"; + } + $output .= "
          \n"; + + return $output; +} + +function smarty_function_html_table_cycle($name, $var, $no) { + if(!is_array($var)) { + $ret = $var; + } else { + $ret = $var[$no % count($var)]; + } + + return ($ret) ? ' '.$ret : ''; +} + + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.mailto.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.mailto.php index 9273ba3985..f6e3de0c1b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.mailto.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.mailto.php @@ -1,140 +1,140 @@ - - * Name: mailto
          - * Date: May 21, 2002 - * Purpose: automate mailto address link creation, and optionally - * encode them.
          - * Input:
          - * - address = e-mail address - * - text = (optional) text to display, default is address - * - encode = (optional) can be one of: - * * none : no encoding (default) - * * javascript : encode with javascript - * * hex : encode with hexidecimal (no javascript) - * - cc = (optional) address(es) to carbon copy - * - bcc = (optional) address(es) to blind carbon copy - * - subject = (optional) e-mail subject - * - newsgroups = (optional) newsgroup(s) to post to - * - followupto = (optional) address(es) to follow up to - * - extra = (optional) extra tags for the href link - * - * Examples: - *
          - * {mailto address="me@domain.com"}
          - * {mailto address="me@domain.com" encode="javascript"}
          - * {mailto address="me@domain.com" encode="hex"}
          - * {mailto address="me@domain.com" subject="Hello to you!"}
          - * {mailto address="me@domain.com" cc="you@domain.com,they@domain.com"}
          - * {mailto address="me@domain.com" extra='class="mailto"'}
          - * 
          - * @link http://smarty.php.net/manual/en/language.function.mailto.php {mailto} - * (Smarty online manual) - * @version 1.2 - * @author Monte Ohrt - * @author credits to Jason Sweat (added cc, bcc and subject functionality) - * @param array - * @param Smarty - * @return string - */ -function smarty_function_mailto($params, &$smarty) -{ - $extra = ''; - extract($params); - - if (empty($address)) { - $smarty->trigger_error("mailto: missing 'address' parameter"); - return; - } - - if (empty($text)) { - $text = $address; - } - - // netscape and mozilla do not decode %40 (@) in BCC field (bug?) - // so, don't encode it. - - $mail_parms = array(); - if (!empty($cc)) { - $mail_parms[] = 'cc='.str_replace('%40','@',rawurlencode($cc)); - } - - if (!empty($bcc)) { - $mail_parms[] = 'bcc='.str_replace('%40','@',rawurlencode($bcc)); - } - - if (!empty($subject)) { - $mail_parms[] = 'subject='.rawurlencode($subject); - } - - if (!empty($newsgroups)) { - $mail_parms[] = 'newsgroups='.rawurlencode($newsgroups); - } - - if (!empty($followupto)) { - $mail_parms[] = 'followupto='.str_replace('%40','@',rawurlencode($followupto)); - } - - $mail_parm_vals = ''; - for ($i=0; $itrigger_error("mailto: 'encode' parameter must be none, javascript or hex"); - return; - } - - if ($encode == 'javascript' ) { - $string = 'document.write(\''.$text.'\');'; - - for ($x=0; $x < strlen($string); $x++) { - $js_encode .= '%' . bin2hex($string[$x]); - } - - return ''; - - } elseif ($encode == 'hex') { - - preg_match('!^(.*)(\?.*)$!',$address,$match); - if(!empty($match[2])) { - $smarty->trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript."); - return; - } - for ($x=0; $x < strlen($address); $x++) { - if(preg_match('!\w!',$address[$x])) { - $address_encode .= '%' . bin2hex($address[$x]); - } else { - $address_encode .= $address[$x]; - } - } - for ($x=0; $x < strlen($text); $x++) { - $text_encode .= '&#x' . bin2hex($text[$x]).';'; - } - - return ''.$text_encode.''; - - } else { - // no encoding - return ''.$text.''; - - } - -} - -/* vim: set expandtab: */ - -?> + + * Name: mailto
          + * Date: May 21, 2002 + * Purpose: automate mailto address link creation, and optionally + * encode them.
          + * Input:
          + * - address = e-mail address + * - text = (optional) text to display, default is address + * - encode = (optional) can be one of: + * * none : no encoding (default) + * * javascript : encode with javascript + * * hex : encode with hexidecimal (no javascript) + * - cc = (optional) address(es) to carbon copy + * - bcc = (optional) address(es) to blind carbon copy + * - subject = (optional) e-mail subject + * - newsgroups = (optional) newsgroup(s) to post to + * - followupto = (optional) address(es) to follow up to + * - extra = (optional) extra tags for the href link + * + * Examples: + *
          + * {mailto address="me@domain.com"}
          + * {mailto address="me@domain.com" encode="javascript"}
          + * {mailto address="me@domain.com" encode="hex"}
          + * {mailto address="me@domain.com" subject="Hello to you!"}
          + * {mailto address="me@domain.com" cc="you@domain.com,they@domain.com"}
          + * {mailto address="me@domain.com" extra='class="mailto"'}
          + * 
          + * @link http://smarty.php.net/manual/en/language.function.mailto.php {mailto} + * (Smarty online manual) + * @version 1.2 + * @author Monte Ohrt + * @author credits to Jason Sweat (added cc, bcc and subject functionality) + * @param array + * @param Smarty + * @return string + */ +function smarty_function_mailto($params, &$smarty) +{ + $extra = ''; + extract($params); + + if (empty($address)) { + $smarty->trigger_error("mailto: missing 'address' parameter"); + return; + } + + if (empty($text)) { + $text = $address; + } + + // netscape and mozilla do not decode %40 (@) in BCC field (bug?) + // so, don't encode it. + + $mail_parms = array(); + if (!empty($cc)) { + $mail_parms[] = 'cc='.str_replace('%40','@',rawurlencode($cc)); + } + + if (!empty($bcc)) { + $mail_parms[] = 'bcc='.str_replace('%40','@',rawurlencode($bcc)); + } + + if (!empty($subject)) { + $mail_parms[] = 'subject='.rawurlencode($subject); + } + + if (!empty($newsgroups)) { + $mail_parms[] = 'newsgroups='.rawurlencode($newsgroups); + } + + if (!empty($followupto)) { + $mail_parms[] = 'followupto='.str_replace('%40','@',rawurlencode($followupto)); + } + + $mail_parm_vals = ''; + for ($i=0; $itrigger_error("mailto: 'encode' parameter must be none, javascript or hex"); + return; + } + + if ($encode == 'javascript' ) { + $string = 'document.write(\''.$text.'\');'; + + for ($x=0; $x < strlen($string); $x++) { + $js_encode .= '%' . bin2hex($string[$x]); + } + + return ''; + + } elseif ($encode == 'hex') { + + preg_match('!^(.*)(\?.*)$!',$address,$match); + if(!empty($match[2])) { + $smarty->trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript."); + return; + } + for ($x=0; $x < strlen($address); $x++) { + if(preg_match('!\w!',$address[$x])) { + $address_encode .= '%' . bin2hex($address[$x]); + } else { + $address_encode .= $address[$x]; + } + } + for ($x=0; $x < strlen($text); $x++) { + $text_encode .= '&#x' . bin2hex($text[$x]).';'; + } + + return ''.$text_encode.''; + + } else { + // no encoding + return ''.$text.''; + + } + +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.math.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.math.php index d2b5d82992..c080d4dfe6 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.math.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.math.php @@ -1,82 +1,82 @@ - - * Name: math
          - * Purpose: handle math computations in template
          - * @link http://smarty.php.net/manual/en/language.function.math.php {math} - * (Smarty online manual) - * @param array - * @param Smarty - * @return string - */ -function smarty_function_math($params, &$smarty) -{ - // be sure equation parameter is present - if (empty($params['equation'])) { - $smarty->trigger_error("math: missing equation parameter"); - return; - } - - $equation = $params['equation']; - - // make sure parenthesis are balanced - if (substr_count($equation,"(") != substr_count($equation,")")) { - $smarty->trigger_error("math: unbalanced parenthesis"); - return; - } - - // match all vars in equation, make sure all are passed - preg_match_all("!\!(0x)([a-zA-Z][a-zA-Z0-9_]*)!",$equation, $match); - $allowed_funcs = array('int','abs','ceil','cos','exp','floor','log','log10', - 'max','min','pi','pow','rand','round','sin','sqrt','srand','tan'); - foreach($match[2] as $curr_var) { - if (!in_array($curr_var,array_keys($params)) && !in_array($curr_var, $allowed_funcs)) { - $smarty->trigger_error("math: parameter $curr_var not passed as argument"); - return; - } - } - - foreach($params as $key => $val) { - if ($key != "equation" && $key != "format" && $key != "assign") { - // make sure value is not empty - if (strlen($val)==0) { - $smarty->trigger_error("math: parameter $key is empty"); - return; - } - if (!is_numeric($val)) { - $smarty->trigger_error("math: parameter $key: is not numeric"); - return; - } - $equation = preg_replace("/\b$key\b/",$val, $equation); - } - } - - eval("\$smarty_math_result = ".$equation.";"); - - if (empty($params['format'])) { - if (empty($params['assign'])) { - return $smarty_math_result; - } else { - $smarty->assign($params['assign'],$smarty_math_result); - } - } else { - if (empty($params['assign'])){ - printf($params['format'],$smarty_math_result); - } else { - $smarty->assign($params['assign'],sprintf($params['format'],$smarty_math_result)); - } - } -} - -/* vim: set expandtab: */ - -?> + + * Name: math
          + * Purpose: handle math computations in template
          + * @link http://smarty.php.net/manual/en/language.function.math.php {math} + * (Smarty online manual) + * @param array + * @param Smarty + * @return string + */ +function smarty_function_math($params, &$smarty) +{ + // be sure equation parameter is present + if (empty($params['equation'])) { + $smarty->trigger_error("math: missing equation parameter"); + return; + } + + $equation = $params['equation']; + + // make sure parenthesis are balanced + if (substr_count($equation,"(") != substr_count($equation,")")) { + $smarty->trigger_error("math: unbalanced parenthesis"); + return; + } + + // match all vars in equation, make sure all are passed + preg_match_all("!\!(0x)([a-zA-Z][a-zA-Z0-9_]*)!",$equation, $match); + $allowed_funcs = array('int','abs','ceil','cos','exp','floor','log','log10', + 'max','min','pi','pow','rand','round','sin','sqrt','srand','tan'); + foreach($match[2] as $curr_var) { + if (!in_array($curr_var,array_keys($params)) && !in_array($curr_var, $allowed_funcs)) { + $smarty->trigger_error("math: parameter $curr_var not passed as argument"); + return; + } + } + + foreach($params as $key => $val) { + if ($key != "equation" && $key != "format" && $key != "assign") { + // make sure value is not empty + if (strlen($val)==0) { + $smarty->trigger_error("math: parameter $key is empty"); + return; + } + if (!is_numeric($val)) { + $smarty->trigger_error("math: parameter $key: is not numeric"); + return; + } + $equation = preg_replace("/\b$key\b/",$val, $equation); + } + } + + eval("\$smarty_math_result = ".$equation.";"); + + if (empty($params['format'])) { + if (empty($params['assign'])) { + return $smarty_math_result; + } else { + $smarty->assign($params['assign'],$smarty_math_result); + } + } else { + if (empty($params['assign'])){ + printf($params['format'],$smarty_math_result); + } else { + $smarty->assign($params['assign'],sprintf($params['format'],$smarty_math_result)); + } + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup.php index 0eb4fcb32a..d1030a7a02 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup.php @@ -1,87 +1,87 @@ - - * Name: popup
          - * Purpose: make text pop up in windows via overlib - * @link http://smarty.php.net/manual/en/language.function.popup.php {popup} - * (Smarty online manual) - * @param array - * @param Smarty - * @return string - */ -function smarty_function_popup($params, &$smarty) -{ - extract($params); - - if (empty($text) && !isset($inarray) && empty($function)) { - $smarty->trigger_error("overlib: attribute 'text' or 'inarray' or 'function' required"); - return false; - } - - if (empty($trigger)) { $trigger = "onmouseover"; } - - $retval = $trigger . '="return overlib(\''.preg_replace(array("!'!","![\r\n]!"),array("\'",'\r'),$text).'\''; - if ($sticky) { $retval .= ",STICKY"; } - if (!empty($caption)) { $retval .= ",CAPTION,'".str_replace("'","\'",$caption)."'"; } - if (!empty($fgcolor)) { $retval .= ",FGCOLOR,'$fgcolor'"; } - if (!empty($bgcolor)) { $retval .= ",BGCOLOR,'$bgcolor'"; } - if (!empty($textcolor)) { $retval .= ",TEXTCOLOR,'$textcolor'"; } - if (!empty($capcolor)) { $retval .= ",CAPCOLOR,'$capcolor'"; } - if (!empty($closecolor)) { $retval .= ",CLOSECOLOR,'$closecolor'"; } - if (!empty($textfont)) { $retval .= ",TEXTFONT,'$textfont'"; } - if (!empty($captionfont)) { $retval .= ",CAPTIONFONT,'$captionfont'"; } - if (!empty($closefont)) { $retval .= ",CLOSEFONT,'$closefont'"; } - if (!empty($textsize)) { $retval .= ",TEXTSIZE,$textsize"; } - if (!empty($captionsize)) { $retval .= ",CAPTIONSIZE,$captionsize"; } - if (!empty($closesize)) { $retval .= ",CLOSESIZE,$closesize"; } - if (!empty($width)) { $retval .= ",WIDTH,$width"; } - if (!empty($height)) { $retval .= ",HEIGHT,$height"; } - if (!empty($left)) { $retval .= ",LEFT"; } - if (!empty($right)) { $retval .= ",RIGHT"; } - if (!empty($center)) { $retval .= ",CENTER"; } - if (!empty($above)) { $retval .= ",ABOVE"; } - if (!empty($below)) { $retval .= ",BELOW"; } - if (isset($border)) { $retval .= ",BORDER,$border"; } - if (isset($offsetx)) { $retval .= ",OFFSETX,$offsetx"; } - if (isset($offsety)) { $retval .= ",OFFSETY,$offsety"; } - if (!empty($fgbackground)) { $retval .= ",FGBACKGROUND,'$fgbackground'"; } - if (!empty($bgbackground)) { $retval .= ",BGBACKGROUND,'$bgbackground'"; } - if (!empty($closetext)) { $retval .= ",CLOSETEXT,'".str_replace("'","\'",$closetext)."'"; } - if (!empty($noclose)) { $retval .= ",NOCLOSE"; } - if (!empty($status)) { $retval .= ",STATUS,'".str_replace("'","\'",$status)."'"; } - if (!empty($autostatus)) { $retval .= ",AUTOSTATUS"; } - if (!empty($autostatuscap)) { $retval .= ",AUTOSTATUSCAP"; } - if (isset($inarray)) { $retval .= ",INARRAY,'$inarray'"; } - if (isset($caparray)) { $retval .= ",CAPARRAY,'$caparray'"; } - if (!empty($capicon)) { $retval .= ",CAPICON,'$capicon'"; } - if (!empty($snapx)) { $retval .= ",SNAPX,$snapx"; } - if (!empty($snapy)) { $retval .= ",SNAPY,$snapy"; } - if (isset($fixx)) { $retval .= ",FIXX,$fixx"; } - if (isset($fixy)) { $retval .= ",FIXY,$fixy"; } - if (!empty($background)) { $retval .= ",BACKGROUND,'$background'"; } - if (!empty($padx)) { $retval .= ",PADX,$padx"; } - if (!empty($pady)) { $retval .= ",PADY,$pady"; } - if (!empty($fullhtml)) { $retval .= ",FULLHTML"; } - if (!empty($frame)) { $retval .= ",FRAME,'$frame'"; } - if (isset($timeout)) { $retval .= ",TIMEOUT,$timeout"; } - if (!empty($function)) { $retval .= ",FUNCTION,'$function'"; } - if (isset($delay)) { $retval .= ",DELAY,$delay"; } - if (!empty($hauto)) { $retval .= ",HAUTO"; } - if (!empty($vauto)) { $retval .= ",VAUTO"; } - $retval .= ');" onmouseout="nd();"'; - - return $retval; -} - -/* vim: set expandtab: */ - -?> + + * Name: popup
          + * Purpose: make text pop up in windows via overlib + * @link http://smarty.php.net/manual/en/language.function.popup.php {popup} + * (Smarty online manual) + * @param array + * @param Smarty + * @return string + */ +function smarty_function_popup($params, &$smarty) +{ + extract($params); + + if (empty($text) && !isset($inarray) && empty($function)) { + $smarty->trigger_error("overlib: attribute 'text' or 'inarray' or 'function' required"); + return false; + } + + if (empty($trigger)) { $trigger = "onmouseover"; } + + $retval = $trigger . '="return overlib(\''.preg_replace(array("!'!","![\r\n]!"),array("\'",'\r'),$text).'\''; + if ($sticky) { $retval .= ",STICKY"; } + if (!empty($caption)) { $retval .= ",CAPTION,'".str_replace("'","\'",$caption)."'"; } + if (!empty($fgcolor)) { $retval .= ",FGCOLOR,'$fgcolor'"; } + if (!empty($bgcolor)) { $retval .= ",BGCOLOR,'$bgcolor'"; } + if (!empty($textcolor)) { $retval .= ",TEXTCOLOR,'$textcolor'"; } + if (!empty($capcolor)) { $retval .= ",CAPCOLOR,'$capcolor'"; } + if (!empty($closecolor)) { $retval .= ",CLOSECOLOR,'$closecolor'"; } + if (!empty($textfont)) { $retval .= ",TEXTFONT,'$textfont'"; } + if (!empty($captionfont)) { $retval .= ",CAPTIONFONT,'$captionfont'"; } + if (!empty($closefont)) { $retval .= ",CLOSEFONT,'$closefont'"; } + if (!empty($textsize)) { $retval .= ",TEXTSIZE,$textsize"; } + if (!empty($captionsize)) { $retval .= ",CAPTIONSIZE,$captionsize"; } + if (!empty($closesize)) { $retval .= ",CLOSESIZE,$closesize"; } + if (!empty($width)) { $retval .= ",WIDTH,$width"; } + if (!empty($height)) { $retval .= ",HEIGHT,$height"; } + if (!empty($left)) { $retval .= ",LEFT"; } + if (!empty($right)) { $retval .= ",RIGHT"; } + if (!empty($center)) { $retval .= ",CENTER"; } + if (!empty($above)) { $retval .= ",ABOVE"; } + if (!empty($below)) { $retval .= ",BELOW"; } + if (isset($border)) { $retval .= ",BORDER,$border"; } + if (isset($offsetx)) { $retval .= ",OFFSETX,$offsetx"; } + if (isset($offsety)) { $retval .= ",OFFSETY,$offsety"; } + if (!empty($fgbackground)) { $retval .= ",FGBACKGROUND,'$fgbackground'"; } + if (!empty($bgbackground)) { $retval .= ",BGBACKGROUND,'$bgbackground'"; } + if (!empty($closetext)) { $retval .= ",CLOSETEXT,'".str_replace("'","\'",$closetext)."'"; } + if (!empty($noclose)) { $retval .= ",NOCLOSE"; } + if (!empty($status)) { $retval .= ",STATUS,'".str_replace("'","\'",$status)."'"; } + if (!empty($autostatus)) { $retval .= ",AUTOSTATUS"; } + if (!empty($autostatuscap)) { $retval .= ",AUTOSTATUSCAP"; } + if (isset($inarray)) { $retval .= ",INARRAY,'$inarray'"; } + if (isset($caparray)) { $retval .= ",CAPARRAY,'$caparray'"; } + if (!empty($capicon)) { $retval .= ",CAPICON,'$capicon'"; } + if (!empty($snapx)) { $retval .= ",SNAPX,$snapx"; } + if (!empty($snapy)) { $retval .= ",SNAPY,$snapy"; } + if (isset($fixx)) { $retval .= ",FIXX,$fixx"; } + if (isset($fixy)) { $retval .= ",FIXY,$fixy"; } + if (!empty($background)) { $retval .= ",BACKGROUND,'$background'"; } + if (!empty($padx)) { $retval .= ",PADX,$padx"; } + if (!empty($pady)) { $retval .= ",PADY,$pady"; } + if (!empty($fullhtml)) { $retval .= ",FULLHTML"; } + if (!empty($frame)) { $retval .= ",FRAME,'$frame'"; } + if (isset($timeout)) { $retval .= ",TIMEOUT,$timeout"; } + if (!empty($function)) { $retval .= ",FUNCTION,'$function'"; } + if (isset($delay)) { $retval .= ",DELAY,$delay"; } + if (!empty($hauto)) { $retval .= ",HAUTO"; } + if (!empty($vauto)) { $retval .= ",VAUTO"; } + $retval .= ');" onmouseout="nd();"'; + + return $retval; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup_init.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup_init.php index e06de696cb..d9b42bd0ef 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup_init.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.popup_init.php @@ -1,39 +1,39 @@ - - * Name: popup_init
          - * Purpose: initialize overlib - * @link http://smarty.php.net/manual/en/language.function.popup.init.php {popup_init} - * (Smarty online manual) - * @param array - * @param Smarty - * @return string - */ -function smarty_function_popup_init($params, &$smarty) -{ - $zindex = 1000; - - if (!empty($params['zindex'])) { - $zindex = $params['zindex']; - } - - if (!empty($params['src'])) { - return '' . "\n" - . '' . "\n"; - } else { - $smarty->trigger_error("popup_init: missing src parameter"); - } -} - -/* vim: set expandtab: */ - -?> + + * Name: popup_init
          + * Purpose: initialize overlib + * @link http://smarty.php.net/manual/en/language.function.popup.init.php {popup_init} + * (Smarty online manual) + * @param array + * @param Smarty + * @return string + */ +function smarty_function_popup_init($params, &$smarty) +{ + $zindex = 1000; + + if (!empty($params['zindex'])) { + $zindex = $params['zindex']; + } + + if (!empty($params['src'])) { + return '' . "\n" + . '' . "\n"; + } else { + $smarty->trigger_error("popup_init: missing src parameter"); + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.var_dump.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.var_dump.php index 382032c19d..4278b37803 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.var_dump.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/function.var_dump.php @@ -1,20 +1,20 @@ -',$params,''); -} - -/* vim: set expandtab: */ - -?> +',$params,''); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.capitalize.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.capitalize.php index 464d5f8485..41d63edafa 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.capitalize.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.capitalize.php @@ -1,25 +1,25 @@ - - * Name: capitalize
          - * Purpose: capitalize words in the string - * @link http://smarty.php.net/manual/en/language.modifiers.php#LANGUAGE.MODIFIER.CAPITALIZE - * capitalize (Smarty online manual) - * @param string - * @return string - */ -function smarty_modifier_capitalize($string) -{ - return ucwords($string); -} - -?> + + * Name: capitalize
          + * Purpose: capitalize words in the string + * @link http://smarty.php.net/manual/en/language.modifiers.php#LANGUAGE.MODIFIER.CAPITALIZE + * capitalize (Smarty online manual) + * @param string + * @return string + */ +function smarty_modifier_capitalize($string) +{ + return ucwords($string); +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.cat.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.cat.php index 176ee7ae18..8dc7324041 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.cat.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.cat.php @@ -1,33 +1,33 @@ - - * Name: cat
          - * Date: Feb 24, 2003 - * Purpose: catenate a value to a variable - * Input: string to catenate - * Example: {$var|cat:"foo"} - * @link http://smarty.php.net/manual/en/language.modifier.cat.php cat - * (Smarty online manual) - * @author Monte Ohrt - * @version 1.0 - * @param string - * @param string - * @return string - */ -function smarty_modifier_cat($string, $cat) -{ - return $string . $cat; -} - -/* vim: set expandtab: */ - -?> + + * Name: cat
          + * Date: Feb 24, 2003 + * Purpose: catenate a value to a variable + * Input: string to catenate + * Example: {$var|cat:"foo"} + * @link http://smarty.php.net/manual/en/language.modifier.cat.php cat + * (Smarty online manual) + * @author Monte Ohrt + * @version 1.0 + * @param string + * @param string + * @return string + */ +function smarty_modifier_cat($string, $cat) +{ + return $string . $cat; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_characters.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_characters.php index 2fb7c898e0..49ce655e85 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_characters.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_characters.php @@ -1,31 +1,31 @@ - - * Name: count_characteres
          - * Purpose: count the number of characters in a text - * @link http://smarty.php.net/manual/en/language.modifier.count.characters.php - * count_characters (Smarty online manual) - * @param string - * @param boolean include whitespace in the character count - * @return integer - */ -function smarty_modifier_count_characters($string, $include_spaces = false) -{ - if ($include_spaces) - return(strlen($string)); - - return preg_match_all("/[^\s]/",$string, $match); -} - -/* vim: set expandtab: */ - -?> + + * Name: count_characteres
          + * Purpose: count the number of characters in a text + * @link http://smarty.php.net/manual/en/language.modifier.count.characters.php + * count_characters (Smarty online manual) + * @param string + * @param boolean include whitespace in the character count + * @return integer + */ +function smarty_modifier_count_characters($string, $include_spaces = false) +{ + if ($include_spaces) + return(strlen($string)); + + return preg_match_all("/[^\s]/",$string, $match); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_paragraphs.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_paragraphs.php index 5f6278fe80..6a9833c97c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_paragraphs.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_paragraphs.php @@ -1,28 +1,28 @@ - - * Name: count_paragraphs
          - * Purpose: count the number of paragraphs in a text - * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php - * count_paragraphs (Smarty online manual) - * @param string - * @return integer - */ -function smarty_modifier_count_paragraphs($string) -{ - // count \r or \n characters - return count(preg_split('/[\r\n]+/', $string)); -} - -/* vim: set expandtab: */ - -?> + + * Name: count_paragraphs
          + * Purpose: count the number of paragraphs in a text + * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php + * count_paragraphs (Smarty online manual) + * @param string + * @return integer + */ +function smarty_modifier_count_paragraphs($string) +{ + // count \r or \n characters + return count(preg_split('/[\r\n]+/', $string)); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_sentences.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_sentences.php index 2f3ba65e23..0c210f08fe 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_sentences.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_sentences.php @@ -1,28 +1,28 @@ - - * Name: count_sentences - * Purpose: count the number of sentences in a text - * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php - * count_sentences (Smarty online manual) - * @param string - * @return integer - */ -function smarty_modifier_count_sentences($string) -{ - // find periods with a word before but not after. - return preg_match_all('/[^\s]\.(?!\w)/', $string, $match); -} - -/* vim: set expandtab: */ - -?> + + * Name: count_sentences + * Purpose: count the number of sentences in a text + * @link http://smarty.php.net/manual/en/language.modifier.count.paragraphs.php + * count_sentences (Smarty online manual) + * @param string + * @return integer + */ +function smarty_modifier_count_sentences($string) +{ + // find periods with a word before but not after. + return preg_match_all('/[^\s]\.(?!\w)/', $string, $match); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_words.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_words.php index a686e4b453..42c8a741c5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_words.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.count_words.php @@ -1,32 +1,32 @@ - - * Name: count_words
          - * Purpose: count the number of words in a text - * @link http://smarty.php.net/manual/en/language.modifier.count.words.php - * count_words (Smarty online manual) - * @param string - * @return integer - */ -function smarty_modifier_count_words($string) -{ - // split text by ' ',\r,\n,\f,\t - $split_array = preg_split('/\s+/',$string); - // count matches that contain alphanumerics - $word_count = preg_grep('/[a-zA-Z0-9\\x80-\\xff]/', $split_array); - - return count($word_count); -} - -/* vim: set expandtab: */ - -?> + + * Name: count_words
          + * Purpose: count the number of words in a text + * @link http://smarty.php.net/manual/en/language.modifier.count.words.php + * count_words (Smarty online manual) + * @param string + * @return integer + */ +function smarty_modifier_count_words($string) +{ + // split text by ' ',\r,\n,\f,\t + $split_array = preg_split('/\s+/',$string); + // count matches that contain alphanumerics + $word_count = preg_grep('/[a-zA-Z0-9\\x80-\\xff]/', $split_array); + + return count($word_count); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.date_format.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.date_format.php index ab7e904579..dbe26a550c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.date_format.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.date_format.php @@ -1,43 +1,43 @@ -_get_plugin_filepath('shared','make_timestamp'); -/** - * Smarty date_format modifier plugin - * - * Type: modifier
          - * Name: date_format
          - * Purpose: format datestamps via strftime
          - * Input:
          - * - string: input date string - * - format: strftime format for output - * - default_date: default date if $string is empty - * @link http://smarty.php.net/manual/en/language.modifier.date.format.php - * date_format (Smarty online manual) - * @param string - * @param string - * @param string - * @return string|void - * @uses smarty_make_timestamp() - */ -function smarty_modifier_date_format($string, $format="%b %e, %Y", $default_date=null) -{ - if($string != '') { - return strftime($format, smarty_make_timestamp($string)); - } elseif (isset($default_date) && $default_date != '') { - return strftime($format, smarty_make_timestamp($default_date)); - } else { - return; - } -} - -/* vim: set expandtab: */ - -?> +_get_plugin_filepath('shared','make_timestamp'); +/** + * Smarty date_format modifier plugin + * + * Type: modifier
          + * Name: date_format
          + * Purpose: format datestamps via strftime
          + * Input:
          + * - string: input date string + * - format: strftime format for output + * - default_date: default date if $string is empty + * @link http://smarty.php.net/manual/en/language.modifier.date.format.php + * date_format (Smarty online manual) + * @param string + * @param string + * @param string + * @return string|void + * @uses smarty_make_timestamp() + */ +function smarty_modifier_date_format($string, $format="%b %e, %Y", $default_date=null) +{ + if($string != '') { + return strftime($format, smarty_make_timestamp($string)); + } elseif (isset($default_date) && $default_date != '') { + return strftime($format, smarty_make_timestamp($default_date)); + } else { + return; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.debug_print_var.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.debug_print_var.php index 3158df00d9..3528311329 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.debug_print_var.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.debug_print_var.php @@ -1,57 +1,57 @@ - - * Name: debug_print_var
          - * Purpose: formats variable contents for display in the console - * @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php - * debug_print_var (Smarty online manual) - * @param array|object - * @param integer - * @param integer - * @return string - */ -function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40) -{ - $_replace = array("\n"=>'\n', "\r"=>'\r', "\t"=>'\t'); - if (is_array($var)) { - $results = "Array (".count($var).")"; - foreach ($var as $curr_key => $curr_val) { - $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length); - $results .= "
          ".str_repeat(' ', $depth*2)."".strtr($curr_key, $_replace)." => $return"; - } - return $results; - } else if (is_object($var)) { - $object_vars = get_object_vars($var); - $results = "".get_class($var)." Object (".count($object_vars).")"; - foreach ($object_vars as $curr_key => $curr_val) { - $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length); - $results .= "
          ".str_repeat(' ', $depth*2)."$curr_key => $return"; - } - return $results; - } else { - if (empty($var) && $var != "0") { - return 'empty'; - } - if (strlen($var) > $length ) { - $results = substr($var, 0, $length-3).'...'; - } else { - $results = $var; - } - $results = htmlspecialchars($results); - $results = strtr($results, $_replace); - return $results; - } -} - -/* vim: set expandtab: */ - -?> + + * Name: debug_print_var
          + * Purpose: formats variable contents for display in the console + * @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php + * debug_print_var (Smarty online manual) + * @param array|object + * @param integer + * @param integer + * @return string + */ +function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40) +{ + $_replace = array("\n"=>'\n', "\r"=>'\r', "\t"=>'\t'); + if (is_array($var)) { + $results = "Array (".count($var).")"; + foreach ($var as $curr_key => $curr_val) { + $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length); + $results .= "
          ".str_repeat(' ', $depth*2)."".strtr($curr_key, $_replace)." => $return"; + } + return $results; + } else if (is_object($var)) { + $object_vars = get_object_vars($var); + $results = "".get_class($var)." Object (".count($object_vars).")"; + foreach ($object_vars as $curr_key => $curr_val) { + $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length); + $results .= "
          ".str_repeat(' ', $depth*2)."$curr_key => $return"; + } + return $results; + } else { + if (empty($var) && $var != "0") { + return 'empty'; + } + if (strlen($var) > $length ) { + $results = substr($var, 0, $length-3).'...'; + } else { + $results = $var; + } + $results = htmlspecialchars($results); + $results = strtr($results, $_replace); + return $results; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.default.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.default.php index 4f1f800a1d..8268e396ff 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.default.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.default.php @@ -1,31 +1,31 @@ - - * Name: default
          - * Purpose: designate default value for empty variables - * @link http://smarty.php.net/manual/en/language.modifier.default.php - * default (Smarty online manual) - * @param string - * @param string - * @return string - */ -function smarty_modifier_default($string, $default = '') -{ - if (!isset($string) || $string === '') - return $default; - else - return $string; -} - -/* vim: set expandtab: */ - -?> + + * Name: default
          + * Purpose: designate default value for empty variables + * @link http://smarty.php.net/manual/en/language.modifier.default.php + * default (Smarty online manual) + * @param string + * @param string + * @return string + */ +function smarty_modifier_default($string, $default = '') +{ + if (!isset($string) || $string === '') + return $default; + else + return $string; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.escape.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.escape.php index dc5ebc6f69..f9d0eed96b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.escape.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.escape.php @@ -1,63 +1,63 @@ - - * Name: escape
          - * Purpose: Escape the string according to escapement type - * @link http://smarty.php.net/manual/en/language.modifier.escape.php - * escape (Smarty online manual) - * @param string - * @param html|htmlall|url|quotes|hex|hexentity|javascript - * @return string - */ -function smarty_modifier_escape($string, $esc_type = 'html') -{ - switch ($esc_type) { - case 'html': - return htmlspecialchars($string, ENT_QUOTES); - - case 'htmlall': - return htmlentities($string, ENT_QUOTES); - - case 'url': - return urlencode($string); - - case 'quotes': - // escape unescaped single quotes - return preg_replace("%(?'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n')); - - default: - return $string; - } -} - -/* vim: set expandtab: */ - -?> + + * Name: escape
          + * Purpose: Escape the string according to escapement type + * @link http://smarty.php.net/manual/en/language.modifier.escape.php + * escape (Smarty online manual) + * @param string + * @param html|htmlall|url|quotes|hex|hexentity|javascript + * @return string + */ +function smarty_modifier_escape($string, $esc_type = 'html') +{ + switch ($esc_type) { + case 'html': + return htmlspecialchars($string, ENT_QUOTES); + + case 'htmlall': + return htmlentities($string, ENT_QUOTES); + + case 'url': + return urlencode($string); + + case 'quotes': + // escape unescaped single quotes + return preg_replace("%(?'\\\\',"'"=>"\\'",'"'=>'\\"',"\r"=>'\\r',"\n"=>'\\n')); + + default: + return $string; + } +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.htmlentities.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.htmlentities.php index 72dcf7def6..0a106b037c 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.htmlentities.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.htmlentities.php @@ -1,18 +1,18 @@ - + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.indent.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.indent.php index 4a8b81c7ec..552c3e1998 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.indent.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.indent.php @@ -1,27 +1,27 @@ - - * Name: indent
          - * Purpose: indent lines of text - * @link http://smarty.php.net/manual/en/language.modifier.indent.php - * indent (Smarty online manual) - * @param string - * @param integer - * @param string - * @return string - */ -function smarty_modifier_indent($string,$chars=4,$char=" ") -{ - return preg_replace('!^!m',str_repeat($char,$chars),$string); -} - -?> + + * Name: indent
          + * Purpose: indent lines of text + * @link http://smarty.php.net/manual/en/language.modifier.indent.php + * indent (Smarty online manual) + * @param string + * @param integer + * @param string + * @return string + */ +function smarty_modifier_indent($string,$chars=4,$char=" ") +{ + return preg_replace('!^!m',str_repeat($char,$chars),$string); +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.lower.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.lower.php index fecb71686c..ee37423329 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.lower.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.lower.php @@ -1,25 +1,25 @@ - - * Name: lower
          - * Purpose: convert string to lowercase - * @link http://smarty.php.net/manual/en/language.modifier.lower.php - * lower (Smarty online manual) - * @param string - * @return string - */ -function smarty_modifier_lower($string) -{ - return strtolower($string); -} - -?> + + * Name: lower
          + * Purpose: convert string to lowercase + * @link http://smarty.php.net/manual/en/language.modifier.lower.php + * lower (Smarty online manual) + * @param string + * @return string + */ +function smarty_modifier_lower($string) +{ + return strtolower($string); +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.nl2br.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.nl2br.php index 2a5f238bbd..5a9b74452a 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.nl2br.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.nl2br.php @@ -1,35 +1,35 @@ - - * Name: nl2br
          - * Date: Feb 26, 2003 - * Purpose: convert \r\n, \r or \n to <
          > - * Input:
          - * - contents = contents to replace - * - preceed_test = if true, includes preceeding break tags - * in replacement - * Example: {$text|nl2br} - * @link http://smarty.php.net/manual/en/language.modifier.nl2br.php - * nl2br (Smarty online manual) - * @version 1.0 - * @author Monte Ohrt - * @param string - * @return string - */ -function smarty_modifier_nl2br($string) -{ - return nl2br($string); -} - -/* vim: set expandtab: */ - -?> + + * Name: nl2br
          + * Date: Feb 26, 2003 + * Purpose: convert \r\n, \r or \n to <
          > + * Input:
          + * - contents = contents to replace + * - preceed_test = if true, includes preceeding break tags + * in replacement + * Example: {$text|nl2br} + * @link http://smarty.php.net/manual/en/language.modifier.nl2br.php + * nl2br (Smarty online manual) + * @version 1.0 + * @author Monte Ohrt + * @param string + * @return string + */ +function smarty_modifier_nl2br($string) +{ + return nl2br($string); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.rawurlencode.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.rawurlencode.php index d2d5e813bd..dca02d1bd6 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.rawurlencode.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.rawurlencode.php @@ -1,18 +1,18 @@ - + diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.regex_replace.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.regex_replace.php index a467dfba57..b9cc865ea8 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.regex_replace.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.regex_replace.php @@ -1,29 +1,29 @@ - - * Name: regex_replace
          - * Purpose: regular epxression search/replace - * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php - * regex_replace (Smarty online manual) - * @param string - * @param string|array - * @param string|array - * @return string - */ -function smarty_modifier_regex_replace($string, $search, $replace) -{ - return preg_replace($search, $replace, $string); -} - -/* vim: set expandtab: */ - -?> + + * Name: regex_replace
          + * Purpose: regular epxression search/replace + * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php + * regex_replace (Smarty online manual) + * @param string + * @param string|array + * @param string|array + * @return string + */ +function smarty_modifier_regex_replace($string, $search, $replace) +{ + return preg_replace($search, $replace, $string); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.replace.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.replace.php index 590e11b4ed..2a43515f7e 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.replace.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.replace.php @@ -1,29 +1,29 @@ - - * Name: replace
          - * Purpose: simple search/replace - * @link http://smarty.php.net/manual/en/language.modifier.replace.php - * replace (Smarty online manual) - * @param string - * @param string - * @param string - * @return string - */ -function smarty_modifier_replace($string, $search, $replace) -{ - return str_replace($search, $replace, $string); -} - -/* vim: set expandtab: */ - -?> + + * Name: replace
          + * Purpose: simple search/replace + * @link http://smarty.php.net/manual/en/language.modifier.replace.php + * replace (Smarty online manual) + * @param string + * @param string + * @param string + * @return string + */ +function smarty_modifier_replace($string, $search, $replace) +{ + return str_replace($search, $replace, $string); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.spacify.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.spacify.php index bcc5f94160..dad057f9b5 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.spacify.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.spacify.php @@ -1,29 +1,29 @@ - - * Name: spacify
          - * Purpose: add spaces between characters in a string - * @link http://smarty.php.net/manual/en/language.modifier.spacify.php - * spacify (Smarty online manual) - * @param string - * @param string - * @return string - */ -function smarty_modifier_spacify($string, $spacify_char = ' ') -{ - return implode($spacify_char, - preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY)); -} - -/* vim: set expandtab: */ - -?> + + * Name: spacify
          + * Purpose: add spaces between characters in a string + * @link http://smarty.php.net/manual/en/language.modifier.spacify.php + * spacify (Smarty online manual) + * @param string + * @param string + * @return string + */ +function smarty_modifier_spacify($string, $spacify_char = ' ') +{ + return implode($spacify_char, + preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY)); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.string_format.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.string_format.php index 499031373d..efd621506f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.string_format.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.string_format.php @@ -1,28 +1,28 @@ - - * Name: string_format
          - * Purpose: format strings via sprintf - * @link http://smarty.php.net/manual/en/language.modifier.string.format.php - * string_format (Smarty online manual) - * @param string - * @param string - * @return string - */ -function smarty_modifier_string_format($string, $format) -{ - return sprintf($format, $string); -} - -/* vim: set expandtab: */ - -?> + + * Name: string_format
          + * Purpose: format strings via sprintf + * @link http://smarty.php.net/manual/en/language.modifier.string.format.php + * string_format (Smarty online manual) + * @param string + * @param string + * @return string + */ +function smarty_modifier_string_format($string, $format) +{ + return sprintf($format, $string); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip.php index fc67558201..0db2f8ae21 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip.php @@ -1,33 +1,33 @@ - - * Name: strip
          - * Purpose: Replace all repeated spaces, newlines, tabs - * with a single space or supplied replacement string.
          - * Example: {$var|strip} {$var|strip:" "} - * Date: September 25th, 2002 - * @link http://smarty.php.net/manual/en/language.modifier.strip.php - * strip (Smarty online manual) - * @author Monte Ohrt - * @version 1.0 - * @param string - * @param string - * @return string - */ -function smarty_modifier_strip($text, $replace = ' ') -{ - return preg_replace('!\s+!', $replace, $text); -} - -/* vim: set expandtab: */ - -?> + + * Name: strip
          + * Purpose: Replace all repeated spaces, newlines, tabs + * with a single space or supplied replacement string.
          + * Example: {$var|strip} {$var|strip:" "} + * Date: September 25th, 2002 + * @link http://smarty.php.net/manual/en/language.modifier.strip.php + * strip (Smarty online manual) + * @author Monte Ohrt + * @version 1.0 + * @param string + * @param string + * @return string + */ +function smarty_modifier_strip($text, $replace = ' ') +{ + return preg_replace('!\s+!', $replace, $text); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip_tags.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip_tags.php index 516a87fcd4..45f1ec14d1 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip_tags.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.strip_tags.php @@ -1,31 +1,31 @@ - - * Name: strip_tags
          - * Purpose: strip html tags from text - * @link http://smarty.php.net/manual/en/language.modifier.strip.tags.php - * strip_tags (Smarty online manual) - * @param string - * @param boolean - * @return string - */ -function smarty_modifier_strip_tags($string, $replace_with_space = true) -{ - if ($replace_with_space) - return preg_replace('!<[^>]*?>!', ' ', $string); - else - return strip_tags($string); -} - -/* vim: set expandtab: */ - -?> + + * Name: strip_tags
          + * Purpose: strip html tags from text + * @link http://smarty.php.net/manual/en/language.modifier.strip.tags.php + * strip_tags (Smarty online manual) + * @param string + * @param boolean + * @return string + */ +function smarty_modifier_strip_tags($string, $replace_with_space = true) +{ + if ($replace_with_space) + return preg_replace('!<[^>]*?>!', ' ', $string); + else + return strip_tags($string); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.truncate.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.truncate.php index 775a20e874..c82b14a321 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.truncate.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.truncate.php @@ -1,43 +1,43 @@ - - * Name: truncate
          - * Purpose: Truncate a string to a certain length if necessary, - * optionally splitting in the middle of a word, and - * appending the $etc string. - * @link http://smarty.php.net/manual/en/language.modifier.truncate.php - * truncate (Smarty online manual) - * @param string - * @param integer - * @param string - * @param boolean - * @return string - */ -function smarty_modifier_truncate($string, $length = 80, $etc = '...', - $break_words = false) -{ - if ($length == 0) - return ''; - - if (strlen($string) > $length) { - $length -= strlen($etc); - if (!$break_words) - $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1)); - - return substr($string, 0, $length).$etc; - } else - return $string; -} - -/* vim: set expandtab: */ - -?> + + * Name: truncate
          + * Purpose: Truncate a string to a certain length if necessary, + * optionally splitting in the middle of a word, and + * appending the $etc string. + * @link http://smarty.php.net/manual/en/language.modifier.truncate.php + * truncate (Smarty online manual) + * @param string + * @param integer + * @param string + * @param boolean + * @return string + */ +function smarty_modifier_truncate($string, $length = 80, $etc = '...', + $break_words = false) +{ + if ($length == 0) + return ''; + + if (strlen($string) > $length) { + $length -= strlen($etc); + if (!$break_words) + $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1)); + + return substr($string, 0, $length).$etc; + } else + return $string; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.upper.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.upper.php index 899f6bb921..9d9ef3567d 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.upper.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.upper.php @@ -1,25 +1,25 @@ - - * Name: upper
          - * Purpose: convert string to uppercase - * @link http://smarty.php.net/manual/en/language.modifier.upper.php - * upper (Smarty online manual) - * @param string - * @return string - */ -function smarty_modifier_upper($string) -{ - return strtoupper($string); -} - -?> + + * Name: upper
          + * Purpose: convert string to uppercase + * @link http://smarty.php.net/manual/en/language.modifier.upper.php + * upper (Smarty online manual) + * @param string + * @return string + */ +function smarty_modifier_upper($string) +{ + return strtoupper($string); +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.wordwrap.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.wordwrap.php index fe4407fc33..55b4a1df3f 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.wordwrap.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/modifier.wordwrap.php @@ -1,28 +1,28 @@ - - * Name: wordwrap
          - * Purpose: wrap a string of text at a given length - * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php - * wordwrap (Smarty online manual) - * @param string - * @param integer - * @param string - * @param boolean - * @return string - */ -function smarty_modifier_wordwrap($string,$length=80,$break="\n",$cut=false) -{ - return wordwrap($string,$length,$break,$cut); -} - -?> + + * Name: wordwrap
          + * Purpose: wrap a string of text at a given length + * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php + * wordwrap (Smarty online manual) + * @param string + * @param integer + * @param string + * @param boolean + * @return string + */ +function smarty_modifier_wordwrap($string,$length=80,$break="\n",$cut=false) +{ + return wordwrap($string,$length,$break,$cut); +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/outputfilter.trimwhitespace.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/outputfilter.trimwhitespace.php index 1fa5fe1707..e82acc1ca1 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/outputfilter.trimwhitespace.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/outputfilter.trimwhitespace.php @@ -1,75 +1,75 @@ - - * Type: outputfilter
          - * Name: trimwhitespace
          - * Date: Jan 25, 2003
          - * Purpose: trim leading white space and blank lines from - * template source after it gets interpreted, cleaning - * up code and saving bandwidth. Does not affect - * <
          >
          and blocks.
          - * Install: Drop into the plugin directory, call - * $smarty->load_filter('output','trimwhitespace'); - * from application. - * @author Monte Ohrt - * @author Contributions from Lars Noschinski - * @version 1.3 - * @param string - * @param Smarty - */ - function smarty_outputfilter_trimwhitespace($source, &$smarty) - { - // Pull out the script blocks - preg_match_all("!]+>.*?!is", $source, $match); - $_script_blocks = $match[0]; - $source = preg_replace("!]+>.*?!is", - '@@@SMARTY:TRIM:SCRIPT@@@', $source); - - // Pull out the pre blocks - preg_match_all("!
          .*?
          !is", $source, $match); - $_pre_blocks = $match[0]; - $source = preg_replace("!
          .*?
          !is", - '@@@SMARTY:TRIM:PRE@@@', $source); - - // Pull out the textarea blocks - preg_match_all("!]+>.*?!is", $source, $match); - $_textarea_blocks = $match[0]; - $source = preg_replace("!]+>.*?!is", - '@@@SMARTY:TRIM:TEXTAREA@@@', $source); - - // remove all leading spaces, tabs and carriage returns NOT - // preceeded by a php close tag. - $source = trim(preg_replace('/((?)\n)[\s]+/m', '\1', $source)); - - // replace script blocks - smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:SCRIPT@@@",$_script_blocks, $source); - - // replace pre blocks - smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:PRE@@@",$_pre_blocks, $source); - - // replace textarea blocks - smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:TEXTAREA@@@",$_textarea_blocks, $source); - - return $source; - } - -function smarty_outputfilter_trimwhitespace_replace($search_str, $replace, &$subject) { - $_len = strlen($search_str); - $_pos = 0; - for ($_i=0, $_count=count($replace); $_i<$_count; $_i++) - if (($_pos=strpos($subject, $search_str, $_pos))!==false) - $subject = substr_replace($subject, $replace[$_i], $_pos, $_len); - else - break; - -} - -?> + + * Type: outputfilter
          + * Name: trimwhitespace
          + * Date: Jan 25, 2003
          + * Purpose: trim leading white space and blank lines from + * template source after it gets interpreted, cleaning + * up code and saving bandwidth. Does not affect + * <
          >
          and blocks.
          + * Install: Drop into the plugin directory, call + * $smarty->load_filter('output','trimwhitespace'); + * from application. + * @author Monte Ohrt + * @author Contributions from Lars Noschinski + * @version 1.3 + * @param string + * @param Smarty + */ + function smarty_outputfilter_trimwhitespace($source, &$smarty) + { + // Pull out the script blocks + preg_match_all("!]+>.*?!is", $source, $match); + $_script_blocks = $match[0]; + $source = preg_replace("!]+>.*?!is", + '@@@SMARTY:TRIM:SCRIPT@@@', $source); + + // Pull out the pre blocks + preg_match_all("!
          .*?
          !is", $source, $match); + $_pre_blocks = $match[0]; + $source = preg_replace("!
          .*?
          !is", + '@@@SMARTY:TRIM:PRE@@@', $source); + + // Pull out the textarea blocks + preg_match_all("!]+>.*?!is", $source, $match); + $_textarea_blocks = $match[0]; + $source = preg_replace("!]+>.*?!is", + '@@@SMARTY:TRIM:TEXTAREA@@@', $source); + + // remove all leading spaces, tabs and carriage returns NOT + // preceeded by a php close tag. + $source = trim(preg_replace('/((?)\n)[\s]+/m', '\1', $source)); + + // replace script blocks + smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:SCRIPT@@@",$_script_blocks, $source); + + // replace pre blocks + smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:PRE@@@",$_pre_blocks, $source); + + // replace textarea blocks + smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:TEXTAREA@@@",$_textarea_blocks, $source); + + return $source; + } + +function smarty_outputfilter_trimwhitespace_replace($search_str, $replace, &$subject) { + $_len = strlen($search_str); + $_pos = 0; + for ($_i=0, $_count=count($replace); $_i<$_count; $_i++) + if (($_pos=strpos($subject, $search_str, $_pos))!==false) + $subject = substr_replace($subject, $replace[$_i], $_pos, $_len); + else + break; + +} + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.escape_special_chars.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.escape_special_chars.php index 72b8a48c20..090ee9cd90 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.escape_special_chars.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.escape_special_chars.php @@ -1,30 +1,30 @@ - - * Purpose: used by other smarty functions to escape - * special chars except for already escaped ones - * @param string - * @return string - */ -function smarty_function_escape_special_chars($string) -{ - if(!is_array($string)) { - $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); - $string = htmlspecialchars($string); - $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string); - } - return $string; -} - -/* vim: set expandtab: */ - -?> + + * Purpose: used by other smarty functions to escape + * special chars except for already escaped ones + * @param string + * @return string + */ +function smarty_function_escape_special_chars($string) +{ + if(!is_array($string)) { + $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); + $string = htmlspecialchars($string); + $string = str_replace(array('%%%SMARTY_START%%%','%%%SMARTY_END%%%'), array('&',';'), $string); + } + return $string; +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.make_timestamp.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.make_timestamp.php index 25c7f5c880..acdd777359 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.make_timestamp.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/Smarty-2.6.0/libs/plugins/shared.make_timestamp.php @@ -1,43 +1,43 @@ - - * Purpose: used by other smarty functions to make a timestamp - * from a string. - * @param string - * @return string - */ -function smarty_make_timestamp($string) -{ - if(empty($string)) { - $string = "now"; - } - $time = strtotime($string); - if (is_numeric($time) && $time != -1) - return $time; - - // is mysql timestamp format of YYYYMMDDHHMMSS? - if (preg_match('/^\d{14}$/', $string)) { - $time = mktime(substr($string,8,2),substr($string,10,2),substr($string,12,2), - substr($string,4,2),substr($string,6,2),substr($string,0,4)); - - return $time; - } - - // couldn't recognize it, try to return a time - $time = (int) $string; - if ($time > 0) - return $time; - else - return time(); -} - -/* vim: set expandtab: */ - -?> + + * Purpose: used by other smarty functions to make a timestamp + * from a string. + * @param string + * @return string + */ +function smarty_make_timestamp($string) +{ + if(empty($string)) { + $string = "now"; + } + $time = strtotime($string); + if (is_numeric($time) && $time != -1) + return $time; + + // is mysql timestamp format of YYYYMMDDHHMMSS? + if (preg_match('/^\d{14}$/', $string)) { + $time = mktime(substr($string,8,2),substr($string,10,2),substr($string,12,2), + substr($string,4,2),substr($string,6,2),substr($string,0,4)); + + return $time; + } + + // couldn't recognize it, try to return a time + $time = (int) $string; + if ($time > 0) + return $time; + else + return time(); +} + +/* vim: set expandtab: */ + +?> diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/clone.inc.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/clone.inc.php index fbc308ef70..e1c86f6f45 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/clone.inc.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/clone.inc.php @@ -1,13 +1,13 @@ - \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/clone5.inc.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/clone5.inc.php index 20919a9930..775453939b 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/clone5.inc.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/clone5.inc.php @@ -1,14 +1,14 @@ - \ No newline at end of file diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/common.inc.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/common.inc.php index 9367d804fd..4b097197e0 100755 --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/common.inc.php +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/common.inc.php @@ -1,259 +1,259 @@ - - * @copyright 2001-2006 Gregory Beaver - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @version CVS: $Id$ - * @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 - */ -/** phpDocumentor version */ -if ('@PEAR-DIR@' != '@'.'PEAR-DIR@') -{ - define("PHPDOCUMENTOR_VER","@VER@"); -} else { - define("PHPDOCUMENTOR_VER","1.3.2"); -} -/** phpDocumentor version */ -define("PHPDOCUMENTOR_WEBSITE","http://www.phpdoc.org"); -define('SMART_PATH_DELIMITER', DIRECTORY_SEPARATOR ); // set the correct path delimiter -define('tokenizer_ext', extension_loaded('tokenizer') && version_compare(phpversion(),"4.3.0",">=")); -// we just replace all the \ with / so that we can just operate on / -define('PATH_DELIMITER', '/' ); // set the correct path delimiter -define('PHPDOCUMENTOR_WINDOWS',substr(PHP_OS, 0, 3) == 'WIN'); -define('_IN_PHP5', phpversion() == '5.0.0RC1-dev' || phpversion() == '5.0.0RC2-dev' || - version_compare(phpversion(), '5.0.0', 'ge')); -if ('@VER@' != '@'.'VER@') -{ - if (_IN_PHP5) { - require_once 'PhpDocumentor/phpDocumentor/clone5.inc.php'; - } else { - require_once 'PhpDocumentor/phpDocumentor/clone.inc.php'; - } -} else { - if (_IN_PHP5) { - require_once dirname(__FILE__) . '/clone5.inc.php'; - } else { - require_once dirname(__FILE__) . '/clone.inc.php'; - } -} -if (isset($_SERVER['argv'])) { - $argv = $_SERVER['argv']; - $argc = $_SERVER['argc']; -} - -/** used in phpdoc.php and new_phpdoc.php */ -function phpDocumentor_ConfigFileList($directory) -{ - $ret = array(); - if (@is_dir($directory)) - { - $ret = array(); - $d = @dir($directory); // thanks to Jason E Sweat (jsweat@users.sourceforge.net) for fix - while($d && $entry=$d->read()) - { - $getentry = false; - if (strcmp($entry,".") != 0 && strcmp($entry,"..") != 0) - { - if (substr($entry,0,1) != ".") $getentry = true; - } - if ($getentry == true) - { - if (strpos($entry,'.ini')) - if (is_file($directory . PATH_DELIMITER . $entry)) - { - $ret[] = str_replace('.ini','',$entry); - } - } - } - if ($d) $d->close(); - } else - { - } - return $ret; -} - - -/** - * Parse an .ini file - * - * Works like {@link parse_ini_file}, except it will take a section like: - * - *
          - * [MYVAR]
          - * value1
          - * value2
          - * value3
          - * 
          - * - * and return an associative array(MYVAR => array(value1, value2, value3)) - * @return array - * @param string full path to the ini file - * @param boolean add an associative index for each section [in brackets] - */ -function phpDocumentor_parse_ini_file($filename, $process_sections = false) -{ - $ini_array = array(); - $sec_name = ""; - $lines = @file($filename); - if( !$lines) return $lines; - foreach($lines as $line) - { - // code by Greg Beaver, ignore comments - if ($line[0] == ';') continue; - $line = trim($line); - - if($line == "") - { - continue; - } - if($line[0] == "[" && $line[strlen($line) - 1] == "]") - { - $sec_name = substr($line, 1, strlen($line) - 2); - } else - { - if (strpos($line,"=")) - { - $pos = strpos($line, "="); - $property = trim(substr($line, 0, $pos)); - // code by Greg Beaver - if (substr($property, 0, 1) == '"' && substr($property, -1) == '"') { - $property = stripcslashes(substr($property,1,count($property) - 2)); - } - $value = trim(substr($line, $pos + 1)); - if ($value == 'false') $value = false; - if ($value == 'true') $value = true; - if (substr($value, 0, 1) == '"' && substr($value,-1) == '"') - { - $value = stripcslashes(substr($value,1,count($value) - 2)); - } - // done additions - - if($process_sections) - { - if ($sec_name != '') - $ini_array[$sec_name][$property] = $value; - else - $ini_array[$property] = $value; - } else - { - $ini_array[$property] = $value; - } - } else - { - // code by Greg Beaver - if (trim($line[0]) == ';') continue; - if($process_sections) - { - $ini_array[$sec_name][] = trim($line); - } - // done additions - } - } - } - return $ini_array; -} - - -if (!function_exists('array_key_exists')) -{ -/** @ignore */ -function array_key_exists($key, $search) -{ - foreach($search as $keys => $nul) - { - if ($key == $keys) return true; - } - return false; -} -} -if (!function_exists('is_a')) -{ -/** @ignore */ -function is_a($classname, $classquery) -{ - $father = get_parent_class($classname); - if (strtolower($father) == strtolower($classquery)) - { - return true; - } elseif (!empty($father)) - { - return is_a($father, $classquery); - } else - { - return false; - } -} -} - - -/** Debugging output */ -function debug($s) -{ - echo "$s\n"; -} - -/** - * Returns a formatted var_dump for debugging purposes. - * @param string $s string to display - * @param mixed $v variable to display with var_dump() - * @param mixed $v... unlimited number of additional variables to display with var_dump() - */ -function fancy_debug($s,$v) -{ - if (isset($GLOBALS['dont_debug']) && $GLOBALS['dont_debug']) return; - debug($s."\n\n
          ");
          -    var_dump($v);
          -    if (func_num_args()>2)
          -    {
          -        for($i=2;$i
          \n\n");
          -}
          -
          -/**
          - * Returns a lower-cased version of get_class for PHP 5
          - *
          - * get_class() returns case as declared in the file in PHP 5
          - */
          -function phpDocumentor_get_class($object)
          -{
          -    return strtolower(get_class($object));
          -}
          -
          +
          + * @copyright  2001-2006 Gregory Beaver
          + * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
          + * @version    CVS: $Id$
          + * @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
          + */
          +/** phpDocumentor version */
          +if ('@PEAR-DIR@' != '@'.'PEAR-DIR@')
          +{
          +    define("PHPDOCUMENTOR_VER","@VER@");
          +} else {
          +    define("PHPDOCUMENTOR_VER","1.3.2");
          +}
          +/** phpDocumentor version */
          +define("PHPDOCUMENTOR_WEBSITE","http://www.phpdoc.org");
          +define('SMART_PATH_DELIMITER', DIRECTORY_SEPARATOR ); // set the correct path delimiter
          +define('tokenizer_ext', extension_loaded('tokenizer') && version_compare(phpversion(),"4.3.0",">="));
          +// we just replace all the \ with / so that we can just operate on /
          +define('PATH_DELIMITER', '/' ); // set the correct path delimiter
          +define('PHPDOCUMENTOR_WINDOWS',substr(PHP_OS, 0, 3) == 'WIN');
          +define('_IN_PHP5', phpversion() == '5.0.0RC1-dev' || phpversion() == '5.0.0RC2-dev' ||
          +    version_compare(phpversion(), '5.0.0', 'ge'));
          +if ('@VER@' != '@'.'VER@')
          +{
          +    if (_IN_PHP5) {
          +        require_once 'PhpDocumentor/phpDocumentor/clone5.inc.php';
          +    } else {
          +        require_once 'PhpDocumentor/phpDocumentor/clone.inc.php';
          +    }
          +} else {
          +    if (_IN_PHP5) {
          +        require_once dirname(__FILE__) . '/clone5.inc.php';
          +    } else {
          +        require_once dirname(__FILE__) . '/clone.inc.php';
          +    }
          +}
          +if (isset($_SERVER['argv'])) {
          +    $argv = $_SERVER['argv'];
          +    $argc = $_SERVER['argc'];
          +}
          +
          +/** used in phpdoc.php and new_phpdoc.php */
          +function phpDocumentor_ConfigFileList($directory)
          +{
          +    $ret = array();
          +    if (@is_dir($directory))
          +    {
          +        $ret = array();
          +        $d = @dir($directory); // thanks to Jason E Sweat (jsweat@users.sourceforge.net) for fix
          +        while($d && $entry=$d->read())
          +        {
          +            $getentry = false;
          +            if (strcmp($entry,".") != 0 && strcmp($entry,"..") != 0)
          +            {
          +                if (substr($entry,0,1) != ".") $getentry = true;
          +            }
          +            if ($getentry == true)
          +            {
          +                if (strpos($entry,'.ini'))
          +                if (is_file($directory . PATH_DELIMITER . $entry))
          +                {
          +                    $ret[] = str_replace('.ini','',$entry);
          +                }
          +            }
          +        }
          +        if ($d) $d->close();
          +    } else
          +    {
          +    }
          +    return $ret;
          +}
          +
          +
          +/**
          + * Parse an .ini file
          + * 
          + * Works like {@link parse_ini_file}, except it will take a section like:
          + *
          + * 
          + * [MYVAR]
          + * value1
          + * value2
          + * value3
          + * 
          + * + * and return an associative array(MYVAR => array(value1, value2, value3)) + * @return array + * @param string full path to the ini file + * @param boolean add an associative index for each section [in brackets] + */ +function phpDocumentor_parse_ini_file($filename, $process_sections = false) +{ + $ini_array = array(); + $sec_name = ""; + $lines = @file($filename); + if( !$lines) return $lines; + foreach($lines as $line) + { + // code by Greg Beaver, ignore comments + if ($line[0] == ';') continue; + $line = trim($line); + + if($line == "") + { + continue; + } + if($line[0] == "[" && $line[strlen($line) - 1] == "]") + { + $sec_name = substr($line, 1, strlen($line) - 2); + } else + { + if (strpos($line,"=")) + { + $pos = strpos($line, "="); + $property = trim(substr($line, 0, $pos)); + // code by Greg Beaver + if (substr($property, 0, 1) == '"' && substr($property, -1) == '"') { + $property = stripcslashes(substr($property,1,count($property) - 2)); + } + $value = trim(substr($line, $pos + 1)); + if ($value == 'false') $value = false; + if ($value == 'true') $value = true; + if (substr($value, 0, 1) == '"' && substr($value,-1) == '"') + { + $value = stripcslashes(substr($value,1,count($value) - 2)); + } + // done additions + + if($process_sections) + { + if ($sec_name != '') + $ini_array[$sec_name][$property] = $value; + else + $ini_array[$property] = $value; + } else + { + $ini_array[$property] = $value; + } + } else + { + // code by Greg Beaver + if (trim($line[0]) == ';') continue; + if($process_sections) + { + $ini_array[$sec_name][] = trim($line); + } + // done additions + } + } + } + return $ini_array; +} + + +if (!function_exists('array_key_exists')) +{ +/** @ignore */ +function array_key_exists($key, $search) +{ + foreach($search as $keys => $nul) + { + if ($key == $keys) return true; + } + return false; +} +} +if (!function_exists('is_a')) +{ +/** @ignore */ +function is_a($classname, $classquery) +{ + $father = get_parent_class($classname); + if (strtolower($father) == strtolower($classquery)) + { + return true; + } elseif (!empty($father)) + { + return is_a($father, $classquery); + } else + { + return false; + } +} +} + + +/** Debugging output */ +function debug($s) +{ + echo "$s\n"; +} + +/** + * Returns a formatted var_dump for debugging purposes. + * @param string $s string to display + * @param mixed $v variable to display with var_dump() + * @param mixed $v... unlimited number of additional variables to display with var_dump() + */ +function fancy_debug($s,$v) +{ + if (isset($GLOBALS['dont_debug']) && $GLOBALS['dont_debug']) return; + debug($s."\n\n
          ");
          +    var_dump($v);
          +    if (func_num_args()>2)
          +    {
          +        for($i=2;$i
          \n\n");
          +}
          +
          +/**
          + * Returns a lower-cased version of get_class for PHP 5
          + *
          + * get_class() returns case as declared in the file in PHP 5
          + */
          +function phpDocumentor_get_class($object)
          +{
          +    return strtolower(get_class($object));
          +}
          +
           ?>
          \ No newline at end of file
          diff --git a/libs/PhpDocumentor-1.3.2/phpDocumentor/find_phpdoc.php b/libs/PhpDocumentor-1.3.2/phpDocumentor/find_phpdoc.php
          index 0e1dc14535..fa40f43746 100755
          --- a/libs/PhpDocumentor-1.3.2/phpDocumentor/find_phpdoc.php
          +++ b/libs/PhpDocumentor-1.3.2/phpDocumentor/find_phpdoc.php
          @@ -1,45 +1,45 @@
          -
          - * @copyright  2002-2006 Gregory Beaver
          - * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
          - * @version    CVS: $Id$
          - * @filesource
          - * @link       http://www.phpdoc.org
          - * @link       http://pear.php.net/PhpDocumentor
          - * @since      1.2
          - */
          -/**
          - * Dummy value
          - */
          -@include('');
          -// value used to test whether include worked
          -return 6;
          +
          + * @copyright  2002-2006 Gregory Beaver
          + * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
          + * @version    CVS: $Id$
          + * @filesource
          + * @link       http://www.phpdoc.org
          + * @link       http://pear.php.net/PhpDocumentor
          + * @since      1.2
          + */
          +/**
          + * Dummy value
          + */
          +@include('');
          +// value used to test whether include worked
          +return 6;
           ?>
          \ No newline at end of file
          diff --git a/libs/PhpDocumentor-1.3.2/phpdoc.php b/libs/PhpDocumentor-1.3.2/phpdoc.php
          index 2217db98a6..5e6b369fde 100755
          --- a/libs/PhpDocumentor-1.3.2/phpdoc.php
          +++ b/libs/PhpDocumentor-1.3.2/phpdoc.php
          @@ -1,469 +1,469 @@
          -
          -
          -//    Joshua Eichorn 
          -//    Gregory Beaver 
          -//
          -// phpDocumentor, a program for creating javadoc style documentation from php code
          -// Copyright (C) 2000-2002 Joshua Eichorn
          -// 
          -// This program is free software; you can redistribute it and/or modify
          -// it under the terms of the GNU General Public License as published by
          -// the Free Software Foundation; either version 2 of the License, or
          -// (at your option) any later version.
          -//
          -// This program 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 General Public License for more details.
          -//
          -// You should have received a copy of the GNU General Public License
          -// along with this program; if not, write to the Free Software
          -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
          -//
          -//
          -// Copyleft 2001 Juan Pablo Morales
          -
          -// set up include path so we can find all files, no matter what
          -$GLOBALS['_phpDocumentor_install_dir'] = dirname(realpath(__FILE__));
          -// add my directory to the include path, and make it first, should fix any errors
          -if (substr(PHP_OS, 0, 3) == 'WIN')
          -ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path'));
          -else
          -ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path'));
          -
          -/**
          -* common file information
          -*/
          -include_once("phpDocumentor/common.inc.php");
          -if (!function_exists('version_compare'))
          -{
          -    print "phpDocumentor requires PHP version 4.1.0 or greater to function";
          -    exit;
          -}
          -
          -// find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir]
          -$ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true);
          -if (isset($ini['_phpDocumentor_options']['userdir']))
          -    $configdir = $ini['_phpDocumentor_options']['userdir'];
          -else
          -    $configdir = $_phpDocumentor_install_dir . '/user';
          -
          -// allow the user to change this at runtime
          -if (!empty($_REQUEST['altuserdir'])) $configdir = $_REQUEST['altuserdir'];
          -?>
          -
          -   
          -      
          -         Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?>
          -      
          -      
          -
          -   
          -   ";
          -    echo "

          Parsing Files ...

          "; - flush(); - echo "
          \n";
          -    /** phpdoc.inc */
          -    include("phpDocumentor/phpdoc.inc");
          -    echo "
          \n"; - echo "

          Operation Completed!!

          "; - } else { - ?> - -

          - Form to submit to phpDocumentor v -

          -
          -
          - - - - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          - Use a pre-created config file for form values. -
          - Normally, phpDocumentor uses the form values from this form to set up parsing. In version 1.2, - phpDocumentor allows you to "save" form values in configuration files so that you can replicate - common complicated documentation tasks with only one time. Just choose a config file below or create a - new one and refresh this page to choose it.
          change config directory:changed to "'.$_REQUEST['altuserdir'].'"'; ?> - Choose a config:
          -
          - Generated Documentation Title -
          - Choose a title for the generated documentation
          -
          -
          - Default Package Name -
          - Choose a name for the default package
          -
          -
          - Target -
          - Target is the directory where - the output produced by phpDocumentor will reside
          -
          - - Add the directory in the help box -
          - Custom Tags -
          - Custom Tags is a comma-separated list of tags - you want phpDocumentor to include as valid tags - in this parse. An example would be "value, size" - to allow @value and @size tags. -
          -
          - Packages to parse -
          - The parameter packages is a group of comma - separated names of abstract packages that will - be processed by phpDocumentor. All package names must be - separated by commas.
          -
          -
          - Files to parse -
          - This is a group of comma-separated names of php files - or tutorials that will be processed by phpDocumentor.
          -
          - - Add the file in the help box -
          - Directory to parse -
          - This is a group of comma-separated directories where php files - or tutorials are found that will be processed by phpDocumentor. - phpDocumentor automatically parses subdirectories
          -
          - - Add the directory in the help box -
          - Output Information -
          -
          - Output Information is a comma-separated list of Outputformat:Converter:Templates - to apply to the output. The Converters must be classes descended from Converter - defined in the phpDocumentor files, or parsing will not work. Outputformat - may be HTML, XML, PDF, or CHM (case-sensitive) in version 1.2. There is only one Converter - for both CHM and PDF, default. There are 2 HTML Converters, - frames and Smarty. frames templates may be any of:

          - default, l0l33t, phpdoc.de, phphtmllib, phpedit, DOM/default, DOM/l0l33t, or DOM/phpdoc.de. - Smarty templates may be any of:

          - default or PHP. -
          - There is only 1 template for all other Converters, default -
          Output type:Converter name:template name
          -
          - - Add the converter in the help box -
          - Files to ignore -
          - A list of files (full path or filename), and patterns - to ignore. Patterns may use wildcards * and ?. To - ignore all subdirectories named "test" for example, - using "test/" To ignore all files and directories - with test in their name use "*test*" -
          - - Add the directory in the help box -
          - Parse @access private -
          - The parameter Parse @access private tells phpDocumentor - whether to parse elements with an "@access private" tag in their docblock
          - Parse private
          -
          - JavaDoc-compliant Description parsing. -
          - Normally, phpDocumentor uses several rules to determine the short description. This switch - asks phpDocumentor to simply search for the first period (.) and use it to delineate the short - description. In addition, the short description will not be separated from the long description
          - JavaDoc-compliant Description
          -
          -
          - -
          -
          -
          -
          -
          - - - - -
          - - - - - - - -
          - A little help -
          - Since remember long path is not that easy here is a - little file control to view names of files that can - the be aggregated to the different properties -
          - -
          -
          -
          -
          -
          - Web-Interface Author: -

          - Juan Pablo Morales
          - ju-moral@uniandes.edu.co
          - Gregory Beaver
          - cellog@users.sourceforge.net, all post-0.3.0 modifications -

          -

          - If you have any problems with phpDocumentor, please visit the website: phpdocu.sourceforge.net and - submit a bug -

          - - -
          -Last modified: $Date: 2005/10/17 18:15:16 $
          -Revision: $Revision: 1.1 $
          -
          - - - - - + + +// Joshua Eichorn +// Gregory Beaver +// +// phpDocumentor, a program for creating javadoc style documentation from php code +// Copyright (C) 2000-2002 Joshua Eichorn +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// +// Copyleft 2001 Juan Pablo Morales + +// set up include path so we can find all files, no matter what +$GLOBALS['_phpDocumentor_install_dir'] = dirname(realpath(__FILE__)); +// add my directory to the include path, and make it first, should fix any errors +if (substr(PHP_OS, 0, 3) == 'WIN') +ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].';'.ini_get('include_path')); +else +ini_set('include_path',$GLOBALS['_phpDocumentor_install_dir'].':'.ini_get('include_path')); + +/** +* common file information +*/ +include_once("phpDocumentor/common.inc.php"); +if (!function_exists('version_compare')) +{ + print "phpDocumentor requires PHP version 4.1.0 or greater to function"; + exit; +} + +// find the .ini directory by parsing phpDocumentor.ini and extracting _phpDocumentor_options[userdir] +$ini = phpDocumentor_parse_ini_file($_phpDocumentor_install_dir . PATH_DELIMITER . 'phpDocumentor.ini', true); +if (isset($ini['_phpDocumentor_options']['userdir'])) + $configdir = $ini['_phpDocumentor_options']['userdir']; +else + $configdir = $_phpDocumentor_install_dir . '/user'; + +// allow the user to change this at runtime +if (!empty($_REQUEST['altuserdir'])) $configdir = $_REQUEST['altuserdir']; +?> + + + + Form to submit to phpDocumentor v<?php print PHPDOCUMENTOR_VER; ?> + + + + + "; + echo "

          Parsing Files ...

          "; + flush(); + echo "
          \n";
          +    /** phpdoc.inc */
          +    include("phpDocumentor/phpdoc.inc");
          +    echo "
          \n"; + echo "

          Operation Completed!!

          "; + } else { + ?> + +

          + Form to submit to phpDocumentor v +

          +
          +
          + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + Use a pre-created config file for form values. +
          + Normally, phpDocumentor uses the form values from this form to set up parsing. In version 1.2, + phpDocumentor allows you to "save" form values in configuration files so that you can replicate + common complicated documentation tasks with only one time. Just choose a config file below or create a + new one and refresh this page to choose it.
          change config directory:changed to "'.$_REQUEST['altuserdir'].'"'; ?> + Choose a config:
          +
          + Generated Documentation Title +
          + Choose a title for the generated documentation
          +
          +
          + Default Package Name +
          + Choose a name for the default package
          +
          +
          + Target +
          + Target is the directory where + the output produced by phpDocumentor will reside
          +
          + + Add the directory in the help box +
          + Custom Tags +
          + Custom Tags is a comma-separated list of tags + you want phpDocumentor to include as valid tags + in this parse. An example would be "value, size" + to allow @value and @size tags. +
          +
          + Packages to parse +
          + The parameter packages is a group of comma + separated names of abstract packages that will + be processed by phpDocumentor. All package names must be + separated by commas.
          +
          +
          + Files to parse +
          + This is a group of comma-separated names of php files + or tutorials that will be processed by phpDocumentor.
          +
          + + Add the file in the help box +
          + Directory to parse +
          + This is a group of comma-separated directories where php files + or tutorials are found that will be processed by phpDocumentor. + phpDocumentor automatically parses subdirectories
          +
          + + Add the directory in the help box +
          + Output Information +
          +
          + Output Information is a comma-separated list of Outputformat:Converter:Templates + to apply to the output. The Converters must be classes descended from Converter + defined in the phpDocumentor files, or parsing will not work. Outputformat + may be HTML, XML, PDF, or CHM (case-sensitive) in version 1.2. There is only one Converter + for both CHM and PDF, default. There are 2 HTML Converters, + frames and Smarty. frames templates may be any of:

          + default, l0l33t, phpdoc.de, phphtmllib, phpedit, DOM/default, DOM/l0l33t, or DOM/phpdoc.de. + Smarty templates may be any of:

          + default or PHP. +
          + There is only 1 template for all other Converters, default +
          Output type:Converter name:template name
          +
          + + Add the converter in the help box +
          + Files to ignore +
          + A list of files (full path or filename), and patterns + to ignore. Patterns may use wildcards * and ?. To + ignore all subdirectories named "test" for example, + using "test/" To ignore all files and directories + with test in their name use "*test*" +
          + + Add the directory in the help box +
          + Parse @access private +
          + The parameter Parse @access private tells phpDocumentor + whether to parse elements with an "@access private" tag in their docblock
          + Parse private
          +
          + JavaDoc-compliant Description parsing. +
          + Normally, phpDocumentor uses several rules to determine the short description. This switch + asks phpDocumentor to simply search for the first period (.) and use it to delineate the short + description. In addition, the short description will not be separated from the long description
          + JavaDoc-compliant Description
          +
          +
          + +
          +
          +
          +
          +
          + + + + +
          + + + + + + + +
          + A little help +
          + Since remember long path is not that easy here is a + little file control to view names of files that can + the be aggregated to the different properties +
          + +
          +
          +
          +
          +
          + Web-Interface Author: +

          + Juan Pablo Morales
          + ju-moral@uniandes.edu.co
          + Gregory Beaver
          + cellog@users.sourceforge.net, all post-0.3.0 modifications +

          +

          + If you have any problems with phpDocumentor, please visit the website: phpdocu.sourceforge.net and + submit a bug +

          + + +
          +Last modified: $Date: 2005/10/17 18:15:16 $
          +Revision: $Revision: 1.1 $
          +
          + + + + + diff --git a/libs/Zend/Auth/Storage/NonPersistent.php b/libs/Zend/Auth/Storage/NonPersistent.php index d36616b419..8c6fd6618a 100755 --- a/libs/Zend/Auth/Storage/NonPersistent.php +++ b/libs/Zend/Auth/Storage/NonPersistent.php @@ -1,96 +1,96 @@ -_data); - } - - /** - * Returns the contents of storage - * - * Behavior is undefined when storage is empty. - * - * @throws Zend_Auth_Storage_Exception If reading contents from storage is impossible - * @return mixed - */ - public function read() - { - return $this->_data; - } - - /** - * Writes $contents to storage - * - * @param mixed $contents - * @throws Zend_Auth_Storage_Exception If writing $contents to storage is impossible - * @return void - */ - public function write($contents) - { - $this->_data = $contents; - } - - /** - * Clears contents from storage - * - * @throws Zend_Auth_Storage_Exception If clearing contents from storage is impossible - * @return void - */ - public function clear() - { - $this->_data = null; - } -} +_data); + } + + /** + * Returns the contents of storage + * + * Behavior is undefined when storage is empty. + * + * @throws Zend_Auth_Storage_Exception If reading contents from storage is impossible + * @return mixed + */ + public function read() + { + return $this->_data; + } + + /** + * Writes $contents to storage + * + * @param mixed $contents + * @throws Zend_Auth_Storage_Exception If writing $contents to storage is impossible + * @return void + */ + public function write($contents) + { + $this->_data = $contents; + } + + /** + * Clears contents from storage + * + * @throws Zend_Auth_Storage_Exception If clearing contents from storage is impossible + * @return void + */ + public function clear() + { + $this->_data = null; + } +} diff --git a/libs/Zend/Db/Adapter/Abstract.php b/libs/Zend/Db/Adapter/Abstract.php index 1055f05a11..9e94b1c388 100755 --- a/libs/Zend/Db/Adapter/Abstract.php +++ b/libs/Zend/Db/Adapter/Abstract.php @@ -1,911 +1,911 @@ - (string) The name of the database to user - * username => (string) Connect to the database as this username. - * password => (string) Password associated with the username. - * host => (string) What host to connect to, defaults to localhost - * - * Some options are used on a case-by-case basis by adapters: - * - * port => (string) The port of the database - * persistent => (boolean) Whether to use a persistent connection or not, defaults to false - * protocol => (string) The network protocol, defaults to TCPIP - * caseFolding => (int) - * - * @param array $config An array of configuration keys. - * @throws Zend_Db_Adapter_Exception - */ - public function __construct(array $config = array()) - { - $this->_checkRequiredOptions($config); - - $options = array( - Zend_Db::CASE_FOLDING => $this->_caseFolding, - Zend_DB::AUTO_QUOTE_IDENTIFIERS => $this->_autoQuoteIdentifiers - ); - $driver_options = array(); - - // normalize the config and merge it with the defaults - if (array_key_exists('options', $config)) { - // can't use array_merge() because keys might be integers - foreach ((array) $config['options'] as $key => $value) { - $options[$key] = $value; - } - } - if (array_key_exists('driver_options', $config)) { - // can't use array_merge() because keys might be integers - foreach ((array) $config['driver_options'] as $key => $value) { - $driver_options[$key] = $value; - } - } - $this->_config = array_merge($this->_config, $config); - $this->_config['options'] = $options; - $this->_config['driver_options'] = $driver_options; - - // obtain the case setting, if there is one - if (array_key_exists(Zend_Db::CASE_FOLDING, $options)) { - $case = (int) $options[Zend_Db::CASE_FOLDING]; - switch ($case) { - case Zend_Db::CASE_LOWER: - case Zend_Db::CASE_UPPER: - case Zend_Db::CASE_NATURAL: - $this->_caseFolding = $case; - break; - default: - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Case must be one of the following constants: Zend_Db::CASE_NATURAL, Zend_Db::CASE_LOWER, Zend_Db::CASE_UPPER"); - } - } - - // obtain quoting property if there is one - if (array_key_exists(Zend_Db::AUTO_QUOTE_IDENTIFIERS, $options)) { - $this->_autoQuoteIdentifiers = (bool) $options[Zend_Db::AUTO_QUOTE_IDENTIFIERS]; - } - - // create a profiler object - $enabled = false; - if (array_key_exists('profiler', $this->_config)) { - $enabled = (bool) $this->_config['profiler']; - unset($this->_config['profiler']); - } - - $this->_profiler = new Zend_Db_Profiler($enabled); - } - - /** - * Check for config options that are mandatory. - * Throw exceptions if any are missing. - * - * @param array $config - * @throws Zend_Db_Adapter_Exception - */ - protected function _checkRequiredOptions(array $config) - { - // we need at least a dbname - if (! array_key_exists('dbname', $config)) { - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'dbname' that names the database instance."); - } - - if (! array_key_exists('password', $config)) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'password' for login credentials."); - } - - if (! array_key_exists('username', $config)) { - /** - * @see Zend_Db_Adapter_Exception - */ - require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'username' for login credentials."); - } - } - - /** - * Returns the underlying database connection object or resource. - * If not presently connected, this initiates the connection. - * - * @return object|resource|null - */ - public function getConnection() - { - $this->_connect(); - return $this->_connection; - } - - /** - * Returns the profiler for this adapter. - * - * @return Zend_Db_Profiler - */ - public function getProfiler() - { - return $this->_profiler; - } - - /** - * Prepares and executes an SQL statement with bound data. - * - * @param mixed $sql The SQL statement with placeholders. - * May be a string or Zend_Db_Select. - * @param mixed $bind An array of data to bind to the placeholders. - * @return Zend_Db_Statement_Interface - */ - public function query($sql, $bind = array()) - { - // connect to the database if needed - $this->_connect(); - - // is the $sql a Zend_Db_Select object? - if ($sql instanceof Zend_Db_Select) { - $sql = $sql->__toString(); - } - - // make sure $bind to an array; - // don't use (array) typecasting because - // because $bind may be a Zend_Db_Expr object - if (!is_array($bind)) { - $bind = array($bind); - } - - // prepare and execute the statement with profiling - $stmt = $this->prepare($sql); - $stmt->execute($bind); - - // return the results embedded in the prepared statement object - $stmt->setFetchMode($this->_fetchMode); - return $stmt; - } - - /** - * Leave autocommit mode and begin a transaction. - * - * @return bool True - */ - public function beginTransaction() - { - $this->_connect(); - $q = $this->_profiler->queryStart('begin', Zend_Db_Profiler::TRANSACTION); - $this->_beginTransaction(); - $this->_profiler->queryEnd($q); - return true; - } - - /** - * Commit a transaction and return to autocommit mode. - * - * @return bool True - */ - public function commit() - { - $this->_connect(); - $q = $this->_profiler->queryStart('commit', Zend_Db_Profiler::TRANSACTION); - $this->_commit(); - $this->_profiler->queryEnd($q); - return true; - } - - /** - * Roll back a transaction and return to autocommit mode. - * - * @return bool True - */ - public function rollBack() - { - $this->_connect(); - $q = $this->_profiler->queryStart('rollback', Zend_Db_Profiler::TRANSACTION); - $this->_rollBack(); - $this->_profiler->queryEnd($q); - return true; - } - - /** - * Inserts a table row with specified data. - * - * @param mixed $table The table to insert data into. - * @param array $bind Column-value pairs. - * @return int The number of affected rows. - */ - public function insert($table, array $bind) - { - // extract and quote col names from the array keys - $cols = array(); - $vals = array(); - foreach ($bind as $col => $val) { - $cols[] = $this->quoteIdentifier($col, true); - if ($val instanceof Zend_Db_Expr) { - $vals[] = $val->__toString(); - unset($bind[$col]); - } else { - $vals[] = '?'; - } - } - - // build the statement - $sql = "INSERT INTO " - . $this->quoteIdentifier($table, true) - . ' (' . implode(', ', $cols) . ') ' - . 'VALUES (' . implode(', ', $vals) . ')'; - - // execute the statement and return the number of affected rows - $stmt = $this->query($sql, array_values($bind)); - $result = $stmt->rowCount(); - return $result; - } - - /** - * Updates table rows with specified data based on a WHERE clause. - * - * @param mixed $table The table to update. - * @param array $bind Column-value pairs. - * @param mixed $where UPDATE WHERE clause(s). - * @return int The number of affected rows. - */ - public function update($table, array $bind, $where = '') - { - /** - * Build "col = ?" pairs for the statement, - * except for Zend_Db_Expr which is treated literally. - */ - $set = array(); - foreach ($bind as $col => $val) { - if ($val instanceof Zend_Db_Expr) { - $val = $val->__toString(); - unset($bind[$col]); - } else { - $val = '?'; - } - $set[] = $this->quoteIdentifier($col, true) . ' = ' . $val; - } - - $where = $this->_whereExpr($where); - - /** - * Build the UPDATE statement - */ - $sql = "UPDATE " - . $this->quoteIdentifier($table, true) - . ' SET ' . implode(', ', $set) - . (($where) ? " WHERE $where" : ''); - - /** - * Execute the statement and return the number of affected rows - */ - $stmt = $this->query($sql, array_values($bind)); - $result = $stmt->rowCount(); - return $result; - } - - /** - * Deletes table rows based on a WHERE clause. - * - * @param mixed $table The table to update. - * @param mixed $where DELETE WHERE clause(s). - * @return int The number of affected rows. - */ - public function delete($table, $where = '') - { - $where = $this->_whereExpr($where); - - /** - * Build the DELETE statement - */ - $sql = "DELETE FROM " - . $this->quoteIdentifier($table, true) - . (($where) ? " WHERE $where" : ''); - - /** - * Execute the statement and return the number of affected rows - */ - $stmt = $this->query($sql); - $result = $stmt->rowCount(); - return $result; - } - - /** - * Convert an array, string, or Zend_Db_Expr object - * into a string to put in a WHERE clause. - * - * @param mixed $where - * @return string - */ - protected function _whereExpr($where) - { - if (empty($where)) { - return $where; - } - if (!is_array($where)) { - $where = array($where); - } - foreach ($where as &$term) { - if ($term instanceof Zend_Db_Expr) { - $term = $term->__toString(); - } - $term = '(' . $term . ')'; - } - $where = implode(' AND ', $where); - return $where; - } - - /** - * Creates and returns a new Zend_Db_Select object for this adapter. - * - * @return Zend_Db_Select - */ - public function select() - { - return new Zend_Db_Select($this); - } - - /** - * Get the fetch mode. - * - * @return int - */ - public function getFetchMode() - { - return $this->_fetchMode; - } - - /** - * Fetches all SQL result rows as a sequential array. - * Uses the current fetchMode for the adapter. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return array - */ - public function fetchAll($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $result = $stmt->fetchAll($this->_fetchMode); - return $result; - } - - /** - * Fetches all SQL result rows as an associative array. - * - * The first column is the key, the entire row array is the - * value. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return string - */ - public function fetchAssoc($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $data = array(); - while ($row = $stmt->fetch($this->_fetchMode)) { - $tmp = array_values(array_slice($row, 0, 1)); - $data[$tmp[0]] = $row; - } - return $data; - } - - /** - * Fetches the first column of all SQL result rows as an array. - * - * The first column in each row is used as the array key. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return array - */ - public function fetchCol($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $result = $stmt->fetchAll(Zend_Db::FETCH_COLUMN, 0); - return $result; - } - - /** - * Fetches all SQL result rows as an array of key-value pairs. - * - * The first column is the key, the second column is the - * value. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return string - */ - public function fetchPairs($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $data = array(); - while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) { - $data[$row[0]] = $row[1]; - } - return $data; - } - - /** - * Fetches the first column of the first row of the SQL result. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return string - */ - public function fetchOne($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $result = $stmt->fetchColumn(0); - return $result; - } - - /** - * Fetches the first row of the SQL result. - * Uses the current fetchMode for the adapter. - * - * @param string|Zend_Db_Select $sql An SQL SELECT statement. - * @param mixed $bind Data to bind into SELECT placeholders. - * @return array - */ - public function fetchRow($sql, $bind = array()) - { - $stmt = $this->query($sql, $bind); - $result = $stmt->fetch($this->_fetchMode); - return $result; - } - - /** - * Quote a raw string. - * - * @param string $value Raw string - * @return string Quoted string - */ - protected function _quote($value) - { - if (is_numeric($value)) { - return $value; - } - return "'" . addcslashes($value, "\000\n\r\\'\"\032") . "'"; - } - - /** - * Safely quotes a value for an SQL statement. - * - * If an array is passed as the value, the array values are quoted - * and then returned as a comma-separated string. - * - * @param mixed $value The value to quote. - * @return mixed An SQL-safe quoted value (or string of separated values). - */ - public function quote($value) - { - $this->_connect(); - - if ($value instanceof Zend_Db_Expr) { - return $value->__toString(); - } - - if (is_array($value)) { - foreach ($value as &$val) { - $val = $this->quote($val); - } - return implode(', ', $value); - } - - return $this->_quote($value); - } - - /** - * Quotes a value and places into a piece of text at a placeholder. - * - * The placeholder is a question-mark; all placeholders will be replaced - * with the quoted value. For example: - * - * - * $text = "WHERE date < ?"; - * $date = "2005-01-02"; - * $safe = $sql->quoteInto($text, $date); - * // $safe = "WHERE date < '2005-01-02'" - * - * - * @param string $text The text with a placeholder. - * @param mixed $value The value to quote. - * @return mixed An SQL-safe quoted value placed into the orignal text. - */ - public function quoteInto($text, $value) - { - return str_replace('?', $this->quote($value), $text); - } - - /** - * Quotes an identifier. - * - * Accepts a string representing a qualified indentifier. For Example: - * - * $adapter->quoteIdentifier('myschema.mytable') - * - * Returns: "myschema"."mytable" - * - * Or, an array of one or more identifiers that may form a qualified identifier: - * - * $adapter->quoteIdentifier(array('myschema','my.table')) - * - * Returns: "myschema"."my.table" - * - * The actual quote character surrounding the identifiers may vary depending on - * the adapter. - * - * @param string|array|Zend_Db_Expr $ident The identifier. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier. - */ - public function quoteIdentifier($ident, $auto=false) - { - return $this->_quoteIdentifierAs($ident, null, $auto); - } - - /** - * Quote a column identifier and alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An alias for the column. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - public function quoteColumnAs($ident, $alias, $auto=false) - { - return $this->_quoteIdentifierAs($ident, $alias, $auto); - } - - /** - * Quote a table identifier and alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An alias for the table. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - public function quoteTableAs($ident, $alias, $auto=false) - { - return $this->_quoteIdentifierAs($ident, $alias, $auto); - } - - /** - * Quote an identifier and an optional alias. - * - * @param string|array|Zend_Db_Expr $ident The identifier or expression. - * @param string $alias An optional alias. - * @param string $as The string to add between the identifier/expression and the alias. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - protected function _quoteIdentifierAs($ident, $alias = null, $auto = false, $as = ' AS ') - { - if ($ident instanceof Zend_Db_Expr) { - $quoted = $ident->__toString(); - } else { - if (is_string($ident)) { - $ident = explode('.', $ident); - } - if (is_array($ident)) { - $segments = array(); - foreach ($ident as $segment) { - if ($segment instanceof Zend_Db_Expr) { - $segments[] = $segment->__toString(); - } else { - $segments[] = $this->_quoteIdentifier($segment, $auto); - } - } - if ($alias !== null && end($ident) == $alias) { - $alias = null; - } - $quoted = implode('.', $segments); - } else { - $quoted = $this->_quoteIdentifier($ident, $auto); - } - } - if ($alias !== null) { - $quoted .= $as . $this->_quoteIdentifier($alias, $auto); - } - return $quoted; - } - - /** - * Quote an identifier. - * - * @param string $value The identifier or expression. - * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. - * @return string The quoted identifier and alias. - */ - protected function _quoteIdentifier($value, $auto=false) - { - if ($auto === false || $this->_autoQuoteIdentifiers === true) { - $q = $this->getQuoteIdentifierSymbol(); - return ($q . str_replace("$q", "$q$q", $value) . $q); - } - return $value; - } - - /** - * Returns the symbol the adapter uses for delimited identifiers. - * - * @return string - */ - public function getQuoteIdentifierSymbol() - { - return '"'; - } - - /** - * Return the most recent value from the specified sequence in the database. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return integer - */ - public function lastSequenceId($sequenceName) - { - return null; - } - - /** - * Generate a new value from the specified sequence in the database, and return it. - * This is supported only on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. - * - * @param string $sequenceName - * @return integer - */ - public function nextSequenceId($sequenceName) - { - return null; - } - - /** - * Helper method to change the case of the strings used - * when returning result sets in FETCH_ASSOC and FETCH_BOTH - * modes. - * - * This is not intended to be used by application code, - * but the method must be public so the Statement class - * can invoke it. - * - * @param string $key - * @returns string - */ - public function foldCase($key) - { - switch ($this->_caseFolding) { - case Zend_Db::CASE_LOWER: - return strtolower((string) $key); - case Zend_Db::CASE_UPPER: - return strtoupper((string) $key); - case Zend_Db::CASE_NATURAL: - default: - return (string) $key; - } - } - - /** - * Abstract Methods - */ - - /** - * Returns a list of the tables in the database. - * - * @return array - */ - abstract public function listTables(); - - /** - * Returns the column descriptions for a table. - * - * The return value is an associative array keyed by the column name, - * as returned by the RDBMS. - * - * The value of each array element is an associative array - * with the following keys: - * - * SCHEMA_NAME => string; name of database or schema - * TABLE_NAME => string; - * COLUMN_NAME => string; column name - * COLUMN_POSITION => number; ordinal position of column in table - * DATA_TYPE => string; SQL datatype name of column - * DEFAULT => string; default expression of column, null if none - * NULLABLE => boolean; true if column can have nulls - * LENGTH => number; length of CHAR/VARCHAR - * SCALE => number; scale of NUMERIC/DECIMAL - * PRECISION => number; precision of NUMERIC/DECIMAL - * UNSIGNED => boolean; unsigned property of an integer type - * PRIMARY => boolean; true if column is part of the primary key - * PRIMARY_POSITION => integer; position of column in primary key - * - * @param string $tableName - * @param string $schemaName OPTIONAL - * @return array - */ - abstract public function describeTable($tableName, $schemaName = null); - - /** - * Creates a connection to the database. - * - * @return void - */ - abstract protected function _connect(); - - /** - * Force the connection to close. - * - * @return void - */ - abstract public function closeConnection(); - - /** - * Prepare a statement and return a PDOStatement-like object. - * - * @param string|Zend_Db_Select $sql SQL query - * @return Zend_Db_Statment|PDOStatement - */ - abstract public function prepare($sql); - - /** - * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. - * - * As a convention, on RDBMS brands that support sequences - * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence - * from the arguments and returns the last id generated by that sequence. - * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method - * returns the last value generated for such a column, and the table name - * argument is disregarded. - * - * @param string $tableName OPTIONAL Name of table. - * @param string $primaryKey OPTIONAL Name of primary key column. - * @return integer - */ - abstract public function lastInsertId($tableName = null, $primaryKey = null); - - /** - * Begin a transaction. - */ - abstract protected function _beginTransaction(); - - /** - * Commit a transaction. - */ - abstract protected function _commit(); - - /** - * Roll-back a transaction. - */ - abstract protected function _rollBack(); - - /** - * Set the fetch mode. - * - * @param integer $mode - */ - abstract public function setFetchMode($mode); - - /** - * Adds an adapter-specific LIMIT clause to the SELECT statement. - * - * @param mixed $sql - * @param integer $count - * @param integer $offset - * @return string - */ - abstract public function limit($sql, $count, $offset = 0); - - /** - * Check if the adapter supports real SQL parameters. - * - * @param string $type 'positional' or 'named' - * @return bool - */ - abstract public function supportsParameters($type); - -} + (string) The name of the database to user + * username => (string) Connect to the database as this username. + * password => (string) Password associated with the username. + * host => (string) What host to connect to, defaults to localhost + * + * Some options are used on a case-by-case basis by adapters: + * + * port => (string) The port of the database + * persistent => (boolean) Whether to use a persistent connection or not, defaults to false + * protocol => (string) The network protocol, defaults to TCPIP + * caseFolding => (int) + * + * @param array $config An array of configuration keys. + * @throws Zend_Db_Adapter_Exception + */ + public function __construct(array $config = array()) + { + $this->_checkRequiredOptions($config); + + $options = array( + Zend_Db::CASE_FOLDING => $this->_caseFolding, + Zend_DB::AUTO_QUOTE_IDENTIFIERS => $this->_autoQuoteIdentifiers + ); + $driver_options = array(); + + // normalize the config and merge it with the defaults + if (array_key_exists('options', $config)) { + // can't use array_merge() because keys might be integers + foreach ((array) $config['options'] as $key => $value) { + $options[$key] = $value; + } + } + if (array_key_exists('driver_options', $config)) { + // can't use array_merge() because keys might be integers + foreach ((array) $config['driver_options'] as $key => $value) { + $driver_options[$key] = $value; + } + } + $this->_config = array_merge($this->_config, $config); + $this->_config['options'] = $options; + $this->_config['driver_options'] = $driver_options; + + // obtain the case setting, if there is one + if (array_key_exists(Zend_Db::CASE_FOLDING, $options)) { + $case = (int) $options[Zend_Db::CASE_FOLDING]; + switch ($case) { + case Zend_Db::CASE_LOWER: + case Zend_Db::CASE_UPPER: + case Zend_Db::CASE_NATURAL: + $this->_caseFolding = $case; + break; + default: + require_once 'Zend/Db/Adapter/Exception.php'; + throw new Zend_Db_Adapter_Exception("Case must be one of the following constants: Zend_Db::CASE_NATURAL, Zend_Db::CASE_LOWER, Zend_Db::CASE_UPPER"); + } + } + + // obtain quoting property if there is one + if (array_key_exists(Zend_Db::AUTO_QUOTE_IDENTIFIERS, $options)) { + $this->_autoQuoteIdentifiers = (bool) $options[Zend_Db::AUTO_QUOTE_IDENTIFIERS]; + } + + // create a profiler object + $enabled = false; + if (array_key_exists('profiler', $this->_config)) { + $enabled = (bool) $this->_config['profiler']; + unset($this->_config['profiler']); + } + + $this->_profiler = new Zend_Db_Profiler($enabled); + } + + /** + * Check for config options that are mandatory. + * Throw exceptions if any are missing. + * + * @param array $config + * @throws Zend_Db_Adapter_Exception + */ + protected function _checkRequiredOptions(array $config) + { + // we need at least a dbname + if (! array_key_exists('dbname', $config)) { + require_once 'Zend/Db/Adapter/Exception.php'; + throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'dbname' that names the database instance."); + } + + if (! array_key_exists('password', $config)) { + /** + * @see Zend_Db_Adapter_Exception + */ + require_once 'Zend/Db/Adapter/Exception.php'; + throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'password' for login credentials."); + } + + if (! array_key_exists('username', $config)) { + /** + * @see Zend_Db_Adapter_Exception + */ + require_once 'Zend/Db/Adapter/Exception.php'; + throw new Zend_Db_Adapter_Exception("Configuration array must have a key for 'username' for login credentials."); + } + } + + /** + * Returns the underlying database connection object or resource. + * If not presently connected, this initiates the connection. + * + * @return object|resource|null + */ + public function getConnection() + { + $this->_connect(); + return $this->_connection; + } + + /** + * Returns the profiler for this adapter. + * + * @return Zend_Db_Profiler + */ + public function getProfiler() + { + return $this->_profiler; + } + + /** + * Prepares and executes an SQL statement with bound data. + * + * @param mixed $sql The SQL statement with placeholders. + * May be a string or Zend_Db_Select. + * @param mixed $bind An array of data to bind to the placeholders. + * @return Zend_Db_Statement_Interface + */ + public function query($sql, $bind = array()) + { + // connect to the database if needed + $this->_connect(); + + // is the $sql a Zend_Db_Select object? + if ($sql instanceof Zend_Db_Select) { + $sql = $sql->__toString(); + } + + // make sure $bind to an array; + // don't use (array) typecasting because + // because $bind may be a Zend_Db_Expr object + if (!is_array($bind)) { + $bind = array($bind); + } + + // prepare and execute the statement with profiling + $stmt = $this->prepare($sql); + $stmt->execute($bind); + + // return the results embedded in the prepared statement object + $stmt->setFetchMode($this->_fetchMode); + return $stmt; + } + + /** + * Leave autocommit mode and begin a transaction. + * + * @return bool True + */ + public function beginTransaction() + { + $this->_connect(); + $q = $this->_profiler->queryStart('begin', Zend_Db_Profiler::TRANSACTION); + $this->_beginTransaction(); + $this->_profiler->queryEnd($q); + return true; + } + + /** + * Commit a transaction and return to autocommit mode. + * + * @return bool True + */ + public function commit() + { + $this->_connect(); + $q = $this->_profiler->queryStart('commit', Zend_Db_Profiler::TRANSACTION); + $this->_commit(); + $this->_profiler->queryEnd($q); + return true; + } + + /** + * Roll back a transaction and return to autocommit mode. + * + * @return bool True + */ + public function rollBack() + { + $this->_connect(); + $q = $this->_profiler->queryStart('rollback', Zend_Db_Profiler::TRANSACTION); + $this->_rollBack(); + $this->_profiler->queryEnd($q); + return true; + } + + /** + * Inserts a table row with specified data. + * + * @param mixed $table The table to insert data into. + * @param array $bind Column-value pairs. + * @return int The number of affected rows. + */ + public function insert($table, array $bind) + { + // extract and quote col names from the array keys + $cols = array(); + $vals = array(); + foreach ($bind as $col => $val) { + $cols[] = $this->quoteIdentifier($col, true); + if ($val instanceof Zend_Db_Expr) { + $vals[] = $val->__toString(); + unset($bind[$col]); + } else { + $vals[] = '?'; + } + } + + // build the statement + $sql = "INSERT INTO " + . $this->quoteIdentifier($table, true) + . ' (' . implode(', ', $cols) . ') ' + . 'VALUES (' . implode(', ', $vals) . ')'; + + // execute the statement and return the number of affected rows + $stmt = $this->query($sql, array_values($bind)); + $result = $stmt->rowCount(); + return $result; + } + + /** + * Updates table rows with specified data based on a WHERE clause. + * + * @param mixed $table The table to update. + * @param array $bind Column-value pairs. + * @param mixed $where UPDATE WHERE clause(s). + * @return int The number of affected rows. + */ + public function update($table, array $bind, $where = '') + { + /** + * Build "col = ?" pairs for the statement, + * except for Zend_Db_Expr which is treated literally. + */ + $set = array(); + foreach ($bind as $col => $val) { + if ($val instanceof Zend_Db_Expr) { + $val = $val->__toString(); + unset($bind[$col]); + } else { + $val = '?'; + } + $set[] = $this->quoteIdentifier($col, true) . ' = ' . $val; + } + + $where = $this->_whereExpr($where); + + /** + * Build the UPDATE statement + */ + $sql = "UPDATE " + . $this->quoteIdentifier($table, true) + . ' SET ' . implode(', ', $set) + . (($where) ? " WHERE $where" : ''); + + /** + * Execute the statement and return the number of affected rows + */ + $stmt = $this->query($sql, array_values($bind)); + $result = $stmt->rowCount(); + return $result; + } + + /** + * Deletes table rows based on a WHERE clause. + * + * @param mixed $table The table to update. + * @param mixed $where DELETE WHERE clause(s). + * @return int The number of affected rows. + */ + public function delete($table, $where = '') + { + $where = $this->_whereExpr($where); + + /** + * Build the DELETE statement + */ + $sql = "DELETE FROM " + . $this->quoteIdentifier($table, true) + . (($where) ? " WHERE $where" : ''); + + /** + * Execute the statement and return the number of affected rows + */ + $stmt = $this->query($sql); + $result = $stmt->rowCount(); + return $result; + } + + /** + * Convert an array, string, or Zend_Db_Expr object + * into a string to put in a WHERE clause. + * + * @param mixed $where + * @return string + */ + protected function _whereExpr($where) + { + if (empty($where)) { + return $where; + } + if (!is_array($where)) { + $where = array($where); + } + foreach ($where as &$term) { + if ($term instanceof Zend_Db_Expr) { + $term = $term->__toString(); + } + $term = '(' . $term . ')'; + } + $where = implode(' AND ', $where); + return $where; + } + + /** + * Creates and returns a new Zend_Db_Select object for this adapter. + * + * @return Zend_Db_Select + */ + public function select() + { + return new Zend_Db_Select($this); + } + + /** + * Get the fetch mode. + * + * @return int + */ + public function getFetchMode() + { + return $this->_fetchMode; + } + + /** + * Fetches all SQL result rows as a sequential array. + * Uses the current fetchMode for the adapter. + * + * @param string|Zend_Db_Select $sql An SQL SELECT statement. + * @param mixed $bind Data to bind into SELECT placeholders. + * @return array + */ + public function fetchAll($sql, $bind = array()) + { + $stmt = $this->query($sql, $bind); + $result = $stmt->fetchAll($this->_fetchMode); + return $result; + } + + /** + * Fetches all SQL result rows as an associative array. + * + * The first column is the key, the entire row array is the + * value. + * + * @param string|Zend_Db_Select $sql An SQL SELECT statement. + * @param mixed $bind Data to bind into SELECT placeholders. + * @return string + */ + public function fetchAssoc($sql, $bind = array()) + { + $stmt = $this->query($sql, $bind); + $data = array(); + while ($row = $stmt->fetch($this->_fetchMode)) { + $tmp = array_values(array_slice($row, 0, 1)); + $data[$tmp[0]] = $row; + } + return $data; + } + + /** + * Fetches the first column of all SQL result rows as an array. + * + * The first column in each row is used as the array key. + * + * @param string|Zend_Db_Select $sql An SQL SELECT statement. + * @param mixed $bind Data to bind into SELECT placeholders. + * @return array + */ + public function fetchCol($sql, $bind = array()) + { + $stmt = $this->query($sql, $bind); + $result = $stmt->fetchAll(Zend_Db::FETCH_COLUMN, 0); + return $result; + } + + /** + * Fetches all SQL result rows as an array of key-value pairs. + * + * The first column is the key, the second column is the + * value. + * + * @param string|Zend_Db_Select $sql An SQL SELECT statement. + * @param mixed $bind Data to bind into SELECT placeholders. + * @return string + */ + public function fetchPairs($sql, $bind = array()) + { + $stmt = $this->query($sql, $bind); + $data = array(); + while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) { + $data[$row[0]] = $row[1]; + } + return $data; + } + + /** + * Fetches the first column of the first row of the SQL result. + * + * @param string|Zend_Db_Select $sql An SQL SELECT statement. + * @param mixed $bind Data to bind into SELECT placeholders. + * @return string + */ + public function fetchOne($sql, $bind = array()) + { + $stmt = $this->query($sql, $bind); + $result = $stmt->fetchColumn(0); + return $result; + } + + /** + * Fetches the first row of the SQL result. + * Uses the current fetchMode for the adapter. + * + * @param string|Zend_Db_Select $sql An SQL SELECT statement. + * @param mixed $bind Data to bind into SELECT placeholders. + * @return array + */ + public function fetchRow($sql, $bind = array()) + { + $stmt = $this->query($sql, $bind); + $result = $stmt->fetch($this->_fetchMode); + return $result; + } + + /** + * Quote a raw string. + * + * @param string $value Raw string + * @return string Quoted string + */ + protected function _quote($value) + { + if (is_numeric($value)) { + return $value; + } + return "'" . addcslashes($value, "\000\n\r\\'\"\032") . "'"; + } + + /** + * Safely quotes a value for an SQL statement. + * + * If an array is passed as the value, the array values are quoted + * and then returned as a comma-separated string. + * + * @param mixed $value The value to quote. + * @return mixed An SQL-safe quoted value (or string of separated values). + */ + public function quote($value) + { + $this->_connect(); + + if ($value instanceof Zend_Db_Expr) { + return $value->__toString(); + } + + if (is_array($value)) { + foreach ($value as &$val) { + $val = $this->quote($val); + } + return implode(', ', $value); + } + + return $this->_quote($value); + } + + /** + * Quotes a value and places into a piece of text at a placeholder. + * + * The placeholder is a question-mark; all placeholders will be replaced + * with the quoted value. For example: + * + * + * $text = "WHERE date < ?"; + * $date = "2005-01-02"; + * $safe = $sql->quoteInto($text, $date); + * // $safe = "WHERE date < '2005-01-02'" + * + * + * @param string $text The text with a placeholder. + * @param mixed $value The value to quote. + * @return mixed An SQL-safe quoted value placed into the orignal text. + */ + public function quoteInto($text, $value) + { + return str_replace('?', $this->quote($value), $text); + } + + /** + * Quotes an identifier. + * + * Accepts a string representing a qualified indentifier. For Example: + * + * $adapter->quoteIdentifier('myschema.mytable') + * + * Returns: "myschema"."mytable" + * + * Or, an array of one or more identifiers that may form a qualified identifier: + * + * $adapter->quoteIdentifier(array('myschema','my.table')) + * + * Returns: "myschema"."my.table" + * + * The actual quote character surrounding the identifiers may vary depending on + * the adapter. + * + * @param string|array|Zend_Db_Expr $ident The identifier. + * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. + * @return string The quoted identifier. + */ + public function quoteIdentifier($ident, $auto=false) + { + return $this->_quoteIdentifierAs($ident, null, $auto); + } + + /** + * Quote a column identifier and alias. + * + * @param string|array|Zend_Db_Expr $ident The identifier or expression. + * @param string $alias An alias for the column. + * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. + * @return string The quoted identifier and alias. + */ + public function quoteColumnAs($ident, $alias, $auto=false) + { + return $this->_quoteIdentifierAs($ident, $alias, $auto); + } + + /** + * Quote a table identifier and alias. + * + * @param string|array|Zend_Db_Expr $ident The identifier or expression. + * @param string $alias An alias for the table. + * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. + * @return string The quoted identifier and alias. + */ + public function quoteTableAs($ident, $alias, $auto=false) + { + return $this->_quoteIdentifierAs($ident, $alias, $auto); + } + + /** + * Quote an identifier and an optional alias. + * + * @param string|array|Zend_Db_Expr $ident The identifier or expression. + * @param string $alias An optional alias. + * @param string $as The string to add between the identifier/expression and the alias. + * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. + * @return string The quoted identifier and alias. + */ + protected function _quoteIdentifierAs($ident, $alias = null, $auto = false, $as = ' AS ') + { + if ($ident instanceof Zend_Db_Expr) { + $quoted = $ident->__toString(); + } else { + if (is_string($ident)) { + $ident = explode('.', $ident); + } + if (is_array($ident)) { + $segments = array(); + foreach ($ident as $segment) { + if ($segment instanceof Zend_Db_Expr) { + $segments[] = $segment->__toString(); + } else { + $segments[] = $this->_quoteIdentifier($segment, $auto); + } + } + if ($alias !== null && end($ident) == $alias) { + $alias = null; + } + $quoted = implode('.', $segments); + } else { + $quoted = $this->_quoteIdentifier($ident, $auto); + } + } + if ($alias !== null) { + $quoted .= $as . $this->_quoteIdentifier($alias, $auto); + } + return $quoted; + } + + /** + * Quote an identifier. + * + * @param string $value The identifier or expression. + * @param boolean $auto If true, heed the AUTO_QUOTE_IDENTIFIERS config option. + * @return string The quoted identifier and alias. + */ + protected function _quoteIdentifier($value, $auto=false) + { + if ($auto === false || $this->_autoQuoteIdentifiers === true) { + $q = $this->getQuoteIdentifierSymbol(); + return ($q . str_replace("$q", "$q$q", $value) . $q); + } + return $value; + } + + /** + * Returns the symbol the adapter uses for delimited identifiers. + * + * @return string + */ + public function getQuoteIdentifierSymbol() + { + return '"'; + } + + /** + * Return the most recent value from the specified sequence in the database. + * This is supported only on RDBMS brands that support sequences + * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. + * + * @param string $sequenceName + * @return integer + */ + public function lastSequenceId($sequenceName) + { + return null; + } + + /** + * Generate a new value from the specified sequence in the database, and return it. + * This is supported only on RDBMS brands that support sequences + * (e.g. Oracle, PostgreSQL, DB2). Other RDBMS brands return null. + * + * @param string $sequenceName + * @return integer + */ + public function nextSequenceId($sequenceName) + { + return null; + } + + /** + * Helper method to change the case of the strings used + * when returning result sets in FETCH_ASSOC and FETCH_BOTH + * modes. + * + * This is not intended to be used by application code, + * but the method must be public so the Statement class + * can invoke it. + * + * @param string $key + * @returns string + */ + public function foldCase($key) + { + switch ($this->_caseFolding) { + case Zend_Db::CASE_LOWER: + return strtolower((string) $key); + case Zend_Db::CASE_UPPER: + return strtoupper((string) $key); + case Zend_Db::CASE_NATURAL: + default: + return (string) $key; + } + } + + /** + * Abstract Methods + */ + + /** + * Returns a list of the tables in the database. + * + * @return array + */ + abstract public function listTables(); + + /** + * Returns the column descriptions for a table. + * + * The return value is an associative array keyed by the column name, + * as returned by the RDBMS. + * + * The value of each array element is an associative array + * with the following keys: + * + * SCHEMA_NAME => string; name of database or schema + * TABLE_NAME => string; + * COLUMN_NAME => string; column name + * COLUMN_POSITION => number; ordinal position of column in table + * DATA_TYPE => string; SQL datatype name of column + * DEFAULT => string; default expression of column, null if none + * NULLABLE => boolean; true if column can have nulls + * LENGTH => number; length of CHAR/VARCHAR + * SCALE => number; scale of NUMERIC/DECIMAL + * PRECISION => number; precision of NUMERIC/DECIMAL + * UNSIGNED => boolean; unsigned property of an integer type + * PRIMARY => boolean; true if column is part of the primary key + * PRIMARY_POSITION => integer; position of column in primary key + * + * @param string $tableName + * @param string $schemaName OPTIONAL + * @return array + */ + abstract public function describeTable($tableName, $schemaName = null); + + /** + * Creates a connection to the database. + * + * @return void + */ + abstract protected function _connect(); + + /** + * Force the connection to close. + * + * @return void + */ + abstract public function closeConnection(); + + /** + * Prepare a statement and return a PDOStatement-like object. + * + * @param string|Zend_Db_Select $sql SQL query + * @return Zend_Db_Statment|PDOStatement + */ + abstract public function prepare($sql); + + /** + * Gets the last ID generated automatically by an IDENTITY/AUTOINCREMENT column. + * + * As a convention, on RDBMS brands that support sequences + * (e.g. Oracle, PostgreSQL, DB2), this method forms the name of a sequence + * from the arguments and returns the last id generated by that sequence. + * On RDBMS brands that support IDENTITY/AUTOINCREMENT columns, this method + * returns the last value generated for such a column, and the table name + * argument is disregarded. + * + * @param string $tableName OPTIONAL Name of table. + * @param string $primaryKey OPTIONAL Name of primary key column. + * @return integer + */ + abstract public function lastInsertId($tableName = null, $primaryKey = null); + + /** + * Begin a transaction. + */ + abstract protected function _beginTransaction(); + + /** + * Commit a transaction. + */ + abstract protected function _commit(); + + /** + * Roll-back a transaction. + */ + abstract protected function _rollBack(); + + /** + * Set the fetch mode. + * + * @param integer $mode + */ + abstract public function setFetchMode($mode); + + /** + * Adds an adapter-specific LIMIT clause to the SELECT statement. + * + * @param mixed $sql + * @param integer $count + * @param integer $offset + * @return string + */ + abstract public function limit($sql, $count, $offset = 0); + + /** + * Check if the adapter supports real SQL parameters. + * + * @param string $type 'positional' or 'named' + * @return bool + */ + abstract public function supportsParameters($type); + +} diff --git a/libs/jquery/jquery.scrollTo-min.js b/libs/jquery/jquery.scrollTo-min.js index 53238d021b..58512e9f25 100644 --- a/libs/jquery/jquery.scrollTo-min.js +++ b/libs/jquery/jquery.scrollTo-min.js @@ -1,9 +1,9 @@ -/** - * jQuery.ScrollTo - Easy element scrolling using jQuery. - * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com - * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). - * Date: 1/2/2008 - * @author Ariel Flesler - * @version 1.3 - */ +/** + * jQuery.ScrollTo - Easy element scrolling using jQuery. + * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com + * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). + * Date: 1/2/2008 + * @author Ariel Flesler + * @version 1.3 + */ ;(function($){$.scrollTo=function(a,b,c){$($.browser.safari?'body':'html').scrollTo(a,b,c)};$.scrollTo.defaults={axis:'y',duration:1};$.fn.scrollTo=function(c,d,f){if(typeof d=='object'){f=d;d=0}f=$.extend({},$.scrollTo.defaults,f);if(!d)d=f.speed||f.duration;f.queue=f.queue&&f.axis.length==2;if(f.queue)d=Math.ceil(d/2);if(typeof f.offset=='number')f.offset={left:f.offset,top:f.offset};return this.each(function(){var e=this,$e=$(e),t=c,toff,j={},w=$e.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t={top:t,left:t};break}t=$(t,this);case'object':if(t.is||t.style)toff=(t=$(t)).offset()}$.each(f.axis.split(''),parse);animate(f.onAfter);function parse(i,a){var P=a=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,u=e[k];if(toff){j[k]=toff[p]+(w?0:u-$e.offset()[p]);if(f.margin){j[k]-=parseInt(t.css('margin'+P))||0;j[k]-=parseInt(t.css('border'+P+'Width'))||0}if(f.offset&&f.offset[p])j[k]+=f.offset[p]}else{j[k]=t[p]}if(/^\d+$/.test(j[k]))j[k]=j[k]<=0?0:Math.min(j[k],max(a));if(!i&&f.queue){if(u!=j[k])animate(f.onAfterFirst);delete j[k]}};function animate(a){$e.animate(j,d,f.easing,function(){if(a)a.call(this,$e,j,t)})};function max(a){var b=w?$.browser.opera?document.body:document.documentElement:e,D=a=='x'?'Width':'Height';return b['scroll'+D]-b['client'+D]}})}})(jQuery); \ No newline at end of file diff --git a/libs/jquery/original lib/jquery.blockUI.js b/libs/jquery/original lib/jquery.blockUI.js index 2b0a360805..730d0c83d0 100644 --- a/libs/jquery/original lib/jquery.blockUI.js +++ b/libs/jquery/original lib/jquery.blockUI.js @@ -1,361 +1,361 @@ -/* - * jQuery blockUI plugin - * Version 1.33 (09/14/2007) - * @requires jQuery v1.1.1 - * - * $Id$ - * - * Examples at: http://malsup.com/jquery/block/ - * Copyright (c) 2007 M. Alsup - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - (function($) { -/** - * blockUI provides a mechanism for blocking user interaction with a page (or parts of a page). - * This can be an effective way to simulate synchronous behavior during ajax operations without - * locking the browser. It will prevent user operations for the current page while it is - * active ane will return the page to normal when it is deactivate. blockUI accepts the following - * two optional arguments: - * - * message (String|Element|jQuery): The message to be displayed while the UI is blocked. The message - * argument can be a plain text string like "Processing...", an HTML string like - * "

          Please wait...

          ", a DOM element, or a jQuery object. - * The default message is "

          Please wait...

          " - * - * css (Object): Object which contains css property/values to override the default styles of - * the message. Use this argument if you wish to override the default - * styles. The css Object should be in a format suitable for the jQuery.css - * function. For example: - * $.blockUI({ - * backgroundColor: '#ff8', - * border: '5px solid #f00, - * fontWeight: 'bold' - * }); - * - * The default blocking message used when blocking the entire page is "

          Please wait...

          " - * but this can be overridden by assigning a value to $.blockUI.defaults.pageMessage in your - * own code. For example: - * - * $.blockUI.defaults.pageMessage = "

          Bitte Wartezeit

          "; - * - * The default message styling can also be overridden. For example: - * - * $.extend($.blockUI.defaults.pageMessageCSS, { color: '#00a', backgroundColor: '#0f0' }); - * - * The default styles work well for simple messages like "Please wait", but for longer messages - * style overrides may be necessary. - * - * @example $.blockUI(); - * @desc prevent user interaction with the page (and show the default message of 'Please wait...') - * - * @example $.blockUI( { backgroundColor: '#f00', color: '#fff'} ); - * @desc prevent user interaction and override the default styles of the message to use a white on red color scheme - * - * @example $.blockUI('Processing...'); - * @desc prevent user interaction and display the message "Processing..." instead of the default message - * - * @name blockUI - * @param String|jQuery|Element message Message to display while the UI is blocked - * @param Object css Style object to control look of the message - * @cat Plugins/blockUI - */ -$.blockUI = function(msg, css, opts) { - $.blockUI.impl.install(window, msg, css, opts); -}; - -// expose version number so other plugins can interogate -$.blockUI.version = 1.33; - -/** - * unblockUI removes the UI block that was put in place by blockUI - * - * @example $.unblockUI(); - * @desc unblocks the page - * - * @name unblockUI - * @cat Plugins/blockUI - */ -$.unblockUI = function(opts) { - $.blockUI.impl.remove(window, opts); -}; - -/** - * Blocks user interaction with the selected elements. (Hat tip: Much of - * this logic comes from Brandon Aaron's bgiframe plugin. Thanks, Brandon!) - * By default, no message is displayed when blocking elements. - * - * @example $('div.special').block(); - * @desc prevent user interaction with all div elements with the 'special' class. - * - * @example $('div.special').block('Please wait'); - * @desc prevent user interaction with all div elements with the 'special' class - * and show a message over the blocked content. - * - * @name block - * @type jQuery - * @param String|jQuery|Element message Message to display while the element is blocked - * @param Object css Style object to control look of the message - * @cat Plugins/blockUI - */ -$.fn.block = function(msg, css, opts) { - return this.each(function() { - if (!this.$pos_checked) { - if ($.css(this,"position") == 'static') - this.style.position = 'relative'; - if ($.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE - this.$pos_checked = 1; - } - $.blockUI.impl.install(this, msg, css, opts); - }); -}; - -/** - * Unblocks content that was blocked by "block()" - * - * @example $('div.special').unblock(); - * @desc unblocks all div elements with the 'special' class. - * - * @name unblock - * @type jQuery - * @cat Plugins/blockUI - */ -$.fn.unblock = function(opts) { - return this.each(function() { - $.blockUI.impl.remove(this, opts); - }); -}; - -/** - * displays the first matched element in a "display box" above a page overlay. - * - * @example $('#myImage').displayBox(); - * @desc displays "myImage" element in a box - * - * @name displayBox - * @type jQuery - * @cat Plugins/blockUI - */ -$.fn.displayBox = function(css, fn, isFlash) { - var msg = this[0]; - if (!msg) return; - var $msg = $(msg); - css = css || {}; - - var w = $msg.width() || $msg.attr('width') || css.width || $.blockUI.defaults.displayBoxCSS.width; - var h = $msg.height() || $msg.attr('height') || css.height || $.blockUI.defaults.displayBoxCSS.height ; - if (w[w.length-1] == '%') { - var ww = document.documentElement.clientWidth || document.body.clientWidth; - w = parseInt(w) || 100; - w = (w * ww) / 100; - } - if (h[h.length-1] == '%') { - var hh = document.documentElement.clientHeight || document.body.clientHeight; - h = parseInt(h) || 100; - h = (h * hh) / 100; - } - - var ml = '-' + parseInt(w)/2 + 'px'; - var mt = '-' + parseInt(h)/2 + 'px'; - - // supress opacity on overlay if displaying flash content on mac/ff platform - var ua = navigator.userAgent.toLowerCase(); - var opts = { - displayMode: fn || 1, - noalpha: isFlash && /mac/.test(ua) && /firefox/.test(ua) - }; - - $.blockUI.impl.install(window, msg, { width: w, height: h, marginTop: mt, marginLeft: ml }, opts); -}; - - -// override these in your code to change the default messages and styles -$.blockUI.defaults = { - // the message displayed when blocking the entire page - pageMessage: '

          Please wait...

          ', - // the message displayed when blocking an element - elementMessage: '', // none - // styles for the overlay iframe - overlayCSS: { backgroundColor: '#fff', opacity: '0.5' }, - // styles for the message when blocking the entire page - pageMessageCSS: { width:'250px', margin:'-50px 0 0 -125px', top:'50%', left:'50%', textAlign:'center', color:'#000', backgroundColor:'#fff', border:'3px solid #aaa' }, - // styles for the message when blocking an element - elementMessageCSS: { width:'250px', padding:'10px', textAlign:'center', backgroundColor:'#fff'}, - // styles for the displayBox - displayBoxCSS: { width: '400px', height: '400px', top:'50%', left:'50%' }, - // allow body element to be stetched in ie6 - ie6Stretch: 1, - // supress tab nav from leaving blocking content? - allowTabToLeave: 0, - // Title attribute for overlay when using displayBox - closeMessage: 'Click to close', - // use fadeOut effect when unblocking (can be overridden on unblock call) - fadeOut: 1, - // fadeOut transition time in millis - fadeTime: 400 -}; - -// the gory details -$.blockUI.impl = { - box: null, - boxCallback: null, - pageBlock: null, - pageBlockEls: [], - op8: window.opera && window.opera.version() < 9, - ie6: $.browser.msie && /MSIE 6.0/.test(navigator.userAgent), - install: function(el, msg, css, opts) { - opts = opts || {}; - this.boxCallback = typeof opts.displayMode == 'function' ? opts.displayMode : null; - this.box = opts.displayMode ? msg : null; - var full = (el == window); - - // use logical settings for opacity support based on browser but allow overrides via opts arg - var noalpha = this.op8 || $.browser.mozilla && /Linux/.test(navigator.platform); - if (typeof opts.alphaOverride != 'undefined') - noalpha = opts.alphaOverride == 0 ? 1 : 0; - - if (full && this.pageBlock) this.remove(window, {fadeOut:0}); - // check to see if we were only passed the css object (a literal) - if (msg && typeof msg == 'object' && !msg.jquery && !msg.nodeType) { - css = msg; - msg = null; - } - msg = msg ? (msg.nodeType ? $(msg) : msg) : full ? $.blockUI.defaults.pageMessage : $.blockUI.defaults.elementMessage; - if (opts.displayMode) - var basecss = jQuery.extend({}, $.blockUI.defaults.displayBoxCSS); - else - var basecss = jQuery.extend({}, full ? $.blockUI.defaults.pageMessageCSS : $.blockUI.defaults.elementMessageCSS); - css = jQuery.extend(basecss, css || {}); - var f = ($.browser.msie) ? $('') - : $(''); - var w = $('
          '); - var m = full ? $('
          ') - : $(''); - w.css('position', full ? 'fixed' : 'absolute'); - if (msg) m.css(css); - if (!noalpha) w.css($.blockUI.defaults.overlayCSS); - if (this.op8) w.css({ width:''+el.clientWidth,height:''+el.clientHeight }); // lame - if ($.browser.msie) f.css('opacity','0.0'); - - $([f[0],w[0],m[0]]).appendTo(full ? 'body' : el); - - // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) - var expr = $.browser.msie && (!$.boxModel || $('object,embed', full ? null : el).length > 0); - if (this.ie6 || expr) { - // stretch content area if it's short - if (full && $.blockUI.defaults.ie6Stretch && $.boxModel) - $('html,body').css('height','100%'); - - // fix ie6 problem when blocked element has a border width - if ((this.ie6 || !$.boxModel) && !full) { - var t = this.sz(el,'borderTopWidth'), l = this.sz(el,'borderLeftWidth'); - var fixT = t ? '(0 - '+t+')' : 0; - var fixL = l ? '(0 - '+l+')' : 0; - } - - // simulate fixed position - $.each([f,w,m], function(i,o) { - var s = o[0].style; - s.position = 'absolute'; - if (i < 2) { - full ? s.setExpression('height','document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + "px"') - : s.setExpression('height','this.parentNode.offsetHeight + "px"'); - full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') - : s.setExpression('width','this.parentNode.offsetWidth + "px"'); - if (fixL) s.setExpression('left', fixL); - if (fixT) s.setExpression('top', fixT); - } - else { - if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); - s.marginTop = 0; - } - }); - } - if (opts.displayMode) { - w.css('cursor','default').attr('title', $.blockUI.defaults.closeMessage); - m.css('cursor','default'); - $([f[0],w[0],m[0]]).removeClass('blockUI').addClass('displayBox'); - $().click($.blockUI.impl.boxHandler).bind('keypress', $.blockUI.impl.boxHandler); - } - else - this.bind(1, el); - m.append(msg).show(); - if (msg.jquery) msg.show(); - if (opts.displayMode) return; - if (full) { - this.pageBlock = m[0]; - this.pageBlockEls = $(':input:enabled:visible',this.pageBlock); - setTimeout(this.focus, 20); - } - else this.center(m[0]); - }, - remove: function(el, opts) { - var o = $.extend({}, $.blockUI.defaults, opts); - this.bind(0, el); - var full = el == window; - var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el); - if (full) this.pageBlock = this.pageBlockEls = null; - - if (o.fadeOut) { - els.fadeOut(o.fadeTime, function() { - if (this.parentNode) this.parentNode.removeChild(this); - }); - } - else els.remove(); - }, - boxRemove: function(el) { - $().unbind('click',$.blockUI.impl.boxHandler).unbind('keypress', $.blockUI.impl.boxHandler); - if (this.boxCallback) - this.boxCallback(this.box); - $('body .displayBox').hide().remove(); - }, - // event handler to suppress keyboard/mouse events when blocking - handler: function(e) { - if (e.keyCode && e.keyCode == 9) { - if ($.blockUI.impl.pageBlock && !$.blockUI.defaults.allowTabToLeave) { - var els = $.blockUI.impl.pageBlockEls; - var fwd = !e.shiftKey && e.target == els[els.length-1]; - var back = e.shiftKey && e.target == els[0]; - if (fwd || back) { - setTimeout(function(){$.blockUI.impl.focus(back)},10); - return false; - } - } - } - if ($(e.target).parents('div.blockMsg').length > 0) - return true; - return $(e.target).parents().children().filter('div.blockUI').length == 0; - }, - boxHandler: function(e) { - if ((e.keyCode && e.keyCode == 27) || (e.type == 'click' && $(e.target).parents('div.blockMsg').length == 0)) - $.blockUI.impl.boxRemove(); - return true; - }, - // bind/unbind the handler - bind: function(b, el) { - var full = el == window; - // don't bother unbinding if there is nothing to unbind - if (!b && (full && !this.pageBlock || !full && !el.$blocked)) return; - if (!full) el.$blocked = b; - var $e = $(el).find('a,:input'); - $.each(['mousedown','mouseup','keydown','keypress','click'], function(i,o) { - $e[b?'bind':'unbind'](o, $.blockUI.impl.handler); - }); - }, - focus: function(back) { - if (!$.blockUI.impl.pageBlockEls) return; - var e = $.blockUI.impl.pageBlockEls[back===true ? $.blockUI.impl.pageBlockEls.length-1 : 0]; - if (e) e.focus(); - }, - center: function(el) { - var p = el.parentNode, s = el.style; - var l = ((p.offsetWidth - el.offsetWidth)/2) - this.sz(p,'borderLeftWidth'); - var t = ((p.offsetHeight - el.offsetHeight)/2) - this.sz(p,'borderTopWidth'); - s.left = l > 0 ? (l+'px') : '0'; - s.top = t > 0 ? (t+'px') : '0'; - }, - sz: function(el, p) { return parseInt($.css(el,p))||0; } -}; - -})(jQuery); +/* + * jQuery blockUI plugin + * Version 1.33 (09/14/2007) + * @requires jQuery v1.1.1 + * + * $Id$ + * + * Examples at: http://malsup.com/jquery/block/ + * Copyright (c) 2007 M. Alsup + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + (function($) { +/** + * blockUI provides a mechanism for blocking user interaction with a page (or parts of a page). + * This can be an effective way to simulate synchronous behavior during ajax operations without + * locking the browser. It will prevent user operations for the current page while it is + * active ane will return the page to normal when it is deactivate. blockUI accepts the following + * two optional arguments: + * + * message (String|Element|jQuery): The message to be displayed while the UI is blocked. The message + * argument can be a plain text string like "Processing...", an HTML string like + * "

          Please wait...

          ", a DOM element, or a jQuery object. + * The default message is "

          Please wait...

          " + * + * css (Object): Object which contains css property/values to override the default styles of + * the message. Use this argument if you wish to override the default + * styles. The css Object should be in a format suitable for the jQuery.css + * function. For example: + * $.blockUI({ + * backgroundColor: '#ff8', + * border: '5px solid #f00, + * fontWeight: 'bold' + * }); + * + * The default blocking message used when blocking the entire page is "

          Please wait...

          " + * but this can be overridden by assigning a value to $.blockUI.defaults.pageMessage in your + * own code. For example: + * + * $.blockUI.defaults.pageMessage = "

          Bitte Wartezeit

          "; + * + * The default message styling can also be overridden. For example: + * + * $.extend($.blockUI.defaults.pageMessageCSS, { color: '#00a', backgroundColor: '#0f0' }); + * + * The default styles work well for simple messages like "Please wait", but for longer messages + * style overrides may be necessary. + * + * @example $.blockUI(); + * @desc prevent user interaction with the page (and show the default message of 'Please wait...') + * + * @example $.blockUI( { backgroundColor: '#f00', color: '#fff'} ); + * @desc prevent user interaction and override the default styles of the message to use a white on red color scheme + * + * @example $.blockUI('Processing...'); + * @desc prevent user interaction and display the message "Processing..." instead of the default message + * + * @name blockUI + * @param String|jQuery|Element message Message to display while the UI is blocked + * @param Object css Style object to control look of the message + * @cat Plugins/blockUI + */ +$.blockUI = function(msg, css, opts) { + $.blockUI.impl.install(window, msg, css, opts); +}; + +// expose version number so other plugins can interogate +$.blockUI.version = 1.33; + +/** + * unblockUI removes the UI block that was put in place by blockUI + * + * @example $.unblockUI(); + * @desc unblocks the page + * + * @name unblockUI + * @cat Plugins/blockUI + */ +$.unblockUI = function(opts) { + $.blockUI.impl.remove(window, opts); +}; + +/** + * Blocks user interaction with the selected elements. (Hat tip: Much of + * this logic comes from Brandon Aaron's bgiframe plugin. Thanks, Brandon!) + * By default, no message is displayed when blocking elements. + * + * @example $('div.special').block(); + * @desc prevent user interaction with all div elements with the 'special' class. + * + * @example $('div.special').block('Please wait'); + * @desc prevent user interaction with all div elements with the 'special' class + * and show a message over the blocked content. + * + * @name block + * @type jQuery + * @param String|jQuery|Element message Message to display while the element is blocked + * @param Object css Style object to control look of the message + * @cat Plugins/blockUI + */ +$.fn.block = function(msg, css, opts) { + return this.each(function() { + if (!this.$pos_checked) { + if ($.css(this,"position") == 'static') + this.style.position = 'relative'; + if ($.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE + this.$pos_checked = 1; + } + $.blockUI.impl.install(this, msg, css, opts); + }); +}; + +/** + * Unblocks content that was blocked by "block()" + * + * @example $('div.special').unblock(); + * @desc unblocks all div elements with the 'special' class. + * + * @name unblock + * @type jQuery + * @cat Plugins/blockUI + */ +$.fn.unblock = function(opts) { + return this.each(function() { + $.blockUI.impl.remove(this, opts); + }); +}; + +/** + * displays the first matched element in a "display box" above a page overlay. + * + * @example $('#myImage').displayBox(); + * @desc displays "myImage" element in a box + * + * @name displayBox + * @type jQuery + * @cat Plugins/blockUI + */ +$.fn.displayBox = function(css, fn, isFlash) { + var msg = this[0]; + if (!msg) return; + var $msg = $(msg); + css = css || {}; + + var w = $msg.width() || $msg.attr('width') || css.width || $.blockUI.defaults.displayBoxCSS.width; + var h = $msg.height() || $msg.attr('height') || css.height || $.blockUI.defaults.displayBoxCSS.height ; + if (w[w.length-1] == '%') { + var ww = document.documentElement.clientWidth || document.body.clientWidth; + w = parseInt(w) || 100; + w = (w * ww) / 100; + } + if (h[h.length-1] == '%') { + var hh = document.documentElement.clientHeight || document.body.clientHeight; + h = parseInt(h) || 100; + h = (h * hh) / 100; + } + + var ml = '-' + parseInt(w)/2 + 'px'; + var mt = '-' + parseInt(h)/2 + 'px'; + + // supress opacity on overlay if displaying flash content on mac/ff platform + var ua = navigator.userAgent.toLowerCase(); + var opts = { + displayMode: fn || 1, + noalpha: isFlash && /mac/.test(ua) && /firefox/.test(ua) + }; + + $.blockUI.impl.install(window, msg, { width: w, height: h, marginTop: mt, marginLeft: ml }, opts); +}; + + +// override these in your code to change the default messages and styles +$.blockUI.defaults = { + // the message displayed when blocking the entire page + pageMessage: '

          Please wait...

          ', + // the message displayed when blocking an element + elementMessage: '', // none + // styles for the overlay iframe + overlayCSS: { backgroundColor: '#fff', opacity: '0.5' }, + // styles for the message when blocking the entire page + pageMessageCSS: { width:'250px', margin:'-50px 0 0 -125px', top:'50%', left:'50%', textAlign:'center', color:'#000', backgroundColor:'#fff', border:'3px solid #aaa' }, + // styles for the message when blocking an element + elementMessageCSS: { width:'250px', padding:'10px', textAlign:'center', backgroundColor:'#fff'}, + // styles for the displayBox + displayBoxCSS: { width: '400px', height: '400px', top:'50%', left:'50%' }, + // allow body element to be stetched in ie6 + ie6Stretch: 1, + // supress tab nav from leaving blocking content? + allowTabToLeave: 0, + // Title attribute for overlay when using displayBox + closeMessage: 'Click to close', + // use fadeOut effect when unblocking (can be overridden on unblock call) + fadeOut: 1, + // fadeOut transition time in millis + fadeTime: 400 +}; + +// the gory details +$.blockUI.impl = { + box: null, + boxCallback: null, + pageBlock: null, + pageBlockEls: [], + op8: window.opera && window.opera.version() < 9, + ie6: $.browser.msie && /MSIE 6.0/.test(navigator.userAgent), + install: function(el, msg, css, opts) { + opts = opts || {}; + this.boxCallback = typeof opts.displayMode == 'function' ? opts.displayMode : null; + this.box = opts.displayMode ? msg : null; + var full = (el == window); + + // use logical settings for opacity support based on browser but allow overrides via opts arg + var noalpha = this.op8 || $.browser.mozilla && /Linux/.test(navigator.platform); + if (typeof opts.alphaOverride != 'undefined') + noalpha = opts.alphaOverride == 0 ? 1 : 0; + + if (full && this.pageBlock) this.remove(window, {fadeOut:0}); + // check to see if we were only passed the css object (a literal) + if (msg && typeof msg == 'object' && !msg.jquery && !msg.nodeType) { + css = msg; + msg = null; + } + msg = msg ? (msg.nodeType ? $(msg) : msg) : full ? $.blockUI.defaults.pageMessage : $.blockUI.defaults.elementMessage; + if (opts.displayMode) + var basecss = jQuery.extend({}, $.blockUI.defaults.displayBoxCSS); + else + var basecss = jQuery.extend({}, full ? $.blockUI.defaults.pageMessageCSS : $.blockUI.defaults.elementMessageCSS); + css = jQuery.extend(basecss, css || {}); + var f = ($.browser.msie) ? $('') + : $(''); + var w = $('
          '); + var m = full ? $('
          ') + : $(''); + w.css('position', full ? 'fixed' : 'absolute'); + if (msg) m.css(css); + if (!noalpha) w.css($.blockUI.defaults.overlayCSS); + if (this.op8) w.css({ width:''+el.clientWidth,height:''+el.clientHeight }); // lame + if ($.browser.msie) f.css('opacity','0.0'); + + $([f[0],w[0],m[0]]).appendTo(full ? 'body' : el); + + // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) + var expr = $.browser.msie && (!$.boxModel || $('object,embed', full ? null : el).length > 0); + if (this.ie6 || expr) { + // stretch content area if it's short + if (full && $.blockUI.defaults.ie6Stretch && $.boxModel) + $('html,body').css('height','100%'); + + // fix ie6 problem when blocked element has a border width + if ((this.ie6 || !$.boxModel) && !full) { + var t = this.sz(el,'borderTopWidth'), l = this.sz(el,'borderLeftWidth'); + var fixT = t ? '(0 - '+t+')' : 0; + var fixL = l ? '(0 - '+l+')' : 0; + } + + // simulate fixed position + $.each([f,w,m], function(i,o) { + var s = o[0].style; + s.position = 'absolute'; + if (i < 2) { + full ? s.setExpression('height','document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + "px"') + : s.setExpression('height','this.parentNode.offsetHeight + "px"'); + full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') + : s.setExpression('width','this.parentNode.offsetWidth + "px"'); + if (fixL) s.setExpression('left', fixL); + if (fixT) s.setExpression('top', fixT); + } + else { + if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); + s.marginTop = 0; + } + }); + } + if (opts.displayMode) { + w.css('cursor','default').attr('title', $.blockUI.defaults.closeMessage); + m.css('cursor','default'); + $([f[0],w[0],m[0]]).removeClass('blockUI').addClass('displayBox'); + $().click($.blockUI.impl.boxHandler).bind('keypress', $.blockUI.impl.boxHandler); + } + else + this.bind(1, el); + m.append(msg).show(); + if (msg.jquery) msg.show(); + if (opts.displayMode) return; + if (full) { + this.pageBlock = m[0]; + this.pageBlockEls = $(':input:enabled:visible',this.pageBlock); + setTimeout(this.focus, 20); + } + else this.center(m[0]); + }, + remove: function(el, opts) { + var o = $.extend({}, $.blockUI.defaults, opts); + this.bind(0, el); + var full = el == window; + var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el); + if (full) this.pageBlock = this.pageBlockEls = null; + + if (o.fadeOut) { + els.fadeOut(o.fadeTime, function() { + if (this.parentNode) this.parentNode.removeChild(this); + }); + } + else els.remove(); + }, + boxRemove: function(el) { + $().unbind('click',$.blockUI.impl.boxHandler).unbind('keypress', $.blockUI.impl.boxHandler); + if (this.boxCallback) + this.boxCallback(this.box); + $('body .displayBox').hide().remove(); + }, + // event handler to suppress keyboard/mouse events when blocking + handler: function(e) { + if (e.keyCode && e.keyCode == 9) { + if ($.blockUI.impl.pageBlock && !$.blockUI.defaults.allowTabToLeave) { + var els = $.blockUI.impl.pageBlockEls; + var fwd = !e.shiftKey && e.target == els[els.length-1]; + var back = e.shiftKey && e.target == els[0]; + if (fwd || back) { + setTimeout(function(){$.blockUI.impl.focus(back)},10); + return false; + } + } + } + if ($(e.target).parents('div.blockMsg').length > 0) + return true; + return $(e.target).parents().children().filter('div.blockUI').length == 0; + }, + boxHandler: function(e) { + if ((e.keyCode && e.keyCode == 27) || (e.type == 'click' && $(e.target).parents('div.blockMsg').length == 0)) + $.blockUI.impl.boxRemove(); + return true; + }, + // bind/unbind the handler + bind: function(b, el) { + var full = el == window; + // don't bother unbinding if there is nothing to unbind + if (!b && (full && !this.pageBlock || !full && !el.$blocked)) return; + if (!full) el.$blocked = b; + var $e = $(el).find('a,:input'); + $.each(['mousedown','mouseup','keydown','keypress','click'], function(i,o) { + $e[b?'bind':'unbind'](o, $.blockUI.impl.handler); + }); + }, + focus: function(back) { + if (!$.blockUI.impl.pageBlockEls) return; + var e = $.blockUI.impl.pageBlockEls[back===true ? $.blockUI.impl.pageBlockEls.length-1 : 0]; + if (e) e.focus(); + }, + center: function(el) { + var p = el.parentNode, s = el.style; + var l = ((p.offsetWidth - el.offsetWidth)/2) - this.sz(p,'borderLeftWidth'); + var t = ((p.offsetHeight - el.offsetHeight)/2) - this.sz(p,'borderTopWidth'); + s.left = l > 0 ? (l+'px') : '0'; + s.top = t > 0 ? (t+'px') : '0'; + }, + sz: function(el, p) { return parseInt($.css(el,p))||0; } +}; + +})(jQuery); diff --git a/libs/jquery/original lib/jquery.scrollTo.js b/libs/jquery/original lib/jquery.scrollTo.js index e0fb42870e..eb26fc231e 100644 --- a/libs/jquery/original lib/jquery.scrollTo.js +++ b/libs/jquery/original lib/jquery.scrollTo.js @@ -1,142 +1,142 @@ -/** - * jQuery.ScrollTo - * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com - * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). - * Date: 1/2/2008 - * - * @projectDescription Easy element scrolling using jQuery. - * Tested with jQuery 1.2.1. On FF 2.0.0.11, IE 6, Opera 9.22 and Safari 3 beta. on Windows. - * - * @author Ariel Flesler - * @version 1.3 - * - * @id jQuery.scrollTo - * @id jQuery.fn.scrollTo - * @param {String, Number, DOMElement, jQuery, Object} target Where to scroll the matched elements. - * The different options for target are: - * - A number position (will be applied to all axes). - * - A string position ('44', '100px', '+=90', etc ) will be applied to all axes - * - A jQuery/DOM element ( logically, child of the element to scroll ) - * - A string selector, that will be relative to the element to scroll ( 'li:eq(2)', etc ) - * - A hash { top:x, left:y }, x and y can be any kind of number/string like above. - * @param {Number} duration The OVERALL length of the animation, this argument can be the settings object instead. - * @param {Object} settings Hash of settings, optional. - * @option {String} axis Which axis must be scrolled, use 'x', 'y', 'xy' or 'yx'. - * @option {Number} duration The OVERALL length of the animation. - * @option {String} easing The easing method for the animation. - * @option {Boolean} margin If true, the margin of the target element will be deducted from the final position. - * @option {Object, Number} offset Add/deduct from the end position. One number for both axis or { top:x, left:y } - * @option {Boolean} queue If true, and both axis are given, the 2nd axis will only be animated after the first one ends. - * @option {Function} onAfter Function to be called after the scrolling ends. - * @option {Function} onAfterFirst If queuing is activated, this function will be called after the first scrolling ends. - * @return {jQuery} Returns the same jQuery object, for chaining. - * - * @example $('div').scrollTo( 340 ); - * - * @example $('div').scrollTo( '+=340px', { axis:'y' } ); - * - * @example $('div').scrollTo( 'p.paragraph:eq(2)', 500, { easing:'swing', queue:true, axis:'xy' } ); - * - * @example var second_child = document.getElementById('container').firstChild.nextSibling; - * $('#container').scrollTo( second_child, { duration:500, axis:'x', onAfter:function(){ - * alert('scrolled!!'); - * }}); - * - * @example $('div').scrollTo( { top: 300, left:'+=200' }, { offset:-20 } ); - * - * Notes: - * - jQuery.scrollTo will make the whole window scroll, it accepts the same parameters as jQuery.fn.scrollTo. - * - The plugin no longer requires Dimensions. - * - If you are interested in animated anchor navigation, check http://jquery.com/plugins/project/LocalScroll. - * - The option 'margin' won't be valid, if the target is not a jQuery object or a DOM element. - * - The option 'queue' won't be taken into account, if only 1 axis is given. - */ -;(function( $ ){ - - $.scrollTo = function( target, duration, settings ){ - $( $.browser.safari ? 'body' : 'html' ).scrollTo( target, duration, settings ); - }; - - $.scrollTo.defaults = { - axis:'y', - duration:1 - }; - - $.fn.scrollTo = function( target, duration, settings ){ - if( typeof duration == 'object' ){ - settings = duration; - duration = 0; - } - settings = $.extend( {}, $.scrollTo.defaults, settings ); - if( !duration ) - duration = settings.speed || settings.duration;//backward compatibility fix - settings.queue = settings.queue && settings.axis.length == 2;//make sure the settings are given right - if( settings.queue ) - duration = Math.ceil( duration / 2 );//let's keep the overall speed, the same. - if( typeof settings.offset == 'number' ) - settings.offset = { left: settings.offset, top: settings.offset }; - - return this.each(function(){ - var elem = this, $elem = $(elem), - t = target, toff, attr = {}, - win = $elem.is('html,body'); - switch( typeof t ){ - case 'number'://will pass the regex - case 'string': - if( /^([+-]=)?\d+(px)?$/.test(t) ){ - t = { top:t, left:t }; - break;//we are done - } - t = $(t,this);// relative selector, no break! - case 'object': - if( t.is || t.style )//DOM/jQuery - toff = (t = $(t)).offset();//get the real position of the target - } - $.each( settings.axis.split(''), parse ); - animate( settings.onAfter ); - - function parse( i, axis ){ - var Pos = axis == 'x' ? 'Left' : 'Top', - pos = Pos.toLowerCase(), - key = 'scroll' + Pos, - act = elem[key]; - - if( toff ){//jQuery/DOM - attr[key] = toff[pos] + ( win ? 0 : act - $elem.offset()[pos] ); - - if( settings.margin ){//if it's a dom element, reduce the margin - attr[key] -= parseInt(t.css('margin'+Pos)) || 0; - attr[key] -= parseInt(t.css('border'+Pos+'Width')) || 0; - } - - if( settings.offset && settings.offset[pos] ) - attr[key] += settings.offset[pos]; - }else{ - attr[key] = t[pos]; - } - - if( /^\d+$/.test(attr[key]) ) - attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max(axis) );//check the limits - - if( !i && settings.queue ){//queueing each axis is required - if( act != attr[key] )//don't waste time animating, if there's no need. - animate( settings.onAfterFirst );//intermediate animation - delete attr[key];//don't animate this axis again in the next iteration. - } - }; - - function animate( callback ){ - $elem.animate( attr, duration, settings.easing, function(){ - if( callback ) - callback.call(this, $elem, attr, t ); - }); - }; - function max( axis ){ - var el = win ? $.browser.opera ? document.body : document.documentElement : elem, - Dim = axis == 'x' ? 'Width' : 'Height'; - return el['scroll'+Dim] - el['client'+Dim]; - }; - }); - }; - +/** + * jQuery.ScrollTo + * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com + * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). + * Date: 1/2/2008 + * + * @projectDescription Easy element scrolling using jQuery. + * Tested with jQuery 1.2.1. On FF 2.0.0.11, IE 6, Opera 9.22 and Safari 3 beta. on Windows. + * + * @author Ariel Flesler + * @version 1.3 + * + * @id jQuery.scrollTo + * @id jQuery.fn.scrollTo + * @param {String, Number, DOMElement, jQuery, Object} target Where to scroll the matched elements. + * The different options for target are: + * - A number position (will be applied to all axes). + * - A string position ('44', '100px', '+=90', etc ) will be applied to all axes + * - A jQuery/DOM element ( logically, child of the element to scroll ) + * - A string selector, that will be relative to the element to scroll ( 'li:eq(2)', etc ) + * - A hash { top:x, left:y }, x and y can be any kind of number/string like above. + * @param {Number} duration The OVERALL length of the animation, this argument can be the settings object instead. + * @param {Object} settings Hash of settings, optional. + * @option {String} axis Which axis must be scrolled, use 'x', 'y', 'xy' or 'yx'. + * @option {Number} duration The OVERALL length of the animation. + * @option {String} easing The easing method for the animation. + * @option {Boolean} margin If true, the margin of the target element will be deducted from the final position. + * @option {Object, Number} offset Add/deduct from the end position. One number for both axis or { top:x, left:y } + * @option {Boolean} queue If true, and both axis are given, the 2nd axis will only be animated after the first one ends. + * @option {Function} onAfter Function to be called after the scrolling ends. + * @option {Function} onAfterFirst If queuing is activated, this function will be called after the first scrolling ends. + * @return {jQuery} Returns the same jQuery object, for chaining. + * + * @example $('div').scrollTo( 340 ); + * + * @example $('div').scrollTo( '+=340px', { axis:'y' } ); + * + * @example $('div').scrollTo( 'p.paragraph:eq(2)', 500, { easing:'swing', queue:true, axis:'xy' } ); + * + * @example var second_child = document.getElementById('container').firstChild.nextSibling; + * $('#container').scrollTo( second_child, { duration:500, axis:'x', onAfter:function(){ + * alert('scrolled!!'); + * }}); + * + * @example $('div').scrollTo( { top: 300, left:'+=200' }, { offset:-20 } ); + * + * Notes: + * - jQuery.scrollTo will make the whole window scroll, it accepts the same parameters as jQuery.fn.scrollTo. + * - The plugin no longer requires Dimensions. + * - If you are interested in animated anchor navigation, check http://jquery.com/plugins/project/LocalScroll. + * - The option 'margin' won't be valid, if the target is not a jQuery object or a DOM element. + * - The option 'queue' won't be taken into account, if only 1 axis is given. + */ +;(function( $ ){ + + $.scrollTo = function( target, duration, settings ){ + $( $.browser.safari ? 'body' : 'html' ).scrollTo( target, duration, settings ); + }; + + $.scrollTo.defaults = { + axis:'y', + duration:1 + }; + + $.fn.scrollTo = function( target, duration, settings ){ + if( typeof duration == 'object' ){ + settings = duration; + duration = 0; + } + settings = $.extend( {}, $.scrollTo.defaults, settings ); + if( !duration ) + duration = settings.speed || settings.duration;//backward compatibility fix + settings.queue = settings.queue && settings.axis.length == 2;//make sure the settings are given right + if( settings.queue ) + duration = Math.ceil( duration / 2 );//let's keep the overall speed, the same. + if( typeof settings.offset == 'number' ) + settings.offset = { left: settings.offset, top: settings.offset }; + + return this.each(function(){ + var elem = this, $elem = $(elem), + t = target, toff, attr = {}, + win = $elem.is('html,body'); + switch( typeof t ){ + case 'number'://will pass the regex + case 'string': + if( /^([+-]=)?\d+(px)?$/.test(t) ){ + t = { top:t, left:t }; + break;//we are done + } + t = $(t,this);// relative selector, no break! + case 'object': + if( t.is || t.style )//DOM/jQuery + toff = (t = $(t)).offset();//get the real position of the target + } + $.each( settings.axis.split(''), parse ); + animate( settings.onAfter ); + + function parse( i, axis ){ + var Pos = axis == 'x' ? 'Left' : 'Top', + pos = Pos.toLowerCase(), + key = 'scroll' + Pos, + act = elem[key]; + + if( toff ){//jQuery/DOM + attr[key] = toff[pos] + ( win ? 0 : act - $elem.offset()[pos] ); + + if( settings.margin ){//if it's a dom element, reduce the margin + attr[key] -= parseInt(t.css('margin'+Pos)) || 0; + attr[key] -= parseInt(t.css('border'+Pos+'Width')) || 0; + } + + if( settings.offset && settings.offset[pos] ) + attr[key] += settings.offset[pos]; + }else{ + attr[key] = t[pos]; + } + + if( /^\d+$/.test(attr[key]) ) + attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max(axis) );//check the limits + + if( !i && settings.queue ){//queueing each axis is required + if( act != attr[key] )//don't waste time animating, if there's no need. + animate( settings.onAfterFirst );//intermediate animation + delete attr[key];//don't animate this axis again in the next iteration. + } + }; + + function animate( callback ){ + $elem.animate( attr, duration, settings.easing, function(){ + if( callback ) + callback.call(this, $elem, attr, t ); + }); + }; + function max( axis ){ + var el = win ? $.browser.opera ? document.body : document.documentElement : elem, + Dim = axis == 'x' ? 'Width' : 'Height'; + return el['scroll'+Dim] - el['client'+Dim]; + }; + }); + }; + })( jQuery ); \ No newline at end of file diff --git a/libs/jquery/original lib/ui.mouse.js b/libs/jquery/original lib/ui.mouse.js index 3525fe43b2..7e5f388a4a 100644 --- a/libs/jquery/original lib/ui.mouse.js +++ b/libs/jquery/original lib/ui.mouse.js @@ -1,253 +1,253 @@ -(function($) { - - //If the UI scope is not availalable, add it - $.ui = $.ui || {}; - - //Add methods that are vital for all mouse interaction stuff (plugin registering) - $.extend($.ui, { - plugin: { - add: function(w, c, o, p) { - var a = $.ui[w].prototype; if(!a.plugins[c]) a.plugins[c] = []; - a.plugins[c].push([o,p]); - }, - call: function(instance, name, arguments) { - var c = instance.plugins[name]; if(!c) return; - var o = instance.interaction ? instance.interaction.options : instance.options; - var e = instance.interaction ? instance.interaction.element : instance.element; - - for (var i = 0; i < c.length; i++) { - if (o[c[i][0]]) c[i][1].apply(e, arguments); - } - } - } - }); - - $.fn.mouseInteractionDestroy = function() { - this.each(function() { - if($.data(this, "ui-mouse")) $.data(this, "ui-mouse").destroy(); - }); - } - - $.ui.mouseInteraction = function(el,o) { - - if(!o) var o = {}; - this.element = el; - $.data(this.element, "ui-mouse", this); - - this.options = {}; - $.extend(this.options, o); - $.extend(this.options, { - handle : o.handle ? ($(o.handle, el)[0] ? $(o.handle, el) : $(el)) : $(el), - helper: o.helper || 'original', - preventionDistance: o.preventionDistance || 0, - dragPrevention: o.dragPrevention ? o.dragPrevention.toLowerCase().split(',') : ['input','textarea','button','select','option'], - cursorAt: { top: ((o.cursorAt && o.cursorAt.top) ? o.cursorAt.top : 0), left: ((o.cursorAt && o.cursorAt.left) ? o.cursorAt.left : 0), bottom: ((o.cursorAt && o.cursorAt.bottom) ? o.cursorAt.bottom : 0), right: ((o.cursorAt && o.cursorAt.right) ? o.cursorAt.right : 0) }, - cursorAtIgnore: (!o.cursorAt) ? true : false, //Internal property - appendTo: o.appendTo || 'parent' - }) - o = this.options; //Just Lazyness - - if(!this.options.nonDestructive && (o.helper == 'clone' || o.helper == 'original')) { - - // Let's save the margins for better reference - o.margins = { - top: parseInt($(el).css('marginTop')) || 0, - left: parseInt($(el).css('marginLeft')) || 0, - bottom: parseInt($(el).css('marginBottom')) || 0, - right: parseInt($(el).css('marginRight')) || 0 - }; - - // We have to add margins to our cursorAt - if(o.cursorAt.top != 0) o.cursorAt.top = o.margins.top; - if(o.cursorAt.left != 0) o.cursorAt.left += o.margins.left; - if(o.cursorAt.bottom != 0) o.cursorAt.bottom += o.margins.bottom; - if(o.cursorAt.right != 0) o.cursorAt.right += o.margins.right; - - - if(o.helper == 'original') - o.wasPositioned = $(el).css('position'); - - } else { - o.margins = { top: 0, left: 0, right: 0, bottom: 0 }; - } - - var self = this; - this.mousedownfunc = function(e) { // Bind the mousedown event - return self.click.apply(self, [e]); - } - o.handle.bind('mousedown', this.mousedownfunc); - - //Prevent selection of text when starting the drag in IE - if($.browser.msie) $(this.element).attr('unselectable', 'on'); - - } - - $.extend($.ui.mouseInteraction.prototype, { - plugins: {}, - currentTarget: null, - lastTarget: null, - timer: null, - slowMode: false, - init: false, - destroy: function() { - this.options.handle.unbind('mousedown', this.mousedownfunc); - }, - trigger: function(e) { - return this.click.apply(this, arguments); - }, - click: function(e) { - - var o = this.options; - - window.focus(); - if(e.which != 1) return true; //only left click starts dragging - - // Prevent execution on defined elements - var targetName = (e.target) ? e.target.nodeName.toLowerCase() : e.srcElement.nodeName.toLowerCase(); - for(var i=0;i 0 || o.cursorAt.bottom-o.margins.bottom > 0) && (o.cursorAt.left-o.margins.left > 0 || o.cursorAt.right-o.margins.right > 0)) ? true : false; //If cursorAt is within the helper, set slowMode to true - - if(!o.nonDestructive) $(this.helper).css('position', 'absolute'); - if(o.helper != 'original') $(this.helper).appendTo((o.appendTo == 'parent' ? a.parentNode : o.appendTo)).show(); - - // Remap right/bottom properties for cursorAt to left/top - if(o.cursorAt.right && !o.cursorAt.left) o.cursorAt.left = this.helper.offsetWidth+o.margins.right+o.margins.left - o.cursorAt.right; - if(o.cursorAt.bottom && !o.cursorAt.top) o.cursorAt.top = this.helper.offsetHeight+o.margins.top+o.margins.bottom - o.cursorAt.bottom; - - this.init = true; - - if(o._start) o._start.apply(a, [this.helper, this.pos, o.cursorAt, this, e]); // Trigger the start callback - this.helperSize = { width: outerWidth(this.helper), height: outerHeight(this.helper) }; //Set helper size property - return false; - - }, - stop: function(e) { - - var o = this.options; var a = this.element; var self = this; - - $(document).unbind('mouseup', self.mouseup); - $(document).unbind('mousemove', self.mousemove); - - if(this.init == false) return this.opos = this.pos = null; - if(o._beforeStop) o._beforeStop.apply(a, [this.helper, this.pos, o.cursorAt, this, e]); - - if(this.helper != a && !o.beQuietAtEnd) { // Remove helper, if it's not the original node - $(this.helper).remove(); this.helper = null; - } - - if(!o.beQuietAtEnd) { - //if(o.wasPositioned) $(a).css('position', o.wasPositioned); - if(o._stop) o._stop.apply(a, [this.helper, this.pos, o.cursorAt, this, e]); - } - - this.init = false; - this.opos = this.pos = null; - return false; - - }, - drag: function(e) { - - if (!this.opos || ($.browser.msie && !e.button)) return this.stop.apply(this, [e]); // check for IE mouseup when moving into the document again - var o = this.options; - - this.pos = [e.pageX,e.pageY]; //relative mouse position - if(this.rpos && this.rpos[0] == this.pos[0] && this.rpos[1] == this.pos[1]) return false; - this.rpos = [this.pos[0],this.pos[1]]; //absolute mouse position - - if(o.pp) { //If we have a positioned parent, use a relative position - this.pos[0] -= o.po.left; - this.pos[1] -= o.po.top; - } - - if( (Math.abs(this.rpos[0]-this.opos[0]) > o.preventionDistance || Math.abs(this.rpos[1]-this.opos[1]) > o.preventionDistance) && this.init == false) //If position is more than x pixels from original position, start dragging - this.start.apply(this,[e]); - else { - if(this.init == false) return false; - } - - if(o._drag) o._drag.apply(this.element, [this.helper, this.pos, o.cursorAt, this, e]); - return false; - - } - }); - - var num = function(el, prop) { - return parseInt($.css(el.jquery?el[0]:el,prop))||0; - }; - function outerWidth(el) { - var $el = $(el), ow = $el.width(); - for (var i = 0, props = ['borderLeftWidth', 'paddingLeft', 'paddingRight', 'borderRightWidth']; i < props.length; i++) - ow += num($el, props[i]); - return ow; - } - function outerHeight(el) { - var $el = $(el), oh = $el.width(); - for (var i = 0, props = ['borderTopWidth', 'paddingTop', 'paddingBottom', 'borderBottomWidth']; i < props.length; i++) - oh += num($el, props[i]); - return oh; - } - - })($); +(function($) { + + //If the UI scope is not availalable, add it + $.ui = $.ui || {}; + + //Add methods that are vital for all mouse interaction stuff (plugin registering) + $.extend($.ui, { + plugin: { + add: function(w, c, o, p) { + var a = $.ui[w].prototype; if(!a.plugins[c]) a.plugins[c] = []; + a.plugins[c].push([o,p]); + }, + call: function(instance, name, arguments) { + var c = instance.plugins[name]; if(!c) return; + var o = instance.interaction ? instance.interaction.options : instance.options; + var e = instance.interaction ? instance.interaction.element : instance.element; + + for (var i = 0; i < c.length; i++) { + if (o[c[i][0]]) c[i][1].apply(e, arguments); + } + } + } + }); + + $.fn.mouseInteractionDestroy = function() { + this.each(function() { + if($.data(this, "ui-mouse")) $.data(this, "ui-mouse").destroy(); + }); + } + + $.ui.mouseInteraction = function(el,o) { + + if(!o) var o = {}; + this.element = el; + $.data(this.element, "ui-mouse", this); + + this.options = {}; + $.extend(this.options, o); + $.extend(this.options, { + handle : o.handle ? ($(o.handle, el)[0] ? $(o.handle, el) : $(el)) : $(el), + helper: o.helper || 'original', + preventionDistance: o.preventionDistance || 0, + dragPrevention: o.dragPrevention ? o.dragPrevention.toLowerCase().split(',') : ['input','textarea','button','select','option'], + cursorAt: { top: ((o.cursorAt && o.cursorAt.top) ? o.cursorAt.top : 0), left: ((o.cursorAt && o.cursorAt.left) ? o.cursorAt.left : 0), bottom: ((o.cursorAt && o.cursorAt.bottom) ? o.cursorAt.bottom : 0), right: ((o.cursorAt && o.cursorAt.right) ? o.cursorAt.right : 0) }, + cursorAtIgnore: (!o.cursorAt) ? true : false, //Internal property + appendTo: o.appendTo || 'parent' + }) + o = this.options; //Just Lazyness + + if(!this.options.nonDestructive && (o.helper == 'clone' || o.helper == 'original')) { + + // Let's save the margins for better reference + o.margins = { + top: parseInt($(el).css('marginTop')) || 0, + left: parseInt($(el).css('marginLeft')) || 0, + bottom: parseInt($(el).css('marginBottom')) || 0, + right: parseInt($(el).css('marginRight')) || 0 + }; + + // We have to add margins to our cursorAt + if(o.cursorAt.top != 0) o.cursorAt.top = o.margins.top; + if(o.cursorAt.left != 0) o.cursorAt.left += o.margins.left; + if(o.cursorAt.bottom != 0) o.cursorAt.bottom += o.margins.bottom; + if(o.cursorAt.right != 0) o.cursorAt.right += o.margins.right; + + + if(o.helper == 'original') + o.wasPositioned = $(el).css('position'); + + } else { + o.margins = { top: 0, left: 0, right: 0, bottom: 0 }; + } + + var self = this; + this.mousedownfunc = function(e) { // Bind the mousedown event + return self.click.apply(self, [e]); + } + o.handle.bind('mousedown', this.mousedownfunc); + + //Prevent selection of text when starting the drag in IE + if($.browser.msie) $(this.element).attr('unselectable', 'on'); + + } + + $.extend($.ui.mouseInteraction.prototype, { + plugins: {}, + currentTarget: null, + lastTarget: null, + timer: null, + slowMode: false, + init: false, + destroy: function() { + this.options.handle.unbind('mousedown', this.mousedownfunc); + }, + trigger: function(e) { + return this.click.apply(this, arguments); + }, + click: function(e) { + + var o = this.options; + + window.focus(); + if(e.which != 1) return true; //only left click starts dragging + + // Prevent execution on defined elements + var targetName = (e.target) ? e.target.nodeName.toLowerCase() : e.srcElement.nodeName.toLowerCase(); + for(var i=0;i 0 || o.cursorAt.bottom-o.margins.bottom > 0) && (o.cursorAt.left-o.margins.left > 0 || o.cursorAt.right-o.margins.right > 0)) ? true : false; //If cursorAt is within the helper, set slowMode to true + + if(!o.nonDestructive) $(this.helper).css('position', 'absolute'); + if(o.helper != 'original') $(this.helper).appendTo((o.appendTo == 'parent' ? a.parentNode : o.appendTo)).show(); + + // Remap right/bottom properties for cursorAt to left/top + if(o.cursorAt.right && !o.cursorAt.left) o.cursorAt.left = this.helper.offsetWidth+o.margins.right+o.margins.left - o.cursorAt.right; + if(o.cursorAt.bottom && !o.cursorAt.top) o.cursorAt.top = this.helper.offsetHeight+o.margins.top+o.margins.bottom - o.cursorAt.bottom; + + this.init = true; + + if(o._start) o._start.apply(a, [this.helper, this.pos, o.cursorAt, this, e]); // Trigger the start callback + this.helperSize = { width: outerWidth(this.helper), height: outerHeight(this.helper) }; //Set helper size property + return false; + + }, + stop: function(e) { + + var o = this.options; var a = this.element; var self = this; + + $(document).unbind('mouseup', self.mouseup); + $(document).unbind('mousemove', self.mousemove); + + if(this.init == false) return this.opos = this.pos = null; + if(o._beforeStop) o._beforeStop.apply(a, [this.helper, this.pos, o.cursorAt, this, e]); + + if(this.helper != a && !o.beQuietAtEnd) { // Remove helper, if it's not the original node + $(this.helper).remove(); this.helper = null; + } + + if(!o.beQuietAtEnd) { + //if(o.wasPositioned) $(a).css('position', o.wasPositioned); + if(o._stop) o._stop.apply(a, [this.helper, this.pos, o.cursorAt, this, e]); + } + + this.init = false; + this.opos = this.pos = null; + return false; + + }, + drag: function(e) { + + if (!this.opos || ($.browser.msie && !e.button)) return this.stop.apply(this, [e]); // check for IE mouseup when moving into the document again + var o = this.options; + + this.pos = [e.pageX,e.pageY]; //relative mouse position + if(this.rpos && this.rpos[0] == this.pos[0] && this.rpos[1] == this.pos[1]) return false; + this.rpos = [this.pos[0],this.pos[1]]; //absolute mouse position + + if(o.pp) { //If we have a positioned parent, use a relative position + this.pos[0] -= o.po.left; + this.pos[1] -= o.po.top; + } + + if( (Math.abs(this.rpos[0]-this.opos[0]) > o.preventionDistance || Math.abs(this.rpos[1]-this.opos[1]) > o.preventionDistance) && this.init == false) //If position is more than x pixels from original position, start dragging + this.start.apply(this,[e]); + else { + if(this.init == false) return false; + } + + if(o._drag) o._drag.apply(this.element, [this.helper, this.pos, o.cursorAt, this, e]); + return false; + + } + }); + + var num = function(el, prop) { + return parseInt($.css(el.jquery?el[0]:el,prop))||0; + }; + function outerWidth(el) { + var $el = $(el), ow = $el.width(); + for (var i = 0, props = ['borderLeftWidth', 'paddingLeft', 'paddingRight', 'borderRightWidth']; i < props.length; i++) + ow += num($el, props[i]); + return ow; + } + function outerHeight(el) { + var $el = $(el), oh = $el.width(); + for (var i = 0, props = ['borderTopWidth', 'paddingTop', 'paddingBottom', 'borderBottomWidth']; i < props.length; i++) + oh += num($el, props[i]); + return oh; + } + + })($); diff --git a/libs/jquery/thickbox.css b/libs/jquery/thickbox.css index 4b2f5a5e7b..0cde9508ae 100644 --- a/libs/jquery/thickbox.css +++ b/libs/jquery/thickbox.css @@ -59,9 +59,9 @@ * html #TB_overlay { /* ie6 hack */ position: absolute; - height: expression(document . body . scrollHeight > document . body . + height: expression(document . body . scrollHeight > document . body . offsetHeight ? document . body . scrollHeight : document - . body . + . body . offsetHeight + 'px'); } @@ -80,10 +80,10 @@ * html #TB_window { /* ie6 hack */ position: absolute; margin-top: expression(0 - parseInt(this . offsetHeight/ 2) + - ( - TBWindowMargin = document . documentElement && document . + ( + TBWindowMargin = document . documentElement && document . documentElement . scrollTop || document . body . scrollTop - ) + + ) + 'px' ); } @@ -156,10 +156,10 @@ * html #TB_load { /* ie6 hack */ position: absolute; margin-top: expression(0 - parseInt(this . offsetHeight/ 2) + - ( - TBWindowMargin = document . documentElement && document . + ( + TBWindowMargin = document . documentElement && document . documentElement . scrollTop || document . body . scrollTop - ) + + ) + 'px' ); } @@ -179,9 +179,9 @@ * html #TB_HideSelect { /* ie6 hack */ position: absolute; - height: expression(document . body . scrollHeight > document . body . + height: expression(document . body . scrollHeight > document . body . offsetHeight ? document . body . scrollHeight : document - . body . + . body . offsetHeight + 'px'); } diff --git a/libs/jquery/tooltip/chili-1.7.pack.js b/libs/jquery/tooltip/chili-1.7.pack.js index d6ddc0ecff..90e7735cbf 100644 --- a/libs/jquery/tooltip/chili-1.7.pack.js +++ b/libs/jquery/tooltip/chili-1.7.pack.js @@ -1 +1 @@ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8={3b:"1.6",2o:"1B.1Y,1B.23,1B.2e",2i:"",2H:1a,12:"",2C:1a,Z:"",2a:\'$$\',R:"&#F;",1j:"&#F;&#F;&#F;&#F;",1f:"&#F;<1W/>",3c:5(){9 $(y).39("1k")[0]},I:{},N:{}};(5($){$(5(){5 1J(l,a){5 2I(A,h){4 3=(1v h.3=="1h")?h.3:h.3.1w;k.1m({A:A,3:"("+3+")",u:1+(3.c(/\\\\./g,"%").c(/\\[.*?\\]/g,"%").3a(/\\((?!\\?)/g)||[]).u,z:(h.z)?h.z:8.2a})}5 2z(){4 1E=0;4 1x=x 2A;Q(4 i=0;i\';8.N[X]=1H;7($.31.34){4 W=J.1L(Y);4 $W=$(W);$("2d").1O($W)}v{$("2d").1O(Y)}}}5 1q(e,a){4 l=e&&e.1g&&e.1g[0]&&e.1g[0].37;7(!l)l="";l=l.c(/\\r\\n?/g,"\\n");4 C=1J(l,a);7(8.1j){C=C.c(/\\t/g,8.1j)}7(8.1f){C=C.c(/\\n/g,8.1f)}$(e).38(C)}5 1o(q,13){4 1l={12:8.12,2x:q+".1d",Z:8.Z,2w:q+".2u"};4 B;7(13&&1v 13=="2l")B=$.35(1l,13);v B=1l;9{a:B.12+B.2x,1p:B.Z+B.2w}}7($.2q)$.2q({36:"2l.15"});4 2n=x 1u("\\\\b"+8.2i+"\\\\b","2j");4 1e=[];$(8.2o).2D(5(){4 e=y;4 1n=$(e).3i("V");7(!1n){9}4 q=$.3u(1n.c(2n,""));7(\'\'!=q){1e.1m(e);4 f=1o(q,e.15);7(8.2H||e.15){7(!8.N[f.a]){1D{8.N[f.a]=1H;$.3v(f.a,5(M){M.f=f.a;8.I[f.a]=M;7(8.2C){2B(f.1p)}$("."+q).2D(5(){4 f=1o(q,y.15);7(M.f==f.a){1q(y,M)}})})}1I(3s){3t("a 3w Q: "+q+\'@\'+3z)}}}v{4 a=8.I[f.a];7(a){1q(e,a)}}}});7(J.1i&&J.1i.29){5 22(p){7(\'\'==p){9""}1z{4 16=(x 3A()).2k()}19(p.3x(16)>-1);p=p.c(/\\<1W[^>]*?\\>/3y,16);4 e=J.1L(\'<1k>\');e.3l=p;p=e.3m.c(x 1u(16,"g"),\'\\r\\n\');9 p}4 T="";4 18=1G;$(1e).3j().G("1k").U("2c",5(){18=y}).U("1M",5(){7(18==y)T=J.1i.29().3k});$("3n").U("3q",5(){7(\'\'!=T){2p.3r.3o(\'3p\',22(T));2V.2R=1a}}).U("2c",5(){T=""}).U("1M",5(){18=1G})}})})(1Z);8.I["1Y.1d"]={k:{2M:{3:/\\/\\*[^*]*\\*+(?:[^\\/][^*]*\\*+)*\\//},25:{3:/\\ - - - - + download strange URL ?file=test.zip
          + download rar (abs)
          +
          + Next (rel)
          + Next (abs)
          + + + + + + + + \ No newline at end of file diff --git a/misc/testJavascriptTracker/page2.php b/misc/testJavascriptTracker/page2.php index a7534f5c96..01d74cd1b7 100644 --- a/misc/testJavascriptTracker/page2.php +++ b/misc/testJavascriptTracker/page2.php @@ -1,45 +1,45 @@ - - -
          -You should update the piwik javascript code at the bottom of this page if needed.
          -And test the tracker by clicking all the links below, with several browsers...
          -
          -
          - - Site web de google france
          - Site web de yahoo france
          - Site web de google monde
          - Site web de google maps
          - Site web de piwik
          - Site web de piwik
          -
          - download pdf (rel)
          - download jpg (rel)
          - download zip (rel)
          - download rar (abs)
          -
          - Prev (rel)
          - Prev (abs)
          - - - - - - - + + +
          +You should update the piwik javascript code at the bottom of this page if needed.
          +And test the tracker by clicking all the links below, with several browsers...
          +
          +
          + + Site web de google france
          + Site web de yahoo france
          + Site web de google monde
          + Site web de google maps
          + Site web de piwik
          + Site web de piwik
          +
          + download pdf (rel)
          + download jpg (rel)
          + download zip (rel)
          + download rar (abs)
          +
          + Prev (rel)
          + Prev (abs)
          + + + + + + + \ No newline at end of file diff --git a/modules/API/APIable.php b/modules/API/APIable.php index feaf139b08..1edefd771e 100755 --- a/modules/API/APIable.php +++ b/modules/API/APIable.php @@ -1,20 +1,20 @@ - API * - * @package Piwik_API + * @package Piwik_API * @see Piwik_API_Proxy */ diff --git a/modules/API/Proxy.php b/modules/API/Proxy.php index b8eff71d35..04a43fc4c4 100755 --- a/modules/API/Proxy.php +++ b/modules/API/Proxy.php @@ -1,24 +1,24 @@ -alreadyRegistered[$fileName] = true; - } - - /** - * Returns the 'moduleName' part of 'Piwik_moduleName_API' classname - * - * @param string moduleName - * @return string className - */ - protected function getModuleNameFromClassName( $className ) - { - $start = strpos($className, '_') + 1; - return substr($className, $start , strrpos($className, '_') - $start); - } - - /** - * Returns a string containing links to examples on how to call a given method on a given API - * It will export links to XML, CSV, HTML, JSON, PHP, etc. - * It will not export links for methods such as deleteSite or deleteUser - * - * @param string the class - * @param methodName the method - * @return string|false when not possible - */ - public function getExampleUrl($class, $methodName, $parametersToSet = array()) - { - $knowExampleDefaultParametersValues = array( - 'access' => 'view', - 'idSite' => '1', - 'userLogin' => 'test', + } + + /** + * Returns the 'moduleName' part of 'Piwik_moduleName_API' classname + * + * @param string moduleName + * @return string className + */ + protected function getModuleNameFromClassName( $className ) + { + $start = strpos($className, '_') + 1; + return substr($className, $start , strrpos($className, '_') - $start); + } + + /** + * Returns a string containing links to examples on how to call a given method on a given API + * It will export links to XML, CSV, HTML, JSON, PHP, etc. + * It will not export links for methods such as deleteSite or deleteUser + * + * @param string the class + * @param methodName the method + * @return string|false when not possible + */ + public function getExampleUrl($class, $methodName, $parametersToSet = array()) + { + $knowExampleDefaultParametersValues = array( + 'access' => 'view', + 'idSite' => '1', + 'userLogin' => 'test', 'password' => 'passwordExample', - 'passwordMd5ied' => 'passwordExample', - 'email' => 'test@example.org', - - 'siteName' => 'new example website', - 'urls' => 'http://example.org', // used in addSite, updateSite - - 'period' => 'day', - 'date' => 'today', + 'passwordMd5ied' => 'passwordExample', + 'email' => 'test@example.org', + + 'siteName' => 'new example website', + 'urls' => 'http://example.org', // used in addSite, updateSite + + 'period' => 'day', + 'date' => 'today', ); foreach($parametersToSet as $name => $value) { $knowExampleDefaultParametersValues[$name] = $value; - } - - // no links for these method names - $doNotPrintExampleForTheseMethods = array( - 'deleteSite', - 'deleteUser', - ); - - if(in_array($methodName,$doNotPrintExampleForTheseMethods)) - { - return false; - } - - - // we try to give an URL example to call the API - $aParameters = $this->getParametersList($class, $methodName); - $moduleName = $this->getModuleNameFromClassName($class); - $urlExample = '?module=API&method='.$moduleName.'.'.$methodName.'&'; - foreach($aParameters as $nameVariable=> $defaultValue) - { - // if there isn't a default value for a given parameter, - // we need a 'know default value' or we can't generate the link - if($defaultValue === Piwik_API_Proxy::NO_DEFAULT_VALUE) - { - if(isset($knowExampleDefaultParametersValues[$nameVariable])) - { - $exampleValue = $knowExampleDefaultParametersValues[$nameVariable]; - $urlExample .= $nameVariable . '=' . $exampleValue . '&'; - } - else - { - return false; - } - } - - } - - return substr($urlExample,0,-1); - } - - /** - * Returns a HTML page containing help for all the successfully loaded APIs. - * - * For each module it will return a mini help with the method names, parameters to give, - * links to get the result in Xml/Csv/etc - * - * @return string + } + + // no links for these method names + $doNotPrintExampleForTheseMethods = array( + 'deleteSite', + 'deleteUser', + ); + + if(in_array($methodName,$doNotPrintExampleForTheseMethods)) + { + return false; + } + + + // we try to give an URL example to call the API + $aParameters = $this->getParametersList($class, $methodName); + $moduleName = $this->getModuleNameFromClassName($class); + $urlExample = '?module=API&method='.$moduleName.'.'.$methodName.'&'; + foreach($aParameters as $nameVariable=> $defaultValue) + { + // if there isn't a default value for a given parameter, + // we need a 'know default value' or we can't generate the link + if($defaultValue === Piwik_API_Proxy::NO_DEFAULT_VALUE) + { + if(isset($knowExampleDefaultParametersValues[$nameVariable])) + { + $exampleValue = $knowExampleDefaultParametersValues[$nameVariable]; + $urlExample .= $nameVariable . '=' . $exampleValue . '&'; + } + else + { + return false; + } + } + + } + + return substr($urlExample,0,-1); + } + + /** + * Returns a HTML page containing help for all the successfully loaded APIs. + * + * For each module it will return a mini help with the method names, parameters to give, + * links to get the result in Xml/Csv/etc + * + * @return string */ public function getAllInterfaceString( $outputExampleUrls = true, $prefixUrls = '' ) { $str = ''; foreach($this->api as $class => $info) - { + { $moduleName = $this->getModuleNameFromClassName($class); $str .= "\n

          Module ".$moduleName."

          "; foreach($info as $methodName => $infoMethod) - { - + { + $params = $this->getStrListParameters($class, $methodName); - $str .= "\n" . "- $moduleName.$methodName " . $params . ""; - - $str .= ''; - - if($outputExampleUrls) + $str .= "\n" . "- $moduleName.$methodName " . $params . ""; + + $str .= ''; + + if($outputExampleUrls) { // we prefix all URLs with $prefixUrls - // used when we include this output in the Piwik official documentation for example - $exampleUrl = $this->getExampleUrl($class, $methodName); - if($exampleUrl !== false) + // used when we include this output in the Piwik official documentation for example + $exampleUrl = $this->getExampleUrl($class, $methodName); + if($exampleUrl !== false) { $lastNUrls = ''; if( ereg('(&period)|(&date)',$exampleUrl)) @@ -263,23 +263,23 @@ class Piwik_API_Proxy $exampleUrlRss2 = $prefixUrls . $this->getExampleUrl($class, $methodName, array('date' => 'last5','period' => 'week',)); $lastNUrls = ", RSS of the last 10 days, 5 weeks, XML of the last 10 days"; - } - $exampleUrl = $prefixUrls . $exampleUrl ; - $str .= " [ Example in - XML, - PHP, - Json, + } + $exampleUrl = $prefixUrls . $exampleUrl ; + $str .= " [ Example in + XML, + PHP, + Json, Csv, Basic html - $lastNUrls - ]"; - } - else - { - $str .= " [ No example available ]"; - } - } - $str .= ''; + $lastNUrls + ]"; + } + else + { + $str .= " [ No example available ]"; + } + } + $str .= ''; $str .= "\n
          "; } } @@ -289,8 +289,8 @@ class Piwik_API_Proxy /** * Returns the methods $class.$name parameters (and default value if provided) as a string. * - * @param string The class name - * @param string The method name + * @param string The class name + * @param string The method name * @return string For example "(idSite, period, date = 'today')" */ private function getStrListParameters($class, $name) @@ -313,8 +313,8 @@ class Piwik_API_Proxy /** * Returns the parameters names and default values for the method $name * of the class $class - * - * @param string The class name + * + * @param string The class name * @param string The method name * @return array Format array( * 'testParameter' => null, // no default value @@ -328,10 +328,10 @@ class Piwik_API_Proxy } /** - * Returns the number of required parameters (parameters without default values). - * - * @param string The class name - * @param string The method name + * Returns the number of required parameters (parameters without default values). + * + * @param string The class name + * @param string The method name * @return int The number of required parameters */ private function getNumberOfRequiredParameters($class, $name) @@ -340,10 +340,10 @@ class Piwik_API_Proxy } /** - * Returns true if the method is found in the API of the given class name. - * - * @param string The class name - * @param string The method name + * Returns true if the method is found in the API of the given class name. + * + * @param string The class name + * @param string The method name * @return bool */ private function isMethodAvailable( $className, $methodName) @@ -353,11 +353,11 @@ class Piwik_API_Proxy /** - * Checks that the count of the given parameters do match with the count of the required ones - * - * @param string The class name - * @param string The method name - * @param array + * Checks that the count of the given parameters do match with the count of the required ones + * + * @param string The class name + * @param string The method name + * @param array * @throws exception If less parameters than required were given */ private function checkNumberOfParametersMatch($className, $methodName, $parameters) @@ -374,7 +374,7 @@ class Piwik_API_Proxy /** * Checks that the class is a Singleton (presence of the getInstance() method) - * + * * @param string The class name * @throws exception If the class is not a Singleton */ @@ -388,8 +388,8 @@ class Piwik_API_Proxy /** * Checks that the method exists in the class - * - * @param string The class name + * + * @param string The class name * @param string The method name * @throws exception If the method is not found */ @@ -406,9 +406,9 @@ class Piwik_API_Proxy * * For exemple for $module = 'Referers' it returns 'Piwik_Referers_API' * Piwik_Referers_API is the class that extends Piwik_Apiable - * and that contains the methods to be published in the API. - * - * @param string module name + * and that contains the methods to be published in the API. + * + * @param string module name * @return string class name */ protected function getClassNameFromModule($module) @@ -416,27 +416,27 @@ class Piwik_API_Proxy $class = Piwik::prefixClass($module ."_API"); return $class; } - - /** - * Magic method used to set a flag telling the module named currently being called - * - */ - public function __get($name) - { - self::$classCalled = $name; - return $this; + + /** + * Magic method used to set a flag telling the module named currently being called + * + */ + public function __get($name) + { + self::$classCalled = $name; + return $this; } - + /** * Method always called when making an API request. * It checks several things before actually calling the real method on the given module. - * - * It also logs the API calls, with the parameters values, the returned value, the performance, etc. - * You can enable logging in config/global.ini.php (log_api_call) - * - * @param string The method name - * @param array The parameters - * + * + * It also logs the API calls, with the parameters values, the returned value, the performance, etc. + * You can enable logging in config/global.ini.php (log_api_call) + * + * @param string The method name + * @param array The parameters + * * @throws Piwik_Access_NoAccessException */ public function __call($methodName, $parameterValues ) diff --git a/modules/ArchiveProcessing.php b/modules/ArchiveProcessing.php index 402b99b43f..9c2204c19d 100644 --- a/modules/ArchiveProcessing.php +++ b/modules/ArchiveProcessing.php @@ -1,18 +1,18 @@ -debugAlwaysArchive = Zend_Registry::get('config')->Debug->always_archive_data; - } - - - /** - * Returns the Piwik_ArchiveProcessing_Day or Piwik_ArchiveProcessing_Period object - * depending on $name period string - * - * @param string $name day|week|month|year - * @return Piwik_ArchiveProcessing Piwik_ArchiveProcessing_Day|Piwik_ArchiveProcessing_Period - */ - static function factory($name ) - { - switch($name) - { - case 'day': - require_once 'ArchiveProcessing/Day.php'; - $process = new Piwik_ArchiveProcessing_Day; - break; - - case 'week': - case 'month': - case 'year': - require_once 'ArchiveProcessing/Period.php'; - $process = new Piwik_ArchiveProcessing_Period; - break; - - default: - throw new Exception("Unknown period specified $name"); - break; - } - return $process; - } - - /** - * Inits the object - * + } + + + /** + * Returns the Piwik_ArchiveProcessing_Day or Piwik_ArchiveProcessing_Period object + * depending on $name period string + * + * @param string $name day|week|month|year + * @return Piwik_ArchiveProcessing Piwik_ArchiveProcessing_Day|Piwik_ArchiveProcessing_Period + */ + static function factory($name ) + { + switch($name) + { + case 'day': + require_once 'ArchiveProcessing/Day.php'; + $process = new Piwik_ArchiveProcessing_Day; + break; + + case 'week': + case 'month': + case 'year': + require_once 'ArchiveProcessing/Period.php'; + $process = new Piwik_ArchiveProcessing_Period; + break; + + default: + throw new Exception("Unknown period specified $name"); + break; + } + return $process; + } + + /** + * Inits the object + * * @return void */ protected function loadArchiveProperties() @@ -233,8 +233,8 @@ abstract class Piwik_ArchiveProcessing $this->strDateStart = $this->dateStart->toString(); $this->strDateEnd = $this->dateEnd->toString(); - - // if the current archive is a DAY and if it's today, + + // if the current archive is a DAY and if it's today, // we set this maxTimestampArchive that defines the lifetime value of today's archive $this->maxTimestampArchive = 0; if( $this->period->getNumberOfSubperiods() == 0 @@ -371,20 +371,20 @@ abstract class Piwik_ArchiveProcessing } - /** - * Returns the name of the numeric table where the archive numeric values are stored - * - * @return string + /** + * Returns the name of the numeric table where the archive numeric values are stored + * + * @return string */ public function getTableArchiveNumericName() { return $this->tableArchiveNumeric->getTableName(); } - - /** - * Returns the name of the blob table where the archive blob values are stored - * - * @return string + + /** + * Returns the name of the blob table where the archive blob values are stored + * + * @return string */ public function getTableArchiveBlobName() { @@ -392,20 +392,20 @@ abstract class Piwik_ArchiveProcessing } - /** - * Set the period - * - * @param Piwik_Period $period + /** + * Set the period + * + * @param Piwik_Period $period */ public function setPeriod( Piwik_Period $period ) { $this->period = $period; } - /** - * Set the site - * - * @param Piwik_Site $site + /** + * Set the site + * + * @param Piwik_Site $site */ public function setSite( Piwik_Site $site ) { @@ -427,10 +427,10 @@ abstract class Piwik_ArchiveProcessing return $this->timestampDateStart; } - /** - * Returns the idArchive we will use for the current archive - * - * @return int IdArchive to use when saving the current Archive + /** + * Returns the idArchive we will use for the current archive + * + * @return int IdArchive to use when saving the current Archive */ protected function loadNextIdarchive() { @@ -442,12 +442,12 @@ abstract class Piwik_ArchiveProcessing } $this->idArchive = $id + 1; - } - - /** - * Inserts a record in the good table (either NUMERIC or BLOB) - * - * @param unknown_type $record + } + + /** + * Inserts a record in the good table (either NUMERIC or BLOB) + * + * @param unknown_type $record */ protected function insertRecord($record) { @@ -477,8 +477,8 @@ abstract class Piwik_ArchiveProcessing } /** - * Returns the ID of the archived subperiods. - * + * Returns the ID of the archived subperiods. + * * @return array Array of the idArchive of the subperiods */ protected function loadSubperiodsArchive() @@ -498,17 +498,17 @@ abstract class Piwik_ArchiveProcessing return $periods; } - - /** - * Returns the idArchive if the archive is available in the database. + + /** + * Returns the idArchive if the archive is available in the database. * Returns false if the archive needs to be computed. * * An archive is available if * - for today, the archive was computed less than maxTimestampArchive seconds ago * - for any other day, if the archive was computed once this day was finished - * - for other periods, if the archive was computed once the period was finished - * - * @return int|false + * - for other periods, if the archive was computed once the period was finished + * + * @return int|false */ protected function isArchived() { diff --git a/modules/ArchiveProcessing/Day.php b/modules/ArchiveProcessing/Day.php index 7f3773ed75..d5b68b2139 100644 --- a/modules/ArchiveProcessing/Day.php +++ b/modules/ArchiveProcessing/Day.php @@ -1,14 +1,14 @@ -query(sprintf($query, $blobTable), $this->periodId); Zend_Registry::get('db')->query(sprintf($query, $numericTable), $this->periodId); } - - /** - * Helper function that returns a DataTable containing the $select fields / value pairs. - * IMPORTANT: The $select must return only one row!! - * - * Example $select = "count(distinct( config_os )) as countDistinctOs, - * sum( config_flash ) / count(distinct(idvisit)) as percentFlash " - * $labelCount = "test_column_name" - * will return a dataTable that looks like - * label test_column_name - * CountDistinctOs 9 - * PercentFlash 0.5676 - * - * - * @param string $select - * @param string $labelCount - * @return Piwik_DataTable + + /** + * Helper function that returns a DataTable containing the $select fields / value pairs. + * IMPORTANT: The $select must return only one row!! + * + * Example $select = "count(distinct( config_os )) as countDistinctOs, + * sum( config_flash ) / count(distinct(idvisit)) as percentFlash " + * $labelCount = "test_column_name" + * will return a dataTable that looks like + * label test_column_name + * CountDistinctOs 9 + * PercentFlash 0.5676 + * + * + * @param string $select + * @param string $labelCount + * @return Piwik_DataTable */ public function getSimpleDataTableFromSelect($select, $labelCount) { @@ -135,28 +135,28 @@ class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing return $table; } - /** - * Helper function that returns common statistics for a given database field distinct values. - * - * The statistics returned are: - * - number of unique visitors - * - number of visits - * - number of actions - * - maximum number of action for a visit - * - sum of the visits' length in sec - * - count of bouncing visits (visits with one page view) - * - * For example if $label = 'config_os' it will return the statistics for every distinct Operating systems - * The returned DataTable will have a row per distinct operating systems, - * and a column per stat (nb of visits, max actions, etc) - * - * label nb_uniq_visitors nb_visits nb_actions max_actions sum_visit_length bounce_count - * Linux 27 66 66 1 660 66 - * Windows XP 12 39 39 1 390 39 - * Mac OS 15 36 36 1 360 36 - * - * @param string $label Table log_visit field name to be use to compute common stats - * @return Piwik_DataTable + /** + * Helper function that returns common statistics for a given database field distinct values. + * + * The statistics returned are: + * - number of unique visitors + * - number of visits + * - number of actions + * - maximum number of action for a visit + * - sum of the visits' length in sec + * - count of bouncing visits (visits with one page view) + * + * For example if $label = 'config_os' it will return the statistics for every distinct Operating systems + * The returned DataTable will have a row per distinct operating systems, + * and a column per stat (nb of visits, max actions, etc) + * + * label nb_uniq_visitors nb_visits nb_actions max_actions sum_visit_length bounce_count + * Linux 27 66 66 1 660 66 + * Windows XP 12 39 39 1 390 39 + * Mac OS 15 36 36 1 360 36 + * + * @param string $label Table log_visit field name to be use to compute common stats + * @return Piwik_DataTable */ public function getDataTableInterestForLabel( $label ) { @@ -195,14 +195,14 @@ class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing $table->loadFromArrayLabelIsKey($interest); return $table; } - - /** - * Generates a dataTable given a multidimensional PHP array that associates LABELS to Piwik_DataTableRows - * This is used for the "Actions" DataTable, where a line is the aggregate of all the subtables - * Example: the category /blog has 3 visits because it has /blog/index (2 visits) + /blog/about (1 visit) - * - * @param array $table - * @return Piwik_DataTable + + /** + * Generates a dataTable given a multidimensional PHP array that associates LABELS to Piwik_DataTableRows + * This is used for the "Actions" DataTable, where a line is the aggregate of all the subtables + * Example: the category /blog has 3 visits because it has /blog/index (2 visits) + /blog/about (1 visit) + * + * @param array $table + * @return Piwik_DataTable */ static public function generateDataTable( $table ) { @@ -232,17 +232,17 @@ class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing return $dataTableToReturn; } - - /** - * Helper function that returns the serialized DataTable of the given PHP array. - * The array must have the format of Piwik_DataTable::loadFromArrayLabelIsKey() - * Example: array ( - * LABEL => array(col1 => X, col2 => Y), - * LABEL2 => array(col1 => X, col2 => Y), - * ) - * - * @param array $array at the given format - * @return array Array with one element: the serialized data table string + + /** + * Helper function that returns the serialized DataTable of the given PHP array. + * The array must have the format of Piwik_DataTable::loadFromArrayLabelIsKey() + * Example: array ( + * LABEL => array(col1 => X, col2 => Y), + * LABEL2 => array(col1 => X, col2 => Y), + * ) + * + * @param array $array at the given format + * @return array Array with one element: the serialized data table string */ public function getDataTableSerialized( $arrayLevel0 ) { @@ -252,29 +252,29 @@ class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing return $toReturn; } - - /** - * Helper function that returns the multiple serialized DataTable of the given PHP array. - * The DataTable here associates a subtable to every row of the level 0 array. - * This is used for example for search engines. Every search engine (level 0) has a subtable containing the - * keywords. - * - * The $arrayLevel0 must have the format - * Example: array ( - * LABEL => array(col1 => X, col2 => Y), - * LABEL2 => array(col1 => X, col2 => Y), - * ) - * - * The $subArrayLevel1ByKey must have the format - * Example: array( - * LABEL => #Piwik_DataTable_ForLABEL, - * LABEL2 => #Piwik_DataTable_ForLABEL2, - * ) - * - * - * @param array $arrayLevel0 - * @param array of Piwik_DataTable $subArrayLevel1ByKey - * @return array Array with N elements: the strings of the datatable serialized + + /** + * Helper function that returns the multiple serialized DataTable of the given PHP array. + * The DataTable here associates a subtable to every row of the level 0 array. + * This is used for example for search engines. Every search engine (level 0) has a subtable containing the + * keywords. + * + * The $arrayLevel0 must have the format + * Example: array ( + * LABEL => array(col1 => X, col2 => Y), + * LABEL2 => array(col1 => X, col2 => Y), + * ) + * + * The $subArrayLevel1ByKey must have the format + * Example: array( + * LABEL => #Piwik_DataTable_ForLABEL, + * LABEL2 => #Piwik_DataTable_ForLABEL2, + * ) + * + * + * @param array $arrayLevel0 + * @param array of Piwik_DataTable $subArrayLevel1ByKey + * @return array Array with N elements: the strings of the datatable serialized */ public function getDataTablesSerialized( $arrayLevel0, $subArrayLevel1ByKey) { @@ -294,11 +294,11 @@ class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing return $toReturn; } - - /** - * Returns an empty row containing default values for the common stat - * - * @return array + + /** + * Returns an empty row containing default values for the common stat + * + * @return array */ public function getNewInterestRow() { @@ -310,32 +310,32 @@ class Piwik_ArchiveProcessing_Day extends Piwik_ArchiveProcessing Piwik_Archive::INDEX_BOUNCE_COUNT => 0 ); } - - - /** - * Returns a Piwik_DataTable_Row containing default values for common stat, - * plus a column 'label' with the value $label - * - * @param string $label - * @return Piwik_DataTable_Row - */ - public function getNewInterestRowLabeled( $label ) - { - return new Piwik_DataTable_Row( - array( - Piwik_DataTable_Row::COLUMNS => array( 'label' => $label) - + $this->getNewInterestRow() - ) - ); - } - - /** - * Adds the given row $newRowToAdd to the existing $oldRowToUpdate passed by reference - * - * The rows are php arrays Name => value - * - * @param array $newRowToAdd - * @param array $oldRowToUpdate + + + /** + * Returns a Piwik_DataTable_Row containing default values for common stat, + * plus a column 'label' with the value $label + * + * @param string $label + * @return Piwik_DataTable_Row + */ + public function getNewInterestRowLabeled( $label ) + { + return new Piwik_DataTable_Row( + array( + Piwik_DataTable_Row::COLUMNS => array( 'label' => $label) + + $this->getNewInterestRow() + ) + ); + } + + /** + * Adds the given row $newRowToAdd to the existing $oldRowToUpdate passed by reference + * + * The rows are php arrays Name => value + * + * @param array $newRowToAdd + * @param array $oldRowToUpdate */ public function updateInterestStats( $newRowToAdd, &$oldRowToUpdate) { diff --git a/modules/ArchiveProcessing/Period.php b/modules/ArchiveProcessing/Period.php index b953f8124e..83cc54ecaa 100644 --- a/modules/ArchiveProcessing/Period.php +++ b/modules/ArchiveProcessing/Period.php @@ -1,13 +1,13 @@ -superuser->login; $rootPassword = Zend_Registry::get('config')->superuser->password; $rootToken = Piwik_UsersManager_API::getTokenAuth($rootLogin,$rootPassword); - - // echo $rootToken; + + // echo $rootToken; // echo "
          ". $this->_credential;exit; if($this->_identity == $rootLogin && $this->_credential == $rootToken) @@ -52,7 +52,7 @@ class Piwik_Auth extends Zend_Auth_Adapter_DbTable // of this class in the zend_registry and it should work if(is_null($this->_identity)) { - $authenticated = false; + $authenticated = false; if($this->_credential === $rootToken) { diff --git a/modules/Common.php b/modules/Common.php index b726671f1f..6b8b46b84d 100644 --- a/modules/Common.php +++ b/modules/Common.php @@ -1,21 +1,21 @@ -General->minimumMemoryLimit; * - * will read the value minimumMemoryLimit under the [General] section of the config file + * will read the value minimumMemoryLimit under the [General] section of the config file * - * @package Piwik_Helper + * @package Piwik_Helper */ class Piwik_Config { diff --git a/modules/Controller.php b/modules/Controller.php index d2c6f74805..f0a7e95f1b 100644 --- a/modules/Controller.php +++ b/modules/Controller.php @@ -1,20 +1,20 @@ -currentId; } - + /** - * Adds a new row from a PHP array data structure + * Adds a new row from a PHP array data structure * You should use loadFromArray for performance! * - * @param array $row, eg. array(Piwik_DataTable_Row::COLUMNS => array( 'visits' => 13, 'test' => 'toto'),) - */ - public function addRowFromArray( $row ) - { - $this->loadFromArray(array($row)); - } - - /** - * Adds a new row a PHP array data structure + * @param array $row, eg. array(Piwik_DataTable_Row::COLUMNS => array( 'visits' => 13, 'test' => 'toto'),) + */ + public function addRowFromArray( $row ) + { + $this->loadFromArray(array($row)); + } + + /** + * Adds a new row a PHP array data structure * You should use loadFromSimpleArray for performance! * - * @param array $row, eg. array('name' => 'google analytics', 'license' => 'commercial') - */ - public function addRowFromSimpleArray( $row ) - { - $this->loadFromSimpleArray(array($row)); - } + * @param array $row, eg. array('name' => 'google analytics', 'license' => 'commercial') + */ + public function addRowFromSimpleArray( $row ) + { + $this->loadFromSimpleArray(array($row)); + } /** * Returns the array of Piwik_DataTable_Row @@ -623,7 +623,7 @@ class Piwik_DataTable if($depth > self::MAXIMUM_DEPTH_LEVEL_ALLOWED) { throw new Exception("Maximum recursion level of ".self::MAXIMUM_DEPTH_LEVEL_ALLOWED. " reached. You have probably set a DataTable_Row with an associated DataTable which belongs already to its parent hierarchy."); - } + } // For each row, get the serialized row // If it is associated to a sub table, get the serialized table recursively ; @@ -642,14 +642,14 @@ class Piwik_DataTable } } // we load the current Id of the DataTable - $forcedId = $this->getId(); - + $forcedId = $this->getId(); + // if the datatable is the parent we force the Id at 0 (this is part of the specification) if($depth==0) { $forcedId = 0; - } - + } + // we then serialize the rows and store them in the serialized dataTable $aSerializedDataTable[$forcedId] = serialize($this->rows); @@ -681,14 +681,14 @@ class Piwik_DataTable * Loads the DataTable from a PHP array data structure * * @param array Array with the following structure - * array( + * array( * // row1 - * array( - * Piwik_DataTable_Row::COLUMNS => array( col1_name => value1, col2_name => value2, ...), - * Piwik_DataTable_Row::DETAILS => array( detail1_name => value1, ...), // see Piwik_DataTable_Row - * - * ), - * + * array( + * Piwik_DataTable_Row::COLUMNS => array( col1_name => value1, col2_name => value2, ...), + * Piwik_DataTable_Row::DETAILS => array( detail1_name => value1, ...), // see Piwik_DataTable_Row + * + * ), + * * // row2 * array( ... ), * @@ -706,90 +706,90 @@ class Piwik_DataTable $this->addRow($row); } - } - - /** - * Loads the data from a simple php array. - * Basically maps a simple multidimensional php array to a DataTable. - * Not recursive (if a row contains a php array itself, it won't be loaded) - * - * @param array Array with the simple structure: - * array( - * array( col1_name => valueA, col2_name => valueC, ...), - * array( col1_name => valueB, col2_name => valueD, ...), - * ) - */ - public function loadFromSimpleArray( $array ) - { - // we define an exception we may throw if at one point we notice that we cannot handle the data structure - $e = new Exception(" Data structure returned is not convertible in the requested format.". - " Try to call this method with the parameters '&format=original&serialize=1'". - "; you will get the original php data structure serialized.". - " The data structure looks like this: \n \$data = " . var_export($array, true) . "; "); - - - // first pass to see if the array has the structure - // array(col1_name => val1, col2_name => val2, etc.) - // with val* that are never arrays (only strings/numbers/bool/etc.) - // if we detect such a "simple" data structure we convert it to a row with the correct columns' names + } + + /** + * Loads the data from a simple php array. + * Basically maps a simple multidimensional php array to a DataTable. + * Not recursive (if a row contains a php array itself, it won't be loaded) + * + * @param array Array with the simple structure: + * array( + * array( col1_name => valueA, col2_name => valueC, ...), + * array( col1_name => valueB, col2_name => valueD, ...), + * ) + */ + public function loadFromSimpleArray( $array ) + { + // we define an exception we may throw if at one point we notice that we cannot handle the data structure + $e = new Exception(" Data structure returned is not convertible in the requested format.". + " Try to call this method with the parameters '&format=original&serialize=1'". + "; you will get the original php data structure serialized.". + " The data structure looks like this: \n \$data = " . var_export($array, true) . "; "); + + + // first pass to see if the array has the structure + // array(col1_name => val1, col2_name => val2, etc.) + // with val* that are never arrays (only strings/numbers/bool/etc.) + // if we detect such a "simple" data structure we convert it to a row with the correct columns' names $rowBuilt = array(); $thisIsNotThatSimple = false; - - foreach($array as $columnName => $columnValue ) - { - if(is_array($columnValue) || is_object($columnValue)) - { - $thisIsNotThatSimple = true; - break; - } - $rowBuilt += array($columnName => $columnValue ); + + foreach($array as $columnName => $columnValue ) + { + if(is_array($columnValue) || is_object($columnValue)) + { + $thisIsNotThatSimple = true; + break; + } + $rowBuilt += array($columnName => $columnValue ); + } + + if($thisIsNotThatSimple === false) + { + $this->addRow( new Piwik_DataTable_Row( array( Piwik_DataTable_Row::COLUMNS => $rowBuilt ) ) ); + // we have converted our simple array to one single row + // => we exit the method as the job is now finished + return; + } + + + foreach($array as $key => $row) + { + // stuff that looks like a line + if(is_array($row)) + { + /** + * We make sure we can convert this PHP array without losing information. + * We are able to convert only simple php array (no strings keys, no sub arrays, etc.) + * + */ + + // if the key is a string it means that some information was contained in this key. + // it cannot be lost during the conversion. Because we are not able to handle properly + // this key, we throw an explicit exception. + if(is_string($key)) + { + throw $e; + } + // if any of the sub elements of row is an array we cannot handle this data structure... + foreach($row as $subRow) + { + if(is_array($subRow)) + { + throw $e; + } + } + + + $row = new Piwik_DataTable_Row( array( Piwik_DataTable_Row::COLUMNS => $row ) ); + } + // other (string, numbers...) => we build a line from this value + else + { + $row = new Piwik_DataTable_Row( array( Piwik_DataTable_Row::COLUMNS => array($key => $row)) ); + } + $this->addRow($row); } - - if($thisIsNotThatSimple === false) - { - $this->addRow( new Piwik_DataTable_Row( array( Piwik_DataTable_Row::COLUMNS => $rowBuilt ) ) ); - // we have converted our simple array to one single row - // => we exit the method as the job is now finished - return; - } - - - foreach($array as $key => $row) - { - // stuff that looks like a line - if(is_array($row)) - { - /** - * We make sure we can convert this PHP array without losing information. - * We are able to convert only simple php array (no strings keys, no sub arrays, etc.) - * - */ - - // if the key is a string it means that some information was contained in this key. - // it cannot be lost during the conversion. Because we are not able to handle properly - // this key, we throw an explicit exception. - if(is_string($key)) - { - throw $e; - } - // if any of the sub elements of row is an array we cannot handle this data structure... - foreach($row as $subRow) - { - if(is_array($subRow)) - { - throw $e; - } - } - - - $row = new Piwik_DataTable_Row( array( Piwik_DataTable_Row::COLUMNS => $row ) ); - } - // other (string, numbers...) => we build a line from this value - else - { - $row = new Piwik_DataTable_Row( array( Piwik_DataTable_Row::COLUMNS => array($key => $row)) ); - } - $this->addRow($row); - } } /** diff --git a/modules/DataTable/Filter.php b/modules/DataTable/Filter.php index 561e3c3baa..4bd93267c3 100644 --- a/modules/DataTable/Filter.php +++ b/modules/DataTable/Filter.php @@ -1,14 +1,14 @@ -table; } - $rows = $table->getRows(); + $rows = $table->getRows(); foreach($rows as $key => $row) { diff --git a/modules/DataTable/Filter/ReplaceColumnNames.php b/modules/DataTable/Filter/ReplaceColumnNames.php index 2b33bc04aa..4296128511 100644 --- a/modules/DataTable/Filter/ReplaceColumnNames.php +++ b/modules/DataTable/Filter/ReplaceColumnNames.php @@ -1,14 +1,14 @@ -getColumn($this->columnToSort); if($value === false) - { - // we don't throw the exception because we sometimes export a DataTable without a column labelled '2' - // and when the generic filters tries to sort by default using this column 2, this shouldnt raise an exception... - //throw new Exception("The column to sort by '".$this->columnToSort."' is unknown in the row ". implode(array_keys($row->getColumns()), ',')); + { + // we don't throw the exception because we sometimes export a DataTable without a column labelled '2' + // and when the generic filters tries to sort by default using this column 2, this shouldnt raise an exception... + //throw new Exception("The column to sort by '".$this->columnToSort."' is unknown in the row ". implode(array_keys($row->getColumns()), ',')); return; } diff --git a/modules/DataTable/Manager.php b/modules/DataTable/Manager.php index 81d1229d01..7f59e831d9 100644 --- a/modules/DataTable/Manager.php +++ b/modules/DataTable/Manager.php @@ -1,14 +1,14 @@ - $array); - } + } $str = json_encode($array); return $str; } diff --git a/modules/DataTable/Renderer/Php.php b/modules/DataTable/Renderer/Php.php index 50aa9df284..7d80ed23e4 100644 --- a/modules/DataTable/Renderer/Php.php +++ b/modules/DataTable/Renderer/Php.php @@ -1,18 +1,18 @@ - array( 'col1_name' => value1, 'col2_name' => value2 ), - * 'details' => array( 'detail1_name' => value_detail) ) - * - * a flatRender() is - * array( 'col1_name' => value1, - * 'col2_name' => value2, - * 'detail1_name' => value_detail ) - * - * @return array Php array representing the 'flat' version of the datatable - * - */ - public function flatRender( $dataTable = null, $doRenderSubTablesIfAvailable = true ) + + /** + * Produces a flat php array from the DataTable, putting "columns" and "details" on the same level. + * + * For example, when a originalRender() would be + * array( 'columns' => array( 'col1_name' => value1, 'col2_name' => value2 ), + * 'details' => array( 'detail1_name' => value_detail) ) + * + * a flatRender() is + * array( 'col1_name' => value1, + * 'col2_name' => value2, + * 'detail1_name' => value_detail ) + * + * @return array Php array representing the 'flat' version of the datatable + * + */ + public function flatRender( $dataTable = null, $doRenderSubTablesIfAvailable = true ) { if(is_null($dataTable)) { @@ -78,10 +78,10 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer $this->serialize = $serializeSave; } } - - // A DataTable_Simple is already flattened so no need to do some crazy stuff to convert it - else if($dataTable instanceof Piwik_DataTable_Simple) - { + + // A DataTable_Simple is already flattened so no need to do some crazy stuff to convert it + else if($dataTable instanceof Piwik_DataTable_Simple) + { $flatArray = $this->renderSimpleTable($dataTable); // if we return only one numeric value then we print out the result in a simple tag @@ -90,22 +90,22 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer { $flatArray = current($flatArray); } - - } - // A normal DataTable needs to be handled specifically - else - { + + } + // A normal DataTable needs to be handled specifically + else + { $array = $this->renderTable($dataTable, $doRenderSubTablesIfAvailable); - $flatArray = $this->flattenArray($array); - } - - if($this->serialize) - { - $flatArray = serialize($flatArray); - } - - return $flatArray; - } + $flatArray = $this->flattenArray($array); + } + + if($this->serialize) + { + $flatArray = serialize($flatArray); + } + + return $flatArray; + } protected function flattenArray($array) { @@ -124,13 +124,13 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer $flatArray[] = $newRow; } return $flatArray; - } - public function render( $dataTable = null) + } + public function render( $dataTable = null) { if(is_null($dataTable)) { $dataTable = $this->table; - } + } $toReturn = $this->flatRender( $dataTable ); if( false !== Piwik_Common::getRequestVar('prettyDisplay', false) ) @@ -140,9 +140,9 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer $toReturn = unserialize($toReturn); } $toReturn = "
          " . var_export($toReturn, true ) . "
          "; - } - return $toReturn; - } + } + return $toReturn; + } public function originalRender() { @@ -162,7 +162,7 @@ class Piwik_DataTable_Renderer_Php extends Piwik_DataTable_Renderer return $array; } - + protected function renderTable($table, $doRenderSubTablesIfAvailable = true) { diff --git a/modules/DataTable/Renderer/Xml.php b/modules/DataTable/Renderer/Xml.php index ec6f6cff06..1792b33261 100644 --- a/modules/DataTable/Renderer/Xml.php +++ b/modules/DataTable/Renderer/Xml.php @@ -1,15 +1,15 @@ - 'piwik', 'nb_uniq_visitors' => 1685, 'nb_visits' => 1861, 'nb_actions' => 2271, 'max_actions' => 13, 'sum_visit_length' => 920131, 'bounce_count' => 1599] [] [idsubtable = 1375] - */ - public function __toString() - { - $columns = array(); - foreach($this->getColumns() as $column => $value) - { - if(is_string($value)) $value = "'$value'"; - $columns[] = "'$column' => $value"; - } - $columns = implode(", ", $columns); - $details=array(); - - foreach($this->getDetails() as $detail => $value) - { - if(is_string($value)) $value = "'$value'"; - $details[] = "'$detail' => $value"; - } - $details = implode(", ", $details); - $output = "# [".$columns."] [".$details."] [idsubtable = " - . $this->getIdSubDataTable()."]
          \n"; - return $output; - } + */ + public function __toString() + { + $columns = array(); + foreach($this->getColumns() as $column => $value) + { + if(is_string($value)) $value = "'$value'"; + $columns[] = "'$column' => $value"; + } + $columns = implode(", ", $columns); + $details=array(); + + foreach($this->getDetails() as $detail => $value) + { + if(is_string($value)) $value = "'$value'"; + $details[] = "'$detail' => $value"; + } + $details = implode(", ", $details); + $output = "# [".$columns."] [".$details."] [idsubtable = " + . $this->getIdSubDataTable()."]
          \n"; + return $output; + } /** * Deletes the given column diff --git a/modules/DataTable/Row/DataTableSummary.php b/modules/DataTable/Row/DataTableSummary.php index 8f34a79655..011014bd1b 100644 --- a/modules/DataTable/Row/DataTableSummary.php +++ b/modules/DataTable/Row/DataTableSummary.php @@ -1,14 +1,14 @@ -getTimestamp(); } return date($part, $this->getTimestamp()); - } + } /** * Adds days to the existing date object. diff --git a/modules/ErrorHandler.php b/modules/ErrorHandler.php index 9859791651..fdd3b63380 100755 --- a/modules/ErrorHandler.php +++ b/modules/ErrorHandler.php @@ -1,23 +1,23 @@ -typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_DIRECT_ENTRY; $this->nameRefererAnalyzed = ''; - $this->keywordRefererAnalyzed = ''; - + $this->keywordRefererAnalyzed = ''; + // get the urls and parse them $refererUrl = Piwik_Common::getRequestVar( 'urlref', '', 'string'); $currentUrl = Piwik_Common::getRequestVar( 'url', '', 'string'); $this->refererUrlParse = @parse_url($refererUrl); $this->currentUrlParse = @parse_url($currentUrl); - - // if we have a referer available we try to detect something interesting + + // if we have a referer available we try to detect something interesting // otherwise it's defaulted to "the visitor is a direct entry" if( !empty($this->refererUrlParse['host']) ) { $this->refererHost = $this->refererUrlParse['host']; - if( !$this->detectRefererSearchEngine() - && !$this->detectRefererNewsletter() - && !$this->detectRefererPartner() - && !$this->detectRefererCampaign() - && !$this->detectRefererDirectEntry() - ) - { - // Normal website referer - $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_WEBSITE; - $this->nameRefererAnalyzed = $this->refererHost; + if( !$this->detectRefererSearchEngine() + && !$this->detectRefererNewsletter() + && !$this->detectRefererPartner() + && !$this->detectRefererCampaign() + && !$this->detectRefererDirectEntry() + ) + { + // Normal website referer + $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_WEBSITE; + $this->nameRefererAnalyzed = $this->refererHost; } } @@ -624,153 +624,153 @@ class Piwik_LogStats_Visit return $refererInformation; } - - /* - * Search engine detection - */ - private function detectRefererSearchEngine() - { - /* - * A referer is a search engine if the URL's host is in the SearchEngines array - * and if we found the keyword in the URL. - * - * For example if someone comes from http://www.google.com/partners.html this will not - * be counted as a search engines, but as a website referer from google.com (because the - * keyword couldn't be found in the URL) - */ - require PIWIK_DATAFILES_INCLUDE_PATH . "/SearchEngines.php"; - - if(array_key_exists($this->refererHost, $GLOBALS['Piwik_SearchEngines'])) - { - // which search engine ? - $searchEngineName = $GLOBALS['Piwik_SearchEngines'][$this->refererHost][0]; - $variableName = $GLOBALS['Piwik_SearchEngines'][$this->refererHost][1]; - - // if there is a query, there may be a keyword... - if(isset($this->refererUrlParse['query'])) - { - $query = $this->refererUrlParse['query']; - - // search for keywords now &vname=keyword - $key = trim(strtolower(Piwik_Common::getParameterFromQueryString($query, $variableName))); - - if((function_exists('iconv')) - && (isset($GLOBALS['Piwik_SearchEngines'][$this->refererHost][2]))) - { - $charset = trim($GLOBALS['Piwik_SearchEngines'][$this->refererHost][2]); - - if(!empty($charset)) - { - $key = htmlspecialchars( - @iconv( $charset, + + /* + * Search engine detection + */ + private function detectRefererSearchEngine() + { + /* + * A referer is a search engine if the URL's host is in the SearchEngines array + * and if we found the keyword in the URL. + * + * For example if someone comes from http://www.google.com/partners.html this will not + * be counted as a search engines, but as a website referer from google.com (because the + * keyword couldn't be found in the URL) + */ + require PIWIK_DATAFILES_INCLUDE_PATH . "/SearchEngines.php"; + + if(array_key_exists($this->refererHost, $GLOBALS['Piwik_SearchEngines'])) + { + // which search engine ? + $searchEngineName = $GLOBALS['Piwik_SearchEngines'][$this->refererHost][0]; + $variableName = $GLOBALS['Piwik_SearchEngines'][$this->refererHost][1]; + + // if there is a query, there may be a keyword... + if(isset($this->refererUrlParse['query'])) + { + $query = $this->refererUrlParse['query']; + + // search for keywords now &vname=keyword + $key = trim(strtolower(Piwik_Common::getParameterFromQueryString($query, $variableName))); + + if((function_exists('iconv')) + && (isset($GLOBALS['Piwik_SearchEngines'][$this->refererHost][2]))) + { + $charset = trim($GLOBALS['Piwik_SearchEngines'][$this->refererHost][2]); + + if(!empty($charset)) + { + $key = htmlspecialchars( + @iconv( $charset, 'utf-8//TRANSLIT', - //TODO testthis fnction exists!! use upgrade.php - htmlspecialchars_decode($key, Piwik_Common::HTML_ENCODING_QUOTE_STYLE)) - , Piwik_Common::HTML_ENCODING_QUOTE_STYLE); - } - } - - - if(!empty($key)) - { - $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_SEARCH_ENGINE; - $this->nameRefererAnalyzed = $searchEngineName; - $this->keywordRefererAnalyzed = $key; - - return true; - } - } - } - } - - /* - * Newsletter analysis - */ - private function detectRefererNewsletter() - { - if(isset($this->currentUrlParse['query'])) - { - $newsletterVariableName = Piwik_LogStats_Config::getInstance()->LogStats['newsletter_var_name']; - $newsletterVar = Piwik_Common::getParameterFromQueryString( $this->currentUrlParse['query'], $newsletterVariableName); - - if(!empty($newsletterVar)) - { - $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_NEWSLETTER; - $this->nameRefererAnalyzed = $newsletterVar; - - return true; - } - } - } - - /* - * Partner analysis - */ - private function detectRefererPartner() - { - if(isset($this->currentUrlParse['query'])) - { - $partnerVariableName = Piwik_LogStats_Config::getInstance()->LogStats['partner_var_name']; - $partnerVar = Piwik_Common::getParameterFromQueryString($this->currentUrlParse['query'], $partnerVariableName); - - if(!empty($partnerVar)) - { - $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_PARTNER; - $this->nameRefererAnalyzed = $partnerVar; - - return true; - } - } - } - - /* - * Campaign analysis - */ - private function detectRefererCampaign() - { - if(isset($this->currentUrlParse['query'])) - { - $campaignVariableName = Piwik_LogStats_Config::getInstance()->LogStats['campaign_var_name']; - $campaignName = Piwik_Common::getParameterFromQueryString($this->currentUrlParse['query'], $campaignVariableName); - - if( !empty($campaignName)) - { - $campaignKeywordVariableName = Piwik_LogStats_Config::getInstance()->LogStats['campaign_keyword_var_name']; - $campaignKeyword = Piwik_Common::getParameterFromQueryString($this->currentUrlParse['query'], $campaignKeywordVariableName); - - $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_CAMPAIGN; - $this->nameRefererAnalyzed = $campaignName; - - if(!empty($campaignKeyword)) - { - $this->keywordRefererAnalyzed = $campaignKeyword; - } - - return true; - } - } - } - - /* - * Direct entry (referer host is similar to current host) - * And we have previously tried to detect the newsletter/partner/campaign variables in the URL - * so it can only be a direct access - */ - - private function detectRefererDirectEntry() - { - if(isset($this->currentUrlParse['host'])) - { - $currentHost = $this->currentUrlParse['host']; - - if($currentHost == $this->refererHost) - { - $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_DIRECT_ENTRY; - - return true; - } - } - + //TODO testthis fnction exists!! use upgrade.php + htmlspecialchars_decode($key, Piwik_Common::HTML_ENCODING_QUOTE_STYLE)) + , Piwik_Common::HTML_ENCODING_QUOTE_STYLE); + } + } + + + if(!empty($key)) + { + $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_SEARCH_ENGINE; + $this->nameRefererAnalyzed = $searchEngineName; + $this->keywordRefererAnalyzed = $key; + + return true; + } + } + } + } + + /* + * Newsletter analysis + */ + private function detectRefererNewsletter() + { + if(isset($this->currentUrlParse['query'])) + { + $newsletterVariableName = Piwik_LogStats_Config::getInstance()->LogStats['newsletter_var_name']; + $newsletterVar = Piwik_Common::getParameterFromQueryString( $this->currentUrlParse['query'], $newsletterVariableName); + + if(!empty($newsletterVar)) + { + $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_NEWSLETTER; + $this->nameRefererAnalyzed = $newsletterVar; + + return true; + } + } + } + + /* + * Partner analysis + */ + private function detectRefererPartner() + { + if(isset($this->currentUrlParse['query'])) + { + $partnerVariableName = Piwik_LogStats_Config::getInstance()->LogStats['partner_var_name']; + $partnerVar = Piwik_Common::getParameterFromQueryString($this->currentUrlParse['query'], $partnerVariableName); + + if(!empty($partnerVar)) + { + $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_PARTNER; + $this->nameRefererAnalyzed = $partnerVar; + + return true; + } + } + } + + /* + * Campaign analysis + */ + private function detectRefererCampaign() + { + if(isset($this->currentUrlParse['query'])) + { + $campaignVariableName = Piwik_LogStats_Config::getInstance()->LogStats['campaign_var_name']; + $campaignName = Piwik_Common::getParameterFromQueryString($this->currentUrlParse['query'], $campaignVariableName); + + if( !empty($campaignName)) + { + $campaignKeywordVariableName = Piwik_LogStats_Config::getInstance()->LogStats['campaign_keyword_var_name']; + $campaignKeyword = Piwik_Common::getParameterFromQueryString($this->currentUrlParse['query'], $campaignKeywordVariableName); + + $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_CAMPAIGN; + $this->nameRefererAnalyzed = $campaignName; + + if(!empty($campaignKeyword)) + { + $this->keywordRefererAnalyzed = $campaignKeyword; + } + + return true; + } + } + } + + /* + * Direct entry (referer host is similar to current host) + * And we have previously tried to detect the newsletter/partner/campaign variables in the URL + * so it can only be a direct access + */ + + private function detectRefererDirectEntry() + { + if(isset($this->currentUrlParse['host'])) + { + $currentHost = $this->currentUrlParse['host']; + + if($currentHost == $this->refererHost) + { + $this->typeRefererAnalyzed = Piwik_Common::REFERER_TYPE_DIRECT_ENTRY; + + return true; + } + } + } /** * Returns a MD5 of all the configuration settings diff --git a/modules/Period.php b/modules/Period.php index 90d94bb707..f967aa0ff1 100644 --- a/modules/Period.php +++ b/modules/Period.php @@ -1,14 +1,14 @@ -getDate(); } - - /** - * Returns the last day of the period ; can be a date in the future - * - * @return Piwik_Date Last day of the period + + /** + * Returns the last day of the period ; can be a date in the future + * + * @return Piwik_Date Last day of the period */ public function getDateEnd() { @@ -114,7 +114,7 @@ abstract class Piwik_Period public function getId() { return Piwik::$idPeriods[$this->getLabel()]; - } + } public function getLabel() { @@ -124,11 +124,11 @@ abstract class Piwik_Period /** * * @return Piwik_Date - */ - protected function getDate() - { - return $this->date; - } + */ + protected function getDate() + { + return $this->date; + } protected function checkInputDate($date) { @@ -380,10 +380,10 @@ class Piwik_Period_Range extends Piwik_Period return $range; } } - -/** - * - * @package Piwik_Period + +/** + * + * @package Piwik_Period */ class Piwik_Period_Day extends Piwik_Period { @@ -425,10 +425,10 @@ class Piwik_Period_Day extends Piwik_Period } - -/** - * - * @package Piwik_Period + +/** + * + * @package Piwik_Period */ class Piwik_Period_Week extends Piwik_Period { @@ -468,10 +468,10 @@ class Piwik_Period_Week extends Piwik_Period } } - -/** - * - * @package Piwik_Period + +/** + * + * @package Piwik_Period */ class Piwik_Period_Month extends Piwik_Period { @@ -518,11 +518,11 @@ class Piwik_Period_Month extends Piwik_Period return ( date("m") > $this->date->get("m") && date("Y") == $year) || date("Y") > $year; } -} - -/** - * - * @package Piwik_Period +} + +/** + * + * @package Piwik_Period */ class Piwik_Period_Year extends Piwik_Period { diff --git a/modules/Piwik.php b/modules/Piwik.php index 2bf043a301..8a21d2ab59 100755 --- a/modules/Piwik.php +++ b/modules/Piwik.php @@ -1,25 +1,25 @@ -fetchCol("SHOW TABLES LIKE '".$prefixTables."archive_numeric%'"); - $allArchiveBlob = $db->fetchCol("SHOW TABLES LIKE '".$prefixTables."archive_blob%'"); + $allArchiveNumeric = $db->fetchCol("SHOW TABLES LIKE '".$prefixTables."archive_numeric%'"); + $allArchiveBlob = $db->fetchCol("SHOW TABLES LIKE '".$prefixTables."archive_blob%'"); $allTablesReallyInstalled = array_merge($tablesInstalled, $allArchiveNumeric, $allArchiveBlob); @@ -849,8 +849,8 @@ class Piwik } Zend_Registry::set($loggerType, $logger); } - } - + } + static public function createConfigObject( $pathConfigFile = null ) { @@ -887,21 +887,21 @@ class Piwik static public function isValidEmailString( $email ) { return (preg_match('/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9_.-]+\.[a-zA-Z]{2,4}$/', $email) > 0); - } - - /** - * Creates an entry in the User table for the "anonymous" user. - * - * @return void + } + + /** + * Creates an entry in the User table for the "anonymous" user. + * + * @return void */ - static public function createAnonymousUser() - { - // The anonymous user is the user that is assigned by default - // note that the token_auth value is anonymous, which is assigned by default as well in the Login plugin - $db = Zend_Registry::get('db'); - $db->query("INSERT INTO ". Piwik::prefixTable("user") . " - VALUES ( 'anonymous', '', 'anonymous', 'anonymous@example.org', 'anonymous', CURRENT_TIMESTAMP );" ); - } + static public function createAnonymousUser() + { + // The anonymous user is the user that is assigned by default + // note that the token_auth value is anonymous, which is assigned by default as well in the Login plugin + $db = Zend_Registry::get('db'); + $db->query("INSERT INTO ". Piwik::prefixTable("user") . " + VALUES ( 'anonymous', '', 'anonymous', 'anonymous@example.org', 'anonymous', CURRENT_TIMESTAMP );" ); + } static public function createTablesIndex() { diff --git a/modules/Plugin.php b/modules/Plugin.php index 2d65794598..8b44be2864 100644 --- a/modules/Plugin.php +++ b/modules/Plugin.php @@ -1,14 +1,14 @@ -getInformation(); - return $info['name']; - } + + /** + * Returns the plugin name + */ + public function getName() + { + $info = $this->getInformation(); + return $info['name']; + } /** * Returns the list of hooks registered with the methods names diff --git a/modules/PluginsManager.php b/modules/PluginsManager.php index f7bbc87cf6..7dcbe6ca02 100644 --- a/modules/PluginsManager.php +++ b/modules/PluginsManager.php @@ -1,41 +1,41 @@ -loadedPlugins[$plugin->getName()]); - } - public function unloadPlugins() - { - $pluginsLoaded = $this->getLoadedPlugins(); - foreach($pluginsLoaded as $plugin) - { - $this->unloadPlugin($plugin); - } + } + public function unloadPlugins() + { + $pluginsLoaded = $this->getLoadedPlugins(); + foreach($pluginsLoaded as $plugin) + { + $this->unloadPlugin($plugin); + } } } diff --git a/modules/Site.php b/modules/Site.php index e82abc335a..791e1e42d6 100644 --- a/modules/Site.php +++ b/modules/Site.php @@ -1,14 +1,14 @@ - - * {url module="API"} will rewrite the URL modifying the module GET parameter - * {url module="API" method="getKeywords"} will rewrite the URL modifying the parameters module=API method=getKeywords - *
          - * - * @see Piwik_Url::getCurrentQueryStringWithParametersModified() + * {url module="API"} will rewrite the URL modifying the module GET parameter + * {url module="API" method="getKeywords"} will rewrite the URL modifying the parameters module=API method=getKeywords + * + * + * @see Piwik_Url::getCurrentQueryStringWithParametersModified() * @param $name=$value of the parameters to modify in the generated URL * @return string Something like index.php?module=X&action=Y */ diff --git a/modules/SmartyPlugins/modifier.sumtime.php b/modules/SmartyPlugins/modifier.sumtime.php index 3126946cdc..49a55d69de 100644 --- a/modules/SmartyPlugins/modifier.sumtime.php +++ b/modules/SmartyPlugins/modifier.sumtime.php @@ -1,13 +1,13 @@ -Language->current; - + if( Piwik_Common::isValidFilename($language)) { - return $language; - } - else - { - throw new Exception("The language selected ('$language') is not a valid language file "); + return $language; + } + else + { + throw new Exception("The language selected ('$language') is not a valid language file "); } } } diff --git a/modules/Url.php b/modules/Url.php index 0fe28761ac..8667c6283f 100644 --- a/modules/Url.php +++ b/modules/Url.php @@ -1,18 +1,18 @@ - 0) - { - return '?'.$query; - } - else - { - return ''; + $query = http_build_query($urlValues); + + if(strlen($query) > 0) + { + return '?'.$query; + } + else + { + return ''; } } diff --git a/modules/View.php b/modules/View.php index ac64056611..e81bf8445a 100644 --- a/modules/View.php +++ b/modules/View.php @@ -1,22 +1,22 @@ - $value) { $this->smarty->$key = $value; - } + } - $this->smarty->template_dir = $this->getCorrectPath( $smConf->template_dir->toArray() ); - $this->smarty->plugins_dir = $this->getCorrectPath( $smConf->plugins_dir->toArray() ); - $this->smarty->compile_dir = $this->getCorrectPath( $smConf->compile_dir ); - $this->smarty->cache_dir = $this->getCorrectPath( $smConf->cache_dir ); + $this->smarty->template_dir = $this->getCorrectPath( $smConf->template_dir->toArray() ); + $this->smarty->plugins_dir = $this->getCorrectPath( $smConf->plugins_dir->toArray() ); + $this->smarty->compile_dir = $this->getCorrectPath( $smConf->compile_dir ); + $this->smarty->cache_dir = $this->getCorrectPath( $smConf->cache_dir ); $this->smarty->load_filter('output','trimwhitespace'); // global value accessible to all templates: the piwik base URL for the current request $this->piwikUrl = Piwik_Url::getCurrentUrlWithoutFileName(); - } - - protected function getCorrectPath( $path ) - { - if(is_array($path)) - { - foreach($path as &$dir) - { - $dir = PIWIK_INCLUDE_PATH . '/' . $dir ; - } - return $path; - } - else - { - return PIWIK_INCLUDE_PATH . '/' . $path; - } + } + + protected function getCorrectPath( $path ) + { + if(is_array($path)) + { + foreach($path as &$dir) + { + $dir = PIWIK_INCLUDE_PATH . '/' . $dir ; + } + return $path; + } + else + { + return PIWIK_INCLUDE_PATH . '/' . $path; + } } /** diff --git a/modules/ViewDataTable/Cloud.php b/modules/ViewDataTable/Cloud.php index fbb831301d..3764b8d2fa 100644 --- a/modules/ViewDataTable/Cloud.php +++ b/modules/ViewDataTable/Cloud.php @@ -1,22 +1,22 @@ -renderView($view, $fetch); * } * - * - * @package Piwik_ViewDataTable - * + * + * @package Piwik_ViewDataTable + * */ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable { @@ -47,29 +47,29 @@ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable * Number of elements to display in the graph. * * @var int - */ - protected $graphLimit = 5; + */ + protected $graphLimit = 5; /** * Sets the number max of elements to display (number of pie slice, vertical bars, etc.) * If the data has more elements than $limit then the last part of the data will be the sum of all the remaining data. * * @param int $limit - */ - function setGraphLimit( $limit ) - { - $this->graphLimit = $limit; - } + */ + function setGraphLimit( $limit ) + { + $this->graphLimit = $limit; + } /** * Returns numbers of elemnts to display in the graph * * @return int - */ - function getGraphLimit() - { - return $this->graphLimit; + */ + function getGraphLimit() + { + return $this->graphLimit; } - + public function main() { if($this->mainAlreadyExecuted) @@ -77,12 +77,12 @@ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable return; } $this->mainAlreadyExecuted = true; - + $this->setLimit(-1); - - // we load the data with the filters applied + + // we load the data with the filters applied $this->loadDataTableFromAPI(); - $this->dataTable->queueFilter('Piwik_DataTable_Filter_AddSummaryRow',array($this->getGraphLimit())); + $this->dataTable->queueFilter('Piwik_DataTable_Filter_AddSummaryRow',array($this->getGraphLimit())); // echo $this->dataTable; $this->dataAvailable = $this->dataTable->getRowsCount() != 0; @@ -133,7 +133,7 @@ abstract class Piwik_ViewDataTable_GenerateGraphData extends Piwik_ViewDataTable // var_dump($data);exit; return $data; } -} +} /** * Piwik_ViewDataTable_GenerateGraphData for the Evolution graph (eg. Last 30 days visits) using Piwik_Visualization_ChartEvolution @@ -161,26 +161,26 @@ class Piwik_ViewDataTable_GenerateGraphData_ChartEvolution extends Piwik_ViewDat * * @package Piwik_ViewDataTable * - */ -class Piwik_ViewDataTable_GenerateGraphData_ChartPie extends Piwik_ViewDataTable_GenerateGraphData -{ - function __construct() - { - require_once "Visualization/ChartPie.php"; - $this->view = new Piwik_Visualization_ChartPie; - } -} + */ +class Piwik_ViewDataTable_GenerateGraphData_ChartPie extends Piwik_ViewDataTable_GenerateGraphData +{ + function __construct() + { + require_once "Visualization/ChartPie.php"; + $this->view = new Piwik_Visualization_ChartPie; + } +} /** - * Piwik_ViewDataTable_GenerateGraphData for the vertical bar graph, using Piwik_Visualization_ChartVerticalBar - * - * @package Piwik_ViewDataTable - * - */ -class Piwik_ViewDataTable_GenerateGraphData_ChartVerticalBar extends Piwik_ViewDataTable_GenerateGraphData -{ - function __construct() - { - require_once "Visualization/ChartVerticalBar.php"; - $this->view = new Piwik_Visualization_ChartVerticalBar; - } + * Piwik_ViewDataTable_GenerateGraphData for the vertical bar graph, using Piwik_Visualization_ChartVerticalBar + * + * @package Piwik_ViewDataTable + * + */ +class Piwik_ViewDataTable_GenerateGraphData_ChartVerticalBar extends Piwik_ViewDataTable_GenerateGraphData +{ + function __construct() + { + require_once "Visualization/ChartVerticalBar.php"; + $this->view = new Piwik_Visualization_ChartVerticalBar; + } } diff --git a/modules/ViewDataTable/Graph.php b/modules/ViewDataTable/Graph.php index debad0edd6..c96f465aa5 100644 --- a/modules/ViewDataTable/Graph.php +++ b/modules/ViewDataTable/Graph.php @@ -1,20 +1,20 @@ -id = $this->getUniqIdTable(); $view->graphType = $this->graphType; - $this->parametersToModify['action'] = $this->currentControllerAction; + $this->parametersToModify['action'] = $this->currentControllerAction; $url = Piwik_Url::getCurrentQueryStringWithParametersModified($this->parametersToModify); $view->jsInvocationTag = $this->getFlashInvocationCode($url); $view->urlData = $url; @@ -87,7 +87,7 @@ abstract class Piwik_ViewDataTable_Graph extends Piwik_ViewDataTable $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet(); $view->showFooter = $this->getShowFooter(); $this->view = $view; - } + } protected function getFlashInvocationCode( $url = 'libs/open-flash-chart/data-files/nodata.txt', $use_swfobject = true ) { @@ -165,32 +165,32 @@ class Piwik_ViewDataTable_Graph_ChartEvolution extends Piwik_ViewDataTable_Graph $this->setParametersToModify(array('date' => 'last30')); $this->doNotShowFooter(); } -} -/** +} +/** * Generates HTML embed for the Pie chart - * - * @package Piwik_ViewDataTable - * - */ -class Piwik_ViewDataTable_Graph_ChartPie extends Piwik_ViewDataTable_Graph -{ - function __construct() - { - $this->valueParameterViewDataTable = 'generateDataChartPie'; - } -} - -/** + * + * @package Piwik_ViewDataTable + * + */ +class Piwik_ViewDataTable_Graph_ChartPie extends Piwik_ViewDataTable_Graph +{ + function __construct() + { + $this->valueParameterViewDataTable = 'generateDataChartPie'; + } +} + +/** * * Generates HTML embed for the vertical bar chart - * - * @package Piwik_ViewDataTable - * - */ -class Piwik_ViewDataTable_Graph_ChartVerticalBar extends Piwik_ViewDataTable_Graph -{ - function __construct() - { - $this->valueParameterViewDataTable = 'generateDataChartVerticalBar'; - } -} + * + * @package Piwik_ViewDataTable + * + */ +class Piwik_ViewDataTable_Graph_ChartVerticalBar extends Piwik_ViewDataTable_Graph +{ + function __construct() + { + $this->valueParameterViewDataTable = 'generateDataChartVerticalBar'; + } +} diff --git a/modules/Visualization/Chart.php b/modules/Visualization/Chart.php index 16cd5bc4dd..d45cd2d373 100644 --- a/modules/Visualization/Chart.php +++ b/modules/Visualization/Chart.php @@ -1,22 +1,22 @@ -dataGraph); exit; $max = 0; foreach($this->dataGraph as $row) diff --git a/modules/Visualization/Cloud.php b/modules/Visualization/Cloud.php index aa12efaa43..2a8924f5db 100644 --- a/modules/Visualization/Cloud.php +++ b/modules/Visualization/Cloud.php @@ -1,22 +1,22 @@ -data_sets = array(); diff --git a/modules/iView.php b/modules/iView.php index 42003b4a72..c35edafa50 100644 --- a/modules/iView.php +++ b/modules/iView.php @@ -1,20 +1,20 @@ -= 0 ) -{ - $piwik_errorMessage = "

          To run Piwik you need at least PHP version $piwik_minimumPhpVersion

          -

          Unfortunately it seems your webserver is using PHP version $piwik_currentVersion.

          -

          Please try to update your PHP version, Piwik is really worth it! Nowadays most web hosts += 0 ) +{ + $piwik_errorMessage = "

          To run Piwik you need at least PHP version $piwik_minimumPhpVersion

          +

          Unfortunately it seems your webserver is using PHP version $piwik_currentVersion.

          +

          Please try to update your PHP version, Piwik is really worth it! Nowadays most web hosts support PHP $piwik_minimumPhpVersion.

          "; } @@ -89,7 +89,7 @@ function Piwik_ExitWithMessage($message) if(isset($piwik_errorMessage)) { - Piwik_ExitWithMessage($piwik_errorMessage); + Piwik_ExitWithMessage($piwik_errorMessage); } diff --git a/piwik.php b/piwik.php index 4c5891bb23..76bb5c8fe8 100644 --- a/piwik.php +++ b/piwik.php @@ -1,12 +1,12 @@ -process(); } - - protected function init() - { - $plugins = Piwik_PluginsManager::getInstance()->getLoadedPluginsName(); - - $loaded = 0; - foreach( $plugins as $plugin ) - { - $plugin = Piwik::unprefixClass($plugin); - - try { - Piwik_API_Proxy::getInstance()->registerClass($plugin); - $loaded++; - } - catch(Exception $e){ -// $errors .= "
          \n" . $e->getMessage(); - } - } - return $loaded; - } - - function listAllMethods() - { - $this->init(); - echo Piwik_API_Proxy::getInstance()->getAllInterfaceString( $outputExampleUrls = true, $prefixUrls = Piwik_Common::getRequestVar('prefixUrl', '') ); - } - + + protected function init() + { + $plugins = Piwik_PluginsManager::getInstance()->getLoadedPluginsName(); + + $loaded = 0; + foreach( $plugins as $plugin ) + { + $plugin = Piwik::unprefixClass($plugin); + + try { + Piwik_API_Proxy::getInstance()->registerClass($plugin); + $loaded++; + } + catch(Exception $e){ +// $errors .= "
          \n" . $e->getMessage(); + } + } + return $loaded; + } + + function listAllMethods() + { + $this->init(); + echo Piwik_API_Proxy::getInstance()->getAllInterfaceString( $outputExampleUrls = true, $prefixUrls = Piwik_Common::getRequestVar('prefixUrl', '') ); + } + function listAllAPI() - { - $token_auth = Zend_Registry::get('auth')->getTokenAuth(); - echo ""; - echo "

          API quick documentation

          "; - echo "

          If you don't have data for today you can first generate some data using the Visits Generator script.

          "; - echo "

          You can try the different formats available for every method. It is very easy to extract any data you want from piwik!

          "; + { + $token_auth = Zend_Registry::get('auth')->getTokenAuth(); + echo ""; + echo "

          API quick documentation

          "; + echo "

          If you don't have data for today you can first generate some data using the Visits Generator script.

          "; + echo "

          You can try the different formats available for every method. It is very easy to extract any data you want from piwik!

          "; echo "

          If you want to request the data without being logged in to Piwik you need to add the parameter &token_auth=$token_auth to the API calls URLs that require authentication.

          "; - echo "

          For more information have a look at the official API Documentation or the API Reference.

          "; + echo "

          For more information have a look at the official API Documentation or the API Reference.

          "; - $loaded = $this->init(); - echo "

          Loaded successfully $loaded APIs

          \n"; + $loaded = $this->init(); + echo "

          Loaded successfully $loaded APIs

          \n"; echo Piwik_API_Proxy::getInstance()->getAllInterfaceString(); echo "

          Back to Piwik homepage

          "; diff --git a/plugins/AdminHome/templates/index.tpl b/plugins/AdminHome/templates/index.tpl index f2139afe46..8593a294b8 100644 --- a/plugins/AdminHome/templates/index.tpl +++ b/plugins/AdminHome/templates/index.tpl @@ -1,47 +1,47 @@ - - - - - -{literal} - -{/literal} - - - - - - -Piwik admin   -Back to Piwik -

          - - - -
          -
          - -
          -{if $content}{$content}{/if} -
          - - + + + + + +{literal} + +{/literal} + + + + + + +Piwik admin   +Back to Piwik +

          + + + +
          +
          + +
          +{if $content}{$content}{/if} +
          + + diff --git a/plugins/AdminHome/templates/menu.tpl b/plugins/AdminHome/templates/menu.tpl index 08dd8e0dde..0922c2e05b 100644 --- a/plugins/AdminHome/templates/menu.tpl +++ b/plugins/AdminHome/templates/menu.tpl @@ -1,5 +1,5 @@ -
            -{foreach from=$menu key=name item=url name=menu} -
          • {$name}
          • -{/foreach} -
          +
            +{foreach from=$menu key=name item=url name=menu} +
          • {$name}
          • +{/foreach} +
          diff --git a/plugins/ExamplePlugin/API.php b/plugins/ExamplePlugin/API.php index c4649baade..0cb23e83ca 100644 --- a/plugins/ExamplePlugin/API.php +++ b/plugins/ExamplePlugin/API.php @@ -1,37 +1,37 @@ -setColumns( array('name' => 'piwik', 'license' => 'GPL')); - $dataTable->addRow($row1); - - $dataTable->addRowFromSimpleArray( array('name' => 'google analytics', 'license' => 'commercial') ); - - return $dataTable; + + public function getAnswerToLife() + { + return 42; + } + + public function getGoldenRatio() + { + //http://en.wikipedia.org/wiki/Golden_ratio + return 1.618033988749894848204586834365; + } + public function getObject() + { + return new MagicObject(); + } + public function getNull() + { + return null; + } + public function getDescriptionArray() + { + return array('piwik','open source','web analytics','free'); + } + public function getCompetitionDatatable() + { + $dataTable = new Piwik_DataTable(); + + $row1 = new Piwik_DataTable_Row; + $row1->setColumns( array('name' => 'piwik', 'license' => 'GPL')); + $dataTable->addRow($row1); + + $dataTable->addRowFromSimpleArray( array('name' => 'google analytics', 'license' => 'commercial') ); + + return $dataTable; } public function getMoreInformationAnswerToLife() diff --git a/plugins/Home/templates/datatable.tpl b/plugins/Home/templates/datatable.tpl index ad7eda2152..8f3d7ad756 100644 --- a/plugins/Home/templates/datatable.tpl +++ b/plugins/Home/templates/datatable.tpl @@ -34,7 +34,7 @@ {if $showFooter} {include file="Home/templates/datatable_footer.tpl"} - {/if} + {/if} {include file="Home/templates/datatable_js.tpl"} {/if}
    diff --git a/plugins/Home/templates/datatable_actions_js.tpl b/plugins/Home/templates/datatable_actions_js.tpl index 0b740254b2..5bf5ed2bca 100644 --- a/plugins/Home/templates/datatable_actions_js.tpl +++ b/plugins/Home/templates/datatable_actions_js.tpl @@ -1,12 +1,12 @@ + diff --git a/plugins/Home/templates/datatable_actions_recursive.tpl b/plugins/Home/templates/datatable_actions_recursive.tpl index 35df863d5d..f93e76cb1a 100644 --- a/plugins/Home/templates/datatable_actions_recursive.tpl +++ b/plugins/Home/templates/datatable_actions_recursive.tpl @@ -37,7 +37,7 @@
    {/if} - {include file="Home/templates/datatable_footer.tpl"} + {include file="Home/templates/datatable_footer.tpl"} {include file="Home/templates/datatable_actions_js.tpl"} {/if} diff --git a/plugins/Home/templates/datatable_js.tpl b/plugins/Home/templates/datatable_js.tpl index 4c59eedde3..83043606f4 100644 --- a/plugins/Home/templates/datatable_js.tpl +++ b/plugins/Home/templates/datatable_js.tpl @@ -1,12 +1,12 @@ + diff --git a/plugins/Home/templates/index.tpl b/plugins/Home/templates/index.tpl index 3482497ce3..ed74aa78d0 100644 --- a/plugins/Home/templates/index.tpl +++ b/plugins/Home/templates/index.tpl @@ -1,338 +1,338 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - - - + + + - - - - - - - - - - -{literal} - - -{/literal} - - - -
    - - {$userLogin} - | - -{hiddenurl idSite=null} -Site - | {if $userLogin=='anonymous'}Login{else}Logout{/if} - -
    -
    - -Piwik # open source web analytics
    -
    -
    -
    - Piwik is still alpha. You can send us your feedback. - {include file="Home/templates/links_misc_modules.tpl"} -
    -
    - - - -{include file="Home/templates/period_select.tpl"} - -

    -{include file="Home/templates/menu.tpl"} - -
    - -
    Loading data...
    -
    Oops… problem during the request, please try again.
    -
    -{if $content}{$content}{/if} -
    - -{if ereg('http://127.0.0.1|http://localhost|http://piwik.org', $url)} -{literal} - - - - - - -{/literal} -{/if} + + + + + + + + + + +{literal} + + +{/literal} + + + +
    + + {$userLogin} + | + +{hiddenurl idSite=null} +Site + | {if $userLogin=='anonymous'}Login{else}Logout{/if} + +
    +
    + +Piwik # open source web analytics
    +
    +
    +
    + Piwik is still alpha. You can send us your feedback. + {include file="Home/templates/links_misc_modules.tpl"} +
    +
    + + + +{include file="Home/templates/period_select.tpl"} + +

    +{include file="Home/templates/menu.tpl"} + +
    + +
    Loading data...
    +
    Oops… problem during the request, please try again.
    +
    +{if $content}{$content}{/if} +
    + +{if ereg('http://127.0.0.1|http://localhost|http://piwik.org', $url)} +{literal} + + + + + + +{/literal} +{/if} diff --git a/plugins/Home/templates/links_misc_modules.tpl b/plugins/Home/templates/links_misc_modules.tpl index 3a45f709da..d25d975eda 100644 --- a/plugins/Home/templates/links_misc_modules.tpl +++ b/plugins/Home/templates/links_misc_modules.tpl @@ -1,7 +1,7 @@ - - + + \ No newline at end of file diff --git a/plugins/Home/templates/menu.tpl b/plugins/Home/templates/menu.tpl index ea2157639b..d7f036cbc3 100644 --- a/plugins/Home/templates/menu.tpl +++ b/plugins/Home/templates/menu.tpl @@ -1,16 +1,16 @@ - - - + + + diff --git a/plugins/Home/templates/sparkline.js b/plugins/Home/templates/sparkline.js index 7594c91dd4..2ab68d18c7 100644 --- a/plugins/Home/templates/sparkline.js +++ b/plugins/Home/templates/sparkline.js @@ -1,59 +1,59 @@ - -$(document).ready( function(){ - - //for every section - $("a[name='evolutionGraph']").each( - function() - { - //try to find the graph - var graph = $(this); - - if(graph && graph.size() > 0) - { - //console.log($(this).parent()); - //try to find sparklines and add them clickable behaviour - $(this).parent().find('p').each( - function() - { - var url = ""; - //find the sparkline and get it's src attribute - $(".sparkline", this).each( - function() - { - //search viewDataTable parameter and replace it with value for chart - var reg = new RegExp("(viewDataTable=sparkline)", "g"); - url = this.src.replace(reg,'viewDataTable=generateDataChartEvolution'); - } - ); - - if(url != "") - { - $("*", this).each( - function() - { - //on click, reload the graph with the new url - $(this).click( - function() - { - //get the main page graph and reload with new data - findSWFGraph(graph.attr('graphId')+"Chart_swf").reload(url); - lazyScrollTo(graph[0], 400); - } - ); - - //on hover, change cursor to indicate clickable item - $(this).hover( - function() - { - $(this).css({ cursor: "pointer"}); - }, function (){} - ); - } - ); - } - } - ); - } - } - ); -}); + +$(document).ready( function(){ + + //for every section + $("a[name='evolutionGraph']").each( + function() + { + //try to find the graph + var graph = $(this); + + if(graph && graph.size() > 0) + { + //console.log($(this).parent()); + //try to find sparklines and add them clickable behaviour + $(this).parent().find('p').each( + function() + { + var url = ""; + //find the sparkline and get it's src attribute + $(".sparkline", this).each( + function() + { + //search viewDataTable parameter and replace it with value for chart + var reg = new RegExp("(viewDataTable=sparkline)", "g"); + url = this.src.replace(reg,'viewDataTable=generateDataChartEvolution'); + } + ); + + if(url != "") + { + $("*", this).each( + function() + { + //on click, reload the graph with the new url + $(this).click( + function() + { + //get the main page graph and reload with new data + findSWFGraph(graph.attr('graphId')+"Chart_swf").reload(url); + lazyScrollTo(graph[0], 400); + } + ); + + //on hover, change cursor to indicate clickable item + $(this).hover( + function() + { + $(this).css({ cursor: "pointer"}); + }, function (){} + ); + } + ); + } + } + ); + } + } + ); +}); diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php index fdd6f7c395..0489738dc0 100644 --- a/plugins/Installation/Controller.php +++ b/plugins/Installation/Controller.php @@ -1,20 +1,20 @@ -tablesCreated = true; $view->showNextStep = true; @@ -303,8 +303,8 @@ class Piwik_Installation_Controller extends Piwik_Controller $view->websiteName = urldecode($_SESSION['site_name']); - - $jsTag = Piwik::getJavascriptCode($_SESSION['site_idSite'], Piwik_Url::getCurrentUrlWithoutFileName()); + + $jsTag = Piwik::getJavascriptCode($_SESSION['site_idSite'], Piwik_Url::getCurrentUrlWithoutFileName()); $view->javascriptTag = $jsTag; $view->showNextStep = true; @@ -353,7 +353,7 @@ class Piwik_Installation_Controller extends Piwik_Controller } protected function writeConfigFileFromSession() - { + { $configFile = "; DO NOT REMOVE THIS LINE\n"; $configFile .= "; file automatically generated during the piwik installation process\n"; @@ -522,12 +522,12 @@ class Piwik_Installation_Controller extends Piwik_Controller return $infos; } -} - - -/** - * - * @package Piwik_Installation +} + + +/** + * + * @package Piwik_Installation */ class Piwik_FakeAccess_SetSuperUser { function checkUserIsSuperUser() diff --git a/plugins/Installation/FormDatabaseSetup.php b/plugins/Installation/FormDatabaseSetup.php index 33ed85a8a8..9ac6461b9e 100644 --- a/plugins/Installation/FormDatabaseSetup.php +++ b/plugins/Installation/FormDatabaseSetup.php @@ -1,19 +1,19 @@ -getSubmitValue('form_login'); $password = $form->getSubmitValue('form_password'); - $password = md5($password); + $password = md5($password); $baseUrl = Piwik_Url::getCurrentUrlWithoutQueryString(); $currentUrl = Piwik_Url::getCurrentUrl(); diff --git a/plugins/Login/Form.php b/plugins/Login/Form.php index fb08e8f007..7fc634a516 100644 --- a/plugins/Login/Form.php +++ b/plugins/Login/Form.php @@ -1,19 +1,19 @@ -Author
    Version Action
    {if $plugin.alwaysActivated}Activated{elseif $plugin.activated}Deactivate {else}Activate{/if}
    diff --git a/plugins/Provider/API.php b/plugins/Provider/API.php index 0a0d9ba3e5..1dfd64f2b4 100644 --- a/plugins/Provider/API.php +++ b/plugins/Provider/API.php @@ -1,17 +1,17 @@ -query($query); - } + try { + Zend_Registry::get('db')->query($query); + } catch(Exception $e){} } diff --git a/plugins/Referers/API.php b/plugins/Referers/API.php index 99d4b144fd..2c8a0bf845 100644 --- a/plugins/Referers/API.php +++ b/plugins/Referers/API.php @@ -1,18 +1,18 @@ - 1) { self::replaceSiteUrls($idSite, $urls); - } + } } diff --git a/plugins/SitesManager/Controller.php b/plugins/SitesManager/Controller.php index 2c148f6387..e7b5a3f91f 100644 --- a/plugins/SitesManager/Controller.php +++ b/plugins/SitesManager/Controller.php @@ -1,19 +1,19 @@ -sites = $sites; echo $view->render(); - } - - function displayJavascriptCode() - { - $jsTag = Piwik::getJavascriptCode(Piwik_Common::getRequestVar('idsite',1), Piwik_Url::getCurrentUrlWithoutFileName()); - - $view = new Piwik_View('SitesManager/templates/DisplayJavascriptCode.tpl'); - $view->jsTag = $jsTag; - - echo $view->render(); + } + + function displayJavascriptCode() + { + $jsTag = Piwik::getJavascriptCode(Piwik_Common::getRequestVar('idsite',1), Piwik_Url::getCurrentUrlWithoutFileName()); + + $view = new Piwik_View('SitesManager/templates/DisplayJavascriptCode.tpl'); + $view->jsTag = $jsTag; + + echo $view->render(); } } \ No newline at end of file diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php index 08cffe774e..7189cc70bc 100644 --- a/plugins/SitesManager/SitesManager.php +++ b/plugins/SitesManager/SitesManager.php @@ -1,36 +1,36 @@ - 'SitesManager', - 'description' => 'Description', - 'author' => 'Piwik', - 'homepage' => 'http://piwik.org/', - 'version' => '0.1', - 'translationAvailable' => false, - ); - - return $info; - } - -} - -Piwik_AddAdminMenu('Sites', array('module' => 'SitesManager')); - + 'SitesManager', + 'description' => 'Description', + 'author' => 'Piwik', + 'homepage' => 'http://piwik.org/', + 'version' => '0.1', + 'translationAvailable' => false, + ); + + return $info; + } + +} + +Piwik_AddAdminMenu('Sites', array('module' => 'SitesManager')); + diff --git a/plugins/SitesManager/templates/DisplayJavascriptCode.tpl b/plugins/SitesManager/templates/DisplayJavascriptCode.tpl index a02d7a59a0..efbc060321 100644 --- a/plugins/SitesManager/templates/DisplayJavascriptCode.tpl +++ b/plugins/SitesManager/templates/DisplayJavascriptCode.tpl @@ -1,5 +1,5 @@ -

    Here is the javascript code to include on all your pages:

    - - -{$jsTag} - +

    Here is the javascript code to include on all your pages:

    + + +{$jsTag} + diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php index 8d82ce0b6c..631e4ea8e6 100644 --- a/plugins/UserCountry/API.php +++ b/plugins/UserCountry/API.php @@ -1,21 +1,21 @@ -fetchRow("SELECT * FROM ".Piwik::prefixTable("user") ." WHERE login = ?", $userLogin); -// var_dump($user); exit; +// var_dump($user); exit; return $user; } @@ -224,8 +224,8 @@ class Piwik_UsersManager_API extends Piwik_Apiable } static private function getCleanPassword($password) - { - // if change here, should also edit the installation process + { + // if change here, should also edit the installation process // to change how the root pwd is saved in the config file return md5($password); } @@ -255,8 +255,8 @@ class Piwik_UsersManager_API extends Piwik_Apiable $alias = self::getCleanAlias($alias,$userLogin); $passwordTransformed = self::getCleanPassword($password); - - $token_auth = self::getTokenAuth($userLogin, $passwordTransformed); + + $token_auth = self::getTokenAuth($userLogin, $passwordTransformed); $db = Zend_Registry::get('db'); @@ -284,8 +284,8 @@ class Piwik_UsersManager_API extends Piwik_Apiable */ static public function updateUser( $userLogin, $password = false, $email = false, $alias = false ) { - Piwik::checkUserIsSuperUserOrTheUser($userLogin); - self::checkUserIsNotAnonymous( $userLogin ); + Piwik::checkUserIsSuperUserOrTheUser($userLogin); + self::checkUserIsNotAnonymous( $userLogin ); $userInfo = self::getUser($userLogin); @@ -339,13 +339,13 @@ class Piwik_UsersManager_API extends Piwik_Apiable static public function deleteUser( $userLogin ) { Piwik::checkUserIsSuperUser(); - self::checkUserIsNotAnonymous( $userLogin ); + self::checkUserIsNotAnonymous( $userLogin ); if(!self::userExists($userLogin)) { throw new Exception("User '$userLogin' doesn't exist therefore it can't be deleted."); - } - + } + self::deleteUserOnly( $userLogin ); self::deleteUserAccess( $userLogin ); @@ -385,12 +385,12 @@ class Piwik_UsersManager_API extends Piwik_Apiable { self::checkAccessType( $access ); self::checkUserExists( $userLogin); - - if($userLogin == 'anonymous' - && $access == 'admin') - { - throw new Exception("You cannot grant 'admin' access to the 'anonymous' user."); - } + + if($userLogin == 'anonymous' + && $access == 'admin') + { + throw new Exception("You cannot grant 'admin' access to the 'anonymous' user."); + } // in case idSites is null we grant access to all the websites on which the current connected user // has an 'admin' access @@ -444,13 +444,13 @@ class Piwik_UsersManager_API extends Piwik_Apiable throw new Exception("User '$userLogin' doesn't exist."); } } - - static private function checkUserIsNotAnonymous( $userLogin ) - { - if($userLogin == 'anonymous') - { - throw new Exception("The anonymous user cannot be edited or deleted. It is used by Piwik to define a user that has not loggued in yet. For example, you can make your statistics public by granting the 'view' access to the 'anonymous' user."); - } + + static private function checkUserIsNotAnonymous( $userLogin ) + { + if($userLogin == 'anonymous') + { + throw new Exception("The anonymous user cannot be edited or deleted. It is used by Piwik to define a user that has not loggued in yet. For example, you can make your statistics public by granting the 'view' access to the 'anonymous' user."); + } } static private function checkAccessType($access) diff --git a/plugins/UsersManager/Controller.php b/plugins/UsersManager/Controller.php index 35bbe8dd60..6605899892 100644 --- a/plugins/UsersManager/Controller.php +++ b/plugins/UsersManager/Controller.php @@ -1,19 +1,19 @@ - -
    +
    Add a new user
    diff --git a/plugins/VisitFrequency/API.php b/plugins/VisitFrequency/API.php index a99861fb41..6d49fddbd4 100644 --- a/plugins/VisitFrequency/API.php +++ b/plugins/VisitFrequency/API.php @@ -1,19 +1,19 @@ -getDataTable($name); $dataTable->queueFilter('Piwik_DataTable_Filter_ColumnCallbackReplace', array('label', 'Piwik_getTimeLabel')); $dataTable->queueFilter('Piwik_DataTable_Filter_ReplaceColumnNames'); - + return $dataTable; } diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php index 4006c197d3..484e3f0b2b 100644 --- a/plugins/VisitTime/VisitTime.php +++ b/plugins/VisitTime/VisitTime.php @@ -1,18 +1,18 @@ -getNotificationObject(); - - $this->archiveProcessing = $archiveProcessing; + + $this->archiveProcessing = $archiveProcessing; $recordName = 'VisitTime_localTime'; $labelSQL = "HOUR(visitor_localtime)"; @@ -69,22 +69,22 @@ class Piwik_VisitTime extends Piwik_Plugin $recordName = 'VisitTime_serverTime'; $labelSQL = "HOUR(visit_first_action_time)"; - $tableServerTime = $archiveProcessing->getDataTableInterestForLabel($labelSQL); + $tableServerTime = $archiveProcessing->getDataTableInterestForLabel($labelSQL); $this->makeSureAllHoursAreSet($tableServerTime); $record = new Piwik_ArchiveProcessing_Record_BlobArray($recordName, $tableServerTime->getSerialized()); // echo $tableServerTime; - } - - private function makeSureAllHoursAreSet($table) - { - for($i=0;$i<=23;$i++) - { - if($table->getRowFromLabel($i) === false) - { - $row = $this->archiveProcessing->getNewInterestRowLabeled($i); - $table->addRow( $row ); - } - } + } + + private function makeSureAllHoursAreSet($table) + { + for($i=0;$i<=23;$i++) + { + if($table->getRowFromLabel($i) === false) + { + $row = $this->archiveProcessing->getNewInterestRowLabeled($i); + $table->addRow( $row ); + } + } } } diff --git a/plugins/VisitorInterest/API.php b/plugins/VisitorInterest/API.php index 6011b07f71..ee79fb1a21 100644 --- a/plugins/VisitorInterest/API.php +++ b/plugins/VisitorInterest/API.php @@ -1,19 +1,19 @@ -getDataTable('VisitorInterest_timeGap'); + $dataTable = $archive->getDataTable('VisitorInterest_timeGap'); $dataTable->queueFilter('Piwik_DataTable_Filter_ReplaceColumnNames'); $dataTable->queueFilter('Piwik_DataTable_Filter_Sort', array('label', 'asc', true)); @@ -106,7 +106,7 @@ function Piwik_getPageGapLabel($label) if($return == 1) { return $return . " page"; - } - + } + return $return . " pages"; } diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php index 5c83b1a4ec..ae7d5a802a 100644 --- a/plugins/VisitorInterest/VisitorInterest.php +++ b/plugins/VisitorInterest/VisitorInterest.php @@ -1,17 +1,17 @@ - $minGap then 1 else 0 end) as $gapName "; @@ -140,8 +140,8 @@ class Piwik_VisitorInterest extends Piwik_Plugin } $toSelect = implode(" , ", $select); - $table = $this->archiveProcessing->getSimpleDataTableFromSelect($toSelect, Piwik_Archive::INDEX_NB_VISITS); -// echo $table; + $table = $this->archiveProcessing->getSimpleDataTableFromSelect($toSelect, Piwik_Archive::INDEX_NB_VISITS); +// echo $table; return $table; } diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index baf3945a87..420d637fdf 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -1,19 +1,19 @@ -database_tests->dbname; -Zend_Registry::get('config')->doWriteFileWhenUpdated = false; -?> - -

    Piwik unit tests

    -

    Some of the tests require a database access. The database used for tests is different from your normal Piwik database. -You may need to create this database ; you can edit the settings for the unit tests database access in your config file -/config/global.ini.php

    -

    The database used in your tests is called "". Create it if necessary.

    -

    Run the tests by module

    -
    - -doWriteFileWhenUpdated = false; +?> + +

    Piwik unit tests

    +

    Some of the tests require a database access. The database used for tests is different from your normal Piwik database. +You may need to create this database ; you can edit the settings for the unit tests database access in your config file +/config/global.ini.php

    +

    The database used in your tests is called "". Create it if necessary.

    +

    Run the tests by module

    +
    + +assertEqual($result, $expectedResult); - } - - - public function test_isValidFilenameValidValues() - { - - $valid = array( - "test", "test.txt","test.......", "en-ZHsimplified", - ); - foreach($valid as $toTest) - { - $this->assertTrue(Piwik_Common::isValidFilename($toTest), $toTest." not valid!"); - } - } - public function test_isValidFilenameNotValidValues() - { - - $notvalid = array( - "../test", "/etc/htpasswd", '$var', ';test', '[bizarre]', '', ".htaccess", "very long long eogaioge ageja geau ghaeihieg heiagie aiughaeui hfilename", - ); - foreach($notvalid as $toTest) - { - $this->assertFalse(Piwik_Common::isValidFilename($toTest), $toTest." valid but shouldn't!"); - } - } + } + + + public function test_isValidFilenameValidValues() + { + + $valid = array( + "test", "test.txt","test.......", "en-ZHsimplified", + ); + foreach($valid as $toTest) + { + $this->assertTrue(Piwik_Common::isValidFilename($toTest), $toTest." not valid!"); + } + } + public function test_isValidFilenameNotValidValues() + { + + $notvalid = array( + "../test", "/etc/htpasswd", '$var', ';test', '[bizarre]', '', ".htaccess", "very long long eogaioge ageja geau ghaeihieg heiagie aiughaeui hfilename", + ); + foreach($notvalid as $toTest) + { + $this->assertFalse(Piwik_Common::isValidFilename($toTest), $toTest." valid but shouldn't!"); + } + } } diff --git a/tests/modules/LogStats_Db.test.php b/tests/modules/LogStats_Db.test.php index e611d3089f..43ccb743b8 100644 --- a/tests/modules/LogStats_Db.test.php +++ b/tests/modules/LogStats_Db.test.php @@ -1,37 +1,37 @@ -assertTrue(Piwik_LogStats_Db::isProfilingEnabled() === false, 'PROFILER SHOULD BE DISABLED IN PRODUCTION!! See Piwik_LogStats_Db::$profiling'); - } -} - +assertTrue(Piwik_LogStats_Db::isProfilingEnabled() === false, 'PROFILER SHOULD BE DISABLED IN PRODUCTION!! See Piwik_LogStats_Db::$profiling'); + } +} + diff --git a/tests/modules/PHP_Related.test.php b/tests/modules/PHP_Related.test.php index 264bf84dd2..a37adeb5a3 100644 --- a/tests/modules/PHP_Related.test.php +++ b/tests/modules/PHP_Related.test.php @@ -38,9 +38,9 @@ class Test_PHP_Related extends UnitTestCase $this->assertEqual($elem1, 'key'); $this->assertEqual($elem2, 'elem2'); } - function test_TMP() - { - echo md5('root'.md5('nintendo')); + function test_TMP() + { + echo md5('root'.md5('nintendo')); } public function testStringEqualszero() @@ -49,7 +49,7 @@ class Test_PHP_Related extends UnitTestCase // it might seem strange. This was the reason of a bug I searched 1 hour for!! $this->assertTrue( $columnToSort == 0); - } + } public function testMergeArray() { @@ -263,42 +263,42 @@ class Test_PHP_Related extends UnitTestCase $size = round($size/1024/1024,3); //echo "
    size compressed string = ". $size."mb"; //echo "
    after compression all sub arrays = ". $timer; - } - - function test_functionReturnNothing() - { - function givemenothing() - { - $a = 4; - } - - $return = givemenothing(); - - $this->assertFalse(isset($return)); - $this->assertTrue(empty($return)); - $this->assertTrue(!is_int($return)); - $this->assertTrue(!is_string($return)); - $this->assertTrue(!is_bool($return)); } - + + function test_functionReturnNothing() + { + function givemenothing() + { + $a = 4; + } + + $return = givemenothing(); + + $this->assertFalse(isset($return)); + $this->assertTrue(empty($return)); + $this->assertTrue(!is_int($return)); + $this->assertTrue(!is_string($return)); + $this->assertTrue(!is_bool($return)); + } + +} + + +class test_staticAttr +{ + static public $a = 'testa'; + public $b = 'testb'; } - -class test_staticAttr -{ - static public $a = 'testa'; - public $b = 'testb'; -} - -class test_magicMethodStaticAttr -{ - static $test = "test"; - - function __get($name) - { - print("reading static attr ; __get called"); - return 1; - } +class test_magicMethodStaticAttr +{ + static $test = "test"; + + function __get($name) + { + print("reading static attr ; __get called"); + return 1; + } } diff --git a/tests/modules/Period.test.php b/tests/modules/Period.test.php index 85d67026f7..ba13fe3bc1 100644 --- a/tests/modules/Period.test.php +++ b/tests/modules/Period.test.php @@ -26,34 +26,34 @@ class Test_Piwik_Period extends UnitTestCase { // echo $this->timer . "
    "; } - - public function test_getId() - { - $period = new Piwik_Period_Day( Piwik_Date::today() ); - $this->assertTrue( $period->getId() !== 0 ); - $period = new Piwik_Period_Week( Piwik_Date::today() ); - $this->assertTrue( $period->getId() !== 0 ); - $period = new Piwik_Period_Month( Piwik_Date::today() ); - $this->assertTrue( $period->getId() !== 0 ); - $period = new Piwik_Period_Year( Piwik_Date::today() ); - $this->assertTrue( $period->getId() !== 0 ); - } - - public function test_getLabel() - { - $period = new Piwik_Period_Day( Piwik_Date::today() ); - $label = $period->getLabel(); - $this->assertTrue( is_string($label) && !empty($label)); - $period = new Piwik_Period_Week( Piwik_Date::today() ); - $label = $period->getLabel(); - $this->assertTrue( is_string($label) && !empty($label)); - $period = new Piwik_Period_Month( Piwik_Date::today() ); - $label = $period->getLabel(); - $this->assertTrue( is_string($label) && !empty($label)); - $period = new Piwik_Period_Year( Piwik_Date::today() ); - $label = $period->getLabel(); - $this->assertTrue( is_string($label) && !empty($label)); - } + + public function test_getId() + { + $period = new Piwik_Period_Day( Piwik_Date::today() ); + $this->assertTrue( $period->getId() !== 0 ); + $period = new Piwik_Period_Week( Piwik_Date::today() ); + $this->assertTrue( $period->getId() !== 0 ); + $period = new Piwik_Period_Month( Piwik_Date::today() ); + $this->assertTrue( $period->getId() !== 0 ); + $period = new Piwik_Period_Year( Piwik_Date::today() ); + $this->assertTrue( $period->getId() !== 0 ); + } + + public function test_getLabel() + { + $period = new Piwik_Period_Day( Piwik_Date::today() ); + $label = $period->getLabel(); + $this->assertTrue( is_string($label) && !empty($label)); + $period = new Piwik_Period_Week( Piwik_Date::today() ); + $label = $period->getLabel(); + $this->assertTrue( is_string($label) && !empty($label)); + $period = new Piwik_Period_Month( Piwik_Date::today() ); + $label = $period->getLabel(); + $this->assertTrue( is_string($label) && !empty($label)); + $period = new Piwik_Period_Year( Piwik_Date::today() ); + $label = $period->getLabel(); + $this->assertTrue( is_string($label) && !empty($label)); + } /** * Testing Period_Day @@ -98,97 +98,97 @@ class Test_Piwik_Period extends UnitTestCase $this->assertEqual( $period->getSubperiods(), array()); $this->assertEqual( $period->getNumberOfSubperiods(), 0); } - - // test date that doesn't exist, should return the corresponding correct date - function test_day_getDateStart1() - { - // create the period - $period = new Piwik_Period_Day( new Piwik_Date("2007-02-31")); - - // start date - $startDate = $period->getDateStart(); - - // expected string - $this->assertEqual( $startDate->toString(), "2007-03-03"); - - // check that for a day, getDateStart = getStartEnd - $this->assertEqual($startDate, $period->getDateEnd() ); - } - - // test normal date - function test_day_getDateStart2() - { - // create the period - $period = new Piwik_Period_Day( new Piwik_Date("2007-01-03")); - - // start date - $startDate = $period->getDateStart(); - - // expected string - $this->assertEqual( $startDate->toString(), "2007-01-03"); - - // check that for a day, getDateStart = getStartEnd - $this->assertEqual($startDate, $period->getDateEnd() ); - } - - // test last day of year - function test_day_getDateStart3() - { - // create the period - $period = new Piwik_Period_Day( new Piwik_Date("2007-12-31")); - - // start date - $startDate = $period->getDateStart(); - - // expected string - $this->assertEqual( $startDate->toString(), "2007-12-31"); - - // check that for a day, getDateStart = getStartEnd - $this->assertEqual($startDate, $period->getDateEnd() ); - } - - - // test date that doesn't exist, should return the corresponding correct date - function test_day_getDateEnd1() - { - // create the period - $period = new Piwik_Period_Day( new Piwik_Date("2007-02-31")); - - // end date - $endDate = $period->getDateEnd(); - - // expected string - $this->assertEqual( $endDate->toString(), "2007-03-03"); - - } - - // test normal date - function test_day_getDateEnd2() - { - // create the period - $period = new Piwik_Period_Day( new Piwik_Date("2007-04-15")); - - // end date - $endDate = $period->getDateEnd(); - - // expected string - $this->assertEqual( $endDate->toString(), "2007-04-15"); - } - - // test last day of year - function test_day_getDateEnd3() - { - // create the period - $period = new Piwik_Period_Day( new Piwik_Date("2007-12-31")); - - // end date - $endDate = $period->getDateEnd(); - - // expected string - $this->assertEqual( $endDate->toString(), "2007-12-31"); - } - - // test date that doesn't exist, should return the corresponding correct date + + // test date that doesn't exist, should return the corresponding correct date + function test_day_getDateStart1() + { + // create the period + $period = new Piwik_Period_Day( new Piwik_Date("2007-02-31")); + + // start date + $startDate = $period->getDateStart(); + + // expected string + $this->assertEqual( $startDate->toString(), "2007-03-03"); + + // check that for a day, getDateStart = getStartEnd + $this->assertEqual($startDate, $period->getDateEnd() ); + } + + // test normal date + function test_day_getDateStart2() + { + // create the period + $period = new Piwik_Period_Day( new Piwik_Date("2007-01-03")); + + // start date + $startDate = $period->getDateStart(); + + // expected string + $this->assertEqual( $startDate->toString(), "2007-01-03"); + + // check that for a day, getDateStart = getStartEnd + $this->assertEqual($startDate, $period->getDateEnd() ); + } + + // test last day of year + function test_day_getDateStart3() + { + // create the period + $period = new Piwik_Period_Day( new Piwik_Date("2007-12-31")); + + // start date + $startDate = $period->getDateStart(); + + // expected string + $this->assertEqual( $startDate->toString(), "2007-12-31"); + + // check that for a day, getDateStart = getStartEnd + $this->assertEqual($startDate, $period->getDateEnd() ); + } + + + // test date that doesn't exist, should return the corresponding correct date + function test_day_getDateEnd1() + { + // create the period + $period = new Piwik_Period_Day( new Piwik_Date("2007-02-31")); + + // end date + $endDate = $period->getDateEnd(); + + // expected string + $this->assertEqual( $endDate->toString(), "2007-03-03"); + + } + + // test normal date + function test_day_getDateEnd2() + { + // create the period + $period = new Piwik_Period_Day( new Piwik_Date("2007-04-15")); + + // end date + $endDate = $period->getDateEnd(); + + // expected string + $this->assertEqual( $endDate->toString(), "2007-04-15"); + } + + // test last day of year + function test_day_getDateEnd3() + { + // create the period + $period = new Piwik_Period_Day( new Piwik_Date("2007-12-31")); + + // end date + $endDate = $period->getDateEnd(); + + // expected string + $this->assertEqual( $endDate->toString(), "2007-12-31"); + } + + // test date that doesn't exist, should return the corresponding correct date /** * Testing Period_Month diff --git a/tests/modules/Piwik.test.php b/tests/modules/Piwik.test.php index f4c94383d7..864fa18d97 100644 --- a/tests/modules/Piwik.test.php +++ b/tests/modules/Piwik.test.php @@ -48,17 +48,17 @@ class Test_Piwik extends UnitTestCase { $this->assertFalse(Piwik::isNumeric($toTest), $toTest." valid but shouldn't!"); } - } - - public function test_secureDiv() - { - $this->assertTrue( Piwik::secureDiv( 9,3 ) === 3 ); - $this->assertTrue( Piwik::secureDiv( 9,0 ) === 0 ); - $this->assertTrue( Piwik::secureDiv( 10,1 ) === 10 ); - $this->assertTrue( Piwik::secureDiv( 10.0, 1.0 ) === 10.0 ); - $this->assertTrue( Piwik::secureDiv( 11.0, 2 ) === 5.5 ); - $this->assertTrue( Piwik::secureDiv( 11.0, 'a' ) === 0 ); - + } + + public function test_secureDiv() + { + $this->assertTrue( Piwik::secureDiv( 9,3 ) === 3 ); + $this->assertTrue( Piwik::secureDiv( 9,0 ) === 0 ); + $this->assertTrue( Piwik::secureDiv( 10,1 ) === 10 ); + $this->assertTrue( Piwik::secureDiv( 10.0, 1.0 ) === 10.0 ); + $this->assertTrue( Piwik::secureDiv( 11.0, 2 ) === 5.5 ); + $this->assertTrue( Piwik::secureDiv( 11.0, 'a' ) === 0 ); + } } diff --git a/tests/modules/SitesManager.test.php b/tests/modules/SitesManager.test.php index cd2722c1bc..70ca724790 100755 --- a/tests/modules/SitesManager.test.php +++ b/tests/modules/SitesManager.test.php @@ -1,10 +1,10 @@ setTimestamp( $timestamp ); - $allTablesInstalled = Piwik::getTablesInstalled($forceReload = true); + $allTablesInstalled = Piwik::getTablesInstalled($forceReload = true); $this->assertTrue( in_array($tablename, $allTablesInstalled), "$tablename !==".var_export($allTablesInstalled,true)); $this->assertTrue( $tablename, $p->getTableName()); diff --git a/tests/modules/UsersManager.test.php b/tests/modules/UsersManager.test.php index 148617feee..a635ee5d54 100644 --- a/tests/modules/UsersManager.test.php +++ b/tests/modules/UsersManager.test.php @@ -1,11 +1,11 @@ assertEqual($user,$userAfter); - } - - /** - * bad password => exception - */ - function test_updateUser_badpasswd() - { - $login="login"; - $user = array('login'=>$login, - 'password'=>"geqgeagae", - 'email'=>"test@test.com", - 'alias'=>"alias"); - - Piwik_UsersManager_API::addUser($user['login'],$user['password'] ,$user['email'] ,$user['alias'] ); - - - try { - Piwik_UsersManager_API::updateUser( $login, "pas"); - } - catch (Exception $expected) { - $this->assertPattern("(password)", $expected->getMessage()); - - $this->_checkUserHasNotChanged($user,$user['password']); - return; - } - $this->fail("Exception not raised."); - - } -//} class test{ + } + + private function _checkUserHasNotChanged($user, $newPassword, $newEmail = null, $newAlias= null) + { + if(is_null($newEmail)) + { + $newEmail = $user['email']; + } + if(is_null($newAlias)) + { + $newAlias = $user['alias']; + } + $userAfter = Piwik_UsersManager_API::getUser($user["login"]); + unset($userAfter['date_registered']); + + // we now compute what the token auth should be, it should always be a hash of the login and the current password + // if the password has changed then the token_auth has changed! + $user['token_auth']= Piwik_UsersManager_API::getTokenAuth($user["login"], md5($newPassword) ); + + $user['password']=md5($newPassword); + $user['email']=$newEmail; + $user['alias']=$newAlias; + $this->assertEqual($user,$userAfter); + } + + /** + * bad password => exception + */ + function test_updateUser_badpasswd() + { + $login="login"; + $user = array('login'=>$login, + 'password'=>"geqgeagae", + 'email'=>"test@test.com", + 'alias'=>"alias"); + + Piwik_UsersManager_API::addUser($user['login'],$user['password'] ,$user['email'] ,$user['alias'] ); + + + try { + Piwik_UsersManager_API::updateUser( $login, "pas"); + } + catch (Exception $expected) { + $this->assertPattern("(password)", $expected->getMessage()); + + $this->_checkUserHasNotChanged($user,$user['password']); + return; + } + $this->fail("Exception not raised."); + + } +//} class test{ /** * wrong login / integer => exception @@ -499,23 +499,23 @@ class Test_Piwik_UsersManager extends Test_Database ); } - - /** - * normal case - */ - function test_getUsersLogin() - { - - Piwik_UsersManager_API::addUser("gegg4564eqgeqag", "geqgegagae", "tegst@tesgt.com", "alias"); - Piwik_UsersManager_API::addUser("geggeqge632ge56a4qag", "geqgegeagae", "tesggt@tesgt.com", "alias"); - Piwik_UsersManager_API::addUser("geggeqgeqagqegg", "geqgeaggggae", "tesgggt@tesgt.com"); - - $logins = Piwik_UsersManager_API::getUsersLogin(); - - $this->assertEqual($logins, - array( "gegg4564eqgeqag", "geggeqge632ge56a4qag", "geggeqgeqagqegg") - ); - } + + /** + * normal case + */ + function test_getUsersLogin() + { + + Piwik_UsersManager_API::addUser("gegg4564eqgeqag", "geqgegagae", "tegst@tesgt.com", "alias"); + Piwik_UsersManager_API::addUser("geggeqge632ge56a4qag", "geqgegeagae", "tesggt@tesgt.com", "alias"); + Piwik_UsersManager_API::addUser("geggeqgeqagqegg", "geqgeaggggae", "tesgggt@tesgt.com"); + + $logins = Piwik_UsersManager_API::getUsersLogin(); + + $this->assertEqual($logins, + array( "gegg4564eqgeqag", "geggeqge632ge56a4qag", "geggeqgeqagqegg") + ); + } /** -- cgit v1.2.3