Bonjour,
J'ouvre ce sujet car j'ai découvert le dossier data/upload ainsi que le plugin plugin_upload et que je veux tester tout ça. Mais d'abord j'ai quelques questions pour être sûre de bien comprendre le fonctionnement de l'upload dans MKF avant de commencer.
En consultant l'API je suis arrivée sur le tutoriel "Permettre l'upload d'un fichier". Voici mes questions:
1- Au lieu de ceci:peut-on utiliser le plugin_form et mettre ceci?Photo de profil : <input type="file" name="profilPicture" />2- A présent j'ai suivi les instruction du tuto dans mon controleur, ce qui me donne ceci:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6<tr> <th width="200">Chargez votre lettre de motivation (pdf |max. 1Mo) :</th> <td><input type="hidden" name="MAX_FILE_SIZE" value="1048580" /> <?php echo $oForm->getInputUpload('lettre_motivation',array('accept'=>".pdf")) ?> </td> </tr>
Est-ce bien? Car à l’exécution j'ai une erreur a propos de plugin_upload que je ne déchiffre pas. En plus le dossier data/upload est toujours vide.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 public function _new(){ $tMessage=$this->processSaveUpload(); $oCandidatures=new row_candidatures; $oView=new _view('candidatures::new'); $oView->oCandidatures=$oCandidatures; $oView->tJoinmodel_candidats=model_candidats::getInstance()->getSelect(); $oView->tJoinmodel_utilisateurs=model_utilisateurs::getInstance()->getSelect(); $oView->tJoinmodel_staut_cands=model_statut_cands::getInstance()->getSelect(); $oPluginXsrf=new plugin_xsrf(); $oView->token=$oPluginXsrf->getToken(); $oView->tMessage=$tMessage; $this->oLayout->add('main',$oView); $this->oLayout->title="e-tmg - Dépot de candidature"; } private function processSaveUpload(){ if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas return null; } $oPluginXsrf=new plugin_xsrf(); if(!$oPluginXsrf->checkToken( _root::getParam('token'))){ //on verifie que le token est valide return array('token'=>$oPluginXsrf->getMessage() ); } $oCandidatures=new row_candidatures; //je renseigne automatiquement certains champs de l'objet candidature $iIdCand=$_SESSION['id']; $iIdPoste=_root::getParam('idPoste',null); $oCandidatures->candidat_id = $iIdCand; $oCandidatures->poste_id = $iIdPoste; $oCandidatures->date_depot = date("Y-m-d"); $oCandidatures->statut_cands_id = 1; $sColumn='lettre_motivation'; $oPluginUpload=new plugin_upload($sColumn); if($oPluginUpload->isValid()){ $sNewFileName='data/upload/'.$sColumn.'_Candidat_'.$iIdCand.'_Poste_'.$iIdPoste.'_'.date('Ymdhis'); $oPluginUpload->saveAs($sNewFileName); $oCandidatures->lettre_motivation=$oPluginUpload->getPath(); if($oCandidatures->save()){ //une fois enregistre on redirige (vers la page liste) _root::redirect('default::succesCandidature'); }else{ return $oCandidatures->getListError(); } }else{ return $oCandidatures->getListError(); } }
Merci pour l'aide
Partager