Des articles avec le statut "prepa", apparaissent dans la liste des
articles visibles.
Je pense que cela vient de ecrire/base/objets.php
: objet_test_si_publie, qui renvoie true si le statut n'est pas trouvé
?
/**
* Determininer si un objet est publie ou non
*
* On se base pour cela sur sa declaration de statut
* pour des cas particuliers non declarables, on permet de fournir une
fonction
* base_xxxx_test_si_publie qui sera appele par la fonction
*
* @param string $objet
* @param int $id_objet
* @param string $serveur
* @return bool
*/
function objet_test_si_publie($objet, $id_objet, $serveur = '') {
// voir si une fonction est definie pour faire le boulot
// elle a la priorite dans ce cas
if ($f = charger_fonction($objet . '_test_si_publie', 'base',
true)) {
return $f($objet, $id_objet, $serveur);
}
// sinon on se fie a la declaration de l'objet si presente
$id_table = $table_objet = table_objet($objet);
$id_table_objet = id_table_objet($objet, $serveur);
$trouver_table = charger_fonction('trouver_table', 'base');
if ($desc = $trouver_table($table_objet, $serveur)
and isset($desc['statut'])
and $desc['statut']
) {
$boucle = new Boucle();
$boucle->show = $desc;
$boucle->nom = 'objet_test_si_publie';
$boucle->id_boucle = $id_table;
$boucle->id_table = $id_table;
$boucle->sql_serveur = $serveur;
$boucle->select[] = $id_table_objet;
$boucle->from[$table_objet] = table_objet_sql($objet,
$serveur);
$boucle->where[] = $id_table . '.' . $id_table_objet .
'=' . intval($id_objet);
include_spip('public/compiler');
include_spip('public/composer');
instituer_boucle($boucle, false, true);
$res = calculer_select(
$boucle->select,
$boucle->from,
$boucle->from_type,
$boucle->where,
$boucle->join,
$boucle->group,
$boucle->order,
$boucle->limit,
$boucle->having,
$table_objet,
$id_table,
$serveur
);
if (sql_fetch($res)) {
return true;
}
return false;
}
// si pas d'info statut ni de fonction : l'objet est publie
return true;
}
S’il est utilisé par au moins un objet publié, il est considéré comme visible en ligne, c’est la logique
Q
On 7 mars 2018 à 16:53 +0100, eric <webmaster@opalesurfcasting.net>, wrote:
Le mercredi 07 mars 2018 à 16:22 +0100, Quentin Drouet a écrit :
> Mmmh je ne reproduis pas personnellement
>
> Il me les classe bien dans "Non visibles en ligne"
Bonjour,
Dans l'interface de gestion LinkCheck :
J'ai sélectionné l'onglet "Mort".
En dessous :
Onglets : Visibles en ligne + article.
J'ai bien des articles publiés donc visibles en ligne.
Mais j'ai également des articles avec le statut prepa.
En base, spip_linkchecks, pour un second lien, inclus dans un article
avec le statut prepa, j'ai :
Le mercredi 07 mars 2018 à 16:58 +0100, eric a écrit :
>
> Je regarde dans la table spip_linkchecks_liens pour le premier
> exemple
J'ai bien 2 lignes :
id_linkckecks : 36828
id_objet : 1400 et 1643
objet : 2 x article
publie : 2 x non
Dans la table spip_linkchecks :
id_linkckecks : 36828
publie : oui
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Il doit y avoir un problème à la ligne 160 de inc/linkcheck_fcts.php
$statut n'est pas défini.
Si l'objet n'est pas publié, et que le lien existe déjà (créer à partir
d'un objet précédent), publie sera mis à oui. - ligne 162
En tout cas, c'est ce qui se passe dans mon cas.
Le même lien contenu dans 2 articles avec le statut prepa donne dans
spip_linkchecks : publie = oui.
Il est bien créé avec publie=non la première fois, mais le second
passage le met à oui.
Je continue ...
Le mercredi 07 mars 2018 à 17:12 +0100, eric a écrit :
Le mercredi 07 mars 2018 à 16:54 +0100, Quentin Drouet a écrit :
>
> S’il est utilisé par au moins un objet publié, il est considéré
> comme
> visible en ligne, c’est la logique
>
> Q
Pour le premier exemple, après réinitialisation des tables :
J'ai bien 2 articles avec statut prepa, 2 liens dans la table
spip_linckecks_liens avec publie=non, et, 1 ligne dans
spip_linkchecks
avec publie=oui.
Cordialement,
Eric
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Il doit y avoir un problème à la ligne 160 de inc/linkcheck_fcts.php
$statut n'est pas défini.
ligne 160 :
- if ($publie_linkcheck != $statut) {
+ if ($publie_linkcheck != $publie) { // verifier si le statut dans la
table est différent de celui du lien en cours de traitement.
si oui, on traite, on update la colonne
si non, on ne fait rien.
Le mercredi 07 mars 2018 à 19:46 +0100, Quentin Drouet a écrit :
Ok c’était donc le pb de doublon et potentiellement l’ordre d’analyse
Tu peux commiter sur la zone à priori
C'est fait.
Mais je n'ai pas de mot de passe ?
Comment faire ?
Index: README.md
--- README.md (révision 109367)
+++ README.md (copie de travail)
@@ -20,7 +20,10 @@
* gestion des autoriser() pas très claire (permettre d'ouvrir le
plugin aux rédacteurices)
## Versions 1.4.x
+### 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
@@ -214,4 +217,4 @@
## Todo
-* Ajouter la possibilité de remplacer automatiquement (via un bouton)
les liens déplacés par la redirection découverte
\ No newline at end of file
+* Ajouter la possibilité de remplacer automatiquement (via un bouton)
les liens déplacés par la redirection découverte
Index: inc/linkcheck_fcts.php
Le 7 mars 2018 à 21:46 +0100, eric <webmaster@opalesurfcasting.net>, a écrit :
Le mercredi 07 mars 2018 à 19:46 +0100, Quentin Drouet a écrit :
> Ok c’était donc le pb de doublon et potentiellement l’ordre d’analyse
>
> Tu peux commiter sur la zone à priori
C'est fait.
Mais je n'ai pas de mot de passe ?
Comment faire ?
>
Index: README.md
--- README.md (révision 109367)
+++ README.md (copie de travail)
@@ -20,7 +20,10 @@
* gestion des autoriser() pas très claire (permettre d'ouvrir le
plugin aux rédacteurices)
## Versions 1.4.x
+### 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
@@ -214,4 +217,4 @@
## Todo
-* Ajouter la possibilité de remplacer automatiquement (via un bouton)
les liens déplacés par la redirection découverte
\ No newline at end of file
+* Ajouter la possibilité de remplacer automatiquement (via un bouton)
les liens déplacés par la redirection découverte
Index: inc/linkcheck_fcts.php