$Id: CHANGES,v 1.66 1999/07/10 16:21:33 sts Exp $

10-Jul-1999 negro
  - Implemented table_names() method in db_pgsql.inc

07-Jul 199 sts
  - Implemented table_names() method in db_oracle.inc,db_oci8.inc,db_mysql.inc

07-Jul-1999 kk
  - The CVS change reports have been improved to include proper
    sender information. Please do keep the CHANGES file up to
    date anyway.

22-Jun-1999 kk
  - The CVS now generates change reports to the mailing list,
    phplib-dev@lists.netuse.de.

21-Jun-1999 negro
  - Made db_pgsql honour $Auto_Free directive.
  - Some documentation updates (relating magic_quotes_gpc Apache
    directive)
      
02-Jun-1999 negro
  - Corrected textarea (oohforms) behaviour when showing default
    value (2 newlines were added every time the widget was showed).
    
18-May-1999 negro
  - modified table.inc in order to check for a non empty result set by
    checking against $db->num_rows() instead of issuing a
    $db->next_record() and then seeking back one step.

13-May-1999 sas
  - commit a patch to table.inc
    contributed by Alex Vorobiev <sasha@forum.swarthmore.edu>

30-Apr-1999 kk
  - Changes all occurences of _Poe and Poe_ to _Example and Example_,
    do make it clearer what these classes are. Changes are per
    discussion on the mailing list.

18-Apr-1999 padraic
  - Changed form function in Sql_Query class to return HTML form
    as results of function instead of sending directly via printf.

02-Apr-1999 negro
  - Added reset() to cart class

31-Mar-1999 negro
  - Added set_item($art, $num) to cart class
  - Added tot_arts() to cart class

30-Mar-1999 negro
  - Syntax error in php/db_pgsql.inc (line 80, missing double quote).

22-Mar-1999 kk
  - Extended Cart documentation.

20-Feb-1999 sas
  - Alex has added his query_mysql class
  - Added parameter $UseODBCCursor to db_odbc

06-Feb-1999 sas
  - add new parameter to form->start()
	suggested by Jesse Swensen et al
  - add null (dummy, skeleton) container

03-Feb-1999 sas
  - security updates for ct_shm.inc
  - add DBM container and documentation
    Contributed by Daniel Lashua <daniel.lashua@gte.com>
  - LDAP example files

01-Feb-1999 sas
  - finalize support for containers
  - add SQL/LDAP/SHM containers
  - update documentation

30-Jan-1999 sas
  - add support for MD5 encrypted passwords
    Contributed by Jim Zajkowski <jamesez@umich.edu>
  - commit support for seperated data storage containers

08-Jan-1999 padraic
  - added additional cache control functionality to the session object.
    see documentation under allowcache and allowcache_expire in the session
    object. by default, pages are not cached.

08-Jan-1999 kk
  - I have reworked db_mysql.inc, using some ideas from the Muze
    database abstraction (http://www.muze.nl/software/db). We have
    superior functionality and error checking, but they have a certain
    beauty (see our metadata() and nextid() to understand how our 
    heavyweight model sucks).

    Anyway: We now have
      - no more "count" field in metadata(), no more field name to field
        index projection in metadata(). metadata() result should be useable
        with table, but "count"&co break it.
      - lock() and unlock() functions.
      - a nextid() function that can produce unique sequence numbers,
        featuring locking. We need a new table for this.

    Still missing is the sas blob support.

05-Jan-1999 sas
  - A happy new year and `official' mSQL support (requires PHP 3.0.6+)

27-Dec-1998 cg
  - Added files tmpl_table.inc, db_usql.inc.
  - tmpl_table is an extension of the table class, I created
    the files new_user_alt.php3, u_row.ihmtl, u_head.ihtml, 
	u_foot.ihtml to demonstrate its purpose.
  - db_usql is an extension of the DB_Sql class with three function
    I am often using.
	import_record_var a function to import record values in global variable.
	dump_table and dump_query two helper function I use to dump a database
	in form of a php3 script to export values from one database to another.

27-Dec-1998 kk
  - Added allowcache_expires to Session, changes cache control behaviour
    as suggested by Padraic Renaghan.

21-Dec-1998 kk
  - Added http://www.shonline.de/list-archive/phplib/0755.html patch.
  - Added locking to the database abstraction in MySQL, Oracle and Postgres.
    Do not know how to do this in ODBC and Sybase - somebody help, please.
  - Changes the license from GPL to LGPL as planned.
  - Added several suggestions to the docs and Session by Lindsay Haisley.
  - Added PHPLIB + mod_php tutorial by Giancarlo Pinerolo.
  - Added Auth tutorial to documentation chapter 3.
  - Reworked some aspects of default authentication: Expiration time
    for default authentication is now 0x7fffffff.

16-Dec-1998 kk
  - Introduced the global $_PHPLIB[] hash. This is intended to hold
    generic PHPLIB runtime configuration. Currently it holds only some
    "libdir" value that is prepended to all include statements for
    some obscure configurations. I still do not know if this is a 
    Really Good Invention [tm].
  - I finally switched to base64_encode() and base64_decode() for
    the active_sessions table. This will end the magic_quotes and
    stripslashed() woes we have been experiencing. You will need
    a sufficiently new PHP interpreter (3.0.5 at least) and a
    cleaned active_sessions table to be able to install this.

24-Nov-1998 kk
  - Minor documentation fixes.

22-Nov-1998 sas
  - Added CVS Id tags to all files that did not already have them.

21-Nov-1998 sas
  - Release 6.1
  
20-Nov-1998 Carmelo
  - Autofree support added to db_odbc.inc 

14-Nov-1998 sas
  - Release 6.0
  
13-Nov-1998 sas
  - Sybase-ct support added
    (metadata contributed by Adelino Monteiro <adelino@infologia.pt>)
  - Makefile for easier distribution file creation
  - unsup directory contains some files 
    (PHP patch for mSQL 2 and sybase-ct support)

08-Nov-1998 sas
  - Allow arbitrary names for cookies/query names by setting
    $sess->cookiename (normally $sess->classname was used)
  - Allow `soft' caching of pages by setting $sess->allowcache
  - More flexible use of PostgreSQL connect() options
	
06-Nov-1998 sas
  - Updated create_database.pgsql (tested against PostgreSQL 6.3.2)
  - Updated db_odbc.inc to handle row names case insensitively

18-Oct-1998 kk
  - Documentation split and Makefile for documentation generation created.
    We no longer have html and txt documentation in the CVS do save on
    update times and do prevent further confusion around not-updated txt
    and html files.

    You must install linuxdoc sgml, if you use CVS and want accurate
    documentation. The release will ship with ready made documentation
    files.

14-Oct-1998 kk
  - Patches sent in by Andrey Nikiforov have been added.

13-Oct-1998 kk
  - Documentation update #2

06-Oct-1998 kk
  - Gone through documentation for Tree class, fixed wording and
    spelling a little. Documentation now runs through sgtml2html
    without warnings.

04-Oct-1998 kk
  - Tree class submitted by Alexander Aulbach.

04-Oct-1998
  - Junk update, merge conflicts in documentation.sgml.

27-Sep-1998
  - Stage 1 documentation update, more to follow.

26-Sep-1998
  - Introduced a split into core classes (DB_Sql, Session, Auth,
    Perm and User), extended functionality classes (Cart) and
    HTML widget classes (Table, CSV_Table, Sql_Query).

    Incompatible change: "cart" is no longer a "feature" of
    page_open(). You must manually manage "cart" instantiation
    and setup.

25-Sep-1998
  - Carmelo commited a query display class with paging
    functionality.  These classes relied on DB_Sql extensions
    which had functionality that is already present in regular
    DB_SQL in the metadata() and num_fields() functions. Thus,
    the files specific.inc and myspecific.inc have been removed.

    The files query.inc and query_impl.inc contained Table class
    functionality with additional support for paging functionality
    (do display only parts of a database query result). I added
    the paging functionality to Table and cleaned up the Table
    code. Also added an Autofree flag to DB_Sql: If set, the
    query result is automatically freed at the end of a next_record()
    query (default: unset). showoff.php3 demonstrates the paging
    capabilities of Table->show_result_page().

24-Sep-1998 kk
  - db_pgsql.inc fix: login now uses username and password.

23-Sep-1998 be
  - Implemented a first version of the default authentication code.
    Set $auth->nobody to true and you will be logged in as "nobody"
    on any auth protected page. "nobody" has no permissions at all.

    You have to call $auth->login_if($var) to force a login screen.

    Example pages are under construction and will follow shortly.

23-Sep-1998 kk
  - Moved the auto_init code into page_open(). Now the auto_init file
    is executed with a completely set up session. You still have to
    global your way out of the auto_init file...

22-Sep-1998 kk
  - Fixed a problem in Session->delete().
  - Fixed a problem with the new auth_init feature in Session.
    auto_init disabled by default in local.inc.

19-Sep-1998 kk
  - Added a new class Sql_Query. The class can generate a where clause
    for SQL Queries from user input (salvaged from DeTeCSM Seminarmanangement
    Project and generalized). Documentation is still missing.
  - Added experimental support for a "global.asa" style "global.inc" file.
    "global.inc" is being executed from within the Session class exactly
    once when the session is being set up the first time. It can register
    all persistent variables of this session; it cannot access auth, perm,
    cart or user features at all, because we are still early in session
    setup (this should be changed). You must reference $this->register,
    because $sess does not yet exist. You must global everything to get
    out of Session's context.

16-Sep-1998 kk
  - Added create_database scripts contributed by Guarneri Carmelo.
  - Subtle change in behavior of Table.
  - Changed stuff/create_database.mysql. Order is important when you define
    a compound primary key.
  - ODBC driver update by Guarneri Carmelo.
  - Changed pages/admin/new_user.php3, allows now for admin and normal
    unprivileged usage. Added pages/admin/view_sessions.php3.
  - Added $perm->perm_sel() & documentation update.
  - Switched to the new publicly accessible CVS structure, reorganized
    all files.

14-Sep-1998 kk
  - Changes and contributions from users integrated.
  - create_tables.sql delete, specialized versions for different databases
    created.

09-Sep-1998 kk                                      release-5
  - release-5 is out.

  - Documentation updates (finally!).
  - Fixed reimport_any_var() function.
  - Added halt on invalid sql in db_mysql.inc and db_pgsql.inc.
  - Fixed gc(): We are doing all time calculation in PHP now and
    changed is a varchar(14) column. This should be portable.
  - Added class CSV_Table as a subclass of table. This will export
    a query result as a comma separated list (ready for excel import
    or similar stunts).
  - Fixes to db_mysql.inc, db_pgsql.inc and db_odbc.inc:
    - new metadata function
    - new num_fields function
    - added Row instance variable
    - new seek function

08-Sep-1998 kk
  - Incorporating changes and feedback from the list:
    - gc() functions corrected: Now the classname is taken into account.
    - changed Table to use a more usefull default table_cell()
      function. Added heading attribute and changed table_row_open()
      to create headings if needed. Also fixed some bugs in calls
      to table_open() in show() and show_result(): $class was not
      propagated.
    - changed auth_users field name "perm" to "perms", because
      "perm" is a reserved word in Sybase. Changes in create_database.sql
      and in two locations in local.inc.
    - created the functions reimport_any_vars(), reimport_get_vars(),
      reimport_post_vars() and reimport_cookie_vars() to kludge
      around variable precedence problems that can easily be
      avoided by accessing track vars directly. Use of these
      functions is discouraged - write proper programs instead.
    - created a new user.inc and a new feature "user". We have now
      per user variables.
    - Discontinued any use of $PATH_INFO, using $PHP_SELF instead.
      NOTE: If you are using a version of CGI PHP with redirection
      checking enabled and your PHP interpreter refuses to execute
      pages using the "auth" feature, you have to change this
      back: Replace all occurences of $PHP_SELF with $PATH_INFO.
    - simplified index.php3 and created a new, complex showoff.php3.

18-Aug-1998 kk
  - Busy, but trying to get a release-4 out of the door. Some
    minor cleanup and removed unfinished code from the release.

03-Aug-1998 kk
  - Documentation changed to SGML/Linuxdoc. Created HTL version of
    documentation.

02-Aug-1998 kk
  - Some documentation glitches fixed.
  - Changes row handling in Table.
  - Added garbage collect to Session.

30-Jul-1998 kk
  - Added function metatdata to db_mysql.inc. The function
    does return an array describing a given table.
  - Added class Table (experimental).
  - Added class Menu (design study, not even experimental).

25-Jul-1998 kk
  - Session pages are not uncacheable, I hope.

22-Jul-1998 kk
  - Added have_perm() to class Perm,
    changed check(). Feature request
    "Andre Anneck" <anneck@tse-online.de>
  - Fixed "cookie set after header has been sent" with
    sample index.php3.

15-Jul-1998 be
  - Added auto fallback from cookie mode to
    get mode in the session class: Set mode to
    "cookie" and fallback_mode to "get" to
    see it work.

15-Jul-1998 kk
  - Added Challenge/Response authentication as 
    suggested by Stefan Powell (see local.inc for
    an example).

14-Jul-1998 be
  - Started to implement session mode "get" to complement the
    "cookie" mode. Changes in classes Session and Auth.
  - Began to fix locking to enable true shared sessions.

14-Jul-1998 kk
  - page_open() and page_close() are now used everywhere instead
    of the outdated page_behin() and page_end().
  - Early adopters report bugs; track and fix.
  - Documentation updates.

10-Jul-1998 kk
  - Initial Release in CVS
