PLugin+méthode onActivate et onDeactivate
salut,
existe-t-il un moyen simple de savoir si le plugin est déjà activé ou non car à chaque fois que l'internaute active le plugin (même s'il est déjà activé) via le formulaire, la méthode onActivate est lancée ce qui est génant quand on fait un ajout ou une modif sur un fichier car l'ajout ou la modif est répétée à chaque fois.
Pour éviter ce problème, il faudrait que je rajoute dans la méthode onActivate() une condition qui vérifie si le plugin est déjà activé ou non auquel cas, s'il est déjà activé alors pas d'action à faire.
Cordialement.
existe-t-il un moyen simple de savoir si le plugin est déjà activé ou non car à chaque fois que l'internaute active le plugin (même s'il est déjà activé) via le formulaire, la méthode onActivate est lancée ce qui est génant quand on fait un ajout ou une modif sur un fichier car l'ajout ou la modif est répétée à chaque fois.
Pour éviter ce problème, il faudrait que je rajoute dans la méthode onActivate() une condition qui vérifie si le plugin est déjà activé ou non auquel cas, s'il est déjà activé alors pas d'action à faire.
Cordialement.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Merci
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
merci de te pencher sur mon problème.
Je vais essayer de détailler ce que je fais pour que tu vois où est le problème.
A l'activation du plugin, je fais un ajout de code dans le fichier users.xml (rajout d'un tag xml avec un cdata dedans)
Maintenant, si je suis distrait et que je relance l'activation du plugin déjà activé, j'ai à nouveau le rajout du code xml dans mon fichier users.xml et c'est là où ça coince. Pour moi, ce comportement est anormal car le plugin est déjà activé donc il ne devrait pas s'activer à nouveau.
J'ai vu que ton objet plxAdmin, il y avait moyen de savoir si un plugin était activé ou non (propriété activate). N'y aurait-il pas un moyen de créer une condition avec cette propriété lors de l'appel de onActivate et On Deactivate().
Cordialement.
PS : si tu le veux, je peux chercher de mon coté une correction à apporter au core de pluxml mais je pense que c'est toi le mieux placé car c'est toi qui connait le mieux le fonctionnement du core.
Tout à fait la solution est de tester la propriété activate ($this->aPlugins[$plugName]) des plugins avant l'appel des méthode OnActivate et OnDeactivate dans la classe plxPlugins, fonction saveConfig.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
cette solution sera-t-elle intégrée dans une prochaine mise à jour car elle concerne les fichiers natifs de pluxml.
En effet, si je ne trompe pas, dans la classe de mon plugin, je n'ai aucun accès possible à l'instance $plxAdmin donc je ne pourrai pas utiliser cette instruction $plxAdmin->aPlugins[$plugName]
Cordialement
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai un problème similaire, je voudrais savoir si mon plugin est actif avant d'exécuter son hook au niveau de /index.php.
Comment puis-je faire svp?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Le hook de mon plugin.
Je l'appelle environ ligne 87 de /index.php :
J'aimerais tester si mon plugin est activé avant d'appeler mon hook 'IndexMinify'
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Si il y a une façon plus élégante je prends ...