•  » Plugins
  •  » Interactions avec le nouveau gestionnaire d'utilisateurs - P2

#1 2014-02-10 21:51:26

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Interactions avec le nouveau gestionnaire d'utilisateurs - P2

Re bonjour !

Dans mon précédent forfait ([Forum, topic 24953] Interactions avec le nouveau gestionnaire d'utilisateurs - P1), j'attaquai le tableau des utilisateurs. Mais ici, c'est la partie "édition" des informations pour chaque utilisateur qui m'intéresse. Grâce au modèle donné par [extension by ddtddt] Add Info Users, je peux ajouter une nouvelle information / action dans le panneau.

Problème : J'ai besoin de récupérer l'ID de l'utilisateur en question pour afficher la bonne info. ddtddt a "contourné" le problème en utilisant un lien vers la page de profil et en se basant sur <%- user.id %> dans l'URL.
Mais comment retrouver ce user.id pour une utilisation dans une requête ?

Pour illustrer, voici mon code (la variable "$userid" n'est là que pour l'exemple et ne fonctionne évidemment pas):

Code:

//add admin panel prefiter
add_event_handler('loc_begin_admin', 'PP_admin_prefilter', 80 );
function PP_admin_prefilter()
{
 global $template, $prefixeTable, $conf, $page ;
 $template->set_prefilter('user_list', 'PP_admin_prefilter_tpl');
}

function PP_admin_prefilter_tpl($content, &$smarty)
{
 load_language('plugin.lang', PP_PATH);

          $query = '
SELECT DISTINCT id, PP_lock
  FROM '.USERS_TABLE.'
  WHERE id IN ('.$userid.')
;';
          $result = pwg_query($query);

          while ($row = pwg_db_fetch_assoc($result))
          {
            if ($row['PP_lock'] == 'false')
            {
              $LockedUser = '<img src="'.PP_PATH.'admin/template/icons/nolock.png" title="'.l10n('PP_User Not Locked').'" alt="'.l10n('PP_User Not Locked').'"/><br/><br/>';
            }
            else if ($row['PP_lock'] == 'true')
            {
              $LockedUser = '<img src="'.PP_PATH.'admin/template/icons/lock.png" title="'.l10n('PP_User Locked').'" alt="'.l10n('PP_User Locked').'"/><div style="display: none">'.l10n('PP_User Locked').'</div>';
            }
            else $LockedUser = '<img src="'.PP_PATH.'admin/template/icons/nolock.png" title="'.l10n('PP_User Not Locked').'" alt="'.l10n('PP_User Not Locked').'"/><div style="display: none">'.l10n('PP_User Not Locked').'</div>';
          }

 $search = '<div class="userPropertiesSetTitle">{\'Properties\'|translate}</div>';
 return str_replace($search, $search."\n".$LockedUser."\n", $content);
}

Là aussi, je suis ouvert à toutes suggestions ;-)

Hors ligne

#2 2014-02-10 21:56:51

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Interactions avec le nouveau gestionnaire d'utilisateurs - P2

attends tu ne peux pas mettre de code métier dans un préfiltre : ils ne sont exécutés qu'une seule fois puis mis en cache avec le reste dans _data/templates_c

le code métier ce met en dehors, et dans le préfiltre on ne voit que du code de template ajouté à l'existant (qui peut lui aussi contenir du metier, mais en syntaxe Smarty)

Hors ligne

#3 2014-02-10 22:00:22

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Interactions avec le nouveau gestionnaire d'utilisateurs - P2

mais je ne comprend pas trop bien ce que tu fais, à quel moment tu as besoin de l'id ?

dans oauth j'ai besoin d'ajouter un icone dans le tableau pour ça je joue avec les deux triggers qui sont dans admin/user_list_backend.php
http://piwigo.org/dev/browser/extension … ts.inc.php (oauth_user_list_columns et oauth_user_list_render)

après la sauvegarde et la récupération des détails se fait en AJAX à l'aide de l'API (méthode pwg.users.setInfo et pwg.users.getList) je suppose que c'est là que tu a besoin d'agir

Hors ligne

#4 2014-02-10 22:11:32

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: Interactions avec le nouveau gestionnaire d'utilisateurs - P2

Ayé ! J'ai pigé ! Milles mercis, mistic100 !

Effectivement, j'ai commencé par une grosse boulette en mettant du code autre que du template dans le préfiltre. Et grâce à ton exemple avec oauth, je comprends mieux  l'appel aux deux triggers.

Je vais creuser dans ce sens. :-)

Hors ligne

  •  » Plugins
  •  » Interactions avec le nouveau gestionnaire d'utilisateurs - P2

Pied de page des forums

Propulsé par FluxBB

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