Changeset 66443 in spip-zone


Ignore:
Timestamp:
Oct 2, 2012, 8:08:49 PM (7 years ago)
Author:
xdjuj@…
Message:

Un peu de nettoyage de code supplémentaire. Demain on branche la partie "Formidable".

Location:
_plugins_/uploadify/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/uploadify/trunk/noisettes/uploadify.html

    r66433 r66443  
    55        <div id="custom-queue"></div>
    66        <input id="custom_file_upload" type="file" name="Filedata" />
    7 </div><!-- #custom-demo -->
     7</div><!-- #conteneur-uploadify -->
    88
    99<script type="text/javascript" charset="utf-8">
  • _plugins_/uploadify/trunk/paquet.xml

    r66433 r66443  
    22        prefix="uploadify"
    33        categorie="multimedia"
    4         version="1.0.1"
     4        version="1.0.2"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.0.*]"
     
    99>       
    1010        <nom>Uploadify</nom>
    11         <auteur lien="http://demo.apsulis.com">XDjuj</auteur>
     11        <auteur lien="http://demo.apsulis.com">Hady, XDjuj</auteur>
    1212        <copyright>2012</copyright>
    1313       
    1414        <pipeline nom="header_prive_css" action="insert_head_css" inclure="uploadify_pipelines.php" />
    1515       
     16        <necessite nom="medias" />
     17        <utilise nom="formidable" />
    1618</paquet>
  • _plugins_/uploadify/trunk/theme/uploadify/uploadify.css

    r66433 r66443  
    7272}
    7373.uploadify-queue-item .cancel a {
    74         background: url('theme/uploadify/uploadify-cancel.png') 0 0 no-repeat;
     74        background: url('uploadify-cancel.png') 0 0 no-repeat;
    7575        float: right;
    7676        height: 16px;
  • _plugins_/uploadify/trunk/uploadify.html

    r66406 r66443  
    2424       
    2525        $ajouter_documents = charger_fonction('ajouter_documents', 'action');
    26 
     26        include_spip('inc/joindre_document');
    2727        $mode = joindre_determiner_mode($mode,$id_document,$objet);
    28         include_spip('inc/joindre_document');
    29        
    30         $nouveaux_doc = ajouter_un_doc($id_document,$files,$objet,$id_objet,$mode);
     28        $ajouter_un_document = charger_fonction('ajouter_un_document','action');
     29        $nouveaux_doc = $ajouter_un_document($id_document, $files, $objet, $id_objet, $mode);
    3130
    3231        if (defined('_tmp_dir'))
    3332                effacer_repertoire_temporaire(_tmp_dir);
    34 
    3533       
    3634        // Ligne echo obligatoire pour le script Uploadify : c'est sa détection de bonne fin
     
    4240}
    4341
    44 // Les fonctions
    45 
     42// Copie/Conforme de medias/formulaires/joindre_document.php TODO => ne pourrait-on pas l'inclure directement ??
    4643function joindre_determiner_mode($mode,$id_document,$objet){
    4744        if ($mode=='auto'){
     
    5653        return $mode;
    5754}
    58 
    59 function ajouter_un_doc($id_document, $file, $objet, $id_objet, $mode) {
    60 
    61         $source = $file['tmp_name'];
    62         $nom_envoye = $file['name'];
    63 
    64         // passer en minuscules le nom du fichier, pour eviter les collisions
    65         // si le file system fait la difference entre les deux il ne detectera
    66         // pas que Toto.pdf et toto.pdf
    67         // et on aura une collision en cas de changement de file system
    68         $file['name'] = strtolower(translitteration($file['name']));
    69        
    70         // Pouvoir definir dans mes_options.php que l'on veut titrer tous les documents par d?faut
    71         if (!defined('_TITRER_DOCUMENTS')) { define('_TITRER_DOCUMENTS', false); }
    72 
    73         $titrer = isset($file['titrer'])?$file['titrer']:_TITRER_DOCUMENTS;
    74         $mode = ((isset($file['mode']) AND $file['mode'])?$file['mode']:$mode);
    75 
    76         include_spip('inc/modifier');
    77         if (isset($file['distant']) AND $file['distant'] AND !in_array($mode,array('choix','auto','image','document'))) {
    78                 include_spip('inc/distant');
    79                 $file['tmp_name'] = _DIR_RACINE . copie_locale($source);
    80                 $source = $file['tmp_name'];
    81                 unset($file['distant']);
    82         }
    83 
    84         // Documents distants : pas trop de verifications bloquantes, mais un test
    85         // via une requete HEAD pour savoir si la ressource existe (non 404), si le
    86         // content-type est connu, et si possible recuperer la taille, voire plus.
    87         if (isset($file['distant']) AND $file['distant']) {
    88                 include_spip('inc/distant');
    89                 if (is_array($a = renseigner_source_distante($source))) {
    90 
    91                         $champs = $a;
    92                         # NB: dans les bonnes conditions (fichier autorise et pas trop gros)
    93                         # $a['fichier'] est une copie locale du fichier
    94 
    95                         unset($champs['type_image']);
    96                 }
    97                 // on ne doit plus arriver ici, car l'url distante a ete verifiee a la saisie !
    98                 else {
    99                         spip_log("Echec du lien vers le document $source, abandon");
    100                         return $a; // message d'erreur
    101                 }
    102         }
    103         else { // pas distant
    104 
    105                 $champs = array(
    106                         'distant' => 'non'
    107                 );
    108                
    109                 $type_image = ''; // au pire
    110                 $champs['titre'] = '';
    111                 if ($titrer){
    112                         $titre = substr($nom_envoye,0, strrpos($nom_envoye, ".")); // Enlever l'extension du nom du fichier
    113                         $titre = preg_replace(',[[:punct:][:space:]]+,u', ' ', $titre);
    114                         $champs['titre'] = preg_replace(',\.([^.]+)$,', '', $titre);
    115                 }
    116 
    117                 if (!is_array($fichier = fixer_fichier_upload($file, $mode)))
    118                         return is_string($fichier)?$fichier:_T("medias:erreur_upload_type_interdit",array('nom'=>$file['name']));
    119                
    120                 $champs['inclus'] = $fichier['inclus'];
    121                 $champs['extension'] = $fichier['extension'];
    122                 $champs['fichier'] = $fichier['fichier'];
    123 
    124                 /**
    125                  * Récupère les informations du fichier
    126                  * -* largeur
    127                  * -* hauteur
    128                  * -* type_image
    129                  * -* taille
    130                  * -* ses metadonnées si une fonction de metadatas/ est présente
    131                  */
    132                 $infos = renseigner_taille_dimension_image($champs['fichier'],$champs['extension']);
    133                 if (is_string($infos))
    134                         return $infos; // c'est un message d'erreur !
    135                
    136                 $champs = array_merge($champs,$infos);
    137 
    138                 // Si mode == 'choix', fixer le mode image/document
    139                 if (in_array($mode,array('choix','auto'))) {
    140                         $choisir_mode_document = charger_fonction('choisir_mode_document','inc');
    141                         $mode = $choisir_mode_document($champs, $champs['inclus'] == 'image', $objet);
    142                 }
    143                 $champs['mode'] = $mode;
    144 
    145                 // if (($test = verifier_taille_document_acceptable($champs))!==true){
    146                 //      spip_unlink($champs['fichier']);
    147                 //      return $test; // erreur sur les dimensions du fichier
    148                 // }
    149 
    150                 unset($champs['type_image']);
    151                 unset($champs['inclus']);
    152                 $champs['fichier'] = set_spip_doc($champs['fichier']);
    153         }
    154 
    155         // si le media est pas renseigne, le faire, en fonction de l'extension
    156         if (!isset($champs['media'])){
    157                 $champs['media'] = sql_getfetsel('media_defaut','spip_types_documents','extension='.sql_quote($champs['extension']));
    158         }
    159        
    160         // lier le parent si necessaire
    161         if ($id_objet=intval($id_objet) AND $objet)
    162                 $champs['parents'][] = "$objet|$id_objet";
    163 
    164         // "mettre a jour un document" si on lui
    165         // passe un id_document
    166         if ($id_document=intval($id_document)){
    167                 unset($champs['titre']); // garder le titre d'origine
    168                 unset($champs['date']); // garder la date d'origine
    169                 unset($champs['descriptif']); // garder la desc d'origine
    170                 // unset($a['distant']); # on peut remplacer un doc statique par un doc distant
    171                 // unset($a['mode']); # on peut remplacer une image par un document ?
    172         }
    173 
    174         include_spip('action/editer_document');
    175         // Installer le document dans la base
    176         if (!$id_document){
    177                 if ($id_document = document_inserer())
    178                         spip_log ("ajout du document ".$file['tmp_name']." ".$file['name']."  (M '$mode' T '$objet' L '$id_objet' D '$id_document')",'medias');
    179                 else
    180                         spip_log ("Echec insert_document() du document ".$file['tmp_name']." ".$file['name']."  (M '$mode' T '$objet' L '$id_objet' D '$id_document')",'medias'._LOG_ERREUR);
    181         }
    182         if (!$id_document)
    183                 return _T('medias:erreur_insertion_document_base',array('fichier'=>"<em>".$file['name']."</em>"));
    184        
    185         document_modifier($id_document,$champs);
    186 
    187         // permettre aux plugins de faire des modifs a l'ajout initial
    188         // ex EXIF qui tourne les images si necessaire
    189         // Ce plugin ferait quand même mieux de se placer dans metadata/jpg.php
    190         pipeline('post_edition',
    191                 array(
    192                         'args' => array(
    193                                 'table' => 'spip_documents', // compatibilite
    194                                 'table_objet' => 'documents',
    195                                 'spip_table_objet' => 'spip_documents',
    196                                 'type' =>'document',
    197                                 'id_objet' => $id_document,
    198                                 'champs' => array_keys($champs),
    199                                 'serveur' => '', // serveur par defaut, on ne sait pas faire mieux pour le moment
    200                                 'action' => 'ajouter_document',
    201                                 'operation' => 'ajouter_document', // compat <= v2.0
    202                         ),
    203                         'data' => $champs
    204                 )
    205         );
    206 
    207         return $id_document ;
    208 }
    209 
    210 
    211 ?>
Note: See TracChangeset for help on using the changeset viewer.