Changeset 82365 in spip-zone


Ignore:
Timestamp:
May 14, 2014, 5:23:28 PM (5 years ago)
Author:
kent1@…
Message:

Faire fonctionner le critère {archive} et {archive seulement}

Location:
_plugins_/archive/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/archive/trunk/archive_fonctions.php

    r82270 r82365  
    22
    33// Sécurité
    4 if (!defined("_ECRIRE_INC_VERSION"))
    5         return;
     4if (!defined("_ECRIRE_INC_VERSION")) return;
    65
    76/**
    87 * Définition du critère {archive x} (pour compatibilité avec les anciennes versions)
    98 *
    10  * Ce critère est obsolète, il devrait être remplacé par {statut = archive}
     9 * Ce critère est obsolète, il devrait être remplacé par {statut = archive} ou {statut IN publie,archive} par exemple
    1110 */
    1211function critere_archive_dist($idb, &$boucles, $crit){
    13         spip_log('Utilisation du critère {archive...} devenu obsolète','spip.'._LOG_ERREUR);
    14 
    1512        $boucle = &$boucles[$idb];
    1613        $boucle -> modificateur['criteres']['archive'] = true;
    1714
    1815        //reduit le critére à la boucle articles uniquement
    19         if ($boucle -> type_requete == 'articles') {
     16        if ($boucle->type_requete == 'articles') {
     17                $id_table = $boucle->id_table;
     18                $marchive = $id_table . '.statut';
     19
    2020                //recherche la valeur de x dans {critere x}
    2121                //si x vaut "seulement" alors on indique uniquement les articles archivés
    22                 if ($crit->param[0][0] -> texte == "seulement") {
    23                         $id_table = $boucle->id_table;
    24                         $marchive = $id_table . '.statut';
    25                         $boucle->where[] = array("'='", "'$marchive'", "archive");
    26                         //sinon tous les articles sont retournés archivé ou non
     22                if ($crit->param[0][0]->texte == "seulement") {
     23                        $statut = kwote("archive");
     24                        $boucle->where[] = array("'='", "'$marchive'", $statut);
     25                }
     26                // Si pas x alors on ressort les articles publiés et en archive
     27                else{
     28                        $statut = "sql_in('$marchive',array('publie','archive'), '')";
     29                        $boucle->where[] = $statut;
    2730                }
    2831        }
  • _plugins_/archive/trunk/base/archive.php

    r82363 r82365  
    2929        $tables['spip_articles']['statut_images']['poubelle'] = "puce-supprimer-8.png";
    3030        $tables['spip_articles']['statut_images']['archive'] = "puce-archiver-8.png";
     31        if(is_array($tables['spip_articles']['statut'][0]['exception']))
     32                $tables['spip_articles']['statut'][0]['exception'][] = 'archive';
     33        else
     34                $tables['spip_articles']['statut'][0]['exception'] = array($tables['spip_articles']['statut'][0]['exception'],'archive');
    3135       
    3236        return $tables;
Note: See TracChangeset for help on using the changeset viewer.