installation instructions.
Author: BCG
Version: 2.0-b2
Date: 2011-04-23 12:10
Author URI: http://www.kerrins.co.uk/
For changelog please see release-notes.txt
*/
//
// if you are experiencing problems, set this to 'true' and messages will be logged
// in the Admin SSL directory (usually /wp-content/plugins/admin-ssl/debug.log
//
define("DEBUG",false);
//
// if this is 'true' then the database will be updated with the default options - use if
// you cannot access admin-ssl-reset.php after setting wrong Shared SSL settings
// you MUST change back to false after resetting, or you will not be able to enable SSL
//
define("RESET",false);
//
// the Admin SSL version branch
//
define("AS_VERSION",2.0);
/* *
* *
* *
* *
* DO NOT EDIT BELOW THIS LINE - USE THE CONFIG PAGE TO CHANGE SETTINGS *
* *
* *
* *
* *
*/
//
// requires $wp_version check - this plugin WILL BREAK earlier versions of WordPress and WPMU
//
if(isset($wp_version) && $wp_version >= 3.0)
{
//
//
// DEBUG MODE AND FUNCTIONS
//
//
if(!defined("TEST") || $first_test):
//
// log debug messages to plugin operating directory
//
function as_log($msg)
{
global $path,$slash;
$msg = preg_replace('/\t/',"",$msg);
if($path && $slash && DEBUG)
error_log($msg."\n\n",3,$path.$slash."debug.log");
elseif(@TEST && DEBUG)
echo("\n$msg");
}
//
// display message on admin pages if debug or reset are enabled
//
function as_warning()
{
global $path,$slash;
if(DEBUG)
echo('
Admin SSL is currently debugging to: '.$path.$slash.'debug.log
');
if(RESET)
echo('
Admin SSL is currently in reset mode - you will not
be able to secure your site with SSL until you disable reset mode.
');
}
//
// shorthands for lazy people
//
function content_dir($with_slash=true) { # returns the name of the content directory
$a = explode("/", WP_CONTENT_DIR);
return(max($a).($with_slash ? "/" : "")); }
function host(){ # returns HTTP_HOST with any port numbers removed
return(preg_replace('/:.+$/',"",$_SERVER["HTTP_HOST"])); }
function is_https(){ # return true or false, HTTPS enabled
global $https_key,$https_value;
return(isset($_SERVER[$https_key]) && $https_value === $_SERVER[$https_key] ? true : false); }
function _post($key){ # safely return escaped value from $_POST array
return(isset($_POST[$key]) ? esc_attr($_POST[$key]) : null); }
function redirect_to(){ # return WordPress' redirect_to
return(isset($_REQUEST["redirect_to"]) ? esc_attr($_REQUEST["redirect_to"]) : ""); }
function req_uri(){ # return server request uri
return($_SERVER["REQUEST_URI"]); }
function scheme($use_https){ # return scheme based on test value
return(($use_https ? "https" : "http")."://"); }
function as_user_can($what){ # checks if function exists before calling it
return(function_exists("current_user_can") ? current_user_can($what) : false); }
//
// safe redirect function - don't want to use wp_redirect()
//
function as_redirect($location)
{
if((!defined("TEST") || $first_test) && !defined("ADMIN_SSL_DO_NOT_REDIRECT"))
{
session_write_close();
header("location: $location");
exit;
}
elseif(TEST) return($location);
}
//
// get the Apache version
//
function apache_version($test=null, $precision=0)
{
$re = "/Apache\/([\d.]+)/";
preg_match($re, $_SERVER["SERVER_SOFTWARE"], $matches);
$version = $matches[1];
if(is_null($test)) return(doubleval($version));
else return(round($version, $precision) == $test ? true : false);
}
endif;
//
//
// OPERATING DIRECTORY DETECTION
//
//
//
// get operating directory and log environment variables
//
$slash = strpos(__FILE__,"/") === false ? "\\" : "/";
$path = str_replace($slash."admin-ssl.php","",__FILE__);
$dir = substr($path,strrpos($path,$slash)+1);
as_log("### ADMIN SSL BEGINS ###");
as_log("HTTP Host: ".host()."
Request URI: ".req_uri()."
Redirect to: ".redirect_to()."
Found admin-ssl.php in
- path: $path
- directory: $dir");
//
// if operating directory is mu-plugins, get the name of admin-ssl directory
//
$plugins_dir = "plugins";
$config_page = "config-page.php";
//
// log variables just defined
//
as_log("Plugins directory: $plugins_dir
Config page: $config_page");
//
//
// GET (OR SET DEFAULT) OPTIONS
//
//
require_once("includes/options.php");
//
//
// ADD LINK TO SETTINGS PAGE ON PLUGIN LIST
//
//
function as_action_links($links, $file)
{
global $config_parent,$config_page_ref;
if($file == plugin_basename(__FILE__))
{
$links[] = ''._("Settings")."";
}
return($links);
}
//
//
// THIS IS WHERE THE REAL STUFF BEGINS...
//
//
if(!defined("TEST") || $first_test):
//
//
// WORDPRESS HOOKS - CHECKING HTTP/HTTPS
//
//
require_once("includes/https.php");
//
//
// WORDPRESS HOOKS - CONFIGURATION
//
//
require_once("includes/config.php");
//
//
// ADD WORDPRESS HOOKS
//
//
require_once("includes/hooks.php");
endif;
}
?>