Tag Archives: P4A

P4A 3.6.1 available now!

The first bugfix spin after the 3.6 rollout, let’s take a look at the changelog

– P4A_DB_Source::load() now returns an object also when setQuery() is used
– P4A_DB_Source::load()’s autosequence creation now checks that the field
exists before calling the setSequence()
– a bug with P4A_Redirect_To_Url and P4A_Redirect_To_File was solved
(bug #3039449)
– better focus management for P4A_Grid
– a bug with AJAX javascript returning and html entities was solved

Download P4A 3.6.1

P4A 3.6.0 is finally out!

It’s time for a big P4A release before the summer vacation :)

The changelog is really long as usual but there are no explosive changes or new features, the main focus was porting from the old FCKEditor to the new CKEditor 3.3 (that now has come to a complete and stable feature set).

I also worked on updating all various softwares we embed (Zend Framework and jQuery plugins), fixing some bugs and reworking the AJAX stack.

After CreaLabs (the company I previously own) closure don’t worry, I’ll still continue to work and support P4A, I’ll keep using it for all my jobs and I also have some big plan for the future releases :)

So here you’ve the full changelog:

– Zend Framework was updated to 1.10.3
– FCKEditor was dropped and CKEditor 3.3 was added
– all AJAX stack was rewritten to use JSON instead of XML
– in full AJAX environment external javascripts are loaded only if
they were not loaded before
– in full AJAX environment widgets can now execute javascript code before
or after the HTML substitution
– focus internal management was rewritten
– P4A_Mask::setLeftSidebarWidth(), setRightSidebarWidth(),
getLeftSidebarWidth() and getRightSidebarWidth() methods were added
– jQuery::form was updated to 2.43
– jQuery was updated to 1.4.2
– jQuery UI was updated to 1.8.1
– jQuery::autocomplete plugin was replaced by jQuery UI autocomplete
– mask’s right sidebar is now shown correctly
– P4A_Data_Source::exportToCSV() deprecated method was removed
– P4A::isPopupOpened() deprecated method was removed
– P4A_Mask::unsetFocus() deprecated method was removed
– P4A_Mask::displayText() deprecated method was removed
– P4A_Table::setHeader() deprecated method was removed
– P4A_Box::setValue() and getValue() deprecated methods ware removed
– P4A_DB::getAll(), queryAll(), getRow(), queryRow(), getCol(), queryCol(),
getOne() and queryOne() deprecated methods ware removed
– P4A_Output_File now supports the “new window” param
– P4A_DB_Source::rowByPk() method now returns the retrieved row
– pt_BR translation was added to products_catalogue sample application
(thanks to Cassiano Faria)
– es_MX translation was added to products_catalogue sample application
(thanks to Edgar Joel)
– Yahoo CSS reset was updated to 3.1.0
– P4A_I18N::normalize() $num_of_decimals params now has a default value
– P4A_Table_Rows’ onformat event now passes a 5th parameter to the interceptor
method, this param is the complete row
– P4A_DB_Navigator::setRootLabel() and getRootLabel() methods were added
– P4A_DB_Navigator::allowMovementToRoot() method now supports a 2nd param
(root element label)
– P4A_DB_Source::getRowPosition() now adds “GROUP BY” clause
– default CSS font is now “Verdana,Arial,sans-serif” to match
jQuery::UI settings

Download P4A 3.6.0
Have fun!

P4A 3.4.3 is out!


– Zend Framework was updated to 1.9.5
– jQuery::form was updated to 2.36
– tooltip javascript was enhanced to make it location aware (bug #1908495)
– setTooltip() methods were moved to P4A_Widget
– tooltip support was added to P4A_Tab_Pane
– PEAR::Net_Useragent_Detect was updated to 2.5.1
– tooltips hiding methods now have a timeout to allow clicking links inside the
tooltip itself
– new_window parameter was added to P4A_Redirect_To_File() and P4A_Redirect_To_Url()
global functions
– P4A_DB_Source::_composePkString() was fixed handling multiple primary keys
(bug #2833159)
– onautocomplete event was added, it can be used to create a custom search for
fields instead of using P4A’s default one
– P4A_DB_Source::setTable() now supports a second parameter “alias”
– P4A_DB_Source::setTableAlias() and getTableAlias() methods were added
– P4A_DB_Source::addJoin*() methods now support alias on table (see code reference)
– P4A_Table elements/page user selector was added (disabled by default)
– P4A_Table::showElementsOnPageBar() and P4A_Table::hideElementsOnPageBar() were added

Download P4A 3.4.3

P4A 3.4.2 is out!


– a bug with backslashes stripping was solved (bug #2853694)
– a typo was fixed in P4A_DB (profiler activation)
– P4A_Tab_Pane now correctly handles disabled pages
– a bug with P4A_Table’s ordering with P4A_DB_Source having a group clause was solved
– Zend Framework was updated to 1.9.4
– P4A_Thumbnail_Generator won’t generate a thumb bigger than the original image
– P4A_Data_Source::exportAsCSV() was reworked allowing field ordering and field descriptions

Download P4A 3.4.2

P4A 3.4 rocks out

It’s been a long time since 2003 when we created the first release of P4A (formerly named MerlinWork), we passed from PHP4 to PHP5, from PEAR to Zend Framework, from PEAR::DB to MDB2 to ADODB to Zend_DB, we got jQuery under our hood and with P4A 3.2 we gained a great great great stability and powerfulness.

P4A 3.4 is not an extremely giant leap, our base engines were updated (Zend Framework, jQuery, jQuery UI), we have a few new widgets (P4A_Progress_Bar and P4A_Dir_Navigator) and we got a lot a bugs fixed continuing to gain stability.

On the enterprise side we have a better Oracle support (most of all using LOBs).

On the rendering side we migrated a lot of code to jQuery UI and jQuery CSS framework, so we can relay on a stable cross browser CSS/widget framework and avoid a lot of troubles with the browser rendering.

Updating is suggested to everyone!
Enjoy our new beloved web application framework release!

Download P4A 3.4.0
Official P4A website

Complete changelog:

– 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,
– P4A_Dir_Navigator widget was added
– P4A_Widget::composeStringActions() method now uses
– 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

P4A 3.2.2 is out!


– 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)
– 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

Download P4A 3.2.2

P4A 3.2.1 released!


  • 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

Download P4A 3.2.1 now!