phpOpenTracker/phpOpenTracker/API/Plugin AccessStatistics.php,1.10,1.11 Top.php,1.9,1.10
Sebastian Bergmann <[email protected]> Thu, 27 May 2004 05:53:54 +0000
| Newsgroups | gmane.comp.web.phpopentracker.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/API/Plugin
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16214/phpOpenTracker/API/Plugin
Modified Files:
AccessStatistics.php Top.php
Log Message:
De-normalize database schema.
Index: AccessStatistics.php
===================================================================
RCS file: /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/API/Plugin/AccessStatistics.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- AccessStatistics.php 19 Apr 2004 14:38:41 -0000 1.10
+++ AccessStatistics.php 27 May 2004 05:53:52 -0000 1.11
@@ -96,22 +96,22 @@
$queryResult = $this->database->query(
sprintf(
"SELECT %s AS result
- FROM %s accesslog,
- %s visitors
- WHERE visitors.client_id = '%d'
- AND visitors.accesslog_id = accesslog.accesslog_id
+ FROM %s page_impressions,
+ %s visits
+ WHERE visits.client_id = '%d'
+ AND visits.visit_id = page_impressions.visit_id
%s
%s",
- ($parameters['api_call'] == 'page_impressions') ? 'COUNT(*)' : 'COUNT(DISTINCT(visitors.accesslog_id))',
- $this->configuration['accesslog_table'],
- $this->configuration['visitors_table'],
+ ($parameters['api_call'] == 'page_impressions') ? 'COUNT(*)' : 'COUNT(DISTINCT(visits.visit_id))',
+ $this->configuration['page_impressions_table'],
+ $this->configuration['visits_table'],
$parameters['client_id'],
$this->getConstraintClause($parameters['constraints']),
$this->getTimerangeClause(
$parameters['start'],
$parameters['end'],
- 'accesslog'
+ 'page_impressions'
)
)
);
Index: Top.php
===================================================================
RCS file: /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/API/Plugin/Top.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- Top.php 19 Apr 2004 14:38:41 -0000 1.9
+++ Top.php 27 May 2004 05:53:52 -0000 1.10
@@ -62,23 +62,7 @@
);
}
- list($constraint, $selfJoin) = $this->getConstraintClause(
- $parameters['constraints'],
- true
- );
-
- if ($selfJoin) {
- $selfJoinConstraint = 'AND accesslog.accesslog_id = accesslog2.accesslog_id';
-
- $selfJoinTable = sprintf(
- '%s accesslog2,',
-
- $this->configuration['accesslog_table']
- );
- } else {
- $selfJoinConstraint = '';
- $selfJoinTable = '';
- }
+ $constraint = $this->getConstraintClause($parameters['constraints']);
$timerange = $this->getTimerangeClause(
$parameters['start'],
@@ -98,83 +82,69 @@
switch ($parameters['what']) {
case 'document': {
- $column = 'accesslog.document_id';
- $dataTable = $this->configuration['documents_table'];
+ $column = 'page_impressions.document';
}
break;
case 'entry_document': {
- $column = 'accesslog.document_id';
- $dataConstraint = "AND accesslog.entry_document = '1'";
- $dataTable = $this->configuration['documents_table'];
+ $column = 'page_impressions.document';
+ $dataConstraint = "AND page_impressions.entry_document = '1'";
}
break;
case 'exit_document': {
- $column = 'accesslog.document_id';
- $dataConstraint = "AND accesslog.exit_target_id <> '0'";
- $dataTable = $this->configuration['documents_table'];
+ $column = 'page_impressions.document';
+ $dataConstraint = "AND page_impressions.exit_target <> ''";
}
break;
case 'exit_target': {
- $column = 'accesslog.exit_target_id';
- $dataConstraint = "AND accesslog.exit_target_id <> '0'";
- $dataTable = $this->configuration['exit_targets_table'];
+ $column = 'page_impressions.exit_target';
+ $dataConstraint = "AND page_impressions.exit_target <> ''";
}
break;
case 'host': {
- $column = 'visitors.host_id';
- $dataTable = $this->configuration['hostnames_table'];
+ $column = 'visits.host';
}
break;
case 'operating_system': {
- $column = 'visitors.operating_system_id';
- $dataTable = $this->configuration['operating_systems_table'];
+ $column = 'visits.operating_system';
}
break;
case 'referer': {
- $column = 'visitors.referer_id';
- $dataTable = $this->configuration['referers_table'];
+ $column = 'visits.referer';
}
break;
case 'user_agent': {
- $column = 'visitors.user_agent_id';
- $dataTable = $this->configuration['user_agents_table'];
+ $column = 'visits.user_agent';
}
break;
}
$nestedQuery = sprintf(
- "SELECT data_table.string AS item
- FROM %s accesslog,
- %s
+ "SELECT %s AS item
+ FROM %s page_impressions,
%s visitors,
- %s data_table
- WHERE visitors.client_id = '%d'
- AND visitors.accesslog_id = accesslog.accesslog_id
- AND data_table.data_id = %s
- %s
+ WHERE visits.client_id = '%d'
+ AND visits.visit_id = page_impressions.visit_id
%s
%s
%s
- GROUP BY visitors.accesslog_id,
- data_table.string",
+ GROUP BY visits.visit_id,
+ %s",
- $this->configuration['accesslog_table'],
- $selfJoinTable,
- $this->configuration['visitors_table'],
- $dataTable,
- $parameters['client_id'],
$column,
- $selfJoinConstraint,
+ $this->configuration['page_impressions_table'],
+ $this->configuration['visits_table'],
+ $parameters['client_id'],
$dataConstraint,
$constraint,
- $timerange
+ $timerange,
+ $column
);
}
break;
@@ -182,27 +152,23 @@
default: {
$nestedQuery = sprintf(
"SELECT add_data.data_value AS item
- FROM %s accesslog,
- %s
+ FROM %s page_impressions,
%s visitors,
%s add_data
- WHERE visitors.client_id = '%d'
- AND visitors.accesslog_id = accesslog.accesslog_id
- AND accesslog.accesslog_id = add_data.accesslog_id
- AND add_data.data_field = '%s'
- %s
+ WHERE visits.client_id = '%d'
+ AND visits.visit_id = page_impressions.visit_id
+ AND page_impressions.visit_id = add_data.visit_id
+ AND add_data.data_field = '%s'
%s
%s
- GROUP BY visitors.accesslog_id,
+ GROUP BY visits.visit_id,
add_data.data_value",
- $this->configuration['accesslog_table'],
- $selfJoinTable,
- $this->configuration['visitors_table'],
+ $this->configuration['page_impressions_table'],
+ $this->configuration['visits_table'],
$this->configuration['additional_data_table'],
$parameters['client_id'],
$parameters['what'],
- $selfJoinConstraint,
$constraint,
$timerange
);
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click