Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

Eric
2014-02-10 22:11:32

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. :-)

mistic100
2014-02-10 22:00:22

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

mistic100
2014-02-10 21:56:51

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)

Eric
2014-02-10 21:51:26

Re bonjour !

Dans mon précédent forfait (topic:24953), 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:531, 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 ;-)

Pied de page des forums

Propulsé par FluxBB

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