Autor Thema: OKAPI-Frage: Hint in Plain-Text oder HTML?  (Gelesen 1654 mal)

Offline ra_sch

  • Micro
  • ***
  • Beiträge: 273
OKAPI-Frage: Hint in Plain-Text oder HTML?
« am: 08. Juni 2013, 12:41:03 »
Hi,

ich habe nochmal eine Frage zur OKAPI. Vor ein gut zwei Wochen bekamen wir im Forum einen Fehlerbericht, dass der Hint von OCED69 nicht richtig angezeigt würde. Es stellte sich heraus, dass er Zeichen wie '<' enthält, wir den Hint aber als HTML interpretieren, so dass ein Teil abgeschnitten wurde.
Als ich das Problem gestern lösen wollte, stellte ich fest, das der Hint jetzt als HTML (mit &lt; und <br />) zurückgegeben wurde. Die Dokumentation spricht an dieser Stelle immer noch von Plaintext. Deswegen meine Frage: Ist die OKAPI hier geändert (ab rev 810?) und die Dokumentation nicht nachgezogen oder liegt das an einer Änderung allein auf oc.de?
Ich konnte in der Versionsgeschichte oder commit-meldungen für die OKAPI nichts erhellendes finden.

following

  • Gast
Re: OKAPI-Frage: Hint in Plain-Text oder HTML?
« Antwort #1 am: 08. Juni 2013, 12:53:44 »
An der OKAPI wurde nichts geändert, aber im OC.de-Quelltext fällt mir Folgendes in editdesc.php auf (auch nicht neu):

$hint = htmlspecialchars($_POST['hints'], ENT_COMPAT, 'UTF-8');

Ich befürchte, dass hier ein ähnliches Minenfeld lauert wir beim Logtext-Format; siehe https://code.google.com/p/opencaching-api/issues/detail?id=124. Werd mir das in den nächsten Tagen mal genauer anschauen, auch im polnischen Code.


Offline ra_sch

  • Micro
  • ***
  • Beiträge: 273
Re: OKAPI-Frage: Hint in Plain-Text oder HTML?
« Antwort #2 am: 08. Juni 2013, 16:23:27 »
Danke für die schnelle Rückmeldung. Ist schon ein bisschen merkwürdig, da der Cache ja recht neu ist (17.5.2013). Habe wir den OC-Code dann auch nochmal durchgeschaut. Die nur-text-variante erscheint schon eingermaßen unplausibel.

following

  • Gast
Re: OKAPI-Frage: Hint in Plain-Text oder HTML?
« Antwort #3 am: 09. Juni 2013, 01:31:28 »
Die Hints sind auf allen OC-Installationen per nl2br(htmlspecialchars($hint, ENT_COMPAT, 'UTF-8')) codiert. Die OKAPI liefert sie genau in diesem Format zurück und hat das wohl schon immer so getan.

Das Problem besteht auch im GPX-Format, nicht nur in der OKAPI sondern auch beim direkten Download von OC. :(

Mal schauen, wie wir aus diesem Chaos wieder rauskommen. Für das bestehende hint-Feld gibt es keine saubere Lösung - egal ob wir die Doku oder die Codierung ändern, immer können irgendwelche Clients auf die Schnauze fallen, weil sie vom Gegenteil ausgehen.

Es könnte auf ein neues hint2-Feld hinauslaufen, das tatsächlich Plaintext enthält, und das hint-Feld erhält den Status "Format undefiniert" und deprecated.

Offline ra_sch

  • Micro
  • ***
  • Beiträge: 273
Re: OKAPI-Frage: Hint in Plain-Text oder HTML?
« Antwort #4 am: 09. Juni 2013, 15:49:11 »
Ich hatte in der Zwischenzeit auch noch ein wenig gestöbert und die von dir angesprochenen Stellen inspiziert. Das wäre dann an sich ja auch klar, und es müsste nur die Dokumentation angepasst werden (das es ja immer schon so war). Was mich dabei nur frappiert ist die Tatsache, das ich den nicht-encodeten Hint hier bei mir gesehen habe! Wie kann der da Überhaupt gelandet sein frage ich mich?
Kann man eventuell auf der Datenbank prüfen, wie der Status quo bzgl. der Hints ist? Vielleicht sollte ich mir über di XML-Schnittstelle mal einen Abzug besorgen....

following

  • Gast
Re: OKAPI-Frage: Hint in Plain-Text oder HTML?
« Antwort #5 am: 09. Juni 2013, 16:05:24 »
Ich kann keine uncodierten  Hints in der Datenbank entdecken. Kann es sein, dass du da ein "<br />" gesehen hast das von nl2br erzeugt wurde?

following

  • Gast
Re: OKAPI-Frage: Hint in Plain-Text oder HTML?
« Antwort #6 am: 12. Juni 2013, 16:43:48 »
Es gibt jetzt zwei neue Plaintext-Felder 'hint2' und 'hints2'. Die alten Hint-Felder sollten nicht mehr verwendet werden.