May 13, 2008 - 5 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
The are a lot of things to talk about today, let’s start.
MOST IMPORTANT: SF 2008 COMMUNITY CHOICE AWARDS
Please take 1 minute to vote P4A in the “Best Tool or Utility for Developers” category (you can nominate P4A for more categories but we think that the suggested one is the right).

THE RELEASE
This is nothing more than a bugfix release, here’s the changelog:
- a bug with 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 synched
Download P4A 3.0.0-rc2
P4A WEBSITE
We took some time to work on the website and add some cools features, first of all a nice screenshot section, powered by jquery and the jcarousel and lightbox plugins.
Here you have a screenshot of the new page:

Be sure to check the new website at:
http://p4a.sourceforge.net/
In the new link bar you can find the constantly updated code reference and the link to the translation tools and everything else you will need to live in the P4A world.
P4A WIKI
The new wiki is installed and available here:
http://p4a.crealabsfoundation.org/wiki/
it’s completely empty but you can start registering and we will discuss what to publish and how to do that in the next few days.
PS: the wiki is not linked from the home page yet, we’ll wait for some contents to do that.
MISCELLANEOUS
- We’re working on the commercial license and we hope to have it ready soon
- it seems that the new jquery and jquery UI release will be out in a few days, if it will be so we’ll be happy to include it in P4A 3
- I’m sure I’m forgetting something :-)
see you soon and spread the word!!!

May 5, 2008 - 10 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
Time to release some bugfixes and prepare for the stable release, we had to cut out jQuery UI (and P4A_DB_Navigator’s drag&drop) from our roadmap ’cause it seems that jQuery UI won’t be released soon and we can’t wait anymore.
Anyway, here is the changelog:
- saveUploads() method was moved from P4A_Mask to P4A_Data_Source
- P4A_DB::quote() method’s 2nd param “autoquote” is now false by default,
solving some problems with P4A_Data_Field::getSQLValue() and getSQLNewValue()
- when P4A_DB_Source needs a quoted value now it uses P4A_DB->quote() with
autoquote turned on
- P4A_DB::quote() method, if autoquote param 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 were changed a bit solving a bug with IE6 (too fast hide)
- P4A_DB_Navigator movements were disabled (due to the unavailable jQuery UI release)
thus now all allowMovements methods trigger errors
We’ll let this release “rest” for some weeks, during this time we’ll work on the documentation and website, fixing the bugs that will eventually come out. If everything will go smoothly as I hope, we’ll simply have to sync translations and release it as 3.0.0 final.
Download P4A 3.0.0-rc1, please help us with translations and report us all the bugs you find! Thank you so much!
Apr 10, 2008 - 10 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
The test phase is going on, thus some small modifications were done on many parts of the P4A codebase.
- One important things for developer is that now all P4A_DB methods can use the “binding” feature coming with Zend Framework/PDO.
- Other improvements were achived if you run P4A on Windows servers
- FCKEditor was updated the new and shining 2.6 release and other libraries were updated too
but the most wonderful improvement is the Javascript/CSS lazy loading. We’re many heavy javascripts bundled with P4A (FCKEditor, the date picker etc…) and sometimes your app won’t use them… now every component is loaded only when needed and your applications will start and run much faster!
Anyway, let’s review the changelog:
- a bug with P4A_Field::getAsRadio() was solved (labels can be clicked now)
- P4A_Rmdir_Recursive() global function was added
- P4A_Data_Field::setSequence() method does not add the “_seq” postfix anymore
- P4A_DB::nextSequenceId() method adds the “_seq” postfix depending on the db you’re using
- SQL dump for PostgreSQL was added to products_catalogue sample
- products_catalogue’ SQL dump for MySQL was renamed to db_dump_mysql.sql
- P4A_Quote_SQL_Value() global function was removed
- P4A_DB::quote() method was added (it’s a wrapper for Zend_DB quote method)
- P4A_DB::get*(), fetch*(), query*() methods now support the binding params array
- P4A_ROOT_PATH autodetection rules were changed a bit for Windows server compatibility
- P4A_Strip_Double_Backslashes() global function was added
- P4A_UPLOADS_DIR autodetection rules were changed a bit for Windows server compatibility
- P4A_Fieldset’s label’s CSS was changed for Safari 3.1 compatibility
- P4A_Label’s CSS was changes a bit for cross-browser compatibility
- P4A_Field::getasText()’s CSS now has a default width (150px)
- a bug with P4A_I18N::mergeTranslation() method was solved
- FCKEditor was updated to 2.6
- jQuery::UI::datepicker was updated to 3.4.3
- javascript/css lazy loading was implemented, all widget depending js/css area loaded
only when loosing a lot of KB on first run
- print CSS was removed
- translations were synched
- “Loading…” message can now be translated
Now you can Download P4A 2.99.9, please help us with translations and report us all the bugs you find! Thank you so much!
PS: remember to keep your eyes on the P4A TV!
PPS: spread the word :-)
Mar 28, 2008 - 9 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
Time for a weekend bugfix preview release, there’s only one more task in our roadmap, that’s the P4A_DB_Navigator drag&grop, but we’ve to wait for jQuery UI 1.5 to be released before completing it…
Changelog for this release:
- 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 but we create a workaround for it)
- P4A_I18N::translate() methods returns an empty string if nothing is passed
- minor documentation updates were done on P4A_DB_Source
- Zend Framework was updated to 1.5.1
- P4A_Field::getAsMulticheckbox() and getAsRadio() methods now use
P4A_Generate_Widget_Layout_Table() global function to render labels and inputs
- P4A_Field::getAsDate()’s input is now “readonly”
- a bug with P4A_I18N::format() method managing dates was solved
(forcing format to YYYY-MM-dd)
Next week the new translations will be imported and released, now go ahead and Download P4A 2.99.8, please help us with translations (for the next preview I’ll sync all translations) and report us all the bugs you find! Thank you so much!
PS: remember to keep your eyes on the P4A TV!
PPS: spread the word :-)
Mar 25, 2008 - 0 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
P4A 3 is coming, we’ve only 2 tasks to complete in our roadmap!
For 2.99.7, out 8th preview release, I worked most of all on translation support to build multilanguage applications and now our products_catalogue sample has multilanguage features you should explore.
The raw changelog:
- a bug with disabled P4A_Field::getAsCheckbox() was solved
- P4A_Field::getAsRadio()’s CSS was modified a bit
- P4A_Fieldset’s legend is now auto translated on getAsString()
- P4A_Menu’s items are now auto translated on getAsString()
- P4A_Mask’s title is now auto translated on getAsString()
- P4A_Table’s headers names are now auto translated on getAsString()
- P4A_Mask’s title is now automatically generated using ucfirst() function instead of ucwords()
- P4A_I18N::mergeTranslation() method was added
- products catalogue sample application was changed for simplicity (SQL structure also)
- products catalogue sample application multilanguage support was added
- P4A:I18N::format() and normalize() methods now have a new parameter that allows coder to control
if the method should throw an exception or now (default is true)
- P4A_Fields now turns off the exception throwing parameter when calling P4A:I18N::format() or
P4A:I18N::normalize(), to avoid application break due to a wrong input
Now you can Download P4A 2.99.7, please help us with translations (for the next preview I’ll sync all translations) and report us all the bugs you find! Thank you so much!
PS: remember to keep your eyes on the P4A TV!
PPS: spread the word :-)
Mar 21, 2008 - 2 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
I’m proud to announce that the P4A screencasts channel opens today, turn on your TV or you’ll be late for the show!

The first screencast I’m publishing is about creating an hello world application, using a P4A_Button and some new system messages:

If you want to be a part of the P4A star system create your screencast and contact me, I’ll publish it on the TV :-)
Mar 18, 2008 - 0 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
We’re doing steps ahead, the P4A 3 feature set is almost complete!
In this release you’ll find that P4A is now based on Zend Framework 1.5 (released today) and a bunch of bugfixes and small modifications.
We’re releasing more and more P4A 3 based projects for our customers and we’re getting a lot of positive feedback, most of all for the speed of the full AJAX stack (as I like to call the new AJAX-only mode).
Another great news: we finally had time to work on P4A planet, which has been opened today, we already have 3 languages (english, italian and spanish) and we hope we’ll have more in the future. If you have a blog and you write about P4A just contact me! I’ll be happy to add your blog to the planet! We’re now working on the new wiki, just give us a few days to complete the work.
Going back to the release, here you have the complete changelog:
- a bug with P4A_Navigation_Bar was solved
- P4A_Fieldset’s CSS was changed a bit so it should have the exact width set by setWidth
- “disabled” property was removed from P4A_Button’s HTML ’cause it caused a rendering bug with floats
- some minor CSS modifications were done
- a bug on Internet Explorer 6 and sidebars was solved
- jQuery::iFixPNG was updated to 2.0
- “folder” and “folder_open” icons were also added in the GIF format (due the ie bug and our usage in list-style-image)
- P4A_DB_Navigator’s CSS was reworked for browser compatibility
- a bug with PostgreSQL and automatic sequence name creation was fixed
- P4A_Thumbnail_Generator::isMimeTypeSupported() method was added
- P4A_Field::getAsFile() method now calls P4A_Thumbnail_Generator::isMimeTypeSupported() before rendering the image preview
- P4A_Field::getAsFile() method now always render the “preview” button, but it will be disabled if no preview is available
- P4A_DB, P4A_Tab_Pane, P4A_Table, P4A_Data_Source and P4A_Widget
were ported to the trigger_error() function for programming errors
- P4A_Error() global function was removed because unused
- P4A now throws an exception when uploading forbidden files
- P4A_EXTENDED_ERRORS was implemented for PHP errors
- P4A_EXTENDED_ERRORS was implemented for exceptions
- Zend Framework was updated to 1.5
- P4A_I18N::setFirstDayOfTheWeek() method was ported to ZF 1.5’s Zend_Locale_Data::getList()
Now you can Download P4A 2.99.6, please help us with translations and report us all the bugs you find! Thank you so much!
Mar 13, 2008 - 2 Comments
Companies CreaLabs P4A PHP Programming languages Things I do
Another bugfix release for P4A 3, with a minor new features: the submenu indicator:


can you notice the small gray arrow on the right of the “categories” menu? This arrow will tell users that a submenu is available for that item.
Let’s go to the changelog:
- a bug with invisible P4A_Table was solved
- P4A_Quote_Javascript_String() global function was added
- P4A_Widget::requireConfirmation() method now uses P4A_Quote_Javascript_String()
- screen.css was renamed screen.css.php
- some of the images used for P4A_Table and P4A_Field were moved in a better directory organization
- P4A_Menu has a submenu indicator (a small arrow that make users aware that a submenu is present)
- jQuery::UI::datepicker was updated to 3.4
- a bug with FCKEditor’s filemanager was solved
- P4A_Button now render the “disabled=’disabled’” property if disabled
- P4A_Button now addes ‘p4a_button_disabled’ or ‘p4a_button_image_disabled’ class if disabled
- a bug with P4A_Field autocomplete was solved
- P4A_DB_Source was completely ported to the new error handlers
- multicheckbox CSS was fixed
- P4A_Field::getAsMultiselect() method now added a “size” property if none was specified
- index.php file was reworked and the new logo was added
- index.php file was renamed index.html
Now you can Download P4A 2.99.5, please help us with translations and report us all the bugs you find! Thank you so much!