New caching system for photos
This commit is contained in:
parent
5635fe250c
commit
46c5a97a20
15
boot.php
15
boot.php
|
@ -520,6 +520,19 @@ if(! class_exists('App')) {
|
||||||
$this->is_tablet = $mobile_detect->isTablet();
|
$this->is_tablet = $mobile_detect->isTablet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_basepath() {
|
||||||
|
|
||||||
|
$basepath = get_config("system", "basepath");
|
||||||
|
|
||||||
|
if ($basepath == "")
|
||||||
|
$basepath = $_SERVER["DOCUMENT_ROOT"];
|
||||||
|
|
||||||
|
if ($basepath == "")
|
||||||
|
$basepath = $_SERVER["PWD"];
|
||||||
|
|
||||||
|
return($basepath);
|
||||||
|
}
|
||||||
|
|
||||||
function get_baseurl($ssl = false) {
|
function get_baseurl($ssl = false) {
|
||||||
|
|
||||||
$scheme = $this->scheme;
|
$scheme = $this->scheme;
|
||||||
|
@ -1895,7 +1908,7 @@ function clear_cache($basepath = "", $path = "") {
|
||||||
$fullpath = $path."/".$file;
|
$fullpath = $path."/".$file;
|
||||||
if ((filetype($fullpath) == "dir") and ($file != ".") and ($file != ".."))
|
if ((filetype($fullpath) == "dir") and ($file != ".") and ($file != ".."))
|
||||||
clear_cache($basepath, $fullpath);
|
clear_cache($basepath, $fullpath);
|
||||||
if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - $cachetime))
|
if ((filetype($fullpath) == "file") and (filectime($fullpath) < (time() - $cachetime)))
|
||||||
unlink($fullpath);
|
unlink($fullpath);
|
||||||
}
|
}
|
||||||
closedir($dh);
|
closedir($dh);
|
||||||
|
|
|
@ -854,8 +854,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// replace the special char encoding
|
// replace the special char encoding
|
||||||
|
$s = htmlspecialchars($s,ENT_NOQUOTES,'UTF-8');
|
||||||
$s = htmlspecialchars($s,ENT_QUOTES,'UTF-8');
|
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,9 @@ function poller_run(&$argv, &$argc){
|
||||||
// clear old item cache files
|
// clear old item cache files
|
||||||
clear_cache();
|
clear_cache();
|
||||||
|
|
||||||
|
// clear cache for photos
|
||||||
|
clear_cache($a->get_basepath(), $a->get_basepath()."/photo");
|
||||||
|
|
||||||
$manual_id = 0;
|
$manual_id = 0;
|
||||||
$generation = 0;
|
$generation = 0;
|
||||||
$hub_update = false;
|
$hub_update = false;
|
||||||
|
|
|
@ -7,6 +7,7 @@ function photo_init(&$a) {
|
||||||
global $_SERVER;
|
global $_SERVER;
|
||||||
|
|
||||||
$prvcachecontrol = false;
|
$prvcachecontrol = false;
|
||||||
|
$file = "";
|
||||||
|
|
||||||
switch($a->argc) {
|
switch($a->argc) {
|
||||||
case 4:
|
case 4:
|
||||||
|
@ -20,6 +21,7 @@ function photo_init(&$a) {
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$photo = $a->argv[1];
|
$photo = $a->argv[1];
|
||||||
|
$file = $photo;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
default:
|
default:
|
||||||
|
@ -42,7 +44,6 @@ function photo_init(&$a) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$default = 'images/person-175.jpg';
|
$default = 'images/person-175.jpg';
|
||||||
|
|
||||||
if(isset($type)) {
|
if(isset($type)) {
|
||||||
|
@ -94,7 +95,7 @@ function photo_init(&$a) {
|
||||||
foreach( Photo::supportedTypes() as $m=>$e){
|
foreach( Photo::supportedTypes() as $m=>$e){
|
||||||
$photo = str_replace(".$e",'',$photo);
|
$photo = str_replace(".$e",'',$photo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(substr($photo,-2,1) == '-') {
|
if(substr($photo,-2,1) == '-') {
|
||||||
$resolution = intval(substr($photo,-1,1));
|
$resolution = intval(substr($photo,-1,1));
|
||||||
$photo = substr($photo,0,-2);
|
$photo = substr($photo,0,-2);
|
||||||
|
@ -115,6 +116,8 @@ function photo_init(&$a) {
|
||||||
intval($resolution)
|
intval($resolution)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$public = ($r[0]['allow_cid'] == '') AND ($r[0]['allow_gid'] == '') AND ($r[0]['deny_cid'] == '') AND ($r[0]['deny_gid'] == '');
|
||||||
|
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$data = $r[0]['data'];
|
$data = $r[0]['data'];
|
||||||
$mimetype = $r[0]['type'];
|
$mimetype = $r[0]['type'];
|
||||||
|
@ -198,6 +201,12 @@ function photo_init(&$a) {
|
||||||
header("Cache-Control: max-age=31536000");
|
header("Cache-Control: max-age=31536000");
|
||||||
}
|
}
|
||||||
echo $data;
|
echo $data;
|
||||||
|
|
||||||
|
// If the photo is public and there is an existing photo directory store the photo there
|
||||||
|
if ($public and ($file != ""))
|
||||||
|
if (is_dir($_SERVER["DOCUMENT_ROOT"]."/photo"))
|
||||||
|
file_put_contents($_SERVER["DOCUMENT_ROOT"]."/photo/".$file, $data);
|
||||||
|
|
||||||
killme();
|
killme();
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue