Bonjour,

Question assez simple je pense :
J'ai besoin de gérer la création de 3  miniatures (via plugin) correspondant
à trois champs images.

Pour l'instant il est tout à faire possible de le faire pour un champ à
l'aide du code suivant :

public function updatePromotionFromRequest()
        {


        //on récupère les données du tableau
            $promotion = $this->getRequestParameter('promotion');

                //si le champs promotion est rempli on récupère le champs
                //et on le stocke dans l'objet promotion.
            if (isset($promotion['promotion']))
                {
                    $this->promotion->setPromotion($promotion['promotion']);
                }



/*=================================================================================================*/
                /* Si il n'y a pas d'erreur et qu'un fichier est chargé */

/*=================================================================================================*/
            if (!$this->getRequest()->hasErrors() &&
$this->getRequest()->getFileSize('promotion[file_path1]'))
                {
                //on récupère le champ promotion qui servira de nom de
fichier
                    $fileName = "{$this->promotion->getPromotion()}";
                        //on récupère l'extension du fichier uploadé
                    $ext =
$this->getRequest()->getFileExtension('promotion[file_path1]');

                        //on créé un objet image miniature
                    $thumbnail = new sfThumbnail(80, 80);
                        //on charge le fichier temporaire uploadé dans
l'objet miniature

$thumbnail->loadFile($this->getRequest()->getFilePath('promotion[file_path1]'));
                        //on enregistre la miniature sur le serveur sous le
nom _imac2006.png

                        if(preg_match("/\.jpg/i",$ext)){$typeMime =
'image/jpeg';}
                            elseif(preg_match("/\.png/i",$ext)){$typeMime =
'image/png';} // ne gère pas la transparence


$thumbnail->save(sfConfig::get('sf_upload_dir').'/promotion/_'.$fileName.'_1'.$ext,
$typeMime);

                }
            parent::updatePromotionFromRequest();
        }

Pour éviter de répéter 3 fois ce code pour les 3 champs, je souhaite créer
une fonction createThumnail, où dois-je la créer et comment puis-je l'appelé
depuis actions.class.php


PS : Je sais pas si c'est très éléguant de faire $promotion =
$this->getRequestParameter('promotion'); ainsi que les qqes lignes après,
achant que c'est également présent dans le parent.updatePromotionRequest()

-- 
Samuel MARTIN - Etudiant Ingénieur IMAC
Blog. http://creaone.fr
Mob. 06 42 67 96 63
Skype. martin.sam
MSN/Gtalk. [EMAIL PROTECTED]
ICQ. 444725054
Ziki. http://my.ziki.com/martinsam

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse symfony-fr@googlegroups.com
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [EMAIL PROTECTED]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à