Apropos „Favicons in Kommentaren“ (WordPress)

deren angeblich fehlerhafte Implementierung mir von hochoffiziell überbezahlter Stelle bescheinigt wurde, wollte ich mal loswerden, dass mit Stephans überbordender PHP-affinität ein paar nützliche Veränderungen stattgefunden haben, die ich hier wieder dokumentieren muss.

Es gibt da auch irgendwo ein Plugin für diese Funktionalität, das habe ich mir mal anschauen dürfen, wenn ich mich recht entsinne, bei der Missi drüben, und ich habs trotz Caching-funktion und anderer netter Sachen als für zu umständlich und zu kaputt verworfen.

Hier gibt es nun eine imho excellente handgemachte Lösung, die so aussieht:

<cite><a title="<? comment_author_url();?>" //Zeigt im Tooltip die verlinkte URL
href="< ?php ob_start();
comment_author_url();
$o = ob_get_contents();
ob_end_clean();
if(trim($o) == ‚‘) echo ‚http://trash-wissen.de‘; // "Schaut" ob
eine Adresse eingetragen ist, wenn nicht, wird http://trash-wissen.de verlinkt

else echo $o;
?>"><img src="<?php ob_start();
comment_author_url();
$o = ob_get_contents();
ob_end_clean();
if(trim($o) == ‚‘) $o = ‚http://trash-wissen.de‘; //
Wie beim Link "Schaut" ob eine Adresse eingetragen ist, wenn nicht, wird für’s Favicon http://trash-wissen.de
verwendet.

$o_parts = parse_url($o);
echo $o_parts[’scheme‘] . ‚://‘ . $o_parts[‘host‘]; //
Verwendet für Favicon bei längeren URLs (bspw. Trackbacks) nur den Root

?>/favicon.ico" alt="&nbsp;" width="16" height="16" />< ?php
comment_author() ?></a>
</cite>

Der ganze Spass gehört in die comments.php an die Stelle, wo Link und Favicon hinsoll.

P.s. Dass das jetzt bei irgendeiner dummen IE-Einstellung nix hilft steht auf einem anderen Blatt, wie auch immer man das hinbekommt, dass der .ico nicht anzeigt.

Technorati Tags: ,

19 Kommentare to “Apropos „Favicons in Kommentaren“ (WordPress)”

  1.  missi schrieb am 18. Jun 2007 um 3:01

    Gugge mal in den Quelltext bei mir, die haben mittlerweile nen Cache. :o)

  2.  Mike® schrieb am 18. Jun 2007 um 10:45

    das mit dem Cache morkte ich ja oben als positiv an, es waren andere Sachen am Plugin, die mir nicht gefallen.

  3.  Missi schrieb am 18. Jun 2007 um 14:19

    Das ist ein komplett eigenes Plugin bei mir, das hat mit dem Favatar- Dingens garnichts zu tun. :o)

    Das mag ja jetzt hier alles funktionieren, wenn nur 5 Kommentare da sind. Da ist so ein Cache auch vollkommen overdressed. Wenn du nun aber 50 Kommentare oder mehr drunter hast, dann ruft er beim Seitenaufbau 50x diese Funktion auf da und wenn eine Seite mit dem Antworten nicht hinterherkommt, dann knickt dir mitunter dein Blog ein.

    Frag doch mal Stephan, ob er dir das in eine Funktion wrappt, dann kannst du das als Plugin mit einem Templatetag verteilen. Fänd ich Userfreundlicher als der Code da oben. 🙂

  4.  Mike® schrieb am 18. Jun 2007 um 16:47

    50 Kommentare auf „unserem kleinen Blögchen“? 😀

    Zu „Komplett eigenes Plugin“ da erinner ich mich nu nich wirklich dran, was ich ganz blass im Kopf hab, war irgendein irgendwo runterladbares Dingens. Lohnt sich’s, Deins mal anzuschauen?

    Wobei ich sagen muss, dass ich mit der Lösung grad ganz zufrieden bin, weil selbst ich da noch durchblicke.

  5.  Missi schrieb am 18. Jun 2007 um 16:59

    Da kannst du dich auch nicht dran erinnern, weil ichs nie veröffentlicht hab :o)

    Bei mir geht das so:

    Stage1: Ein Syntaxcheck vorab, ob die URL überhaupt stimmen kann. (Ich wollte eigentlich noch ne Anfrage, ob die auch da ist, aber da spinnt mein Hoster). Wenn der Syntax nicht stimmt, wird garnicht erst was eingetragen. (Ursprünglich war eben geplant, das nichts eingetragen wird, wenn die URL nicht existiert. Egal :o) ) Das findet alles noch vor dem Kommentareintrag in die Datenbank statt.

    Stage2:
    Wenn nun eine URL da ist, wird nach einem Favicon geschaut.

    Verschiedene Stufen:
    Ist es da, wird es abgeholt und gecached.
    Ist keines da = 404 => Defaulticon
    Host nicht erreichbar = Timeout => Defaulticon
    Sonstige Fehler (Forbidden, etc.) => Defaulticon

    Ob sichs lohnt, anzuguggen, weiß ich nicht, wie gesagt, ich hatte es nie veröffentlicht, denn dann müsste ich das Codegerümpel ja mal aufräumen. :o)

  6.  Greg schrieb am 19. Jun 2007 um 14:39

    Mike, die ICQ-Virus-Geschichte hat sogar 57 Kommentare 😀

  7.  Mike® schrieb am 19. Jun 2007 um 15:56

    ja, aber auch nicht 57 verschiedene Favicons, ausserdem was das mit dem Blögchen ein Insider, finde nur grad den Beitrag dazu nich…

  8.  Blacker47 schrieb am 19. Jun 2007 um 20:23

    Ich habe aber garkeinen favicon.ico.

  9.  Mike® schrieb am 20. Jun 2007 um 2:25

    Ich habe aber garkeinen favicon.ico.

    Ooooch, nuff, nuff, dafür haste etliche 404 im Log, is das nix? 😛

  10.  Blacker47 schrieb am 20. Jun 2007 um 12:34

    Mike, klar ist es was. Man sieht, wie penetrant der möchte-gern-Standard von dem IE sich verbreitet hat.

    Favicon.ico sollte eigentlich ein wirkliches ICO sein (und das ist auf garkeinen Fall ein BMP!). Eigentlich ist es recht praktisch. In einem ICO kann man mehrere Auflösungen (16×16-128×128) in mehreren Farbtiefen speichern. Der Browser könnte dann, je nach Anzeigeort und Grafikkarteneinstellung das eine oder andere zur Anzeige auswählen.

    Das Problem damit ist eher weniger, dass ICO ein von MS kommender Standard ist, sondern eher, dass man keine brauchbaren kostenlosen Programme dazu findet (zumindestens keine, die auch in mehreren Auflösungen speichern).

    Ein PNG fälschlicherweise zu nehmen wäre dann recht verführerisch, zeigen es doch so viele Browser doch an, aber es ist im Prinzip falsch.

    Darum verwende ich nur ein PNG über den HTML-Header eingebunden (was auch viel flexibeler ist).
    Gute Browser sollten eigentlich erst die HTML-Header prüfen und wenn dort kein Favicon vergeben ist, dann favicon.ico suchen. Das könnte auch für eine Homepage gelten.

    P.S.: Was passiert eigentlich, wenn ich favicon.ico in eine 5MB große Textdatei umleite?

  11.  Mike® schrieb am 20. Jun 2007 um 12:48

    Den „MS-Standard“ durchgedrückt hat übrigens Mozilla bzw. Firefox, indem die Abfrage fest in den Browser eingebaut wurde.
    Das grosse Trara ob 404s ist nun schon mehr oder weniger überstanden, und Webmaster haben grossteils „aufgerüstet“, sieht ja auch hybsch aus…

    Was Software betrifft, so spuckt Google zu ico freeware 16 32 eine Menge aus, was brauchbar aussieht.

    Was passiert eigentlich, wenn ich favicon.ico in eine 5MB große Textdatei umleite

    Bring die Leute nich auf dumme Ideen 😮

  12.  Greg schrieb am 20. Jun 2007 um 16:15

    Man könnte das ja mal testen. Aber ich glaube, der Browser ekennt einfach, dass das keine Bilddatei ist und bricht den Download ab.

  13.  DarkRat schrieb am 21. Jun 2007 um 20:35

    und wenn man eine 5MB große bilddatei benutzt? 😉

  14.  Flo schrieb am 23. Jun 2007 um 7:14

    Warum probierst Du es nicht einfach aus und teilst uns die Ergebnisse mit? 😉

    Interessant wäre es schon, aber ich glaube und hoffe mal, daß die Programmierer von Browser und Apache an solcherlei offensichtlich falsch eingebundenen Files gedacht haben.

  15.  Blacker47 schrieb am 23. Jun 2007 um 10:59

    Apache hat damit nichts zu tun.

  16.  Flo schrieb am 23. Jun 2007 um 18:17

    Hm. Ich hätte gedacht, der regelt da auch ein wenig mit, aber wissen tu ich es nicht. Naja, nichtmal ich kann alles wissen, oder ich gebe es zumindest nicht zu. 😉

    Du kannst ja mal probieren, dadurch einen Speicher-Overflow hinzubekommen und so irgendwie den Mozilla exploiten. Ich könnte fast wetten, daß sowas in der Art sicher mal beim MSIE möglich war, aber der hatte dafür auf jeden Fall seine Problemchen mit WMFs.

  17.  Blacker47 schrieb am 24. Jun 2007 um 0:38

    Exploits mit ICO gab es afair tatsächlich letztens in Windowsbiblioteken, aber ich glaube nicht wegen der Größe.

  18.  Mike® schrieb am 24. Jun 2007 um 0:48

    Ich hab (mir) mal spasseshalber ein Testcase mit ’ner 5MB-Datei gebaut, da ruckelt nix, crasht nix, dauert halt nur bisschen länger, bis es geladen ist.

  19.  Flo schrieb am 24. Jun 2007 um 1:39

    No olso! Doch noch einen gefunden, der das ausprobiert. Schon wieder zehn Minuten meines Lebens gespart. :p

    Schade, daß sich da sonst nichts tut. Ich hatte ja mindestens Rauch, Pest und Schwefel aus dem Lüfter kommend erwartet. 🙂

    Man könnte die Experimente auch auf verschiedene Browser ausweiten, oder „einfach“ im Quellcode nachschauen, wie das da implementiert ist. Wie gesagt, eigentlich dachte ich, daß die da mitgedacht haben, wobei mich Mikes Versuch jetzt etwas irritiert, denn der Ladevorgang hört nicht nach der maximal möglichen Größe eines solchen Files auf.

Trackback-Adresse | RSS-Feed für die Kommentare abonnieren

Hinterlasse einen Kommentar:


(Wir behalten uns vor Kommentare von dummen Menschen entweder zu löschen oder exemplarisch für die Nachwelt zu konservieren. Dumme Kommentare mit Werbelinks müssen leider auf zweiteres Privileg verzichten.)

XHTML: Du kannst diese Tags verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>