require_once('include/security.php');
require_once("include/Photo.php");
+if(! function_exists('proxy_init')) {
function proxy_init() {
global $a, $_SERVER;
$thumb = false;
$size = 1024;
$sizetype = "";
+ $basepath = $a->get_basepath();
// If the cache path isn't there, try to create it
- if (!is_dir($_SERVER["DOCUMENT_ROOT"]."/proxy"))
- if (is_writable($_SERVER["DOCUMENT_ROOT"]))
- mkdir($_SERVER["DOCUMENT_ROOT"]."/proxy");
+ if (!is_dir($basepath."/proxy"))
+ if (is_writable($basepath))
+ mkdir($basepath."/proxy");
// Checking if caching into a folder in the webroot is activated and working
- $direct_cache = (is_dir($_SERVER["DOCUMENT_ROOT"]."/proxy") AND is_writable($_SERVER["DOCUMENT_ROOT"]."/proxy"));
+ $direct_cache = (is_dir($basepath."/proxy") AND is_writable($basepath."/proxy"));
// Look for filename in the arguments
if ((isset($a->argv[1]) OR isset($a->argv[2]) OR isset($a->argv[3])) AND !isset($_REQUEST["url"])) {
// advantage: real file access is really fast
// Otherwise write in cachefile
if ($valid AND $direct_cache) {
- file_put_contents($_SERVER["DOCUMENT_ROOT"]."/proxy/".proxy_url($_REQUEST['url'], true), $img_str_orig);
+ file_put_contents($basepath."/proxy/".proxy_url($_REQUEST['url'], true), $img_str_orig);
if ($sizetype <> '')
- file_put_contents($_SERVER["DOCUMENT_ROOT"]."/proxy/".proxy_url($_REQUEST['url'], true).$sizetype, $img_str);
+ file_put_contents($basepath."/proxy/".proxy_url($_REQUEST['url'], true).$sizetype, $img_str);
} elseif ($cachefile != '')
file_put_contents($cachefile, $img_str_orig);
killme();
}
+}
+if(! function_exists('proxy_url')) {
function proxy_url($url, $writemode = false, $size = "") {
global $_SERVER;
$a = get_app();
+ if (substr($url, 0, strlen('http')) !== 'http') {
+ return($url);
+ }
+
// Only continue if it isn't a local image and the isn't deactivated
if (proxy_is_local_image($url)) {
$url = str_replace(normalise_link($a->get_baseurl())."/", $a->get_baseurl()."/", $url);
return($url);
// Creating a sub directory to reduce the amount of files in the cache directory
- $basepath = $_SERVER["DOCUMENT_ROOT"]."/proxy";
+ $basepath = $a->get_basepath()."/proxy";
$path = substr(hash("md5", $url), 0, 2);
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;
$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
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
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);
}
+}