Updated modules to allow for partial overrides without errors

Only define functions if they have not been defined before, e.g. in themes. This makes it possible to override parts of a module and still use the other functions.
This commit is contained in:
Andrej Stieben
2016-02-05 21:52:39 +01:00
parent a81d929cdf
commit db949bb802
123 changed files with 768 additions and 471 deletions
+12
View File
@@ -12,6 +12,7 @@ define("PROXY_SIZE_LARGE", "large");
require_once('include/security.php');
require_once("include/Photo.php");
if(! function_exists('proxy_init')) {
function proxy_init() {
global $a, $_SERVER;
@@ -232,7 +233,9 @@ function proxy_init() {
killme();
}
}
if(! function_exists('proxy_url')) {
function proxy_url($url, $writemode = false, $size = "") {
global $_SERVER;
@@ -294,11 +297,13 @@ function proxy_url($url, $writemode = false, $size = "") {
else
return ($proxypath.$size);
}
}
/**
* @param $url string
* @return boolean
*/
if(! function_exists('proxy_is_local_image')) {
function proxy_is_local_image($url) {
if ($url[0] == '/') return true;
@@ -309,7 +314,9 @@ function proxy_is_local_image($url) {
$url = normalise_link($url);
return (substr($url, 0, strlen($baseurl)) == $baseurl);
}
}
if(! function_exists('proxy_parse_query')) {
function proxy_parse_query($var) {
/**
* Use this function to parse out the query array element from
@@ -328,7 +335,9 @@ function proxy_parse_query($var) {
unset($val, $x, $var);
return $arr;
}
}
if(! function_exists('proxy_img_cb')) {
function proxy_img_cb($matches) {
// if the picture seems to be from another picture cache then take the original source
@@ -342,10 +351,13 @@ function proxy_img_cb($matches) {
return $matches[1].proxy_url(htmlspecialchars_decode($matches[2])).$matches[3];
}
}
if(! function_exists('proxy_parse_html')) {
function proxy_parse_html($html) {
$a = get_app();
$html = str_replace(normalise_link($a->get_baseurl())."/", $a->get_baseurl()."/", $html);
return preg_replace_callback("/(<img [^>]*src *= *[\"'])([^\"']+)([\"'][^>]*>)/siU", "proxy_img_cb", $html);
}
}