From 80ee61b9edf4f707b1854766c16ae63c2d228a1d Mon Sep 17 00:00:00 2001 From: Mzhelskiy Maxim Date: Sun, 4 Apr 2010 12:15:40 +0000 Subject: [PATCH] fix upload file --- classes/modules/blog/Blog.class.php | 10 ++++++++-- classes/modules/topic/Topic.class.php | 11 ++++++++--- classes/modules/user/User.class.php | 18 ++++++++++++++---- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/classes/modules/blog/Blog.class.php b/classes/modules/blog/Blog.class.php index 78cef658..479d5de1 100644 --- a/classes/modules/blog/Blog.class.php +++ b/classes/modules/blog/Blog.class.php @@ -774,7 +774,11 @@ class LsBlog extends Module { return false; } - $sFileTmp=$aFile['tmp_name']; + $sFileTmp=Config::Get('sys.cache.dir').func_generator(); + if (!move_uploaded_file($aFile['tmp_name'],$sFileTmp)) { + return false; + } + $sPath=$this->Image_GetIdDir($oBlog->getOwnerId()); $aParams=$this->Image_BuildParams('avatar'); @@ -786,6 +790,7 @@ class LsBlog extends Module { if($sError=$oImage->get_last_error()) { // Вывод сообщения об ошибки, произошедшей при создании объекта изображения // $this->Message_AddError($sError,$this->Lang_Get('error')); + @unlink($sFileTmp); return false; } /** @@ -796,12 +801,13 @@ class LsBlog extends Module { if ($oImage && $sFileAvatar=$this->Image_Resize($sFileTmp,$sPath,"avatar_blog_{$oBlog->getUrl()}_48x48",3000,3000,48,48,false,$aParams,$oImage)) { $this->Image_Resize($sFileTmp,$sPath,"avatar_blog_{$oBlog->getUrl()}_24x24",3000,3000,24,24,false,$aParams,$oImage); $this->Image_Resize($sFileTmp,$sPath,"avatar_blog_{$oBlog->getUrl()}",3000,3000,null,null,false,$aParams,$oImage); - + @unlink($sFileTmp); /** * Если все нормально, возвращаем расширение загруженного аватара */ return $this->Image_GetWebPath($sFileAvatar); } + @unlink($sFileTmp); /** * В случае ошибки, возвращаем false */ diff --git a/classes/modules/topic/Topic.class.php b/classes/modules/topic/Topic.class.php index 6c9679ce..f4c2d0c0 100644 --- a/classes/modules/topic/Topic.class.php +++ b/classes/modules/topic/Topic.class.php @@ -1307,14 +1307,19 @@ class LsTopic extends Module { if(!is_array($aFile) || !isset($aFile['tmp_name'])) { return false; } - - $sDirUpload=$this->Image_GetIdDir($oUser->getId()); - $sFileTmp=$aFile['tmp_name']; + + $sFileTmp=Config::Get('sys.cache.dir').func_generator(); + if (!move_uploaded_file($aFile['tmp_name'],$sFileTmp)) { + return false; + } + $sDirUpload=$this->Image_GetIdDir($oUser->getId()); $aParams=$this->Image_BuildParams('topic'); if ($sFileImage=$this->Image_Resize($sFileTmp,$sDirUpload,func_generator(6),3000,3000,Config::Get('view.img_resize_width'),null,true,$aParams)) { + @unlink($sFileTmp); return $this->Image_GetWebPath($sFileImage); } + @unlink($sFileTmp); return false; } /** diff --git a/classes/modules/user/User.class.php b/classes/modules/user/User.class.php index 6ab89191..3bead4a8 100644 --- a/classes/modules/user/User.class.php +++ b/classes/modules/user/User.class.php @@ -1067,7 +1067,10 @@ class LsUser extends Module { return false; } - $sFileTmp=$aFile['tmp_name']; + $sFileTmp=Config::Get('sys.cache.dir').func_generator(); + if (!move_uploaded_file($aFile['tmp_name'],$sFileTmp)) { + return false; + } $sPath = $this->Image_GetIdDir($oUser->getId()); $aParams=$this->Image_BuildParams('avatar'); @@ -1082,6 +1085,7 @@ class LsUser extends Module { if($sError=$oImage->get_last_error()) { // Вывод сообщения об ошибки, произошедшей при создании объекта изображения // $this->Message_AddError($sError,$this->Lang_Get('error')); + @unlink($sFileTmp); return false; } @@ -1094,12 +1098,13 @@ class LsUser extends Module { $this->Image_Resize($sFileTmp,$sPath,'avatar_48x48',3000,3000,48,48,false,$aParams); $this->Image_Resize($sFileTmp,$sPath,'avatar_24x24',3000,3000,24,24,false,$aParams); $this->Image_Resize($sFileTmp,$sPath,'avatar',3000,3000,null,null,false,$aParams); - + @unlink($sFileTmp); /** * Если все нормально, возвращаем расширение загруженного аватара */ return $this->Image_GetWebPath($sFileAvatar); } + @unlink($sFileTmp); /** * В случае ошибки, возвращаем false */ @@ -1134,18 +1139,23 @@ class LsUser extends Module { if(!is_array($aFile) || !isset($aFile['tmp_name'])) { return false; } - + + $sFileTmp=Config::Get('sys.cache.dir').func_generator(); + if (!move_uploaded_file($aFile['tmp_name'],$sFileTmp)) { + return false; + } $sDirUpload=$this->Image_GetIdDir($oUser->getId()); - $sFileTmp=$aFile['tmp_name']; $aParams=$this->Image_BuildParams('foto'); if ($sFileFoto=$this->Image_Resize($sFileTmp,$sDirUpload,func_generator(6),3000,3000,250,null,true,$aParams)) { + @unlink($sFileTmp); /** * удаляем старое фото */ $this->DeleteFoto($oUser); return $this->Image_GetWebPath($sFileFoto); } + @unlink($sFileTmp); return false; } /**