2012-04-09 19:28:11 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Name: Convert Paths
|
|
|
|
* Description: Converts all internal paths according to the current scheme (http or https)
|
|
|
|
* Version: 1.0
|
|
|
|
* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
function convpath_install() {
|
|
|
|
register_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end');
|
|
|
|
register_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function convpath_uninstall() {
|
|
|
|
unregister_hook('page_end', 'addon/convpath/convpath.php', 'convpath_page_end');
|
|
|
|
unregister_hook('page_header', 'addon/convpath/convpath.php', 'convpath_page_header');
|
|
|
|
}
|
|
|
|
|
|
|
|
function convpath_page_header(&$a, &$o){
|
|
|
|
$o = convpath_convert($o);
|
|
|
|
}
|
|
|
|
|
|
|
|
function convpath_page_end(&$a, &$o){
|
|
|
|
$o = convpath_convert($o);
|
|
|
|
$a->page['aside'] = convpath_convert($a->page['aside']);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
Converts a given path according to the current scheme
|
|
|
|
*/
|
|
|
|
function convpath_convert($path) {
|
|
|
|
global $a;
|
|
|
|
|
|
|
|
if ($path == "")
|
|
|
|
return("");
|
|
|
|
|
|
|
|
$ssl = (substr($a->get_baseurl(), 0, 8) == "https://");
|
|
|
|
|
|
|
|
if ($ssl) {
|
|
|
|
$search = "http://".$a->get_hostname();
|
|
|
|
$replace = "https://".$a->get_hostname();
|
|
|
|
} else {
|
|
|
|
$search = "https://".$a->get_hostname();
|
|
|
|
$replace = "http://".$a->get_hostname();
|
|
|
|
}
|
2012-04-10 21:09:06 +00:00
|
|
|
$searcharr = array("src='".$search, 'src="'.$search);
|
|
|
|
$replacearr = array("src='".$replace, 'src="'.$replace);
|
|
|
|
$path = str_replace($searcharr, $replacearr, $path);
|
|
|
|
|
|
|
|
//$path = str_replace($search, $replace, $path);
|
|
|
|
|
2012-04-09 19:28:11 +00:00
|
|
|
return($path);
|
|
|
|
}
|