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 seo tools controller functions
class SeoToolsController extends Controller{
var $layout = 'ajax';
# index function
function index($info=''){
$this->layout = "default";
if(isAdmin()){
$sql = "select * from seotools where status=1";
}else{
$sql = "select * from seotools where status=1 and user_access=1";
}
$sql .= " order by priority, id";
$menuList = array();
$toolList = $this->db->select($sql);
$userTypeCtrler = new UserTypeController();
// if not admin, check tool access set for user,
if (!isAdmin()) {
$userSessInfo = Session::readSession('userInfo');
$toolAccessList = $userTypeCtrler->getSeoToolAccessSettings($userSessInfo['userTypeId']);
// loop through plugin list
foreach ($toolList as $toolInfo) {
// if access is set for plugin
if (isset($toolAccessList[$toolInfo['id']]['value'])) {
// access is on
if (!empty($toolAccessList[$toolInfo['id']]['value'])) {
$menuList[] = $toolInfo;
}
} else {
$menuList[] = $toolInfo;
}
}
} else {
$menuList = $toolList;
}
if(count($menuList) <= 0){
$this->set('msg', $_SESSION['text']['common']['noactivetools']);
$this->render('common/notfound');
exit;
}
$this->set('menuList', $menuList);
$defaultArgs = empty($info['default_args']) ? "" : urldecode($info['default_args']);
switch($info['menu_sec']){
case "sitemap-generator":
$defaultScript = "sitemap.php";
break;
case "site-auditor":
$defaultScript = "siteauditor.php";
break;
case "rank-checker":
$defaultScript = "rank.php";
break;
case "backlink-checker":
$defaultScript = "backlinks.php";
break;
case "directory-submission":
$defaultScript = "directories.php";
break;
case "saturation-checker":
$defaultScript = "saturationchecker.php";
break;
case "pagespeed":
$defaultScript = "pagespeed.php";
break;
case "webmaster-tools":
$defaultScript = "webmaster-tools.php";
break;
case "sm-checker":
$defaultScript = "social_media.php";
break;
case "review-manager":
$defaultScript = "review.php";
break;
case "web-analytics":
$defaultScript = "analytics.php";
break;
default:
$seoToolInfo = $this->__getSeoToolInfo('keyword-position-checker', 'url_section');
if($seoToolInfo['status'] == 1){
$info['menu_sec'] = 'keyword-position-checker';
$defaultScript = "reports.php";
$defaultArgs = empty($defaultArgs) ? "sec=reportsum" : $defaultArgs;
}
}
$this->set('menuSelected', $info['menu_sec']);
$this->set('defaultScript', $defaultScript);
$this->set('defaultArgs', $defaultArgs);
$this->render('seotools/index');
}
# func to get all seo tools
function __getAllSeoTools($whereCond = "1=1"){
$sql = "select * from seotools where $whereCond order by id";
$seoToolList = $this->db->select($sql);
return $seoToolList;
}
# func to get seo tool info
function __getSeoToolInfo($val, $col='id'){
$sql = "select * from seotools where $col='$val'";
$seoToolInfo = $this->db->select($sql, true);
return $seoToolInfo;
}
# func to list seo tools
function listSeoTools() {
$seoToolList = $this->__getAllSeoTools();
$this->set('list', $seoToolList);
$this->render('seotools/listseotools');
}
#function to change status of seo tools
function changeStatus($seoToolId, $status, $col='status'){
$seoToolId = intval($seoToolId);
$sql = "update seotools set $col=$status where id=$seoToolId";
$this->db->query($sql);
}
# func to edit seo tool
function editSeoTool($info, $error=false){
if($error){
$this->set('post', $info);
}else{
$info['pid'] = intval($info['pid']);
$this->set('post', $this->__getSeoToolInfo($info['pid']));
}
$this->render('seotools/editseotool');
}
function updateSeoTool($listInfo){
$listInfo['id'] = intval($listInfo['id']);
$this->set('post', $listInfo);
$errMsg['priority'] = formatErrorMsg($this->validate->checkNumber($listInfo['priority']));
if(!$this->validate->flagErr){
$sql = "update seotools set priority='".intval($listInfo['priority'])."' where id={$listInfo['id']}";
$this->db->query($sql);
$this->listSeoTools();
}else{
$this->set('errMsg', $errMsg);
$this->editSeoTool($listInfo, true);
}
}
}
?>