make sure temporary files are being removed, fixes oc-450

This commit is contained in:
Arthur Schiwon 2012-04-13 22:59:47 +02:00
parent b9f9228a22
commit b9bdad5165
2 changed files with 30 additions and 16 deletions

View File

@ -63,7 +63,7 @@ class OC_Files {
$executionTime = intval(ini_get('max_execution_time'));
set_time_limit(0);
$zip = new ZipArchive();
$filename = get_temp_dir().'/ownCloud_'.mt_rand(10000,99999).'.zip';
$filename = OC_Helper::tmpFile('.zip');
if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==TRUE) {
exit("cannot open <$filename>\n");
}
@ -84,7 +84,7 @@ class OC_Files {
$executionTime = intval(ini_get('max_execution_time'));
set_time_limit(0);
$zip = new ZipArchive();
$filename = get_temp_dir().'/ownCloud_'.mt_rand(10000,99999).'.zip';
$filename = OC_Helper::tmpFile('.zip');
if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==TRUE) {
exit("cannot open <$filename>\n");
}

View File

@ -294,6 +294,9 @@ class OC_Helper {
}elseif(file_exists($dir)){
unlink($dir);
}
if(file_exists($dir)) {
return false;
}
}
/**
@ -472,9 +475,20 @@ class OC_Helper {
* remove all files created by self::tmpFile
*/
public static function cleanTmp(){
$leftoversFile='/tmp/oc-not-deleted';
if(file_exists($leftoversFile)){
$leftovers=file($leftoversFile);
foreach($leftovers as $file) {
self::rmdirr($file);
}
unlink($leftoversFile);
}
foreach(self::$tmpFiles as $file){
if(file_exists($file)){
self::rmdirr($file);
if(!self::rmdirr($file)) {
file_put_contents($leftoversFile, $file."\n", FILE_APPEND);
}
}
}
}