Pages: 1
Bonjour,
Dans le cadre de l'évolution de mon plugin phare, UserAdvManager, je cherche à afficher un message d'erreur sur les pages d'admin lorsqu'un configuration de Piwigo entre en conflit avec l'une des options de UAM.
En l'occurence, il s'agit de tester si les emails sont obligatoires pour tous et l'option d'exclusion de certains domaines de messagerie. Si cette dernière est activée et que l'on désactive les emails obligatoires, il y a incompatibilité et on a des erreurs php qui peuvent survenir. Je souhaite afficher un message d'avertissement sur les pages d'admin informant de cette état d'incompatibilité.
Pour le test des options, pas de pb. Pour l'affichage du dit message, je me suis basé logiquement sur le trigger loc_begin_admin_page et mon message s'affiche bien.
Problème :
- Lorsque l'option des emails obligatoires est désactivée, j'ai fait en sorte que cela masque l'option d'exclusion des domaine email dans UAM et devient inaccessible.
- Comme j'affiche le message par un array_push($page['errors'], l10n('...'));, cela empêche l'admin de modifier modifier l'option des emails obligatoires et le message reste affiché.
Il faut alors passer par la base de données pour modifier cette option... Vraiment pas top...
Une idée pour que çà fonctionne ?
Merci par avance !
Hors ligne
Euh... Oui mais encore ?
Je connais $page['errors'] et $page['infos'] mais pas $page['warning']... Tu aurais un exemple en tête ?
Hors ligne
Oublies mon post précédent. Evidemment, il y a $page['warnings'] (avec un "s").
Mais le message ne s'affiche que sur la page du plugin et pas sur l'admin en général.
Hors ligne
Ppffff !! Décidément, ce n'est pas mon jour... :-/
Ok, tout va (presque) bien si j'utilise un warning. Mais il reste un petit truc : Au moment de la validation de la modification à tord de l'option des emails obligatoires (désactivation alors que l'exclusion est active), il n'y a pas d'affichage du message. Il faut recharger la page en cours ou se rendre sur une autre page de l'admin que çà apparaisse.
Idem à l'inverse, lorsqu'on réactive l'option incriminée pour corriger le problème. Le message reste affiché tant qu'on n'a pas été voir une autre page.
Cela risque de dérouter quelques utilisateurs...
Hors ligne
je pense que ce qu'il faudrait faire c'est adopter le meme mécanisme que sur les pages publiques
à savoir
include(PHPWG_ROOT_PATH.'include/page_header.php'); trigger_action('loc_end_admin'); include(PHPWG_ROOT_PATH.'include/page_messages.php'); $template->pparse('admin');
ça résolverait le problème
comme ça tu fait ton event sur loc_end_admin et c'est tout bon
Hors ligne
Ou alors forcer le reload de la page en cours...
Hors ligne
Pages: 1