Changeset 107619 in spip-zone


Ignore:
Timestamp:
Nov 18, 2017, 1:13:44 PM (3 years ago)
Author:
bystrano@…
Message:

Permettre d'utiliser le critère {logo}

Location:
_plugins_/logos_roles/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/logos_roles/trunk/logos_roles_fonctions.php

    r103781 r107619  
    199199        return $logo;
    200200}
     201
     202/**
     203 * Surcharge du critère `logo`
     204 *
     205 * @uses lister_objets_avec_logos_roles()
     206 *     Pour obtenir les éléments qui ont un logo
     207 *
     208 * @param string $idb Identifiant de la boucle
     209 * @param array $boucles AST du squelette
     210 * @param Critere $crit Paramètres du critère dans cette boucle
     211 * @return void
     212 */
     213function critere_logo($idb, &$boucles, $crit) {
     214
     215        $not = $crit->not;
     216        $boucle = &$boucles[$idb];
     217
     218        $c = "sql_in('" .
     219                $boucle->id_table . '.' . $boucle->primary
     220                        . "', lister_objets_avec_logos_roles('" . $boucle->primary . "'), '')";
     221
     222        if ($crit->cond) {
     223                $c = "($arg ? $c : 1)";
     224        }
     225
     226        if ($not) {
     227                $boucle->where[] = array("'NOT'", $c);
     228        } else {
     229                $boucle->where[] = $c;
     230        }
     231}
     232
     233/**
     234 * Retourne pour une clé primaire d'objet donnée les identifiants ayant un logo
     235 *
     236 * Version pour les logos par rôle de la fonction lister_objets_avec_logos du
     237 * core. On utilise l'API chercher_logo au lieu de parcourir le dossier IMG/.
     238 *
     239 * @param string $type
     240 *     Nom de la clé primaire de l'objet
     241 * @return string
     242 *     Liste des identifiants ayant un logo (séparés par une virgule)
     243 **/
     244function lister_objets_avec_logos_roles($type) {
     245
     246        $logos = array();
     247        $chercher_logo = charger_fonction('chercher_logo', 'inc/');
     248
     249        $rows = sql_allfetsel($type, table_objet_sql($type));
     250
     251        foreach ($rows as $r) {
     252                if (! empty($chercher_logo($r[$type], $type))) {
     253                        $logos[] = $r[$type];
     254                }
     255        }
     256
     257        return join(',', $logos);
     258}
  • _plugins_/logos_roles/trunk/paquet.xml

    r107417 r107619  
    22        prefix="logos_roles"
    33        categorie="multimedia"
    4         version="0.6.11"
     4        version="0.6.12"
    55        etat="test"
    66        compatibilite="[3.1.1;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.