Bonjour,

SPIP 3.2 à jour + dernière version de LinkCheck.

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;
}
```

Cordialement,

Eric



_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à  spip-...@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Répondre à