Changeset 92942 in spip-zone


Ignore:
Timestamp:
Nov 15, 2015, 11:42:26 AM (4 years ago)
Author:
kent1@…
Message:

Bien supprimer les liens qui ne sont plus liés à aucun objet (dans le pipeline post_edition)

On passe en 1.2.1

Location:
_plugins_/linkcheck/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/linkcheck/trunk/README.md

    r92492 r92942  
    1616* Correction du mail envoyé, ajout de l'état des liens (malade, deplace ou mort) dans le message
    1717* Nécessite saisies version 2.2.3 pour la fonction ```saisie_balise_structure_formulaire``` (formalisme SPIP 3.1)
     18* Bien supprimer les liens qui ne sont plus liés à aucun objet (dans le pipeline ```post_edition```)
    1819
    1920### Version 1.2.0
  • _plugins_/linkcheck/trunk/linkcheck_pipelines.php

    r92439 r92942  
    22/**
    33 * Plugin LinkCheck
    4  * (c) 2013 Benjamin Grapeloux, Guillaume Wauquier
     4 * (c) 2013-2015 Benjamin Grapeloux, Guillaume Wauquier
    55 * Licence GNU/GPL
    66 */
     
    5353                                        $tab_value[$ct]=$flux['data'][$ct];
    5454
    55                         //on parcours les liens et
     55                        //on parcours les liens
    5656                        $tab_liens = linkcheck_lister_liens($tab_value);
    5757
     
    5959                        linkcheck_ajouter_liens($tab_liens,$type_objet,$id_objet);
    6060
    61                         //maintenant on vérifie que tous les liens de la base correspondant à cet objet soit encore présent ds l'objet
     61                        //maintenant on vérifie que tous les liens de la base correspondant à cet objet soit encore présent danss l'objet
    6262                        //on recup tout les liens de l'article presents en base
    63                         $sel = sql_select('l.url, l.id_linkcheck','spip_linkchecks_liens AS ll, spip_linkchecks AS l','l.id_linkcheck=ll.id_linkcheck AND id_objet='.$id_objet.' AND ll.objet='.sql_quote($type_objet));
     63                        $sel = sql_allfetsel('l.url, l.id_linkcheck','spip_linkchecks_liens AS ll, spip_linkchecks AS l','l.id_linkcheck=ll.id_linkcheck AND id_objet='.$id_objet.' AND ll.objet='.sql_quote($type_objet));
    6464                               
    6565                        //pour chaque liens
    66                         while($lks = sql_fetch($sel)){
     66                        foreach($sel as $lks){
    6767                                       
    6868                                //si il n'est plus ds l'article
    6969                                if(!in_array($lks['url'], $tab_liens)){
    70        
    7170                                        //on supprime son entrée ds la table de liaison
    72                                         sql_delete('spip_linkchecks_liens', 'id_linkcheck='.$lks['id_linkcheck'].' AND id_objet='.$id_objet.' AND objet="'.$type_objet.'"');
    73                                                
     71                                        sql_delete('spip_linkchecks_liens', 'id_linkcheck='.intval($lks['id_linkcheck']).' AND id_objet='.intval($id_objet).' AND objet='.sql_quote($type_objet));
     72
    7473                                        //on regarde s'il est utilisé ailleurs ds le site
    75                                         $tpl = sql_getfetsel('count(*)','spip_linkchecks_liens', 'id_linkcheck='.$lks['id_linkcheck']);
    76                                                
     74                                        $tpl = sql_getfetsel('count(*)','spip_linkchecks_liens', 'id_linkcheck='.intval($lks['id_linkcheck']));
    7775                                        //s'il ne l'est pas
    78                                         if($tpl>0){
     76                                        if($tpl == 0){
    7977                                                //on le supprime de la table liens
    80                                                 sql_delete('spip_linkchecks', 'id_linkcheck='.$lks['id_linkcheck']);
     78                                                sql_delete('spip_linkchecks', 'id_linkcheck='.intval($lks['id_linkcheck']));
    8179                                        }
    8280                                }
     
    116114function linkcheck_alertes_auteur($flux){
    117115        include_spip('inc/config');
    118 
    119116        if(lire_config('linkcheck/afficher_alerte')){
    120117                include_spip('inc/autoriser');
  • _plugins_/linkcheck/trunk/paquet.xml

    r92491 r92942  
    22        prefix="linkcheck"
    33        categorie="maintenance"
    4         version="1.2.0"
     4        version="1.2.1"
    55        etat="stable"
    66        compatibilite="[3.0.5;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.