Re: [Galette-discussion] Plugin QRcodes

[ Thread Index | Date Index | More lists.galette.eu/users Archives ]


Salut,

Le 03/04/2017 à 16:36, f.lassave@xxxxxxx a écrit :
>> Tu peux récupérer la liste des plugins depuis l'object Plugins :
>> $plugins->getModules();
>>
>> C'est un tableau associatif ayant pour clé le dossier d'installation
>> du
>> plugin (que tu ne peux pas connaître donc) mais dans lequel tu
>> retrouve
>> les infos définies dans les _define.php ; tu peux donc boucler sur la
>> liste, et checker si le nom correspond à l'autre plugin.
>>
>> Une fois qui tu as le "bon", bah, tu as toutes les infos pour
>> construire
>> un lien relatif.
>>
>> À titre d'info, voici ce que tu obtiendrais pour le plugin maps
>> (sortie
>> d'une 0.9 - ce sera sensiblement identique en 0.8) :
>> 'plugin-maps' => array (
>>     'root' => '/var/www/html/galette/galette/plugins/plugin-maps',
>>     'name' => 'Galette Maps',
>>     'desc' => 'Maps features',
>>     'author' => 'Johan Cwiklinski',
>>     'version' => '1.3dev',
>>     'acls' =>  array (
>>       'maps_localize_member' => 'member',
>>       'maps_mymap' => 'member',
>>       'maps_ilivehere' => 'member',
>>     ),
>>     'date' => '06/01/2017',
>>     'priority' => 1000,
>>     'root_writable' => false,
>>     'route' => 'maps',
>>     'tpl_assignments' =>  array (
>>       'maps_tpl_dir' => '__plugin_templates_dir__',
>>       'maps_dir' => '__plugin_dir__',
>>       'pluginc_dir' => '__plugin_include_dir__/',
>>     ),
>> )
>>
>> Dans cet exemple, tu peut donc vérifier que le "name" est bien celui
>> que
>> tu attends, et du coup la clé (plugin-maps) te donne le dossier
>> d'installation du plugin ; le lien ressemblera donc à kkch comme  :
>> $grades_url = GALETTE_BASE_PATH . '/plugins/' . $pluginid . '/';
>>
>>
>> Hope that helps,
> 
> Arf, j'ai encore du mal à faire la différence entre "lien absolu" et "lien relatif" ... :/
> 
> La méthode que tu me proposes récupère le lien absolu !? "/var/www/..." !?

Absolument pas. La méthode que je propose utilise la clé du tableau, à
savoir 'plugin-maps'.

Tu fais des amalgames... Il faut distinguer les liens absolus et
relatifs des URL et chemins système !

http://galette/plugins/monplugin/mapage.php est une URL absolue.
../../monplugin/mapage.php est une URL relative.

/var/Www/galette/plugins/monplugin/mapage.php est un chemin système absolu.


> 
> Peut être me suis-je mal exprimé ... 
> Dans mon plugin, je souhaite que les QRcodes pour le passage de grade contiennent "http://ascjudocazeres.legtux.org/galette/plugins/PassagesDeGrades/PassagesDeGrades.php?id_adh=$id_adh"; ... Pour que le lien du QRcode lance le navigateur sur la bonne fiche de notation ...
> 
> Il s'agit bien du lien relatif, dont j'ai besoin ??? 

Pour contruire un lien relatif, tu as juste besoin de savoir où tu es
dans le plugin courant et de connaitre le nom du dossier dans lequel
l'autre plugin est installé. Une fois que tu as ces infos, ça marchera à
tous les coups.
Pour un lien absolu, tu as besoin de connaître la méthode (http ou
https), la nom de domaine, le chamin vers galette, et le nom du dossier
dans laquel l'autre plugin est installé. Ça change sur toutes les
instances, et ce n'est pas trivial à récupérer.


++
-- 
Johan

Attachment: signature.asc
Description: OpenPGP digital signature



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/