"1", "admin_ssl_use_shared" => "1", "admin_ssl_shared_url" => "https://$shared_host$shared_path/wp-admin/", "admin_ssl_additional_urls" => "$additional_url1\n$additional_url2", "admin_ssl_secure_users_only" => "0", "admin_ssl_config_parent" => "plugins.php", "admin_ssl_https_key" => "X_RANDOM_HTTPS", "admin_ssl_https_value" => "it_is_on", "siteurl" => "http://$host$path", "home" => "http://$host$path", ); // // // PERFORM TESTS // // echo("
");

	echo("TESTING as_init()\n\n\n");

		echo("\t## SWITCH TO HTTPS\n\n");

			test_init("off",$host,"$path/wp-login.php","https://$shared_host$shared_path/wp-login.php");
			test_init("off",$host,"$path/wp-admin/profile.php","https://$shared_host$shared_path/wp-admin/profile.php");
			test_init("off",$host,"$path/$additional_url1","https://$shared_host$shared_path/$additional_url1");
			test_init("off",$host,"$path/$additional_url2","https://$shared_host$shared_path/$additional_url2");

		echo("\n\t## SWITCH TO HTTP\n\n");

			test_init("on",$shared_host,"$shared_path/wp-admin/","http://$host$path/wp-admin/");
			test_init("on",$shared_host,"$shared_path/some_post/","http://$host$path/some_post/");

		echo("\n\t## SWITCH TO CORRECT HOST\n\n");

			test_init("off",$shared_host,$shared_path,"http://$host$path");
			test_init("on",$host,"$path/wp-admin/profile.php","https://$shared_host$shared_path/wp-admin/profile.php");
			test_init("off",$host,"$path/wp-admin/profile.php","https://$shared_host$shared_path/wp-admin/profile.php");
			test_init("on",$shared_host,"$shared_path/wp-admin/","http://$host$path/wp-admin/");

		echo("\n\t## DO NOTHING\n\n");

			test_init("off",$host,"$path/some_post/");
			test_init("on",$shared_host,"$shared_path/wp-admin/profile.php");

	echo("\n\n\nTESTING as_ob_handler()\n\n\n");

		echo("\t## MAKE RELATIVE LINKS ABSOLUTE\n\n");

			test_ob_handler('href="edit-comments.php?page=akismet-admin"',
				'href="http://'.$host.$path.'/wp-admin/edit-comments.php?page=akismet-admin"');
			test_ob_handler('href="options-general.php?page=sitemap.php"',
				'href="http://'.$host.$path.'/wp-admin/options-general.php?page=sitemap.php"');

		echo("\n\t## SECURE ABSOLUTE LINKS\n\n");

			test_ob_handler("http://$host$path/wp-login.php?action=logout",
				"https://$shared_host$shared_path/wp-login.php?action=logout");

		echo("\n\t## SECURE RELATIVE LINKS\n\n");

			test_ob_handler('href="profile.php"',
				'href="https://'.$shared_host.$shared_path.'/wp-admin/profile.php"');

		echo("\n\t## SWITCH TO CORRECT HOST\n\n");

			$use_shared = true;
			test_ob_handler('href="https://'.$host.$path.'/"', 'href="https://'.$shared_host.$shared_path.'/"');

	echo("\n\n\nTESTING is_https()\n\n\n");

		test_is_https("HTTPS","on",false);
		test_is_https("X_RANDOM_HTTPS","it_is_on",true);

	echo("
"); // // // TESTING STUFF // // // // spoof functions // function add_action(){ return; } function add_filter(){ return; } function current_user_can($what){ return(true); } function get_option($k){ global $options; return($options[$k]); } function is_admin(){ return(true); } function is_user_logged_in(){ return(true); } // // all these variables need global scope // $options = null; $use_ssl = null; $use_shared = null; $shared_url = null; $secure_url = null; $additional_urls = null; $secure_users_only = null; $dir = null; $slash = null; $config_page = null; $config_parent = null; $https_key = null; $https_value = null; function pass_fail($pass){ echo('PASSED' : 'red">FAILED').''); } // // test as_init() // function test_init($https,$http_host,$request_uri,$should_redirect_to=null,$quiet=false) { global $options,$use_ssl,$use_shared,$shared_url,$secure_url,$additional_urls,$secure_users_only; global $dir,$slash,$config_page,$config_parent,$https_key,$https_value; // // only declare functions on first test // static $first_test = true; #if(!function_exists("update_option")): # function update_option(){ return; } #endif; // // set variables // $wp_version = 999; unset($_SERVER["HTTPS"]); unset($_SERVER[$https_key]); if($https === "on") $_SERVER[$https_key] = $https_value; $_SERVER["HTTP_HOST"] = $http_host; $_SERVER["REQUEST_URI"] = $request_uri; // // run admin ssl // require("admin-ssl.php"); if(!$quiet) { $redirect_to = as_init(false); $pass = $redirect_to === $should_redirect_to ? true : false; pass_fail($pass); echo("\t\t\thttp".($https === "on" ? "s" : "")."://".$http_host.$request_uri); echo($redirect_to ? "\n\t\t\twould redirect to\n\t\t\t$redirect_to" : " would not redirect"); if(!$pass) { if($should_redirect_to) echo("\n\t\t\tand it should have redirected to\n\t\t\t$should_redirect_to"); else echo("\n\t\t\tand it should not have redirected at all"); } echo("\n\n"); } // // no longer the first test // $first_test = false; } // // test as_ob_hander() // function test_ob_handler($buffer,$should_change_to=null) { global $host,$path; test_init("off",$host,$path,null,true); $change_to = as_ob_handler($buffer); $pass = $change_to === $should_change_to ? true : false; pass_fail($pass); echo("\t\t\t$buffer".($change_to ? "\n\t\t\twould be changed to\n\t\t\t$change_to" : " would not be changed")); if(!$pass) echo("\n\t\t\tand it should have been changed to\n\t\t\t$should_change_to"); echo("\n\n"); } // // test is_https() // function test_is_https($k,$v,$should_be_https) { global $host,$path; global $https_key,$https_value; test_init("off",$host,$path,null,true); unset($_SERVER[$https_key]); $_SERVER[$k] = $v; $is_https = is_https(); $pass = $is_https === $should_be_https ? true : false; pass_fail($pass); echo("\t\t\tHTTPS ($k) is set to ".($is_https ? "on" : "off")); if(!$pass) echo("\n\t\t\tand it should be ".($should_be_https ? "on" : "off")); echo("\n\n"); } ?>