Stats Tracker and Hit Counter

-------------------------------------------------
Author: Geoff A. Virgo <gvirgo@mithril.ca>
Release Date: Sept. 28, 2001
Application: Stats Tracker and Hit Counter
Licensing: Lesser Gnu Public License
-------------------------------------------------

This library is a set of classes which allow you to implement a hit counter and statistical tracking on your site. The administrator's browser(s) is identitifed by a cookie and is not counted in either hits or stats.

Features:


Installation:
  1. Create a database and execute the sql query in the /database_schema folder


  2. Copy the files and folders in the /htdocs folder to somewhere in your web document tree (I'd recommend a password protected location)
  3. Copy all the files in the /includes folder to a location within your php_includes directory
  4. Edit the /includes/globalSettings.inc file to reflect your setup
  5. Edit the /htdocs/actions.php and /htdocs/stats.php file to reflect your setup
  6. Open /htdocs/admin.php and select the "Edit the stats application's settings" link to configure the stats tracker
  7. Click the "README - Stats Tracker" link and read the README for usage examples.
  8. If you're using an RDBMS other than MySQL, you may need to edit some of the sql queries used by this class

Usage:

Database Abstraction Layer

-------------------------------------------------
Authors: Frank M. Kromann <frank@frontbase.com>
         Geoff A. Virgo <gvirgo@mithril.ca>
Release Date: November 11, 2001
Application: Database Abstraction Layer
Licensing: Lesser Gnu Public License
-------------------------------------------------

This is a relatively simple database abstraction layer written originally by Frank M. Kromann <frank@frontbase.com> and modified by Geoff A. Virgo <gvirgo@mithril.ca>.

Features:



Installation:

1) Copy the database.inc and globalSettings.inc files from the distribution archive to your php_includes directory.
2) Edit the globalSettings.inc file to match your setup.

Usage:

Place the following code at the top of any page which needs database connectivity:
require("database.inc");
require("globalSettings.inc");

Method #1 - Native Access
  $dataObj = &new cDatabases();
  $dataObj->Set($defaultRDBMS);
  $dataObj->Connect($defaultHost,$defaultUsername,$defaultPassword,$defaultDB);

Method #2 - Object Spawning
  $databases = &new cDatabases();
  $dataObj = $databases->Get($defaultRDBMS);
  $dataObj->Connect($defaultHost,$defaultUsername,$defaultPassword,$defaultDB);
You can of course specify string values as arguments in the Set() and Connect() methods, this example merely uses the defaults you specified in the globalSettings.inc file.  By creating multiple database objects with the Get() method, you have the ablity to easily connect one script to multiple databases severs and/or platforms if need be.

Once created, $dataObj has access to all the methods specified in the RDBMS interface classes (cFrontBase, cPostgreSQL, cMSSQL, cODBC, cMYSQL):
Connect();
Disconnect();
Query();
FetchRow();
NextResult();
NumRows();
FreeResult();
ColumnLength();
ColumnName();
ColumnType();
GetLastMessage();
For details on each of these methods, consult the appropriate section in this API Manual.