flattr-count-an­zei­ge oh­ne api

felix schwenzel

seit ei­ni­ger zeit woll­te ich auf den über­sichts­sei­ten (also zum bei­spiel der start­sei­te) von wir­res.net eine an­zei­ge der flat­ters die je­der ar­ti­kel be­kom­men hat se­hen, so wie die an­zahl der re­ak­tio­nen, also kom­men­ta­re, track­backs oder tweets an­ge­zeigt wird. das geht zwar, in­dem man un­ter je­den ar­ti­kel ei­nen but­ton pappt, aber das fand ich vi­su­ell we­nig ver­lo­ckend. spree­blick macht das und ein paar an­de­re sei­ten auch.

flattr-an­zei­ge auf wir­res.net
flattr-an­zei­ge auf spree­blick.com

lei­der ist das REST-API von flattr noch nicht fer­tig und flattr kann nur mit ja­va­script in but­ton-form ein­ge­bun­den wer­den.

vor ein paar ta­gen habe ich dann die­se sei­te ge­fun­den, auf der ben coll­ins be­schreibt, wie er die an­zahl der flat­ters in feed­fla­re ein­ge­bun­den hat (also so, dass sei­ne feedb­ur­ner-feed-ar­ti­kel un­ten die zahl der flat­ters an­zeigt). im prin­zip hat er ein php-script ge­schrie­ben, dass den flattr but­ton für ei­nen ar­ti­kel auf­ruft und dar­aus den „flattr-count“ ex­tra­hiert. ich habe das script ein biss­chen an­ge­passt und wenn man ihm eine wir­res-url als ar­gu­ment gibt, zeigt es den flattr-count an:

http://fe­lix.schwen­zel.de/.flattr/flattr-me-sta­tic-v2.php?link=http://wir­res.net/ar­tic­le/ar­tic­le­view/5634/1/6/

die kon­struk­ti­on, wie ich es auf wir­res.net ein­ge­bun­den habe ist völ­lig hirn­ris­sig, funk­tio­niert aber. je­der pro­gram­mie­rer wür­de die hän­de über dem kopf zu­sam­men­schla­gen und wenn ende des jah­res end­lich kath­rin pas­sigs buch „we­ni­ger schlecht pro­gram­mie­ren“ her­aus­kommt und ich es ge­le­sen habe und we­ni­ger schlecht pro­gram­mie­ren ge­lernt habe, wer­de ich wahr­schein­lich auch die hän­de über dem kopf zu­sam­men­schla­gen.

ei­gent­lich schla­ge ich be­reits jetzt die hän­de über dem kopf zu­sam­men. [hier bit­te auf­hö­ren zu le­sen, jetzt wirds lang­wei­lig.] ich habe näm­lich fol­gen­de, ziem­lich un­ele­gan­te um­we­ge ge­hen müs­sen:

in den code mei­nes CMS konn­te ich das script zur ab­fra­ge nicht ein­bau­en, da es nur un­ter php5 läuft und cms nur un­ter php4. dazu kommt, dass mein hos­ter das ab­fra­gen von frem­den web­sei­ten per php un­ter­bin­det, das script also gar nicht auf wir­res.net funk­tio­niert. also habe ich es auf schwen­zel.de zum lau­fen ge­bracht. die ab­fra­ge des scripts und das ein­set­zen des flattr counts er­le­digt jquery, dass das im hin­ter­grund per ajax er­le­digt. al­ler­dings wäre so eine ab­fra­ge von wir­res.net auf schwen­zel.de ein cross-site-scrip­ting-dings, und die ab­fra­ge ei­ner an­de­ren do­main als der auf der das script läuft, er­laubt ja­ca­script aus si­cher­heits­grün­den nicht. also fragt jquery das script auf schwen­zel.de über ein klei­nes pro­xy-script ab.

die ei­gent­li­che (und ha­ne­bü­chend un­ele­gant pro­gram­mier­te) jquery-ab­fra­ge kann man im quell­code der über­sichts­sei­ten le­sen. oder es auch las­sen.

ich weiss nicht war­um, aber das woll­te ich mal los wer­den.