Rank Tracker, Top Advertisers, Google First Page, Local Carrousel Data and others.
To get started: 1) Click the "Activate" link to the left of this description, 2) Sign up for an GeoRanker API key, and 3) Go to your All-in-One SEO Agency ToolBox page, and save your API key.
Version: 3.0.3
Author: georanker
Author URI: http://www.GeoRanker.com/
Network: false
Licence: GNU General Public License v3
This file is part of "All-in-One SEO Agency ToolBox" plugin for WordPress.
"All-in-One SEO Agency ToolBox" Plugin 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.
*/
/**/////////////////////////////////////////////////////////////////////////////
// Plugin Contants definition
//////////////////////////////////////////////////////////////////////////////*/
define('SAT_VER', '3.0.3');
define('SAT_FOLDERNAME', 'all-in-one-seo-agency-toolbox');
define('SAT_PAGETITLE', 'all-in-one-seo-agency-toolbox'); //Do not change or the CSS will broke!
define('SAT_ACT_REPORT', 'report');
/**/////////////////////////////////////////////////////////////////////////////
// Check to make sure you meet the requirements
//////////////////////////////////////////////////////////////////////////////*/
global $wp_version;
if (version_compare($wp_version, "3.1", "<")) {
exit('Sorry, but "All-in-One SEO Agency ToolBox" no longer support pre-3.1 WordPress installs.');
}
if (!function_exists('curl_version')) {
exit('Sorry, but "All-in-One SEO Agency ToolBox" needs CURL PHP extension to work.');
}
/**/////////////////////////////////////////////////////////////////////////////
// Check if Wordpress is Loaded
//////////////////////////////////////////////////////////////////////////////*/
if (!function_exists('add_action')) {
exit('Sorry, you can not execute this file without wordpress.');
}
/**/////////////////////////////////////////////////////////////////////////////
// Load Languages
//////////////////////////////////////////////////////////////////////////////*/
load_plugin_textdomain('sat', false, basename(dirname(__FILE__)) . '/languages', 'languages');
/**/////////////////////////////////////////////////////////////////////////////
// Load Pages titles
//////////////////////////////////////////////////////////////////////////////*/
global $sat_titles;
$sat_titles = array();
$sat_titles[SAT_ACT_REPORT] = "";
/**/////////////////////////////////////////////////////////////////////////////
// Cachetimes
//////////////////////////////////////////////////////////////////////////////*/
global $sat_reportcachetime, $sat_nocache;
$sat_nocache = true;
$sat_reportcachetime = 3600 * 24 * 7;
/**/////////////////////////////////////////////////////////////////////////////
// Includes
//////////////////////////////////////////////////////////////////////////////*/
require_once ('includes/SATGeoRankerAPI.class.php');
require_once ('includes/actions.php');
require_once ('includes/widget-shortcodes_view_report.php');
require_once ('includes/widget-shortcodes_create_report.php');
/**/////////////////////////////////////////////////////////////////////////////
// Load settings from database
//////////////////////////////////////////////////////////////////////////////*/
global $sat_settings;
global $sat_pageid;
$sat_pageid = 0;
function sat_readsettings() {
global $sat_settings, $sat_pageid;
//Load the serialized array of settings for this plugin
$sat_settings = get_option('sat_settings');
$sat_pageid = get_option('sat_pageid');
if (empty($sat_settings)) {
$sat_settings = array('apikey' => '', 'email' => '', 'apikey_invalid' => 1);
}
}
function sat_savesettings($settings, $log = true) {
$out = update_option('sat_settings', $settings);
if ($out && $log) {
global $grapi, $sat_settings;
if (!isset($grapi) || $grapi == NULL || empty($grapi)) {
$grapi = new SATGeoRankerAPI("", "");
}
$grapi->pluginlog(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'unknown', isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : 'unknown', isset($settings['email']) && isset($settings['apikey']) && !empty($settings['email']) && !empty($settings['apikey']) ? 'LINK' : ' UNLINK', !empty($settings['email']) ? $settings['email'] : $grapi->email );
}
return $out;
}
sat_readsettings();
/**/////////////////////////////////////////////////////////////////////////////
// Add URLs on the plugin description
//////////////////////////////////////////////////////////////////////////////*/
add_filter('plugin_row_meta', 'sat_pluginpagelinks_content', 10, 2);
add_action('plugin_action_links_' . basename(dirname(__FILE__)) . '/' . basename(__FILE__), 'sat_pluginpagelinks_left', 10, 4);
function sat_pluginpagelinks_content($links, $file) {
if ($file == plugin_basename(basename(dirname(__FILE__)) . '/' . basename(__FILE__))) {
$links[] = '' . __('Get an API Key', 'sat') . '';
$links[] = '' . __('Contact Support', 'sat') . '';
}
return $links;
}
function sat_pluginpagelinks_left($links) {
$settings_link = '' . __('Settings', 'sat') . '';
array_unshift($links, $settings_link);
return $links;
}
/**/////////////////////////////////////////////////////////////////////////////
// Add pages menu on admin side
//////////////////////////////////////////////////////////////////////////////*/
function sat_admin_add_page() {
global $sat_settings;
add_menu_page(__('SEO Agency ToolBox', 'sat'), __('SEO Agency ToolBox', 'sat'), 'manage_options', 'sat_page_settings', 'sat_page_settings', plugins_url(basename(dirname(__FILE__)) . '/images/georanker-plugin-icon-20x20.png'), 417);
add_submenu_page('sat_page_settings', __('GeoRanker Tool Settings', 'sat'), __('GeoRanker Settings', 'sat'), 'manage_options', 'sat_page_settings', 'sat_page_settings');
$riscado_begin = '';
$riscado_end = '';
if (!isset($_POST['sat_settings']) && !sat_is_apikeyvalid()) {
$riscado_begin = '';
$riscado_end = '';
}
add_submenu_page('sat_page_settings', 'wp-menu-separator', '', 'manage_options', 'sat_page_settings', 'sat_page_settings');
add_submenu_page('sat_page_settings', __('Website Report', 'sat'), $riscado_begin . __('Website Report', 'sat') . $riscado_end, 'manage_options', 'sat_page_erankerreport', 'sat_page_erankerreport');
add_submenu_page('sat_page_settings', __('Local Rank Checker', 'sat'), $riscado_begin . __('Local Rank Checker', 'sat') . $riscado_end, 'manage_options', 'sat_page_localrankchecker', 'sat_page_localrankchecker');
add_submenu_page('sat_page_settings', __('First Page', 'sat'), $riscado_begin . __('First Page', 'sat') . $riscado_end, 'manage_options', 'sat_page_googlefirstpage', 'sat_page_googlefirstpage');
add_submenu_page('sat_page_settings', __('Advertisers Report', 'sat'), $riscado_begin . __('Advertisers Report', 'sat') . $riscado_end, 'manage_options', 'sat_page_advertisersreport', 'sat_page_advertisersreport');
// add_submenu_page('sat_page_settings', __('GMaps Rank Checker', 'sat'), $riscado_begin . __('GMaps Rank Checker', 'sat') . $riscado_end, 'manage_options', 'sat_page_gmapsrankchecker', 'sat_page_gmapsrankchecker');
// add_submenu_page('sat_page_settings', __('GMaps First Page', 'sat'), $riscado_begin . __('GMaps First Page', 'sat') . $riscado_end, 'manage_options', 'sat_page_gmapsfirstpage', 'sat_page_gmapsfirstpage');
// add_submenu_page('sat_page_settings', __('Top Authors Report', 'sat'), $riscado_begin . __('Top Authors Report', 'sat') . $riscado_end, 'manage_options', 'sat_page_topauthorsreport', 'sat_page_topauthorsreport');
add_submenu_page('sat_page_settings', __('Citations Source Tool', 'sat'), $riscado_begin . __('Citations Source Tool', 'sat') . $riscado_end, 'manage_options', 'sat_page_citationssourcetool', 'sat_page_citationssourcetool');
// add_submenu_page('sat_page_settings', __('Local SEO Analyzer', 'sat'), $riscado_begin . __('Local SEO Analyzer', 'sat') . $riscado_end, 'manage_options', 'sat_page_localseoanalyzer', 'sat_page_localseoanalyzer');
// add_submenu_page('sat_page_settings', __('KML Generator', 'sat'), $riscado_begin . __('KML Generator', 'sat') . $riscado_end, 'manage_options', 'sat_page_kmlgenerator', 'sat_page_kmlgenerator');
add_submenu_page('sat_page_settings', __('Keyword Density', 'sat'), $riscado_begin . __('Keyword Density', 'sat'), 'manage_options' . $riscado_end, 'sat_page_keyworddensity', 'sat_page_keyworddensity');
add_submenu_page('sat_page_settings', __('Google Plus Review Request', 'sat'), $riscado_begin . __('G+ Review Request', 'sat') . $riscado_end, 'manage_options', 'sat_page_googleplusreviewrequest', 'sat_page_googleplusreviewrequest');
// add_submenu_page('sat_page_settings', __('Structured Data Test', 'sat'), $riscado_begin . __('Structured Data Test', 'sat') . $riscado_end, 'manage_options', 'sat_page_structureddatatest', 'sat_page_structureddatatest');
// add_submenu_page('sat_page_settings', __('NAP checker', 'sat'), $riscado_begin . __('NAP checker', 'sat') . $riscado_end, 'manage_options', 'sat_page_napchecker', 'sat_page_napchecker');
}
add_action('admin_menu', 'sat_admin_add_page');
/**/////////////////////////////////////////////////////////////////////////////
// Show an admin warning if the user does not setup the GeoRanker API Key
//////////////////////////////////////////////////////////////////////////////*/
if (is_admin() && !sat_is_apikeyvalid() && !isset($_POST['submit']) && !(isset($_GET['page']) && strcasecmp(trim($_GET['page']), 'sat_page_settings') == 0)) {
function sat_warning_apikey() {
echo "
" . __('GeoRanker SEO Tools is almost ready to use.', 'sat') . " " . sprintf(__('You must enter your GeoRanker API key for it to work.', 'sat'), "admin.php?page=sat_page_settings") . "
" . __('It seem the page you were looking for has moved or is no longer there. Or maybe you just mistyped something. It happens.', 'sat') . "
"; break; case 503: default: header("HTTP/1.0 503 Service Unavailable"); echo "" . __('Unable to connect to the server API. Please try again in a few minutes. If the error persists contact the administrator.', 'sat') . "
"; break; } if (!empty($details)) { echo "" . __('Details:', 'sat') . " " . $details . "
"; } } function sat_getimagefortypesfromcode($code) { if (empty($code)) { return ""; } switch ($code) { case 'OR': return '
';
case 'IM':
return '
';
case 'VI':
return '
';
case 'YT':
return '
';
case 'FB':
return '
';
case 'GM':
return '
';
case 'GP':
return '
';
case 'TW':
return '
';
case 'WI':
return '
';
case 'LK':
return '
';
case 'NW':
return '
';
case 'SH':
return '
';
case 'SC':
return '
';
case 'AM':
return '
';
case 'YH':
return '
';
case 'GO':
return '
';
case 'MT':
return '
';
case 'EB':
return '
';
default:
return '';
}
}
/**
* Add an query string on the end of an url
* @param String $url The original URL
* @param String $query The query string to be added
* @return String the final URL with the added query string
*/
function sat_addqueryonurl($url, $query) {
$separator = (parse_url($url, PHP_URL_QUERY) == NULL) ? '?' : '&';
return $url . $separator . $query;
}
/**
* Get the plugin fruntend page URL. The the page does not exist, we use a default one.
* @return String the URL for the plugin frontend page
*/
function sat_getfrontendurl() {
$the_page = get_page_by_title(SAT_PAGETITLE);
return !$the_page ? WP_HOME . '/all-in-one-seo-agency-toolbox/' : get_permalink($the_page->ID);
}
//Create table
global $sat_db_version;
// This version has to be integer number
$sat_db_version = 1;
function sat_install() {
global $wpdb;
global $sat_db_version;
$table_name = $wpdb->prefix . 'sat_reports';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
`token` varchar(50) COLLATE utf8_bin NOT NULL,
`date` datetime NOT NULL,
`ip` varchar(50) NOT NULL,
`user_id` bigint(20) unsigned DEFAULT NULL,
KEY `idx_".$sat_db_version."_satplugin_date` (`date`),
KEY `idx_".$sat_db_version."_satplugin_ip` (`ip`),
KEY `idx_".$sat_db_version."_satplugin_userid` (`user_id`)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta($sql);
add_option('sat_db_version', $sat_db_version);
}
register_activation_hook(__FILE__, 'sat_install');
function sat_update_db_check() {
global $sat_db_version;
if (get_site_option('sat_db_version') != $sat_db_version) {
sat_install();
}
}
add_action('plugins_loaded', 'sat_update_db_check');