Annonce

  •  » Plugins
  •  » Recherche documentation pour le développement de plugin

#1 2017-09-23 12:23:34

HucSte
Membre
47 - FR
2017-09-23
6

Recherche documentation pour le développement de plugin

Bonjour,

J'aimerais savoir s'il y a de la documentation précise pour le développement de plugins.

Pour le propos, j'ai cloné le plugin "PaypalShoppingCart", pour apporter des modifications sensibles, relatives à la gestion des informations utilisateurs Paypal (cf, les deux issues en cours du projet de plegall).

Juste pour info : j'ai déjà à mon actif un plugin Paypal, pour une autre galerie...
Donc, je sais comment répondre à la demande des deux issues en question.
Donc, j'ai cloné pour modifier le code en conséquence et le proposer ensuite à plegall, en espérant qu'il l'acceptera :p

Bref, le problème n'est pas d'appréhender le code lié à Piwigo, mais de trouver les informations fines.

Exemple :
J'ai compris que le code suivant :

Code:

$page['infos'][] = l10n('Your configuration settings are saved');

Permettait d'avoir un message de notification sur fond vert permettant d'avertir l'utilisateur que ses changement ont été pris en compte...

Dans l'immédiat, la question que je me pose est quels sont les autres codes liés au tableau page !

Bref, quoiqu'il en soit, je dois mal m'y prendre, parce que je ne trouve pas ce que je recherche dans la section documentation !


Version de Piwigo: 2.9.1
Version de PHP: 5.6
Version de MySQL: 5.5.55
URL Piwigo:

Hors ligne

#2 2017-09-23 16:19:07

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12639

Re: Recherche documentation pour le développement de plugin

Bonjour HucSte,

Il y a un tas de choses dans $page, selon la page. Mais il y a effectivement quelques variables "standard" communes à toutes les pages. C'est le cas de $page['infos'], $page['errors'], $page['messages'] et $page['warnings'].


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

En ligne

#3 2017-09-23 20:47:05

HucSte
Membre
47 - FR
2017-09-23
6

Re: Recherche documentation pour le développement de plugin

Merci de ce début de réponse !

Hors ligne

#4 2017-09-23 21:06:17

HucSte
Membre
47 - FR
2017-09-23
6

Re: Recherche documentation pour le développement de plugin

@plg: ça tombe bien, c'est toi, ou tu fais partie de ceux qui travaillent sur le code de PaypalShoppingCart, n'est-ce pas ?

Bon, quoiqu'il en soit, j'ai un petit problème de variable qui semble ne pas être transmis dans la function ppppp_append_form() du fichier '''main.inc.php''.

https://github.com/hucste/Piwigo-PayPalShoppingCart

Dans le fichier ''admin.php'' je déclare de nouvelles variables ppppp_*...
dont une que j'ai appelée ppppp_url.
Et, je n'arrive pas à comprendre pourquoi elle n'est pas transmise lors de l'appel du fichier ''main.inc.php''.

----

Pour le propos, j'ai rajouté dans le code :
- du fichier ''admin.tpl'', de quoi créer un onglet 'userid'.
- du fichier ''admin.php'', les variables nécessaires pour le bon fonctionnement.
- du fichier ''main.inc.php'', pour la gestion des variables dans les différents formulaires.

----

Bref, la seule variable qui me pose problème est la variable 'ppppp_url'...
Cette variable va servir à changer l'url du serveur paypal, selon qu'on est en mode "Production" ou "Sandbox" pour être intégré dans l'attribut action des différents formulaires.
Ce n'est pas vraiment nécessaire, mais un petit plus "sympa". ;)

----

Question subsidiaire : je fais comment pour récupérer l'url en cours dans le fichier "main.inc.php" ?
Une méthode particulière ?

Dernière modification par HucSte (2017-09-23 21:22:42)

Hors ligne

#5 2017-10-01 22:45:19

HucSte
Membre
47 - FR
2017-09-23
6

Re: Recherche documentation pour le développement de plugin

Personne ne peut vraiment me répondre ?!

Hors ligne

#6 2017-10-03 17:23:08

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12639

Re: Recherche documentation pour le développement de plugin

Y'a beaucoup de choses dans ce fichier admin.php (dont pas mal d'inutiles à mon avis).

Voici mon diff, pour que le "mode" (production/sandbox) soit correctement sauvegardé.

Code:

$ git diff
diff --git a/admin.php b/admin.php
index ab223e1..857a0c6 100644
--- a/admin.php
+++ b/admin.php
@@ -212,23 +212,19 @@ SELECT id,name,uppercats,global_rank
                                $page['messages'][] = l10n('Please, configure your userid!');
                        }
                }
-               
-               if (!empty($_POST['mode']) 
-                       and isset($array_paypal_modes[ $_POST['mode'] ])
-                       and isset($array_paypal_urls[ $_POST['mode'] ])
-               ) {
+
+    if (!empty($_POST['mode']))
+    {
+      if (!isset($array_paypal_modes[ $_POST['mode'] ]) or !isset($array_paypal_urls[ $_POST['mode'] ]))
+      {
+        $_POST['mode'] = 'production';
+      }
+
                        $conf['PayPalShoppingCart']['mode'] = $_POST['mode'];
                        $conf['PayPalShoppingCart']['url'] = $array_paypal_urls[ $_POST['mode'] ];
                        conf_update_param('PayPalShoppingCart', $conf['PayPalShoppingCart']);
                        $page['infos'][] = l10n('Your configuration settings are saved');
                }
-               else {
-                       $conf['PayPalShoppingCart']['mode'] = 'production';
-                       $conf['PayPalShoppingCart']['url'] = $array_paypal_urls['production'];
-                       conf_update_param('PayPalShoppingCart', $conf['PayPalShoppingCart']);
-               }
-               var_dump($conf['PayPalShoppingCart']);
-               //$template->assign('ppppp_business', $conf['PayPalShoppingCart']['business']);
                
                $template->assign(
                        array(
diff --git a/admin.tpl b/admin.tpl
index 5178fb7..4879788 100644
--- a/admin.tpl
+++ b/admin.tpl
@@ -120,8 +120,8 @@ jQuery(document).ready(function() {
 <label for="business">{'Write your userid'|@translate}</label>
 <input type="text" id="business" name="business" value="{$ppppp_business}">
 <br>
-<label for="mode">{'Service mode Paypal'|@translate}</label>
-<select id="mode" name="mode" onchange="submit()">
+<label for="mode">{'Service mode Paypal'|@translate} (current={$ppppp_mode})</label>
+<select id="mode" name="mode">
 {foreach from=$ppppp_array_modes item=mode_label key=mode_code}
 <option value="{$mode_code}"{if $ppppp_mode==$mode_code} selected="selected"{/if}>{$mode_label}</option>
 {/foreach}

En gros, quand tu ne venais pas d'une validation de formulaire (quand tu affichais l'onglet "PayPal user" tout simplement) bim ça remettait le mode à production systématiquement.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

En ligne

#7 2017-10-03 17:39:46

HucSte
Membre
47 - FR
2017-09-23
6

Re: Recherche documentation pour le développement de plugin

Ok, merci.
J'apporte les corrections.

----

OK, j'ai compris comment gérer la variable ppppp_url... dans la function ppppp_picture_handler()...
Donc, j'ai mis à jour mes modifs sur mon fork :p

----

Il me reste plus qu'à comprendre comment capturer l'url de l'image en cours ;)

Dernière modification par HucSte (2017-10-03 18:56:15)

Hors ligne

#8 2017-10-04 06:32:27

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16784

Re: Recherche documentation pour le développement de plugin

Bonjour,

Sur une page image tu as $page['image_id'] qui te donne id de la photo c'est pas de cela que tu as besoin ?

Pour URL de la page un truc du genre $_SERVER['REQUEST_URI'] ne te renvois pas URL de la page ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#9 2017-10-04 09:47:44

HucSte
Membre
47 - FR
2017-09-23
6

Re: Recherche documentation pour le développement de plugin

merci à toi.

Bon, j'ai intégré la gestion des urls 'cancel' et 'return'...
Et, c'est sur ma "fourche" :p

----

Bon, j'ai fait une demande de merge... on verra si c'est accepté ;)

Dernière modification par HucSte (2017-10-04 10:10:15)

Hors ligne

  •  » Plugins
  •  » Recherche documentation pour le développement de plugin

Pied de page des forums

Propulsé par FluxBB

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