X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=boot.php;h=f69f6fe820d62a942283487e8ef47c1ce8a6f923;hb=a7982caf7123e7353ef32deb0fbb93e594e686f2;hp=1d672c7df21399f7893c98e6be43356f44045233;hpb=009744af50b1f94ea7f6d959b35754c123386239;p=friendica.git diff --git a/boot.php b/boot.php index 1d672c7df2..f69f6fe820 100644 --- a/boot.php +++ b/boot.php @@ -11,7 +11,7 @@ require_once('include/cache.php'); require_once('library/Mobile_Detect/Mobile_Detect.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1524' ); +define ( 'FRIENDICA_VERSION', '3.0.1527' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1156 ); @@ -1847,3 +1847,54 @@ function random_digits($digits) { } return $rn; } + +function get_cachefile($file, $writemode = true) { + $cache = get_config("system","itemcache"); + + if ($cache == "") + return(""); + + if (!is_dir($cache)) + return(""); + + $subfolder = $cache."/".substr($file, 0, 2); + + $cachepath = $subfolder."/".$file; + + if ($writemode) { + if (!is_dir($subfolder)) { + mkdir($subfolder); + chmod($subfolder, 0777); + } + } + + return($cachepath); +} + +function clear_cache($basepath = "", $path = "") { + if ($path == "") { + $basepath = get_config('system','itemcache'); + $path = $basepath; + } + + if (($path == "") OR (!is_dir($path))) + return; + + if (substr(realpath($path), 0, strlen($basepath)) != $basepath) + return; + + $cachetime = (int)get_config('system','itemcache_duration'); + if ($cachetime == 0) + $cachetime = 86400; + + if ($dh = opendir($path)) { + while (($file = readdir($dh)) !== false) { + $fullpath = $path."/".$file; + if ((filetype($fullpath) == "dir") and ($file != ".") and ($file != "..")) + clear_cache($basepath, $fullpath); + if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - $cachetime)) + unlink($fullpath); + } + closedir($dh); + } +}