# CHANGELOG

    1.0
    - P4A_Frame, P4A_Canvas and P4A_Sheet now checks if object were destroyed before rendering
    - a bug in P4A_Number::format was fixed (it prevented setNewValue(0) to work)
    - some code beautification were done

    0.99.12
    - Persian translation was added (thanks to JraNil)
    - Catalan translation was added (thanks to Alvaro Gilabert)
    - PEAR::Calendar 0.5.3 was added to libraries
    - PEAR::Date 1.4.6 was added to libraries

    0.99.11
    - now is possible to do P4A_Widget::useTemplate('dir/file')
    - P4A_Toolbar::addLabel() method was added
    - a bug on P4A_Date::get_month_name() was fixed
    - a bug on P4A_Table was fixed
    - a bug with framework-wide libraries was fixed
    - P4A_Frame can now handle if an anchored object was destroyed
    - P4A_Toolbar(s) constructor was splitted to allow better customization
    - some minor beautifications were done

    0.99.10
    - P4A_Array_Source::load() now can be called more than one time to change the data inside the array_source
    - TinyFCK was updated to 0.12
    - a bug about invisible labels for read-only P4A_Field was solved
    - a bug with P4A_I18N_Messages::get() was solved
    - Slovenian translation was added (thanks to Jernej Zorec)

    0.99.9
    - P4A_Data_Source, P4A_DB_Source and P4A_Array_Source now trigger beforeMoveRow, onMoveRow and afterMoveRow events
    - P4A_Mask's beforeMoveRow, onMoveRow and afterMoveRow triggers are declared as "deprecated" and will be removed in 1.2
    - some minor beautifications

    0.99.8
    - a bugfix about P4A_Date::unformat was fixed (1468679 - string padding)
    - Polish translation was updated
    - Danish translation was added (thanks to spinello)
    - PEAR was updated to 1.4.9
    - some minor bugfixes were made

    0.99.7
    - added a "clone" function to emulate php5 cloning system
    - a php5 warning bug was solved
    - P4A_DB_Source::setQuery() now automatically generates the counting query
    - bug n. 1467199 on P4A_Field::getAsString() was solved
    - minor beautifications were done

    0.99.6
    - a bug with mt_MT locale was fixed
    - a complete syntax check was done on all files
    - a bug with P4A_DB_Source about multiple join with homonym	fields was fixed

    0.99.5
    - a bug in P4A_Data_Source was fixed
    - a bug with P4A_DB_Source::__sleep was fixed
    - polish translation was added (thanks to Artur StuczyÅ„ski)
    - a bug with P4A_Field::getAsRadio() was fixed

    0.99.4
    - tinyFCK updated to 0.10
    - a bug with rich textarea upload was fixed
    - a bug with null dates/numbers formatting was fixed
    - XHTML width/height for P4A_Button were restored
    - now P4A_Button::setSize() supports width and height with WIDTHxHEIGHT format
    - a minor bugfix on P4A_Table CSS was made

    0.99.3
    - indonesian translation added (thanks to Akhmad Daniel Sembiring)
    - japanese translation added (thanks to Tony Kimball)
    - P4A_DB_Source now correctly handle multiordering/multipk
    - fixed a bug that prevented the DHTML calendar to show correctly
    - fixed a bug with P4A_DB_Source::setPageLimit(0)
    - some documentation fixes were done

    0.99.2
    - chinese translation was added (thanks to Tony Kimball)
    - bugfix on XHTML validation for P4A_Field::getAsDate()
    - removed scrollbar's css for better css validation
    - P4A_Widget::noUseTemplate() was removed because wrong, you can do P4A_Widget::useTemplate(false) instead
    - P4A_Widget::clearDisplay() was renamed to P4A_Widget::clearTemplateVars()
    - PEAR was updated to 1.4.8
    - P4A_Table now implements the <COL> tag, resulting HTML was cleaned up

    0.99.1
    - the "new" icon was changes from "pencil" to "document"
    - getAsMulticheckbox now rendered with checkbox + label
    - a system was introduced to avoid browser's back/forward problems
    - bugfix on P4A_Button, now l10n labels work again
    - minor bugfixes and documentation changes

    0.99.0
    - slovak translation was added (thank to Tomas Lopasovsky)
    - czech translation was completed (thanks to hanny)
    - fixed a bug with non ordered P4A_DB_Source in P4A_Table
    - PEAR was updated to 1.4.7
    - minor bugfixes

    0.45
    - dutch translation added (thanks to fidodildo)
    - fixed a bug on P4A_Table_Col of image type
    - P4A_Table now use GD (if available) to display images thumbnails
    - fixed an error on "am/pm" management in reverse formatting of time data
    - TinyFck's filemanager is now restored

    0.44
    - TinyFCK was updated to 0.8
    - locales were rebuilt with a new conversion engine, fixing some bugs

    0.43
    - phpThumb 1.6.2 was added in libraries
    - if GD are installed image preview call phpThumb to generate thumbnails
    - gettext like __("string") function has been added, alias of $p4a->i18n->messages->get("string")
    - German translation completed (thanks to ibus)
    - Romanian translation completed (thanks to Andrew and Giorgio Rimmer)
    - P4A_Table now supports left/right alignment based on data type
    - many improvements for handheld rendering
    - some bugfixes on XHTML validation
    - some bugfixes on print css
    - minor bugfixes and beautifications

    0.42
    - bugfix on P4A_DB_Source::getFilters(), filtering now works with fields and data_fields
    - French translation completed

    0.41
    - many translations added, look at http://p4a.sourceforge.net/translations
    - a few translation strings were added (for P4A_Table)
    - fixed some bugs with the i18n/l10n engine
    - Portuguese translation completed (thanks to Tiago)
    - Estonian translation completed (thanks to Eero)
    - Spanish translation completed (thanks to Vanesa Callejo)
    - Russian translation completed (thanks to Ð®Ñ€Ð¸Ð¹ Ð‘Ð±)
    - Norvegian translation added (thanks to Jostein)
    - bugfix on P4A_DB_Source::getFilters(), filtering with formatted fields now works

    0.40
    - TinyFCK was updated to 0.5
    - P4A_Listener was removed because it was obsolete and unused
    - P4A_Menu was totally refactored, dropping some methods
    - PEAR packages were updated and cleaned out (now we only have PEAR 1.4.6, Console_Getopt 1.2, DB 1.7.6, HTML_Template_Flexy 1.2.4)
    - new l10n formats loaded, 168 locales available
    - bugfix on es_ES translations (removed htmlentities => UTF-8)
    - some code reference was written

    0.39
    - fixed bug 1407473 (password obfuscator was shown also on null values)
    - feature request 1413696 (removing non existing file does not produce a fatal error anymore)
    - P4A_DENIED_EXTENSIONS constant was added
    - P4A_Get_File_Extension() function was added to library
    - P4A_Is_Extension_Allowed() function was added to library
    - fixed bug 1404846 (when uploading a file with denied extension you'll get a fatal error)
    - some methods were documented in the code reference

    0.38
    - Multiple DB connection support was added
    - added setDSN method to p4a_db_source
    - added getDSN method to p4a_db_source
    - added setDSN method to p4a_data_field
    - added getDSN method to p4a_data_field
    - minor changes
    - P4A_Box widget was added, it renders raw html
    - Rich Text Editor was updated to TinyFCK 0.4
    - Rich Text Editor image resizing was modularized a bit
    - bugfix on RTE image resize
    - minor changes

    0.37
    - MySQL Manager was removed from the main package and released as a contrib
    - Base application contrib was released

    0.36
    - added CHANGELOG, README, COPYING and TODO files to code reference
    - backward compatibility issue with P4A_Button was fixed
    - a "find" icon was added (32x32)

    0.35
    - P4A_Table_Col can show image thumbnail: P4A_Table_Col::setType("image")
    - P4A_Button can show icon and label at the same time
    - rich text editor support original image reduction: $Config['ImageSize']['__original__'] = "800x800";
    - a little spanish translation bug was fixed
    - minor changes to tab_pane widget css were made

    0.34
    - TinyMCE was updated to 2.0.1
    - PEAR packages were updated

    0.33
    - release builder script was updated
    - base application was moved to contribs
    - print css for P4A_Tab_Pane was added
    - some bugfixes/cleanup were done on P4A_Field::getAsRadio()
    - P4A_Message::setValue(0) bug was fixed
    - removed "clean on startup" option from tinymce, seems to cause ie problems

    0.32
    - P4A_Tab_Pane was added (Thanks to Francesco Dominidiato)
    - enabled rich text editor image resize (documentation on website)
    - TinyMCE was updated to 2.0RC4

    0.31
    - bugfix on P4A_Table, now ordering works well
    - bugfix on P4A_DB_Source, now addOrder() and setOrder always turn the ordering mode to uppercase
    - PHP 4.4 P4A_Collection::nextItem() bugfix
    - rich text editor now support image resizing (libGD support needed) (disabled by now)
    - various bugfix and beautification

    0.30
    - PHP 4.4 porting completed (deep tests are needed)
    - sample htaccess was added (needed to set some PHP settings that we can't set at runtime)
    - TinyMCE rich text editor was introduced instead FCKEditor
    - CKEditor file browser/upload was integrated in tinyMCE
    - P4A_Field::enableUpload() was added
    - P4A_Field::enableFileUpload() and P4A_Field::enableImageUpload() were removed
    - fixed the setDefaultValue(0) bug
    - various bugfixes and code beautification

    0.29
    - Template engine is now Flexy, many constants in config.php were dropped and template were heavily changed
    - ie7 library was updated to 0.9
    - P4A_REQUIRE_APPLICATION now supports application name or application dir
    - mb_internal_encoding is set to UTF-8 if mbstring extension is available
    - P4A_DB_Source::dropOrder() was added
    - fixed P4A_Button::getAsString(), when icon is rendered, width and height are printed (now we can only have square icons)
    - fixed P4A_Table_Col visibility issues
    - fixed a bug about charset in mask's default template
    - fixed a bug within P4A_Mask constructor (internal variable _name is now lowercase)
    - PEAR packages were updated
    - P4A_Table::isRollable(), P4A_Table::enableRollup(), P4A_Table::disableRollup(), P4A_Table::rollup(), P4A_Table::expand() and P4A_Table::collapse() were removed
    - code cleanup, documentation added

    0.28
    - removed some unused CSS from screen.css
    - added a "generic_file" icon (16x16)
    - phpsniff library was removed from phpdocumentor source list
    - FCKEditor was updated to 2.0
    - safari was added to the compatibility list (thanks to Francesco Dominidiato)
    - FCKConfig.ToolbarCanCollapse is now set to off (thanks to Francesco Dominidiato)
    - fixed a bug on image preview mask printing (thanks to Francesco Dominidiato)
    - image preview mask now show the file name in the title

    0.27
    - afterUpload event trigger was added
    - FCKConfig.ProcessHTMLEntities is now off (thanks to Francesco Dominidiato) ;
    - standardized accesskey notation in P4A_Button, now it renders as "[S] Save Row" instead of "Save Row (ALT+S)"
    - bugfix on mysql_manager application
    - P4A_I18N_Messages::get() now also accept no params, returning all messages
    - asc/desc/selected alt for images were added to P4A_Table
    - contribs were introduced, thanks to Major__Tom

    0.26
    - PEAR packages were updated fixing some security issues

    0.25
    - bugfix on P4A_Data_Source::prevRow(), now works well when calling it on the first row of a data source
    - bugfix/beautifications on products_catalogue application
    - bugfix on P4A_Table for a better rendering
    - changed P4A_Table_Rows onBeforeDisplay, we cannot pass $rows by reference, thus you've to return $rows from your action handler

    0.24
    - changed XHTML output for textarea and rich_textarea, now HTML code in the value is escaped with htmlspecialchars(), allowing XHTML 1.1 validation
    - added P4A_Quit_Toolbar, with only two buttons: print and quit
    - added P4A_Mask_Image_Preview, system mask to view images preview
    - many changed on the output of Field::getAsFile() ans Field::getAsImage()
      - removed the HTML links
      - added preview button for images
      - added download button
    - changed P4A_Href::composeStringActions(), converted to XHTML parameter separator (&amp; instead of &) (check your php.ini configuration to support this feature)
    - changed P4A_Data_Source::exportAsCSV(), added a die() on the last row
    - renamed toolbar files in p4a/objects/widgets/toolbars
    - some code was beautified
    - updated TODO

    0.23
    - removed P4A_Menu_Item::setActive() and P4A_Menu_Item::setNoActive()
    - changed top margin calculation into mask default template (themes/default/masks/default/default.tpl)
    - textarea now have default width=500px, height=200px
    - rich_textarea now have default width=500px, height=300px
    - textarea and rich_textarea also have rows/cols properties
    - removed some garbage from screen.css
    - P4A_Menu is now pure XHTML/CSS (thanks to Justin Koivisto) and multilevel, removed template and javascript
    - some code/css has been beautified
    - done a lot of work work on XHTML 1.1 validation (still not finished)
    - changed the internal CSS array structure, thus P4A::addCSS() and P4A::dropCSS() are changed
    - added javascript and css local to every mask, thus P4A_Mask::addCss() and P4A_Mask::dropCss() were added
    - added temporary javascript and css local to every mask, thus P4A_Mask::addTempCss() and P4A_Mask::dropTempCss() were added. These javascripts/css are dropped immediately after rendering
    - changed the default mask template to reflect the CSS handling changes
    - fixed a bug with date_calendar widget, now it's possible to have more than one calendars on a mask
    - dropped date_calendar.tpl because it's not used anymore
    - added themes/default/widgets/date_calendar/p4a.js with some javascript code
    - changed the inclusion system for date_calendar and rich_textarea widget, now all javascript/css are included only once
    - added possibility to extend a P4A Application
    - added P4A_Base_Application (non included in the p4a release because we need documentation)
    - added P4A_Simple_Toolbar
    - fixed a bug in P4A_DB_Source::_composeSelectPkQuery() with joined tables
    - updated TODO
    - updated README

    0.22
    - fixed a bug in P4A_DB_Source with multivalue fields
    - added P4A_Field::getAsMulticheckbox(), use it with $field->setType('multicheckbox')
    - some code has been beautified
    - updated CREDITS
    - updated TODO

    0.21
    - all actions and events are now lowercase, also to print out corrected XHTML
    - fixed a password rendering bug: if a password field is not filled, now you'll not see the obfuscator after submit
    - renamed "menu_drop_down" template to "menu"
    - removed P4A_Menu::setType()
    - removed tabbed menu
    - removed P4A_Sheets_Group widget
    - some bugfixes in CSS
    - added P4A::addJavascript() and P4A::dropJavascript()
    - changed javascript file inclusion in masks templates
    - updated TODO
    - updated README, removed info about untested browsers
    - ie7 (http://dean.edwards.name/IE7/) library has been implemented (thanks to Francesco Dominidiato)

    0.20
    - fixed screen.css bug on Internet Explorer
    - added beforeMoveRow,onMoveRow and afterMoveRow on P4A_Mask::nextRow()

    0.19
    - upgraded all pear packages
    - added constant P4A_FORCE_HANDHELD_RENDERING to force handheld rendering on any device (useful to have a handheld preview)
    - handheld CSS now has a sans-serif font
    - handheld CSS now has a nice color for all the links

    0.18
    - updated rich text editor (FCKeditor 2.0 FC)

    0.17
    - done some PHP5 fixes, seems to work fine but we need more tests
    - updated TODO
    - created CREDITS file and moved credits from README
    - updated some copyright informations
    - fixed an error in CHANGELOG

    0.16
    - updated TODO
    - disabled P4A_Sheets_Group and tabbed menu because they're not completed
    - updated all copyright informations

    0.15

    - now p4a_message can handle messages without icons
    - some language fixes in the "products_catalogue" application

    0.14
    - fixed a bug in P4A_Number::format, if null is passed, null is returned (not zero)
    - added P4A_Message::autoClear() to enable/disable auto clearing of messages
    - removed P4A_Label::setType() because it were formally uncorrect
    - P4A now can handle file/image uploads within rich_textarea fields (disabled by default)
    - added P4A_Field:enableFileUpload() and P4A_Field:enableImageUpload()

    0.13
    - various bugfix in P4A_Link
    - updated caledar widget to 1.0
    - added P4A_Table_Col::setOrderable() and P4A_Table_Col::isOrderable() to set and check the possibility to enable the "order by" on a column
    - added the possibility to intercept the "beforeDisplay" event on P4A_Table

    0.12
    - added folder.png and folder_open.png images in 16x16 pixels icons
    - updated rich text editor (FCKeditor 2.0 RC3)
    - now P4A_Field::getAsLabel() correctly handle multiline content
    - P4A_Widget now instance a "handheld" smarty variable, passed to the template
    - now P4A_Field::getAsDate() correctly manage handheld devices
    - added some copyright notes to array_source.php, db_source.php, collection.php, data_source.php
    - removed multivalue_field.php because it was obsolete
    - removed P4A_Mask::addMultivalueField() because it was obsolete
    - done some work on config.php to allow p4a to stay out of the document root (must have an alias set to /p4a), take a look at docs/httpd.conf
    - added P4A_Mask::getPrevMask() and P4A::getPrevMask() to get an instance of the previous opened mask
    - updated TODO
    - updated READMEs
    - bugfix in P4A_Table, now ordering works well with aliased fields
    - changes in P4A_Frame, when viewed by an handheld no divs are generated and all elements float left (Pocket IE seems to not support floats)
    - optimized P4A_Table_Navigation_Bar output for handhelds
    - bugfix in P4A_Table_Navigation_Bar::addButton(), now margins are correct
    - code cleanup
    - removed some obsolete files
    - handheld css change: now mask's title is centered
    - handheld css change: now fieldset' title is centered
    - handheld css change: now table's width is forced to 100% to avoid Pocket IE problem

    0.11
    - bugfix in MySQL Manager
    - navigation bar bugfix in P4A_Table
    - print css bugfix
    - moved some inline css to external files
    - output HTML optimizations

    0.10
    - moved some locale files, now ru_RU.CP121 and ru_RU.KOI8-R work again
    - bugfix in getAsFile method in P4A_FIELD
    - bugfix in saveRow method in P4A_DB_SOURCE
    - bugfix in getAsDate method in P4A_FIELD
    - null value bugfix in saveRow method on P4A_DB_SOURCE
    - improved check_configuration library

    0.9
    - all javascript moved in p4a.js, the default form is now named "p4a"
    - fixed a bug in mask default template, no javascript was included
    - added the ability to detect handheld devices (a browser that does not support css2 is considered handheld)
    - new library (phpSniff) to detect Internet Explorer
    - optimized output HTML, cleaner and lighter

    0.8
    - changed P4A_MESSAGE layout
    - fixed fieldset ie bug
    - fixed deleteRow method on P4A_DATA_SOURCE
    - fixed screen.css in default theme
    - fixed anchorCenter bug in P4A_FRAME
    - fixed anchorCenter bug in P4A_FIELDSET
    - fixed an error P4A_FIELD::setNewValue that prevented the system from handling 0 as numeric value

    0.7
    - code cleanup
    - added P4A_Navigation_Toolbar, a new default toolbar with "first", "prev", "next", "last", "exit" buttons
    - updated TODO
    - various bugfixes

    0.6
    - renamed changelog to CHANGELOG
    - added TODO file
    - added setlocale(LC_NUMERIC, "C") to avoid php 4.3.10 problems with numeric locales
    - added setlocale(LC_MONETARY, "C") to avoid php 4.3.10 problems with numeric locales
    - fixed P4A_TOOLBAR, now spacers work correctly
    - fixed P4A_IMAGE, now supports the new default icon path
    - added spacer.png image into icons
    - DATA_SOURCE::getAsCSV() now suports fields names
    - renamed DATA_SOURCE::exportToCSV() to DATA_SOURCE::exportAsCSV()
    - added DATA_SOURCE::exportToCSV() as an alias of DATA_SOURCE::exportAsCSV()

    0.5
    - fixed a file upload bug that prevented a correct behaviour when the web server is listening on a port differt from 80
    - fixed a bug in DATA_SOURCE filters engine
    - added a message to MySQL Manager to suggest using Firefox
    - fixed a bug in ARRAY_SOURCE getAll
    - fixed a bug in ARRAY_SOURCE load

    0.4
    - removed pear/pear.php that caused errors on windows installation
    - fixed various errors in array_source
    - fixed a reference in frame
    - various bugfixes

    0.3
    - changed PEAR repository management, now with web interface we can easily install/upgrade/remove PEAR modules
    - added deleteRow to DATA_SOURCE interface
    - added deleteRow to ARRAY_SOURCE
    - moved some code for deleteRow from DB_SOURCE to DATA_SOURCE, now used also from ARRAY_SOURCE

    0.2
    - now db_source reload num_rows on setWhere, addFilter, dropFilter
    - changed doctype for default template, now we're xhtml 1.1 (not validated, work in progress)
    - changes in default template to start the xhtml validation
    - fixed getAll in P4A_Array_Source
    - fixed page in P4A_DB_Source
    - fixed a problem with table and handheld Pocket Internet Explorer 2003
    - added index.php file into applications directory, just for a redirect
    - beautified handheld css

    0.1
    - initial release

Documentation generated on Fri, 26 May 2006 12:42:58 +0200 by phpDocumentor 1.3.0RC5