Bonjour GBO,
J'utilise beaucoup la méthode de l'API pwg.plugins.performAction pour réactiver les plugins après migration sur Piwigo.com. En l'occurence le problème n'est absolument pas lié à Piwigo.com mais ça te permet de comprendre le contexte.
Sur toutes les galeries qui utilisent LLGBO (et il y en a pas mal...), après migration on se retrouvait avec une perte de la configuration du plugin :
mysql> select * from config where param like 'LLGBO%'; +--------------+-------+--------------------------------+ | param | value | comment | +--------------+-------+--------------------------------+ | LLGBO | | look like gbo global settings | | LLGBOFRAME | | look like gbo frame settings | | LLGBOHEADER | | look like gbo header settings | | LLGBOTOOLTIP | | look like gbo tooltip settings | +--------------+-------+--------------------------------+ 4 rows in set (0.00 sec)
J'ai mis du temps à comprendre. En activant le debug sur la réactivation du plugin via l'API web, j'ai pu découvrir des erreurs en pagaille :
Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/pierrick/public_html/piwigo/piwigo.com/2.5/plugins/look_like_gbo2/maintain.inc.php on line 35
Concrêtement, LLGBO_PATH est défini comme une URL et pas comme un PATH. Je te propose de changer:
$ svn diff Index: maintain.inc.php =================================================================== --- maintain.inc.php (revision 1374) +++ maintain.inc.php (working copy) @@ -31,7 +31,8 @@ function plugin_install() { global $prefixeTable,$conf; if (!defined('LLGBO_PATH')) -{define('LLGBO_PATH' ,get_root_url().'plugins/'.basename(dirname(__FILE__)). '/');} +{ + define('LLGBO_PATH', PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)). '/');} include(LLGBO_PATH.'defaultvalues.php'); plugin_uninstall(); // en cas de mauvaise deinstallation anterieure $q = '
Alors pourquoi on a le bug juste via l'API ? Parce qu'au début de ws.php (le point d'entrée pour les appels à l'API) on fait un set_make_full_url() et que donc PHPWG_ROOT_PATH ne vaut plus du tout get_root_url()
Hors ligne
Je viens de livrer la correction en version 2.5.B.
je n'aurai pas trouvé l'origine du problème,à l'époque j'ai dû plagier P@t sur un plugin existant.
Hors ligne