Erreur étrange dans un doSave : FATAL ERROR, mais le traitement continu oO
Bonjour.
C'est la première fois de ma vie où j'ai une erreur aussi insolite.
Je tourne sous Symfony 1.4.11. Je voudrais redimensionner l'avatar posté et validé par un sfValidatorFile à chaque enregistrement dans un doSave() de la classe du formulaire.
Le problème c'est que cela me provoque une erreur :
Fatal error: Call to a member function getTempName() on a non-object in lib/form/doctrine/MembreForm.class.php
Et pourtant le traitement continu bel et bien ! Je génère une série de miniatures et ces dites miniatures sont bien créées ! Mon getTempName renvoit bien le chemin temporaire de l'upload. Mouarf je comprends plus rien xD
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <?php
protected function doSave($con = null) {
if ($file = $this->getValue('avatar')) {
$sel = mt_rand(1,50000);
$tmp_name = $file->getTempName(); // <======== ligne qui fait tout planter
// Génération miniature 50x50
$mini = new sfThumbnail(50, 50, false, true, 80);
$mini->loadFile($tmp_name);
$mini->save(sfConfig::get('sf_upload_dir').'/avatars/50x50/'.$sel.$file->getOriginalName(), 'image/jpeg');
// Génération miniature 32x32
$mini = new sfThumbnail(32, 32, false, true, 80);
$mini->loadFile($tmp_name);
$mini->save(sfConfig::get('sf_upload_dir').'/avatars/32x32/'.$sel.$file->getOriginalName(), 'image/jpeg');
// Génération miniature 16x16
$mini = new sfThumbnail(16, 16, false, true, 80);
$mini->loadFile($tmp_name);
$mini->save(sfConfig::get('sf_upload_dir').'/avatars/16x16/'.$sel.$file->getOriginalName(), 'image/jpeg');
$this->values['avatar'] = $sel.$file->getOriginalName();
}
else
$this->values['avatar'] = $this->getObject()->getAvatar();
return parent::save($con);
} |
Merci d'avance :)