#1 2013-09-14 11:49:34

BiereNard
Membre
2012-12-03
17

[Résolu] Filtre

Bonjour,
J'administre une galerie dans laquelle plusieurs utilisateurs déposent des photos. Chaque utilisateur peut choisir quelques unes de ses photos préférées (mes favorites) et j'aimerais pouvoir sélectionner dans l'interface d'administration (Gestion par lot --> Mode global --> Filtre) les photos favorites de tous les utilisateurs.
Est-il possible de prévoir ultérieurement cette possibilité de "filtre prédéfini", ou existe-t-il un moyen d'arriver à ce but avec les fonctionnalité actuelles ?
D'avance merci.

Hors ligne

#2 2013-09-14 14:16:20

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Résolu] Filtre

Bonjour
il est possible d'ajouter des filtres par un plugin; [extension by P@t] Batch Manager Prefilters par ex, pour s'en inspirer pour attiendre ce que vous voulez

Hors ligne

#3 2013-09-14 17:23:00

BiereNard
Membre
2012-12-03
17

Re: [Résolu] Filtre

SUPER ! Merci "flop25" pour cette piste, qui fonctionne parfaitement après une légère modification du plugin ; [extension by P@t] Batch Manager Prefilters (voir ci-dessous le détail pour ceux qui seraient intéressés) :

- Fichier : /plugins/batch_manager_prefilters/main.inc.php

   ... début du chier inchangé

function add_bmp($prefilters)
{
  load_language('plugin.lang', dirname(__FILE__).'/');

  array_push($prefilters,
    array('ID' => 'with tags', 'NAME' => l10n('with tags')),
    array('ID' => 'as favorites', 'NAME' => l10n('as favorites')),               <--- Ajouter cette ligne
    array('ID' => 'with author', 'NAME' => l10n('with author')),
    array('ID' => 'without author', 'NAME' => l10n('without author'))
  );

  return $prefilters;
}

function perform_bmp($filter_sets, $prefilter)
{
  if ('with tags' == $prefilter)
  {
    $query = 'SELECT DISTINCT image_id FROM '.IMAGE_TAG_TABLE.';';
    array_push($filter_sets, array_from_query($query, 'image_id'));
  }

  if ('as favorites' == $prefilter)                                                              <---
  {                                                                                                        <---
    $query = 'SELECT DISTINCT image_id FROM '.FAVORITES_TABLE.';';  <---  Ajouter ces 5 lignes
    array_push($filter_sets, array_from_query($query, 'image_id'));        <---
  }                                                                                                         <---

  if ('with author' == $prefilter)
  {
   ... suite et fin du fichier inchangées


- Fichier de traduction en français : /plugins/batch_manager_prefilters/language/fr_FR

<?php
$lang['with tags'] = 'avec tags';
$lang['as favorites'] = 'comme favoris';                                                  <--- Ajouter cette ligne
$lang['with author'] = 'avec auteur';
$lang['without author'] = 'sans auteur';
?>

Hors ligne

#4 2013-09-14 17:25:57

flop25
Équipe Piwigo
2006-07-06
6544

Re: [Résolu] Filtre

^^ de rien
je vous conseille de changer le nom du dossier et l'entête dans main.inc.php, surtout l'URI, pour éviter qu'une maj du plugin vous fasse perdre vos modif

bonne journée

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact