Release Notes: A bug regarding session name was solved. FCKEditor was updated to 2.6.2. A bug with CSS shadows was solved. The P4A_Error_Handler() global function now uses the P4A::messageWarning() wrapper for P4A::message(), solving a bug with the warning icon name that was changed in 3.0.0-rc5. jQuery UI was updated to 1.5.1.
Release Notes: All code was rewritten to be PHP 5.2 compliant. The PEAR framework was replaced by the Zend Framework. P4A is now fully certified to work with MySQL, PostgreSQL, Oracle, and SQLite. Every user interaction is now managed through an AJAX call, which really boosts the user experience.
Release Notes: P4A_Table's CSS was beautified. Disabled icons were removed and an "opacity: 0.2" filter was added. P4A_Message's CSS was changed. Color schemes were introduced. P4A_Message's default size was changed to 32px. 48px icons were removed. A gradient was added to some elements in the default theme. P4A icons now implements the freedesktop icon naming specifications. A shadow effect was added to system messages and tooltips. jQuery::UI was updated to 1.5.
Release Notes: A default submit button was added to the P4A default HTML form to solve the enter key bug (propagating events to the first button). Mouseover on system messages pauses the fadeOut timer, giving more time to read the messages. P4A_Table_Rows and P4A_Table_Col now trigger the onclick event (in addition to beforeclick and afterclick). P4A_Table::showTitleBar() was removed because it was obsolete. P4A_Table_Rows::disable() won't disable a table's "action cols". P4A_Table's CSS was modified for better readability. A P4A_Redirect_To_Url() global method was added.
Release Notes: File upload checks and error reporting were enhanced. A bug with file downloading within a non-Ajax environment was solved. Zend Framework was updated to 1.5.2. The P4A_Redirect_To_File() global function now checks if the file really exists within P4A_UPLOADS_DIR, otherwise it throws a P4A_Exception. P4A_Tab_Pane's pages' labels are now auto-translated with getAsString(). P4A_Field::getAsDate() no longer sets the field "readonly", thus dates can now be written by hand too. jQuery was updated to 1.2.5. jQuery::UI draggable and droppable were added. P4A_DB_Navigator's drag and drop movements were implemented.
Release Notes: A bug with the P4A_Field::getAsCheckbox() method was solved. When a P4A_Field's value is coming from a POST, P4A::main() now checks if the field is enabled. Translations were synchronized.
Release Notes: The saveUploads() method was moved to P4A_Data_Source. P4A_DB::quote() method's 2nd parameter "autoquote" is now false by default, solving some problems with P4A_Data_Field::getSQLValue() and getSQLNewValue(). When P4A_DB_Source needs a quoted value, it uses P4A_DB->quote() with autoquote turned on. The P4A_DB::quote() method, if the autoquote parameter is on, always encloses the value within single quotes. jQuery::form was updated to 2.0.8. jQuery::iFixPNG was updated to 2.1. P4A_Menu's CSS was changed a bit, solving a bug with IE6. P4A_DB_Navigator movements were disabled (due to the unavailable jQuery UI).
Release Notes: Some minor changes were done after strict validation checks. Products_catalogue sample now has a "date" field to play with. A bug with empty values in P4A_Tables (passed to formatters) was solved. P4A_I18N::format() and normalize() methods now returns an empty string if no value is passed. P4A_Validate_NotEmpty::isValid() method now correctly handles the "0" string (which is a Zend Framework bug). P4A_I18N::translate() method returns an empty string if nothing is passed. Zend Framework was updated to 1.5.1. A bug with P4A_I18N::format() method managing dates was solved.
Release Notes: A bug with disabled P4A_Field::getAsCheckbox() was solved. P4A_Field::getAsRadio()'s CSS was modified. P4A_Fieldset's legend, P4A_Menu's items, P4A_Mask's title, P4A_Table's headers, and P4A_Mask's title are now auto translated on getAsString(). A P4A_I18N::mergeTranslation() method was added. The product catalog sample application was changed for simplicity (along with its SQL structure) and now supports multiple languages.