[1.4.0.17]+ Tools::redirect() n'accepte pas les query string de l'url



  • Tools::redirect() manipule l'url de telle manière que les paramètres sont invalide (donc ignoré)

    C'est typiquement le cas lorsqu'un contrôleur requiert une authentification. L'url pour la connexion devient:
    /connexion?back=<url-d'origine>

    Si l'url d'origine contient des paramètres (?id_guest=xxxx) celle-ci est ignorée.

    Le code "malade":

                            $explode = explode('?', $url);
                            $url = $link->getPageLink($explode[0], true);
                            if (isset($explode[1]))
                                    $url .= '?'.$explode[1];
    

    Doit être remplacé par:

                            $explode = explode('?', $url,2);
                            $url = $link->getPageLink($explode[0], true);
                            if (isset($explode[1]))
                                    $url .= '?'.$explode[1];
    


  • Merci @doekia qui m'a enlevé une belle épine du pied :slight_smile: