Betreff mit Umlauten wird nicht gespeichert

Betreff mit Umlauten wird nicht gespeichert

Postby GrosserBlonder » 2:45pm, Wed 23 Jan, 2008

Hallo zusammen,

mir ist gerade etwas seltsames aufgefallen. Wenn ich in phplist eine neue Nachricht erstelle und einen Betreff mit Umlauten eintrage, wird dieser beim klick auf "Speichern" nicht gesichert. Stattdessen wird das Betreff-Feld gelöscht. Wenn ich auf Umlaute verzichte wird der Betreff anstandslos mit gespeichert.
Hat jemand von euch das gleiche Problem bzw. kennt die Lösung?

phplist 2.10.5 mit deutschem Interface.
php version: 5.2.5-0
MySQL Server Version: 5.0.45

Danke.

Viele Grüße
Andreas
GrosserBlonder
phpList newbie
 
Posts: 3
Joined: 2:23pm, Wed 23 Jan, 2008

Postby AndreJ » 9:17pm, Thu 14 Feb, 2008

Moin zusammen,

genau dieses Problem kann ich bestätigen:
Nachdem man eine neue Nachricht angelegt hat und auf "Speichern" klickt, ist die Betreffzeile danach leer.
Ein Blick in die MySQL-Tabelle verrät aber, dass der Betreff korrekt gespeichert wird, das Problem also anscheinend beim Auslesen auftritt. Speichert man danach versehentlich wieder, wird der Betreff dann allerdings natürlich wirklich gelöscht - was leicht passieren kann, wenn man nicht aufpasst, und was dann sehr ärgerlich ist, wenn man versehentlich ohne Betreff abschickt.

Kennt sich einer etwas besser mit dem Code aus? In welcher Datei ist der Code für /lists/admin/?page=send?
Hat einer eine Idee, was man ändern muss?

Viele Grüße
André
AndreJ
phpList newbie
 
Posts: 3
Joined: 9:12pm, Thu 14 Feb, 2008

Postby AndreJ » 12:26am, Fri 15 Feb, 2008

Ich hab für mich eine Lösung gefunden:

Datei /lists/admin/send_core.php, Zeile 951/952
Code: Select all
<td><input type=text name="msgsubject"
value="'.htmlentities($subject,ENT_QUOTES,'UTF-8').'" size=40></td></tr>

ändern in
Code: Select all
<td><input type=text name="msgsubject"
value="'.htmlentities($subject,ENT_QUOTES).'" size=40></td></tr>


Gibt da anscheinend Probleme mit UTF8 - ich hatte das Charset bei mir in der Konfiguration auch auf "iso-8859-1" umgestellt - möglich, dass es daran lag. Jetzt läuft es bei mir jedenfalls rund! :-)
(Ich hab das bei der Gelegenheit ein paar Zeilen drunter auch noch bei $from geändert - vermute, da gibt es sonst einen ähnlichen Fehler...)

Viele Grüße
André
AndreJ
phpList newbie
 
Posts: 3
Joined: 9:12pm, Thu 14 Feb, 2008

Postby GrosserBlonder » 8:30am, Fri 15 Feb, 2008

Hallo André,

danke für den Tipp, hat bei mir geklappt. Der Fehler ist behoben! :D

Viele Grüße
Andreas
GrosserBlonder
phpList newbie
 
Posts: 3
Joined: 2:23pm, Wed 23 Jan, 2008

Re: Betreff mit Umlauten wird nicht gespeichert

Postby thomi » 12:45pm, Fri 17 Jan, 2014

Hallo zusammen....

Ein Kunde arbeitet mit 2.10.19 und hat genau dieses Problem.. alle Arten von Lösungen inkl. Charset/Kollation Anpassung in der Datenbank haben nicht geholfen.

Habe dann die Source unter die Lupe genommen, bin ein wenig erschrocken.. aber lassen wir das mal ;)

Das Speichern, senden u.s.w. spielt sich im admin/send_core.php ab.

Hier ein Diff, welches die Änderungen zeigen.

Code: Select all
--- phplist_2.10.19/original/admin/send_core.php   2013-09-07 07:24:55.592768164 +0200
+++ phplist_2.10.19/custom/admin/send_core.php   2014-01-17 13:47:34.832923986 +0100
@@ -146,9 +146,11 @@
   else $_POST["forwardfooter"] = removeXSS($_POST["forwardfooter"]);
 
   if (!isset($_POST["msgsubject"])) {
-    $_POST["msgsubject"] = removeXSS($_POST["subject"]);
+//     $_POST["msgsubject"] = removeXSS($_POST["subject"]);
+    $_POST["msgsubject"] = $_POST["subject"];
   } else {
-    $_POST['subject'] = removeXSS($_POST['msgsubject']);
+//     $_POST["subject"] = removeXSS($_POST["msgsubject"]);
+    $_POST["subject"] = $_POST["msgsubject"];
   }
   if ((!isset($_POST["year"]) || !is_array($_POST["year"])) && $_POST["embargo"] && $_POST["embargo"] != "0000-00-00 00:00:00") {
      $embargo->setDateTime($_POST["embargo"]);
@@ -1001,7 +1003,7 @@
   // detection of unsaved changes,
   var browser = navigator.appName.substring ( 0, 9 );
   var changed = 0; function haschanged() {changed = 1; }
-  function savechanges() { if (changed) { if (confirm("<?php echo str_replace('"','&quot',reverse_htmlentities($GLOBALS['I18N']->get("unsavedchanges")))?>")) return true; else return false; return false;}}
+  function savechanges() { if (changed) { if (confirm("<?php echo str_replace('"','&quot',html_entity_decode($GLOBALS['I18N']->get("unsavedchanges"), ENT_COMPAT, 'ISO-8859-1'))?>")) return true; else return false; return false;}}
   //'
   var event_number = 0;if (browser=="Microsoft") {  document.onkeydown=haschanged;  document.onchange=haschanged;} else if (browser=="Netscape") {  document.captureEvents(Event.KEYDOWN);  document.captureEvents(Event.CHANGE); document.onkeydown=haschanged;document.onchange=haschanged;}
   function submitform() { document.sendmessageform.submit() }


Nach einigen Tests und Analysen funktioniert dies einwandfrei.

Hoffe dem ein oder anderen kann so geholfen werden... wenigstens ein Lösungsansatz mehr ;)

Grüsse
thomi
thomi
PL Nut
 
Posts: 23
Joined: 3:02pm, Tue 21 Sep, 2010

Re: Betreff mit Umlauten wird nicht gespeichert

Postby thomi » 3:35pm, Thu 30 Jan, 2014

Hallo zusammen

Habe da noch mehr gefunden und gleich patches gemacht.

Wers nutzen kann, nur zu ;)

Grüsse
thomi
Attachments
phplist-21019-diff.png
File content
phplist-21019-diff.png (8.77 KiB) Viewed 4806 times
phplist_2.10.19_diff_20140130.tar.gz
PHPList 2.10.19 admin diff files
(3.1 KiB) Downloaded 251 times
thomi
PL Nut
 
Posts: 23
Joined: 3:02pm, Tue 21 Sep, 2010

Re: Betreff mit Umlauten wird nicht gespeichert

Postby thomi » 10:31am, Mon 03 Feb, 2014

Hi

und neue Patches...
Neu dazu:
admin/commonlib/pages/user.diff
admin/subscribelib2.diff
index.diff

Grüsse
thomi
Attachments
phplist-2.10.19-diff_20140203.png
diff content
phplist-2.10.19-diff_20140203.png (9.65 KiB) Viewed 4784 times
phplist_2.10.19_diff_20140203.tar.gz
diff
(3.68 KiB) Downloaded 257 times
thomi
PL Nut
 
Posts: 23
Joined: 3:02pm, Tue 21 Sep, 2010


Return to German forum

Who is online

Users browsing this forum: No registered users and 2 guests