Commit 663be51015086480ffc6428c75420a4aac36a11f
1 parent
104279ed
Added fix for symlinked uploads directories.
Committed by: Megan Watson
Showing
1 changed file
with
20 additions
and
1 deletions
ktwebservice/KTUploadManager.inc.php
| @@ -103,7 +103,26 @@ class KTUploadManager | @@ -103,7 +103,26 @@ class KTUploadManager | ||
| 103 | $this->temp_dir | 103 | $this->temp_dir |
| 104 | ); | 104 | ); |
| 105 | 105 | ||
| 106 | - return ($tempdir == $main_temp_dir); | 106 | + $check = ($tempdir == $main_temp_dir); |
| 107 | + | ||
| 108 | + if($check){ | ||
| 109 | + return $check; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + // in case of a symlinked directory, check if the file exists and is in the uploads directory | ||
| 113 | + $file = basename($tempfilename); | ||
| 114 | + $path = $this->temp_dir . DIRECTORY_SEPARATOR . $file; | ||
| 115 | + | ||
| 116 | + if(file_exists($path)){ | ||
| 117 | + return true; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + // log the error | ||
| 121 | + global $default; | ||
| 122 | + $default->log->error('Upload Manager: can\'t resolve temporary filename: '.$tempfilename .' in uploads directory: '.$this->temp_dir); | ||
| 123 | + | ||
| 124 | + return false; | ||
| 125 | + | ||
| 107 | /* | 126 | /* |
| 108 | $tempdir = substr($tempfilename,0,strlen($this->temp_dir)); | 127 | $tempdir = substr($tempfilename,0,strlen($this->temp_dir)); |
| 109 | $tempdir = str_replace('\\','/', $tempdir); | 128 | $tempdir = str_replace('\\','/', $tempdir); |