Kleiner Patch bzgl. https und Newsletter-Versand
Verfasst: Mo 1. Mär 2010, 14:21
Hallo miteinander,
beim Versenden von Newsletters gibt es beim aktuellen webEdition (6.0.0. ein kleines Problem, wenn das webEdition unter HTTPS läuft:
In /webEdition/we/include/we_modules/newsletter/weNewsletterView.php steht:
Dadurch werden, wenn die Option "Benutze HTTPS für Verweise" in den Newsletter-Optionen nicht aktiviert ist, Links mit http:// als Protokoll, und :443 als Port generiert.
Meiner Ansicht nach wäre es besser, wenn standardmäßig nicht nur der Port sondern auch das Protokoll automatisch erkannt werden. Daher hier ein möglicher Patch:
Bei der Suche hiernach ist mir auch aufgefallen, dass die Funktion getProtocol() in /webEdition/lib/we/util/Sys/Server.php unter Umständen auch einen falschen Wert zurückgibt.
Dort steht:
Wenn PHP auf einem IIS und mit ISAPI läuft, ist $_SERVER['HTTPS'] aber nicht empty, sondern 'off'.
Daher Fix:
Grüße,
paeppi
beim Versenden von Newsletters gibt es beim aktuellen webEdition (6.0.0. ein kleines Problem, wenn das webEdition unter HTTPS läuft:
In /webEdition/we/include/we_modules/newsletter/weNewsletterView.php steht:
Code: Alles auswählen
if(isset($this->settings["use_port"]) && $this->settings["use_port"]) $port = ":".$this->settings["use_port"];
else if ($_SERVER['SERVER_PORT'] != 80) $port = ":".$_SERVER['SERVER_PORT'];
else $port = "";
if(isset($this->settings["use_https_refer"]) && $this->settings["use_https_refer"]) $protocol="https://";
else $protocol="http://";
Meiner Ansicht nach wäre es besser, wenn standardmäßig nicht nur der Port sondern auch das Protokoll automatisch erkannt werden. Daher hier ein möglicher Patch:
Code: Alles auswählen
if(isset($this->settings["use_port"]) && $this->settings["use_port"]) $port = ":".$this->settings["use_port"];
else if ($_SERVER['SERVER_PORT'] != 80) $port = ":".$_SERVER['SERVER_PORT'];
else $port = "";
if(isset($this->settings["use_https_refer"]) && $this->settings["use_https_refer"]) $protocol="https://";
else if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') $protocol="http://";
else $protocol="https://";
Bei der Suche hiernach ist mir auch aufgefallen, dass die Funktion getProtocol() in /webEdition/lib/we/util/Sys/Server.php unter Umständen auch einen falschen Wert zurückgibt.
Dort steht:
Code: Alles auswählen
public static function getProtocol()
{
return (empty($_SERVER['HTTPS'])) ? 'http' : 'https';
}
Daher Fix:
Code: Alles auswählen
public static function getProtocol()
{
return (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') ? 'http' : 'https';
}
Grüße,
paeppi