Changeset 91450 in spip-zone for _plugins_/docker


Ignore:
Timestamp:
Aug 23, 2015, 10:38:24 PM (5 years ago)
Author:
toutati@…
Message:

Nouvelle version qui permet d'exclure des extensions lors de l'import des dcuments distants (voir page de configuration)

Location:
_plugins_/docker/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/docker/trunk/formulaires/configurer_docker.html

    r82068 r91450  
    2121                                                        </div>
    2222                                                </li>
    23                                         </ul>
    24                                         <ul>
     23                                       
    2524                                                <li class="editer editer_docker_idem">
    2625                                                        <p class="explication"><:docker:docker_idem_descriptif:></p>
     
    3029                                                        </div>
    3130                                                </li>
    32                                         </ul>
    33                                         <ul>
     31                                       
    3432                                                <li class="editer editer_docker_minuscules">
    3533                                                        <p class="explication"><:docker:docker_minuscules_descriptif:></p>
     
    3836                                                                <label for="minuscules"><:docker:minuscules_label:></label>
    3937                                                        </div>
     38                                                </li>
     39                                               
     40                                                <li>
     41                                                        <label for="extensions"><:docker:extensions_exclure_label:></label>
     42                                                        [<span class='erreur'>(#ENV**{erreurs}|table_valeur{nblimite})</span>]
     43                                                        <p class='explication'>
     44                                                                <:docker:entrer_extensions_virgule:> <br />
     45                                                        </p>
     46                                                        <input type="text" name="extensions" class="text" value = "#ENV{extensions}" id="extensions" />
    4047                                                </li>
    4148                                        </ul>
  • _plugins_/docker/trunk/formulaires/import_docker.html

    r82012 r91450  
    1313                        <ul>
    1414                                <li>
    15                                         <label for="id_rubrique"><:docker:id_rubrique:></label>
    16                                         [<span class='erreur'>(#ENV**{erreurs}|table_valeur{id_rubrique})</span>]
     15                                        <label for="objet"><:docker:objet:></label>
     16                                        [<span class='erreur'>(#ENV**{erreurs}|table_valeur{objet})</span>]
    1717                                        <p class='explication'>
    18                                                 <:docker:entrer_id_rubrique:><br />
     18                                                <:docker:entrer_objet_parent_as_article:><br />
    1919                                        </p>
    20                                         <input type="text" name="id_rubrique" class="text" value = "#ENV{id_rubrique}" id="id_rubrique" />
     20                                        <input type="text" name="objet" class="text" value = "#ENV{objet}" id="objet" />
     21                                </li>
     22                                <li>
     23                                        <label for="id_objet"><:docker:id_objet:></label>
     24                                        [<span class='erreur'>(#ENV**{erreurs}|table_valeur{id_objet})</span>]
     25                                        <p class='explication'>
     26                                                <:docker:entrer_id_objet_parent:><br />
     27                                        </p>
     28                                        <input type="text" name="id_objet" class="text" value = "#ENV{id_objet}" id="id_objet" />
    2129                                </li>
    2230                                <li>
     
    3240
    3341       
    34         [(#INCLURE{fond=prive/liste/documents_distants, env, id_rubrique=#ENV{id_rubrique}})]
     42        [(#INCLURE{fond=prive/liste/documents_distants, env, id_objet=#ENV{id_objet}})]
    3543         
    3644         <p class="boutons">
  • _plugins_/docker/trunk/formulaires/import_docker.php

    r82068 r91450  
    66
    77function formulaires_import_docker_charger(){
    8         $contexte['id_rubrique'] = _request('id_rubrique');
     8        $contexte['id_objet'] = _request('id_objet');
     9        $contexte['objet'] = _request('objet');
    910        $contexte['nblimite'] = _request('nblimite');
    1011        return $contexte;
     
    1415        $erreurs = array();
    1516       
    16         /*if (_request('id_rubrique')) {
    17                 if (!is_numeric(_request('id_rubrique'))){
    18                         $erreurs['id_rubrique']=_T('docker:valeur_incorrecte');
     17        /*if (_request('id_objet')) {
     18                if (!is_numeric(_request('id_objet'))){
     19                        $erreurs['id_objet']=_T('docker:valeur_incorrecte');
    1920                }
    2021        }*/
     
    2627function formulaires_import_docker_traiter(){
    2728       
    28         // On commence par chercher la rubrique a traiter
    29         $id_rubrique = _request('id_rubrique');
     29        $id_objet = _request('id_objet');
     30        $objet = _request('objet');
     31       
    3032        // La limite du nombre à traiter
    3133        $nblimite = _request('nblimite');
    3234
    33         spip_log("importer les documents de id_rubrique= $id_rubrique","docker");
     35        spip_log("importation des documents de objet=$objet id_objet= $id_objet","docker");
    3436       
    35         //On récupère la liste des documents de la rubrique sinon tous 
    36         //todo étendre aux articles de cette rubrique
    37         $id=$id_rubrique;
    38         $type="rubrique";
     37        //On récupère la liste des documents de l'objet (article rubrique ou autre) sinon tous
     38        //todo tous les documents d'une branche rubrique ou secteur     
    3939
    40         if($id_rubrique>0)
    41         $res = sql_select("D.id_document,D.fichier,D.extension", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "distant='oui' AND T.id_objet=" . intval($id) . " AND T.objet=" . sql_quote($type)." LIMIT 0 , $nblimite");
    42         else
    43         $res = sql_select("D.id_document,D.fichier,D.extension", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "distant='oui' LIMIT 0 , $nblimite");
     40       
     41        //On exclue certaines extensions via base spip, sans vérifier la réalité
     42        include_spip('inc/config');     
     43        $config = lire_config('docker');
     44        $extensions_exclues=$config['extensions'];
    4445
     46        if($id_objet>0)
     47                $res = sql_select("D.id_document,D.fichier,D.extension", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "distant='oui' AND FIND_IN_SET(D.extension,REPLACE('$extensions_exclues',' ','')) = 0 AND T.id_objet=" . intval($id_objet) . " AND T.objet=" . sql_quote($objet)." LIMIT 0 , $nblimite");
     48                else
     49                $res = sql_select("D.id_document,D.fichier,D.extension", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "distant='oui' AND FIND_IN_SET(D.extension,'$extensions_exclues') = 0 LIMIT 0 , $nblimite");
    4550
     51       
    4652        include_spip('inc/distant');
    4753
     54        //fonction de plugins-dist medias
    4855        $copier_fichier= charger_fonction('copier_local','action');
    4956        while ($row = sql_fetch($res)){
    50                 spip_log("document renommé id_document=".$row['id_document'],"docker");
     57                spip_log("document à renommer id_document=".$row['id_document']." avec ".$row['extension'],"docker_extension");
    5158                //On traite les documents en les important
    5259                $copier_fichier($row['id_document']);
  • _plugins_/docker/trunk/lang/docker_fr.php

    r82068 r91450  
    55
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    7 'activer_recopie_intro' =>'Configurer l\'importation des documents distants puis aller sur /?exec=import_docker',
    8 'configuration_copie_idem'=>'Choississez le traitement lors de l\'importation',
    9 'titrer_label'=>'Oui, créer les titres depuis les noms des fichiers.',
    10 'docker_description'=>'Traitement par lot pour importer et copier localement les documents distants qui sont déjà dans votre SPIP.',
    11 'entrer_id_rubrique'=>'Laisser vide ou entrer un numéro de rubrique pour traiter ses documents',
    12 'entrer_nblimite_documents'=>'Entrer un nombre',
    13 'aucun_document_distant'=>'Il n\'existe aucun document distant à importer!',
    14 'id_rubrique'=>'Numéro de la rubrique (option)',
    15 'import_docker'=>'Docker',
    16 'docker_lancer_importation'=>'Lancer l\'importation',
    17 'docker_idem_descriptif'=>'Faut-il conserver les noms originaux des fichiers ?',
    18 'docker_minuscules_descriptif'=>'Et dans ce cas, écrire le nom du fichier en minuscules ?',
    19 'docker_titrer_descriptif'=>'Créer un titre à partir du nom original du fichier ?',
    20 'liste_documents_distants'=>'Liste des documents distants',
    21 'minuscules_label'=>'Oui, fichier en minuscules.',
    22 'info_tous_documents_distants'=>'Documents distants',
    23 'nblimite_label'=>'Limiter le nombre de documents à importer',
    24 'titre_page_configurer_docker' =>'Configurer Docker',
    25 'copie_idem_label'=>'Oui, conserver les noms originaux. Attention, avec cette option, le comportement par défaut de SPIP est contourné.',
     7        'activer_recopie_intro' =>'Configurer l\'importation des documents distants puis aller sur /?exec=import_docker',
     8        'configuration_copie_idem'=>'Choississez le traitement lors de l\'importation',
     9        'titrer_label'=>'Oui, créer les titres depuis les noms des fichiers.',
     10        'docker_description'=>'Traitement par lot pour importer et copier localement les documents distants qui sont déjà dans votre SPIP.',
     11        'entrer_objet_parent_as_article'=>'Laisser vide ou entrer l\'objet parent par exemple article ou rubrique',
     12        'entrer_id_objet_parent'=>'Laisser vide ou entrer le numéro de l\'objet parent pour traiter ses documents',
     13        'entrer_nblimite_documents'=>'Entrer un nombre',
     14        'extensions_exclure_label'=>'Entrer les extensions à exclure',
     15        'entrer_extensions_virgule'=>'Séparer chaque extension par une virgule, par exemple jpg,gif,png',
     16        'aucun_document_distant'=>'Il n\'existe aucun document distant à importer!',
     17        'id_rubrique'=>'Numéro de la rubrique (option)',
     18        'import_docker'=>'Docker',
     19        'id_objet'=>'id_objet',
     20        'objet'=>'objet',
     21        'docker_lancer_importation'=>'Lancer l\'importation',
     22        'docker_idem_descriptif'=>'Faut-il conserver les noms originaux des fichiers ?',
     23        'docker_minuscules_descriptif'=>'Et dans ce cas, écrire le nom du fichier en minuscules ?',
     24        'docker_titrer_descriptif'=>'Créer un titre à partir du nom original du fichier ?',
     25        'liste_documents_distants'=>'Liste des documents distants',
     26        'minuscules_label'=>'Oui, fichier en minuscules.',
     27        'info_tous_documents_distants'=>'Documents distants',
     28        'nblimite_label'=>'Limiter le nombre de documents à importer',
     29        'titre_page_configurer_docker' =>'Configurer Docker',
     30        'copie_idem_label'=>'Oui, conserver les noms originaux. Attention, avec cette option, le comportement par défaut de SPIP est contourné.',
    2631);
    2732
  • _plugins_/docker/trunk/paquet.xml

    r84427 r91450  
    22        prefix="docker"
    33        categorie="outil"
    4         version="0.2.1"
     4        version="0.3.0"
    55        etat="dev"
    66        compatibilite="[3.0.2;3.0.*]"
  • _plugins_/docker/trunk/prive/liste/documents_distants.html

    r82012 r91450  
     1[L'importation va exclure les extensions suivantes : (#CONFIG{docker/extensions})]
    12<B_liste_docs>
    23#ANCRE_PAGINATION
     
    1314        </thead>
    1415        <tbody>
     16       
    1517
    16         <BOUCLE_liste_docs(DOCUMENTS){distant=oui}{id_article?}{id_rubrique?}{id_mot?}{id_auteur?}{where?}{statut?}{tri #ENV{par,id_document},#GET{defaut_tri}}{pagination #ENV{nb,10}}{!lang_select}>
     18        <BOUCLE_liste_docs(DOCUMENTS){distant=oui}{extension !IN #CONFIG{docker/extensions}}{objet?}{id_objet?}{where?}{statut?}{tri #ENV{par,id_document},#GET{defaut_tri}}{pagination #ENV{nb,10}}{!lang_select}>
    1719                <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]">
    1820                        <td class='info'>                       
    1921                        [(#DISTANT|=={oui}|non)#SET{missing,#FICHIER|file_exists|non}]
    20                         [(#GET{missing}|oui)<img src='#CHEMIN{images/document-manquant-24.png}' width='22' height='22' alt='<:medias:fichier_manquant:>' title='<:medias:fichier_manquant:>' />]
    21                         [(#DISTANT|=={oui}|oui)<img src='#CHEMIN{images/document-distant-24.png}' width='22' height='22' alt='<:medias:fichier_distant:>'title='<:medias:fichier_distant:>'/>]
     22                        [(#GET{missing}|oui)<img src='#CHEMIN_IMG{images/document-manquant-24.png}' width='22' height='22' alt='<:medias:fichier_manquant:>' title='<:medias:fichier_manquant:>' />]
     23                        [(#DISTANT|=={oui}|oui)<img src='#CHEMIN_IMG{images/document-distant-24.png}' width='22' height='22' alt='<:medias:fichier_distant:>'title='<:medias:fichier_distant:>'/>]
    2224                        </td>
    2325                        <td class='titre'>[(#LOGO_DOCUMENT||image_reduire{20,26})]<a href="[(#ID_DOCUMENT|generer_url_entite{document})]">[(#TITRE|sinon{#FICHIER**})]</a></td>
Note: See TracChangeset for help on using the changeset viewer.