dbForm PHP Project

27 May 2004

Release 0.9.2

Made the following changes

  • Made it possible to remove a button AFTER the form has been processed.
  • Added parameter to removeField, removeButton and clearButtons to have some text to replace the fields or buttons with.
  • Added code to remove the select button after autoSelect or filtering.
  • If a filter doesn't have default text then it uses "Select a Filter Group".
  • Fixed formActions problem.
  • Set some default values to null.
  • Fixed some filtering problems.
  • Fixed a button processing problem.
  • Fixed some field processing problems.
  • Disabled validation during filtering.
  • Added javascript confirmation delete and any other buttons with confirmation attribute (see Demo 3).
  • Added select-display type that displays the selected value from a selet list rather than the list.

Sorry that it has been so long between dbForm updates.
I have also been a bit lax in answering forum posts, although I have got back on track in the last few weeks.
Good new though because I have been using dbForm at work in a commercial environment for several months now so you can be sure that the code is very stable.
It has only been thoroughly tested in MySQL and Oracle environments though so there may still be some issues with other database platforms.

What is the future of dbForm?
I am not certain of the future of dbForm myself for several reasons.

  1. I have wanted to change the name of the project for a while because there are actually several other projects called dbForm.
  2. I have had ideas of using dbForm as the base for a group of classes that could be used to create a CMS portal system. This would definately result in a name change.
  3. I have had issues with the templating system dbForm uses because in some situations the Perl Regular Expression library used can crash causing server errors, and of course not displaying the page.
    On Windows this may also cause the webserver software to crash when in API mode.
    Due to this I have experimented with other templating ideas and have been unable to come up with one that I am 100% happy with.
  4. I have started looking more to creating modules for existing CMS Portals rather than creating my own (which is alot of work).
So what does this mean for the future of dbForm?
For now I will continue to support the current version, but I may or may not release new versions, and if I do it may be a completely new product with a completely new templating system.

While I am not abandoning the project if there is anyone who is willing to help with development, and maybe even taking over the project please let me know.

14 Sep 2003

Release 0.9.0

Lots of changes in this release

  • Renamed all properties and methods so they follow a standard class architecture.
    i.e. private properties and methods start with _, public do not.
    This breaks backward compatibilty
    This really only affects properties as I had originally created them all with underscores, so be sure to check your code for any properties you are using and convert them correctly.
  • Tidied up code and changed all commenting to be PHPDOC compliant.
  • Include PHPDOC documentation for the project both as webpages on the website and as a windows CHM helpfile included in the download.
  • added setSequenceFunction method that allows a function to be called to return the new sequence value
  • added Filtering function that allow the search list to be filtered.
    setFilterQuery creates a filter based on a sub-query.
    setFilterGroup creates a filter based on an array of groups.
    setFilterPaging creates a filter based on a number of records per page.
  • added setActionStatusMsg which allows the status messages for individual actions to be customised.
  • added setStatusMsg which sets a hard-coded status message that is displayed reguardless of the action performed.
  • added getFormAction method which returns the current form action and allows you to code conditional changes or creatin of the form based on the action.
  • Assorted fixups to code after extensive testing at work, including testing of manually created forms.
  • Added new demonstration pages for the new functionality and did some minor redesign of the website.

I would like to thank everyone who has been using dbForm to date, I have been overwhelmed with the response I have gotten to my little project.
I would love to hear if anyone is using dbForm in a serious way so drop me a line if you are and i'll try to get a list together here on the site of any projects or products people have that use it.

08 Aug 2003

Release 0.8.2

Fixed a couple of minor problems (ok a couple of major problems)

Fixed the following

  • Fixed an insert problem
  • Fixed an autoupdate problem

03 Aug 2003

Release 0.8.1

Sorry it's been so long since updates. Made the following changes:

  • Modified Template processing so file is pre-parsed when template file is set
  • Fixed metaType processing Error
  • Changed process so single attributes such as multiple or checked are only set in fields if property is true
  • Fixed date display so that month names are LOCALE-ized
  • Fixed javascript validation code so that it would recognise attributes better in all browsers
  • Added validation for select multiple fields
  • Added _forceUpdateNull property on suggestion of Keith Powers. Property is default TRUE
  • Added code to process __sleep and __wake of class for use in serializing class.
  • Added _connType property that is checked on __wake to try to find another database connection of the same type to use
  • Changed code so that changing button titles is possible while keeping actions the same
  • Added code to process nulls properly
  • Modified processing function calls to include submitFiles ($_FILES) after the submitValues ($_POST|$_GET).
    This breaks backward compatibilty
  • Fixed minor date processing error
  • Modified update so that if it doesnt find a record it inserts one. This is needed to enable subform processing
  • Fixed error in getSelectValue so that multiple selection will work
  • Renamed parseTemplate to dbFormParseTemplate and removed code that loads sub-templates
  • added _magicQuote property used for processing quoted strings returned from a $_GET or $_POST operation.
    Initialised to get_magic_quotes_gpc() by default
  • Some general code cleanups

27 Apr 2003

Release 0.8.0

Finally a new release of dbForm. Sorry for the delay but real world has intruded for a while.

Added the following fetaures

  • Added new field type called display
  • Added support for ADODB Sequences
  • Added simple field validation (Not Null and Field Lengths)
  • Fixed pass by reference issues
  • Fixed connection validation
  • added new function processTemplate that returns the template HTML

18 Feb 2003

Maintenance Release 0.7.3

Sorry about the problems with the last release. Hopefully i got it right this time

  • Fixed all errors from version 0.7.2
  • Switched code to use conn->getOne and GetRow where appropriate
  • Fixed a problem with finding insertid for those databases that dont support conn->insertid

16 Feb 2003

Maintenance Release 0.7.2

Fixed a few errors and removed dbDate.inc

  • Now requires ADODB ver 3.11+
  • Removed dbDate class and using new date functions in ADODB 3.11+
  • Removed _dbFormatDate and _dbFormatDateTime properties
  • Added _ver property
  • Fixed queries so that they quote fields correctly
  • Changed the searchid field to dbform_searchid (requires change to some templates)

Sorry it has taken so long to get this release out but I have been preoccupied with the real world and haven't been spending much time on this.

20 Jan 2003

Maintenance Release 0.7.1

Fixed some small problems

  • Removed some debugging code
  • Fixed a problem with null dates
  • Fixed problem with selection lists retrieving not data

19 Jan 2003

Update that fixes (hopefully) date issues

The code as it was previous to this version (v0.7) was unable to process dates beyond the default 32 bit PHP date range (1970 - 2038).
Have now added some new code that will take any date from year 1 onwards.

Requires a new class dbDate.inc to be included and you will need to set some defaults

The minimum year to show in the date selection lists.
Note: this is a global variable not a property of dbForm.

The maximum year to show in the date selection lists.
Note: this is a global variable not a property of dbForm.

_dbFormatDate (Ignore - no longer used)
The PHP date format string for the dates selected from the database.
Default: 'Y-m-d'

_dbFormatDateTime (Ignore - no longer used)
The PHP date format string for the datetime/timestamps selected from the database.
Default: 'Y-m-d H:i:s'

This new code can take dates from almost any format and convert them to the correct format for the current database type.
At this time it has only been tested on MySQL but should work for all databases as long as you set _dbFormatDate/_dbFormatDateTime correctly.

The dbDateTime class could also be used seperately to handle dates inside and outside the PHP date range.

Please let me know of any problems or suggestions, either by the Project pages or via email

12 Jan 2003

Major Update

Updated the website to include demo pages.
Also have made the following updates to the code:

  • Added defaultText to selection lists
  • Added autoSelect to searchField
  • Added setButtonAttributes
  • Added setAllButtonAttributes
  • Added changeButtonType
  • Added setAllFieldsAttributes
  • Added code to incorporate image Submit buttons
The code is now more robust and stable.

Known limitations soon to be addressed:

  • No control array support
  • No radio button support
  • No proper multiple selection in select list support

I have been overwhelmed by the number of hits and downloads I have recieved in the last week and I look forward to hearing any feedback uses may have.

07 Jan 2003

Updated the website and added a HTML version of the manual.

06 Jan 2003

Added a maintenance release to fix a few errors I found today as well as adding the new feature of field Titles.
Download is available above.

05 Jan 2003

First release is how available on SourceForge. Follow the link in the download area to get the current version,

Hope to address a couple of the known issues and have a next release over the next week

04 Jan 2003

Created the SourceForge project for dbForm.
Loaded the initial code into the CVS and will release in a few days hopefully. Just need to get some documentation together to explain all of the features.
Loaded the website up as a start. Sorry that it doesn't look the best but at this time I'm more concerned with getting a release out.