| 4 | 
 +  fairly large change | 
 +  fairly large change | 
| 5 | 
 -  minor change | 
 -  minor change | 
| 6 | 
  | 
  | 
| 7 | 
  | 
 Version 2.4.1 - April 1, 2004 | 
| 8 | 
  | 
   + reworked the FormElement::get_element_text() method so that the | 
| 9 | 
  | 
     child class can return whatever it wants. | 
| 10 | 
  | 
   - Fixed an issue with the FEFile and not getting the value correctly | 
| 11 | 
  | 
     when in confirmation and final mode. | 
| 12 | 
  | 
   - Fixed an issue with trying to customize the FormElement required field | 
| 13 | 
  | 
     marker.  Jacek Rusin <jacek.rusin@kapsch.com.pl> | 
| 14 | 
  | 
   - fixed a validation bug with FEFile. | 
| 15 | 
  | 
   - fixed a bug with the FERadioGroup's href link on the text that caused the | 
| 16 | 
  | 
     click to result in the browser going to the top of the page. | 
| 17 | 
  | 
   - fixed a bug with the FormProcessor::_build_form_tag() not building the correct | 
| 18 | 
  | 
     onsubmit.  --walt | 
| 19 | 
  | 
   - fixed a minor bug in the DefaultGuiDataList with the action arrow | 
| 20 | 
  | 
     image paths.  (UweBaumann at onlinehome.de) | 
| 21 | 
  | 
   + Created 2 new examples:  example9.php and examples/form3.php | 
| 22 | 
  | 
   + Fixed a bug causing problems with PEAR+postgresql in the data list widget. | 
| 23 | 
  | 
     --culley | 
| 24 | 
  | 
   - Added align parameter to html_img_href() (Denny Reeh <denny.reeh at gmx.de>) | 
| 25 | 
  | 
   - Fixed a bug with the displaying of the FormElement label when the FormElement | 
| 26 | 
  | 
     had an error. | 
| 27 | 
  | 
  ++ Updated ArrayDataListSource to support searching of data.  This removed the  | 
| 28 | 
  | 
     necessity of the ArrayDataListSource::set_prequery_filter_flag() method, as | 
| 29 | 
  | 
     this is determined automatically depending on if a search was done or not. | 
| 30 | 
  | 
  ++ Added DataList::set_showall(), which automatically shows EVERY row back from the | 
| 31 | 
  | 
     DataListSource.  When this is set the DefaultGUIDataList will not show navigation. | 
| 32 | 
  | 
   - Applied a minor cleanup patch to TextCSSNav from Erich Enke <twilit77 at fastmail.fm> | 
| 33 | 
  | 
   + Applied a patch to FEFile that adds the ability to set the acceptable file types | 
| 34 | 
  | 
     and file size from culley at fastmail.fm | 
| 35 | 
  | 
   - Fixed a small issue with the right boarder of the TextCSSNav's first element. | 
| 36 | 
  | 
  ++ Added FERegEx and FormValidation::is_regex() to support a generic Regular expression | 
| 37 | 
  | 
     based FormElement from Culley Harrelson <culley at fastmail.fm> | 
| 38 | 
  | 
   + Added the ability to create a master-slave element relationship in FormElement. | 
| 39 | 
  | 
     Added an element FEListBoxMaster that uses this relationship between two listboxes. | 
| 40 | 
  | 
   - Fixed a copy & paste bug w/ TD::set_rowspan().   | 
| 41 | 
  | 
     Thanks Alfonso Cepeda Caballos <cepeda@cartuja.us.es> | 
| 42 | 
  | 
  ++ Added the ability to the DefaultGUIDataList to save checked items in a | 
| 43 | 
  | 
     checkbox action column between pages. | 
| 44 | 
  | 
  | 
| 45 | 
  | 
 Version 2.4.0 - Feb 3, 2004 | 
| 46 | 
  | 
   + Added Container::get_element() - to return the data element, so you can | 
| 47 | 
  | 
     modify it post add(); | 
| 48 | 
  | 
   + Added align attribute parameter to html_img() - Denny Reeh <denny.reeh at gmx.de> | 
| 49 | 
  | 
   + Added the ability to set a secondary orderby list for the DataListSource. | 
| 50 | 
  | 
   + Added the support for the secondary orderby list in the SQLDataListSource | 
| 51 | 
  | 
   - fixed broken css link in examples/widget9.php | 
| 52 | 
  | 
   + cleaned up the test directory, and started creating pear PHPUnit tests | 
| 53 | 
  | 
   + Added the ability to do a collapsing search title for the DefaultGuiDataList | 
| 54 | 
  | 
   - Fixed a problem with the HR tag.  It didn't have the correct flags set. | 
| 55 | 
  | 
     (thanks to Mufasa from http://www.firetiger.net/) | 
| 56 | 
  | 
   - added another fix to prevent warnings in XMLTagClass::_render_open_tag() | 
| 57 | 
  | 
     (thanks to Mufasa from http://www.firetiger.net/) | 
| 58 | 
  | 
   - added title parameter to html_area() - Denny Reeh <denny.reeh at gmx.de> | 
| 59 | 
  | 
   - added a small fix to the HTMLPageClass::add() method when adding a | 
| 60 | 
  | 
     widget that has a get_javascript() method.  This prevents a possible warning. | 
| 61 | 
  | 
   - fixed some tab selected bugs with ActiveTab | 
| 62 | 
  | 
   - added TABLEtag::set_summary() to set the summary attribute for | 
| 63 | 
  | 
     speech-synthesizing/non-visual browsers. | 
| 64 | 
  | 
   - added dtd URL for the HTMLPageClass when in HTML 4 rendering mode. | 
| 65 | 
  | 
   - added FEUnitedStates form element. | 
| 66 | 
  | 
   - added FEZipcode Form element. | 
| 67 | 
  | 
   - save the render type in the HTMLPageClass to solve potential issues. | 
| 68 | 
  | 
   - changed API for html_optgroup() to include the label as the first param. | 
| 69 | 
  | 
   - added support in form_select() to handle a 2 level deep multidimensional array | 
| 70 | 
  | 
     for the $options param.  This is usefull for optgroup support in the select tag. | 
| 71 | 
  | 
   - fixed a bug with ArrayDataListSource.  It wasn't limiting the number of rows | 
| 72 | 
  | 
     to display.  oops. | 
| 73 | 
  | 
   - fixed some problems with html_frameset(). | 
| 74 | 
  | 
   - added 3rd param to html_option to set it as selected or not. | 
| 75 | 
  | 
   - fixed an issue w/ DataList defines for sortable/not sortable and | 
| 76 | 
  | 
     case insensitive sortable (David Chatenay) | 
| 77 | 
  | 
   - added FETextArea length validation and error reporting. | 
| 78 | 
  | 
   - added InfoTable::set_show_cellborders() which sets the flag to show internal | 
| 79 | 
  | 
     cell borders or not. | 
| 80 | 
  | 
   + Added ButtonPanel object. | 
| 81 | 
  | 
   + Added DialogWidget. | 
| 82 | 
  | 
   + Added StandardDialogWidget. | 
| 83 | 
  | 
   + Added MessageBoxWidget. | 
| 84 | 
  | 
  ++ Added the ability in the PageWidget to do page level permissions checks. | 
| 85 | 
  | 
     This requires the InfoTable css definitions to be loaded in the browser window | 
| 86 | 
  | 
     when a permissions error happens. | 
| 87 | 
  | 
   + Added FormElement::set_element_name() - allow you manually set the name of | 
| 88 | 
  | 
     the form field. | 
| 89 | 
  | 
   + Added HTMLPageClass::set_favicon() to set the href and type and enable it. | 
| 90 | 
  | 
   - DataList::build_column_item() fix: 0 (integer value) is replaced by a space | 
| 91 | 
  | 
     (David Chatenay) | 
| 92 | 
  | 
   + Added the ability to disable specific items for the | 
| 93 | 
  | 
     FEDataList, FEListBox, FEMultiListBox, FECheckBoxList form elements. | 
| 94 | 
  | 
   + Added FENestedListBox | 
| 95 | 
  | 
  ++ Added support in the FormProcessor and FormContent to automatically handle | 
| 96 | 
  | 
     the special FEFile form element while managing a form that contains a | 
| 97 | 
  | 
     confirmation page (StandardFormContent w/ confirmation enabled). | 
| 98 | 
  | 
   - fixed an issue with the Copyright character in the FooterNav.  (Ivan Gostev) | 
| 99 | 
  | 
   - fixed some w3c validation errors with onClick in some widgets (Ivan Gostev) | 
| 100 | 
  | 
   + Added TDtag::set_colspan() and TDtag::set_rowspan() as helpers to | 
| 101 | 
  | 
     set_tag_attribute() | 
| 102 | 
  | 
   + Added the new FEComboListBox form element. | 
| 103 | 
  | 
   - fixed issue with ListAction old api calls. | 
| 104 | 
  | 
   - Added a new sorting type for DataList - SORTABLE_NUMERIC, that handles sorting | 
| 105 | 
  | 
     of numeric columns without using the natsort algorithm which is broken for negative | 
| 106 | 
  | 
     numbers (suren) | 
| 107 | 
  | 
  ++ Added new TabWidget and TabList widgets for supporting Tabs and their data. | 
| 108 | 
  | 
   - Fixed a potential case insensitive sorting issue w/ the SQLDataListSource | 
| 109 | 
  | 
   + Added the ability to change the default value for the flag that tells the | 
| 110 | 
  | 
     SQLDataListSource to enable case insensitive sorting. | 
| 111 | 
  | 
   + Added FormElement::set_tabindex() to set the tab index. | 
| 112 | 
  | 
   + Added FormContent::set_form_tabindex, get_form_tabindex() as a helper to the | 
| 113 | 
  | 
     FormElement::set_tabindex() method. | 
| 114 | 
  | 
   - fixed an incorrectly spelled variable name in DataListSource (hanefeldj at ee.nec.de) | 
| 115 | 
  | 
   - fixed a small js issue with the ActiveTab (mike_walsh at mentor.com | 
| 116 | 
  | 
  | 
| 117 | 
 Version 2.3.0 - July 31, 2003 | 
 Version 2.3.0 - July 31, 2003 | 
| 118 | 
   - pulled a small issue from FormProcessor.  $this->_message never used. | 
   - pulled a small issue from FormProcessor.  $this->_message never used. | 
| 119 | 
   - changed FormProcessor::set_render_form_after_succes() to accept a flag, | 
   - changed FormProcessor::set_render_form_after_succes() to accept a flag, | 
| 120 | 
     instead of just setting it to TRUE always. | 
     instead of just setting it to TRUE always. | 
| 121 | 
   - Added some tests in the FormContent element access methods, to help | 
   - Added some tests in the FormContent element access methods, to help | 
| 122 | 
     developing a form.  It traps for invalid FormElement labels. | 
     developing a form.  It traps for invalid FormElement labels. | 
| 123 | 
   + Added FEFile FormElement from Dave Brondsema <dave@brondsema.net> | 
   + Added FEFile FormElement from Dave Brondsema <dave at brondsema.net> | 
| 124 | 
   + Started work on the FormWizard | 
   + Started work on the FormWizard | 
| 125 | 
   - cleanup of some warnings for the DataList widgets. | 
   - cleanup of some warnings for the DataList widgets. | 
| 126 | 
   - Fixed a problem with doing some queries in the PEARSQLDataListSource | 
   - Fixed a problem with doing some queries in the PEARSQLDataListSource | 
| 127 | 
   - added HTMLPageClass::set_language() as a request from  | 
   - added HTMLPageClass::set_language() as a request from | 
| 128 | 
     Davide "Design" Muzzarelli. | 
     Davide "Design" Muzzarelli. | 
| 129 | 
   - fixed DefaultGUIDataList alignment blowing up. | 
   - fixed DefaultGUIDataList alignment blowing up. | 
| 130 | 
   - small change to the TABLEtag::add_row method to be cleaner in how | 
   - small change to the TABLEtag::add_row method to be cleaner in how | 
| 131 | 
     we check for TR or TD objects | 
     we check for TR or TD objects | 
| 132 | 
   + Added the ability to check the status of the FormProcessor state  | 
   + Added the ability to check the status of the FormProcessor state | 
| 133 | 
     after the constructor processes the form.  Now you can find out | 
     after the constructor processes the form.  Now you can find out | 
| 134 | 
     if the form was confirmed and action was processed successfully | 
     if the form was confirmed and action was processed successfully | 
| 135 | 
     so you can do something besides show the form. | 
     so you can do something besides show the form. | 
| 136 | 
   - added the ability to find out what action was taken by the form | 
   - added the ability to find out what action was taken by the form | 
| 137 | 
     engine with FormProcessor::get_action()  | 
     engine with FormProcessor::get_action() | 
| 138 | 
   + Added the ability to automagically set a character limit in the | 
   + Added the ability to automagically set a character limit in the | 
| 139 | 
     FETextArea element | 
     FETextArea element | 
| 140 | 
   + Added the ability to not automatically show the errors in the  | 
   + Added the ability to not automatically show the errors in the | 
| 141 | 
     FormProcessor.  This allows you to show the errors somewhere else | 
     FormProcessor.  This allows you to show the errors somewhere else | 
| 142 | 
   + Added the ability to set the FormContent error table title and width | 
   + Added the ability to set the FormContent error table title and width | 
| 143 | 
     to something besides the default. | 
     to something besides the default. | 
| 144 | 
   + Added FormContent::get_error_array() and FormProcessor::get_error_array() | 
   + Added FormContent::get_error_array() and FormProcessor::get_error_array() | 
| 145 | 
  | 
  | 
| 146 | 
  ++ Changed the parameter list to FETextArea().  the rows, cols attributes | 
  ++ Changed the parameter list to FETextArea().  the rows, cols attributes | 
| 147 | 
     for a textarea tag are required.   | 
     for a textarea tag are required. | 
| 148 | 
   - changed htmlentities call in HTMLTagClass to htmlspecialchars so we don't | 
   - changed htmlentities call in HTMLTagClass to htmlspecialchars so we don't | 
| 149 | 
     nuke unicode/multibyte chars. | 
     nuke unicode/multibyte chars. | 
| 150 | 
  ++ Added FormContent::javascript() and FormElement::javascript() that | 
  ++ Added FormContent::javascript() and FormElement::javascript() that | 
| 151 | 
     automatically get called by the FormProcessor.  This allows you to include | 
     automatically get called by the FormProcessor.  This allows you to include | 
| 152 | 
     some raw javascript into a form or a form element, and it will automatically  | 
     some raw javascript into a form or a form element, and it will automatically | 
| 153 | 
     get wraped in a script tag and added rendered with the form. | 
     get wraped in a script tag and added rendered with the form. | 
| 154 | 
   - fixed a lame error in the exmaple7.php source. | 
   - fixed a lame error in the exmaple7.php source. | 
| 155 | 
   - fixed a few warnings in example8.php | 
   - fixed a few warnings in example8.php | 
| 160 | 
   + Added FEYesNoListBox, and added the ability to change the yes/no values | 
   + Added FEYesNoListBox, and added the ability to change the yes/no values | 
| 161 | 
     for the FEYesNoRadioGroup | 
     for the FEYesNoRadioGroup | 
| 162 | 
   - don't validate FormElements that are disabled. | 
   - don't validate FormElements that are disabled. | 
| 163 | 
    | 
  | 
| 164 | 
   + added the ability in the FormContent and FormElement to have more then 1 error | 
   + added the ability in the FormContent and FormElement to have more then 1 error | 
| 165 | 
   + added FEConfirmActionButton | 
   + added FEConfirmActionButton | 
| 166 | 
   + added FENumber to validate an int | 
   + added FENumber to validate an int | 
| 168 | 
   + added FEHostnameWithPort to show a hostname and a Port | 
   + added FEHostnameWithPort to show a hostname and a Port | 
| 169 | 
   + added FEIPAddressWithPort | 
   + added FEIPAddressWithPort | 
| 170 | 
   - fixed annoying problem with the form_active_checkbox,form_active_radio and | 
   - fixed annoying problem with the form_active_checkbox,form_active_radio and | 
| 171 | 
     FECheckBoxList links causing mozilla to jump to the top of the page when clicked.     | 
     FECheckBoxList links causing mozilla to jump to the top of the page when clicked. | 
| 172 | 
   - removed some of the newlines from the generated output for HTMLPageClass. | 
   - removed some of the newlines from the generated output for HTMLPageClass. | 
| 173 | 
   + Added HTMLRedirectPage | 
   + Added HTMLRedirectPage | 
| 174 | 
   - cleaned up the use of a define for HTML_RENDER_TYPE.  It's now a global var, | 
   - cleaned up the use of a define for HTML_RENDER_TYPE.  It's now a global var, | 
| 175 | 
     so it can be changed on the fly. | 
     so it can be changed on the fly. | 
| 176 | 
   - fixed some small warnings in the examples | 
   - fixed some small warnings in the examples | 
| 177 | 
     (thanks Pierre) | 
     (thanks Pierre) | 
| 178 | 
   - fixed some warnings in the DefaultGUIDataList object.   | 
   - fixed some warnings in the DefaultGUIDataList object. | 
| 179 | 
   + Added a DataList::do_action() method that allows you to do whatever | 
   + Added a DataList::do_action() method that allows you to do whatever | 
| 180 | 
     prior to get_data_source() being called.  You can pre-massage data in | 
     prior to get_data_source() being called.  You can pre-massage data in | 
| 181 | 
     do_action().  By default, it does nothing. | 
     do_action().  By default, it does nothing. | 
| 182 | 
   + Added ArrayDataListSource class that pulls data out of an array | 
   + Added ArrayDataListSource class that pulls data out of an array | 
| 183 | 
   + Added XMLTagClass::set_cdata_flag() to toggle the CDATA wrapper flag | 
   + Added XMLTagClass::set_cdata_flag() to toggle the CDATA wrapper flag | 
| 184 | 
   + Added xml_ctag(), which is the same as xml_tag(), but sets the bit to  | 
   + Added xml_ctag(), which is the same as xml_tag(), but sets the bit to | 
| 185 | 
     automatically wrap all tag content in the CDATA wrapper. | 
     automatically wrap all tag content in the CDATA wrapper. | 
| 186 | 
    | 
  | 
| 187 | 
     | 
  | 
| 188 | 
    | 
  | 
| 189 | 
      | 
  | 
| 190 | 
  | 
  | 
| 191 | 
 Version 2.2.4 - April 3, 2003 | 
 Version 2.2.4 - April 3, 2003 | 
| 192 | 
   - fixed a small documentation issue w/ the DataList::add_header_item() | 
   - fixed a small documentation issue w/ the DataList::add_header_item() | 
| 198 | 
 Version 2.2.3 - April 2, 2003 | 
 Version 2.2.3 - April 2, 2003 | 
| 199 | 
   - fixed a problem with the FormContent errors table width. | 
   - fixed a problem with the FormContent errors table width. | 
| 200 | 
   - fixed an error in the form1 example. | 
   - fixed an error in the form1 example. | 
| 201 | 
   - fixed an error with Form Confirmation pages with the  | 
   - fixed an error with Form Confirmation pages with the | 
| 202 | 
     FECheckBox Form Element. | 
     FECheckBox Form Element. | 
| 203 | 
   - fixed a minor problem with the TABLEtag object, and adding | 
   - fixed a minor problem with the TABLEtag object, and adding | 
| 204 | 
     a BaseWidget child class.  It doesn't have a _tag member, so | 
     a BaseWidget child class.  It doesn't have a _tag member, so | 
| 212 | 
   - changed the FormElement rendering of onClick, onChange, etc. to use | 
   - changed the FormElement rendering of onClick, onChange, etc. to use | 
| 213 | 
     all lowercase, to build valid XHTML. | 
     all lowercase, to build valid XHTML. | 
| 214 | 
   - added HTMLPageClass::add_js_link() to replace push_js_link() | 
   - added HTMLPageClass::add_js_link() to replace push_js_link() | 
| 215 | 
   - small fix in the DefuaultGUIDataList::_checkbox_javascript() to  | 
   - small fix in the DefuaultGUIDataList::_checkbox_javascript() to | 
| 216 | 
     be more flexible.  Thanks Nils Droge <ndroege@haba-ag.de> | 
     be more flexible.  Thanks Nils Droge <ndroege at haba-ag.de> | 
| 217 | 
   - made sure the DataList object's form name is set. | 
   - made sure the DataList object's form name is set. | 
| 218 | 
   - let the user set the DataList form method to post or POST. | 
   - let the user set the DataList form method to post or POST. | 
| 219 | 
   - Don't do indentation on a PREtag | 
   - Don't do indentation on a PREtag | 
| 228 | 
     any method.  This helps folks create their own i18n FormErrors class. | 
     any method.  This helps folks create their own i18n FormErrors class. | 
| 229 | 
  | 
  | 
| 230 | 
 Version 2.2.2 - March 10, 2003 | 
 Version 2.2.2 - March 10, 2003 | 
| 231 | 
   - Aris Basic <aris.basic@silencesoftware.com> added a new | 
   - Aris Basic <aris.basic at silencesoftware.com> added a new | 
| 232 | 
     PGSQLDataListSource object, to allow folks to use the | 
     PGSQLDataListSource object, to allow folks to use the | 
| 233 | 
     PHP built in PostgreSQL native functions for talking to  | 
     PHP built in PostgreSQL native functions for talking to | 
| 234 | 
     a DB.  This avoids the depenancy on PEAR or ADODB.   | 
     a DB.  This avoids the depenancy on PEAR or ADODB. | 
| 235 | 
   - Added the xhtml_strict_attributes array to the FORMtag  | 
   - Added the xhtml_strict_attributes array to the FORMtag | 
| 236 | 
     declaration.  the attributes 'name' and 'target' are not | 
     declaration.  the attributes 'name' and 'target' are not | 
| 237 | 
     allowed while in XHTML STRICT mode | 
     allowed while in XHTML STRICT mode | 
| 238 | 
     (thanks to Philipp Morger <morger@dolphins.ch> ) | 
     (thanks to Philipp Morger <morger at dolphins.ch> ) | 
| 239 | 
   - fixed a minor issue in the DataList object that Richard Greene | 
   - fixed a minor issue in the DataList object that Richard Greene | 
| 240 | 
     found. | 
     found. | 
| 241 | 
   - cleaned up the old 'test' scripts in test. | 
   - cleaned up the old 'test' scripts in test. | 
| 242 | 
   - made a small fix to the ADODBSQLDataListSource::count() method when | 
   - made a small fix to the ADODBSQLDataListSource::count() method when | 
| 243 | 
     handling a DB error.  Thanks to Nils Droge <ndroege@haba-ag.de> | 
     handling a DB error.  Thanks to Nils Droge <ndroege at haba-ag.de> | 
| 244 | 
   - fixed a problem of not being able to search fo '0' in the DataList | 
   - fixed a problem of not being able to search fo '0' in the DataList | 
| 245 | 
     Thanks to Nils Droge <ndroege@haba-ag.de>. | 
     Thanks to Nils Droge <ndroege at haba-ag.de>. | 
| 246 | 
   - made a small change to the DefaultGUIDataList to make the search area | 
   - made a small change to the DefaultGUIDataList to make the search area | 
| 247 | 
     text be localizable.   | 
     text be localizable. | 
| 248 | 
   - Added support to change the encoding type for XHTML pages in the | 
   - Added support to change the encoding type for XHTML pages in the | 
| 249 | 
     HTMLPageClass::set_encoding() method. | 
     HTMLPageClass::set_encoding() method. | 
| 250 | 
   - fixed a PHP NOTICE error output in the XMLTagClass. | 
   - fixed a PHP NOTICE error output in the XMLTagClass. | 
| 254 | 
     renders a newline after the open tag. | 
     renders a newline after the open tag. | 
| 255 | 
   - fixed a the DOCTYPE tag attributes for XHTML mode.  It now gives | 
   - fixed a the DOCTYPE tag attributes for XHTML mode.  It now gives | 
| 256 | 
     the full url path to the DTD's on the W3C site. | 
     the full url path to the DTD's on the W3C site. | 
| 257 | 
     (thanks to Philipp Morger <morger@dolphins.ch> ) | 
     (thanks to Philipp Morger <morger at dolphins.ch> ) | 
| 258 | 
   - fixed a small indenting problem with XMLTagClass::render_content()   | 
   - fixed a small indenting problem with XMLTagClass::render_content() | 
| 259 | 
   - Moved the SVG, WML, XML widgets into their own dirs under widgets. | 
   - Moved the SVG, WML, XML widgets into their own dirs under widgets. | 
| 260 | 
    | 
  | 
| 261 | 
   + Added new SVG Graphing classes.  You can now graph a line graph  | 
   + Added new SVG Graphing classes.  You can now graph a line graph | 
| 262 | 
     with SVGXYLineGraph | 
     with SVGXYLineGraph | 
| 263 | 
  | 
  | 
| 264 | 
 Version 2.2.1 - February 21, 2003 | 
 Version 2.2.1 - February 21, 2003 | 
| 265 | 
   - fixed problems with the simple search capability for the  | 
   - fixed problems with the simple search capability for the | 
| 266 | 
     DefaultGUIDataList object. | 
     DefaultGUIDataList object. | 
| 267 | 
   - Fixed the count problem with the ADODBDataListSource object | 
   - Fixed the count problem with the ADODBDataListSource object | 
| 268 | 
   - fixed some api calls in the examples/widget8 for form_active_radio | 
   - fixed some api calls in the examples/widget8 for form_active_radio | 
| 269 | 
     and form_active_checkbox | 
     and form_active_checkbox | 
| 270 | 
   * Thanks to Aris "PhanLord" Basic for the heads up on the bugs. | 
   * Thanks to Aris "PhanLord" Basic for the heads up on the bugs. | 
| 271 | 
    | 
  | 
| 272 | 
  | 
  | 
| 273 | 
 Version 2.2.0 - February 20, 2003 | 
 Version 2.2.0 - February 20, 2003 | 
| 274 | 
   - added attributes array as the last parameter to form_select. | 
   - added attributes array as the last parameter to form_select. | 
| 275 | 
     the attributes are for the select tag.   | 
     the attributes are for the select tag. | 
| 276 | 
   + Added the new RoundTitleTable widget.  It looks like the | 
   + Added the new RoundTitleTable widget.  It looks like the | 
| 277 | 
     NavTable widget, but can contain anything. | 
     NavTable widget, but can contain anything. | 
| 278 | 
   - fixed a minor issue with Container::reset_content()  It used to | 
   - fixed a minor issue with Container::reset_content()  It used to | 
| 281 | 
   - fixed another duplicated method in SQLDataListSource.  arg. | 
   - fixed another duplicated method in SQLDataListSource.  arg. | 
| 282 | 
   + Added the CSSContainer widget | 
   + Added the CSSContainer widget | 
| 283 | 
   + changed all of the themed css building scripts to use the | 
   + changed all of the themed css building scripts to use the | 
| 284 | 
     new CSSContainer widget.  This is handy for site wide  | 
     new CSSContainer widget.  This is handy for site wide | 
| 285 | 
     themeing. | 
     themeing. | 
| 286 | 
   - Fixed a minor php notice in XMLTagClass::prepare_flags() | 
   - Fixed a minor php notice in XMLTagClass::prepare_flags() | 
| 287 | 
   - Added the ability to set the overall alignment for the | 
   - Added the ability to set the overall alignment for the | 
| 288 | 
     DefaultGUIDataList object with set_align() | 
     DefaultGUIDataList object with set_align() | 
| 289 | 
   - added some code to the ActiveTab to enable going to a  | 
   - added some code to the ActiveTab to enable going to a | 
| 290 | 
     specific tab when coming from another page | 
     specific tab when coming from another page | 
| 291 | 
   - Added the ability to preselect a specific tab in the ActiveTab | 
   - Added the ability to preselect a specific tab in the ActiveTab | 
| 292 | 
     widget by passing the selected tab's name in the constructor   | 
     widget by passing the selected tab's name in the constructor | 
| 293 | 
   - fixed the count issue with the ADODBSQLDataListSource | 
   - fixed the count issue with the ADODBSQLDataListSource | 
| 294 | 
   - Made the urls in the DataList object W3C happy.  & -> & | 
   - Made the urls in the DataList object W3C happy.  & -> & | 
| 295 | 
   - fixed potential content issues with InfoTable.  Now you can | 
   - fixed potential content issues with InfoTable.  Now you can | 
| 296 | 
     call add_row() with a TR or TD tag. | 
     call add_row() with a TR or TD tag. | 
| 297 | 
      | 
  | 
| 298 | 
  ++ MAJOR cleanup of all class member variables in ContainerClass, | 
  ++ MAJOR cleanup of all class member variables in ContainerClass, | 
| 299 | 
     XMLTagClass and HTMLTagClass.  I nuked ALL of the flag variables | 
     XMLTagClass and HTMLTagClass.  I nuked ALL of the flag variables | 
| 300 | 
     and made them all into 1 bitmask.  13 variables -> 1.  This should | 
     and made them all into 1 bitmask.  13 variables -> 1.  This should | 
| 301 | 
     keep the memory footprint to a minimum.  There should be NO | 
     keep the memory footprint to a minimum.  There should be NO | 
| 302 | 
     compatibility issues. | 
     compatibility issues. | 
| 303 | 
      | 
  | 
| 304 | 
  ++ Added the new Form Processing classes, for easily building complex | 
  ++ Added the new Form Processing classes, for easily building complex | 
| 305 | 
     forms and automagic validation, as well as automagic confirmation. | 
     forms and automagic validation, as well as automagic confirmation. | 
| 306 | 
  | 
  | 
| 311 | 
   - fixed a problem with html_map(), it was returning a LEGENDtag. | 
   - fixed a problem with html_map(), it was returning a LEGENDtag. | 
| 312 | 
   - added $width to ActiveTab::add_tab() so you can change the width | 
   - added $width to ActiveTab::add_tab() so you can change the width | 
| 313 | 
     of the tab for long titles. | 
     of the tab for long titles. | 
| 314 | 
   - Fixed my mistake with the add/push_reference() methods.  | 
   - Fixed my mistake with the add/push_reference() methods. | 
| 315 | 
     According to the php spec, you have to declare the parameter | 
     According to the php spec, you have to declare the parameter | 
| 316 | 
     as a reference in the function declaration now, which is  | 
     as a reference in the function declaration now, which is | 
| 317 | 
     counter-intuitive (for us C folks) | 
     counter-intuitive (for us C folks) | 
| 318 | 
   - Fixed a problem with the XMLDocumentClass' add_reference() method. | 
   - Fixed a problem with the XMLDocumentClass' add_reference() method. | 
| 319 | 
  | 
  | 
| 320 | 
 Version 2.1.1 - November 12, 2002 | 
 Version 2.1.1 - November 12, 2002 | 
| 321 | 
   - Suren Fixed a bad bug in HTMLPageClass::add_head_content() | 
   - Suren Fixed a bad bug in HTMLPageClass::add_head_content() | 
| 322 | 
    | 
  | 
| 323 | 
  | 
  | 
| 324 | 
 Version 2.1.0 - November 12, 2002 | 
 Version 2.1.0 - November 12, 2002 | 
| 325 | 
   - Added the ActiveTab widget | 
   - Added the ActiveTab widget | 
| 333 | 
     some legacy code living in the HTMLTagClass methods that was | 
     some legacy code living in the HTMLTagClass methods that was | 
| 334 | 
     now living in the XMLTagClass methods | 
     now living in the XMLTagClass methods | 
| 335 | 
   - changed DOCTYPEtag to an XMLTag child | 
   - changed DOCTYPEtag to an XMLTag child | 
| 336 | 
   - cleaned up the constructor for the DOCTYPEtag and XMLtag   | 
   - cleaned up the constructor for the DOCTYPEtag and XMLtag | 
| 337 | 
   + Did some minor tweaks here and there in the base classes | 
   + Did some minor tweaks here and there in the base classes | 
| 338 | 
     for performance improvements thanks to the adp profiler tool | 
     for performance improvements thanks to the adp profiler tool | 
| 339 | 
     (http://pear.php.net/package-info.php?pacid=118) | 
     (http://pear.php.net/package-info.php?pacid=118) | 
| 341 | 
     DOCTYPE tag | 
     DOCTYPE tag | 
| 342 | 
   + added build_doctype() for the HTMLPageClass, so you can modify | 
   + added build_doctype() for the HTMLPageClass, so you can modify | 
| 343 | 
     the DOCTYPE attributes for the document before render() is called. | 
     the DOCTYPE attributes for the document before render() is called. | 
| 344 | 
     This is good for folks that want to tweak the link1 and link2  | 
     This is good for folks that want to tweak the link1 and link2 | 
| 345 | 
     attributes to put mozilla/IE into standards compliant mode. | 
     attributes to put mozilla/IE into standards compliant mode. | 
| 346 | 
     SEE: | 
     SEE: | 
| 347 | 
      http://mozilla.org/docs/web-developer/quirks/doctypes.html | 
      http://mozilla.org/docs/web-developer/quirks/doctypes.html | 
| 366 | 
     Graphics) tags. | 
     Graphics) tags. | 
| 367 | 
   + Added the svg_utils.inc which contains the helper functions for constructing | 
   + Added the svg_utils.inc which contains the helper functions for constructing | 
| 368 | 
     commonly used SVG tags with some help from Charlie Killian. | 
     commonly used SVG tags with some help from Charlie Killian. | 
| 369 | 
      | 
  | 
| 370 | 
    | 
  | 
| 371 | 
    | 
  | 
| 372 | 
 Version 2.0.1 - October 18, 2002 | 
 Version 2.0.1 - October 18, 2002 | 
| 373 | 
   - Fixed a problem with html_small() | 
   - Fixed a problem with html_small() | 
| 374 | 
   - got the max_rows functionality working in the DataList widget | 
   - got the max_rows functionality working in the DataList widget | 
| 384 | 
  | 
  | 
| 385 | 
 Version 2.0.0-RC1 - October 2,2002 | 
 Version 2.0.0-RC1 - October 2,2002 | 
| 386 | 
   MAJOR CHANGES/FEATURES | 
   MAJOR CHANGES/FEATURES | 
| 387 | 
   - Completely rewrote the base HTMLTagClass.  It is now  | 
   - Completely rewrote the base HTMLTagClass.  It is now | 
| 388 | 
     based off of XMLTagClass which is a child of the | 
     based off of XMLTagClass which is a child of the | 
| 389 | 
     Container class (formerly known as ContainerWidget ) | 
     Container class (formerly known as ContainerWidget ) | 
| 390 | 
      | 
  | 
| 391 | 
   - Changed all push_reference() calls to require a reference to | 
   - Changed all push_reference() calls to require a reference to | 
| 392 | 
     be passed in.  call time pass by reference is depricated, and  | 
     be passed in.  call time pass by reference is depricated, and | 
| 393 | 
     is going away soon, so this had to get changed.     | 
     is going away soon, so this had to get changed. | 
| 394 | 
      | 
  | 
| 395 | 
   - Removed 2nd and 3rd parameter declarations from the | 
   - Removed 2nd and 3rd parameter declarations from the | 
| 396 | 
     HTMLTagClass constructor.  It now accepts any number | 
     HTMLTagClass constructor.  It now accepts any number | 
| 397 | 
     of arguments.  The first argument is always an array | 
     of arguments.  The first argument is always an array | 
| 398 | 
     of the tag attributes. | 
     of the tag attributes. | 
| 399 | 
      | 
  | 
| 400 | 
   - Added a lot of missing html_* helper/wrapper functions. | 
   - Added a lot of missing html_* helper/wrapper functions. | 
| 401 | 
     Some of which have special parameters for most commonly | 
     Some of which have special parameters for most commonly | 
| 402 | 
     used features of the specific tag. | 
     used features of the specific tag. | 
| 403 | 
      | 
  | 
| 404 | 
   - changed html_td() parameters.  It now accepts  | 
   - changed html_td() parameters.  It now accepts | 
| 405 | 
     function html_td($class="", $align="").  3rd param to | 
     function html_td($class="", $align="").  3rd param to | 
| 406 | 
     n is content for the tag. | 
     n is content for the tag. | 
| 407 | 
  | 
  | 
| 408 | 
   - added class as the first param to the html_div() function. | 
   - added class as the first param to the html_div() function. | 
| 409 | 
      | 
  | 
| 410 | 
   - Added add() and add_reference() calls.  These replace | 
   - Added add() and add_reference() calls.  These replace | 
| 411 | 
     the old style push() and push_reference() calls. | 
     the old style push() and push_reference() calls. | 
| 412 | 
     All push(), push_reference() and push_row() calls are | 
     All push(), push_reference() and push_row() calls are | 
| 413 | 
     depricated.     | 
     depricated. | 
| 414 | 
    | 
  | 
| 415 | 
   - Completely changed the css functionality in the widgets. | 
   - Completely changed the css functionality in the widgets. | 
| 416 | 
     The widgets now contain the css required for the widget | 
     The widgets now contain the css required for the widget | 
| 417 | 
  | 
  | 
| 419 | 
     from a widget, if it is based off of the BaseWidget class | 
     from a widget, if it is based off of the BaseWidget class | 
| 420 | 
  | 
  | 
| 421 | 
   - Added the ability to tell the PageWidget and HTMLPageClass | 
   - Added the ability to tell the PageWidget and HTMLPageClass | 
| 422 | 
     the style of indenting of the html output you want.   | 
     the style of indenting of the html output you want. | 
| 423 | 
     Nice or left justified. | 
     Nice or left justified. | 
| 424 | 
     | 
  | 
| 425 | 
   | 
  | 
| 426 | 
  MINOR CHANGES/FEATURES | 
  MINOR CHANGES/FEATURES | 
| 427 | 
   - changed all tag declarations to lower case.  HTML 4.01 | 
   - changed all tag declarations to lower case.  HTML 4.01 | 
| 428 | 
     spec recommends using lower case tags. | 
     spec recommends using lower case tags. | 
| 440 | 
   - Added html_* functions for all the supported Tag Classes. | 
   - Added html_* functions for all the supported Tag Classes. | 
| 441 | 
   - removed the html_nobr(), since this really isn't a valid | 
   - removed the html_nobr(), since this really isn't a valid | 
| 442 | 
     w3c tag. If you HAVE to use it...don't.  It's DEPRICATED. | 
     w3c tag. If you HAVE to use it...don't.  It's DEPRICATED. | 
| 443 | 
   - removed SPACERtag.  its not a real tag.   | 
   - removed SPACERtag.  its not a real tag. | 
| 444 | 
   - cleaned out almost all the comments in the ALLTAGS.inc file | 
   - cleaned out almost all the comments in the ALLTAGS.inc file | 
| 445 | 
     for a small speed up. | 
     for a small speed up. | 
| 446 | 
   - Added font_utils.inc which holds various span/div tag | 
   - Added font_utils.inc which holds various span/div tag | 
| 447 | 
     objects with css classes for fonts, which are defeined in | 
     objects with css classes for fonts, which are defeined in | 
| 448 | 
     css/fonts.css     | 
     css/fonts.css | 
| 449 | 
   - Added title parameter to the NavTable widget->add(), and made | 
   - Added title parameter to the NavTable widget->add(), and made | 
| 450 | 
     the target param last. | 
     the target param last. | 
| 451 | 
   - Moved the widget css files to /css | 
   - Moved the widget css files to /css | 
| 452 | 
    | 
  | 
| 453 | 
        | 
  | 
| 454 | 
      | 
  | 
| 455 | 
  | 
  | 
| 456 | 
 Version 1.1.0 - May 7, 2002 | 
 Version 1.1.0 - May 7, 2002 | 
| 457 | 
   - Removed <> symbols from the $_tag variables since it is not a part | 
   - Removed <> symbols from the $_tag variables since it is not a part | 
| 469 | 
     HTMLPageClass::set_html_attributes(), which lets the user | 
     HTMLPageClass::set_html_attributes(), which lets the user | 
| 470 | 
     of the class get/set the specific attributes to use | 
     of the class get/set the specific attributes to use | 
| 471 | 
     for the <html> tag. | 
     for the <html> tag. | 
| 472 | 
      | 
  | 
| 473 | 
     NOTE: | 
     NOTE: | 
| 474 | 
   - Moved all files from .php to .inc. make sure you change | 
   - Moved all files from .php to .inc. make sure you change | 
| 475 | 
     you includes to reflect this change.   | 
     you includes to reflect this change. | 
| 476 | 
  | 
  | 
| 477 | 
  | 
  | 
| 478 | 
 Version 1.0.3 - April 8, 2002 | 
 Version 1.0.3 - April 8, 2002 | 
| 479 | 
   - Fixed a potential formatting issue w/ tags that don't  | 
   - Fixed a potential formatting issue w/ tags that don't | 
| 480 | 
     automatically newline after the opentag.  thanks to the  | 
     automatically newline after the opentag.  thanks to the | 
| 481 | 
     Zend debugger. | 
     Zend debugger. | 
| 482 | 
   - Added misc_utils.php which holds new push_args() function. | 
   - Added misc_utils.php which holds new push_args() function. | 
| 483 | 
   - set newline_after_opentag for OPTIONtag to FALSE by default. | 
   - set newline_after_opentag for OPTIONtag to FALSE by default. | 
| 488 | 
   - Fixed a small problem with NavTable widget.  If there was no | 
   - Fixed a small problem with NavTable widget.  If there was no | 
| 489 | 
     subtitle, it would render an empty table for the title, | 
     subtitle, it would render an empty table for the title, | 
| 490 | 
     causing old Mozilla's to puke. | 
     causing old Mozilla's to puke. | 
| 491 | 
   - Changed the size of the TextNav text to 10pt instead of 8pt.  | 
   - Changed the size of the TextNav text to 10pt instead of 8pt. | 
| 492 | 
   - Added FRAMEtag, FRAMESETtag, NOFRAMEStag classes. | 
   - Added FRAMEtag, FRAMESETtag, NOFRAMEStag classes. | 
| 493 | 
   - Added support in HTMLPageClass widget for framesets. | 
   - Added support in HTMLPageClass widget for framesets. | 
| 494 | 
   - Added some frame* utility functions. | 
   - Added some frame* utility functions. | 
| 495 | 
   - Combined all of the tag_classes files into 1 file to avoid | 
   - Combined all of the tag_classes files into 1 file to avoid | 
| 496 | 
     lots of repetetive includes. | 
     lots of repetetive includes. | 
| 497 | 
   - Added the new ContainerWidget, which is nothing but a  | 
   - Added the new ContainerWidget, which is nothing but a | 
| 498 | 
     wrapper object that contains tags/widgets, and knows how to | 
     wrapper object that contains tags/widgets, and knows how to | 
| 499 | 
     render the content with the appropriate indentation level. | 
     render the content with the appropriate indentation level. | 
| 500 | 
   - added the feature of automatically trying to collapse a  | 
   - added the feature of automatically trying to collapse a | 
| 501 | 
     tag and its content to 1 line.  This happens if a tag | 
     tag and its content to 1 line.  This happens if a tag | 
| 502 | 
     only has 1 content entry and its a string w/o a \n in it. | 
     only has 1 content entry and its a string w/o a \n in it. | 
| 503 | 
   - Added new html_input() wrapper function which automatically | 
   - Added new html_input() wrapper function which automatically | 
| 504 | 
     will call htmlspecialchars() on the data for the value  | 
     will call htmlspecialchars() on the data for the value | 
| 505 | 
     attribute.  This helps prevent problems with  | 
     attribute.  This helps prevent problems with | 
| 506 | 
     <input value="foo"">   -> <input value="foo""> | 
     <input value="foo"">   -> <input value="foo""> | 
| 507 | 
   - Fixed a problem with the form_select() helper function.  | 
   - Fixed a problem with the form_select() helper function. | 
| 508 | 
     The selected item wasn't working. | 
     The selected item wasn't working. | 
| 509 | 
   - Added container(), which is a helper function to build | 
   - Added container(), which is a helper function to build | 
| 510 | 
     a ContainerWidget and populate it. | 
     a ContainerWidget and populate it. | 
| 523 | 
   - added target param for the html_a() helper function. | 
   - added target param for the html_a() helper function. | 
| 524 | 
   - changed the default parameters to html_img_href, and | 
   - changed the default parameters to html_img_href, and | 
| 525 | 
     html_img.  We were forcing the width and height of an image | 
     html_img.  We were forcing the width and height of an image | 
| 526 | 
     to 1x1 if nothing was passed in.  We now don't add them to  | 
     to 1x1 if nothing was passed in.  We now don't add them to | 
| 527 | 
     the tags if they aren't set, which is the desired result. | 
     the tags if they aren't set, which is the desired result. | 
| 528 | 
  | 
  | 
| 529 | 
   - Changed the FooterNav class to add the ability to show a | 
   - Changed the FooterNav class to add the ability to show a | 
| 541 | 
   - Added TODO file. | 
   - Added TODO file. | 
| 542 | 
   - Added a new feature to automatically htmlentities() for | 
   - Added a new feature to automatically htmlentities() for | 
| 543 | 
     tag attribute values if we are rendering in XHTML_STRICT | 
     tag attribute values if we are rendering in XHTML_STRICT | 
| 544 | 
     mode.  This prevents the w3c validator from complaining  | 
     mode.  This prevents the w3c validator from complaining | 
| 545 | 
     about the & char. | 
     about the & char. | 
| 546 | 
  | 
  | 
| 547 | 
  | 
  | 
| 548 | 
 Version 1.0.1 - August 25, 2001 | 
 Version 1.0.1 - August 25, 2001 | 
| 549 | 
   - added html_div(), and html_td() | 
   - added html_div(), and html_td() | 
| 550 | 
   - added html_div(), and html_td() | 
   - added html_div(), and html_td() | 
| 551 | 
   - fixed w3c validation bug for the TextNav class.   | 
   - fixed w3c validation bug for the TextNav class. | 
| 552 | 
     We can't put a background image in a td.  It Has | 
     We can't put a background image in a td.  It Has | 
| 553 | 
     to be in a css. | 
     to be in a css. | 
| 554 | 
   - Fixed a <TD colspan> issue for a blank entry in the  | 
   - Fixed a <TD colspan> issue for a blank entry in the | 
| 555 | 
     NavTable class.      | 
     NavTable class. | 
| 556 | 
   - reorganized html_utils.php so the functions are in | 
   - reorganized html_utils.php so the functions are in | 
| 557 | 
     alphabetical order.  Should be easier to find them | 
     alphabetical order.  Should be easier to find them | 
| 558 | 
     as a reference.     | 
     as a reference. | 
| 559 | 
   - added usemap attribute support to html_img() and | 
   - added usemap attribute support to html_img() and | 
| 560 | 
     html_img_href() | 
     html_img_href() | 
| 561 | 
   - updated the online API docs (javadoc output) in the | 
   - updated the online API docs (javadoc output) in the | 
| 562 | 
     doc directory.   | 
     doc directory. | 
| 563 | 
    | 
  |