flattr-count-anzeige ohne api

felix schwenzel, , in wirres.net    

seit einiger zeit wollte ich auf den übersichtsseiten (also zum beispiel der startseite) von wirres.net eine anzeige der flatters die jeder artikel bekommen hat sehen, so wie die anzahl der reaktionen, also kommentare, trackbacks oder tweets angezeigt wird. das geht zwar, indem man unter jeden artikel einen button pappt, aber das fand ich visuell wenig verlockend. spreeblick macht das und ein paar andere seiten auch.

flattr-anzeige auf wirres.net
flattr-anzeige auf wirres.net
flattr-anzeige auf spreeblick.com
flattr-anzeige auf spreeblick.com

leider ist das REST-API von flattr noch nicht fertig und flattr kann nur mit javascript in button-form eingebunden werden.

vor ein paar tagen habe ich dann diese seite gefunden, auf der ben collins beschreibt, wie er die anzahl der flatters in feedflare eingebunden hat (also so, dass seine feedburner-feed-artikel unten die zahl der flatters anzeigt). im prinzip hat er ein php-script geschrieben, dass den flattr button für einen artikel aufruft und daraus den „flattr-count“ extrahiert. ich habe das script ein bisschen angepasst und wenn man ihm eine wirres-url als argument gibt, zeigt es den flattr-count an:

http://felix.schwenzel.de/.flattr/flattr-me-static-v2.php?link=http://wirres.net/article/articleview/5634/1/6/

die konstruktion, wie ich es auf wirres.net eingebunden habe ist völlig hirnrissig, funktioniert aber. jeder programmierer würde die hände über dem kopf zusammenschlagen und wenn ende des jahres endlich kathrin passigs buch „weniger schlecht programmieren“ herauskommt und ich es gelesen habe und weniger schlecht programmieren gelernt habe, werde ich wahrscheinlich auch die hände über dem kopf zusammenschlagen.

eigentlich schlage ich bereits jetzt die hände über dem kopf zusammen. [hier bitte aufhören zu lesen, jetzt wirds langweilig.] ich habe nämlich folgende, ziemlich unelegante umwege gehen müssen:

in den code meines CMS konnte ich das script zur abfrage nicht einbauen, da es nur unter php5 läuft und cms nur unter php4. dazu kommt, dass mein hoster das abfragen von fremden webseiten per php unterbindet, das script also gar nicht auf wirres.net funktioniert. also habe ich es auf schwenzel.de zum laufen gebracht. die abfrage des scripts und das einsetzen des flattr counts erledigt jquery, dass das im hintergrund per ajax erledigt. allerdings wäre so eine abfrage von wirres.net auf schwenzel.de ein cross-site-scripting-dings, und die abfrage einer anderen domain als der auf der das script läuft, erlaubt jacascript aus sicherheitsgründen nicht. also fragt jquery das script auf schwenzel.de über ein kleines proxy-script ab.

die eigentliche (und hanebüchend unelegant programmierte) jquery-abfrage kann man im quellcode der übersichtsseiten lesen. oder es auch lassen.

ich weiss nicht warum, aber das wollte ich mal los werden.