diff --git a/core/database.class.php b/core/database.class.php index 2f16c4aa..a424bc3c 100644 --- a/core/database.class.php +++ b/core/database.class.php @@ -1,5 +1,5 @@ = 5.2.1) +if(!function_exists('sys_get_temp_dir')) { + // Based on http://www.phpit.net/ + // article/creating-zip-tar-archives-dynamically-php/2/ + function sys_get_temp_dir() { + // Try to get from environment variable + if(!empty($_ENV['TMP'])) { + return realpath($_ENV['TMP']); + } + else if(!empty($_ENV['TMPDIR'])) { + return realpath($_ENV['TMPDIR']); + } + else if(!empty($_ENV['TEMP'])) { + return realpath($_ENV['TEMP']); + } + + // Detect by creating a temporary file + else { + // Try to use system's temporary directory + // as random name shouldn't exist + $temp_file = tempnam(md5(uniqid(rand(), TRUE)), ''); + if($temp_file) { + $temp_dir = realpath(dirname($temp_file)); + unlink($temp_file); + return $temp_dir; + } + else { + return FALSE; + } + } + } +} + // from http://uk.php.net/network function ip_in_range($IP, $CIDR) { list ($net, $mask) = split ("/", $CIDR);