| 1 | $Id: CHANGELOG,v 1.128 2004/04/01 17:39:45 hemna Exp $ | 
| 2 |  | 
| 3 | ++ Major change or new feature. | 
| 4 | +  fairly large change | 
| 5 | -  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 | 
| 118 | - pulled a small issue from FormProcessor.  $this->_message never used. | 
| 119 | - changed FormProcessor::set_render_form_after_succes() to accept a flag, | 
| 120 | instead of just setting it to TRUE always. | 
| 121 | - Added some tests in the FormContent element access methods, to help | 
| 122 | developing a form.  It traps for invalid FormElement labels. | 
| 123 | + Added FEFile FormElement from Dave Brondsema <dave at brondsema.net> | 
| 124 | + Started work on the FormWizard | 
| 125 | - cleanup of some warnings for the DataList widgets. | 
| 126 | - Fixed a problem with doing some queries in the PEARSQLDataListSource | 
| 127 | - added HTMLPageClass::set_language() as a request from | 
| 128 | Davide "Design" Muzzarelli. | 
| 129 | - fixed DefaultGUIDataList alignment blowing up. | 
| 130 | - small change to the TABLEtag::add_row method to be cleaner in how | 
| 131 | we check for TR or TD objects | 
| 132 | + Added the ability to check the status of the FormProcessor state | 
| 133 | after the constructor processes the form.  Now you can find out | 
| 134 | if the form was confirmed and action was processed successfully | 
| 135 | so you can do something besides show the form. | 
| 136 | - added the ability to find out what action was taken by the form | 
| 137 | engine with FormProcessor::get_action() | 
| 138 | + Added the ability to automagically set a character limit in the | 
| 139 | FETextArea element | 
| 140 | + Added the ability to not automatically show the errors in the | 
| 141 | FormProcessor.  This allows you to show the errors somewhere else | 
| 142 | + Added the ability to set the FormContent error table title and width | 
| 143 | to something besides the default. | 
| 144 | + Added FormContent::get_error_array() and FormProcessor::get_error_array() | 
| 145 |  | 
| 146 | ++ Changed the parameter list to FETextArea().  the rows, cols attributes | 
| 147 | for a textarea tag are required. | 
| 148 | - changed htmlentities call in HTMLTagClass to htmlspecialchars so we don't | 
| 149 | nuke unicode/multibyte chars. | 
| 150 | ++ Added FormContent::javascript() and FormElement::javascript() that | 
| 151 | 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 | 
| 153 | get wraped in a script tag and added rendered with the form. | 
| 154 | - fixed a lame error in the exmaple7.php source. | 
| 155 | - fixed a few warnings in example8.php | 
| 156 | - define the HTML_RENDER_TYPE var in SVGDocumentClass so we don't get php warnings. | 
| 157 | + Added the ability to filter rows out of the DataListSource object. | 
| 158 | just define DataListSource::row_filter() and return TRUE to allow the row or FALSE | 
| 159 | to drop the row. | 
| 160 | + Added FEYesNoListBox, and added the ability to change the yes/no values | 
| 161 | for the FEYesNoRadioGroup | 
| 162 | - don't validate FormElements that are disabled. | 
| 163 |  | 
| 164 | + added the ability in the FormContent and FormElement to have more then 1 error | 
| 165 | + added FEConfirmActionButton | 
| 166 | + added FENumber to validate an int | 
| 167 | + added FENumberInRage to validate an int in a range. | 
| 168 | + added FEHostnameWithPort to show a hostname and a Port | 
| 169 | + added FEIPAddressWithPort | 
| 170 | - 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. | 
| 172 | - removed some of the newlines from the generated output for HTMLPageClass. | 
| 173 | + Added HTMLRedirectPage | 
| 174 | - 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. | 
| 176 | - fixed some small warnings in the examples | 
| 177 | (thanks Pierre) | 
| 178 | - fixed some warnings in the DefaultGUIDataList object. | 
| 179 | + 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 | 
| 181 | do_action().  By default, it does nothing. | 
| 182 | + Added ArrayDataListSource class that pulls data out of an array | 
| 183 | + 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 | 
| 185 | automatically wrap all tag content in the CDATA wrapper. | 
| 186 |  | 
| 187 |  | 
| 188 |  | 
| 189 |  | 
| 190 |  | 
| 191 | Version 2.2.4 - April 3, 2003 | 
| 192 | - fixed a small documentation issue w/ the DataList::add_header_item() | 
| 193 | method. | 
| 194 | - pulled out missing development files in the form_elements/includes.inc | 
| 195 | D'oh. | 
| 196 | - fixed small warnings from HTMLTagClass | 
| 197 |  | 
| 198 | Version 2.2.3 - April 2, 2003 | 
| 199 | - fixed a problem with the FormContent errors table width. | 
| 200 | - fixed an error in the form1 example. | 
| 201 | - fixed an error with Form Confirmation pages with the | 
| 202 | FECheckBox Form Element. | 
| 203 | - fixed a minor problem with the TABLEtag object, and adding | 
| 204 | a BaseWidget child class.  It doesn't have a _tag member, so | 
| 205 | folks that have MAX errors on, got a warning. | 
| 206 | - Fixed a potential issue with XML attributes.  There was a chance | 
| 207 | that an XML tag's attribute could be empty, which would build | 
| 208 | an invalid XML tag.  DOCTYPE is now an HTMLTagClass child, because | 
| 209 | it needs attributes w/o values. | 
| 210 | - Changed FormProcessor to use "post" instead of "POST" so that we | 
| 211 | build valid XHTML | 
| 212 | - changed the FormElement rendering of onClick, onChange, etc. to use | 
| 213 | all lowercase, to build valid XHTML. | 
| 214 | - added HTMLPageClass::add_js_link() to replace push_js_link() | 
| 215 | - small fix in the DefuaultGUIDataList::_checkbox_javascript() to | 
| 216 | be more flexible.  Thanks Nils Droge <ndroege at haba-ag.de> | 
| 217 | - made sure the DataList object's form name is set. | 
| 218 | - let the user set the DataList form method to post or POST. | 
| 219 | - Don't do indentation on a PREtag | 
| 220 | - Added FEDataList::set_list_data() method, to allow folks to set the | 
| 221 | list of items at any time. | 
| 222 | + Some cleanup of the FormProcessor attributes, and added some | 
| 223 | easy access methods for setting/getting them. | 
| 224 | - fixed the FormContent::add_image_action() method.  Can't use onclick | 
| 225 | with a input type="image".  bogus. | 
| 226 | + Added the ability to override the FormValidation and FormErrors classes | 
| 227 | used by the FormProcessor, so folks can get their errors and text from | 
| 228 | any method.  This helps folks create their own i18n FormErrors class. | 
| 229 |  | 
| 230 | Version 2.2.2 - March 10, 2003 | 
| 231 | - Aris Basic <aris.basic at silencesoftware.com> added a new | 
| 232 | PGSQLDataListSource object, to allow folks to use the | 
| 233 | PHP built in PostgreSQL native functions for talking to | 
| 234 | a DB.  This avoids the depenancy on PEAR or ADODB. | 
| 235 | - Added the xhtml_strict_attributes array to the FORMtag | 
| 236 | declaration.  the attributes 'name' and 'target' are not | 
| 237 | allowed while in XHTML STRICT mode | 
| 238 | (thanks to Philipp Morger <morger at dolphins.ch> ) | 
| 239 | - fixed a minor issue in the DataList object that Richard Greene | 
| 240 | found. | 
| 241 | - cleaned up the old 'test' scripts in test. | 
| 242 | - made a small fix to the ADODBSQLDataListSource::count() method when | 
| 243 | 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 | 
| 245 | Thanks to Nils Droge <ndroege at haba-ag.de>. | 
| 246 | - made a small change to the DefaultGUIDataList to make the search area | 
| 247 | text be localizable. | 
| 248 | - Added support to change the encoding type for XHTML pages in the | 
| 249 | HTMLPageClass::set_encoding() method. | 
| 250 | - fixed a PHP NOTICE error output in the XMLTagClass. | 
| 251 | - fixed a problem with XML tags that have no content.  It now | 
| 252 | automatically drops the close tag. | 
| 253 | - fixed a problem with HTML tags with no content.  it no longer | 
| 254 | renders a newline after the open tag. | 
| 255 | - 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. | 
| 257 | (thanks to Philipp Morger <morger at dolphins.ch> ) | 
| 258 | - fixed a small indenting problem with XMLTagClass::render_content() | 
| 259 | - 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 | 
| 262 | with SVGXYLineGraph | 
| 263 |  | 
| 264 | Version 2.2.1 - February 21, 2003 | 
| 265 | - fixed problems with the simple search capability for the | 
| 266 | DefaultGUIDataList object. | 
| 267 | - Fixed the count problem with the ADODBDataListSource object | 
| 268 | - fixed some api calls in the examples/widget8 for form_active_radio | 
| 269 | and form_active_checkbox | 
| 270 | * Thanks to Aris "PhanLord" Basic for the heads up on the bugs. | 
| 271 |  | 
| 272 |  | 
| 273 | Version 2.2.0 - February 20, 2003 | 
| 274 | - added attributes array as the last parameter to form_select. | 
| 275 | the attributes are for the select tag. | 
| 276 | + Added the new RoundTitleTable widget.  It looks like the | 
| 277 | NavTable widget, but can contain anything. | 
| 278 | - fixed a minor issue with Container::reset_content()  It used to | 
| 279 | accept new content to automagically add.  This has been re-added. | 
| 280 | Thanks to Freddy from Germany. :) | 
| 281 | - fixed another duplicated method in SQLDataListSource.  arg. | 
| 282 | + Added the CSSContainer widget | 
| 283 | + changed all of the themed css building scripts to use the | 
| 284 | new CSSContainer widget.  This is handy for site wide | 
| 285 | themeing. | 
| 286 | - Fixed a minor php notice in XMLTagClass::prepare_flags() | 
| 287 | - Added the ability to set the overall alignment for the | 
| 288 | DefaultGUIDataList object with set_align() | 
| 289 | - added some code to the ActiveTab to enable going to a | 
| 290 | specific tab when coming from another page | 
| 291 | - Added the ability to preselect a specific tab in the ActiveTab | 
| 292 | widget by passing the selected tab's name in the constructor | 
| 293 | - fixed the count issue with the ADODBSQLDataListSource | 
| 294 | - Made the urls in the DataList object W3C happy.  & -> & | 
| 295 | - fixed potential content issues with InfoTable.  Now you can | 
| 296 | call add_row() with a TR or TD tag. | 
| 297 |  | 
| 298 | ++ MAJOR cleanup of all class member variables in ContainerClass, | 
| 299 | XMLTagClass and HTMLTagClass.  I nuked ALL of the flag variables | 
| 300 | and made them all into 1 bitmask.  13 variables -> 1.  This should | 
| 301 | keep the memory footprint to a minimum.  There should be NO | 
| 302 | compatibility issues. | 
| 303 |  | 
| 304 | ++ Added the new Form Processing classes, for easily building complex | 
| 305 | forms and automagic validation, as well as automagic confirmation. | 
| 306 |  | 
| 307 | Version 2.1.3 - November 25, 2002 | 
| 308 | - fixed a duplicated method in ActiveTab. | 
| 309 |  | 
| 310 | Version 2.1.2 - November 23, 2002 | 
| 311 | - fixed a problem with html_map(), it was returning a LEGENDtag. | 
| 312 | - added $width to ActiveTab::add_tab() so you can change the width | 
| 313 | of the tab for long titles. | 
| 314 | - Fixed my mistake with the add/push_reference() methods. | 
| 315 | According to the php spec, you have to declare the parameter | 
| 316 | as a reference in the function declaration now, which is | 
| 317 | counter-intuitive (for us C folks) | 
| 318 | - Fixed a problem with the XMLDocumentClass' add_reference() method. | 
| 319 |  | 
| 320 | Version 2.1.1 - November 12, 2002 | 
| 321 | - Suren Fixed a bad bug in HTMLPageClass::add_head_content() | 
| 322 |  | 
| 323 |  | 
| 324 | Version 2.1.0 - November 12, 2002 | 
| 325 | - Added the ActiveTab widget | 
| 326 | - fixed a problem with the DefaultGUIDataList object comparing | 
| 327 | the old style tag name of TD.  all tags are now lowercase | 
| 328 | - changed the use of id to class to prevent W3C validation errors | 
| 329 | when using a widget multiple times on a page. | 
| 330 | - added form_active_radio() and form_active_checkbox() | 
| 331 | + Did some major code cleanup in the _render_tag_* functions | 
| 332 | between the XMLTagClass and the HTMLTagClass classes.  Just had | 
| 333 | some legacy code living in the HTMLTagClass methods that was | 
| 334 | now living in the XMLTagClass methods | 
| 335 | - changed DOCTYPEtag to an XMLTag child | 
| 336 | - cleaned up the constructor for the DOCTYPEtag and XMLtag | 
| 337 | + Did some minor tweaks here and there in the base classes | 
| 338 | for performance improvements thanks to the adp profiler tool | 
| 339 | (http://pear.php.net/package-info.php?pacid=118) | 
| 340 | + Added xml_doctype() as a helper function for creating a | 
| 341 | DOCTYPE tag | 
| 342 | + added build_doctype() for the HTMLPageClass, so you can modify | 
| 343 | the DOCTYPE attributes for the document before render() is called. | 
| 344 | This is good for folks that want to tweak the link1 and link2 | 
| 345 | attributes to put mozilla/IE into standards compliant mode. | 
| 346 | SEE: | 
| 347 | http://mozilla.org/docs/web-developer/quirks/doctypes.html | 
| 348 | http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/doctype.asp | 
| 349 | + Did a major reworking of the XMLDocumentClass.  Added a lot of features | 
| 350 | to make it easier to output a valid XML document. | 
| 351 | + Added the WMLTagClass (extends XMLTagClass) as the base class for all WML tags. | 
| 352 | + Added the WMLDocumentClass widget to build and render valid WML Documents. | 
| 353 | + Added the SVGDocumentClass widget to build and render valid SVG Documents. | 
| 354 | + Made the BaseWidget a child of the Container to eliminate redunancy in | 
| 355 | the push/add methods. | 
| 356 | - added XMLSTYLESHEETtag | 
| 357 | - updated HTMLPageClass::add_head_content() to allow n params of content | 
| 358 | + Added the ADODBSQLDataListSource object, to support ADODB DB objects. | 
| 359 | - updated examples/widget6.php to show the same list of data from the DB | 
| 360 | coming from 2 different sources.  One source is a PEAR DB object, the | 
| 361 | 2nd source is from an ADODB DB Object. | 
| 362 | + Added a CSVFILEDataListSource object, to read data from a CSV formatted file. | 
| 363 | - Added the CDATAtag, which is used for escaping a tag's contents in XML, so | 
| 364 | the xml parser reading the xml doesn't parse the data. | 
| 365 | + added the full set of W3C's 1.0 recommendation of SVG (Scalable Vector | 
| 366 | Graphics) tags. | 
| 367 | + Added the svg_utils.inc which contains the helper functions for constructing | 
| 368 | commonly used SVG tags with some help from Charlie Killian. | 
| 369 |  | 
| 370 |  | 
| 371 |  | 
| 372 | Version 2.0.1 - October 18, 2002 | 
| 373 | - Fixed a problem with html_small() | 
| 374 | - got the max_rows functionality working in the DataList widget | 
| 375 |  | 
| 376 |  | 
| 377 | Version 2.0.0 - October 16, 2002 | 
| 378 | - Added the title attribute to both html_img_href() and | 
| 379 | html_img() | 
| 380 | - created a css dir to hold the css files | 
| 381 | - Added some new features to XMLDocumentClass, and brought the API | 
| 382 | up to 2.x standards (add() instead of push() ) | 
| 383 | - Added the new DataList object widget set. | 
| 384 |  | 
| 385 | Version 2.0.0-RC1 - October 2,2002 | 
| 386 | MAJOR CHANGES/FEATURES | 
| 387 | - Completely rewrote the base HTMLTagClass.  It is now | 
| 388 | based off of XMLTagClass which is a child of the | 
| 389 | Container class (formerly known as ContainerWidget ) | 
| 390 |  | 
| 391 | - Changed all push_reference() calls to require a reference to | 
| 392 | be passed in.  call time pass by reference is depricated, and | 
| 393 | is going away soon, so this had to get changed. | 
| 394 |  | 
| 395 | - Removed 2nd and 3rd parameter declarations from the | 
| 396 | HTMLTagClass constructor.  It now accepts any number | 
| 397 | of arguments.  The first argument is always an array | 
| 398 | of the tag attributes. | 
| 399 |  | 
| 400 | - Added a lot of missing html_* helper/wrapper functions. | 
| 401 | Some of which have special parameters for most commonly | 
| 402 | used features of the specific tag. | 
| 403 |  | 
| 404 | - changed html_td() parameters.  It now accepts | 
| 405 | function html_td($class="", $align="").  3rd param to | 
| 406 | n is content for the tag. | 
| 407 |  | 
| 408 | - added class as the first param to the html_div() function. | 
| 409 |  | 
| 410 | - Added add() and add_reference() calls.  These replace | 
| 411 | the old style push() and push_reference() calls. | 
| 412 | All push(), push_reference() and push_row() calls are | 
| 413 | depricated. | 
| 414 |  | 
| 415 | - Completely changed the css functionality in the widgets. | 
| 416 | The widgets now contain the css required for the widget | 
| 417 |  | 
| 418 | - HTMLPageClass automatically imports javascript and css | 
| 419 | from a widget, if it is based off of the BaseWidget class | 
| 420 |  | 
| 421 | - Added the ability to tell the PageWidget and HTMLPageClass | 
| 422 | the style of indenting of the html output you want. | 
| 423 | Nice or left justified. | 
| 424 |  | 
| 425 |  | 
| 426 | MINOR CHANGES/FEATURES | 
| 427 | - changed all tag declarations to lower case.  HTML 4.01 | 
| 428 | spec recommends using lower case tags. | 
| 429 | - Added set_class(), set_style() and set_id() for the HTMLTagClass. | 
| 430 | - Added 1st param to html_span() to be the class value. | 
| 431 | - added some new functionality to form_select() so it can | 
| 432 | handle multiple selection boxes. | 
| 433 | - Added a bunch of missing html/xhtml tags. | 
| 434 | - Added some new params to html_mailto() to support | 
| 435 | subject, body, cc | 
| 436 | - fixed newline problem with the META tag | 
| 437 | - added html_small() (Suren Markossian) | 
| 438 | - Added set_collapse() to let you collapse a tag and it's | 
| 439 | content on 1 line (no newlines or indenting) | 
| 440 | - Added html_* functions for all the supported Tag Classes. | 
| 441 | - 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. | 
| 443 | - removed SPACERtag.  its not a real tag. | 
| 444 | - cleaned out almost all the comments in the ALLTAGS.inc file | 
| 445 | for a small speed up. | 
| 446 | - Added font_utils.inc which holds various span/div tag | 
| 447 | objects with css classes for fonts, which are defeined in | 
| 448 | css/fonts.css | 
| 449 | - Added title parameter to the NavTable widget->add(), and made | 
| 450 | the target param last. | 
| 451 | - Moved the widget css files to /css | 
| 452 |  | 
| 453 |  | 
| 454 |  | 
| 455 |  | 
| 456 | Version 1.1.0 - May 7, 2002 | 
| 457 | - Removed <> symbols from the $_tag variables since it is not a part | 
| 458 | of an HTML tag. This should reduce the usage of str_replace() in | 
| 459 | render() functions and make things a little bit faster. | 
| 460 | - Added html_div_small(), which can be used instead of the | 
| 461 | spacer.gif trick. | 
| 462 | - Fixed a bug with form_radio().  Thanks (Tim Moloney) | 
| 463 | - Added container(), a ContainerWidget helper function. | 
| 464 | - Fixed a w3c validation bug with the <HR> tag.  Can't | 
| 465 | have a close tag for it.  Thanks (James Dingwall) | 
| 466 | - Fixed a problem with XHTML_STRICT no rendering the | 
| 467 | <!doctype> attributes correctly. Thanks (Ricardo Pardini) | 
| 468 | - Added HTMLPageClass::get_html_attributes() and | 
| 469 | HTMLPageClass::set_html_attributes(), which lets the user | 
| 470 | of the class get/set the specific attributes to use | 
| 471 | for the <html> tag. | 
| 472 |  | 
| 473 | NOTE: | 
| 474 | - Moved all files from .php to .inc. make sure you change | 
| 475 | you includes to reflect this change. | 
| 476 |  | 
| 477 |  | 
| 478 | Version 1.0.3 - April 8, 2002 | 
| 479 | - Fixed a potential formatting issue w/ tags that don't | 
| 480 | automatically newline after the opentag.  thanks to the | 
| 481 | Zend debugger. | 
| 482 | - Added misc_utils.php which holds new push_args() function. | 
| 483 | - set newline_after_opentag for OPTIONtag to FALSE by default. | 
| 484 | - Added target to NavTable::push(); | 
| 485 | - Changed InfoTable's css to a php file, so we can dynamically | 
| 486 | change the colors. | 
| 487 | - Made the default cellspacing 0 for InfoTable. | 
| 488 | - Fixed a small problem with NavTable widget.  If there was no | 
| 489 | subtitle, it would render an empty table for the title, | 
| 490 | causing old Mozilla's to puke. | 
| 491 | - Changed the size of the TextNav text to 10pt instead of 8pt. | 
| 492 | - Added FRAMEtag, FRAMESETtag, NOFRAMEStag classes. | 
| 493 | - Added support in HTMLPageClass widget for framesets. | 
| 494 | - Added some frame* utility functions. | 
| 495 | - Combined all of the tag_classes files into 1 file to avoid | 
| 496 | lots of repetetive includes. | 
| 497 | - Added the new ContainerWidget, which is nothing but a | 
| 498 | wrapper object that contains tags/widgets, and knows how to | 
| 499 | render the content with the appropriate indentation level. | 
| 500 | - added the feature of automatically trying to collapse a | 
| 501 | 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. | 
| 503 | - Added new html_input() wrapper function which automatically | 
| 504 | will call htmlspecialchars() on the data for the value | 
| 505 | attribute.  This helps prevent problems with | 
| 506 | <input value="foo"">   -> <input value="foo""> | 
| 507 | - Fixed a problem with the form_select() helper function. | 
| 508 | The selected item wasn't working. | 
| 509 | - Added container(), which is a helper function to build | 
| 510 | a ContainerWidget and populate it. | 
| 511 |  | 
| 512 |  | 
| 513 |  | 
| 514 | Version 1.0.2 - November 30,2001 | 
| 515 | - added 3rd parameter to the HTMLTagClass constructor.  It | 
| 516 | accepts the $newline_after_opentag setting.  This helps | 
| 517 | to keep the nice formatting on certain tags that you want | 
| 518 | to override the default behaviour. | 
| 519 |  | 
| 520 | - fixed HTMLPageClass character encoding bug.  It wasn't | 
| 521 | outputing a proper meta tag. | 
| 522 | - changed doctype for 4.0 to 4.01 | 
| 523 | - added target param for the html_a() helper function. | 
| 524 | - changed the default parameters to html_img_href, and | 
| 525 | 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 | 
| 527 | 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 | 
| 530 | "webmaster" mailto link.  I also cleaned up the formatting | 
| 531 | of it a bit as well. | 
| 532 |  | 
| 533 | - fixed source formatting issue with html_img_href() | 
| 534 | - changed html_a() to always force no newline after opentag | 
| 535 | - added $target to html_img_href() | 
| 536 | - added html_th() helper function. | 
| 537 | - Changed html_textarea.  Added a new parameter of Value | 
| 538 | so you can prepopulate the text area field with data. | 
| 539 | - Fixed a bug with InfoTable's render() method.  It wasn't | 
| 540 | properly handling the output_debug param. | 
| 541 | - Added TODO file. | 
| 542 | - Added a new feature to automatically htmlentities() for | 
| 543 | tag attribute values if we are rendering in XHTML_STRICT | 
| 544 | mode.  This prevents the w3c validator from complaining | 
| 545 | about the & char. | 
| 546 |  | 
| 547 |  | 
| 548 | Version 1.0.1 - August 25, 2001 | 
| 549 | - added html_div(), and html_td() | 
| 550 | - added html_div(), and html_td() | 
| 551 | - fixed w3c validation bug for the TextNav class. | 
| 552 | We can't put a background image in a td.  It Has | 
| 553 | to be in a css. | 
| 554 | - Fixed a <TD colspan> issue for a blank entry in the | 
| 555 | NavTable class. | 
| 556 | - reorganized html_utils.php so the functions are in | 
| 557 | alphabetical order.  Should be easier to find them | 
| 558 | as a reference. | 
| 559 | - added usemap attribute support to html_img() and | 
| 560 | html_img_href() | 
| 561 | - updated the online API docs (javadoc output) in the | 
| 562 | doc directory. | 
| 563 |  |