X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fplupload.php;h=ea192f0eb77ec5b827922e41f82f91bc5cd80acd;hb=afada5eb6cf23005f775fbab0d421c27393172f1;hp=133b55da661ce249854007d5970db37a9aff3aba;hpb=d0327f6de73e81c4bcc656471ca4161e4f1e1e1b;p=platal.git diff --git a/classes/plupload.php b/classes/plupload.php index 133b55d..ea192f0 100644 --- a/classes/plupload.php +++ b/classes/plupload.php @@ -49,7 +49,7 @@ class PlUpload private function makeFilename($file_id) { global $globals; - $filename = $globals->spoolroot . '/spool/uploads/temp/'; + $filename = $globals->spoolroot . '/spool/tmp/'; if (!file_exists($filename)) { if (!mkdir($filename)) { trigger_error('can\'t create upload directory: ' . $filename, E_USER_ERROR); @@ -66,6 +66,9 @@ class PlUpload { if ($this->exists()) { $this->type = trim(mime_content_type($this->filename)); + if ($this->type == 'text/plain') { // Workaround a bug of php 5.2.0+etch10 (mime_content_type fallback is 'text/plain') + $this->type = preg_replace('/;.*/', '', trim(shell_exec('file -bi ' . escapeshellarg($this->filename)))); + } } } @@ -159,7 +162,7 @@ class PlUpload static public function listRawFiles($forlife = '*', $category = '*', $uniq = false, $basename = false) { global $globals; - $filename = $globals->spoolroot . '/spool/uploads/temp/'; + $filename = $globals->spoolroot . '/spool/tmp/'; $filename .= $forlife . '--' . $category; if (!$uniq) { $filename .= '--*'; @@ -228,6 +231,10 @@ class PlUpload $array = getimagesize($this->filename); $array[2] = @$map[$array[2]]; if (!$array[2]) { + list($image, $type) = explode('/', $array['mime']); + $array[2] = $type; + } + if (!$array[2]) { trigger_error('unknown image type', E_USER_NOTICE); return null; }