--- a/busui/owa/modules/base/metrics/topReferers.php +++ b/busui/owa/modules/base/metrics/topReferers.php @@ -1,1 +1,87 @@ - +<?php + +// +// Open Web Analytics - An Open Source Web Analytics Framework +// +// Copyright 2006 Peter Adams. All rights reserved. +// +// Licensed under GPL v2.0 http://www.gnu.org/copyleft/gpl.html +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// $Id$ +// + +/** + * Top Referers Metric + * + * @author Peter Adams <peter@openwebanalytics.com> + * @copyright Copyright © 2006 Peter Adams <peter@openwebanalytics.com> + * @license http://www.gnu.org/copyleft/gpl.html GPL v2.0 + * @category owa + * @package owa + * @version $Revision$ + * @since owa 1.0.0 + */ + +class owa_topReferers extends owa_metric { + + function owa_topReferers($params = null) { + + return owa_topReferers::__construct($params); + + } + + function __construct($params = '') { + + return parent::__construct($params); + } + + function calculate() { + + $this->db->selectColumn("count(referer.id) as count, + sum(session.num_pageviews) as page_views, + url, + page_title, + site_name, + query_terms, + snippet, + refering_anchortext, + is_searchengine"); + + $this->db->selectFrom('owa_session', 'session'); + $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, 'owa_referer', 'referer', 'referer_id', 'referer.id'); + $this->db->groupBy('referer.url'); + $this->db->orderBy('count', $this->getOrder()); + $this->db->where('is_searchengine', 1, '!='); + + $ret = $this->db->getAllRows(); + + return $ret; + + } + + function paginationCount() { + + $this->db->selectColumn("count(distinct referer.id) as count"); + + $this->db->selectFrom('owa_session', 'session'); + $this->db->join(OWA_SQL_JOIN_LEFT_OUTER, 'owa_referer', 'referer', 'referer_id', 'referer.id'); + $this->db->where('is_searchengine', 1, '!='); + + $ret = $this->db->getOneRow(); + + return $ret['count']; + + + } + + +} + + +?>