Seite 1 von 2

urlencode bei Bildbeschreibungen?

Verfasst: Sa 24. Mai 2008, 23:31
von Halchteranerin
Mir ist gerade etwas aufgefallen, was ich gar nicht toll finde.
Ich benutze u. a. eine Bildergalerie von Andreas Kummer, und zwar eine (die?), die Bildbeschreibungen mit ausgibt. Ich habe eine neue Seite angelegt, die das Modul benutzt, und dabei fiel mir auf, dass die Bildbeschreibungen "urlencoded" sind. Daraufhin habe ich in der Datenbank nachgeschaut und gesehen, dass die alten Einträge im Klartext sind.

Ist das ein Bug oder ein Feature? :roll:

Die neuen Beschreibungen habe ich erstmal in Klartext umgewandelt, natürlich direkt in der Datenbank, aber wenn das mit der Codierung so bleibt, kann ich das doch nicht für jede Beschreibung, die noch kommt, machen. :( Das Modul könnte man wahrscheinlich anpassen und ein urldecode über die Beschreibungen laufen lassen, aber was passiert dann mit den alten Einträgen, die gar nicht urlencoded sind?

Verfasst: So 25. Mai 2008, 01:40
von OliverL
Das 'urldecode' stammt wohl noch aus 4.6. wo die Daten in con_properties mittels urlencode gespeichert wurden.

-> .. dass die alten Einträge im Klartext sind.
Die alten? nicht die Neuen?

Hast du ein Update gemacht? Wenn ja werden beim Update die alten Daten dann korrekt übernommen?

ich würde es entfernen.
eine vollständig neue Datei einpflege
und wenn dann das richtige bei diese Datei im Frontend kommt ist es ein Modul-Bug.

Anhang:
Wenn du die Beschreibung nutzt bekommst du eventell auch das Problen?
siehe 3.2.
http://forum.contenido.org/viewtopic.ph ... 146#118146

Verfasst: So 25. Mai 2008, 07:33
von Halchteranerin
OliverL hat geschrieben:Das 'urldecode' stammt wohl noch aus 4.6. wo die Daten in con_properties mittels urlencode gespeichert wurden.
Ich habe ein Upgrade von ich glaube 4.4.5 (oder 4.4.4 oder 4.4.6, das weiß ich nicht mehr ganz genau) auf 4.8.3 gemacht, und bei 4.4. gab's keine con_properties. Aber davon abgesehen, geht es auch nicht um die con_properties sondern um die con_upl.
OliverL hat geschrieben:-> .. dass die alten Einträge im Klartext sind.
Die alten? nicht die Neuen?
Ja.
OliverL hat geschrieben:Hast du ein Update gemacht? Wenn ja werden beim Update die alten Daten dann korrekt übernommen?
S. o. Ich habe noch in der alten DB geschaut, da sind die besagten Einträge auch im Klartext zu finden, d. h. sie sind wohl korrekt übernommen worden.
OliverL hat geschrieben:ich würde es entfernen.
eine vollständig neue Datei einpflege
und wenn dann das richtige bei diese Datei im Frontend kommt ist es ein Modul-Bug.
Was entfernen? Ich habe ja vollständig neue Dateien eingepflegt, Beschreibungen angegeben, und dabei festgestellt, dass diese neuen Beschreibungen urlencoded sind, was sie bei 4.4 nicht waren. Es ist also definitiv kein Modul-Bug.

OliverL hat geschrieben:Anhang:
Wenn du die Beschreibung nutzt bekommst du eventell auch das Problen?
siehe 3.2.
Diesbezüglich ist mir nichts aufgefallen.

Aber nachdem ich gestern versucht habe, am Gästebuchmodul, das mir auch neuerdings errorlog-Einträge beschert, rumzuschrauben, geht plötzlich die ganze Site nicht mehr :evil:, und das, obwohl ich die Seite mit dem Gästebuch als auch die Seite mit der neu angelegten Galerie offline gesetzt habe.

Wenn ich die Startseite aufrufe, kommt diese Meldung:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /[Pfad_zu_cms]/front_content.php(917) : eval()'d code on line 95

Wenn ich die Bildergalerie aufrufe (ich habe noch einen direkten Link, denn wenn die Startseite nicht geht, geht alles andere ja auch nicht) kommt die gleiche Fehlermeldung, nur dass statt Zeile 95 Zeile 73 angegeben ist.

Ich habe aber nur einen neuen Artikel angelegt (mit der besagten Galerie) und an dem Gästebuchmodul etwas geändert, deswegen verstehe ich überhaupt nicht, warum jetzt diese Fehlermeldung (die ich zuerst in Verbindung mit meinem Gästebuch gebracht habe) schon bei der Startseite kommt. :(

Wenn ich nach T_ENCAPSED_AND_WHITESPACE im Forum suche, kommt da nix.

Verfasst: So 25. Mai 2008, 12:17
von OliverL
Wow!
Dann muss ich passen.
Kenne leider nicht die Codestruktur von 4.4.x
und die (eventuellen) Änderungen von 4.8.1 (meins) zu 4.8.3

Verfasst: So 25. Mai 2008, 13:28
von Halchteranerin
OliverL hat geschrieben:und die (eventuellen) Änderungen von 4.8.1 (meins) zu 4.8.3
Wie ist denn die Beschreibung in con_upl bei 4.8.1, Klartext oder urlencoded?

Verfasst: So 25. Mai 2008, 18:41
von OliverL
Also bei 4.8.1 und auch 4.8.4 sind beide Klartext (mit phpmyadmin 2.11).

(Was mich erst verwirte den die meisten TebellenDaten werden urlencoded gespeichet)

Verfasst: So 25. Mai 2008, 20:13
von tono
wenn Du in config.misc.php

Code: Alles auswählen

$cfg["debug"]["codeoutput"] = true;
einsetzt, wird Dir der Artikelcode in einer Textbox im Frontend ausgegeben. Da kannst Du gucken in welchem Modul der Fehler auftritt und wieso. Klarheit über die Bedeutung der Meldung verschafft php.net.

Verfasst: So 25. Mai 2008, 20:15
von Halchteranerin
tono, danke erstmal für den Tipp. Ich versuche gerade ein Upgrade auf 4.8.4, wenn es sich immer noch verschluckt, versuche ich es mit dem Debuggen, und wenn ich nicht weiterkomme, melde ich mich hier wieder. :)

Verfasst: So 25. Mai 2008, 20:45
von Halchteranerin
Da bin ich wieder. :oops: Geholfen hat es leider gar nicht, das Upgrade, meine ich.

Aber bei mir sind bei nun 4.8.4 die (Bild-)Beschreibungen immer noch urlencoded! Ich habe ein Bild gelöscht, es neu hochgeladen und die Beschreibung erneut angegeben, in der Datenbank (con_upl) steht wieder z. B. "Es+gr%FCnt+so+gr%FCn+..."

Was mich stutzig macht ist auch, dass in der Dateiverwaltung noch alle Beschreibungen von gestern da sind, obwohl ich sie gestern Abend in der Datenbank gelöscht habe (und sie heute immer noch nicht drin sind!), aber das hängt möglicherweise mit dem Cache zusammen.

tono, du hattest geschrieben "Da kannst Du gucken in welchem Modul der Fehler auftritt und wieso." Ähm, gibt es irgendwie ein Stichwort, wonach ich suchen soll? Das, was da ausgegeben wird, hat bei mir 727 Zeilen, und beim Überfliegen ist mir leider irgendwie gar nichts aufgefallen. :(

Bei der Gelegenheit ist mir aufgefallen, dass meine Haupt- und Servicenavi-Module noch die alten sind und die das is_start benutzen, aber das Problem kann nicht damit zusammenhängen, weil es bis gestern lief, oder etwa doch??

Verfasst: So 25. Mai 2008, 22:22
von tono
Halchteranerin hat geschrieben:tono, du hattest geschrieben "Da kannst Du gucken in welchem Modul der Fehler auftritt und wieso." Ähm, gibt es irgendwie ein Stichwort, wonach ich suchen soll? Das, was da ausgegeben wird, hat bei mir 727 Zeilen, und beim Überfliegen ist mir leider irgendwie gar nichts aufgefallen. :(
Deine Fehlermeldung hieß "...eval()'d Code on Line 95". Was Du jetzt siehst ist der eval()'d Code. Ich würde in Zeile 95 bzw. 73 gucken.
Halchteranerin hat geschrieben:Bei der Gelegenheit ist mir aufgefallen, dass meine Haupt- und Servicenavi-Module noch die alten sind und die das is_start benutzen, aber das Problem kann nicht damit zusammenhängen, weil es bis gestern lief, oder etwa doch??
Dazu erlaube ich mir keine Ferndiagnose, manchmal hängen Dinge komisch zusammen.

Abgesehn davon, läuft Contenido nach einem Upgrade von 4.4 doch eh im "start_compatible"-Modus oder gibts den nicht mehr? Dann würd ich mir mal weninger Gedanken um Startartikel machen und erstmal den Rest in den Griff kriegen.

Verfasst: Mo 26. Mai 2008, 04:19
von OliverL
Grundsetzliche Basis:

in der 4.8 Version wird anscheint die Description doppelt gespeichert.
1. in "con_upl" als urlencode
2. in "con_upl_meta" als klartext mit ' = \'

und in dem Modul wird die "con_upl" verwendet. d.h. das urldecode ist im Modul schon richtig.

Sorry für die Verwirrung für die ich eventuel gesorgt habe. War hat ne andere DB-Tabelle :lol:

Und auf dieser Basis noch mal auf den ersten Post zurück.

Alle Description in "con_upl" sollten urlencoded sein und im Modul sollten sie urldecoded werden.

Wenn du ein Modul aus deinem 4.4 nutzt solltest du es Updaten mit urldecode. Finde ich am einfachsten. Natürlich dann alle Beschreibungen EINMAL anpassern.

Das Modul wird in der 4.8.x mitgeliefert und hat den Header:
Author: Timo A. Hummel
Created: 30-09-2005
Modified: 10-04-2008 by Bilal Arslan
Hier wird die Description decoded.

Verfasst: Mo 26. Mai 2008, 07:10
von Halchteranerin
tono hat geschrieben:Ich würde in Zeile 95 bzw. 73 gucken.
'tschuldigung, hatte ein groooßes Brett vorm Kopf! :oops:
tono hat geschrieben:Abgesehn davon, läuft Contenido nach einem Upgrade von 4.4 doch eh im "start_compatible"-Modus oder gibts den nicht mehr?
Jein. Grundsätzlich schon, aber dann nicht mehr, wenn man is_start_compatible auf false gesetzt und das Skript zum Konvertieren der Startartikel hat laufen lassen. :roll:

Also ... das letzte Problem hing mit meinem uralt-Statistikmodul zusammen, bei dem wir (tono und ich) und schon mal begegnet sind (ab hier: http://forum.contenido.org/viewtopic.php?p=27322#27322), wie ich gestern festgestellt habe :mrgreen:. Warum sich Contenido daran auf einmal SO verschluckt hat, weiß ich allerdings nicht, denn trotz der errorlog-Einträge lief es ja, und ich habe es nicht mehr angefasst, nachdem meine damalige Fehlersuche erfolglos blieb.

Aber zu meinem ursprünglichen Problem ...
OliverL hat geschrieben:und in dem Modul wird die "con_upl" verwendet. d.h. das urldecode ist im Modul schon richtig.
Es ist nicht richtig, dass "plötzlich" die Beschreibungen von Contenido urlencoded werden. :( Also richtig ist es schon, ok ist es nicht ...
OliverL hat geschrieben:Wenn du ein Modul aus deinem 4.4 nutzt solltest du es Updaten mit urldecode. Finde ich am einfachsten. Natürlich dann alle Beschreibungen EINMAL anpassern.
Sicher, ich habe auch "nur" 1355 Einträge in der con_upl. :(
OliverL hat geschrieben:Das Modul wird in der 4.8.x mitgeliefert
WELCHES Modul?

Die Frage ist, wie ich halbwegs automatisiert die (bereits vorhandenen) Beschreibungen urlencoden könnte.

Verfasst: Mo 26. Mai 2008, 07:25
von Halchteranerin
Halchteranerin hat geschrieben:Die Frage ist, wie ich halbwegs automatisiert die (bereits vorhandenen) Beschreibungen urlencoden könnte.
Nun ja, die vorläufige, wenn auch nicht so schöne Lösung, ist, dass ich das urldecode im Modul eingebaut habe und die Einträge in der con_upl teilweise (im Augenblick noch größtenteils) eben uncodiert sind, aber wo es nichts Codiertes gibt, gibt's auch nichts zu decodieren, so dass das Modul auch mit den alten Einträgen trotzdem richtig funktioniert.

Verfasst: Mo 26. Mai 2008, 07:30
von OliverL
Haste für die Konvertierung keinen Praktikanten? :lol:

Ups, du benutzt ja ein Modul von Kummer in 4.8.4 ist eine Gallery von Hummel (Hatte das so früh am morgen verweckselt)

Könnte dir nen Script schreiben wenn du willst.
Das holt dann alle Einträge aus der DB mit der idupl <= x konvertiert sie und trägt sie in beide DB-Tabelle ein "con_upl" & "con_upl_meta".

Aber nur wenn ich dafür auch nochmal so einen schönen Oskar bekomme :lol:

Verfasst: Di 27. Mai 2008, 16:10
von farina
Hallo,

ich habe das gleiche Problem seitdem ich ein Update auf 4.6.23 hatte.
Benutze ein altes Downloadmodul, dass die Dateibeschreibung mit ausgibt.

Daher finde ich diesen Thread sehr interessant, auch wenn ich nicht alles verstehe und nun kommt meine Frage an Halchteranerin
Nun ja, die vorläufige, wenn auch nicht so schöne Lösung, ist, dass ich das urldecode im Modul eingebaut habe und die Einträge in der con_upl teilweise (im Augenblick noch größtenteils) eben uncodiert sind
Wie und wo baue ich urldecode im Modul ein?
Das könnte ich ja zumindest einmal versuchen.

Gruß farina

PS: Hat sich erledigt, habe urldecode eingefügt und es klappt! :D