Changeset 59174 in spip-zone


Ignore:
Timestamp:
Mar 9, 2012, 9:47:18 PM (8 years ago)
Author:
marcimat@…
Message:

Lorsqu'un objet n'a pas de champ statut, le décompte de cet objet ne se faisait pas.

On conditionne le statut à la présence d'un champ statut dans la table, et on essaie de s'appuyer sur la déclaration de statut (mais il y aurait mieux à faire, car ici on ne tient pas compte des valeurs déclarées de statut)

Location:
_core_/plugins/mots
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/mots/inc/mots.php

    r54204 r59174  
    4545function calculer_utilisations_mots($id_groupe)
    4646{
    47         $statuts = sql_in('O.statut',  ($GLOBALS['connect_statut'] =="0minirezo")  ? array('prepa','prop','publie') : array('prop','publie'));
    4847        $retour = array();
    4948        $objets = sql_allfetsel('DISTINCT objet', array('spip_mots_liens AS L', 'spip_mots AS M'), array('L.id_mot=M.id_mot', 'M.id_groupe='.$id_groupe));
     
    5352                $_id_objet = id_table_objet($objet);
    5453                $table_objet_sql = table_objet_sql($objet);
     54                $infos = lister_tables_objets_sql($table_objet_sql);
     55                // uniquement certains statut d'objet,
     56                // et uniquement si la table dispose du champ statut.
     57                $statuts = "";
     58                if (isset($infos['field']['statut']) OR isset($infos['statut'][0]['champ'])) {
     59                        // on s'approche au mieux de la declaration de l'objet.
     60                        // il faudrait ameliorer ce point.
     61                        $c_statut = isset($infos['statut'][0]['champ']) ? $infos['statut'][0]['champ'] : 'statut';
     62                        $statuts = " AND " . sql_in("O.$c_statut",  ($GLOBALS['connect_statut'] =="0minirezo")  ? array('prepa','prop','publie') : array('prop','publie'));
     63                }
    5564                $res = sql_allfetsel(
    5665                        "COUNT(*) AS cnt, L.id_mot",
     
    5968                                        AND L.objet=" . sql_quote($objet) . "
    6069                                LEFT JOIN " . $table_objet_sql . " AS O ON L.id_objet=O.$_id_objet" ,
    61                         "M.id_groupe=$id_groupe AND $statuts",
     70                        "M.id_groupe=$id_groupe$statuts",
    6271                        "L.id_mot");
    6372
  • _core_/plugins/mots/paquet.xml

    r59085 r59174  
    22        prefix="mots"
    33        categorie="edition"
    4         version="2.4.2"
     4        version="2.4.3"
    55        etat="test"
    66        compatibilite="[3.0.0-alpha2;["
Note: See TracChangeset for help on using the changeset viewer.