Changeset 107439 in spip-zone


Ignore:
Timestamp:
Nov 9, 2017, 5:40:45 PM (20 months ago)
Author:
teddy.spip@…
Message:

Dissocier les documents aux rubriques vidées.

Location:
_plugins_/vider_rubrique
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/vider_rubrique/admin/vider_rubrique.html

    r81775 r107439  
    33        [(#ENV{vider_arbo}|=={vider_arbo}|oui) #SET{arbo_complete,oui} ]
    44
    5 <BOUCLE_principale(RUBRIQUES){id_rubrique=#GET{rubrique_source}}{tout}>
     5<BOUCLE_principale (RUBRIQUES) {id_rubrique=#GET{rubrique_source}} {tout}>
    66
    77        [(#REM)
     
    99                - Les dépublier (pour l'instant sans effacer les logos)
    1010        ]
    11         <BOUCLE_articles(ARTICLES){id_rubrique}{statut IN publie,prop,prepa}>
     11        <BOUCLE_articles (ARTICLES) {id_rubrique} {statut==.*}>
    1212                [(#VAL{article}|vider_rubrique_objet_poubelle{#ID_ARTICLE,"poubelle"})]
    1313        </BOUCLE_articles>
    14         <BOUCLE_breves(BREVES){id_rubrique}{statut IN publie,prop,prepa}>
     14        <BOUCLE_breves (BREVES) {id_rubrique} {statut==.*}>
    1515                [(#VAL{breve}|vider_rubrique_objet_poubelle{#ID_BREVE,"poubelle"})]
    1616        </BOUCLE_breves>
    1717
    18         <BOUCLE_si_arbo_complete(CONDITION){si #GET{arbo_complete}|=={oui}}>
    19                 <BOUCLE_articlesBranche(ARTICLES){branche}{statut IN publie,prop,prepa}>
     18        <BOUCLE_sites (SITES) {id_rubrique} {statut==.*}>
     19                [(#VAL{syndic}|vider_rubrique_objet_poubelle{#ID_SYNDIC,"refuse"})]
     20        </BOUCLE_sites>
     21
     22        [(#ID_RUBRIQUE|vider_rubrique_dissocier_document)]
     23
     24        <BOUCLE_si_arbo_complete (CONDITION) {si #GET{arbo_complete}|=={oui}}>
     25                <BOUCLE_articlesBranche (ARTICLES) {branche} {statut==.*}>
    2026                        [(#VAL{article}|vider_rubrique_objet_poubelle{#ID_ARTICLE,"poubelle"})]
    2127                </BOUCLE_articlesBranche>
    22                 <BOUCLE_brevesBranche(BREVES){branche}{statut IN publie,prop,prepa}>
     28                <BOUCLE_brevesBranche (BREVES) {branche} {statut==.*}>
    2329                        [(#VAL{breve}|vider_rubrique_objet_poubelle{#ID_BREVE,"poubelle"})]
    2430                </BOUCLE_brevesBranche>
     31                <BOUCLE_sitesBranche (SITES) {branche} {statut==.*}>
     32                        [(#VAL{syndic}|vider_rubrique_objet_poubelle{#ID_SYNDIC,"refuse"})]
     33                </BOUCLE_sitesBranche>
    2534
    2635                [(#REM) Lister toutes les sous rub ]
    27                 <BOUCLE_sousRub(RUBRIQUES){branche}{tout}{!id_rubrique=#GET{rubrique_source}}{tout}>
     36                [(#SET{lesRub,''})]
     37                <BOUCLE_sousRub (RUBRIQUES) {branche} {!id_rubrique=#GET{rubrique_source}} {tout}>
    2838                        [(#SET_PUSH{lesRub,#ID_RUBRIQUE})]
    2939                </BOUCLE_sousRub>
    3040                [(#REM) Puis les supprimer ]
     41                [(#GET{lesRub}|var_dump})]
    3142                [(#SET{lesRub,[(#GET{lesRub}|implode{','})]})]
    3243                [(#GET{lesRub}|supprimer_rubrique)]
     44                </B_sousRub>
    3345        </BOUCLE_si_arbo_complete>
    3446
  • _plugins_/vider_rubrique/vider_rubrique_options.php

    r107436 r107439  
    3030function supprimer_rubrique($liste_id) {
    3131        include_spip('inc/utils');
     32        include_spip('base/abstract_sql');
     33        spip_log(print_r($liste_id, true), 'vider_rubrique');
    3234        $supprimer_rubrique = charger_fonction('supprimer_rubrique', 'action');
    3335        /* On efface les rubriques les plus profondes en premier, sinon on ne pourra pas supprimer ses parents */
     
    3941        }
    4042        include_spip('inc/rubriques');
    41         // Dissocier les documents des rubriques.
    42         sql_delete('spip_documents_liens', "objet='rubrique' AND id_objet IN ($liste_id)");
    43         // Refuser les sites syndiqués
    44         // TODO : Il faudrait voir si ces sites ne doivent pas être aussi supprimé.
    45         sql_updateq('spip_syndic', array('statut' => 'refuse'), "id_rubrique IN ($liste_id)");
    4643        calculer_rubriques();
    4744
     
    6865        }
    6966}
     67
     68function vider_rubrique_dissocier_document($liste_id) {
     69        if (empty($liste_id) or is_null($liste_id)) {
     70                return false;
     71        }
     72        include_spip('base/abstract_sql');
     73
     74        // Dissocier les documents des rubriques.
     75        sql_delete('spip_documents_liens', "objet='rubrique' AND id_objet IN ($liste_id)");
     76        spip_log("Suppression des liens de la rubrique #$liste_id avec les documents.", 'vider_rubrique');
     77
     78
     79}
Note: See TracChangeset for help on using the changeset viewer.