head	1.3;
access;
symbols
	HORDE_1_2_7:1.2.2.9
	HORDE_1_2_6:1.2.2.9
	HORDE_1_2_5:1.2.2.9
	HORDE_1_2_4:1.2.2.9
	HORDE_1_2_3:1.2.2.9
	HORDE_1_2_2:1.2.2.8
	HORDE_1_2_1:1.2.2.8
	HORDE_1_2_0:1.2.2.8
	HORDE_1_2_0_pre14:1.2.2.8
	HORDE_1_2_0_pre13:1.2.2.8
	HORDE_1_2_0_pre11:1.2.2.3
	HORDE_1_2_0_pre10:1.2.2.3
	HORDE_1_2_0_pre9:1.2.2.2
	HORDE_1_2_0_pre8:1.2.2.2
	HORDE_1_2_0_pre6:1.2.2.2
	HORDE_1_2_0_pre5:1.2
	HORDE_1_2_0_pre4:1.2
	HORDE_1_2_0_pre3:1.2
	HORDE_1_2_0_pre2:1.2
	HORDE_1_2_0_pre1:1.2
	STABLE_1_2__1_2_0_pre1:1.2
	horde__1_2_0_pre1:1.2
	STABLE_1_2:1.2.0.2;
locks; strict;
comment	@# @;


1.3
date	99.09.10.10.18.42;	author rkrusty;	state dead;
branches;
next	1.2;

1.2
date	99.07.21.07.34.01;	author jon;	state Exp;
branches
	1.2.2.1;
next	1.1;

1.1
date	99.07.05.19.09.39;	author jon;	state Exp;
branches;
next	;

1.2.2.1
date	99.12.28.01.07.26;	author jon;	state Exp;
branches;
next	1.2.2.2;

1.2.2.2
date	2000.01.07.01.03.57;	author jon;	state Exp;
branches;
next	1.2.2.3;

1.2.2.3
date	2000.01.27.16.20.28;	author jon;	state Exp;
branches;
next	1.2.2.4;

1.2.2.4
date	2000.04.09.21.52.46;	author chuck;	state Exp;
branches;
next	1.2.2.5;

1.2.2.5
date	2000.04.09.23.30.26;	author jon;	state Exp;
branches;
next	1.2.2.6;

1.2.2.6
date	2000.05.12.22.13.19;	author bjn;	state Exp;
branches;
next	1.2.2.7;

1.2.2.7
date	2000.05.22.21.33.37;	author chuck;	state Exp;
branches;
next	1.2.2.8;

1.2.2.8
date	2000.06.21.22.31.02;	author bjn;	state Exp;
branches;
next	1.2.2.9;

1.2.2.9
date	2000.09.19.14.53.12;	author bjn;	state Exp;
branches;
next	;


desc
@@


1.3
log
@[IEM] removing this readme since I moved it into the docs/ subdir
@
text
@Horde-specific Notes for PHPLIB                                phplib/README
=--------------------------------------------------------------------------=

Obtaining PHPLIB
~~~~~~~~~~~~~~~~
phplib can be obtained from http://phplib.de/


Installing PHPLIB
~~~~~~~~~~~~~~~~~
Install it as per the phplib documentation.


Using Multiple Databases
~~~~~~~~~~~~~~~~~~~~~~~~
There are some known issues when using multiple databases with
phplib.  These stem from the logic behind PHP's pconnect database
connection method.  Persistant connections are generally a valuable
performance improvement over settings up and tearing down a new
connection on every page load, but the implementation can be
somewhat deceiving.

PHP's pconnect methods first attempt to establish whether a
database handle already exists for a given host, username, and
password combination.  If it does, that connection handle will be
re-used, saving the effort of establishing a new connection.

If you have multiple databases and use the same username and
password combination to connect to them, PHP just returns the same
physicial connection to each.

The real problem is introduced when phplib goes to query or update
the auth_sessions table in which it caches the current session
data.  If, somewhere in the course of the page load, the database
connection handle is redirected to another database (to retrieve
user preferences, for example), phplib will _not_ automatically
switch the current database back to the one containing the sessions
table.  The query will thus fail.

To illustrate the problem more visually:

a)	Connect to database 'horde' with username 'horde' and password 'pass'.
b)	phplib updates session information in table 'auth_sessions'.
c)	Connect to database 'imp' with username 'horde' and password 'pass'.
	PHP returns the same persistant handle established in a).
d)	User preferences are retrieved from table 'imp_prefs' in database 'imp'.
e)	A new page is loaded.
f)	The same connection handle is re-used, except it's pointing to
	database 'imp' now.
g)	phplib attempts to update the session information in 'auth_sessions',
	but fails because no 'auth_sessions' table exists in database 'imp'.

There are two possible solutions should you still want to use
multiple databases:

1)	Store session information elsewhere other than the SQL database used
	by the application.
2)	Use a different username and password for each database.

The easiest solution of all is to simple keep all of the tables in
the same database, but we realize there may be cases where you'd
like to do otherwise.  You should thus be aware of the problems
that may arise, hence the reason for this section of documentation.

$Id: README,v 1.2 1999/07/21 07:34:01 jon Exp $
@


1.2
log
@
jon: updated the phplib readme quite a bit to include information
     on using multiple database.  someone still needs to document
     the actually installation steps required to set up phplib for
     use with Horde.
@
text
@d65 1
a65 1
$Id: $
@


1.2.2.1
log
@Adding rather thorough documentation on setting up phplib for use with
Horde.
@
text
@a3 4
$Author: rkrusty $
$Revision: 2.1.2.4 $
$Date: 1999/08/27 11:33:03 $

d6 1
a6 1
phplib can be obtained from http://phplib.netuse.de/
d11 1
a11 34
The phplib documentation is very concise.  Please read it before asking
any phplib-related questions on the Horde mailing lists.  Support for phplib
itself should be directed at the phplib mailing lists outlined at:

    http://phplib.netuse.de/support/

With that said, installing phplib for use with Horde and its associated
modules is rather straightforward.

1)  Obtain the phplib archive.  Information on the latest Horde-supported
    version of phplib can be found at http://horde.org/phplib/.  Uncompress
    the phplib distribution archive in some temporary location.

2)  Copy the entire php/ subdirectory from the phplib distribution to a
    permanent location (eg. /usr/local/apache/php).  This directory does not
    need to live under your web server's document root, so it's probably
    safer to put it somewhere outside the reaches of lurking web clients.

3)  Edit your php3.ini file.  If you don't have one, a sample is included in
    the php distribution.  The default location for this file is in /usr/lib,
    but that may have been overridden at compile time.  Check with whomever
    installed php to verify the correct location.

    Note: Under php version 4, this file has been renamed php.ini.

    Make the following changes:

        include_path '.:/usr/local/apache/php'
        auto_prepend_file /usr/local/apache/php/prepend.php3
        magic_quotes_gpc off    

    The first directive  (include_path) tells php to look in the following
    list of paths when including files that don't have absolute paths.  The
    list is comma-deliminated.
a12 38
    The second directive (auto_prepend_file) tells php to automatically
    prepend the contents of phplib's prepend.php3 to each file.  phplib
    requires certain classes included by the file to be available on every
    page.

    The third directive (magic_quotes_gpc) turns off magic quotes.  See
    http://www.php.net/manual/html/configuration.html#INI.MAGIC-QUOTES-GPC
    for more information on magic quotes and php.

    If you're running php as a module (as opposed to a cgi binary), you'll
    need to restart your web server for these changes to take effect.

4)  Copy horde/phplib/*.ihtml to /usr/local/apache/php/.

5)  Copy horde/phplib/horde_phplib.inc to /usr/local/apache/php/local.inc.

6)  Edit the local.inc file.  It contains your local phplib settings that
    will define the behavior of phplib.  Think of it as your phplib
    configuration file.

    The file should have a bunch of classes defined (and most of them will
    be commented out).  You'll need to select the type of storage container
    to use to hold session information.  Follow the comments in the file to
    determine which section you'll want to uncomment.

7)  Once you've chosen your phplib storage container, you'll need to set it
    up to handle phplib sessions.  For example, if you chose to use an sql
    database, you'll need to add the appropriate tables as well as create a
    database user account (not a system account) with which to access the
    database.

    Unfortunately, there are too many details to outline here (such as how
    to configure your chosen database server or how to set up shared
    memory).  The phplib documentation covers this rather thoroughly, so
    please consult that before asking questions.

Once the phplib session storage is configured, you should be in good shape
to proceed with the Horde installation.
d64 2
@


1.2.2.2
log
@Point the phplib url to the downloads page.
@
text
@d4 3
a6 3
$Author: jon $
$Revision: 1.2.2.1 $
$Date: 1999/12/28 01:07:26 $
d10 1
a10 1
phplib can be obtained from http://phplib.netuse.de/download/
@


1.2.2.3
log
@Adding a note about supported phplib versions.
@
text
@d5 2
a6 2
$Revision: 1.2.2.2 $
$Date: 2000/01/07 01:03:57 $
a11 5
Supported Versions
~~~~~~~~~~~~~~~~~~
The only supported versions of phplib as of this writing are phplib version
7.0 and phplib version 7.3.  Version 7.2 has some serious issues and should
not be used.
@


1.2.2.4
log
@Update the phplib documentation for our new internal distribution. This
removes a number of steps, and should simplify things - especially versions.

This should be correct, but it could really use a decent editor to look it
over.
@
text
@d5 2
a6 2
$Revision: 1.2.2.3 $
$Date: 2000/01/27 16:20:28 $
d14 3
a16 5
We now distribute our own version of phplib inside Horde 1.2. This version
includes several fixes not part of the main phplib distribution and is known
to work correctly. If you have an existing phplib installation, then it must
be either 7.0 (which has problems with characters such as '$' in usernames,
but otherwise works), or 7.3-dev, and possibly 7.2b.
a19 6
I will assume in this document that you are installing PHPLIB with Horde,
and are using the version included with Horde. If you already have phplib
installed, the information here should enable you to get it running with
Horde fairly easily.

However, the following still applies:
d29 6
a34 2
1)  Copy the entire phplib/ subdirectory from the horde distribution to a
    permanent location (eg. /usr/local/apache/php). This directory does not
d38 3
a40 3
2)  Edit your php3.ini file. If you don't have one, a sample is included in
    the php distribution. The default location for this file is in /usr/lib,
    but that may have been overridden at compile time. Check with whomever
d42 1
a42 1
    
d44 1
a44 1
    
d46 1
a46 1
    
d49 4
a52 4
        magic_quotes_gpc off
    
    The first directive (include_path) tells php to look in the following
    list of paths when including files that don't have absolute paths. The
d54 1
a54 1
    
d56 1
a56 1
    prepend the contents of phplib's prepend.php3 to each file. phplib
d59 1
a59 1
    
d63 1
a63 1
    
d66 6
a71 2
    
3)  Edit the local.inc file.  It contains your local phplib settings that
d80 1
a80 1
4)  Once you've chosen your phplib storage container, you'll need to set it
d84 2
a85 4
    database. There are scripts to add the necessary tables (as well as the
    database tables for IMP) in horde/scripts/database/. Also in this
    directory are database-specific readme files.
    
d88 1
a88 1
    memory). The phplib documentation covers this rather thoroughly, so
@


1.2.2.5
log
@Cleaning up the wording at bit so there's less change of confusion.
@
text
@d4 3
a6 3
$Author: chuck $
$Revision: 1.2.2.4 $
$Date: 2000/04/09 21:52:46 $
d10 1
a10 2
phplib can officially be obtained from http://phplib.netuse.de/download/.
You do not need the official release of phplib to use Horde.  Read on.
d14 5
a18 6
We now distribute our own version of phplib with Horde 1.2.  This version
includes several fixes that are not part of the main phplib distribution and
are known to work correctly with Horde.  If you have an existing phplib
installation, it must be either version 7.0 (which has problems with
characters such as '$' in usernames and passwords, but otherwise works), or
version 7.3-dev (and possibly 7.2b).
d22 9
a30 11
This document assumes that you are installing phplib with Horde, and that
you are using the version of phplib included with Horde.  If you already
have phplib installed, the information here should enable you to get it
running with Horde fairly easily.

However, note that the following still applies:

    The phplib documentation is very concise.  Please read it before
    asking any phplib-related questions on the Horde mailing lists.
    Support for phplib itself should be obtained from the phplib mailing
    lists outlined at:
d32 1
a32 1
        http://phplib.netuse.de/support/
d37 2
a38 2
1)  Copy the entire phplib/ subdirectory from the Horde distribution to a
    permanent location (eg. /usr/local/apache/php).  This directory does not
d42 3
a44 3
2)  Edit your php3.ini file.  If you don't have one, a sample is included in
    the php distribution.  The default location for this file is in /usr/lib,
    but that may have been overridden at compile time.  Check with whomever
d60 1
a60 1
    prepend the contents of phplib's prepend.php3 to each file.  phplib
d84 2
a85 2
    database.  There are scripts to add the necessary tables (as well as the
    database tables for IMP) in horde/scripts/database/.  Also in this
d90 1
a90 1
    memory).  The phplib documentation covers this rather thoroughly, so
@


1.2.2.6
log
@Pointer to the section "Using Apache's config files to handle phplib
prepends" in horde/docs/INSTALL, as an alternative to editing php3.ini
@
text
@d4 3
a6 3
$Author: jon $
$Revision: 1.2.2.5 $
$Date: 2000/04/09 23:30:26 $
d46 1
a46 5
2)  (Note:  step 2 can also be done by adding directives to Apache's
    httpd.conf file; for details, see the horde/docs/INSTALL section
    "Using Apache's config files to handle phplib prepends".)
    
    Edit your php3.ini file.  If you don't have one, a sample is included in
@


1.2.2.7
log
@one more horde -> hordemgr fix, and adding urls for patches to the install
docs.
@
text
@d4 3
a6 3
$Author: bjn $
$Revision: 1.2.2.6 $
$Date: 2000/05/12 22:13:19 $
a60 1
	track_vars on
@


1.2.2.8
log
@The defaults in prepend.php3 only work for MySQL; all others (e.g.,
PostgreSQL) need to edit that file.

Submitted by: Michael Bull <mbull@@uoguelph.ca>
@
text
@d4 3
a6 3
$Author: chuck $
$Revision: 1.2.2.7 $
$Date: 2000/05/22 21:33:37 $
d89 1
a89 6
4)  Edit the prepend.php3 file.  You need to specify the proper db_*.inc
    and ct_*.inc files that match the storage container you chose in
    step 3.  For example, for PostgreSQL, set these to "db_pgsql.inc"
    and "ct_sql.inc".

5)  Once you've chosen your phplib storage container, you'll need to set it
@


1.2.2.9
log
@IfModule logic to support both PHP3 and PHP4 in httpd.conf files.

Submitted by: Matt Biermann <biermanm@@kirtland.cc.mi.us>
Submitted by: GOMEZ Henri <hgomez@@slib.fr>
Submitted by: Dan Brown <danb35@@earthlink.net>
@
text
@d4 3
a6 3
$Author: bjn $
$Revision: 1.2.2.8 $
$Date: 2000/06/21 22:31:02 $
d59 1
a59 1
        include_path '/usr/local/apache/php:.'
d61 1
a61 1
        track_vars on
d66 1
a66 1
    list is colon-delimited.
@


1.1
log
@
jon: a quick phplib readme
@
text
@d1 5
d8 58
a65 1
install it as per the phplib documentation
@

