Skip to content
Browse files

update uploadify

  • Loading branch information...
1 parent ebef9f6 commit a1ddcec131ef0da12985ea21c1e317f69e29ce29 @vincentchalamon committed Jul 5, 2012
View
6 lib/widget/sfWidgetFormInputUploadify.class.php
@@ -139,7 +139,10 @@ public function getScript($name)
return false;
},
'onError' : function(event, ID, fileObj, errorObj) {
- %s('%s : ' + errorObj.type + ' : ' + errorObj.info);
+ if(errorObj.status == 404) alert('Could not find upload script.');
+ else if(errorObj.type === "HTTP") alert('error '+errorObj.type+": "+errorObj.status);
+ else if(errorObj.type ==="File Size") alert(fileObj.name+' '+errorObj.type+' Limit: '+Math.round(%s/1024)+'KB');
+ else %s('%s : ' + errorObj.type + ' : ' + errorObj.text);
}
});
$('%s').siblings('.uploadifyQueueCustom').find('.cancel a').click(function(event){
@@ -172,6 +175,7 @@ public function getScript($name)
, $this->getOption('multi') ? 'true' : 'false'
, $this->getOption('alertFunction')
, str_ireplace("'", "\'", str_ireplace('%%max%%', $this->getOption('max'), $this->getOption('fullMessage')))
+ , $this->getOption('sizeLimit') ? $this->getOption('sizeLimit') : "null"
, $this->getOption('alertFunction')
, str_ireplace("'", "\'", $this->getOption('errorMessage'))
, $name
View
31 modules/sfEPFactoryForm/lib/BasesfEPFactoryFormActions.class.php
@@ -42,8 +42,31 @@ public function executeUploadify(sfWebRequest $request)
try {
// Récupère le fichier envoyé
$file = $request->getFiles('Filedata');
- if(!$file || !is_array($file) || !count($file)) {
- throw new sfException('No file to upload.');
+ if (!$file || !is_array($file) || !count($file)) {
+ $error = "No file to upload.";
+ }
+ elseif ($file['error']) {
+ switch ($file['error']) {
+ // UPLOAD_ERR_INI_SIZE
+ case 1:
+ $error = "Le fichier dépasse la limite autorisée par le serveur !";
+ break;
+ // UPLOAD_ERR_FORM_SIZE
+ case 2:
+ $error = "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
+ break;
+ // UPLOAD_ERR_PARTIAL
+ case 3:
+ $error = "L'envoi du fichier a été interrompu pendant le transfert !";
+ break;
+ // UPLOAD_ERR_NO_FILE
+ case 4:
+ $error = "Le fichier que vous avez envoyé a une taille nulle !";
+ break;
+ }
+ }
+ if (isset($error)) {
+ return $this->renderText("error:".$error);
}
// Génère les noms de répertoire et fichier définitif
$targetRelativePath = DIRECTORY_SEPARATOR.trim($request->getParameter("folder"), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
@@ -54,7 +77,9 @@ public function executeUploadify(sfWebRequest $request)
mkdir($targetPath, 0777);
}
// Déplace le fichier temporaire vers le répertoire cible
- move_uploaded_file($file['tmp_name'], $targetPath.$savedFileName);
+ if(!move_uploaded_file($file['tmp_name'], $targetPath.$savedFileName)) {
+ throw new sfException("Impossible de déplacer le fichier ".$file['tmp_name']." vers $targetPath$savedFileName.");
+ }
// Génère une erreur si le fichier n'existe pas (droits sur le répertoire)
if(!is_file($targetPath.$savedFileName)) {
throw new sfException("Impossible d'uploader le fichier $targetPath$savedFileName.");

0 comments on commit a1ddcec

Please sign in to comment.
Something went wrong with that request. Please try again.