July 14th, 2009· Zend Framework was updated to 1.8.4
· jQuery was updated to 1.3.2
· jQuery UI was updated to 1.7.2
· P4A_Tab_Pane was converted to jQuery UI
· P4A_Fieldset and P4A_Tab_Pane now have rounder borders
· a note about handling dates with Oracle was added to the README file
· outline CSS property was removed
· If magic_quotes_gpc are enebled P4A strips out all slashes from $_POST, $_GET, $_COOKIE and $_REQUEST
· P4A_Dir_Navigator widget was added
· P4A_Widget::composeStringActions() method now uses P4A_Quote_Javascript_String()
· a bug with P4A_Dir_Source and hidden files was solved
· P4A_Dir_Source::getNumRows() method was added
· P4A_I18N::format() support for "filesize" data type was added
· P4A_Dir_Source now supports file size and last modification time
· P4A_Dir_Source's cache was removed due to refactoring
· P4A_Simple_Edit_Mask now supports empty $source constructor param (default is the mask name)
· P4A_Progress_Bar widget was added
· P4A footer was moved to allow better centering when sidebars are visible
· when uploading a file, it will have a temporary file until the corresponding record won't be saved a bug with P4A_Strip_Double_Backslashes global function was fixed (thanks to bobkoure)
· a bug with Zend_Framework and Oracle was fixed (stripped zend_db_rownum column)
· P4A_DB_Navigator now can work also without recursor (flat list is shown)
· P4A_Mask::displayText() method was marked as deprecated, you can now use P4A_Mask::display() that now has no hardcoded object reference
· P4A_Data_Source::isFirstRow() and isLastRow() methods were added
· a bug with P4A_Message and IE7 was solved
· Oracle's LOBs are now supported
· P4A_Object's ID generation algorithm was changed (thanks to pbond81 and Mario Spada)
· P4A_Table thumbnail generation speed was improved (bug #2220506) (thanks to pbond81)
· P4A_Box's ul/ol is now rendered (bug #2634061) (thanks to bes_sf)
· a note about aliases on P4A_DB_Source's PK was added to the README file
· P4A_DB_Source now automatically detects Oracle's NUMBER data type
· P4A_Tab_Pane's height honoring bug was fixed (bug #2815814)
· P4A_Widget::composeStringActions() now handles parameters with backslashes inside
· a bug with P4A_I18N::format() of boolean data was fixed
· a bug with multicheckbox's CSS on some browsers was fixed
· a bug with P4A_DB_Source::saveRow and multiple primary keys was solved
March 31st, 2009· P4A_Table's image cols are now centered horizontally
· P4A_Button::setTooltip() and getTooltip() methods were added
· afterupload event typo was fixed
· P4A_Thumbnail_Generator::renderToFile() method was added
· P4A_Mask::getSource() method was added
· Zend Framework was updated to 1.7.7
· a bug with P4A_Fieldset theme was fixed (thanks to Mario Spada)
· P4A_DB::singleton() DB type verification is now case insensitive (bug #2643785) (thanks to BES)
· a few modifications were done on screen.css file for a better theme result (thanks to pbond81)
· The way we managed P4A_Validate translations was rewritten to fit the new rules by Zend Framework (we need your help translating the new messages now http://tinyurl.com/au5bvb)
· a bug with P4A_DB_Source::setWhere() method was fixed
· translations were synchronized
· auto file inclusion system was updated to avoid reading Mac hidden files
· a bug with P4A_DB_Source::addGroup() method was solved (internal syntax change due to a Zend Framework change)
· p4a_load_js() javascript function was updated to avoid errors if no callback function is passed
February 5th, 2009· Zend Framework was updated to 1.7.4
· PEAR::Net_Useragent_Detect was updated to 2.5.0
· jQuery::form was updated to 2.19
· P4A_DB_Source::setQuery() now strips out final semicolon from the passed SQL query (if present) (bug #2557215)
· P4A_DB_Source::setWhere() now calls a firstRow() if the DB_Source isn't in the "new row" state (bug #2316271)
· P4A_Filename2File() now uses the fileinfo module if no mime type is detected otherways (bug #2121565)
· a bug with P4A_Field::getAsDate() and Internet Explorer was fixed (thanks to Mario Spada)
· P4A_Thumbnail_Generator::setWidth() now resets the max_width to avoid conflicts
· P4A_Thumbnail_Generator::setHeight() now resets the max_height to avoid conflicts
· P4A_Thumbnail_Generator::setMaxWidth() now resets the width to avoid conflicts
· P4A_Thumbnail_Generator::setMaxHeight() now resets the height to avoid conflicts
· P4A_Thumbnail_Generator::processFile() height/width calculation was rewritten in order to fix bug #2270922
December 16th, 2008· P4A is now released under LGPL 3
· P4A_APPLICATION_SOURCE_DOWNLOAD_URL constant was removed (along with the "download source" link in the footer)
· P4A_Grid widget was added
· P4A_Simple_Edit_Mask was added to quickly create a simple mask to edit a database table
· P4A_Mask_constructSimpleEdit() helper was added to manage the initialization of the P4A_Simple_Edit_Mask and to allow you to use that shortcut also when not inheriting from P4A_Simple_Edit_Mask
· P4A_Table::showRowIndicator() and hideRowIndicator() methods were added
· P4A_DB_Source::delete() method now supports schemas
· P4A_Sheet's error messages were beautified
· P4A_Thumbnail_Generator now supports transparent GIF/PNG
· P4A_Thumbnail_Generator now outputs a PNG cache file if a PNG original file was provided
· P4A_Thumbnail_Generator now outputs a GIF cache file if a GIF original file was provided
· P4A_Thumbnail_Generator now resamples JPG/PNG instead of just resizing them
· a rendering bug with P4A_Field (when set as label) was fixed
· translations were updated
· white-space: nowrap was added to P4A_Field's CSS for a better webkit/safari/chrome rendering
· P4A_Frame::getChildrenAsString() protected method was added to avoid code replication between P4A_Frame and all classes inheriting from it
· P4A_Frame::anchorCenter() method' second parameter was removed because it was unused and unuseful
· P4A_Frame::anchorCenter() was reworked with some javascript code and now correctly supports P4A_Field many other widgets
· some XHTML validation errors were fixed
· default mask/popup templates were changed a bit, fixing a typo on #p4a_sidebar_right div and adding #p4a_main div wrapping the main zone
· FCKEditor was disabled on Opera because of a bug (user would get 2 editors instead of one)
· P4A_Base_Mask::frame does not have a default width anymore
· IE6 PNG Fix is not bound to window's onload event but in our DOMready function
· a bug with IE6 and popup template's title was solved
· a bug with WebKit/Safari/Chrome about javascript evaluation after an AJAX call was solved
· P4A_Frame and P4A_Fieldset can now be anchored with "center" alignment
· P4A_Frame and P4A_Fieldset do no need a default with anymore, width is calculated automatically using some javascript code
· when displaying a P4A_Frame o P4A_Fieldset in the "main" region of the mask's template you'll get it automatically centered also if you did not set its width
· P4A_Error_Mask and P4A_Login_Mask do not have default widths anymore
· Zend Framework was updated to 1.6.2
· P4A_I18N::normalize() now has a new parameter "num_of_decimals"
· P4A_Field::normalize() support for num_of_decimals was added
· a bug with P4A_DB_Source ordering on calculated fields with alias was solved
· a bug with jQuery::UI::datepicker not throwing the onchange event was fixed
· a popup mask can now open another popup mask without closing itself
· P4A_Preview_Mask now generates width/height for images
· P4A_I18N::format() method can now handle datetime
· cache support was added to P4A_Thumbnail_Generator::outputThumbnail() method
· a bug with image thumbnails cache was solved (thanks to pbond81)
· schema support for multivalue fields was added
· schema support for P4A_DB::nextSequenceId() was added
· sequences are now created in the same schema where the table is stored
· P4A_Thumbnail_Generator getThumbnailWidth(), getThumbnailHeight(), getOriginalWidth() and getOriginalHeight() methods were added
· P4A_Thumbnail_Generator::setFileName() method now resets previously detected (or computed) widths and heights (thanks to pbond81)
· a bug with setFocus and AJAX calls was fixed
· a bug with P4A_DB_Navigator::setStyleProperty was fixed (Thanks to Mario Spada)
· P4A_Navigator's default CSS now allowss scrolling (Thanks to Mario Spada)
· case insensitive check was added when downloading an attachment with P4A installed on a windows server
· P4A::getCssConstants() method was added, it's needed when you need some params to pass to a dyndamic PHP/CSS you're creating
· Every kind of cache was hopefully completely disabled
· jquery::maskedInput plugin was updated to 1.2
· FCKEditor now has ForcePasteAsPlainText as default configuration
September 2nd, 2008· P4A_Thumbnail_Generator now supports ie's pjpeg extension
· a bug with P4A_I18N::_format() method was solved (YYYY was changed to yyyy)
· P4A_Field::setYearRange() method was added to be able to manage the year range in the datepicker
· 10px top padding was added to P4A_Fieldset
· jQuery::maskedinput 1.1.4 plugin was added
· P4A_Field::setInputMask() and getInputMask() methods were added, check the code reference for usage
· popup template support for "top" zone was added
· P4A_Table's caption (label) is now automatically traslated at run time
· P4A now triggers the "ontranslate" event, you can intercept it (getting string/translation/istranslated parameters) to track translations while developing your application
· a bug with P4A_Table's label with IE6 was fixed
· P4A_Table's navigation bar's "go to page" label's CSS was changed so now it will remain on a single line
· a typo in P4A_DB_Source documentation was fixed
· a PHP warning was fixed in P4A_DB_Navigator
· more info were added in products_catalogue's index.php file
· P4A_Mask::setRequiredField() and unsetRequiredField() methods now check if the field exists before calling the addValidator() otherwise show an error message