phpOpenTracker/phpOpenTracker/API/Plugin AccessStatistics.php,1.1,1.2
Sebastian Bergmann <[email protected]>
| Newsgroups | gmane.comp.web.phpopentracker.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/API/Plugin
In directory sc8-pr-cvs1:/tmp/cvs-serv27090/phpOpenTracker/API/Plugin
Modified Files:
AccessStatistics.php
Log Message:
Flush.
Index: AccessStatistics.php
===================================================================
RCS file: /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/API/Plugin/AccessStatistics.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** AccessStatistics.php 23 Nov 2003 18:15:20 -0000 1.1
--- AccessStatistics.php 16 Dec 2003 13:38:06 -0000 1.2
***************
*** 48,51 ****
--- 48,139 ----
*/
public function run($parameters) {
+ $parameters['interval'] = isset($parameters['interval']) ? $parameters['interval'] : false;
+
+ $result = array();
+ $resultIndex = 0;
+
+ if ($parameters['interval'] != false) {
+ $start = $parameters['start'] ? $parameters['start'] : 0;
+ $end = $parameters['end'] ? $parameters['end'] : time();
+
+ for ($i = $parameters['start']; $i < $parameters['end']; $i += $parameters['interval']) {
+ $correct = ((mktime(0, 0, 0, date('m', $i), date('d', $i) + 1, date('Y', $i))
+ - mktime(0, 0, 0, date('m', $i), date('d', $i), date('Y', $i)))
+ * ($parameters['interval'] / 86400))
+ - $parameters['interval'];
+
+ $result[$resultIndex]['interval'] = $this->getIntervalString(
+ $i,
+ $i + $parameters['interval'] + $correct
+ );
+
+ $result[$resultIndex][$parameters['api_call']] = phpOpenTracker::get(
+ array(
+ 'client_id' => $parameters['client_id'],
+ 'api_call' => $parameters['api_call'],
+ 'start' => $i,
+ 'end' => $i + $parameters['interval'] + $correct,
+ 'constraints' => $parameters['constraints'],
+ 'internal' => true
+ )
+ );
+
+ $i += $correct;
+ $resultIndex++;
+ }
+ } else {
+ $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
+ %s
+ %s",
+
+ ($parameters['api_call'] == 'page_impressions') ? 'COUNT(*)' : 'COUNT(DISTINCT(visitors.accesslog_id))',
+ $this->config['accesslog_table'],
+ $this->config['visitors_table'],
+ $parameters['client_id'],
+ $this->getConstraintClause($parameters['constraints']),
+ $this->getTimerangeClause(
+ $parameters['start'],
+ $parameters['end'],
+ 'accesslog'
+ )
+ )
+ );
+
+ $row = $queryResult->current();
+ $result[$resultIndex][$parameters['api_call']] = intval($row['result']);
+
+ if ($parameters['start'] != false &&
+ $parameters['end'] != false) {
+ $result[$resultIndex]['interval'] = $this->getIntervalString(
+ $parameters['start'],
+ $parameters['end']
+ );
+ }
+ }
+
+ if ($parameters['internal'] !== true) {
+ return new phpOpenTracker_API_Result(
+ $result,
+ $parameters,
+ $this->supportedResultFormats
+ );
+ } else {
+ return $result[$resultIndex][$parameters['api_call']];
+ }
+ }
+
+ private function getIntervalString($start, $end) {
+ return sprintf(
+ '%s - %s',
+
+ date('d-m-Y', $start),
+ date('d-m-Y', $end)
+ );
}
}
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/