Changeset 66099 in spip-zone for _plugins_/formulaire_upload


Ignore:
Timestamp:
Sep 20, 2012, 1:20:46 PM (7 years ago)
Author:
erational@…
Message:

reparer l'upload multiple ... il suffit de nettoyer le code _

Location:
_plugins_/formulaire_upload/trunk/formulaires
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formulaire_upload/trunk/formulaires/upload.html

    r66077 r66099  
    55[(#ENV{editable})
    66<form action="#ENV{action}#formulaire_upload" method="post" enctype="multipart/form-data">
    7         [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ]
    87        #ACTION_FORMULAIRE{#ENV{action}}
    98        <fieldset>
     
    1413                        <div>
    1514                                <label for="fichier_#ENV{objet}_#ENV{id_objet}"><:formupload:choosefiles:></label>
    16                                 <input type="file" id="fichier_#ENV{objet}_#ENV{id_objet}" name="fichier" [ accept="(#CONFIG{formulaireupload/files_accepted})"][ maxlength="(#CONFIG{formulaireupload/files_number})"] />
    17                         </div>
     15                                <input type="file" id="fichier_#ENV{objet}_#ENV{id_objet}" name="fichier\[\]" [ accept="(#CONFIG{formulaireupload/files_accepted})"][ maxlength="(#CONFIG{formulaireupload/files_number})"] />
     16                  </div>
    1817                        </li>
    1918                </ul>
    20                 <p class="spip_bouton"><input type="submit" value="<:bouton_enregistrer:>" /></p>
     19                <p class='boutons'><input class='submit' type="submit" name="joindre_upload" value="<:bouton_enregistrer:>"/></p>
    2120        </fieldset>
    2221<script type="text/javascript">
  • _plugins_/formulaire_upload/trunk/formulaires/upload.php

    r66077 r66099  
    5555  }
    5656
    57         // Ajouter un document  
    58         if (($files = ($_FILES ? $_FILES : $HTTP_POST_FILES)) && (is_uploaded_file($files['fichier']['tmp_name']))) {
    59                  
    60     include_spip('action/ajouter_documents');
    61                 $ajouter_un_document = charger_fonction('ajouter_un_document','action');
     57        // Ajouter un document (cf plugins-dist/medias)
     58  include_spip('inc/joindre_document');
     59        $files = joindre_trouver_fichier_envoye();
     60   
     61  if (is_array($files)) {
    6262   
    63     $extention_autorisee = explode("|",lire_config("formulaireupload/files_accepted"));
    64     $nb_doc_autorise = intval(lire_config("formulaireupload/files_number"));
     63    $ajouter_documents = charger_fonction('ajouter_documents', 'action');
     64    $nouveaux_doc = $ajouter_documents($id_document,$files,$objet,$id_objet,'document');
    6565   
    66     $compteur = 0; 
    67     $res['message_ok'] = "";
     66    $compteur = count($nouveaux_doc);
    6867   
    69     // FIXE A VERIFIER ne prend que le dernier fichier ...
     68    /* A verifier:
     69       - securite : verifier les extentions (si forcing)
     70       - ajouter un quota image pour client ?
     71       
    7072
    71     foreach ($files as $file) {           
    72            // verification cote serveur
    73             // DEBUG $res['message_ok'] .= " -*- ";
    74            // ... si le fichier est autorisee (securite)
    75            if (count($extention_autorisee)>0) {
    76                    //  FIXME : il faudrait tester l'extension est bien conforme a la configuration (pour eviter les hacks)
    77                    //          analyser le mime type du _FILE et trouver la correspond ds spip document
    78            }
    79            
    80          
    81            // limite aux nombres de fichiers liés à l'objet ?           
    82            if ($nb_doc_autorise==0) { 
    83                 // pas de limite           
    84                  $id = $ajouter_un_document("new", $file, $type, $id_objet, 'document');
    85                  $compteur++;
    86            }  else {
    87                 // oui, on cherche les objets déjà liés
     73    $quota_client = intval(lire_config("formulaireupload/files_number"));
     74   
     75
     76                // quota
    8877                $nb_objet = 0;
    8978                if ($res_nb_objet = sql_select('id_document', 'spip_documents_liens', array("objet = '$type'",'id_objet='.intval($id_objet))))
    9079                           $nb_objet = sql_count($res_nb_objet);
    91                 if ($nb_objet<=$nb_doc_autorise)  {
    92                      $id = $ajouter_un_document("new", $file, $type, $id_objet, 'document');
    93                     $compteur++;
    94                 }  else {
     80                if ($nb_objet<=$quota_client ) 
     81                 
    9582                    $res['message_ok'] =  _T("formupload:msg_doc_added_max",array("max"=>$nb_doc_autorise))."<br />";
    96                 }
    97                      
    98            }
     83               
     84            ... a finir ...
    9985           
    10086    }
    101    
     87       */
    10288                $invalider = true;
    103                 $res['message_ok'] .= _T("formupload:msg_doc_added",array("compteur"=>$compteur));
     89                $res['message_ok'] = _T("formupload:msg_doc_added",array("compteur"=>$compteur));
    10490        }
    10591
Note: See TracChangeset for help on using the changeset viewer.