MyClient History

# This program is distributed under the terms of the GNU General Public License.
# See the README & LICENSE files for more information.
# Copyright (C) 2001-2008  Kevin L. Papendick <>

##### MyClient History #####

V3.2.1 - 1/20/08
* Some dummy left a debug path in the code.

V3.2.0 (Bluefin trevally) - 1/20/08
* E_STRICT compliance changes.
* Added support to display serialized and session data.
* New language strings: RENDER_SERIAL

V3.1.4 - 6/18/07
* BUG FIX: Downloading queries or results includes interface HTML.

V3.1.3 1/27/07
* BUG FIX: Saving query results doesn't work and generates an error.
* BUG FIX: HTML entities in query window get blown away on page reload.
* BUG FIX: Added two new language strings that were previously missed.
* BUG FIX: Miscellaneous database class bug fixes.

V3.1.2 - 1/12/06
* BUG FIX: Do set_time_limit() only if safe_mode is off.
* Added Japanese language files.

V3.1.1 - 1/5/06
* BUG FIX: MySQL unable to connect!
* BUG FIX: On login failure, query window is displayed instead of returning to login screen.

V3.1.0 (Night Monkey) - 12/30/05
* Added PHP5 MySQLi support.
* Added local query loading to compliment local query saving.
* BUG FIX: Added language translations for error messages.

V3.0.2 - 7/8/05
* BUG FIX: Overly restrictive data validation preventing valid user or hostnames from logging in.

V3.0.1 - 6/3/05
* BUG FIX: Missing quote in $db_connect in config.php.dist file.
* A few documentation tweaks.

V3.0.0 (Hydra) - 6/1/05
* Version 3.0.0 (Hydra) is a complete rewrite of MyClient.  Please see the documentation
  and the development weblog for complete details on the changes in this version.

V2.5.1 - 10/28/04
* BUG FIX: Attempting to unlink session files when in safe mode causes
           "Operation not permitted" errors.  Errors should now be harmlessly
* BUG FIX: When PHP INI allow_call_time_pass_reference is disabled, an error is
           reported from the DumpResults() class instantiation.  This has been
           corrected by declaring the value as a reference in the class.

V2.5 - 04/12/04
* Added optional sort results by columns feature.  Many thanks to Stuart Langridge for this
  wonderful DHTML code:
  If you don't like JavaScript, turn it off.  I'm not a big fan of it either, but I found this
  code to be cool, clean and useful.
* Added style.css to support the new column sorting feature.
* The alternating row colors stay with the rows when you sort so you'll just have to deal with it!
* This whole project is due for a complete rewrite!  XHTML, CSS, OOP PHP, etc.  When I can
  manage to find the time, it will be so.

V2.4.3 - 03/10/04
* Describe Table function now maintains the last selected value as the active value.
* Active query window no longer displays as a hyperlink, but rather bolded fixed text.
* Integration support for phpMyDoc dropped. ( )

V2.4.2 - 01/30/04
* BUG FIX: Page generation timing failing on systems without bcmath (bcsub function) support.
  bcsub() function is now detected.  If not available, an alternate calculation method is used.
* BUG FIX: The New Query button not clearing the query window when in Interface #3.  Damn Typo!
* A new $enable_gz_output option has been added that allows you to disable GZip output compression.
* Added $gz_compression configuration option.  This sets the compression rate for the GZip page
  output compression.  The default of 6 is a reasonable compromise between speed and compression
  ratio.  On fast systems or system where your bandwidth usage is an issue, you may want to increase
  this to the maximum of 9.
* WORK AROUND: I've seen one incident of GZip page output compression failing.  This system was
  running PHP V4.3.2, but I don't know if that has anything to do with it or whether it is
  related to something else.  This problem is very obvious in that when you go to the URL where
  you installed MyClient you get nothing but a screen full of garbage characters.
  If you experience this problen, have suggestions or any insight into it, please contact me.

V2.4.1 - 08/19/03
* BUG FIX: Version ID not displaying properly in footer.
* BUG FIX: Describe Table option not working.
* Added table index display to Describe Table option if there are indexes defined on the table.
  Otherwise, the Describe Table option functions as it had previously.
* Moved page timing to new Timer class.

V2.4 - 08/11/03
* Added GZip file compression option when saving query results.
* Added automatic Gzip output compression if your browser supports compression.
* Added page generation timing.  Just because we can!
* Updated COPYING per request by FSF because GPL license was not complete.
* Added a small blurb to README referencing GPL in COPYING document.
* BUG FIX: Default $session_save_path of NULL would fail because code was not specifying
  a default directory.  The myclient_cfg.php file now specifies "/tmp/" as the default.
  The documentation has been updated to reflect this change.  It is HIGHLY RECOMMENDED for
  most installations that this value be overridden in the local configuration file.  See the
  documentation for more details.
* BUG FIX: When no tables currently exist in a database, the Describe Table list now displays
  "--- No Tables ---".  If you attempt to describe this entry it simply returns to the query window.
* BUG FIX: When leaving MyClient to go to another web site without logging out, upon returning previous
  queries were being lost.  This has been corrected so as queries return to the active window and
  alternate window queries are also retained. Note that saved queries are not executed upon return!
* BUG FIX: When switching active databases, don't allow current queries to execute immediately after
  switching databases!

V2.3 - 03/20/03
* Updated MyClient homepage URL.
* Added Save Results functionality.
* Added Dynamic switching of active database.
* Minor relocation of query option check boxes.
* DEPRECATED: Table Dump functionality now effectively available via query
              Save Results checkbox option.
* Table Dump Options changed to Dump Options in configuration file, see the
  documentation page for details.
* Changed deprecated $HTTP_POST_FILES to $_FILES as necessary.
* Added support for selection of standard or persistent database connections.
* Added numerous configuration values.  See the documentation and UPGRADE file.

V2.2 - 01/02/02
* Added optional $db_name_list to allow picklist of databases on login screen.
* Added optional $db_user_list to allow picklist of users on login screen.
* Improvements to cache control/preventions.
* Minor rework on header spacing and layout on the query window page.
* Added "Render HTML" checkbox to render/not render (default) HTML in results display.
  This checkbox selects if HTML tags in query results are replaced with entities when
  displayed.  This in turn allows HTML stored in tables to be displayed rather than rendered.
* Changed default background color to a more subdued shade of blue.
* Update user documentation to add new parameters.
* Update README file with new URL.
* Updated INSTALL file instructions.
* Created UPGRADE file with information about new configuration directives and
  the V2.1.1 local configuration file.

V2.1.3 - 10/18/02
* Deprecated session_register() functions replaced with global $_SESSION variables.
* Deprecated mysql_db_query() functions replaced with mysql_select_db() and
  mysql_query() functions.
* Reworked layout of Table Dump page.  (Still ugly, but at least consistent.)

V2.1.2 - 09/12/02
* BUG FIX: Rewrote how queries are extracted and separated from textbox string.
  This should now allow comment lines without a terminating semi-colon and also
  allow queries that contain semi-colon's in the data to pass through.
* Added wrap checkbox to wrap/nowrap results display.
* Changed default value of query window ($display_query_cols) from 110 to 90.
* Moved version number to myclient_version.php

V2.1.1 (not released)
* Added support for local configuration overriding via the myclient_cfg.local.php file.
  !!! - All configuration changes should now be made in this file instead of the main
  configuration file.  This will allow an upgrade to be performed without having to
  be concerned about saving local configuration values.
    NOTE: A myclient_cfg.local.php file is not included in the package.  Local changes
          should be made by creating this file and placing the overriding value in it.
          See the documentation and myclient_cfg.php file for details.
* Added old session garbage collection process.  The default is 8 hours.
    NOTE: You change the session time by putting a $session_timeout value in your (new) local
          configuration file.

* Added query save and query load funtionality.
* Added optional menu link to launch phpMyAdmin from MyClient
* Added optional menu link to launch phpMyDoc from MyClient
* Added copyright and MyClient homepage link to page footer.
* Updated all usage of short <? tags to long <?php tags

* Added multiple SQL Query Interface windows support.
* Added "MyClient" session name.
* Added port to login screen/DB connection.
    NOTE: You should have a $db_port_default value defined in your myclient_cfg.php file.
          If this value is not defined (NULL), the default value of 3306 will be used.
* Added a brief header above table description when the "Describe Table" function is used.
* Page header and footer moved to individual files.
* Added character set support.
    NOTE: You should have a $charset value defined in your myclient_cfg.php file.
          If this value is not defined (NULL), the default value of iso-8859-1 will be used.
* BUG FIX: Fixed underlying double semicolon termination introduced in V1.33.

V1.33 - 11/20/01
* BUG FIX: Properly handle semicolon's that are part of query and not the line
  terminating character.
    NOTE: All queries should end with a semicolon although for a single query
          you can get away without it.
* Distinguish between NULL and zero values and display appropriately.
  Previously a blank string was displayed for both of these values.

V1.32a - 10/30/01
* BUG FIX: Added local storage of session data to reduce chances of session
  hijack.  Requires $session_save_path to be set in configuration.

V1.32 - 10/29/01
* Change behavior of Describe Table function to execute only the describe,
  but save and pass any queries that currently exist in the query window.
  Previously the describe table query was being appended to the queries in the window
  and then all the queries would also run unless commented out.

V1.31b - 10/23/01
* BUG FIX: Fixed linking to new (preliminary) documentation.html
  This replaces the previous documentation.txt file.

V1.31a - 10/22/01
* BUG FIX: Fixed improper handling of failed login connection.

V1.31 - 10/17/01
* BUG FIX: DESCRIBE TABLE now saves contents of query window.
* Added displaying of host to query window & table dump headers.
* Added displaying of MySQL version to query window & table dump headers.
* Changed successful table action responses (alter, create, drop) to include "Query OK"
  statement as sometimes it returns zero (0) rows for a valid query.

V1.3 - 10/9/01
* Added multiple line query support.
* Added multiple query support.
* Added support for "#" and "--" comments.
* Added support for internal documentation link.

V1.2 - 10/5/01
* BUG FIX: Count for rows affected for INSERT, UPDATE & DELETE not displaying.
* Version & Menu info moved to
* Renamed myclient_cnf.php to myclient_cfg.php
* System related includes moved to so only user
  configuration values remain in myclient_cfg.php

V1.1 - 10/3/01
* Addition of DESCRIBE TABLE button & table listing.

V1.0 - Initial Release