Blame | Last modification | View Log | RSS feed
<?php/**************************************************************************** Copyright (C) 2009-2011 by Geo Varghese(www.seopanel.in) ** sendtogeo@gmail.com ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the ** Free Software Foundation, Inc., ** 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ****************************************************************************/# class defines all graph controller functionsclass GraphController extends Controller {# function to show graphpublic function showKeywordPostionGraph($keywordId, $fromTimeDate, $toTimeDate, $searchEngineId = '') {$conditions .= !empty($searchEngineId) ? " and s.searchengine_id=".intval($searchEngineId) : "";$sql = "select s.*,se.domain from searchresults s,searchengines sewhere s.searchengine_id=se.id and result_date>='$fromTimeDate' and result_date<='$toTimeDate'and s.keyword_id=" . intval($keywordId). " $conditions order by s.result_date";$repList = $this->db->select($sql);// if reports not emptyif (!empty($repList)) {$reportList = array ();$seList = array();foreach ($repList as $repInfo) {$var = $repInfo['searchengine_id'] . $repInfo['keyword_id'] . $repInfo['result_date'];if (empty ($reportList[$var])) {$reportList[$var] = $repInfo;} else {if ($repInfo['rank'] < $reportList[$var]['rank']) {$reportList[$var] = $repInfo;}}if(empty($seList[$repInfo['searchengine_id']])){$seList[$repInfo['searchengine_id']] = $repInfo['domain'];}}$dataList = array();foreach($reportList as $repInfo){$seId = $repInfo['searchengine_id'];$dataList[$repInfo['result_date']][$seId] = $repInfo['rank'];}ksort($seList);$dataArr = "['Date', '" . implode("', '", array_values($seList)) . "']";// loop through data listforeach ($dataList as $dateVal => $dataInfo) {$valStr = "";foreach ($seList as $seId => $seVal) {$valStr .= ", ";$valStr .= !empty($dataInfo[$seId]) ? $dataInfo[$seId] : 101;}$dataArr .= ", ['$dateVal' $valStr]";}$this->set('reverseDir', true);$this->set('dataArr', $dataArr);$this->set('minValue', 1);$this->set('maxValue', 100);$this->set('graphTitle', $this->spTextKeyword["Keyword Position Report"]);return $this->getViewContent('report/graph');} else {return showErrorMsg($_SESSION['text']['common']['No Records Found'], false, true);}}}?>