NAME
WWW::Statistics - Perl extension for genarate and manage web site statistics
SYNOPSIS
use WWW::Statistics;
my $wso = WWW::Statistics->new(
DB_USER => 'test' ,
DB_PASSWORD => 'toto',
DB_HOST => '192.168.0.20',
DB_DATABASE => 'test_stat'
) or die "[ ERROR ]\n";
$wso->setMSTN('test_script');
$wso->setBACKUP_TABLE_NAME('backup_script');
$wso->initDataBase(
MAIN_STAT_TABLE_NAME => test_script,
PAGES_LIST => 'first,seconde,third'
) or die "[ ERROR ]\n";
$wso->addMainPages(PAGES_LIST => 'test') or die "[ ERROR ]\n";
print "[ OK ]\n";
$id = $wso->getIDfromPage('test');
print "[+] id page 'test' (according to getIDfromPage)\t $id\n";
$wso->initBackupDatabase or die "[ ERROR ]\n";
$wso->dropMainPages(ID_LIST=>$id) or die "[ ERROR ]\n";
$wso->updateBackupDBschema or die "[ ERROR ]\n";
my $id = $wso->backupStats(
BACKUP_DESCRIPTION => 'This is a test of WWW::Statistics'
);
my $html = $wso->generateHTMLMainGraph(
IMAGES_DIR => '/home/arnaud/images/',
TABLE_NAME_FONT => "<font color='#3366CC'>",
TABLE_TAG => "<table cellspacing='1' cellpadding='5' width='250' border='0' bgcolor='#000000'>",
TR_TAG => "<tr bgcolor='#EEEEEE'>"
);
Write('gen.html',"$html\n"); ## The Write function is from File::Reader
$g = $wso->generateGDGraph(
GRAPH_WIDTH => 800,
WITH_HTML => 1
); ## Generate a graph and return the HTML source code wich included him, else this metod return the name of the image.
my $back = $wso->generateHTMLBackupGraph(
IMAGES_DIR => '/home/1024/INSEP/soutien/images',
BACKUP_ID => 5,
IMAGES_CYCLING => 1,
TABLE_NAME_FONT => "<font color='#3366CC'>",
TABLE_TAG => "<table cellspacing='1' cellpadding='5' width='250' border='0' bgcolor='#000000'>",
TR_TAG => "<tr bgcolor='#EEEEEE'>"
);
$wso->reIndexBackupTable;
DESCRIPTION
This module allow you to simply manage statistics for web site. It generate a really simple database, and give you all methods to manage it easily. With WWW::Statistics you can make your own statistics admin interface really simply.
EXPORT
None by default.
METHODS
new : constructor. Arguments are : DB_HOST : IP adress or hostname of the database (default is 127.0.0.1)
DB_USER : A username wich is authoryzed to connect to database (default is undef) DB_PASSWORD : The password associates with DBUSER (default is undef) DB_DATABASE : the database name (default is undef) DB_TYPE : the DBI driver name (default is 'mysql') IMAGES_DIR : the directory where we can found images for using in HTML graph generation. (optionnal)
Moreover, you can pass all arguments wich are definable by followings accessors. It returned a WWW::Statistics object reference
setMSTN(VALUE) :
accessor for setting MAIN_STAT_TABLE_NAME. It returned 1 or undef.
getMSTN :
accessor for getting value of MAIN_STAT_TABLE_NAME.
setBACKUP_TABLE_NAME(VALUE) :
accessor for setting BACKUP_TABLE_NAME. It returned 1 or undef.
getBACKUP_TABLE_NAME :
accessor for getting value of BACKUP_TABLE_NAME
setBACKUP_DESCRIPTION(VALUE) :
accessor for setting BACKUP_DESCRIPTION. It returned 1 or undef.
getBACKUP_DESCRIPTION :
accessor for getting value of BACKUP_DESCRIPTION
setIMAGES_DIR(VALUE) :
accessor for setting IMAGES_DIR. It returned 1 or undef.
getIMAGES_DIR :
accessor for getting value of IMAGES_DIR
addMainPages :
Add a page to the main stats table (MAIN_STAT_TABLE_NAME). Returned undef if faile, else 1.
dropMainPages :
drop a page to the main stats table (MAIN_STAT_TABLE_NAME). Returned undef if faile, else 1.
getIDfromPage(PAGE_NAME) :
return the id of PAGE_NAME. Be carefull with this because if you have 2 pages with same name thereturned result will random...
initDataBase :
create and initialyzed the main database. Arguments are : PAGES_LIST : a list of pages you want to manage statistics for. Pass arguments as string (ex: 'index.pl,news.pl,pub.html'). Separator is the coma (','). If you don't have set it before : MAIN_STAT_TABLE_NAME the main statistics table (where are record current stats). Returned undef if faile, else 1.
initBackupDatabase :
create the backup database. Returned undef if faile, else 1.
decrMainPage(ID_PAGE) :
decrement the page identified by ID_PAGE. Returned undef if faile, else 1.
incrMainPage(ID_PAGE) :
increment the page identified by ID_PAGE. Returned undef if faile, else 1.
updateBackupDBschema :
update the backup table's schema from the main table one. Returned undef if faile, else 1.
backupStats :
backup statistics. Returned undef if faile, else 1.
generateHTMLBackupGraph :
generate (and return) an HTML <TABLE> wich contain a graph of the specified backup is (see generateHTMLMainGraph method for explanation of arguments)
generateHTMLMainGraph :
generate (and return) an HTML <TABLE> wich contain the graph of main table. Arguments are : IMAGES_DIR : if you don't have set it before, the directory where we can find images wich we use to generate the graph. TABLE_NAME_FONT : opening HTML tag <FONT> wich determine the font of text inside <TD> TABLE_TAG : HTML tag <TABLE> you can specify special tag here TR_TAG : specify your <TR> tag here TD_TAG : specify your <TD> tag here TH_TAG : specify your <TH> tag here IMAGES_CYCLING : 0 or 1. If enable module choose one per one the different images wich are present in IMAGES_DIR. Else the module choose the first image. IMAGES_LIST : specify a list of images you want to use (as a string like 'img1.png,image.gif,logo.xpm' separator is a coma). (OPTIONNAL) IMG_TAG : specify your <IMG> tag here. Default is : <IMG SRC=__IMGSRC__ ALIGN=__IMGALIGN__ WIDTH=__IMGWIDTH__ HEIGHT=__IMGHEIGHT__>. You can use __IMGSRC__, __IMGALIGN__, __IMGWIDTH__ and __IMGHEIGHT__ as variables. Default values are : __IMGSRC__ : IMAGES_DIR/first image in directory. Accessed by IMAGES_DIR and IMAGES_LIST __IMGALIGN__ : CENTER. Accessed by IMG_ALIGN_TAG __IMGWIDTH__ : 4 * number of hits. Accessed by POINT_FOR_PIXEL __IMGHEIGHT__ : 9. Accessed by IMG_HEIGHT_TAG You can access to thoses variables by followings parameters and use them as variables in your own <IMG> tag. PIXELS_FOR_POINT : specify the number of pixels you want for a point in statistics. Default is 4 pixels. For example, if you have 10 hits on a page, the image wich represent this value may have 40 pixels long.
WARNING : all *_TAG options accept a string as HTML tag but ONLY THE OPENNING ONE !! Tags are closed by the module. Moreover, they all are optionnals.
generateGDGraph :
use the GD module to generate a graph (freshmeat like) of the statistics from the backup table. Returned the name of image generate (wich is stored in IMAGES_DIR)
reIndexBackupTable :
re-index the id_backup column of BACKUP_TABLE_NAME. Returned undef if faile, else 1.
getMaxFromBackup :
get the maximum id of BACKUP_TABLE_NAME all columns included.
Heritage
WWW::Statistics heritate from DB::DBinterface so read this module manpage to having a description of his own methods and functions.
Returned values
Alle methods returned undef if there is a problem.
SEE ALSO
DB::DBinterface
AUTHOR
DUPUIS Arnaud, <a.dupuis@infinityperl.org>
COPYRIGHT AND LICENSE
Copyright (C) 2004 by DUPUIS Arnaud
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 1020:
'=item' outside of any '=over'
- Around line 1162:
You forgot a '=back' before '=head2'