.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt .. role:: underline =============================== EXT: punkt.de Tools (pt\_tools) =============================== :Author: Kasper Skårhøj :Created: 2002-11-01T00:32:00 :Changed by: Rainer Kuhn :Changed: 2009-11-27T17:39:16.360000000 :Author: Rainer Kuhn :Email: t3extensions@punkt.de :Info 3: :Info 4: .. _EXT-punkt-de-Tools-pt-tools: EXT: punkt.de Tools (pt\_tools) =============================== Extension Key: **pt\_tools** Copyright 2005-2009, Rainer Kuhn, *Manual revised for pt\_tools version 1.0.1, 2009-11-27* **Extension development sponsored by punkt.de GmbH ( `http://punkt.de/ `_ )** This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.com .. _Table-of-Contents: Table of Contents ----------------- **EXT: punkt.de Tools (pt\_tools) 1** **Introduction 1** What does it do? 1 Screenshots 2 **Users manual 2** **Administration 6** System requirements 6 Installation of pt\_tools 6 **Configuration 8** **Known problems 10** **To-Do list 10** **Changelog 11** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ pt\_tools is a PHP5 toolbox and library for TYPO3 extensions using PHP 5.1+ and TYPO3 4.0+ (or higher). It provides miscellaneous classes, interfaces and static method libraries for TYPO3 extension development with PHP5 and for web development in general. This library is a dependency for several other pt\_\* extensions. .. _Screenshots: Screenshots ^^^^^^^^^^^ |img-1| The screenshot shows some of the configuration options of pt\_tools in TYPO3's Constant Editor. Administrators/Developers may configure their individual settings here. .. _Users-manual: Users manual ------------ pt\_tools is not intended for end users, but for developers to provide a library for TYPO3 extension development with PHP5. Please refer to the source code and the APIdoc comments within the files for details about the existing classes, methods etc. and their usage. Here's a brief overview of the main files (some extension have special system requirements, please refer to the chapter “Administration” for details): .. ### BEGIN~OF~TABLE ### .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_address.php Type abstract class Description General address class – abstract class to derive your own address classes from System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_beSubmodule.php Type abstract class Description Abstract parent class for TYPO3 backend submodules :underline:`IMPORTANT` : This class is experimental and still under development. Implementation is not final, APIs may change anytime! System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_collection.php Type abstract class Description Abstract class for item collections. Implements the PHP/SPL interfaces IteratorAggregate, Countable and ArrayAccess plus array\_{shift\|unshift\|pop\|push\|keys} method equivalents System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iPageable.php Type interface Description Interface for pageable classes: usually a collection of objects that can be splitted up into pages (using a pager) System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iQuickformRenderer.php Type interface Description Interface for PEAR HTML\_Quickform renderers System requirements PEAR module 'HTML\_Quickform' .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iSettableByArray.php Type interface Description Interface for objects, whose properties can be set at once by passing an array to a defined method System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iSingleton.php Type interface Description Interface for Singleton design pattern: besides method implementation definitions this file contains commented-out templates for the default singleton methods to copy System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iSingletonCollection.php Type interface Description iSingletonCollection interface for singleton collections (returning singleton by an id) System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iStorageAdapter.php Type interface Description Storage adapter interface System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_iTemplateable.php Type interface Description Interface for templateable classes System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_objectCollection.php Type abstract class Description Abstract class for object collections. Implements the PHP/SPL interfaces IteratorAggregate, Countable and ArrayAccess, allows item control by using a restrictedClassName check. System requirements .. _res-abstract: res/ abstract ^^^^^^^^^^^^^ .. container:: table-row Path res/ abstract File class.tx\_pttools\_singleton.php Type abstract class Description :underline:`DEPRECATED` ! This legacy file will be removed in upcoming versions of pt\_tools! Use class.tx\_pttools\_iSingleton.php instead. System requirements .. _res-inc: res/inc ^^^^^^^ .. container:: table-row Path res/inc File faketsfe.inc.php Type include file Description Creates a fake TSFE environment: this may be used to use TypoScript or Frontend functionality if there's no TSFE available by default (e.g. command line scripts, backend, ...). To read TS setup only, you could use tx\_pttools\_div::returnTyposcriptSetup() instead. System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_cliHandler.php Type object to instantiate Description A CLI (command line interface) script handler. :underline:`IMPORTANT` : The tx\_pttools\_cliHandler::getOptions() method requires the PEAR module 'Console\_Getopt' (see `http://pear.php.net/manual/en/package.console.console-getopt.php `_ ) to be installed on your server and to be included in the calling CLI script, e.g. by "require\_once 'Console/Getopt.php';" System requirements PEAR module 'Console\_Getopt' .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_collectionElementSelector.php Type object to instantiate Description Collection Element Selector: This class is intended for frontend use and provides a handling of form-based lists of object collections. A temporary manual for the Collection Element Selector (CES) can be found in the file doc/manual\_collectionElementSelector.txt. System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_exception.php Type object to instantiate Description General exception class derived from PHP's default Exception class; see res/objects/expections for special case handling System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_feUsersessionStorageAdapter.php Type object to instantiate Description Session Storage Adapter for TYPO3 frontend \_user\_ sessions (see tx\_pttools\_ sessionStorageAdapter for frontend browser sessions).To use the adapter in the eID context as well (where we do not have a TSFE) you have to create a FE user in your eID script (e.g. by: $GLOBALS['TSFE'] = new stdClass(); $GLOBALS['TSFE']->fe\_user = tslib\_eidtools::initFeUser(); ). System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_formchecker.php Type object to instantiate Description General webform checker: Class for frontend use, provides methods for checking input content, usually originating from web forms. This includes several special type checks like text, digits, email, zip etc. Settings for this class can be configured in Constant Editor. System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_formReloadHandler.php Type object to instantiate Description Web form reload handler (to prevent double execution of web form events on page reload) System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_formTemplateHandler.php Type object to instantiate Description Web form template handler: This class is intended for frontend use and provides handling of forms, that relate directly to one single data object. Settings for this class can be configured via TypoScript/Constant Editor, see chapter “Configuration” below. A (currently German only!) manual for the form template handler (FTH) can be found in the file doc/manual\_formTemplateHandler\_de.txt. System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_msgBox.php Type object to instantiate Description Message Box: Provides methods for displaying information and messages in a HTML-Messagebox. Settings for this class can be configured via TypoScript/Constant Editor, see chapter “Configuration” below. System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_paymentRequestInformation.php Type Description Payment request information class defining a payment request API for online payment transactions, e.g. credit card payments System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_paymentReturnInformation.php Type Description Payment return information class defining a payment return API for online payment transactions, e.g. credit card payments System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_qfDefaultRenderer.php Type Description Adapted default renderer for PEAR HTML\_Quickform web forms, extending the PEAR class HTML\_QuickForm\_Renderer\_Default and implementing the interface tx\_pttools\_iQuickformRenderer. Templates for this renderer can be found in pt\_tools at res/tmpl/tx\_pttools\_quickformRenderer\*.html System requirements PEAR module 'HTML\_Quickform' .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_registry.php Type object to instantiate Description Class implementing the Registry design pattern (see `http://www.patternsforphp.com/wiki/Registry `_ for details) System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_sessionStorageAdapter.php Type object to instantiate Description Session Storage Adapter for TYPO3 frontend \_browser\_ sessions and backend user sessions (see tx\_pttools\_feUsersessionStorageAdapter for frontend user sessions).To use the adapter in the eID context as well (where we do not have a TSFE) you have to create a FE user in your eID script (e.g. by: $GLOBALS['TSFE'] = new stdClass(); $GLOBALS['TSFE']->fe\_user = tslib\_eidtools::initFeUser(); ). System requirements .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_smartyAdapter.php Type object to instantiate Description Adapter class for the Smarty templating engine to set individual directories and extend functionalities (replaces class.tx\_smarty.php of the TYPO3 extension 'smarty'). :underline:`IMPORTANT` : This class requires the extension 'smarty' to be installed. Within your extensions based on smarty should create the required cache and compile directories (see pt\_tools' ext\_localconf.php) with an appropriate entry in their emconf.php file (set 'createDirs' e.g. to 'typo3temp/smarty\_cache,typo3temp/smarty\_compile') System requirements TYPO3 extension 'smarty' + smarty cache and com-pile directories already existent on your server .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_smartyCompiler.php Type object to instantiate Description Inherits from Smarty\_Compiler class, overwrites the default Smarty error triggering method to throw exceptions instead :underline:`IMPORTANT` : This class requires the extension 'smarty' to be installed. System requirements TYPO3 extension 'smarty' .. _res-objects: res/ objects ^^^^^^^^^^^^ .. container:: table-row Path res/ objects File class.tx\_pttools\_usersessStorageAdapter.php Type object to instantiate Description :underline:`DEPRECATED` ! This legacy file will be removed in upcoming versions of pt\_tools! Use class.tx\_pttools\_feUsersessionStorageAdapter.php instead. System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionAssertion.php Type exception object to instantiate Description “Assertion failed” exception System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionAuthentication.php Type exception object to instantiate Description “Authentication error” exception System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionConfiguration.php Type exception object to instantiate Description “Configuration error” exception System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionDatabase.php Type exception object to instantiate Description “Database error” exception System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionInternal.php Type exception object to instantiate Description “Internal error” exception System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionNotImplemented.php Type exception object to instantiate Description “Not implemented” exception System requirements .. _res-objects-expections: res/ objects/ expections ^^^^^^^^^^^^^^^^^^^^^^^^ .. container:: table-row Path res/ objects/ expections File class.tx\_pttools\_exceptionWebservice.php Type exception object to instantiate Description “Webservice error” exception System requirements .. _smarty-plugins: smarty\_ plugins ^^^^^^^^^^^^^^^^ .. container:: table-row Path smarty\_ plugins File function.\*.php, modifier.\*.phpAvailable addons are(as of Nov. 2009): function.assign\_array.php, function.includeCssFile.php, function.includeJsFile.php, modifier.absfn.php, modifier.convertDate.php, modifier.explodeAndPrint.php, modifier.formatsize.php, modifier.ll.php, modifier.numberFormat.php, modifier.registerValue.php, modifier.stdWrap.php, modifier.trace.php, modifier.urlencode.php, modifier.vsprintf.php, modifier.wrap.php Type Smarty modifiers, Smarty functions Description Additional modifiers and callback functions for usage with the Smarty templating engine (e.g. a modifier to access TYPO3 locallang labels directly from the Smarty template).Please refer to the file names and the files' inline PHPdoc documentation for information about the available addons. System requirements TYPO3 extension 'smarty' .. _res-staticlib: res/ staticlib ^^^^^^^^^^^^^^ .. container:: table-row Path res/ staticlib File class.tx\_pttools\_assert.php Type static method library Description Assertion class to test miscellaneous assertions, throws a tx\_pttools\_exceptionAssertion if an assertion fails System requirements .. _res-staticlib: res/ staticlib ^^^^^^^^^^^^^^ .. container:: table-row Path res/ staticlib File class.tx\_pttools\_debug.php Type static method library Description General debugging class for extension development, contains several helper functions for debugging and the non-OO function shortcut 'trace()' outside the class context (to use the method tx\_pttools\_debug::trace() with a shorthand notation like a PHP command) System requirements optional: TYPO3 ext. 'geshilib' to use syntax highlighting in traceToHtml() .. _res-staticlib: res/ staticlib ^^^^^^^^^^^^^^ .. container:: table-row Path res/ staticlib File class.tx\_pttools\_div.php Type static method library Description General helper methods library for miscellaneous purposes (similar to t3lib\_div).: Main sections are: GENERAL METHODS, DATE/TIME METHODS, LANGUAGE SPECIFIC METHODS, EXTENSION CONFIGURATION RETRIEVAL METHODS, FORMATTING/CONVERSION METHODS, DATABASE RELATED METHODS, DATABASE RELATED METHODS System requirements .. _res-staticlib: res/ staticlib ^^^^^^^^^^^^^^ .. container:: table-row Path res/ staticlib File class.tx\_pttools\_finance.php Type static method library Description General library class with static finance related methods. :underline:`IMPORTANT` : This class requires PHP to be configured with '--enable-bcmath'! System requirements PHP has to be configured with ' *--enable-bcmath* ' .. _res-staticlib: res/ staticlib ^^^^^^^^^^^^^^ .. container:: table-row Path res/ staticlib File class.tx\_pttools\_staticInfoTables.php Type static method library Description Helper methods library (part of the library extension 'pt\_tools') to use in combination with the TYPO3 extension 'Static info tables'. :underline:`IMPORTANT` : This class requires the extension 'static\_info\_tables' to be installed. System requirements TYPO3 extension 'static\_info\_tables' .. _res-tmpl: res/tmpl ^^^^^^^^ .. container:: table-row Path res/tmpl File tx\_pttools\_formTemplateHandler.html Type HTML template Description Default HTML templates for tx\_pttools\_formTemplateHandler, see above. The usage of an individual template can be configured via TypoScript/Constant Editor, see chapter “Configuration” below. System requirements .. _res-tmpl: res/tmpl ^^^^^^^^ .. container:: table-row Path res/tmpl File tx\_pttools\_msgBox.html Type HTML template Description Default HTML templates for tx\_pttools\_msgBox, see above. The usage of an individual template can be configured via TypoScript/Constant Editor, see chapter “Configuration” below. System requirements .. _res-tmpl: res/tmpl ^^^^^^^^ .. container:: table-row Path res/tmpl File tx\_pttools\_quickformRenderer\*.html Type HTML template Description Example HTML templates for tx\_pttools\_qfDefaultRenderer (the default renderer for PEAR HTML\_Quickform web forms), see above System requirements PEAR module 'HTML\_Quickform' .. ###### END~OF~TABLE ###### [pt\_tools: file reference] .. _Administration: Administration -------------- .. _System-requirements: System requirements ^^^^^^^^^^^^^^^^^^^ These are the mandatory requirements to install and run pt\_tools: - PHP 5.1 or higher - TYPO3 4.0 or higher Furthermore here are optional installation requirements for the usage of special library classes of pt\_tools: - PHP has to be configured with ' *--enable-bcmath* ' (to enable the BCMath Arbitrary Precision Mathematics Functions, see `www.php.net/bc `_ ) if you want to use the class tx\_pttools\_finance - the TYPO3 extension 'static\_info\_tables' has to to be installed, if you want to use the class tx\_pttools\_staticInfoTables - the TYPO3 extension 'smarty' has to to be installed, if you want to use the class tx\_pttools\_smartyAdapter - the PEAR module 'Console\_Getopt' has to be installed on your server to use the method tx\_pttools\_cliHandler::getOptions().Please refer to `http://pear.php.net/manual/en/package.console.console-getopt.php `_ and `http://pear.php.net/manual/en/installation.php `_ for details. Alternatively you may use the TYPO3 extension “PEAR Manager” (pear) to install this package ( `http://typo3.org/extensions/repository/view/pear/current/info/ `_ ). - the PEAR module 'HTML\_Quickform' has to be installed on your server to use the templatable form Quickform renderer tx\_pttools\_qfDefaultRenderer and the related templates res/tmpl/tx\_pttools\_quickformRenderer\*.html.Please refer to `http://pear.php.net/manual/en/package.html.html-quickform.php `_ and `http://pear.php.net/manual/en/installation.php `_ for details. Alternatively you may use the TYPO3 extension “PEAR Manager” (pear) to install this package ( `http://typo3.org/extensions/repository/view/pear/current/info/ `_ ). - optional: the TYPO3 extension 'geshilib' to use syntax highlighting in tx\_pttools\_debug::traceToHtml() The following suggestions may be helpful for developers for developing and debugging: - the TYPO3 extension 'abz\_developer' to deactivate TYPO3 caching - the TYPO3 extensions 'cc\_debug' and 'fb\_devlog' for debugging .. _Installation-of-pt-tools: Installation of pt\_tools ^^^^^^^^^^^^^^^^^^^^^^^^^ TYPO3's extension manager will suggest you to install some of the optional requirements mentioned above. If you don't want to use the special classes these requirements are needed for, or if you've already compiled your PHP installation with ' *--enable-bcmath* ', you can safely ignore these suggestions and proceed with the installation. Now you may want to configure the extension'sbasic settings in TYPO3's Extension Manager. The available options are listed here: .. ### BEGIN~OF~TABLE ### .. _Convert-errors-to-exceptions: **Convert errors to exceptions** """""""""""""""""""""""""""""""" .. container:: table-row a **Convert errors to exceptions** b [convertErrorsToExceptions] .. _Convert-errors-to-exceptions-by-using-set-error-handler-Errors: Convert errors to exceptions by using set\_error\_handler(). Errors """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. container:: table-row a Convert errors to exceptions by using set\_error\_handler(). Errors will be logged as defined in the php.ini (log\_errors, error\_log) anyhow. Be careful with this options in production environment! You can set which errors to convert by adding "$GLOBALS['tx\_pttools\_debug']['errors']['FE']" or "$GLOBALS['tx\_pttools\_debug']['errors']['BE']" to your localconf.php. By default all errors defined in "error\_reporting" will be logged in the frontend and all errors defined in "error\_reporting" without E\_WARNINGS will be logged in the backend. Be sure to catch all exceptions, e.g by switching on the option "catchUncaughtExceptions" below. **Default:** .. _Catch-uncaught-exceptions: **Catch uncaught exceptions** """"""""""""""""""""""""""""" .. container:: table-row a **Catch uncaught exceptions** b [catchUncaughtExceptions] .. _Catch-uncaught-exceptions-by-using-set-exception-handler-and: Catch uncaught exceptions (by using set\_exception\_handler()) and """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. container:: table-row a Catch uncaught exceptions (by using set\_exception\_handler()) and display them with a nice backtrace if IP matches the devIPmask respective display only the message if not. If "convertErrorsToExceptions" is set to true, this option should be set as well, as there might be exceptions (coming from errors) which would not be caught otherwise. In combination with TYPO3's "systemLog" this can be a mighty tool for developing and monitoring. **Default:** .. ###### END~OF~TABLE ###### After having installed the extension itself, you have to include the static extension template “pt\_tools” to your Typoscript template. |img-2| With the static template included, you may want to configure pt\_tools for your individual needs. All configurations can be done in TYPO3's Constant Editor. Please refer to the chapter 'Configuration' for details. .. _Configuration: Configuration ------------- All configuration options for the extensions have to be set in TYPO3's Constant Editor. Here you can configure some general settings and your individual configuration for selected modules. Please refer to the following tables for all configuration options: .. _generated: ((generated)) ^^^^^^^^^^^^^ .. _Category-PT-TOOLS-general-configuration: Category: PT\_TOOLS [= general configuration] """"""""""""""""""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _Admin-email-for-system-mails: **Admin email for system mails** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **Admin email for system mails** b [config.pt\_tools.adminMail] .. _Email-address-for-auto-generated-admin-mails-of-pt-tools-extension: Email address for auto-generated admin mails of pt\_tools extension ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Email address for auto-generated admin mails of pt\_tools extension (e.g. trace logging errors). **Default:** .. _Cookie-Error-Page: **Cookie Error Page** ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **Cookie Error Page** b [config.pt\_tools.cookieErrorPage] .. _Required-for-cookie-check-in-tx-pttools-div-checkCookies-only: Required for cookie check in tx\_pttools\_div::checkCookies() only - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Required for cookie check in tx\_pttools\_div::checkCookies() only - PID or alias of the page to redirect when cookies are disabled. If the page is not set or does not exist, an exception is thrown instaed of a redirect. **Default:** cookieError .. _Currency-format: **Currency format** ~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **Currency format** b [config.pt\_tools.currencyFormat] .. _Required-for-tx-pttools-finance-getFormattedPriceString-only: Required for tx\_pttools\_finance::getFormattedPriceString() only - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Required for tx\_pttools\_finance::getFormattedPriceString() only - Currency format to be used in this method, noted in PHP's sprintf syntax (%1$s is the value and %2$s is the currency code) **Default:** %1$s %2$s .. _Trace-log-output-directory: **Trace log output directory** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **Trace log output directory** b [config.pt\_tools.traceLogDir] .. _Directory-path-for-generated-debugging-trace-logs-if-trace-is-set-to: Directory path for generated debugging trace logs if $trace is set to ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Directory path for generated debugging trace logs if $trace is set to '2' (absolute server path, don't forget the prefacing and closing slashes "/"). If not set, no trace log is written. **Default:** .. ###### END~OF~TABLE ###### .. _Category-PT-TOOLS-MSGBOX-configuration-for-class-tx-pttools-msgBox: Category: PT\_TOOLS::MSGBOX [= configuration for class tx\_pttools\_msgBox] """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _MessageBox-template-file-path: **MessageBox template file path** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **MessageBox template file path** b [config.pt\_tools.msgboxTemplate] .. _Path-to-the-HTML-template-file-for-Message-Boxes: Path to the HTML template file for Message Boxes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Path to the HTML template file for Message Boxes **Default:** EXT:pt\_tools/res/tmpl/tx\_pttools\_msgBox.html .. _MessageBox-icon-directory: **MessageBox icon directory** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **MessageBox icon directory** b [config.pt\_tools.msgboxIconDir] .. _Directory-path-for-icons-used-in-MessageBoxes-relative-path-based-on: Directory path for icons used in MessageBoxes (relative path based on ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Directory path for icons used in MessageBoxes (relative path based on document root, like "fileadmin/..."). **Default:** EXT:pt\_tools/res/img/ .. ###### END~OF~TABLE ###### :underline:`**NOTE**` : The former configuration options "msgboxFontHeadline", "msgboxFontMsg", "msgboxColHeadlineBg", "msgboxColMsgBg" and "msgboxColBorder" have been removed since pt\_tools version 0.3.0. The default messagebox styles are now defined in the extension's static template at plugin.pt\_tools.\_CSS\_DEFAULT\_STYLE (defaults to be found in file pt\_tools/static/setup.txt), use Typoscript to overwrite these settings with your individual style. .. _Category-PT-TOOLS-FORMCHECKER-configuration-for-class-tx-pttools-formchecker: Category: PT\_TOOLS::FORMCHECKER [= configuration for class tx\_pttools\_formchecker] """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _RegEx-for-checkText: **RegEx for checkText()** ~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkText()** b [config.pt\_tools.fcRegex\_checkText] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used-in: Regular expression pattern (PCRE for preg\_match\_all()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkText() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /\pC/ .. _RegEx-for-checkDigit: **RegEx for checkDigit()** ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkDigit()** b [config.pt\_tools.fcRegex\_checkDigit] .. _Regular-expression-pattern-PCRE-for-preg-match-to-be-used-in: Regular expression pattern (PCRE for preg\_match()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match()) to be used in tx\_pttools\_formchecker::checkDigit() (if the preg\_match() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /\PN/ .. _RegEx-for-checkFloat: **RegEx for checkFloat()** ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkFloat()** b [config.pt\_tools.fcRegex\_checkFloat] .. _Regular-expression-pattern-PCRE-for-preg-match-to-be-used-in: Regular expression pattern (PCRE for preg\_match()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match()) to be used in tx\_pttools\_formchecker::checkFloat() (if the preg\_match() expression returns not 0, the formchecker will throw an error message). Note: The decimal separator is not checked by RegEx here, but passed by param to checkFloat(). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl- Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /\PN/ .. _RegEx-for-checkTel: **RegEx for checkTel()** ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkTel()** b [config.pt\_tools.fcRegex\_checkTel] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used-in: Regular expression pattern (PCRE for preg\_match\_all()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkTel() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /[^\pN.+ \-\/]/ .. _RegEx-for-checkZip: **RegEx for checkZip()** ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkZip()** b [config.pt\_tools.fcRegex\_checkZip] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used-in: Regular expression pattern (PCRE for preg\_match\_all()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkZip() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /\PN/ .. _RegEx-for-checkLogin: **RegEx for checkLogin()** ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkLogin()** b [config.pt\_tools.fcRegex\_checkLogin] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used-in: Regular expression pattern (PCRE for preg\_match\_all()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkLogin() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /[^a-z0-9!\_\-]/ .. _RegEx-for-checkPwd: **RegEx for checkPwd()** ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkPwd()** b [config.pt\_tools.fcRegex\_checkPwd] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used-in: Regular expression pattern (PCRE for preg\_match\_all()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkPwd() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /[^a-z0-9!\_\-]/ .. _RegEx-for-checkEmail: **RegEx for checkEmail()** ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkEmail()** b [config.pt\_tools.fcRegex\_checkEmail] .. _Regular-expression-pattern-underline-POSIX-Extended-RE-for: Regular expression pattern (\* :underline:`POSIX\*` Extended RE for ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (\* :underline:`POSIX\*` Extended RE for !eregi()) to be used for \* :underline:`negated` \*(!) regex check in tx\_pttools\_formchecker::checkEmail() (if the '!eregi()' expression returns 1, the formchecker will throw an error message) - this setting has no effect if the method is called with the MX check param. WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [POSIX Extended Regular Expressions see `http://www.tin.org/bin/man.cgi?section=7&topic=regex `_ ] **Default:** ^[\_a-z0-9-]+(\.[\_a-z0-9-]+)\*@[a-z0-9-]+(\.[a-z0-9-]+)\ *(\.[a-z]{2,})$ .. _RegEx-for-checkDomain: **RegEx for checkDomain()** ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkDomain()** b [config.pt\_tools.fcRegex\_checkDomain] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used-in: Regular expression pattern (PCRE for preg\_match\_all()) to be used in ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkDomain() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /[^a-z0-9-]/ .. _RegEx-for-checkFtp: **RegEx for checkFtp()** ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkFtp()** b [config.pt\_tools.fcRegex\_checkFtp] .. _Regular-expression-pattern-PCRE-for-preg-match-all-to-be-used: Regular expression pattern (PCRE for preg\_match\_all()) to be used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Regular expression pattern (PCRE for preg\_match\_all()) to be used for regex check in tx\_pttools\_formchecker::checkFtp() (if the preg\_match\_all() expression returns not 0, the formchecker will throw an error message) - note that the hardcoded strings '..' and './' will be checked independently of this regex. WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** /[^a-z0-9!.\_#:\-]/ .. _RegEx-for-checkUserdefined1: **RegEx for checkUserdefined1()** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkUserdefined1()** b [config.pt\_tools.fcRegex\_checkUserdefined1] .. _Optional-user-defined-regular-expression-pattern-PCRE-for: Optional user defined regular expression pattern (PCRE for ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Optional user defined regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkUserdefined1() (no regex check will be executed for the method if this value is left blank - if the regex is set and the preg\_match\_all() expression returns 1, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** .. _RegEx-for-checkUserdefined2: **RegEx for checkUserdefined2()** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkUserdefined2()** b [config.pt\_tools.fcRegex\_checkUserdefined2] .. _Optional-user-defined-regular-expression-pattern-PCRE-for: Optional user defined regular expression pattern (PCRE for ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Optional user defined regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkUserdefined2() (no regex check will be executed for the method if this value is left blank - if the regex is set and the preg\_match\_all() expression returns 1, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** .. _RegEx-for-checkUserdefined3: **RegEx for checkUserdefined3()** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **RegEx for checkUserdefined3()** b [config.pt\_tools.fcRegex\_checkUserdefined3] .. _Optional-user-defined-regular-expression-pattern-PCRE-for: Optional user defined regular expression pattern (PCRE for ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Optional user defined regular expression pattern (PCRE for preg\_match\_all()) to be used in tx\_pttools\_formchecker::checkUserdefined3() (no regex check will be executed for the method if this value is left blank - if the regex is set and the preg\_match\_all() expression returns 1, the formchecker will throw an error message). WARNING: An incorrect pattern entry will result in PHP errors in the frontend! [PHP's Perl-Compatible Regular Expression Patterns see `http://www.php.net/manual/en/reference.pcre.pattern.syntax.php `_ ] **Default:** .. ###### END~OF~TABLE ###### .. _Category-PT-TOOLS-FORMTEMPLATEHANDLER-configuration-for-class-tx-pttools-formTemplateHandler: Category: PT\_TOOLS::FORMTEMPLATEHANDLER [= configuration for class tx\_pttools\_formTemplateHandler] """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _Form-element-templates-file: **Form element templates file** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **Form element templates file** b [config.pt\_tools.fthElementTemplatesFilePath] .. _Path-to-the-file-containing-templates-for-the-different-form-element: Path to the file containing templates for the different form element ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Path to the file containing templates for the different form element types. **Default:** EXT:pt\_tools/res/tmpl/tx\_pttools\_formTemplateHandler.html .. _Javascript-helper-functions-file: **Javascript helper functions file** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a **Javascript helper functions file** b [config.pt\_tools.fthJsHelperFilePath] .. _Path-to-the-Javascript-file-with-helper-functions-for-form-handling: Path to the Javascript file with helper functions for form handling. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Path to the Javascript file with helper functions for form handling. **Default:** EXT:pt\_tools/res/js/tx\_pttools\_formTemplateHandler.js .. _Css-file: **Css file** ~~~~~~~~~~~~ .. container:: table-row a **Css file** b [config.pt\_tools.fthCssFilePath] .. _Path-to-the-file-with-css-definitions-for-form-handling: Path to the file with css definitions for form handling. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a Path to the file with css definitions for form handling. **Default:** EXT:pt\_tools/res/css/tx\_pttools\_formTemplateHandler.css .. ###### END~OF~TABLE ###### .. _Known-problems: Known problems -------------- None so far. .. _To-Do-list: To-Do list ---------- - Implement storing, reading and deleting data to foreign session in backend and frontend context in tx\_pttools\_sessionStorageAdapter - refactor tx\_pttools\_cliHandler - Add unit tests .. _Changelog: Changelog --------- .. _generated: ((generated)) ^^^^^^^^^^^^^ .. _v1-0-1: v1.0.1: """"""" removed SVN control directories for TER version .. _v1-0-0: v1.0.0: """"""" - improved and extended available security tools in tx\_pttools\_div: added quoteStr() as a string quoting method to prevent SQL injections in TypoScript code (for usage as TS userFunction, see inline PHPdoc comment for example), improved existing XSS prevention methods htmlOutput() and htmlOutputArray(), added XSS prevention method htmlOutputArrayAccess() for automatic filtering of complete objects implementing PHP's ArrayAccess interface - added new payment API classes (to res/objects/): tx\_pttools\_paymentRequestInformation, tx\_pttools\_paymentReturnInformation - added new interfaces (to res/abstracts/): tx\_pttools\_iPageable, tx\_pttools\_iTemplateable, tx\_pttools\_iSettableByArray, tx\_pttools\_iQuickformRenderer, iSingletonCollection - added a templatable form renderer based on PEAR HTML\_Quickform: added renderer interface res/abstract/class.tx\_pttools\_iQuickformRenderer.php, renderer class res/objects/class.tx\_pttools\_qfDefaultRenderer.php and renderer templates res/tmpl/tx\_pttools\_quickformRenderer\*.html - added several new Smarty modifiers to res/smarty\_plugins (stdWrap, explodeAndPrint, urlencode, convertDate, trace, registerValue, numberFormat, includeCssFile, includeJsFile) - added new toolbox methods to tx\_pttools\_div: hasGroupAccess(), isAssociativeArray(), isIntegerish(), stdWrapArray(), getLangObject() [use the latest if you need a lang object and don't want to care about the context you're in] - added new exception tx\_pttools\_exceptionNotImplemented (in res/objects/exceptions) - added new hooks in tx\_pttools\_div::localRedirect() (to allow things to be done before redirecting) and in tx\_pttools\_smartyAdapter::\_\_construct() (to allow adding other locations for smarty plugin directories) - tx\_pttools\_finance::getFormattedPriceString() respects locale's thousands separator now - class.tx\_pttools\_assert.php: fixed isNotEmptyString() for usage with string '0', added assertion isAssociativeArray() - tx\_pttools\_smartyAdapter now reads language file from EXT:/locallang.xml by default (instead of throwing an error if nothing is configured) - tx\_pttools\_debug (including global trace() method): ignores tx\_pttools\_exception inclusion in non TYPO3-mode now (thus allows to use the base class functions in any arbitrary context now), added exceptionToTxt() and extended catchUncaughtExceptionsExceptionHandler() to display exception in text format when in CLI mode - miscellaneous minor internal improvements, additions and fixes .. _v0-4-1: v0.4.1: """"""" - Smarty: adapted compile and cache directories to the defaults of the current smarty extension (changed default initialisation for tx\_pttools\_smartyAdapter constructor, added default directory config in ext\_localconf.php (may be overwritten individually); :underline:`IMPORTANT` : your extensions using Smarty should create the required directories with an appropriate entry in their emconf.php file (e.g. set 'createDirs' to 'typo3temp/smarty\_cache,typo3temp/smarty\_compile') - revision of tx\_pttools\_sessionStorageAdapter and tx\_pttools\_feUsersessionStorageAdapter: all methods no more dependent on $GLOBALS['TSFE'], but now on $GLOBALS['TSFE']->fe\_user only - this allows you to use the adapters in the eID context as well (where we do not have a TSFE) by creating a FE user in your eID script (see chapter “Users manual” above) - tx\_pttools\_div::typoscriptRegistry(): bugfix for isValidUid() assertion, improved TSFE assertion - tx\_pttools\_div: added new method :getPeriodAsInt() to translate time periods to convert strings describing time periods to integers of given unit - tx\_pttools\_assert: - isMySQLRessource() works with other t3lib\_db objects now, added new optional parameter in-between(!) - isType(): marked as deprecated now (use isInstanceOf() instead) - added some new assertions to tx\_pttools\_assert: isNotNull(), isPositiveInteger(), isValidEmail(), loggedIn() - tx\_pttools\_formTemplateHandler allows arbitrary JavaScript event handlers for all kinds of inputs now - miscellaneous internal improvements (tx\_pttools\_div::mergeConfAndFlexform(), tx\_pttools\_div::returnExtConfArray(), tx\_pttools\_div::hookRequest(), tx\_pttools\_exceptionDatabase::\_\_construct(), tx\_pttools\_debug::trace(), faketsfe.inc.php) and logging additions .. _v0-4-0: v0.4.0: """"""" - major revision of Smarty integration: complete re-write of tx\_pttools\_smartyAdapter (fully backwards compatible), added new class res/objects/class.tx\_pttools\_smartyCompiler.php, added directory “smarty\_plugins” (containing additional modifiers and callback functions for usage with the Smarty templating engine, e.g. a modifier to access TYPO3 locallang labels directly from the Smarty template) - major revision of the collection concept: added new abstract class tx\_pttools\_collection for arbitrary item collections, new class contains most (slightly modified) methods of former tx\_pttools\_objectCollection, tx\_pttools\_objectCollection now extends tx\_pttools\_collection and provides object related functionality only, tx\_pttools\_registry now extends new abstract class tx\_pttools\_collection to allow arbitrary registry entries; fixed bug if no search value was given to collection method keys() - added new debugging features: added extension configuration option “convertErrorsToExceptions” and “catchUncaughtExceptions” in extension manager, added appropriate set\_\*\_Handler in ext\_localconf.php and new tx\_pttools\_debug methods convertErrorToExceptionErrorHandler() and catchUncaughtExceptionsExceptionHandler(). Using these new options you're enabled to catch errors and uncaught exceptions and display them with a nice backtrace (for details refer to the EM's option descriptions). In combination with TYPO3's "systemLog" these options can provide a mighty tool while developing and for monitoring - improvements of formTemplateHandler: fixed textarea handling bug, added left.gif (copied from Apache icons), buttons now can have an arbitrary number of event handlers, clickbuttons allowed now, improved form elements checks, FTH manual extended for Javascript functions, added form sections (via SECTIONSTART and SECTIONEND) - added cookie check method tx\_pttools\_div::checkCookies() and new TS option cookieErrorPage in Constant Editor for this method - tx\_pttools\_div: fixed bug in returnTyposcriptSetup() (if TSFE is incompletely loaded, e.g. with preBeUser hook), revised hookRequest(), added new methods typoscriptRegistry(), getTS(), clearCache(), sanitizeIntList() - tx\_pttools\_debug: removed method backtraceErrorHandler(), added new method cleanBacktrace(), extended inDevContext() (BE admins are in dev context by default now), adapted default CSS path in exceptionToHTML(), improved trace() - improvements of tx\_pttools\_finance: getFormattedPriceString() configurable now (added new TS option currencyFormat in Constant Editor), getFormattedPriceString() now separates decimal places using "." or "," depending on locale - tx\_pttools\_assert: fixed bug in matchesPattern(), added some new assertion methods, miscellaneous improvements - tx\_pttools\_formchecker: added new methods checkNone(), checkMultiselect() - tx\_pttools\_cliHandler: added new method readFileRelToCliScript() - tx\_pttools\_formReloadHandler: converted all methods to static methods - tx\_pttools\_exception: added new method handle(), use this from now on instead of now deprecated method handleException() - inc/faketsfe.inc.php: fake TSFE provides a cObj now - minor internal improvements and logging additions, added some French locallang labels for formchecker .. _v0-3-0: v0.3.0: """"""" - major revision of tx\_pttools\_msgBox: removed inline CSS styles and icon related constants - default messagebox styles are now defined in the extension's static template at plugin.pt\_tools.\_CSS\_DEFAULT\_STYLE to allow overriding with individual styles by Typoscript; removed inheritance from tslib\_pibase (removed inherited properties scriptRelPath und extKey, changed language handling); calling an invalid messagebox type throws an exception now (instead of former display of the error within the messagebox) :underline:`IMPORTANT` : Styling of the "tx\_pttools\_msgBox" has changed - if you did not use the default values for the former (and henceforth no more used) Constant Editor/Typoscript parameters "msgboxFontHeadline", "msgboxFontMsg", "msgboxColHeadlineBg", "msgboxColMsgBg" or "msgboxColBorder", you have to apply your differing settings by adapting the default styles now defined in the extension's static template at "plugin.pt\_tools.\_CSS\_DEFAULT\_STYLE" (defaults to be found in file pt\_tools/static/setup.txt)! - major revision of tx\_pttools\_objectCollection: implementation of SPL ArrayAccess interface; made property selectedId permanently available now; added new methods, exceptions and improvements - major revision of exception handling (all changes are backwards compatible): added new classes in res/objects/exceptions for each special exception case of tx\_pttools\_exception (public usage of tx\_pttools\_exception's 2nd constructor parameter and EXCP\_\* constants are deprecated now!); exceptions are logged in devlog, sysLog and tsLog now; getter methods added to tx\_pttools\_exception - revision of tx\_pttools\_formchecker: removed inheritance from tslib\_pibase and inherited properties scriptRelPath und extKey, changed language handling for all check methods - added assertion handling: new class res/staticlib/class.tx\_pttools\_assert.php for miscellaneous assertions, new class res/objects/exceptions/tx\_pttools\_exceptionAssertion for failed assertions - added Registry design pattern implementation: new class res/objects/class.tx\_pttools\_registry.php - added new class res/objects/class.tx\_pttools\_collectionElementSelector.php (see doc/manual\_collectionElementSelector.txt for details) - improved exception output possibilities for developers by adding new tx\_pttools\_debug methods getCodeSnippet(), exceptionToHTML() and traceToHtml() + new CSS file res/tmpl/exception.css - tx\_pttools\_formTemplateHandler: fixed bug with hidden fields, added SplitDate input field processing - tx\_pttools\_div: added new methods getPid(), outputToPopup() and inDevContext() (see inline comments for documentation), new optional param for mergeConfAndFlexform() to avoid exceptions - tx\_pttools\_beSubmodule now allows also non-admins to access the backend modules - raised TYPO3 dependency to version 4.0+ - minor internal improvements and bugfixes, converted locallang file in res/objects to XML .. _v0-2-5: v0.2.5: """"""" - tx\_pttools\_formchecker: changed default patterns in static/constants.txt to fix UTF-8 German umlaut problems on Linux - tx\_pttools\_formchecker and tx\_pttools\_formTemplateHandler: fixed length check bug for UTF-8 - tx\_pttools\_msgBox: moved hardcoded message box HTML code to template file (configurable via TypoScript/Constant Editor), removed obsolete function generateMsgBoxHTML\_OLD() - tx\_pttools\_div::returnTyposcriptSetup() now usable for eID scripts, too - tx\_pttools\_beSubmodule::printSearchForm: added parameter configuration for method - tx\_pttools\_div::readLLfile(): added exception if $GLOBALS['LANG'] is no object - changed visibility of miscellaneous object properties and methods from “private” to “protected” for better support of OOP inheritance .. _v0-2-4: v0.2.4: """"""" - added this manual and changelog - overhaul of tx\_pttools\_exception (general cleanup, error code constants added) - fix in faketsfe.inc.php, imrovement of tx\_pttools\_div::mergeConfAndFlexform() |img-3| EXT: punkt.de Tools (pt\_tools) - 12 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. :border: 0 .. :height: 681 .. :id: Grafik1 .. :name: Grafik1 .. :width: 643 .. |img-2| image:: img-2.png .. :align: left .. :border: 0 .. :height: 249 .. :id: Grafik2 .. :name: Grafik2 .. :width: 463 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 32 .. :id: Graphic1 .. :name: Graphic1 .. :width: 102