Bonjour à tous, 

En bossant sur les redirections via les notifications je me suis aperçu d'une 
chose : 
- on peut rediriger une personne sur une page du style 
/plugins/order/front/order.form.php 
- on ne peut pas rediriger une personne sur une page du style 
/plugins/order/front/reference.form.php 


Ce qui implique qu'on peut faire qu'une seule redirection pour un plugin : 
- et donc une seule entrée $PLUGIN_HOOKS['redirect_page']['order'] 


Je propose le patch en pièce jointe pour améliorer ceci : 
- l'entrée dans le setup du plugin est maintenant (par ex) : 
$PLUGIN_HOOKS['redirect_page']['order-reference'] = "front/reference.form.php"; 
- l'url affichée dans le mail est la suivante (par ex) : 
http://localhost/index.php?redirect=plugin_order-reference_1 
- l'utilisateur est redirigé directement vers : 
http://localhost/plugins/order/front/reference.form.php?id=1&forcetab=1 


Qu'en penses-vous ? 


++ 
François 

-- 
François Legastelois (flegastel...@teclib.com) 
teclib' - Consultant Applications OpenSource - http://www.teclib.com 
tel : 06 84 59 42 62 / 01 79 97 02 78 
--- glpi_svn/inc/common.function.php	2011-01-27 12:34:50.000000000 +0100
+++ glpi_proposal_patch/inc/common.function.php	2011-01-27 12:37:12.000000000 +0100
@@ -1908,9 +1908,16 @@
                          && isset($PLUGIN_HOOKS['redirect_page'][$data[1]])
                          && !empty($PLUGIN_HOOKS['redirect_page'][$data[1]])) {
 
-                        glpi_header($CFG_GLPI["root_doc"]."/plugins/".$data[1]."/".
-                                    $PLUGIN_HOOKS['redirect_page'][$data[1]]."?id=".$data[2].
-                                    "&$forcetab");
+                         $data2=explode("-",$data[1]);
+                         if(count($data2)>=1) {
+                            glpi_header($CFG_GLPI["root_doc"]."/plugins/".$data2[0]."/".
+                                        $PLUGIN_HOOKS['redirect_page'][$data[1]]."?id=".$data[2].
+                                        "&$forcetab");
+                         } else {
+                            glpi_header($CFG_GLPI["root_doc"]."/plugins/".$data[1]."/".
+                                        $PLUGIN_HOOKS['redirect_page'][$data[1]]."?id=".$data[2].
+                                        "&$forcetab");
+                         }
                      } else {
                         glpi_header($CFG_GLPI["root_doc"]."/front/helpdesk.public.php?$forcetab");
                      }
@@ -1944,9 +1951,16 @@
                          && isset($PLUGIN_HOOKS['redirect_page'][$data[1]])
                          && !empty($PLUGIN_HOOKS['redirect_page'][$data[1]])) {
 
-                        glpi_header($CFG_GLPI["root_doc"]."/plugins/".$data[1]."/".
-                                    $PLUGIN_HOOKS['redirect_page'][$data[1]]."?id=".$data[2].
-                                    "&$forcetab");
+                         $data2=explode("-",$data[1]);
+                         if(count($data2)>=1) {
+                            glpi_header($CFG_GLPI["root_doc"]."/plugins/".$data2[0]."/".
+                                        $PLUGIN_HOOKS['redirect_page'][$data[1]]."?id=".$data[2].
+                                        "&$forcetab");
+                         } else {
+                            glpi_header($CFG_GLPI["root_doc"]."/plugins/".$data[1]."/".
+                                        $PLUGIN_HOOKS['redirect_page'][$data[1]]."?id=".$data[2].
+                                        "&$forcetab");
+                         }
                      } else {
                         glpi_header($CFG_GLPI["root_doc"]."/front/central.php?$forcetab");
                      }
_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to