From: x2003bruneau Date: Thu, 2 Mar 2006 12:48:04 +0000 (+0000) Subject: Gestion des erreurs d'upload des piÚces jointes X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=ef84d640fe5581f2c6f836660b668a38157f9533;p=banana.git Gestion des erreurs d'upload des piÚces jointes git-svn-id: svn+ssh://murphy/home/svn/banana/trunk@18 9869982d-c50d-0410-be91-f2a2ec7c7c7b --- diff --git a/banana/banana.inc.php.in b/banana/banana.inc.php.in index 9989956..e59b1d1 100644 --- a/banana/banana.inc.php.in +++ b/banana/banana.inc.php.in @@ -324,17 +324,34 @@ class Banana // include attachment in the body $uploaded = $this->_upload('newpj'); - if ($uploaded['error'] == 0) { - $this->custom = $this->custom_mp; - $body = "\n--".$this->boundary."\n".$this->custom_bd."\n\n".$body."\n--".$this->boundary."\n"; - - $body .= 'Content-Type: '.$uploaded['type'].'; name="'.$uploaded['name']."\"\n"; - $body .= 'Content-Transfer-Encoding: '.$uploaded['encoding']."\n\n"; - $body .= 'Content-Disposition: attachment; filename="'.$uploaded['name']."\"\n"; - $body .= $uploaded['data']; - $body .= '--'.$this->boundary.'--'; + switch ($uploaded['error']) { + case UPLOAD_ERR_OK: + $this->custom = $this->custom_mp; + $body = "\n--".$this->boundary."\n".$this->custom_bd."\n\n".$body."\n--".$this->boundary."\n"; + + $body .= 'Content-Type: '.$uploaded['type'].'; name="'.$uploaded['name']."\"\n"; + $body .= 'Content-Transfer-Encoding: '.$uploaded['encoding']."\n\n"; + $body .= 'Content-Disposition: attachment; filename="'.$uploaded['name']."\"\n"; + $body .= $uploaded['data']; + $body .= '--'.$this->boundary.'--'; + break; + + case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: + return '

'._b_('Fichier trop gros pour être envoyé : ') + .$uploaded['name'].'

'.$this->action_showThread($group, $artid); + + case UPLOAD_ERR_PARTIAL: + return '

'._b_('Erreur lors de l\'upload de ') + .$uploaded['name'].'

'.$this->action_showThread($group, $artid); + + case UPLOAD_ERR_NO_FILE: + return '

'._b_('Le fichier spécifié n\'existe pas : ') + .$uploaded['name'].'

'.$this->action_showThread($group, $artid); + + case UPLOAD_ERR_NO_TMP_DIR: + return '

'._b_('Une erreur est survenue sur le serveur lors de l\'upload de ') + .$uploaded['name'].'

'.$this->action_showThread($group, $artid); } - #TODO:afficher les erreurs lorsque l'upload ne marche pas // finalise and post the message $msg .= $this->custom.$this->profile['customhdr']."\n".$body;