You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
RealET cfafc3fd20 fix : une notice 8 months ago
action Accepter les liens avec des points virgule : cf ce commentaire https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum493607 6 years ago
base Version 1.4.4 6 years ago
formulaires compat SPIP 4: maj lien_objet et pagination 1 year ago
genie re oups 6 years ago
inc fix : une notice 8 months ago
js Sans log c'est mieux 6 years ago
lang [Salvatore] [source:lang/ linkcheck] Export depuis https://trad.spip.net de la langue de 9 months ago
prive Réparer la liste des liens détectés dans un objet 11 months ago
README.md Version 1.4.13 (2018-03-08) 5 years ago
linkcheck_administrations.php Version 1.4.8 6 years ago
linkcheck_autorisations.php Changement du coté des autorisations, dorénavant : 6 years ago
linkcheck_fonctions.php saut de ligne (gros commit de barge) 6 years ago
linkcheck_pipelines.php 2 warnings dans la page ecrire/?exec=charger_plugin 11 months ago
paquet.xml Compatibilité SPIP 4.1 : erreur signalée par Christophe (https://contrib.spip.net/LinkCheck-verificateur-de-liens#comment511027=) 10 months ago

README.md

Plugins LinkCheck

Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets.

Documentation

Todo

  • ajout d’un lien vers archive.org sur les articles morts
  • export CSV (à finaliser avec generer_url_objet)
  • ajout d’un picto lien mort optionnel dans propre() [+ éventuellement lien sur archive.org le cas échéant]
  • vérifier/traiter automagiquement les migrations http⟹https
  • trouver une meilleure regexp pour la détection de lien, ça doit bien exister sous forme de lib

Done

  • améliorer la détection des liens (ex de bugs : "gazogène.com", ou "lacite.website" sont coupés bizarrement, les urls terminant par une virgule sont aussi coupés)
  • présence du lien sur toutes les pages : ce message pourrait être plus informatif en précisant le nombre de liens
  • bloc des liens trop visible sur les pages d'objets (articles, rubriques, il devrait être dans la marge car il ne s’agit pas d’un contenu éditable)
  • gestion des autoriser() pas très claire (permettre d'ouvrir le plugin aux rédacteurices)

Versions 1.4.x

Version 1.4.13 (2018-03-08)

  • Correction d'un bug signalé sur spip-users, si le lien est entouré de simple quotes, on conservait la dernière

Version 1.4.12 (2018-03-07)

  • Correction d'un bug: 1 lien inclus dans plusieurs objets, tous non publiés, obtient le statut publié dans la table de centralisation des liens (@eldk)

Version 1.4.8 (2017-10-03)

  • Sur la boite des liens recensés, changer la classe bam par section pour pouvoir lire le titre
  • Sur les liens dans le tableau en colonne sur les objets, on ajoute word-wrap:break-word pour conserver l'ensemble du lien visible
  • Accepter les liens avec des points virgule : cf ce commentaire
  • Enlever le lien d'export CSV en bas, on a beaucoup mieux maintenant dans les tableaux

Version 1.4.7 (2017-09-08)

  • Des parenthèses en trop dans la requète générée, MySQL passait outre, MariaDB pas (@nicod_)

Version 1.4.6 (2017-07-19)

  • Eviter de vérifier les certificats pour éviter de considérer des pages comme mortes lorsque le certificat est pourri ou mal configuré
  • Lorsque l'ajax est en erreur sur la page listant tous les liens, le relancer et pas juste planter
  • Simplifier la regexp mysql qui ne sert qu'à sortir les champs ayant potentiellement des liens (MySQL ne supportant pas UTF-8), par contre, autoriser les caractères UTF-8 coté PHP qui font partie de la séquence \u00a1-\uffff
  • Les extensions de domaines .test, .example, .invalid et .localhost sont réservées pour des domaines de test (cf cette RFC2606), on ne les extrait pas.

Version 1.4.5 (2017-07-10)

  • Permettre d'avoir user:pass@ en début d'URL
  • Prise en charge du port dans une URL
  • Permetre le caractère tilde ~ dans l'URL

Version 1.4.4

  • Remettre la table spip_linkchecks en table principale sinon l'autoincrement ne se fait pas.
  • Fonction d'upgrade qui permet de corriger ce problème sur des versions buggées déjà installées
  • Enlever la table spip_linkchecks de la liste des tables à traiter

Version 1.4.3

  • La détection des liens ne prenait qu'un champ à chaque fois, il réinitialisait le compte de liens à chaque champ testé.

Version 1.4.2

  • Dans le pipeline post_edition s'assurer que le second argument passé à in_array est bien un tableau

Version 1.4.1

  • Ne passer dans le pipeline post_edition avec action instituer que si le statut change
  • Interdire la duplication d'une tâche genie_linkcheck_test_postedition

Version 1.4.0

  • Permettre de filtrer les liens distants et internes
  • Permettre de filtrer par type d'objet (articles, rubriques...)
  • Ajouter un formulaire de recherche qui s'applique sur les urls (en faisant un LIKE mysql)
  • Permettre d'exporter en CSV uniquement la liste filtrée
  • Amélioration de la détection de liens
  • Déplacement du bloc sur les objets dans la colonne de gauche
  • Limiter l'affichage du blocs de liens sur les objets aux auteurs pouvant modifier l'objet
  • Déclaration plus moderne de la table linkcheck (dans declarer_tables_objets_sql())
  • Utiliser les mêmes limitations de statuts entre la détection de liens générale et celle par le pipeline post_edition. Seuls sont conservés les liens sur des objets pouvant être prévisualisés.
  • Réparation de la détection des liens sur les rubriques
  • Ajout d'un champ publie à la fois sur la table spip_linkchecks et spip_linkchecks_liens testant si l'objet parent est publié.
  • Permettre de filtrer sur les liens "Visibles en ligne" (publie == oui) et "Non visibles en ligne" (publie == non)
  • Changement du coté des autorisations, dorénavant :
    • les administrateurs et les rédacteurs peuvent voir la page linkchecks
    • seuls les webmestres peuvent réinitialiser la base
    • les personnes autorisées à modifier un objet voient les liens contenus dans l'objet éditorial

Versions 1.3.x

Version 1.3.7

  • Correction d'un bug mysql dans le parcours

Version 1.3.6

  • .brussels c'est 8 caractères, on en autorise 9 maintenant (cf [post sur spip-contrib](cf post sur spip-contrib

Version 1.3.5

  • Accepter le caractère @ dans une Url (cf post sur spip-contrib
  • Limiter l'affichage de l'alerte au webmestre que s'il y a un lien mort ou malade, pas d'affichage s'il n'y a que des liens déplacés par exemple (cf post sur contrib.spip)
  • présence du lien sur toutes les pages : ce message devient plus informatif en précisant le nombre de liens morts, malades et déplacés

Version 1.3.4

  • Accepter le caractère + dans une Url (cf post sur spip-contrib
  • Détecter les liens sur les statuts d'objets que l'on peut prévisualiser et qui sont publiés et non pas seulement sur une sélection arbitraitre de statuts

Version 1.3.3

  • Accepter les caractères : et , dans une Url (cf post sur spip-contrib
  • Accepter les accents dans le nom de domaine
  • Accepter des extensions de noms de domaine jusqu'à 7 caractères (du type .website par exemple)

Version 1.3.1

  • Ne plus analyser spip_plugins, ce n'est pas un objet édito du site réellement, cf ce message sur contrib
  • Petites améliorations de chaînes de langue

Version 1.3.0

  • Ne pas enlever le dernier / des urls pour éviter des liens déplacés pour rien.
  • Si plusieurs redirections successives, il se peut que l'entête Location montre un path local, on récupère donc le domaine
  • Bien supprimer Location:, location: et content-location des urls de redirection
  • Si la redirection mène sur notre site, afficher les liens internes en redirection, du coup on décode l'url avec inc/urls
  • Afficher correctement la redirection qu'elle soit interne ou externe dans les détails d'un lien

Versions 1.2.x

Version 1.2.3

  • Mettre url et redirection dans la même case de tableau pour faciliter la lecture des liens
  • Ajouter un bouton de vérification sur chaque lien dans les listes
  • Utiliser un User Agent de navigateur lors de la récupération des entêtes pour éviter les anti-bots
  • En cas de redirection, on récupère le dernier Location: et non le premier (cas de redirections multiples)
  • En cas de redirection, on vérifie si la finale ne renvoie pas une 404
  • Mettre l'url de redirection détectée dans l'export CSV
  • Améliorer les entêtes de colonnes dans l'export CSV
  • linkcheck_en_url() renvoie false si l'url fournie est vide

Version 1.2.2

  • Un peu de refactoring
  • Ajout d'un champ redirection dans la table spip_linkckecks afin de stocker l'adresse de redirection si s'en est une
  • Affichage des redirections dans les tableaux de liens
  • Utiliser les fonctions SPIP de inc/distant pour analyser les entêtes des liens au lieu d'avoir une fonction personnelle
  • Lors de l'analyse totale des liens, les traiter de 5 en 5
  • Utiliser set_time_limit() pour essayer d'éviter de planter avec un max execution time
  • Mettre un timeout de 30 secondes pour la récupération des entêtes
  • Si c'est une redirection, analyser les entêtes afin de stocker l'URL finale dans le champ redirection

Version 1.2.1

  • Eviter que les tableaux ne cassent à cause de liens longs
  • Amélioration de l'affichage (utilisation de #BOITE_OUVRIR et #BOITE_FERMER)
  • Une autorisation sur la configuration
  • Bonnes chaînes de langue dans les comptes de liens
  • Correction du mail envoyé, ajout de l'état des liens (malade, deplace ou mort) dans le message
  • Nécessite saisies version 2.2.3 pour la fonction saisie_balise_structure_formulaire (formalisme SPIP 3.1)
  • Bien supprimer les liens qui ne sont plus liés à aucun objet (dans le pipeline post_edition)

Version 1.2.0

  • Refaire fonctionner le post-edition
  • Optimisation des images
  • Des id numériques seulement ça ne devrait pas exister, on préfixe par linkcheck_
  • Une class en minuscule linkchecks pour avoir l'icone du plugin tout le temps dans les listes d'objets
  • Un peu de CSS

Versions 1.1.x

Version 1.1.4

  • Gérer singulier_ou_pluriel correctement
  • Un peu mieux coté CSS
  • Ajout du lien de doc
  • Passage en stable

Version 1.1.3

  • Petites vérifications dans la liste des champs à traiter
  • Petites vérifications dans les pipelines

Version 1.1.2

  • La recherche des liens n'est possible que par le webmestre, donc on se base sur webmestre pour les autorisations

Version 1.1.1

  • Réparer l'affichage dans affiche_milieu suite aux changements de linkcheck_tables_a_traiter()
  • Ne pas prendre en compte spip_paquets

Version 1.1.0

  • Compatibilité formalisme 3.1 du formulaire de configuration
  • Indentation
  • Petites améliorations
  • Code css dans une css de plugins
  • Chaîne de langue manquante
  • Revoir la liste des tables et champs parcourus, on prend toutes les tables dites "principale" sauf spip_syndic_articles (ça mériterait un pipeline ici). On prend tous les champs de type texte (tinytext, longtext, mediumtext, text)
  • Utiliser sql_allfetsel + foreach au lieu de sql_select + sql_fetch (moins lourd)
  • Pour les statuts inconnus des liens internes => malade au pire

Versions 1.0.x

Version 1.0.2

  • Indentation et sécurité
  • Pas de fichier d'options, évite une inclusion inutile

Version 1.0.1

Version d'origine

Todo

  • Ajouter la possibilité de remplacer automatiquement (via un bouton) les liens déplacés par la redirection découverte