Index: branches/comu-ver2/data/module/Smarty/ChangeLog
===================================================================
--- branches/comu-ver2/data/module/Smarty/ChangeLog	(revision 15079)
+++ branches/comu-ver2/data/module/Smarty/ChangeLog	(revision 18650)
@@ -1,2 +1,1574 @@
+2007-09-27  TAKAGI Masahiro  <matakagi@gmail.com>
+
+    * docs/ja/designers/language-custom-functions/language-function-html-checkboxes.xml:
+      sync with en.
+
+2007-09-27  Monte Ohrt  <monte@ohrt.com>
+
+    * docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml:
+      remove redundant attribute
+
+2007-09-18  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/id/programmers/plugins/plugins-functions.xml:
+      removed errornous whitespace
+
+2007-09-18  Zaenal Mutaqin  <zaenalm@gmail.com>
+
+    * docs/id/designers/language-basic-syntax/language-escaping.xml
+      docs/id/designers/language-basic-syntax/language-math.xml
+      docs/id/designers/language-basic-syntax/language-syntax-attributes.xml
+      docs/id/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/id/designers/language-basic-syntax/language-syntax-functions.xml
+      docs/id/designers/language-basic-syntax/language-syntax-quotes.xml
+      docs/id/designers/language-basic-syntax/language-syntax-variables.xml
+      docs/id/designers/language-builtin-functions/language-function-capture.xml
+      docs/id/designers/language-builtin-functions/language-function-config-load.xml
+      docs/id/designers/language-builtin-functions/language-function-foreach.xml
+      docs/id/designers/language-builtin-functions/language-function-if.xml
+      docs/id/designers/language-builtin-functions/language-function-include-php.xml
+      docs/id/designers/language-builtin-functions/language-function-include.xml
+      docs/id/designers/language-builtin-functions/language-function-insert.xml
+      docs/id/designers/language-builtin-functions/language-function-ldelim.xml
+      docs/id/designers/language-builtin-functions/language-function-literal.xml
+      docs/id/designers/language-builtin-functions/language-function-php.xml
+      docs/id/designers/language-builtin-functions/language-function-section.xml
+      docs/id/designers/language-builtin-functions/language-function-strip.xml
+      docs/id/designers/language-custom-functions/language-function-assign.xml
+      docs/id/designers/language-custom-functions/language-function-counter.xml
+      docs/id/designers/language-custom-functions/language-function-cycle.xml
+      docs/id/designers/language-custom-functions/language-function-debug.xml
+      docs/id/designers/language-custom-functions/language-function-eval.xml
+      docs/id/designers/language-custom-functions/language-function-fetch.xml
+      docs/id/designers/language-custom-functions/language-function-html-checkboxes.xml
+      docs/id/designers/language-custom-functions/language-function-html-image.xml
+      docs/id/designers/language-custom-functions/language-function-html-options.xml
+      docs/id/designers/language-custom-functions/language-function-html-radios.xml
+      docs/id/designers/language-custom-functions/language-function-html-select-date.xml
+      docs/id/designers/language-custom-functions/language-function-html-select-time.xml
+      docs/id/designers/language-custom-functions/language-function-html-table.xml
+      docs/id/designers/language-custom-functions/language-function-mailto.xml
+      docs/id/designers/language-custom-functions/language-function-math.xml
+      docs/id/designers/language-custom-functions/language-function-popup-init.xml
+      docs/id/designers/language-custom-functions/language-function-popup.xml
+      docs/id/designers/language-custom-functions/language-function-textformat.xml
+      docs/id/designers/language-modifiers/language-modifier-capitalize.xml
+      docs/id/designers/language-modifiers/language-modifier-cat.xml
+      docs/id/designers/language-modifiers/language-modifier-count-characters.xml
+      docs/id/designers/language-modifiers/language-modifier-count-paragraphs.xml
+      docs/id/designers/language-modifiers/language-modifier-count-sentences.xml
+      docs/id/designers/language-modifiers/language-modifier-count-words.xml
+      docs/id/designers/language-modifiers/language-modifier-date-format.xml
+      docs/id/designers/language-modifiers/language-modifier-default.xml
+      docs/id/designers/language-modifiers/language-modifier-escape.xml
+      docs/id/designers/language-modifiers/language-modifier-indent.xml
+      docs/id/designers/language-modifiers/language-modifier-lower.xml
+      docs/id/designers/language-modifiers/language-modifier-nl2br.xml
+      docs/id/designers/language-modifiers/language-modifier-regex-replace.xml
+      docs/id/designers/language-modifiers/language-modifier-replace.xml
+      docs/id/designers/language-modifiers/language-modifier-spacify.xml
+      docs/id/designers/language-modifiers/language-modifier-string-format.xml
+      docs/id/designers/language-modifiers/language-modifier-strip-tags.xml
+      docs/id/designers/language-modifiers/language-modifier-strip.xml
+      docs/id/designers/language-modifiers/language-modifier-truncate.xml
+      docs/id/designers/language-modifiers/language-modifier-upper.xml
+      docs/id/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/id/designers/language-variables/language-assigned-variables.xml
+      docs/id/designers/language-variables/language-config-variables.xml
+      docs/id/designers/language-variables/language-variables-smarty.xml
+      docs/id/programmers/advanced-features/advanced-features-objects.xml
+      docs/id/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/id/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/id/programmers/advanced-features/advanced-features-prefilters.xml
+      docs/id/programmers/advanced-features/section-template-cache-handler-func.xml
+      docs/id/programmers/advanced-features/template-resources.xml
+      docs/id/programmers/api-functions/api-append-by-ref.xml
+      docs/id/programmers/api-functions/api-append.xml
+      docs/id/programmers/api-functions/api-assign-by-ref.xml
+      docs/id/programmers/api-functions/api-assign.xml
+      docs/id/programmers/api-functions/api-clear-all-assign.xml
+      docs/id/programmers/api-functions/api-clear-all-cache.xml
+      docs/id/programmers/api-functions/api-clear-assign.xml
+      docs/id/programmers/api-functions/api-clear-cache.xml
+      docs/id/programmers/api-functions/api-clear-compiled-tpl.xml
+      docs/id/programmers/api-functions/api-clear-config.xml
+      docs/id/programmers/api-functions/api-config-load.xml
+      docs/id/programmers/api-functions/api-display.xml
+      docs/id/programmers/api-functions/api-fetch.xml
+      docs/id/programmers/api-functions/api-get-config-vars.xml
+      docs/id/programmers/api-functions/api-get-registered-object.xml
+      docs/id/programmers/api-functions/api-get-template-vars.xml
+      docs/id/programmers/api-functions/api-is-cached.xml
+      docs/id/programmers/api-functions/api-load-filter.xml
+      docs/id/programmers/api-functions/api-register-block.xml
+      docs/id/programmers/api-functions/api-register-compiler-function.xml
+      docs/id/programmers/api-functions/api-register-function.xml
+      docs/id/programmers/api-functions/api-register-modifier.xml
+      docs/id/programmers/api-functions/api-register-object.xml
+      docs/id/programmers/api-functions/api-register-outputfilter.xml
+      docs/id/programmers/api-functions/api-register-postfilter.xml
+      docs/id/programmers/api-functions/api-register-prefilter.xml
+      docs/id/programmers/api-functions/api-register-resource.xml
+      docs/id/programmers/api-functions/api-template-exists.xml
+      docs/id/programmers/api-functions/api-trigger-error.xml
+      docs/id/programmers/api-functions/api-unregister-block.xml
+      docs/id/programmers/api-functions/api-unregister-compiler-function.xml
+      docs/id/programmers/api-functions/api-unregister-function.xml
+      docs/id/programmers/api-functions/api-unregister-modifier.xml
+      docs/id/programmers/api-functions/api-unregister-object.xml
+      docs/id/programmers/api-functions/api-unregister-outputfilter.xml
+      docs/id/programmers/api-functions/api-unregister-postfilter.xml
+      docs/id/programmers/api-functions/api-unregister-prefilter.xml
+      docs/id/programmers/api-functions/api-unregister-resource.xml
+      docs/id/programmers/api-variables/variable-autoload-filters.xml
+      docs/id/programmers/api-variables/variable-cache-dir.xml
+      docs/id/programmers/api-variables/variable-cache-handler-func.xml
+      docs/id/programmers/api-variables/variable-cache-lifetime.xml
+      docs/id/programmers/api-variables/variable-cache-modified-check.xml
+      docs/id/programmers/api-variables/variable-caching.xml
+      docs/id/programmers/api-variables/variable-compile-check.xml
+      docs/id/programmers/api-variables/variable-compile-dir.xml
+      docs/id/programmers/api-variables/variable-compile-id.xml
+      docs/id/programmers/api-variables/variable-compiler-class.xml
+      docs/id/programmers/api-variables/variable-config-booleanize.xml
+      docs/id/programmers/api-variables/variable-config-dir.xml
+      docs/id/programmers/api-variables/variable-config-fix-newlines.xml
+      docs/id/programmers/api-variables/variable-config-overwrite.xml
+      docs/id/programmers/api-variables/variable-config-read-hidden.xml
+      docs/id/programmers/api-variables/variable-debug-tpl.xml
+      docs/id/programmers/api-variables/variable-debugging-ctrl.xml
+      docs/id/programmers/api-variables/variable-debugging.xml
+      docs/id/programmers/api-variables/variable-default-modifiers.xml
+      docs/id/programmers/api-variables/variable-default-resource-type.xml
+      docs/id/programmers/api-variables/variable-default-template-handler-func.xml
+      docs/id/programmers/api-variables/variable-error-reporting.xml
+      docs/id/programmers/api-variables/variable-force-compile.xml
+      docs/id/programmers/api-variables/variable-left-delimiter.xml
+      docs/id/programmers/api-variables/variable-php-handling.xml
+      docs/id/programmers/api-variables/variable-plugins-dir.xml
+      docs/id/programmers/api-variables/variable-request-use-auto-globals.xml
+      docs/id/programmers/api-variables/variable-request-vars-order.xml
+      docs/id/programmers/api-variables/variable-right-delimiter.xml
+      docs/id/programmers/api-variables/variable-secure-dir.xml
+      docs/id/programmers/api-variables/variable-security-settings.xml
+      docs/id/programmers/api-variables/variable-security.xml
+      docs/id/programmers/api-variables/variable-template-dir.xml
+      docs/id/programmers/api-variables/variable-trusted-dir.xml
+      docs/id/programmers/api-variables/variable-use-sub-dirs.xml
+      docs/id/programmers/caching/caching-cacheable.xml
+      docs/id/programmers/caching/caching-groups.xml
+      docs/id/programmers/caching/caching-multiple-caches.xml
+      docs/id/programmers/caching/caching-setting-up.xml
+      docs/id/programmers/plugins/plugins-block-functions.xml
+      docs/id/programmers/plugins/plugins-compiler-functions.xml
+      docs/id/programmers/plugins/plugins-functions.xml
+      docs/id/programmers/plugins/plugins-howto.xml
+      docs/id/programmers/plugins/plugins-inserts.xml
+      docs/id/programmers/plugins/plugins-modifiers.xml
+      docs/id/programmers/plugins/plugins-naming-conventions.xml
+      docs/id/programmers/plugins/plugins-outputfilters.xml
+      docs/id/programmers/plugins/plugins-prefilters-postfilters.xml
+      docs/id/programmers/plugins/plugins-resources.xml
+      docs/id/programmers/plugins/plugins-writing.xml:
+      Typos correction and all translated now.
+
+2007-09-17  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/id/bookinfo.xml
+      docs/id/getting-started.xml
+      docs/id/language-defs.ent
+      docs/id/language-snippets.ent
+      docs/id/livedocs.ent
+      docs/id/preface.xml:
+      added indonesian docs - thanks Zaenal Mutaqin
+
+    * docs/scripts/generate_web.php:
+      raise pcre.backtrack_limit - thanks to takagi
+
+2007-09-16  Monte Ohrt  <monte@ohrt.com>
+
+    * libs/Smarty_Compiler.class.php:
+      fix typo
+
+2007-08-22  George Miroshnikov  <support@infinity.com.ua>
+
+    * docs/ru/getting-started.xml
+      docs/ru/getting-started.xml:
+      Sync with EN.
+
+2007-08-01  Monte Ohrt  <monte@ohrt.com>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      add append feature to capture
+
+2007-06-24  TAKAGI Masahiro  <matakagi@osk2.3web.ne.jp>
+
+    * docs/ja/getting-started.xml:
+      sync with en.
+
+2007-06-24  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/Makefile.in:
+      reverted accidently modified file
+
+    * docs/Makefile.in
+      docs/de/getting-started.xml:
+      sync with en
+
+    * docs/en/getting-started.xml:
+      fixed link to ini_set(). thanks to Lee Yunyoung.
+
+2007-06-18  TAKAGI Masahiro  <matakagi@osk2.3web.ne.jp>
+
+    * docs/ja/language-snippets.ent
+      docs/ja/programmers/api-functions/api-register-outputfilter.xml
+      docs/ja/programmers/api-functions/api-register-postfilter.xml
+      docs/ja/programmers/api-functions/api-register-prefilter.xml:
+      sync with en.
+
+2007-06-18  Danilo Buerger  <danilo@blizzz.org>
+
+    * docs/en/language-snippets.ent
+      docs/en/programmers/api-functions/api-register-outputfilter.xml
+      docs/en/programmers/api-functions/api-register-postfilter.xml
+      docs/en/programmers/api-functions/api-register-prefilter.xml:
+      Updated docs according to the changes from the previous commit
+
+    * NEWS
+      libs/Smarty.class.php:
+      Added the ability to (un)register multiple filters of the same type with
+      the same method name but different class name. Before it was not possible
+      due to the fact that only the method name was used to distinguish between
+      different filters of the same type. This does however not allow (same as
+      before) to register multiple filters of the same type with the same method
+      and class name (i.e. different instances of the same class).
+
+2007-05-29  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * libs/plugins/compiler.assign.php:
+      fixed typo
+
+2007-05-11  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      fixed calling registered objects' methods with an empty argument list.
+      thanks marcello
+
+2007-05-03  TAKAGI Masahiro  <matakagi@osk2.3web.ne.jp>
+
+    * docs/ja/designers/language-variables.xml
+      docs/ja/designers/language-builtin-functions/language-function-config-load.xml
+      docs/ja/designers/language-builtin-functions/language-function-foreach.xml
+      docs/ja/designers/language-builtin-functions/language-function-if.xml
+      docs/ja/designers/language-modifiers/language-modifier-cat.xml
+      docs/ja/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/ja/designers/language-variables/language-variables-smarty.xml:
+      sync with en.
+
+2007-05-03  Monte Ohrt  <monte@ohrt.com>
+
+    * docs/en/designers/language-variables.xml
+      docs/en/designers/language-builtin-functions/language-function-config-load.xml
+      docs/en/designers/language-builtin-functions/language-function-foreach.xml
+      docs/en/designers/language-builtin-functions/language-function-if.xml
+      docs/en/designers/language-modifiers/language-modifier-cat.xml
+      docs/en/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/en/designers/language-variables/language-variables-smarty.xml:
+      update documentation corrections from marcello in the forums. Thanks
+      marcello!
+
+2007-04-22  TAKAGI Masahiro  <matakagi@osk2.3web.ne.jp>
+
+    * docs/ja/programmers/advanced-features.xml
+      docs/ja/programmers/api-functions.xml
+      docs/ja/programmers/api-variables.xml:
+      corrected the garbled text.
+
+2007-04-21  TAKAGI Masahiro  <matakagi@osk2.3web.ne.jp>
+
+    * docs/ja/bookinfo.xml
+      docs/ja/getting-started.xml
+      docs/ja/language-defs.ent
+      docs/ja/language-snippets.ent
+      docs/ja/livedocs.ent
+      docs/ja/make_chm_index.html
+      docs/ja/preface.xml
+      docs/ja/translation.xml
+      docs/ja/appendixes/bugs.xml
+      docs/ja/appendixes/resources.xml
+      docs/ja/appendixes/tips.xml
+      docs/ja/appendixes/troubleshooting.xml
+      docs/ja/designers/chapter-debugging-console.xml
+      docs/ja/designers/config-files.xml
+      docs/ja/designers/language-basic-syntax.xml
+      docs/ja/designers/language-builtin-functions.xml
+      docs/ja/designers/language-combining-modifiers.xml
+      docs/ja/designers/language-custom-functions.xml
+      docs/ja/designers/language-modifiers.xml
+      docs/ja/designers/language-variables.xml
+      docs/ja/designers/language-basic-syntax/language-escaping.xml
+      docs/ja/designers/language-basic-syntax/language-math.xml
+      docs/ja/designers/language-basic-syntax/language-syntax-attributes.xml
+      docs/ja/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/ja/designers/language-basic-syntax/language-syntax-functions.xml
+      docs/ja/designers/language-basic-syntax/language-syntax-quotes.xml
+      docs/ja/designers/language-basic-syntax/language-syntax-variables.xml
+      docs/ja/designers/language-builtin-functions/language-function-capture.xml
+      docs/ja/designers/language-builtin-functions/language-function-config-load.xml
+      docs/ja/designers/language-builtin-functions/language-function-foreach.xml
+      docs/ja/designers/language-builtin-functions/language-function-if.xml
+      docs/ja/designers/language-builtin-functions/language-function-include-php.xml
+      docs/ja/designers/language-builtin-functions/language-function-include.xml
+      docs/ja/designers/language-builtin-functions/language-function-insert.xml
+      docs/ja/designers/language-builtin-functions/language-function-ldelim.xml
+      docs/ja/designers/language-builtin-functions/language-function-literal.xml
+      docs/ja/designers/language-builtin-functions/language-function-php.xml
+      docs/ja/designers/language-builtin-functions/language-function-section.xml
+      docs/ja/designers/language-builtin-functions/language-function-strip.xml
+      docs/ja/designers/language-custom-functions/language-function-assign.xml
+      docs/ja/designers/language-custom-functions/language-function-counter.xml
+      docs/ja/designers/language-custom-functions/language-function-cycle.xml
+      docs/ja/designers/language-custom-functions/language-function-debug.xml
+      docs/ja/designers/language-custom-functions/language-function-eval.xml
+      docs/ja/designers/language-custom-functions/language-function-fetch.xml
+      docs/ja/designers/language-custom-functions/language-function-html-checkboxes.xml
+      docs/ja/designers/language-custom-functions/language-function-html-image.xml
+      docs/ja/designers/language-custom-functions/language-function-html-options.xml
+      docs/ja/designers/language-custom-functions/language-function-html-radios.xml
+      docs/ja/designers/language-custom-functions/language-function-html-select-date.xml
+      docs/ja/designers/language-custom-functions/language-function-html-select-time.xml
+      docs/ja/designers/language-custom-functions/language-function-html-table.xml
+      docs/ja/designers/language-custom-functions/language-function-mailto.xml
+      docs/ja/designers/language-custom-functions/language-function-math.xml
+      docs/ja/designers/language-custom-functions/language-function-popup-init.xml
+      docs/ja/designers/language-custom-functions/language-function-popup.xml
+      docs/ja/designers/language-custom-functions/language-function-textformat.xml
+      docs/ja/designers/language-modifiers/language-modifier-capitalize.xml
+      docs/ja/designers/language-modifiers/language-modifier-cat.xml
+      docs/ja/designers/language-modifiers/language-modifier-count-characters.xml
+      docs/ja/designers/language-modifiers/language-modifier-count-paragraphs.xml
+      docs/ja/designers/language-modifiers/language-modifier-count-sentences.xml
+      docs/ja/designers/language-modifiers/language-modifier-count-words.xml
+      docs/ja/designers/language-modifiers/language-modifier-date-format.xml
+      docs/ja/designers/language-modifiers/language-modifier-default.xml
+      docs/ja/designers/language-modifiers/language-modifier-escape.xml
+      docs/ja/designers/language-modifiers/language-modifier-indent.xml
+      docs/ja/designers/language-modifiers/language-modifier-lower.xml
+      docs/ja/designers/language-modifiers/language-modifier-nl2br.xml
+      docs/ja/designers/language-modifiers/language-modifier-regex-replace.xml
+      docs/ja/designers/language-modifiers/language-modifier-replace.xml
+      docs/ja/designers/language-modifiers/language-modifier-spacify.xml
+      docs/ja/designers/language-modifiers/language-modifier-string-format.xml
+      docs/ja/designers/language-modifiers/language-modifier-strip-tags.xml
+      docs/ja/designers/language-modifiers/language-modifier-strip.xml
+      docs/ja/designers/language-modifiers/language-modifier-truncate.xml
+      docs/ja/designers/language-modifiers/language-modifier-upper.xml
+      docs/ja/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/ja/designers/language-variables/language-assigned-variables.xml
+      docs/ja/designers/language-variables/language-config-variables.xml
+      docs/ja/designers/language-variables/language-variables-smarty.xml
+      docs/ja/programmers/advanced-features.xml
+      docs/ja/programmers/api-functions.xml
+      docs/ja/programmers/api-variables.xml
+      docs/ja/programmers/caching.xml
+      docs/ja/programmers/plugins.xml
+      docs/ja/programmers/smarty-constants.xml
+      docs/ja/programmers/advanced-features/advanced-features-objects.xml
+      docs/ja/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/ja/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/ja/programmers/advanced-features/advanced-features-prefilters.xml
+      docs/ja/programmers/advanced-features/section-template-cache-handler-func.xml
+      docs/ja/programmers/advanced-features/template-resources.xml
+      docs/ja/programmers/api-functions/api-append-by-ref.xml
+      docs/ja/programmers/api-functions/api-append.xml
+      docs/ja/programmers/api-functions/api-assign-by-ref.xml
+      docs/ja/programmers/api-functions/api-assign.xml
+      docs/ja/programmers/api-functions/api-clear-all-assign.xml
+      docs/ja/programmers/api-functions/api-clear-all-cache.xml
+      docs/ja/programmers/api-functions/api-clear-assign.xml
+      docs/ja/programmers/api-functions/api-clear-cache.xml
+      docs/ja/programmers/api-functions/api-clear-compiled-tpl.xml
+      docs/ja/programmers/api-functions/api-clear-config.xml
+      docs/ja/programmers/api-functions/api-config-load.xml
+      docs/ja/programmers/api-functions/api-display.xml
+      docs/ja/programmers/api-functions/api-fetch.xml
+      docs/ja/programmers/api-functions/api-get-config-vars.xml
+      docs/ja/programmers/api-functions/api-get-registered-object.xml
+      docs/ja/programmers/api-functions/api-get-template-vars.xml
+      docs/ja/programmers/api-functions/api-is-cached.xml
+      docs/ja/programmers/api-functions/api-load-filter.xml
+      docs/ja/programmers/api-functions/api-register-block.xml
+      docs/ja/programmers/api-functions/api-register-compiler-function.xml
+      docs/ja/programmers/api-functions/api-register-function.xml
+      docs/ja/programmers/api-functions/api-register-modifier.xml
+      docs/ja/programmers/api-functions/api-register-object.xml
+      docs/ja/programmers/api-functions/api-register-outputfilter.xml
+      docs/ja/programmers/api-functions/api-register-postfilter.xml
+      docs/ja/programmers/api-functions/api-register-prefilter.xml
+      docs/ja/programmers/api-functions/api-register-resource.xml
+      docs/ja/programmers/api-functions/api-template-exists.xml
+      docs/ja/programmers/api-functions/api-trigger-error.xml
+      docs/ja/programmers/api-functions/api-unregister-block.xml
+      docs/ja/programmers/api-functions/api-unregister-compiler-function.xml
+      docs/ja/programmers/api-functions/api-unregister-function.xml
+      docs/ja/programmers/api-functions/api-unregister-modifier.xml
+      docs/ja/programmers/api-functions/api-unregister-object.xml
+      docs/ja/programmers/api-functions/api-unregister-outputfilter.xml
+      docs/ja/programmers/api-functions/api-unregister-postfilter.xml
+      docs/ja/programmers/api-functions/api-unregister-prefilter.xml
+      docs/ja/programmers/api-functions/api-unregister-resource.xml
+      docs/ja/programmers/api-variables/variable-autoload-filters.xml
+      docs/ja/programmers/api-variables/variable-cache-dir.xml
+      docs/ja/programmers/api-variables/variable-cache-handler-func.xml
+      docs/ja/programmers/api-variables/variable-cache-lifetime.xml
+      docs/ja/programmers/api-variables/variable-cache-modified-check.xml
+      docs/ja/programmers/api-variables/variable-caching.xml
+      docs/ja/programmers/api-variables/variable-compile-check.xml
+      docs/ja/programmers/api-variables/variable-compile-dir.xml
+      docs/ja/programmers/api-variables/variable-compile-id.xml
+      docs/ja/programmers/api-variables/variable-compiler-class.xml
+      docs/ja/programmers/api-variables/variable-config-booleanize.xml
+      docs/ja/programmers/api-variables/variable-config-dir.xml
+      docs/ja/programmers/api-variables/variable-config-fix-newlines.xml
+      docs/ja/programmers/api-variables/variable-config-overwrite.xml
+      docs/ja/programmers/api-variables/variable-config-read-hidden.xml
+      docs/ja/programmers/api-variables/variable-debug-tpl.xml
+      docs/ja/programmers/api-variables/variable-debugging-ctrl.xml
+      docs/ja/programmers/api-variables/variable-debugging.xml
+      docs/ja/programmers/api-variables/variable-default-modifiers.xml
+      docs/ja/programmers/api-variables/variable-default-resource-type.xml
+      docs/ja/programmers/api-variables/variable-default-template-handler-func.xml
+      docs/ja/programmers/api-variables/variable-error-reporting.xml
+      docs/ja/programmers/api-variables/variable-force-compile.xml
+      docs/ja/programmers/api-variables/variable-left-delimiter.xml
+      docs/ja/programmers/api-variables/variable-php-handling.xml
+      docs/ja/programmers/api-variables/variable-plugins-dir.xml
+      docs/ja/programmers/api-variables/variable-request-use-auto-globals.xml
+      docs/ja/programmers/api-variables/variable-request-vars-order.xml
+      docs/ja/programmers/api-variables/variable-right-delimiter.xml
+      docs/ja/programmers/api-variables/variable-secure-dir.xml
+      docs/ja/programmers/api-variables/variable-security-settings.xml
+      docs/ja/programmers/api-variables/variable-security.xml
+      docs/ja/programmers/api-variables/variable-template-dir.xml
+      docs/ja/programmers/api-variables/variable-trusted-dir.xml
+      docs/ja/programmers/api-variables/variable-use-sub-dirs.xml
+      docs/ja/programmers/caching/caching-cacheable.xml
+      docs/ja/programmers/caching/caching-groups.xml
+      docs/ja/programmers/caching/caching-multiple-caches.xml
+      docs/ja/programmers/caching/caching-setting-up.xml
+      docs/ja/programmers/plugins/plugins-block-functions.xml
+      docs/ja/programmers/plugins/plugins-compiler-functions.xml
+      docs/ja/programmers/plugins/plugins-functions.xml
+      docs/ja/programmers/plugins/plugins-howto.xml
+      docs/ja/programmers/plugins/plugins-inserts.xml
+      docs/ja/programmers/plugins/plugins-modifiers.xml
+      docs/ja/programmers/plugins/plugins-naming-conventions.xml
+      docs/ja/programmers/plugins/plugins-outputfilters.xml
+      docs/ja/programmers/plugins/plugins-prefilters-postfilters.xml
+      docs/ja/programmers/plugins/plugins-resources.xml
+      docs/ja/programmers/plugins/plugins-writing.xml:
+      added Japanese translation files.
+
+    * docs/Makefile.in
+      docs/configure.in:
+      added the configuration for Japanese translation.
+
+2007-04-11  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/en/programmers/smarty-constants.xml:
+      fixed typo
+
+2007-04-04  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/ru/getting-started.xml:
+      fixed uri for Zend Accelerator
+
+2007-04-03  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/de/getting-started.xml
+      docs/es/getting-started.xml
+      docs/it/getting-started.xml
+      docs/pt_BR/getting-started.xml:
+      fixed uris for php-accelerator
+
+2007-03-08  Monte Ohrt  <monte@ohrt.com>
+
+    * libs/Config_File.class.php
+      libs/Smarty.class.php
+      libs/Smarty_Compiler.class.php:
+      update version numbers
+
+2007-03-07  Monte Ohrt  <monte@ohrt.com>
+
+    * (Smarty_2_6_18)
+      NEWS:
+      update NEWS file with patch
+
+    * (Smarty_2_6_18)
+      docs/en/designers/language-builtin-functions/language-function-section.xml:
+      note the fact that section loop will accept an integer
+
+2007-03-06  Monte Ohrt  <monte@ohrt.com>
+
+    * NEWS
+      libs/plugins/function.html_select_date.php:
+      fix html_select_date separator when parts are missing (thanks to kayk for
+      the patch)
+
+2007-03-06  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * libs/Config_File.class.php
+      libs/Smarty.class.php
+      libs/Smarty_Compiler.class.php:
+      bumped version number
+
+    * NEWS:
+      added release headline
+
+    * libs/internals/core.write_compiled_include.php:
+      fixed detection of non-cached block when writing compiled includes
+
+2007-03-01  Danilo Buerger  <danilo@blizzz.org>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      Applied boots clean up patch and removed commented out code.
+      Updated NEWS file
+
+2007-02-27  Danilo Buerger  <danilo@blizzz.org>
+
+    * NEWS
+      docs/en/designers/language-modifiers/language-modifier-date-format.xml
+      libs/internals/core.write_file.php
+      libs/plugins/modifier.date_format.php:
+      Updated smarty_core_write_file() and smarty_modifier_date_format() to speed
+      up Windows detection.
+      Emulated more parameters for Windows in smarty_modifier_date_format() and
+      fixed some old ones.
+      Updated the docs to tell what parameters are emulated on Windows.
+      Updated NEWS file.
+
+    * NEWS:
+      Updated NEWS file to reflect changes commited in the last revision
+
+2007-02-27  Monte Ohrt  <monte@ohrt.com>
+
+    * docs/en/appendixes/troubleshooting.xml:
+      fix typo
+
+2007-02-27  Danilo Buerger  <danilo@blizzz.org>
+
+    * libs/Smarty_Compiler.class.php:
+      Modified _(push|pop)_cacheable_state() to embedd alternate syntax. See this
+      bug report: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=10502
+
+2007-02-26  Peter 'Mash' Morgan  <pm@daffodil.uk.com>
+
+    * docs/en/designers/language-custom-functions/language-function-html-options.xml:
+      Fix incorrect var name
+
+2007-02-23  Monte Ohrt  <monte@ohrt.com>
+
+    * libs/Smarty_Compiler.class.php:
+      escape creating of language=php from interleaving
+
+    * libs/Smarty_Compiler.class.php:
+      add removed line back in
+
+    * libs/Smarty_Compiler.class.php:
+      fix up last patch, remove unnecessary lines
+
+    * libs/Smarty_Compiler.class.php:
+      fix situation when no compiled tags are present
+
+    * libs/Smarty_Compiler.class.php:
+      fix problem with php open tags generated from tag interleaving
+
+2007-02-06  boots  <jayboots@yahoo.com>
+
+    * docs/en/programmers/advanced-features/template-resources.xml:
+      Correct default template handler function example.
+
+2007-01-17  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * NEWS
+      libs/plugins/modifier.truncate.php:
+      fixed handling of $etc in the truncate modifier when $etc is longer
+      than $length.
+      
+      thanks to Sylvinus!
+
+2007-01-10  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/plugins/modifier.date_format.php
+      libs/plugins/modifier.date_format.php:
+      fix handling of %I with mysql timestamps
+      
+      Thanks to Danilo Buerger
+
+    * NEWS
+      libs/internals/core.write_file.php:
+      Better recognize Windows filesystems to reduce warnings
+
+    * NEWS
+      libs/plugins/modifier.date_format.php:
+      Emulate %R in the date_format modifier on Windows
+      
+      Thanks to Danilo Buerger
+
+2006-12-10  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/getting-started.xml:
+      fix build
+
+    * docs/fr/language-snippets.ent
+      docs/fr/designers/language-builtin-functions/language-function-include-php.xml
+      docs/fr/designers/language-modifiers/language-modifier-truncate.xml
+      docs/fr/designers/language-variables/language-variables-smarty.xml:
+      sync with EN
+
+2006-12-02  Peter 'Mash' Morgan  <pm@daffodil.uk.com>
+
+    * docs/en/designers/language-builtin-functions/language-function-include-php.xml:
+      Tidy example, speeling andd add links
+
+    * docs/en/getting-started.xml:
+      Add/correct entities
+
+    * docs/entities/global.ent:
+      Fix entities (strange)
+
+2006-12-01  Monte Ohrt  <monte@ohrt.com>
+
+    * libs/Config_File.class.php
+      libs/Smarty.class.php
+      libs/Smarty_Compiler.class.php:
+      update dev version numbers
+
+2006-12-01  boots  <jayboots@yahoo.com>
+
+    * (Smarty_2_6_16)
+      NEWS:
+      Fixed replacement bug introduced in trimwhitespaces output filter that
+      was introduced in the last release.
+      
+      Thanks to Spuerhund from the forums.
+
+    * (Smarty_2_6_16)
+      libs/plugins/outputfilter.trimwhitespace.php:
+      Fixed replacement bug introduced by last changes.
+      
+      Thanks to Spuerhund from the forums.
+
+2006-11-30  Monte Ohrt  <monte@ohrt.com>
+
+    * NEWS
+      docs/en/designers/language-modifiers/language-modifier-truncate.xml
+      libs/Config_File.class.php
+      libs/Smarty.class.php
+      libs/Smarty_Compiler.class.php:
+      update dev version numbers, fix manual typo
+
+2006-11-22  George Miroshnikov  <support@infinity.com.ua>
+
+    * docs/ru/getting-started.xml
+      docs/ru/language-snippets.ent:
+      sync with EN
+
+    * docs/en/getting-started.xml:
+      replaced hardcoded path separator with PATH_SEPARATOR constant
+
+2006-11-20  boots  <jayboots@yahoo.com>
+
+    * libs/plugins/modifier.debug_print_var.php:
+      fix depth formatting of arrays and objects in modifier debug_print_var
+
+2006-11-10  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * docs/en/designers/language-variables/language-variables-smarty.xml:
+      fixed typo. thanks jonez.
+
+2006-11-08  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/internals/core.write_file.php:
+      change file writing semantics in smarty_core_write_file()
+      
+      This avoids unlink() unless rename() fails or a Windows system is detected
+      
+      see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=6956
+      
+      Thanks to c960657 from the forums.
+
+2006-11-07  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/debug.tpl:
+      update debug.tpl to xhtml 1.1 compliance, fix javascript escaping in debug
+      output and apply a Smarty based color scheme
+      
+      see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=7178
+      
+      thanks to cybot from the forums!
+
+    * NEWS
+      libs/plugins/modifier.debug_print_var.php:
+      enhance reporting precision of debug_print_var modifier
+      
+      see: http://www.phpinsider.com/smarty-forum/viewtopic.php?t=9281
+      
+      thanks to cybot from the forums
+
+2006-11-01  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/plugins/function.html_select_date.php:
+      make html_select_date work consistently with 0000-00-00 00:00:00 and
+      0000-00-00 inputs
+      
+      Thanks to cybot from forums
+
+2006-10-16  George Miroshnikov  <support@infinity.com.ua>
+
+    * docs/en/language-snippets.ent:
+      minor typo fix - &$class doesn't make sense.
+
+2006-10-14  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-basic-syntax.xml
+      docs/fr/designers/language-builtin-functions.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-attributes.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-quotes.xml
+      docs/fr/designers/language-builtin-functions/language-function-capture.xml
+      docs/fr/designers/language-builtin-functions/language-function-php.xml
+      docs/fr/designers/language-builtin-functions/language-function-section.xml
+      docs/fr/designers/language-custom-functions/language-function-popup-init.xml
+      docs/fr/designers/language-modifiers/language-modifier-escape.xml
+      docs/fr/programmers/api-functions/api-display.xml
+      docs/fr/programmers/plugins/plugins-inserts.xml:
+      sync with EN
+
+2006-10-14  Fernando Correa da Conceição  <fernando_conceicao@yahoo.com.br>
+
+    * docs/pt_BR/programmers/api-variables/variable-error-reporting.xml:
+      New Translation
+
+    * docs/pt_BR/designers/language-basic-syntax/language-escaping.xml
+      docs/pt_BR/designers/language-basic-syntax/language-syntax-variables.xml:
+      New Translations
+
+    * docs/pt_BR/translation.xml:
+      Used in revcheck
+
+    * docs/pt_BR/getting-started.xml
+      docs/pt_BR/language-snippets.ent
+      docs/pt_BR/make_chm_index.html
+      docs/pt_BR/preface.xml
+      docs/pt_BR/appendixes/resources.xml
+      docs/pt_BR/appendixes/troubleshooting.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-capitalize.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-cat.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-count-characters.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-count-paragraphs.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-count-sentences.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-count-words.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-date-format.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-default.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-escape.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-indent.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-lower.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-nl2br.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-regex-replace.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-replace.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-spacify.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-string-format.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-strip-tags.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-strip.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-truncate.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-upper.xml
+      docs/pt_BR/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/pt_BR/designers/language-variables/language-assigned-variables.xml
+      docs/pt_BR/designers/language-variables/language-config-variables.xml
+      docs/pt_BR/designers/language-variables/language-variables-smarty.xml
+      docs/pt_BR/programmers/advanced-features.xml
+      docs/pt_BR/programmers/api-functions.xml
+      docs/pt_BR/programmers/api-variables.xml
+      docs/pt_BR/programmers/caching.xml
+      docs/pt_BR/programmers/plugins.xml
+      docs/pt_BR/programmers/smarty-constants.xml
+      docs/pt_BR/programmers/advanced-features/advanced-features-objects.xml
+      docs/pt_BR/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/pt_BR/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/pt_BR/programmers/advanced-features/advanced-features-prefilters.xml
+      docs/pt_BR/programmers/advanced-features/section-template-cache-handler-func.xml
+      docs/pt_BR/programmers/advanced-features/template-resources.xml
+      docs/pt_BR/programmers/api-functions/api-append-by-ref.xml
+      docs/pt_BR/programmers/api-functions/api-append.xml
+      docs/pt_BR/programmers/api-functions/api-assign-by-ref.xml
+      docs/pt_BR/programmers/api-functions/api-assign.xml
+      docs/pt_BR/programmers/api-functions/api-clear-all-assign.xml
+      docs/pt_BR/programmers/api-functions/api-clear-all-cache.xml
+      docs/pt_BR/programmers/api-functions/api-clear-assign.xml
+      docs/pt_BR/programmers/api-functions/api-clear-cache.xml
+      docs/pt_BR/programmers/api-functions/api-clear-compiled-tpl.xml
+      docs/pt_BR/programmers/api-functions/api-clear-config.xml
+      docs/pt_BR/programmers/api-functions/api-config-load.xml
+      docs/pt_BR/programmers/api-functions/api-display.xml
+      docs/pt_BR/programmers/api-functions/api-fetch.xml
+      docs/pt_BR/programmers/api-functions/api-get-config-vars.xml
+      docs/pt_BR/programmers/api-functions/api-get-registered-object.xml
+      docs/pt_BR/programmers/api-functions/api-get-template-vars.xml
+      docs/pt_BR/programmers/api-functions/api-is-cached.xml
+      docs/pt_BR/programmers/api-functions/api-load-filter.xml
+      docs/pt_BR/programmers/api-functions/api-register-block.xml
+      docs/pt_BR/programmers/api-functions/api-register-compiler-function.xml
+      docs/pt_BR/programmers/api-functions/api-register-function.xml
+      docs/pt_BR/programmers/api-functions/api-register-modifier.xml
+      docs/pt_BR/programmers/api-functions/api-register-object.xml
+      docs/pt_BR/programmers/api-functions/api-register-outputfilter.xml
+      docs/pt_BR/programmers/api-functions/api-register-postfilter.xml
+      docs/pt_BR/programmers/api-functions/api-register-prefilter.xml
+      docs/pt_BR/programmers/api-functions/api-register-resource.xml
+      docs/pt_BR/programmers/api-functions/api-template-exists.xml
+      docs/pt_BR/programmers/api-functions/api-trigger-error.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-block.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-compiler-function.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-function.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-modifier.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-object.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-outputfilter.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-postfilter.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-prefilter.xml
+      docs/pt_BR/programmers/api-functions/api-unregister-resource.xml
+      docs/pt_BR/programmers/api-variables/variable-autoload-filters.xml
+      docs/pt_BR/programmers/api-variables/variable-cache-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-cache-handler-func.xml
+      docs/pt_BR/programmers/api-variables/variable-cache-lifetime.xml
+      docs/pt_BR/programmers/api-variables/variable-cache-modified-check.xml
+      docs/pt_BR/programmers/api-variables/variable-caching.xml
+      docs/pt_BR/programmers/api-variables/variable-compile-check.xml
+      docs/pt_BR/programmers/api-variables/variable-compile-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-compile-id.xml
+      docs/pt_BR/programmers/api-variables/variable-compiler-class.xml
+      docs/pt_BR/programmers/api-variables/variable-config-booleanize.xml
+      docs/pt_BR/programmers/api-variables/variable-config-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-config-fix-newlines.xml
+      docs/pt_BR/programmers/api-variables/variable-config-overwrite.xml
+      docs/pt_BR/programmers/api-variables/variable-config-read-hidden.xml
+      docs/pt_BR/programmers/api-variables/variable-debug-tpl.xml
+      docs/pt_BR/programmers/api-variables/variable-debugging-ctrl.xml
+      docs/pt_BR/programmers/api-variables/variable-debugging.xml
+      docs/pt_BR/programmers/api-variables/variable-default-modifiers.xml
+      docs/pt_BR/programmers/api-variables/variable-default-resource-type.xml
+      docs/pt_BR/programmers/api-variables/variable-default-template-handler-func.xml
+      docs/pt_BR/programmers/api-variables/variable-force-compile.xml
+      docs/pt_BR/programmers/api-variables/variable-global-assign.xml
+      docs/pt_BR/programmers/api-variables/variable-left-delimiter.xml
+      docs/pt_BR/programmers/api-variables/variable-php-handling.xml
+      docs/pt_BR/programmers/api-variables/variable-plugins-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-request-use-auto-globals.xml
+      docs/pt_BR/programmers/api-variables/variable-request-vars-order.xml
+      docs/pt_BR/programmers/api-variables/variable-right-delimiter.xml
+      docs/pt_BR/programmers/api-variables/variable-secure-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-security-settings.xml
+      docs/pt_BR/programmers/api-variables/variable-security.xml
+      docs/pt_BR/programmers/api-variables/variable-template-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-trusted-dir.xml
+      docs/pt_BR/programmers/api-variables/variable-undefined.xml
+      docs/pt_BR/programmers/api-variables/variable-use-sub-dirs.xml
+      docs/pt_BR/programmers/caching/caching-cacheable.xml
+      docs/pt_BR/programmers/caching/caching-groups.xml
+      docs/pt_BR/programmers/caching/caching-multiple-caches.xml
+      docs/pt_BR/programmers/caching/caching-setting-up.xml
+      docs/pt_BR/programmers/plugins/plugins-block-functions.xml
+      docs/pt_BR/programmers/plugins/plugins-compiler-functions.xml
+      docs/pt_BR/programmers/plugins/plugins-functions.xml
+      docs/pt_BR/programmers/plugins/plugins-howto.xml
+      docs/pt_BR/programmers/plugins/plugins-inserts.xml
+      docs/pt_BR/programmers/plugins/plugins-modifiers.xml
+      docs/pt_BR/programmers/plugins/plugins-naming-conventions.xml
+      docs/pt_BR/programmers/plugins/plugins-outputfilters.xml
+      docs/pt_BR/programmers/plugins/plugins-prefilters-postfilters.xml
+      docs/pt_BR/programmers/plugins/plugins-resources.xml
+      docs/pt_BR/programmers/plugins/plugins-writing.xml:
+      Big update. Revision tag for all files. Some updates. Now I can update it
+
+2006-10-09  Peter 'Mash' Morgan  <pm@daffodil.uk.com>
+
+    * docs/en/getting-started.xml
+      docs/en/designers/language-basic-syntax.xml
+      docs/en/designers/language-custom-functions/language-function-popup-init.xml
+      docs/en/designers/language-modifiers/language-modifier-escape.xml
+      docs/en/programmers/api-functions/api-display.xml
+      docs/en/programmers/plugins/plugins-inserts.xml:
+      Minor changes and corrections
+
+    * docs/en/designers/language-basic-syntax.xml
+      docs/en/designers/language-builtin-functions.xml
+      docs/en/designers/language-basic-syntax/language-syntax-attributes.xml
+      docs/en/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/en/designers/language-basic-syntax/language-syntax-quotes.xml
+      docs/en/designers/language-modifiers/language-modifier-escape.xml:
+      Minor formatting and error correction
+
+    * docs/en/designers/language-builtin-functions/language-function-capture.xml
+      docs/en/designers/language-builtin-functions/language-function-php.xml
+      docs/en/designers/language-builtin-functions/language-function-section.xml:
+      minor formatting and changes
+
+    * docs/en/getting-started.xml:
+      Tidied up formatting so more readable, tidied up the install to the paths
+      are more clear (ta jj)
+
+2006-10-09  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-builtin-functions/language-function-section.xml:
+      sync with EN
+
+2006-10-08  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-builtin-functions/language-function-php.xml
+      docs/fr/designers/language-modifiers/language-modifier-escape.xml
+      docs/fr/designers/language-variables/language-variables-smarty.xml
+      docs/fr/programmers/api-variables/variable-request-use-auto-globals.xml:
+      fix build
+
+    * docs/fr/designers/language-builtin-functions/language-function-strip.xml
+      docs/fr/programmers/caching.xml
+      docs/fr/programmers/smarty-constants.xml
+      docs/fr/programmers/api-variables/variable-autoload-filters.xml
+      docs/fr/programmers/api-variables/variable-cache-dir.xml
+      docs/fr/programmers/api-variables/variable-cache-handler-func.xml
+      docs/fr/programmers/api-variables/variable-cache-lifetime.xml
+      docs/fr/programmers/api-variables/variable-cache-modified-check.xml
+      docs/fr/programmers/api-variables/variable-caching.xml
+      docs/fr/programmers/api-variables/variable-compile-check.xml
+      docs/fr/programmers/api-variables/variable-compile-dir.xml
+      docs/fr/programmers/api-variables/variable-compile-id.xml
+      docs/fr/programmers/api-variables/variable-compiler-class.xml
+      docs/fr/programmers/api-variables/variable-config-booleanize.xml
+      docs/fr/programmers/api-variables/variable-config-dir.xml
+      docs/fr/programmers/api-variables/variable-config-fix-newlines.xml
+      docs/fr/programmers/api-variables/variable-config-overwrite.xml
+      docs/fr/programmers/api-variables/variable-config-read-hidden.xml
+      docs/fr/programmers/api-variables/variable-debug-tpl.xml
+      docs/fr/programmers/api-variables/variable-debugging-ctrl.xml
+      docs/fr/programmers/api-variables/variable-debugging.xml
+      docs/fr/programmers/api-variables/variable-default-modifiers.xml
+      docs/fr/programmers/api-variables/variable-default-resource-type.xml
+      docs/fr/programmers/api-variables/variable-default-template-handler-func.xml
+      docs/fr/programmers/api-variables/variable-error-reporting.xml
+      docs/fr/programmers/api-variables/variable-force-compile.xml
+      docs/fr/programmers/api-variables/variable-left-delimiter.xml
+      docs/fr/programmers/api-variables/variable-php-handling.xml
+      docs/fr/programmers/api-variables/variable-plugins-dir.xml
+      docs/fr/programmers/api-variables/variable-request-use-auto-globals.xml
+      docs/fr/programmers/api-variables/variable-request-vars-order.xml
+      docs/fr/programmers/api-variables/variable-right-delimiter.xml
+      docs/fr/programmers/api-variables/variable-secure-dir.xml
+      docs/fr/programmers/api-variables/variable-security-settings.xml
+      docs/fr/programmers/api-variables/variable-security.xml
+      docs/fr/programmers/api-variables/variable-template-dir.xml
+      docs/fr/programmers/api-variables/variable-trusted-dir.xml
+      docs/fr/programmers/api-variables/variable-use-sub-dirs.xml
+      docs/fr/programmers/caching/caching-cacheable.xml
+      docs/fr/programmers/caching/caching-groups.xml
+      docs/fr/programmers/caching/caching-multiple-caches.xml
+      docs/fr/programmers/caching/caching-setting-up.xml
+      docs/fr/programmers/plugins/plugins-block-functions.xml
+      docs/fr/programmers/plugins/plugins-compiler-functions.xml
+      docs/fr/programmers/plugins/plugins-functions.xml
+      docs/fr/programmers/plugins/plugins-inserts.xml
+      docs/fr/programmers/plugins/plugins-modifiers.xml
+      docs/fr/programmers/plugins/plugins-naming-conventions.xml
+      docs/fr/programmers/plugins/plugins-outputfilters.xml
+      docs/fr/programmers/plugins/plugins-prefilters-postfilters.xml
+      docs/fr/programmers/plugins/plugins-resources.xml
+      docs/fr/programmers/plugins/plugins-writing.xml:
+      sync with EN
+
+2006-10-07  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/programmers/advanced-features/advanced-features-objects.xml
+      docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/fr/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/fr/programmers/advanced-features/advanced-features-prefilters.xml
+      docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml
+      docs/fr/programmers/advanced-features/template-resources.xml
+      docs/fr/programmers/api-functions/api-append-by-ref.xml
+      docs/fr/programmers/api-functions/api-append.xml
+      docs/fr/programmers/api-functions/api-assign-by-ref.xml
+      docs/fr/programmers/api-functions/api-assign.xml
+      docs/fr/programmers/api-functions/api-clear-all-assign.xml
+      docs/fr/programmers/api-functions/api-clear-all-cache.xml
+      docs/fr/programmers/api-functions/api-clear-assign.xml
+      docs/fr/programmers/api-functions/api-clear-cache.xml
+      docs/fr/programmers/api-functions/api-clear-compiled-tpl.xml
+      docs/fr/programmers/api-functions/api-clear-config.xml
+      docs/fr/programmers/api-functions/api-config-load.xml
+      docs/fr/programmers/api-functions/api-display.xml
+      docs/fr/programmers/api-functions/api-fetch.xml
+      docs/fr/programmers/api-functions/api-get-config-vars.xml
+      docs/fr/programmers/api-functions/api-get-registered-object.xml
+      docs/fr/programmers/api-functions/api-get-template-vars.xml
+      docs/fr/programmers/api-functions/api-is-cached.xml
+      docs/fr/programmers/api-functions/api-load-filter.xml
+      docs/fr/programmers/api-functions/api-register-block.xml
+      docs/fr/programmers/api-functions/api-register-compiler-function.xml
+      docs/fr/programmers/api-functions/api-register-function.xml
+      docs/fr/programmers/api-functions/api-register-modifier.xml
+      docs/fr/programmers/api-functions/api-register-object.xml
+      docs/fr/programmers/api-functions/api-register-outputfilter.xml
+      docs/fr/programmers/api-functions/api-register-postfilter.xml
+      docs/fr/programmers/api-functions/api-register-prefilter.xml
+      docs/fr/programmers/api-functions/api-register-resource.xml
+      docs/fr/programmers/api-functions/api-template-exists.xml
+      docs/fr/programmers/api-functions/api-trigger-error.xml
+      docs/fr/programmers/api-functions/api-unregister-block.xml
+      docs/fr/programmers/api-functions/api-unregister-compiler-function.xml
+      docs/fr/programmers/api-functions/api-unregister-function.xml
+      docs/fr/programmers/api-functions/api-unregister-modifier.xml
+      docs/fr/programmers/api-functions/api-unregister-object.xml
+      docs/fr/programmers/api-functions/api-unregister-outputfilter.xml
+      docs/fr/programmers/api-functions/api-unregister-postfilter.xml
+      docs/fr/programmers/api-functions/api-unregister-prefilter.xml
+      docs/fr/programmers/api-functions/api-unregister-resource.xml:
+      sync with EN
+
+2006-10-03  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-custom-functions/language-function-html-select-time.xml
+      docs/fr/designers/language-custom-functions/language-function-html-table.xml
+      docs/fr/designers/language-custom-functions/language-function-mailto.xml
+      docs/fr/designers/language-custom-functions/language-function-math.xml
+      docs/fr/designers/language-custom-functions/language-function-popup-init.xml
+      docs/fr/designers/language-custom-functions/language-function-popup.xml
+      docs/fr/designers/language-custom-functions/language-function-textformat.xml
+      docs/fr/designers/language-modifiers/language-modifier-capitalize.xml
+      docs/fr/designers/language-modifiers/language-modifier-cat.xml
+      docs/fr/designers/language-modifiers/language-modifier-count-characters.xml
+      docs/fr/designers/language-modifiers/language-modifier-count-paragraphs.xml
+      docs/fr/designers/language-modifiers/language-modifier-count-sentences.xml
+      docs/fr/designers/language-modifiers/language-modifier-count-words.xml
+      docs/fr/designers/language-modifiers/language-modifier-date-format.xml
+      docs/fr/designers/language-modifiers/language-modifier-default.xml
+      docs/fr/designers/language-modifiers/language-modifier-escape.xml
+      docs/fr/designers/language-modifiers/language-modifier-indent.xml
+      docs/fr/designers/language-modifiers/language-modifier-lower.xml
+      docs/fr/designers/language-modifiers/language-modifier-nl2br.xml
+      docs/fr/designers/language-modifiers/language-modifier-regex-replace.xml
+      docs/fr/designers/language-modifiers/language-modifier-replace.xml
+      docs/fr/designers/language-modifiers/language-modifier-spacify.xml
+      docs/fr/designers/language-modifiers/language-modifier-string-format.xml
+      docs/fr/designers/language-modifiers/language-modifier-strip-tags.xml
+      docs/fr/designers/language-modifiers/language-modifier-strip.xml
+      docs/fr/designers/language-modifiers/language-modifier-truncate.xml
+      docs/fr/designers/language-modifiers/language-modifier-upper.xml
+      docs/fr/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/fr/designers/language-variables/language-assigned-variables.xml
+      docs/fr/designers/language-variables/language-config-variables.xml
+      docs/fr/designers/language-variables/language-variables-smarty.xml:
+      sync with EN
+
+2006-10-01  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-builtin-functions/language-function-include-php.xml
+      docs/fr/designers/language-builtin-functions/language-function-include.xml
+      docs/fr/designers/language-builtin-functions/language-function-insert.xml
+      docs/fr/designers/language-builtin-functions/language-function-ldelim.xml
+      docs/fr/designers/language-builtin-functions/language-function-literal.xml
+      docs/fr/designers/language-builtin-functions/language-function-php.xml
+      docs/fr/designers/language-custom-functions/language-function-assign.xml
+      docs/fr/designers/language-custom-functions/language-function-counter.xml
+      docs/fr/designers/language-custom-functions/language-function-cycle.xml
+      docs/fr/designers/language-custom-functions/language-function-debug.xml
+      docs/fr/designers/language-custom-functions/language-function-eval.xml
+      docs/fr/designers/language-custom-functions/language-function-fetch.xml
+      docs/fr/designers/language-custom-functions/language-function-html-checkboxes.xml
+      docs/fr/designers/language-custom-functions/language-function-html-image.xml
+      docs/fr/designers/language-custom-functions/language-function-html-options.xml
+      docs/fr/designers/language-custom-functions/language-function-html-radios.xml
+      docs/fr/designers/language-custom-functions/language-function-html-select-date.xml:
+      sync with EN
+
+2006-09-30  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/getting-started.xml:
+      fix build
+
+    * docs/fr/designers/chapter-debugging-console.xml
+      docs/fr/designers/config-files.xml
+      docs/fr/designers/language-builtin-functions.xml
+      docs/fr/designers/language-modifiers.xml
+      docs/fr/designers/language-variables.xml
+      docs/fr/designers/language-basic-syntax/language-escaping.xml
+      docs/fr/designers/language-basic-syntax/language-math.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-functions.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-quotes.xml
+      docs/fr/designers/language-basic-syntax/language-syntax-variables.xml
+      docs/fr/designers/language-builtin-functions/language-function-capture.xml
+      docs/fr/designers/language-builtin-functions/language-function-config-load.xml
+      docs/fr/designers/language-builtin-functions/language-function-foreach.xml
+      docs/fr/designers/language-builtin-functions/language-function-if.xml:
+      sync with EN
+
+    * docs/fr/getting-started.xml
+      docs/fr/language-snippets.ent
+      docs/fr/appendixes/resources.xml
+      docs/fr/appendixes/tips.xml
+      docs/fr/appendixes/troubleshooting.xml:
+      sync with EN
+
+2006-09-27  Peter 'Mash' Morgan  <pm@daffodil.uk.com>
+
+    * docs/en/designers/language-builtin-functions/language-function-section.xml:
+      Minor tweaks and corrections
+
+    * docs/en/getting-started.xml
+      docs/en/designers/chapter-debugging-console.xml
+      docs/en/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/en/designers/language-custom-functions/language-function-html-image.xml
+      docs/en/designers/language-custom-functions/language-function-html-options.xml
+      docs/en/designers/language-custom-functions/language-function-html-radios.xml
+      docs/en/designers/language-custom-functions/language-function-html-select-date.xml
+      docs/en/designers/language-custom-functions/language-function-html-select-time.xml
+      docs/en/designers/language-custom-functions/language-function-html-table.xml
+      docs/en/designers/language-custom-functions/language-function-mailto.xml
+      docs/en/designers/language-custom-functions/language-function-popup-init.xml
+      docs/en/designers/language-custom-functions/language-function-textformat.xml
+      docs/en/designers/language-variables/language-config-variables.xml
+      docs/en/designers/language-variables/language-variables-smarty.xml:
+      Add literal tags to html, general formatting
+
+    * docs/en/getting-started.xml
+      docs/en/appendixes/resources.xml
+      docs/en/appendixes/tips.xml
+      docs/en/appendixes/troubleshooting.xml
+      docs/en/designers/config-files.xml
+      docs/en/programmers/caching.xml
+      docs/en/programmers/smarty-constants.xml
+      docs/en/programmers/advanced-features/advanced-features-objects.xml
+      docs/en/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/en/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/en/programmers/advanced-features/advanced-features-prefilters.xml
+      docs/en/programmers/advanced-features/section-template-cache-handler-func.xml
+      docs/en/programmers/advanced-features/template-resources.xml
+      docs/en/programmers/api-variables/variable-autoload-filters.xml
+      docs/en/programmers/api-variables/variable-cache-dir.xml
+      docs/en/programmers/api-variables/variable-cache-handler-func.xml
+      docs/en/programmers/api-variables/variable-cache-lifetime.xml
+      docs/en/programmers/api-variables/variable-cache-modified-check.xml
+      docs/en/programmers/api-variables/variable-caching.xml
+      docs/en/programmers/api-variables/variable-compile-check.xml
+      docs/en/programmers/api-variables/variable-compile-dir.xml
+      docs/en/programmers/api-variables/variable-compile-id.xml
+      docs/en/programmers/api-variables/variable-config-booleanize.xml
+      docs/en/programmers/api-variables/variable-config-dir.xml
+      docs/en/programmers/api-variables/variable-config-fix-newlines.xml
+      docs/en/programmers/api-variables/variable-config-overwrite.xml
+      docs/en/programmers/api-variables/variable-config-read-hidden.xml
+      docs/en/programmers/api-variables/variable-debug-tpl.xml
+      docs/en/programmers/api-variables/variable-debugging-ctrl.xml
+      docs/en/programmers/api-variables/variable-debugging.xml
+      docs/en/programmers/api-variables/variable-default-modifiers.xml
+      docs/en/programmers/api-variables/variable-default-resource-type.xml
+      docs/en/programmers/api-variables/variable-error-reporting.xml
+      docs/en/programmers/api-variables/variable-force-compile.xml
+      docs/en/programmers/api-variables/variable-left-delimiter.xml
+      docs/en/programmers/api-variables/variable-php-handling.xml
+      docs/en/programmers/api-variables/variable-plugins-dir.xml
+      docs/en/programmers/api-variables/variable-request-use-auto-globals.xml
+      docs/en/programmers/api-variables/variable-request-vars-order.xml
+      docs/en/programmers/api-variables/variable-right-delimiter.xml
+      docs/en/programmers/api-variables/variable-secure-dir.xml
+      docs/en/programmers/api-variables/variable-security-settings.xml
+      docs/en/programmers/api-variables/variable-security.xml
+      docs/en/programmers/api-variables/variable-template-dir.xml
+      docs/en/programmers/api-variables/variable-trusted-dir.xml
+      docs/en/programmers/api-variables/variable-use-sub-dirs.xml
+      docs/en/programmers/caching/caching-cacheable.xml
+      docs/en/programmers/caching/caching-groups.xml
+      docs/en/programmers/caching/caching-multiple-caches.xml
+      docs/en/programmers/caching/caching-setting-up.xml:
+      Tidy up of formatting
+
+    * docs/entities/global.ent:
+      Adding some more resources
+
+    * docs/en/programmers/plugins/plugins-block-functions.xml
+      docs/en/programmers/plugins/plugins-compiler-functions.xml
+      docs/en/programmers/plugins/plugins-functions.xml
+      docs/en/programmers/plugins/plugins-inserts.xml
+      docs/en/programmers/plugins/plugins-modifiers.xml
+      docs/en/programmers/plugins/plugins-naming-conventions.xml
+      docs/en/programmers/plugins/plugins-outputfilters.xml
+      docs/en/programmers/plugins/plugins-prefilters-postfilters.xml
+      docs/en/programmers/plugins/plugins-resources.xml
+      docs/en/programmers/plugins/plugins-writing.xml:
+      Tidy up some formatting
+
+2006-09-26  Peter 'Mash' Morgan  <pm@daffodil.uk.com>
+
+    * docs/en/programmers/api-functions/api-append-by-ref.xml
+      docs/en/programmers/api-functions/api-append.xml
+      docs/en/programmers/api-functions/api-assign-by-ref.xml
+      docs/en/programmers/api-functions/api-assign.xml
+      docs/en/programmers/api-functions/api-clear-all-assign.xml
+      docs/en/programmers/api-functions/api-clear-all-cache.xml
+      docs/en/programmers/api-functions/api-clear-assign.xml
+      docs/en/programmers/api-functions/api-clear-cache.xml
+      docs/en/programmers/api-functions/api-clear-compiled-tpl.xml
+      docs/en/programmers/api-functions/api-clear-config.xml
+      docs/en/programmers/api-functions/api-config-load.xml
+      docs/en/programmers/api-functions/api-display.xml
+      docs/en/programmers/api-functions/api-fetch.xml
+      docs/en/programmers/api-functions/api-get-config-vars.xml
+      docs/en/programmers/api-functions/api-get-registered-object.xml
+      docs/en/programmers/api-functions/api-get-template-vars.xml
+      docs/en/programmers/api-functions/api-is-cached.xml
+      docs/en/programmers/api-functions/api-load-filter.xml
+      docs/en/programmers/api-functions/api-register-block.xml
+      docs/en/programmers/api-functions/api-register-compiler-function.xml
+      docs/en/programmers/api-functions/api-register-function.xml
+      docs/en/programmers/api-functions/api-register-modifier.xml
+      docs/en/programmers/api-functions/api-register-object.xml
+      docs/en/programmers/api-functions/api-register-outputfilter.xml
+      docs/en/programmers/api-functions/api-register-postfilter.xml
+      docs/en/programmers/api-functions/api-register-prefilter.xml
+      docs/en/programmers/api-functions/api-register-resource.xml
+      docs/en/programmers/api-functions/api-template-exists.xml
+      docs/en/programmers/api-functions/api-trigger-error.xml
+      docs/en/programmers/api-functions/api-unregister-block.xml
+      docs/en/programmers/api-functions/api-unregister-compiler-function.xml
+      docs/en/programmers/api-functions/api-unregister-function.xml
+      docs/en/programmers/api-functions/api-unregister-modifier.xml
+      docs/en/programmers/api-functions/api-unregister-object.xml
+      docs/en/programmers/api-functions/api-unregister-outputfilter.xml
+      docs/en/programmers/api-functions/api-unregister-postfilter.xml
+      docs/en/programmers/api-functions/api-unregister-prefilter.xml
+      docs/en/programmers/api-functions/api-unregister-resource.xml:
+      Tidy up formatting and examples
+
+    * docs/en/language-snippets.ent:
+      Moved recurring para for register_*
+
+    * docs/en/designers/language-modifiers.xml:
+      Spelling on modifiers
+
+    * docs/en/designers/language-builtin-functions.xml
+      docs/en/designers/language-modifiers.xml
+      docs/en/designers/language-custom-functions/language-function-html-options.xml
+      docs/en/designers/language-modifiers/language-modifier-capitalize.xml
+      docs/en/designers/language-modifiers/language-modifier-cat.xml
+      docs/en/designers/language-modifiers/language-modifier-count-characters.xml
+      docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml
+      docs/en/designers/language-modifiers/language-modifier-count-sentences.xml
+      docs/en/designers/language-modifiers/language-modifier-count-words.xml
+      docs/en/designers/language-modifiers/language-modifier-date-format.xml
+      docs/en/designers/language-modifiers/language-modifier-default.xml
+      docs/en/designers/language-modifiers/language-modifier-escape.xml
+      docs/en/designers/language-modifiers/language-modifier-indent.xml
+      docs/en/designers/language-modifiers/language-modifier-lower.xml
+      docs/en/designers/language-modifiers/language-modifier-nl2br.xml
+      docs/en/designers/language-modifiers/language-modifier-regex-replace.xml
+      docs/en/designers/language-modifiers/language-modifier-replace.xml
+      docs/en/designers/language-modifiers/language-modifier-spacify.xml
+      docs/en/designers/language-modifiers/language-modifier-string-format.xml
+      docs/en/designers/language-modifiers/language-modifier-strip-tags.xml
+      docs/en/designers/language-modifiers/language-modifier-strip.xml
+      docs/en/designers/language-modifiers/language-modifier-truncate.xml
+      docs/en/designers/language-modifiers/language-modifier-upper.xml
+      docs/en/designers/language-modifiers/language-modifier-wordwrap.xml:
+      Tidying up some markup
+
+    * docs/en/designers/language-variables.xml:
+      typo
+
+    * docs/en/designers/language-variables.xml
+      docs/en/designers/language-variables/language-assigned-variables.xml
+      docs/en/designers/language-variables/language-config-variables.xml
+      docs/en/designers/language-variables/language-variables-smarty.xml:
+      Tidy up formatting on variables
+
+    * docs/en/designers/language-basic-syntax/language-escaping.xml
+      docs/en/designers/language-basic-syntax/language-math.xml
+      docs/en/designers/language-basic-syntax/language-syntax-comments.xml
+      docs/en/designers/language-basic-syntax/language-syntax-functions.xml
+      docs/en/designers/language-basic-syntax/language-syntax-quotes.xml
+      docs/en/designers/language-basic-syntax/language-syntax-variables.xml:
+      Formatting of the basic-syntax dir
+
+    * docs/en/designers/language-custom-functions/language-function-assign.xml
+      docs/en/designers/language-custom-functions/language-function-counter.xml
+      docs/en/designers/language-custom-functions/language-function-cycle.xml
+      docs/en/designers/language-custom-functions/language-function-debug.xml
+      docs/en/designers/language-custom-functions/language-function-eval.xml
+      docs/en/designers/language-custom-functions/language-function-fetch.xml
+      docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml
+      docs/en/designers/language-custom-functions/language-function-html-image.xml
+      docs/en/designers/language-custom-functions/language-function-html-options.xml
+      docs/en/designers/language-custom-functions/language-function-html-radios.xml
+      docs/en/designers/language-custom-functions/language-function-html-select-date.xml
+      docs/en/designers/language-custom-functions/language-function-html-select-time.xml
+      docs/en/designers/language-custom-functions/language-function-html-table.xml
+      docs/en/designers/language-custom-functions/language-function-mailto.xml
+      docs/en/designers/language-custom-functions/language-function-math.xml
+      docs/en/designers/language-custom-functions/language-function-popup-init.xml
+      docs/en/designers/language-custom-functions/language-function-popup.xml
+      docs/en/designers/language-custom-functions/language-function-textformat.xml:
+      More formatting and cleaning up examples
+
+2006-09-25  Peter 'Mash' Morgan  <pm@daffodil.uk.com>
+
+    * docs/en/designers/language-builtin-functions/language-function-foreach.xml
+      docs/en/designers/language-builtin-functions/language-function-section.xml:
+      Doh! removing tabs
+
+    * docs/en/designers/language-builtin-functions/language-function-capture.xml
+      docs/en/designers/language-builtin-functions/language-function-config-load.xml
+      docs/en/designers/language-builtin-functions/language-function-foreach.xml
+      docs/en/designers/language-builtin-functions/language-function-if.xml
+      docs/en/designers/language-builtin-functions/language-function-include-php.xml
+      docs/en/designers/language-builtin-functions/language-function-include.xml
+      docs/en/designers/language-builtin-functions/language-function-insert.xml
+      docs/en/designers/language-builtin-functions/language-function-ldelim.xml
+      docs/en/designers/language-builtin-functions/language-function-literal.xml
+      docs/en/designers/language-builtin-functions/language-function-php.xml
+      docs/en/designers/language-builtin-functions/language-function-section.xml
+      docs/en/designers/language-builtin-functions/language-function-strip.xml:
+      A lot of formatting, tagging and tidy up. Some consistency at last
+
+    * docs/en/designers/language-builtin-functions/language-function-section.xml:
+      Major tidy up
+
+    * docs/en/designers/language-builtin-functions/language-function-foreach.xml:
+      Major tidy up, added index property and some examples
+
+2006-09-03  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-custom-functions/language-function-popup-init.xml
+      docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/fr/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/fr/programmers/advanced-features/advanced-features-prefilters.xml:
+      sync with EN
+
+2006-09-01  George Miroshnikov  <support@infinity.com.ua>
+
+    * docs/ru/programmers/api-functions/api-append-by-ref.xml
+      docs/ru/programmers/api-functions/api-append.xml
+      docs/ru/programmers/api-functions/api-assign-by-ref.xml
+      docs/ru/programmers/api-functions/api-assign.xml
+      docs/ru/programmers/api-functions/api-clear-all-assign.xml
+      docs/ru/programmers/api-functions/api-clear-all-cache.xml
+      docs/ru/programmers/api-functions/api-clear-assign.xml
+      docs/ru/programmers/api-functions/api-clear-cache.xml
+      docs/ru/programmers/api-functions/api-clear-compiled-tpl.xml
+      docs/ru/programmers/api-functions/api-clear-config.xml
+      docs/ru/programmers/api-functions/api-config-load.xml
+      docs/ru/programmers/api-functions/api-display.xml:
+      sync with EN
+
+2006-08-25  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      fixed wrong handling of name attribute in {insert}
+      thanks to Ivan Kravets for reporting this
+
+    * libs/Smarty_Compiler.class.php:
+      fixed typo
+
+2006-08-21  George Miroshnikov  <support@infinity.com.ua>
+
+    * docs/ru/designers/language-custom-functions/language-function-popup-init.xml
+      docs/ru/programmers/advanced-features/advanced-features-objects.xml
+      docs/ru/programmers/advanced-features/advanced-features-outputfilters.xml
+      docs/ru/programmers/advanced-features/advanced-features-postfilters.xml
+      docs/ru/programmers/advanced-features/advanced-features-prefilters.xml
+      docs/ru/programmers/advanced-features/section-template-cache-handler-func.xml
+      docs/ru/programmers/advanced-features/template-resources.xml:
+      sync with EN
+
+    * docs/en/programmers/advanced-features/advanced-features-prefilters.xml:
+      another missing dot
+
+    * docs/en/programmers/advanced-features/advanced-features-postfilters.xml:
+      missing dot
+
+    * docs/en/programmers/advanced-features/advanced-features-outputfilters.xml:
+      missing comma
+
+2006-08-19  Peter 'Mash' Morgan  <pmm@daffodil.uk.com>
+
+    * docs/en/designers/language-custom-functions/language-function-popup-init.xml:
+      avoid dupes and added remote paths
+
+2006-08-06  Yannick Torres  <yannick.torres@keliglia.com>
+
+    * docs/fr/designers/language-custom-functions/language-function-html-table.xml
+      docs/fr/designers/language-custom-functions/language-function-mailto.xml:
+      sync with EN
+
+2006-08-03  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      fix false replacement of "$t" inside double quotes
+      thanks to checat for reporting this
+
+2006-07-20  George Miroshnikov  <support@infinity.com.ua>
+
+    * docs/ru/designers/language-custom-functions/language-function-html-table.xml
+      docs/ru/designers/language-custom-functions/language-function-mailto.xml:
+      incrementing EN-Revision
+
+    * docs/ru/designers/language-custom-functions/language-function-assign.xml
+      docs/ru/designers/language-custom-functions/language-function-eval.xml
+      docs/ru/designers/language-custom-functions/language-function-fetch.xml
+      docs/ru/designers/language-custom-functions/language-function-html-checkboxes.xml
+      docs/ru/designers/language-custom-functions/language-function-html-image.xml
+      docs/ru/designers/language-custom-functions/language-function-html-options.xml
+      docs/ru/designers/language-custom-functions/language-function-html-radios.xml
+      docs/ru/designers/language-custom-functions/language-function-html-table.xml
+      docs/ru/designers/language-custom-functions/language-function-mailto.xml
+      docs/ru/designers/language-custom-functions/language-function-popup-init.xml
+      docs/ru/designers/language-custom-functions/language-function-popup.xml
+      docs/ru/designers/language-modifiers/language-modifier-date-format.xml
+      docs/ru/designers/language-modifiers/language-modifier-default.xml
+      docs/ru/designers/language-modifiers/language-modifier-escape.xml
+      docs/ru/designers/language-modifiers/language-modifier-indent.xml
+      docs/ru/designers/language-modifiers/language-modifier-lower.xml
+      docs/ru/designers/language-modifiers/language-modifier-nl2br.xml
+      docs/ru/designers/language-modifiers/language-modifier-strip.xml
+      docs/ru/designers/language-modifiers/language-modifier-truncate.xml
+      docs/ru/designers/language-modifiers/language-modifier-upper.xml
+      docs/ru/designers/language-modifiers/language-modifier-wordwrap.xml
+      docs/ru/designers/language-variables/language-variables-smarty.xml:
+      sync with EN
+
+    * docs/en/designers/language-custom-functions/language-function-mailto.xml:
+      typo
+
+2006-07-10  boots  <jayboots@yahoo.com>
+
+    * libs/plugins/function.html_table.php:
+      fixed email address in comments
+
+    * NEWS
+      libs/plugins/function.html_table.php:
+      html_table: fixed th/tr output, added hdir support for column
+      headings,update docs to reflect new features
+
+2006-07-08  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * libs/plugins/function.html_table.php:
+      fix occasional notices on undefined variables
+
+2006-07-08  boots  <jayboots@yahoo.com>
+
+    * libs/plugins/function.html_table.php:
+      Added ability to specify column headings in {html_table}
+      
+      Added th_attrs attribute which works similary to td_attr and tr_attr but
+      for TH elements. Changes the cols attribute to allow mixed values; a
+      numeric still specifies the number of columns to render but now an array
+      of values can be used to specify TH column values. The number of columns
+      is determine from the size of the array. Further, a comma-separated
+      string of column names can be used which is internally coverted to an
+      array and used as if it was specified as a normal array.
+      
+      Thanks for lynlyn for the feature request.
+
+2006-06-23  boots  <jayboots@yahoo.com>
+
+    * libs/plugins/outputfilter.trimwhitespace.php:
+      fix comments in outputfilter.trimwhitespace
+
+    * NEWS
+      libs/plugins/outputfilter.trimwhitespace.php:
+      fixed ordering of replacements in trimwhitespace output filter
+      
+      Thanks to Getty from IRC for reporting this.
+
+2006-06-20  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/plugins/function.mailto.php:
+      update mailto function plugin to work around a firefox/thunderbird escaping
+      bug
+      
+      Thanks to elijahlofgren from the forums for reporting this and providing
+      the necessary patch
+
+    * NEWS
+      libs/plugins/modifier.date_format.php:
+      emulate %l in the date_format modifier on windows
+      
+      thanks to Gibberish from the forums for reporting this
+
+2006-06-14  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/plugins/modifier.capitalize.php:
+      Fix handling of apostrophes in the capitalize modifier.
+      
+      Thanks to asmecher from the forums for reporting this and providing a
+      partial solution.
+
+2006-05-28  Monte Ohrt  <monte@ohrt.com>
+
+    * NEWS
+      libs/Config_File.class.php
+      libs/Smarty.class.php
+      libs/Smarty_Compiler.class.php:
+      update version numbers
+
+2006-05-25  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      un-hide hidden xml open tags
+
+2006-05-09  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      separate handling of comment blocks from "special blocks"
+
+    * NEWS
+      libs/plugins/function.popup_init.php:
+      reverted {popup_init} as proposed change to insertion behviour was not BC
+
+2006-05-04  boots  <jayboots@yahoo.com>
+
+    * NEWS
+      libs/plugins/function.popup_init.php:
+      changed {popup_init} to only emit code once during a request
+      
+      Thanks to TGKnIght from forums
+
+2006-04-22  Messju Mohr  <messju@lammfellpuschen.de>
+
+    * NEWS
+      libs/Smarty_Compiler.class.php:
+      fix handling of block-methods of registered objects
+      thanks to El Hombre Gris
+
+2006-04-04  Monte Ohrt  <monte@ohrt.com>
+
+    * libs/plugins/function.html_select_date.php:
+      fix typo
+
+2006-03-09  Monte Ohrt  <monte@ohrt.com>
+
+    * (Smarty_2_6_13)
+      NEWS:
+      update for release
+
 2006-03-08  Monte Ohrt  <monte@ohrt.com>
 
@@ -3679,5 +5251,5 @@
     * libs/Smarty.class.php
       libs/Smarty_Compiler.class.php:
-      added CVS $Id: ChangeLog,v 1.411 2006/03/09 06:31:55 changelog Exp $
+      added CVS $Id: ChangeLog 2746 2007-09-28 01:32:05Z changelog $
 
 2003-03-31  Messju Mohr  <messju@lammfellpuschen.de>
Index: branches/comu-ver2/data/module/Smarty/libs/Config_File.class.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/Config_File.class.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/Config_File.class.php	(revision 18650)
@@ -18,6 +18,10 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
- * @link http://smarty.php.net/
- * @version 2.6.13
+ * For questions, help, comments, discussion, etc., please join the
+ * Smarty mailing list. Send a blank e-mail to
+ * smarty-discussion-subscribe@googlegroups.com 
+ *
+ * @link http://www.smarty.net/
+ * @version 2.6.26
  * @copyright Copyright: 2001-2005 New Digital Group, Inc.
  * @author Andrei Zmievski <andrei@php.net>
@@ -26,5 +30,5 @@
  */
 
-/* $Id$ */
+/* $Id: Config_File.class.php 3149 2009-05-23 20:59:25Z monte.ohrt $ */
 
 /**
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.write_file.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.write_file.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.write_file.php	(revision 18650)
@@ -24,6 +24,5 @@
     }
 
-    // write to tmp file, then rename it to avoid
-    // file locking race condition
+    // write to tmp file, then rename it to avoid file locking race condition
     $_tmp_file = tempnam($_dirname, 'wrt');
 
@@ -39,10 +38,11 @@
     fclose($fd);
 
-    // Delete the file if it allready exists (this is needed on Win,
-    // because it cannot overwrite files with rename()
-    if (file_exists($params['filename'])) {
+    if (DIRECTORY_SEPARATOR == '\\' || !@rename($_tmp_file, $params['filename'])) {
+        // On platforms and filesystems that cannot overwrite with rename() 
+        // delete the file before renaming it -- because windows always suffers
+        // this, it is short-circuited to avoid the initial rename() attempt
         @unlink($params['filename']);
+        @rename($_tmp_file, $params['filename']);
     }
-    @rename($_tmp_file, $params['filename']);
     @chmod($params['filename'], $smarty->_file_perms);
 
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.smarty_include_php.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.smarty_include_php.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.smarty_include_php.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.get_php_resource.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.get_php_resource.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.get_php_resource.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.process_compiled_include.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.process_compiled_include.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.process_compiled_include.php	(revision 18650)
@@ -26,5 +26,5 @@
     }
 
-    foreach ($smarty->_cache_serials as $_include_file_path=>$_cache_serial) {
+    foreach ($smarty->_cache_info['cache_serials'] as $_include_file_path=>$_cache_serial) {
         $_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s',
                                          array(&$smarty, '_process_compiled_include_callback'),
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.read_cache_file.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.read_cache_file.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.read_cache_file.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.display_debug_console.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.display_debug_console.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.display_debug_console.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.get_include_path.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.get_include_path.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.get_include_path.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.assign_smarty_interface.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.assign_smarty_interface.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.assign_smarty_interface.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.load_resource_plugin.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.load_resource_plugin.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.load_resource_plugin.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.rm_auto.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.rm_auto.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.rm_auto.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.write_compiled_include.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.write_compiled_include.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.write_compiled_include.php	(revision 18650)
@@ -16,10 +16,10 @@
 function smarty_core_write_compiled_include($params, &$smarty)
 {
-    $_tag_start = 'if \(\$this->caching && \!\$this->_cache_including\) \{ echo \'\{nocache\:('.$params['cache_serial'].')#(\d+)\}\'; \};';
-    $_tag_end   = 'if \(\$this->caching && \!\$this->_cache_including\) \{ echo \'\{/nocache\:(\\2)#(\\3)\}\'; \};';
+    $_tag_start = 'if \(\$this->caching && \!\$this->_cache_including\)\: echo \'\{nocache\:('.$params['cache_serial'].')#(\d+)\}\'; endif;';
+    $_tag_end   = 'if \(\$this->caching && \!\$this->_cache_including\)\: echo \'\{/nocache\:(\\2)#(\\3)\}\'; endif;';
 
     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;
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.write_cache_file.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.write_cache_file.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.write_cache_file.php	(revision 18650)
@@ -69,5 +69,5 @@
         // 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));
+                             array('write', &$smarty, &$params['results'], $params['tpl_file'], $params['cache_id'], $params['compile_id'], $smarty->_cache_info['expires']));
     } else {
         // use local cache file
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.process_cached_inserts.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.process_cached_inserts.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.process_cached_inserts.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.write_compiled_resource.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.write_compiled_resource.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.write_compiled_resource.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.rmdir.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.rmdir.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.rmdir.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.load_plugins.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.load_plugins.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.load_plugins.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.create_dir_structure.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.create_dir_structure.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.create_dir_structure.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.is_secure.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.is_secure.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.is_secure.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.run_insert_handler.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.run_insert_handler.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.run_insert_handler.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.assemble_plugin_filepath.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.assemble_plugin_filepath.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.assemble_plugin_filepath.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.is_trusted.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.is_trusted.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.is_trusted.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/internals/core.get_microtime.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/internals/core.get_microtime.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/internals/core.get_microtime.php	(revision 18650)
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/outputfilter.trimwhitespace.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/outputfilter.trimwhitespace.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/outputfilter.trimwhitespace.php	(revision 18650)
@@ -29,19 +29,19 @@
 {
     // Pull out the script blocks
-    preg_match_all("!<script[^>]+>.*?</script>!is", $source, $match);
+    preg_match_all("!<script[^>]*?>.*?</script>!is", $source, $match);
     $_script_blocks = $match[0];
-    $source = preg_replace("!<script[^>]+>.*?</script>!is",
+    $source = preg_replace("!<script[^>]*?>.*?</script>!is",
                            '@@@SMARTY:TRIM:SCRIPT@@@', $source);
 
     // Pull out the pre blocks
-    preg_match_all("!<pre>.*?</pre>!is", $source, $match);
+    preg_match_all("!<pre[^>]*?>.*?</pre>!is", $source, $match);
     $_pre_blocks = $match[0];
-    $source = preg_replace("!<pre>.*?</pre>!is",
+    $source = preg_replace("!<pre[^>]*?>.*?</pre>!is",
                            '@@@SMARTY:TRIM:PRE@@@', $source);
-
+    
     // Pull out the textarea blocks
-    preg_match_all("!<textarea[^>]+>.*?</textarea>!is", $source, $match);
+    preg_match_all("!<textarea[^>]*?>.*?</textarea>!is", $source, $match);
     $_textarea_blocks = $match[0];
-    $source = preg_replace("!<textarea[^>]+>.*?</textarea>!is",
+    $source = preg_replace("!<textarea[^>]*?>.*?</textarea>!is",
                            '@@@SMARTY:TRIM:TEXTAREA@@@', $source);
 
@@ -50,12 +50,12 @@
     $source = trim(preg_replace('/((?<!\?>)\n)[\s]+/m', '\1', $source));
 
-    // replace script blocks
-    smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:SCRIPT@@@",$_script_blocks, $source);
+    // replace textarea blocks
+    smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:TEXTAREA@@@",$_textarea_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);
+    // replace script blocks
+    smarty_outputfilter_trimwhitespace_replace("@@@SMARTY:TRIM:SCRIPT@@@",$_script_blocks, $source);
 
     return $source;
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_table.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_table.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_table.php	(revision 18650)
@@ -16,10 +16,13 @@
  * Input:<br>
  *         - loop = array to loop through
- *         - cols = number of columns
+ *         - cols = number of columns, comma separated list of column names
+ *                  or array of column names
  *         - rows = number of rows
  *         - table_attr = table attributes
+ *         - th_attr = table heading attributes (arrays are cycled)
  *         - tr_attr = table row attributes (arrays are cycled)
  *         - td_attr = table cell attributes (arrays are cycled)
  *         - trailpad = value to pad trailing cells with
+ *         - caption = text for caption element 
  *         - vdir = vertical direction (default: "down", means top-to-bottom)
  *         - hdir = horizontal direction (default: "right", means left-to-right)
@@ -32,8 +35,10 @@
  * {table loop=$data}
  * {table loop=$data cols=4 tr_attr='"bgcolor=red"'}
- * {table loop=$data cols=4 tr_attr=$colors}
+ * {table loop=$data cols="first,second,third" tr_attr=$colors}
  * </pre>
  * @author   Monte Ohrt <monte at ohrt dot com>
- * @version  1.0
+ * @author credit to Messju Mohr <messju at lammfellpuschen dot de>
+ * @author credit to boots <boots dot smarty at yahoo dot com>
+ * @version  1.1
  * @link http://smarty.php.net/manual/en/language.function.html.table.php {html_table}
  *          (Smarty online manual)
@@ -46,6 +51,7 @@
     $table_attr = 'border="1"';
     $tr_attr = '';
+    $th_attr = '';
     $td_attr = '';
-    $cols = 3;
+    $cols = $cols_count = 3;
     $rows = 3;
     $trailpad = '&nbsp;';
@@ -53,4 +59,5 @@
     $hdir = 'right';
     $inner = 'cols';
+    $caption = '';
 
     if (!isset($params['loop'])) {
@@ -66,4 +73,17 @@
 
             case 'cols':
+                if (is_array($_value) && !empty($_value)) {
+                    $cols = $_value;
+                    $cols_count = count($_value);
+                } elseif (!is_numeric($_value) && is_string($_value) && !empty($_value)) {
+                    $cols = explode(',', $_value);
+                    $cols_count = count($cols);
+                } elseif (!empty($_value)) {
+                    $cols_count = (int)$_value;
+                } else {
+                    $cols_count = $cols;
+                }
+                break;
+
             case 'rows':
                 $$_key = (int)$_value;
@@ -75,4 +95,5 @@
             case 'vdir':
             case 'inner':
+            case 'caption':
                 $$_key = (string)$_value;
                 break;
@@ -80,4 +101,5 @@
             case 'tr_attr':
             case 'td_attr':
+            case 'th_attr':
                 $$_key = $_value;
                 break;
@@ -88,9 +110,9 @@
     if (empty($params['rows'])) {
         /* no rows specified */
-        $rows = ceil($loop_count/$cols);
+        $rows = ceil($loop_count/$cols_count);
     } elseif (empty($params['cols'])) {
         if (!empty($params['rows'])) {
             /* no cols specified, but rows */
-            $cols = ceil($loop_count/$rows);
+            $cols_count = ceil($loop_count/$rows);
         }
     }
@@ -98,13 +120,30 @@
     $output = "<table $table_attr>\n";
 
+    if (!empty($caption)) {
+        $output .= '<caption>' . $caption . "</caption>\n";
+    }
+
+    if (is_array($cols)) {
+        $cols = ($hdir == 'right') ? $cols : array_reverse($cols);
+        $output .= "<thead><tr>\n";
+
+        for ($r=0; $r<$cols_count; $r++) {
+            $output .= '<th' . smarty_function_html_table_cycle('th', $th_attr, $r) . '>';
+            $output .= $cols[$r];
+            $output .= "</th>\n";
+        }
+        $output .= "</tr></thead>\n";
+    }
+
+    $output .= "<tbody>\n";
     for ($r=0; $r<$rows; $r++) {
         $output .= "<tr" . smarty_function_html_table_cycle('tr', $tr_attr, $r) . ">\n";
-        $rx =  ($vdir == 'down') ? $r*$cols : ($rows-1-$r)*$cols;
+        $rx =  ($vdir == 'down') ? $r*$cols_count : ($rows-1-$r)*$cols_count;
 
-        for ($c=0; $c<$cols; $c++) {
-            $x =  ($hdir == 'right') ? $rx+$c : $rx+$cols-1-$c;
+        for ($c=0; $c<$cols_count; $c++) {
+            $x =  ($hdir == 'right') ? $rx+$c : $rx+$cols_count-1-$c;
             if ($inner!='cols') {
                 /* shuffle x to loop over rows*/
-                $x = floor($x/$cols) + ($x%$cols)*$rows;
+                $x = floor($x/$cols_count) + ($x%$cols_count)*$rows;
             }
 
@@ -117,4 +156,5 @@
         $output .= "</tr>\n";
     }
+    $output .= "</tbody>\n";
     $output .= "</table>\n";
     
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_options.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_options.php	(revision 17676)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_options.php	(revision 18650)
@@ -31,5 +31,5 @@
 {
     require_once $smarty->_get_plugin_filepath('shared','escape_special_chars');
-
+    
     $name = null;
     $values = null;
@@ -37,7 +37,7 @@
     $selected = array();
     $output = null;
-
+    
     $extra = '';
-
+    
     foreach($params as $_key => $_val) {
         switch($_key) {
@@ -45,9 +45,9 @@
                 $$_key = (string)$_val;
                 break;
-
+            
             case 'options':
                 $$_key = (array)$_val;
                 break;
-
+                
             case 'values':
             case 'output':
@@ -58,5 +58,5 @@
                 $$_key = array_map('strval', array_values((array)$_val));
                 break;
-
+                
             default:
                 if(!is_array($_val)) {
@@ -75,10 +75,10 @@
 
     if (isset($options)) {
-
+        
         foreach ($options as $_key=>$_val)
             $_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected);
 
     } else {
-
+        
         foreach ($values as $_i=>$_key) {
             $_val = isset($output[$_i]) ? $output[$_i] : '';
@@ -101,5 +101,5 @@
             smarty_function_escape_special_chars($key) . '"';
         if (in_array((string)$key, $selected))
-            $_html_result .= ' selected';
+            $_html_result .= ' selected="selected"';
         $_html_result .= '>' . smarty_function_escape_special_chars($value) . '</option>' . "\n";
     } else {
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.debug_print_var.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.debug_print_var.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.debug_print_var.php	(revision 18650)
@@ -23,31 +23,64 @@
 function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40)
 {
-    $_replace = array("\n"=>'<i>&#92;n</i>', "\r"=>'<i>&#92;r</i>', "\t"=>'<i>&#92;t</i>');
-    if (is_array($var)) {
-        $results = "<b>Array (".count($var).")</b>";
-        foreach ($var as $curr_key => $curr_val) {
-            $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length);
-            $results .= "<br>".str_repeat('&nbsp;', $depth*2)."<b>".strtr($curr_key, $_replace)."</b> =&gt; $return";
-        }
-    } else if (is_object($var)) {
-        $object_vars = get_object_vars($var);
-        $results = "<b>".get_class($var)." Object (".count($object_vars).")</b>";
-        foreach ($object_vars as $curr_key => $curr_val) {
-            $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length);
-            $results .= "<br>".str_repeat('&nbsp;', $depth*2)."<b>$curr_key</b> =&gt; $return";
-        }
-    } else if (is_resource($var)) {
-        $results = '<i>'.(string)$var.'</i>';
-    } else if (empty($var) && $var != "0") {
-        $results = '<i>empty</i>';
-    } else {
-        if (strlen($var) > $length ) {
-            $results = substr($var, 0, $length-3).'...';
-        } else {
-            $results = $var;
-        }
-        $results = htmlspecialchars($results);
-        $results = strtr($results, $_replace);
+    $_replace = array(
+        "\n" => '<i>\n</i>',
+        "\r" => '<i>\r</i>',
+        "\t" => '<i>\t</i>'
+    );
+
+    switch (gettype($var)) {
+        case 'array' :
+            $results = '<b>Array (' . count($var) . ')</b>';
+            foreach ($var as $curr_key => $curr_val) {
+                $results .= '<br>' . str_repeat('&nbsp;', $depth * 2)
+                    . '<b>' . strtr($curr_key, $_replace) . '</b> =&gt; '
+                    . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
+                    $depth--;
+            }
+            break;
+        case 'object' :
+            $object_vars = get_object_vars($var);
+            $results = '<b>' . get_class($var) . ' Object (' . count($object_vars) . ')</b>';
+            foreach ($object_vars as $curr_key => $curr_val) {
+                $results .= '<br>' . str_repeat('&nbsp;', $depth * 2)
+                    . '<b> -&gt;' . strtr($curr_key, $_replace) . '</b> = '
+                    . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
+                    $depth--;
+            }
+            break;
+        case 'boolean' :
+        case 'NULL' :
+        case 'resource' :
+            if (true === $var) {
+                $results = 'true';
+            } elseif (false === $var) {
+                $results = 'false';
+            } elseif (null === $var) {
+                $results = 'null';
+            } else {
+                $results = htmlspecialchars((string) $var);
+            }
+            $results = '<i>' . $results . '</i>';
+            break;
+        case 'integer' :
+        case 'float' :
+            $results = htmlspecialchars((string) $var);
+            break;
+        case 'string' :
+            $results = strtr($var, $_replace);
+            if (strlen($var) > $length ) {
+                $results = substr($var, 0, $length - 3) . '...';
+            }
+            $results = htmlspecialchars('"' . $results . '"');
+            break;
+        case 'unknown type' :
+        default :
+            $results = strtr((string) $var, $_replace);
+            if (strlen($results) > $length ) {
+                $results = substr($results, 0, $length - 3) . '...';
+            }
+            $results = htmlspecialchars($results);
     }
+
     return $results;
 }
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/function.mailto.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/function.mailto.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/function.mailto.php	(revision 18650)
@@ -63,4 +63,6 @@
     // netscape and mozilla do not decode %40 (@) in BCC field (bug?)
     // so, don't encode it.
+    $search = array('%40', '%2C');
+    $replace  = array('@', ',');
     $mail_parms = array();
     foreach ($params as $var=>$value) {
@@ -70,5 +72,5 @@
             case 'followupto':
                 if (!empty($value))
-                    $mail_parms[] = $var.'='.str_replace('%40','@',rawurlencode($value));
+                    $mail_parms[] = $var.'='.str_replace($search,$replace,rawurlencode($value));
                 break;
                 
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/function.math.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/function.math.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/function.math.php	(revision 18650)
@@ -28,5 +28,6 @@
     }
 
-    $equation = $params['equation'];
+    // strip out backticks, not necessary for math
+    $equation = str_replace('`','',$params['equation']);
 
     // make sure parenthesis are balanced
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.truncate.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.truncate.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.truncate.php	(revision 18650)
@@ -32,10 +32,10 @@
 
     if (strlen($string) > $length) {
-        $length -= strlen($etc);
+        $length -= min($length, strlen($etc));
         if (!$break_words && !$middle) {
             $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
         }
         if(!$middle) {
-            return substr($string, 0, $length).$etc;
+            return substr($string, 0, $length) . $etc;
         } else {
             return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.date_format.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.date_format.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.date_format.php	(revision 18650)
@@ -9,5 +9,5 @@
  * Include the {@link shared.make_timestamp.php} plugin
  */
-require_once $smarty->_get_plugin_filepath('shared','make_timestamp');
+require_once $smarty->_get_plugin_filepath('shared', 'make_timestamp');
 /**
  * Smarty date_format modifier plugin
@@ -29,18 +29,27 @@
  * @uses smarty_make_timestamp()
  */
-function smarty_modifier_date_format($string, $format="%b %e, %Y", $default_date=null)
+function smarty_modifier_date_format($string, $format = '%b %e, %Y', $default_date = '')
 {
-    if (substr(PHP_OS,0,3) == 'WIN') {
-           $_win_from = array ('%e',  '%T',       '%D');
-           $_win_to   = array ('%#d', '%H:%M:%S', '%m/%d/%y');
-           $format = str_replace($_win_from, $_win_to, $format);
-    }
-    if($string != '') {
-        return strftime($format, smarty_make_timestamp($string));
-    } elseif (isset($default_date) && $default_date != '') {
-        return strftime($format, smarty_make_timestamp($default_date));
+    if ($string != '') {
+        $timestamp = smarty_make_timestamp($string);
+    } elseif ($default_date != '') {
+        $timestamp = smarty_make_timestamp($default_date);
     } else {
         return;
     }
+    if (DIRECTORY_SEPARATOR == '\\') {
+        $_win_from = array('%D',       '%h', '%n', '%r',          '%R',    '%t', '%T');
+        $_win_to   = array('%m/%d/%y', '%b', "\n", '%I:%M:%S %p', '%H:%M', "\t", '%H:%M:%S');
+        if (strpos($format, '%e') !== false) {
+            $_win_from[] = '%e';
+            $_win_to[]   = sprintf('%\' 2d', date('j', $timestamp));
+        }
+        if (strpos($format, '%l') !== false) {
+            $_win_from[] = '%l';
+            $_win_to[]   = sprintf('%\' 2d', date('h', $timestamp));
+        }
+        $format = str_replace($_win_from, $_win_to, $format);
+    }
+    return strftime($format, $timestamp);
 }
 
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_select_date.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_select_date.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/function.html_select_date.php	(revision 18650)
@@ -23,9 +23,11 @@
  *           - 1.3.1 added support for choosing format for
  *                day values (Marcus Bointon)
- *           - 1.3.2 suppport negative timestamps, force year
+ *           - 1.3.2 support negative timestamps, force year
  *             dropdown to include given date unless explicitly set (Monte)
+ *           - 1.3.4 fix behaviour of 0000-00-00 00:00:00 dates to match that
+ *             of 0000-00-00 dates (cybot, boots)
  * @link http://smarty.php.net/manual/en/language.function.html.select.date.php {html_select_date}
  *      (Smarty online manual)
- * @version 1.3.2
+ * @version 1.3.4
  * @author Andrei Zmievski
  * @author Monte Ohrt <monte at ohrt dot com>
@@ -132,10 +134,12 @@
     }
 
-    if(preg_match('!^-\d+$!',$time)) {
+    if (preg_match('!^-\d+$!', $time)) {
         // negative timestamp, use date()
-        $time = date('Y-m-d',$time);
+        $time = date('Y-m-d', $time);
     }
     // If $time is not in format yyyy-mm-dd
-    if (!preg_match('/^\d{0,4}-\d{0,2}-\d{0,2}$/', $time)) {
+    if (preg_match('/^(\d{0,4}-\d{0,2}-\d{0,2})/', $time, $found)) {
+        $time = $found[1];
+    } else {
         // use smarty_make_timestamp to get an unix timestamp and
         // strftime to make yyyy-mm-dd
@@ -144,5 +148,5 @@
     // 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)) {
@@ -160,5 +164,5 @@
         }
     }
-    if (strlen($time[0]) > 0) { 
+    if (strlen($time[0]) > 0) {
         if ($start_year > $time[0] && !isset($params['start_year'])) {
             // force start year to include given date if not explicitly set
@@ -175,5 +179,7 @@
     $html_result = $month_result = $day_result = $year_result = "";
 
+    $field_separator_count = -1;
     if ($display_months) {
+    	$field_separator_count++;
         $month_names = array();
         $month_values = array();
@@ -213,4 +219,5 @@
 
     if ($display_days) {
+    	$field_separator_count++;
         $days = array();
         if (isset($day_empty)) {
@@ -248,4 +255,5 @@
 
     if ($display_years) {
+    	$field_separator_count++;
         if (null !== $field_array){
             $year_name = $field_array . '[' . $prefix . 'Year]';
@@ -311,5 +319,5 @@
         }
         // Add the field seperator
-        if($i != 2) {
+        if($i < $field_separator_count) {
             $html_result .= $field_separator;
         }
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/compiler.assign.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/compiler.assign.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/compiler.assign.php	(revision 18650)
@@ -15,5 +15,5 @@
  *       (Smarty online manual)
  * @author Monte Ohrt <monte at ohrt dot com> (initial author)
- * @auther messju mohr <messju at lammfellpuschen dot de> (conversion to compiler function)
+ * @author messju mohr <messju at lammfellpuschen dot de> (conversion to compiler function)
  * @param string containing var-attribute and value-attribute
  * @param Smarty_Compiler
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.regex_replace.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.regex_replace.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.regex_replace.php	(revision 18650)
@@ -23,10 +23,23 @@
 function smarty_modifier_regex_replace($string, $search, $replace)
 {
+    if(is_array($search)) {
+      foreach($search as $idx => $s)
+        $search[$idx] = _smarty_regex_replace_check($s);
+    } else {
+      $search = _smarty_regex_replace_check($search);
+    }       
+
+    return preg_replace($search, $replace, $string);
+}
+
+function _smarty_regex_replace_check($search)
+{
+    if (($pos = strpos($search,"\0")) !== false)
+      $search = substr($search,0,$pos);
     if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) {
         /* remove eval-modifier from $search */
         $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]);
     }
-       
-    return preg_replace($search, $replace, $string);
+    return $search;
 }
 
Index: branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.capitalize.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.capitalize.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/plugins/modifier.capitalize.php	(revision 18650)
@@ -22,5 +22,5 @@
 {
     smarty_modifier_capitalize_ucfirst(null, $uc_digits);
-    return preg_replace_callback('!\b\w+\b!', 'smarty_modifier_capitalize_ucfirst', $string);
+    return preg_replace_callback('!\'?\b\w(\w|\')*\b!', 'smarty_modifier_capitalize_ucfirst', $string);
 }
 
@@ -34,5 +34,5 @@
     }
     
-    if(!preg_match('!\d!',$string[0]) || $_uc_digits)
+    if(substr($string[0],0,1) != "'" && !preg_match("!\d!",$string[0]) || $_uc_digits)
         return ucfirst($string[0]);
     else
Index: branches/comu-ver2/data/module/Smarty/libs/Smarty_Compiler.class.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/Smarty_Compiler.class.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/Smarty_Compiler.class.php	(revision 18650)
@@ -22,10 +22,10 @@
  * @author Monte Ohrt <monte at ohrt dot com>
  * @author Andrei Zmievski <andrei@php.net>
- * @version 2.6.13
+ * @version 2.6.26
  * @copyright 2001-2005 New Digital Group, Inc.
  * @package Smarty
  */
 
-/* $Id$ */
+/* $Id: Smarty_Compiler.class.php 3163 2009-06-17 14:39:24Z monte.ohrt $ */
 
 /**
@@ -279,5 +279,5 @@
         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)) {
+            if (preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?\s*php\s*[\"\']?)~is', $text_blocks[$curr_tb], $sp_match)) {
                 /* replace tags with placeholders to prevent recursive replacements */
                 $sp_match[1] = array_unique($sp_match[1]);
@@ -305,5 +305,5 @@
             }
         }
-
+        
         /* Compile the template tags into PHP code. */
         $compiled_tags = array();
@@ -350,5 +350,7 @@
         }
         $compiled_content = '';
-
+        
+        $tag_guard = '%%%SMARTYOTG' . md5(uniqid(rand(), true)) . '%%%';
+        
         /* Interleave the compiled contents and text blocks to get the final result. */
         for ($i = 0, $for_max = count($compiled_tags); $i < $for_max; $i++) {
@@ -357,8 +359,19 @@
                 $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];
-
+            // replace legit PHP tags with placeholder
+            $text_blocks[$i] = str_replace('<?', $tag_guard, $text_blocks[$i]);
+            $compiled_tags[$i] = str_replace('<?', $tag_guard, $compiled_tags[$i]);
+            
+            $compiled_content .= $text_blocks[$i] . $compiled_tags[$i];
+        }
+        $compiled_content .= str_replace('<?', $tag_guard, $text_blocks[$i]);
+
+        // escape php tags created by interleaving
+        $compiled_content = str_replace('<?', "<?php echo '<?' ?>\n", $compiled_content);
+        $compiled_content = preg_replace("~(?<!')language\s*=\s*[\"\']?\s*php\s*[\"\']?~", "<?php echo 'language=php' ?>\n", $compiled_content);
+
+        // recover legit tags
+        $compiled_content = str_replace($tag_guard, '<?', $compiled_content); 
+        
         // remove \n from the end of the file, if any
         if (strlen($compiled_content) && (substr($compiled_content, -1) == "\n") ) {
@@ -369,7 +382,4 @@
             $compiled_content = "<?php \$this->_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
@@ -860,5 +870,5 @@
             $args = implode(',', array_values($attrs));
             if (empty($args)) {
-                $args = 'null';
+                $args = '';
             }
         }
@@ -881,7 +891,7 @@
                     $return = null;
                     $postfix = '';
-            } else {
-                    $prefix = "\$_obj_block_content = ob_get_contents(); ob_end_clean(); ";
-                    $return = "\$_block_repeat=false; \$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], \$_obj_block_content, \$this, \$_block_repeat)";
+                } else {
+                    $prefix = "\$_obj_block_content = ob_get_contents(); ob_end_clean(); \$_block_repeat=false;";
+                    $return = "\$this->_reg_objects['$object'][0]->$obj_comp(\$this->_tag_stack[count(\$this->_tag_stack)-1][1], \$_obj_block_content, \$this, \$_block_repeat)";
                     $postfix = "} array_pop(\$this->_tag_stack);";
                 }
@@ -925,5 +935,9 @@
 
         if (empty($name)) {
-            $this->_syntax_error("missing insert name", E_USER_ERROR, __FILE__, __LINE__);
+            return $this->_syntax_error("missing insert name", E_USER_ERROR, __FILE__, __LINE__);
+        }
+        
+        if (!preg_match('~^\w+$~', $name)) {
+            return $this->_syntax_error("'insert: 'name' must be an insert function name", E_USER_ERROR, __FILE__, __LINE__);
         }
 
@@ -1158,5 +1172,5 @@
         $item = $this->_dequote($attrs['item']);
         if (!preg_match('~^\w+$~', $item)) {
-            return $this->_syntax_error("'foreach: item' must be a variable name (literal string)", E_USER_ERROR, __FILE__, __LINE__);
+            return $this->_syntax_error("foreach: 'item' must be a variable name (literal string)", E_USER_ERROR, __FILE__, __LINE__);
         }
 
@@ -1209,20 +1223,18 @@
 
         if ($start) {
-            if (isset($attrs['name']))
-                $buffer = $attrs['name'];
-            else
-                $buffer = "'default'";
-
-            if (isset($attrs['assign']))
-                $assign = $attrs['assign'];
-            else
-                $assign = null;
+            $buffer = isset($attrs['name']) ? $attrs['name'] : "'default'";
+            $assign = isset($attrs['assign']) ? $attrs['assign'] : null;
+            $append = isset($attrs['append']) ? $attrs['append'] : null;
+            
             $output = "<?php ob_start(); ?>";
-            $this->_capture_stack[] = array($buffer, $assign);
+            $this->_capture_stack[] = array($buffer, $assign, $append);
         } else {
-            list($buffer, $assign) = array_pop($this->_capture_stack);
+            list($buffer, $assign, $append) = array_pop($this->_capture_stack);
             $output = "<?php \$this->_smarty_vars['capture'][$buffer] = ob_get_contents(); ";
             if (isset($assign)) {
                 $output .= " \$this->assign($assign, ob_get_contents());";
+            }
+            if (isset($append)) {
+                $output .= " \$this->append($append, ob_get_contents());";
             }
             $output .= "ob_end_clean(); ?>";
@@ -1352,7 +1364,12 @@
                        expression. The start of the expression is on the stack.
                        Otherwise, we operate on the last encountered token. */
-                    if ($tokens[$i-1] == ')')
+                    if ($tokens[$i-1] == ')') {
                         $is_arg_start = array_pop($is_arg_stack);
-                    else
+                        if ($is_arg_start != 0) {
+                            if (preg_match('~^' . $this->_func_regexp . '$~', $tokens[$is_arg_start-1])) {
+                                $is_arg_start--;
+                            } 
+                        } 
+                    } else
                         $is_arg_start = $i-1;
                     /* Construct the argument for 'is' expression, so it knows
@@ -1669,9 +1686,9 @@
         if(preg_match_all('~(?:\`(?<!\\\\)\$' . $this->_dvar_guts_regexp . '(?:' . $this->_obj_ext_regexp . ')*\`)|(?:(?<!\\\\)\$\w+(\[[a-zA-Z0-9]+\])*)~', $var_expr, $_match)) {
             $_match = $_match[0];
-            rsort($_match);
-            reset($_match);
+            $_replace = array();
             foreach($_match as $_var) {
-                $var_expr = str_replace ($_var, '".(' . $this->_parse_var(str_replace('`','',$_var)) . ')."', $var_expr);
-            }
+                $_replace[$_var] = '".(' . $this->_parse_var(str_replace('`','',$_var)) . ')."';
+            }
+            $var_expr = strtr($var_expr, $_replace);
             $_return = preg_replace('~\.""|(?<!\\\\)""\.~', '', $var_expr);
         } else {
@@ -2031,25 +2048,55 @@
 
             case 'get':
-                $compiled_ref = ($this->request_use_auto_globals) ? '$_GET' : "\$GLOBALS['HTTP_GET_VARS']";
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
+                $compiled_ref = "\$_GET";
                 break;
 
             case 'post':
-                $compiled_ref = ($this->request_use_auto_globals) ? '$_POST' : "\$GLOBALS['HTTP_POST_VARS']";
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
+                $compiled_ref = "\$_POST";
                 break;
 
             case 'cookies':
-                $compiled_ref = ($this->request_use_auto_globals) ? '$_COOKIE' : "\$GLOBALS['HTTP_COOKIE_VARS']";
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
+                $compiled_ref = "\$_COOKIE";
                 break;
 
             case 'env':
-                $compiled_ref = ($this->request_use_auto_globals) ? '$_ENV' : "\$GLOBALS['HTTP_ENV_VARS']";
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
+                $compiled_ref = "\$_ENV";
                 break;
 
             case 'server':
-                $compiled_ref = ($this->request_use_auto_globals) ? '$_SERVER' : "\$GLOBALS['HTTP_SERVER_VARS']";
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
+                $compiled_ref = "\$_SERVER";
                 break;
 
             case 'session':
-                $compiled_ref = ($this->request_use_auto_globals) ? '$_SESSION' : "\$GLOBALS['HTTP_SESSION_VARS']";
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
+                $compiled_ref = "\$_SESSION";
                 break;
 
@@ -2059,6 +2106,11 @@
              */
             case 'request':
+                if ($this->security && !$this->security_settings['ALLOW_SUPER_GLOBALS']) {
+                    $this->_syntax_error("(secure mode) super global access not permitted",
+                                         E_USER_WARNING, __FILE__, __LINE__);
+                    return;
+                }
                 if ($this->request_use_auto_globals) {
-                    $compiled_ref = '$_REQUEST';
+                    $compiled_ref = "\$_REQUEST";
                     break;
                 } else {
@@ -2217,7 +2269,7 @@
             || 0<$this->_cacheable_state++) return '';
         if (!isset($this->_cache_serial)) $this->_cache_serial = md5(uniqid('Smarty'));
-        $_ret = 'if ($this->caching && !$this->_cache_including) { echo \'{nocache:'
+        $_ret = 'if ($this->caching && !$this->_cache_including): echo \'{nocache:'
             . $this->_cache_serial . '#' . $this->_nocache_count
-            . '}\'; };';
+            . '}\'; endif;';
         return $_ret;
     }
@@ -2234,7 +2286,7 @@
         if ($_cacheable
             || --$this->_cacheable_state>0) return '';
-        return 'if ($this->caching && !$this->_cache_including) { echo \'{/nocache:'
+        return 'if ($this->caching && !$this->_cache_including): echo \'{/nocache:'
             . $this->_cache_serial . '#' . ($this->_nocache_count++)
-            . '}\'; };';
+            . '}\'; endif;';
     }
 
Index: branches/comu-ver2/data/module/Smarty/libs/debug.tpl
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/debug.tpl	(revision 15079)
+++ branches/comu-ver2/data/module/Smarty/libs/debug.tpl	(revision 18650)
@@ -1,64 +1,157 @@
 {* Smarty *}
+{* debug.tpl, last updated version 2.1.0 *}
+{assign_debug_info}
+{capture assign=debug_output}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+    <title>Smarty Debug Console</title>
+{literal}
+<style type="text/css">
+/* <![CDATA[ */
+body, h1, h2, td, th, p {
+    font-family: sans-serif;
+    font-weight: normal;
+    font-size: 0.9em;
+    margin: 1px;
+    padding: 0;
+}
 
-{* debug.tpl, last updated version 2.0.1 *}
+h1 {
+    margin: 0;
+    text-align: left;
+    padding: 2px;
+    background-color: #f0c040;
+    color:  black;
+    font-weight: bold;
+    font-size: 1.2em;
+ }
 
-{assign_debug_info}
+h2 {
+    background-color: #9B410E;
+    color: white;
+    text-align: left;
+    font-weight: bold;
+    padding: 2px;
+    border-top: 1px solid black;
+}
 
+body {
+    background: black; 
+}
+
+p, table, div {
+    background: #f0ead8;
+} 
+
+p {
+    margin: 0;
+    font-style: italic;
+    text-align: center;
+}
+
+table {
+    width: 100%;
+}
+
+th, td {
+    font-family: monospace;
+    vertical-align: top;
+    text-align: left;
+    width: 50%;
+}
+
+td {
+    color: green;
+}
+
+.odd {
+    background-color: #eeeeee;
+}
+
+.even {
+    background-color: #fafafa;
+}
+
+.exectime {
+    font-size: 0.8em;
+    font-style: italic;
+}
+
+#table_assigned_vars th {
+    color: blue;
+}
+
+#table_config_vars th {
+    color: maroon;
+}
+/* ]]> */
+</style>
+{/literal}
+</head>
+<body>
+
+<h1>Smarty Debug Console</h1>
+
+<h2>included templates &amp; config files (load time in seconds)</h2>
+
+<div>
+{section name=templates loop=$_debug_tpls}
+    {section name=indent loop=$_debug_tpls[templates].depth}&nbsp;&nbsp;&nbsp;{/section}
+    <font color={if $_debug_tpls[templates].type eq "template"}brown{elseif $_debug_tpls[templates].type eq "insert"}black{else}green{/if}>
+        {$_debug_tpls[templates].filename|escape:html}</font>
+    {if isset($_debug_tpls[templates].exec_time)}
+        <span class="exectime">
+        ({$_debug_tpls[templates].exec_time|string_format:"%.5f"})
+        {if %templates.index% eq 0}(total){/if}
+        </span>
+    {/if}
+    <br />
+{sectionelse}
+    <p>no templates included</p>
+{/section}
+</div>
+
+<h2>assigned template variables</h2>
+
+<table id="table_assigned_vars">
+    {section name=vars loop=$_debug_keys}
+        <tr class="{cycle values="odd,even"}">
+            <th>{ldelim}${$_debug_keys[vars]|escape:'html'}{rdelim}</th>
+            <td>{$_debug_vals[vars]|@debug_print_var}</td></tr>
+    {sectionelse}
+        <tr><td><p>no template variables assigned</p></td></tr>
+    {/section}
+</table>
+
+<h2>assigned config file variables (outer template scope)</h2>
+
+<table id="table_config_vars">
+    {section name=config_vars loop=$_debug_config_keys}
+        <tr class="{cycle values="odd,even"}">
+            <th>{ldelim}#{$_debug_config_keys[config_vars]|escape:'html'}#{rdelim}</th>
+            <td>{$_debug_config_vals[config_vars]|@debug_print_var}</td></tr>
+    {sectionelse}
+        <tr><td><p>no config vars assigned</p></td></tr>
+    {/section}
+</table>
+</body>
+</html>
+{/capture}
 {if isset($_smarty_debug_output) and $_smarty_debug_output eq "html"}
-	<table border=0 width=100%>
-	<tr bgcolor=#cccccc><th colspan=2>Smarty Debug Console</th></tr>
-	<tr bgcolor=#cccccc><td colspan=2><b>included templates & config files (load time in seconds):</b></td></tr>
-	{section name=templates loop=$_debug_tpls}
-		<tr bgcolor={if %templates.index% is even}#eeeeee{else}#fafafa{/if}><td colspan=2><tt>{section name=indent loop=$_debug_tpls[templates].depth}&nbsp;&nbsp;&nbsp;{/section}<font color={if $_debug_tpls[templates].type eq "template"}brown{elseif $_debug_tpls[templates].type eq "insert"}black{else}green{/if}>{$_debug_tpls[templates].filename|escape:html}</font>{if isset($_debug_tpls[templates].exec_time)} <font size=-1><i>({$_debug_tpls[templates].exec_time|string_format:"%.5f"}){if %templates.index% eq 0} (total){/if}</i></font>{/if}</tt></td></tr>
-	{sectionelse}
-		<tr bgcolor=#eeeeee><td colspan=2><tt><i>no templates included</i></tt></td></tr>	
-	{/section}
-	<tr bgcolor=#cccccc><td colspan=2><b>assigned template variables:</b></td></tr>
-	{section name=vars loop=$_debug_keys}
-		<tr bgcolor={if %vars.index% is even}#eeeeee{else}#fafafa{/if}><td valign=top><tt><font color=blue>{ldelim}${$_debug_keys[vars]}{rdelim}</font></tt></td><td nowrap><tt><font color=green>{$_debug_vals[vars]|@debug_print_var}</font></tt></td></tr>
-	{sectionelse}
-		<tr bgcolor=#eeeeee><td colspan=2><tt><i>no template variables assigned</i></tt></td></tr>	
-	{/section}
-	<tr bgcolor=#cccccc><td colspan=2><b>assigned config file variables (outer template scope):</b></td></tr>
-	{section name=config_vars loop=$_debug_config_keys}
-		<tr bgcolor={if %config_vars.index% is even}#eeeeee{else}#fafafa{/if}><td valign=top><tt><font color=maroon>{ldelim}#{$_debug_config_keys[config_vars]}#{rdelim}</font></tt></td><td><tt><font color=green>{$_debug_config_vals[config_vars]|@debug_print_var}</font></tt></td></tr>
-	{sectionelse}
-		<tr bgcolor=#eeeeee><td colspan=2><tt><i>no config vars assigned</i></tt></td></tr>	
-	{/section}
-	</table>
-</BODY></HTML>
+    {$debug_output}
 {else}
-<SCRIPT language=javascript>
-	if( self.name == '' ) {ldelim}
-	   var title = 'Console';
-	{rdelim}
-	else {ldelim}
-	   var title = 'Console_' + self.name;
-	{rdelim}
-	_smarty_console = window.open("",title.value,"width=680,height=600,resizable,scrollbars=yes");
-	_smarty_console.document.write("<HTML><HEAD><TITLE>Smarty Debug Console_"+self.name+"</TITLE></HEAD><BODY bgcolor=#ffffff>");
-	_smarty_console.document.write("<table border=0 width=100%>");
-	_smarty_console.document.write("<tr bgcolor=#cccccc><th colspan=2>Smarty Debug Console</th></tr>");
-	_smarty_console.document.write("<tr bgcolor=#cccccc><td colspan=2><b>included templates & config files (load time in seconds):</b></td></tr>");
-	{section name=templates loop=$_debug_tpls}
-		_smarty_console.document.write("<tr bgcolor={if %templates.index% is even}#eeeeee{else}#fafafa{/if}><td colspan=2><tt>{section name=indent loop=$_debug_tpls[templates].depth}&nbsp;&nbsp;&nbsp;{/section}<font color={if $_debug_tpls[templates].type eq "template"}brown{elseif $_debug_tpls[templates].type eq "insert"}black{else}green{/if}>{$_debug_tpls[templates].filename|escape:html|escape:javascript}</font>{if isset($_debug_tpls[templates].exec_time)} <font size=-1><i>({$_debug_tpls[templates].exec_time|string_format:"%.5f"}){if %templates.index% eq 0} (total){/if}</i></font>{/if}</tt></td></tr>");
-	{sectionelse}
-		_smarty_console.document.write("<tr bgcolor=#eeeeee><td colspan=2><tt><i>no templates included</i></tt></td></tr>");	
-	{/section}
-	_smarty_console.document.write("<tr bgcolor=#cccccc><td colspan=2><b>assigned template variables:</b></td></tr>");
-	{section name=vars loop=$_debug_keys}
-		_smarty_console.document.write("<tr bgcolor={if %vars.index% is even}#eeeeee{else}#fafafa{/if}><td valign=top><tt><font color=blue>{ldelim}${$_debug_keys[vars]}{rdelim}</font></tt></td><td nowrap><tt><font color=green>{$_debug_vals[vars]|@debug_print_var|escape:javascript}</font></tt></td></tr>");
-	{sectionelse}
-		_smarty_console.document.write("<tr bgcolor=#eeeeee><td colspan=2><tt><i>no template variables assigned</i></tt></td></tr>");	
-	{/section}
-	_smarty_console.document.write("<tr bgcolor=#cccccc><td colspan=2><b>assigned config file variables (outer template scope):</b></td></tr>");
-	{section name=config_vars loop=$_debug_config_keys}
-		_smarty_console.document.write("<tr bgcolor={if %config_vars.index% is even}#eeeeee{else}#fafafa{/if}><td valign=top><tt><font color=maroon>{ldelim}#{$_debug_config_keys[config_vars]}#{rdelim}</font></tt></td><td><tt><font color=green>{$_debug_config_vals[config_vars]|@debug_print_var|escape:javascript}</font></tt></td></tr>");
-	{sectionelse}
-		_smarty_console.document.write("<tr bgcolor=#eeeeee><td colspan=2><tt><i>no config vars assigned</i></tt></td></tr>");	
-	{/section}
-	_smarty_console.document.write("</table>");
-	_smarty_console.document.write("</BODY></HTML>");
-	_smarty_console.document.close();
-</SCRIPT>
+<script type="text/javascript">
+// <![CDATA[
+    if ( self.name == '' ) {ldelim}
+       var title = 'Console';
+    {rdelim}
+    else {ldelim}
+       var title = 'Console_' + self.name;
+    {rdelim}
+    _smarty_console = window.open("",title.value,"width=680,height=600,resizable,scrollbars=yes");
+    _smarty_console.document.write('{$debug_output|escape:'javascript'}');
+    _smarty_console.document.close();
+// ]]>
+</script>
 {/if}
Index: branches/comu-ver2/data/module/Smarty/libs/Smarty.class.php
===================================================================
--- branches/comu-ver2/data/module/Smarty/libs/Smarty.class.php	(revision 15532)
+++ branches/comu-ver2/data/module/Smarty/libs/Smarty.class.php	(revision 18650)
@@ -21,15 +21,15 @@
  * For questions, help, comments, discussion, etc., please join the
  * Smarty mailing list. Send a blank e-mail to
- * smarty-general-subscribe@lists.php.net
+ * smarty-discussion-subscribe@googlegroups.com 
  *
- * @link http://smarty.php.net/
+ * @link http://www.smarty.net/
  * @copyright 2001-2005 New Digital Group, Inc.
  * @author Monte Ohrt <monte at ohrt dot com>
  * @author Andrei Zmievski <andrei@php.net>
  * @package Smarty
- * @version 2.6.13
+ * @version 2.6.26
  */
 
-/* $Id$ */
+/* $Id: Smarty.class.php 3163 2009-06-17 14:39:24Z monte.ohrt $ */
 
 /**
@@ -108,5 +108,5 @@
      * When set, smarty does uses this value as error_reporting-level.
      *
-     * @var boolean
+     * @var integer
      */
     var $error_reporting  =  null;
@@ -237,5 +237,6 @@
                                     'PHP_TAGS'        => false,
                                     'MODIFIER_FUNCS'  => array('count'),
-                                    'ALLOW_CONSTANTS'  => false
+                                    'ALLOW_CONSTANTS'  => false,
+                                    'ALLOW_SUPER_GLOBALS' => true
                                    );
 
@@ -465,5 +466,5 @@
      * @var string
      */
-    var $_version              = '2.6.13';
+    var $_version              = '2.6.26';
 
     /**
@@ -839,10 +840,9 @@
      * to a template before compiling
      *
-     * @param string $function name of PHP function to register
+     * @param callback $function
      */
     function register_prefilter($function)
     {
-    $_name = (is_array($function)) ? $function[1] : $function;
-        $this->_plugins['prefilter'][$_name]
+        $this->_plugins['prefilter'][$this->_get_filter_name($function)]
             = array($function, null, null, false);
     }
@@ -851,9 +851,9 @@
      * Unregisters a prefilter function
      *
-     * @param string $function name of PHP function
+     * @param callback $function
      */
     function unregister_prefilter($function)
     {
-        unset($this->_plugins['prefilter'][$function]);
+        unset($this->_plugins['prefilter'][$this->_get_filter_name($function)]);
     }
 
@@ -862,10 +862,9 @@
      * to a compiled template after compilation
      *
-     * @param string $function name of PHP function to register
+     * @param callback $function
      */
     function register_postfilter($function)
     {
-    $_name = (is_array($function)) ? $function[1] : $function;
-        $this->_plugins['postfilter'][$_name]
+        $this->_plugins['postfilter'][$this->_get_filter_name($function)]
             = array($function, null, null, false);
     }
@@ -874,9 +873,9 @@
      * Unregisters a postfilter function
      *
-     * @param string $function name of PHP function
+     * @param callback $function
      */
     function unregister_postfilter($function)
     {
-        unset($this->_plugins['postfilter'][$function]);
+        unset($this->_plugins['postfilter'][$this->_get_filter_name($function)]);
     }
 
@@ -885,10 +884,9 @@
      * to a template output
      *
-     * @param string $function name of PHP function
+     * @param callback $function
      */
     function register_outputfilter($function)
     {
-    $_name = (is_array($function)) ? $function[1] : $function;
-        $this->_plugins['outputfilter'][$_name]
+        $this->_plugins['outputfilter'][$this->_get_filter_name($function)]
             = array($function, null, null, false);
     }
@@ -897,9 +895,9 @@
      * Unregisters an outputfilter function
      *
-     * @param string $function name of PHP function
+     * @param callback $function
      */
     function unregister_outputfilter($function)
     {
-        unset($this->_plugins['outputfilter'][$function]);
+        unset($this->_plugins['outputfilter'][$this->_get_filter_name($function)]);
     }
 
@@ -1552,5 +1550,5 @@
                     }
                     $params['resource_timestamp'] = filemtime($_resource_name);
-                    $_return = is_file($_resource_name);
+                    $_return = is_file($_resource_name) && is_readable($_resource_name);
                     break;
 
@@ -1715,5 +1713,5 @@
     function _read_file($filename)
     {
-        if ( file_exists($filename) && ($fd = @fopen($filename, 'rb')) ) {
+        if ( file_exists($filename) && is_readable($filename) && ($fd = @fopen($filename, 'rb')) ) {
             $contents = '';
             while (!feof($fd)) {
@@ -1936,4 +1934,23 @@
         return eval($code);
     }
+    
+    /**
+     * Extracts the filter name from the given callback
+     * 
+     * @param callback $function
+     * @return string
+     */
+	function _get_filter_name($function)
+	{
+		if (is_array($function)) {
+			$_class_name = (is_object($function[0]) ?
+				get_class($function[0]) : $function[0]);
+			return $_class_name . '_' . $function[1];
+		}
+		else {
+			return $function;
+		}
+	}
+  
     /**#@-*/
 
Index: branches/comu-ver2/data/module/Smarty/NEWS
===================================================================
--- branches/comu-ver2/data/module/Smarty/NEWS	(revision 15079)
+++ branches/comu-ver2/data/module/Smarty/NEWS	(revision 18650)
@@ -1,2 +1,113 @@
+Version 2.6.26 (June 18th, 2009)
+-------------------------------
+- revert super global access changes, and instead rely on
+  USE_SUPER_GLOBALS for security
+
+Version 2.6.25 (May 19th, 2009)
+-------------------------------
+- fix E_NOTICE when sessions are disabled (mohrt)
+
+Version 2.6.24 (May 16th, 2009)
+-------------------------------
+- fix problem introduced with super global changes (mohrt)
+
+Version 2.6.23 (May 13th, 2009)
+-------------------------------
+- strip backticks from {math} equations (mohrt)
+- make PHP super globals read-only from template (mohrt)
+- throw error when template exists but not readable (mohrt)
+
+Version 2.6.22 (Dec 17th, 2008)
+-------------------------------
+
+- back out method chaining, bug in some versions of PCRE causes errors (mohrt)
+
+Version 2.6.21 (Dec 2nd, 2008)
+------------------------------
+
+- fix  function injection security hole closed (U.Tews)
+- fix pass expiration time at cache_handler_fuc call in core.write_cache_file.php (U.Tews)
+- Update of compiler.class.php to allow method chaining for PHP4 and PHP5 (U.Tews)
+
+Version 2.6.20 (Feb 15th, 2008)
+-------------------------------
+
+- fix cache tag bug when multiple cache tags on a page (mankyd,
+  mohrt)
+- fix /e tag checking when using arrays with regex_replace
+  (mohrt)
+- fix that function results can be used with condition like "is even" in 
+  {if} tags (U.Tews)
+- fix handling of non-empty <pre>-tags and empty <textarea>- and
+  <script>-tags (Spuerhund, messju)
+
+Version 2.6.19 (Feb 11th, 2008)
+-------------------------------
+
+- fix regex_replace allowing \0 in the search string (c960657,
+  monte)
+- add append feature to {capture} (jablko, monte)
+- fix when (un)registering filters with the same method name but different class
+  name (danilo)
+- fix calling registered objects' methods with an empty argument list
+  (marcello, messju)
+ 
+Version 2.6.18 (Mar 7th, 2007)
+------------------------------
+
+- fix html_select_date separator when parts are missing (hayk,
+  monte)
+- fix broken detection of non-cached blocks introduced in 2.6.17
+  (messju)
+
+Version 2.6.17 (Mar 5th, 2007)
+------------------------------
+
+- fix php handling (monte, boots, danilo)
+- fix handling of plugin tags directly followed by an else tag (Fahr, danilo)
+- fix handling of $etc in the truncate modifier when $etc is longer
+  than $length (Sylvinus, messju)
+- fix handling of %I with mysql timestamps in the date_format modifier
+  (danilo, boots)
+- update smarty_core_write_file() and smarty_modifier_date_format() to better
+  recognize Windows (boots, danilo)
+- emulate %h, %n, %r, %R, %t in the date_format modifier on Windows 
+  (danilo, boots)
+
+Version 2.6.16 (Dec 1st, 2006)
+------------------------------
+
+- fixed replacement bug in trimwhitespace output filter that was introduced
+  in the last release (Spuerhund, boots)
+
+Version 2.6.15 (Nov 30th, 2006)
+-------------------------------
+
+- change file writing semantics in smarty_core_write_file() to unlink() only
+  when rename() fails or a Windows system is detected (c960657, boots) 
+- update debug.tpl to xhtml 1.1 compliance, fix javascript escaping in debug
+  output and apply a Smarty based color scheme (cybot, boots)
+- enhance reporting precision of debug_print_var modifier (cybot, boots) 
+- make html_select_date work consistently with 0000-00-00 00:00:00 and
+  0000-00-00 inputs (cybot, boots)
+- fix wrong handling of insert's name attribute. (messju)
+- fix false replacement of "$t" inside double quotes (checat, messju)
+- added support for column headings and caption element to html_table and
+  updated the output to use thead/tbody elements (boots)
+- fixed ordering of replacements in trimwhitespace output filter (Getty, boots)
+- update mailto function plugin to work around a firefox/thunderbird
+  escaping bug (elijahlofgren, boots)
+- emulate %l in the date_format modifier on windows (boots) 
+- fix handling of apostrophes in capitalize modifier (Alec Smecher, boots)
+
+Version 2.6.14 (May 28th, 2006)
+-------------------------------
+
+- fix compiler bug allowing php tags in secure templates
+  (boots,monte)
+- un-hide hidden xml open tags (boots)
+- fix handling of block-methods of registered objects (El Hombre Gris,
+  messju)
+
 Version 2.6.13 (March 9th, 2006)
 --------------------------------
Index: branches/comu-ver2/data/module/Smarty/README
===================================================================
--- branches/comu-ver2/data/module/Smarty/README	(revision 15079)
+++ branches/comu-ver2/data/module/Smarty/README	(revision 18650)
@@ -1,7 +1,8 @@
+
 NAME:
 
     Smarty - the PHP compiling template engine
 
-VERSION: 2.6.0
+VERSION: 2.6.26
 
 AUTHORS:
@@ -12,19 +13,24 @@
 MAILING LISTS:
 
-    We have a few mailing lists. "general" for you to share your ideas or ask
-	questions, "dev" for those interested in the development efforts of Smarty,
-	and "cvs" for those that would like to track the updates made in the cvs
+    We have a few mailing lists. "discussion" for you to share your ideas or ask
+	questions, "developers" for those interested in the development efforts of Smarty,
+	and "svn" for those that would like to track the updates made in the svn
 	repository.
 
     send a blank e-mail message to:
-      smarty-general-subscribe@lists.php.net (subscribe to the general list)
-      smarty-general-unsubscribe@lists.php.net (unsubscribe from the general list)
-      smarty-general-digest-subscribe@lists.php.net (subscribe to digest)
-      smarty-general-digest-unsubscribe@lists.php.net (unsubscribe from digest)
-      smarty-dev-subscribe@lists.php.net (subscribe to the dev list)
-      smarty-dev-unsubscribe@lists.php.net (unsubscribe from the dev list)
-      smarty-cvs-subscribe@lists.php.net (subscribe to the cvs list)
-      smarty-cvs-unsubscribe@lists.php.net (unsubscribe from the cvs list)
+      smarty-discussion-subscribe@googlecode.com(subscribe to the general discussion list)
+      smarty-discussion-unsubscribe@googlecode.com (unsubscribe from the general discussion list)
+      smarty-discussion-digest-subscribe@googlecode.com (subscribe to digest)
+      smarty-discussion-digest-unsubscribe@googlecode.com (unsubscribe from digest)
+      smarty-developers-subscribe@googlecode.com (subscribe to the dev list)
+      smarty-developers-unsubscribe@googlecode.com (unsubscribe from the dev list)
+      smarty-svn-subscribe@googlecode.com (subscribe to the svn list)
+      smarty-svn-unsubscribe@googlecode.com (unsubscribe from the svn list)
+
     You can also browse the mailing list archives at
+    http://groups.google.com/group/smarty-discussion
+    http://groups.google.com/group/smarty-developers
+
+    and the OLD list archives at
     http://marc.theaimsgroup.com/?l=smarty&r=1&w=2
 
