Changeset 77243 in spip-zone


Ignore:
Timestamp:
Oct 15, 2013, 9:39:53 PM (8 years ago)
Author:
kent1@…
Message:

{tout} sur les controleurs et vues pour les fichiers

On internationalise la légende du controleur de fichier

Faire fonctionner le crayons sur les fichiers en SPIP 3.0 (méthode beaucoup plus simple qu'avant)

Location:
_plugins_/crayons
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/crayons/controleurs/document_fichier.html

    r35599 r77243  
    99[(#REM) En fonction de du contexte, choisir un logo ]
    1010
    11 <BOUCLE_d(DOCUMENTS){id_document}>
     11<BOUCLE_d(DOCUMENTS){id_document}{tout}>
    1212
    1313[(#SET{image,[<img src="(#LOGO_DOCUMENT||extraire_attribut{src})" />]})]
     
    2323        <small>[(#GET{logo}|inserer_attribut{src,#GET{url}}
    2424                |inserer_attribut{style,vertical-align:middle;})]
    25         &nbsp; remplacer ce document #EXTENSION
     25        &nbsp; <:crayons:legend_controleur_fichier_remplacer{extension=#EXTENSION}:>
    2626        [((#GET{image}
    2727                |extraire_attribut{width})&times;[(#GET{image}
    28                 |extraire_attribut{height})]px)]&nbsp;:</small>
     28                |extraire_attribut{height})]px)]</small>
    2929
    3030</legend>
  • _plugins_/crayons/inc/crayons.php

    r73875 r77243  
    141141// (ex: supprimer)
    142142function logo_revision($id, $file, $type, $ref) {
    143 
    144143        $chercher_logo = charger_fonction('chercher_logo', 'inc');
    145144        $_id_objet = id_table_objet($type);
     
    195194function document_fichier_revision($id, $data, $type, $ref) {
    196195
    197         $s = spip_query("SELECT * FROM spip_documents WHERE id_document="._q($id));
     196        $s = spip_query("SELECT * FROM spip_documents WHERE id_document=".intval($id));
    198197        if (!$t = sql_fetch($s))
    199198                return false;
     
    217216        if ($data['document']) {
    218217
    219                 $ajouter_documents = charger_fonction('ajouter_documents', 'inc');
    220218                $arg = $data['document'];
    221                 check_upload_error($arg['error']);
    222                 $x = $ajouter_documents($arg['tmp_name'], $arg['name'],
    223                         'article', 0, 'document', null, $actifs);
    224 
    225                 // $actifs contient l'id_document nouvellement cree
    226                 // on recopie les donnees interessantes dans l'ancien
    227                 $extension=", extension ";
    228                 //compat 192
    229                 if ($GLOBALS['spip_version_code'] < '1.93')
    230                         $extension="";
    231 
    232                 if ($id_new = array_pop($actifs)
    233                 AND $s = spip_query("SELECT fichier, taille, largeur, hauteur $extension, distant FROM spip_documents
    234                         WHERE id_document="._q($id_new))
    235                 AND $new = sql_fetch($s)) {
    236                         define('FILE_UPLOAD', true); // message pour crayons_json_export :(
    237 
    238                         // Une vignette doit rester une image
    239                         if ($t['mode'] == 'vignette'
    240                         AND !in_array($new['extension'], array('jpg', 'gif', 'png')))
     219               
     220                /**
     221                 * Méthode >= SPIP 3.0
     222                 * ou SPIP 2.x + Mediathèque
     223                 */
     224                if($ajouter_documents = charger_fonction('ajouter_documents','action',true)){
     225                        $actifs = $ajouter_documents($id,array($arg),'', 0,$t['mode']);
     226                        $x = reset($actifs);
     227                        if(is_numeric($x))
     228                                return true;
     229                        else
    241230                                return false;
    242 
    243                         // Maintenant on est bon, on recopie les nouvelles donnees
    244                         // dans l'ancienne ligne spip_documents
    245                         include_spip('inc/modifier');
    246                         modifier_contenu('document', $id,
    247                                 # 'champs' inutile a partir de SPIP 11348
    248                                 array('champs' => array_keys($new)),
    249                                 $new);
    250 
    251                         // supprimer l'ancien document (sauf s'il etait distant)
    252                         if ($t['distant'] != 'oui'
    253                         AND file_exists(get_spip_doc($t['fichier'])))
    254                                 supprimer_fichier(get_spip_doc($t['fichier']));
    255 
    256                         // Effacer la ligne temporaire de spip_document
    257                         spip_query("DELETE FROM spip_documents WHERE id_document="._q($id_new));
    258 
    259                         // oublier id_document temporaire (ca marche chez moi, sinon bof)
    260                         spip_query("ALTER TABLE spip_documents AUTO_INCREMENT="._q($id_new));
    261 
    262                         return true;
     231                }
     232                /**
     233                 * Méthode SPIP < 3.0
     234                 */
     235                else if($ajouter_documents = charger_fonction('ajouter_documents','inc',true)){
     236                        check_upload_error($arg['error']);
     237                        $x = $ajouter_documents($arg['tmp_name'], $arg['name'],
     238                                        'article', 0, 'document', null, $actifs);
     239                        // $actifs contient l'id_document nouvellement cree
     240                        // on recopie les donnees interessantes dans l'ancien
     241                        $extension=", extension ";
     242                        //compat 192
     243                        if ($GLOBALS['spip_version_code'] < '1.93')
     244                                $extension="";
     245
     246                        if ($id_new = array_pop($actifs)
     247                        AND $s = spip_query("SELECT fichier, taille, largeur, hauteur $extension, distant FROM spip_documents
     248                                WHERE id_document="._q($id_new))
     249                        AND $new = sql_fetch($s)) {
     250                                define('FILE_UPLOAD', true); // message pour crayons_json_export :(
     251
     252                                // Une vignette doit rester une image
     253                                if ($t['mode'] == 'vignette'
     254                                AND !in_array($new['extension'], array('jpg', 'gif', 'png')))
     255                                        return false;
     256
     257                                // Maintenant on est bon, on recopie les nouvelles donnees
     258                                // dans l'ancienne ligne spip_documents
     259                                include_spip('inc/modifier');
     260                                modifier_contenu('document', $id,
     261                                        # 'champs' inutile a partir de SPIP 11348
     262                                        array('champs' => array_keys($new)),
     263                                        $new);
     264
     265                                // supprimer l'ancien document (sauf s'il etait distant)
     266                                if ($t['distant'] != 'oui'
     267                                AND file_exists(get_spip_doc($t['fichier'])))
     268                                        supprimer_fichier(get_spip_doc($t['fichier']));
     269
     270                                // Effacer la ligne temporaire de spip_document
     271                                spip_query("DELETE FROM spip_documents WHERE id_document="._q($id_new));
     272
     273                                // oublier id_document temporaire (ca marche chez moi, sinon bof)
     274                                spip_query("ALTER TABLE spip_documents AUTO_INCREMENT="._q($id_new));
     275
     276                                return true;
     277                        }
    263278                }
    264279        }
     
    308323
    309324                /**
    310                  * Méthode < SPIP 3.0
     325                 * Méthode >= SPIP 3.0
     326                 * ou SPIP 2.x + Mediatheque
    311327                 */
    312                 if($ajouter_documents = charger_fonction('ajouter_documents','inc',true)){
    313                         // On remet l'id_vignette a 0 si on l'a supprimé
    314                         if($id_vignette) revision_document($s['id_document'], array('id_vignette'=>0));
    315                         $x = $ajouter_documents($arg['tmp_name'], $arg['name'],'','', 'vignette', $id, $actifs);
    316                 }
    317                 /**
    318                  * Méthode >= SPIP 3.0
    319                  */
    320                 else if($ajouter_documents = charger_fonction('ajouter_documents','action',true)){
     328                if($ajouter_documents = charger_fonction('ajouter_documents','action',true)){
    321329                        $x = $ajouter_documents(null,array($arg),'', 0, 'vignette');
    322330                        $vignette = reset($x);
     
    326334                                document_modifier($id, array('id_vignette'=>$id_vignette));
    327335                }
     336                /**
     337                 * Méthode < SPIP 3.0
     338                 */
     339                else if($ajouter_documents = charger_fonction('ajouter_documents','inc',true)){
     340                        // On remet l'id_vignette a 0 si on l'a supprimé
     341                        if($id_vignette) revision_document($s['id_document'], array('id_vignette'=>0));
     342                        $x = $ajouter_documents($arg['tmp_name'], $arg['name'],'','', 'vignette', $id, $actifs);
     343                }
     344               
    328345        }else
    329346                // Suppression de la vignette ?
  • _plugins_/crayons/lang/crayons_fr.php

    r76134 r77243  
    4646        'label_upload_document' => 'Autoriser l’ajout de documents par glisser/déposer sur le crayon article.texte',
    4747        'label_yellow_fade' => 'Fade',
     48        'legend_controleur_fichier_remplacer' => 'Remplacer ce document "@extension@"',
    4849        'legend_controleur_hyperlien' => 'Hyperlien',
    4950        'legend_controleur_logo' => 'Choisir un logo :',
  • _plugins_/crayons/paquet.xml

    r75756 r77243  
    22        prefix="crayons"
    33        categorie="edition"
    4         version="1.16.5"
     4        version="1.16.6"
    55        etat="stable"
    66        compatibilite="[1.9.0;*]"
  • _plugins_/crayons/plugin.xml

    r75222 r77243  
    1717        </licence>
    1818        <version>
    19         1.16.4
     19        1.16.6
    2020        </version>
    2121        <etat>
  • _plugins_/crayons/vues/document_fichier.html

    r14757 r77243  
    55]
    66
    7 <BOUCLE_d(DOCUMENTS){id_document}>
     7<BOUCLE_d(DOCUMENTS){id_document}{tout}>
    88
    99[(#VAL{<img}|concat{#ID_DOCUMENT}|concat{>}|propre)]
Note: See TracChangeset for help on using the changeset viewer.