Social Counter Widget – RSS Bug fixen

Wir nutzen auf diesem Blog das „Social counter widget“, in dem bis vor Kurzem noch ein Bug in der Verarbeitung des RSS-Feeds war.

Bei dem genannten Widget konnte man seine URL zu Googles Feedburner angeben, sodass im Widget dann die Anzahl der Abonnenten gezeigt wird.

Bedauerlicherweise hat Google die API dazu vor einiger Zeit abgeschaltet. (Quelle)
Da das Widget auf diese API zugreifen möchte, und keine entsprechenden Fail-Checks implementiert sind, bricht der PHP-Interpreter ab, und der Blog wird nur „halb“ dargestellt, da die restlichen Widgets fehlen.

Ich wollte trotzdem den netten RSS-Button anbringen und hab mir dann einen einfachen Fix gebastelt:
Nachdem ihr das Plugin installiert habt, geht ihr im Pluginmenü auf den Bearbeiten-Link des Plugins. Wir müssen nur ein wenig die Datei „social-counter-widget/scw_stats.class.php“bearbeiten.

		if(trim($arr['feedBurnerURL'])) {
           // $query = 'http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri='.end(split('/',trim($arr['feedBurnerURL'],'/')));
           // $xml = file_get_contents($query);
           // $profile = new SimpleXmlElement($xml, LIBXML_NOCDATA);
          //  $this->rss = (string) $profile->feed->entry['circulation'];
	  //echo '#1#'.$this->rss."*";
        	$this->rss = 0;  
        }

Wir kommentieren den Feedburnerteil einfach aus und setzen die Anzahl der RSS-Posts auf 0. Diesen Code findet ihr im oberen Bereich der Datei.

Etwas weiter unten findet ihr dann diesen Quelltext, bei dem ihr den Inhalt des „<span class=’count‘>Inhalt</span>“ einfach entfernt.

<?php if($this->services['feedBurnerURL']) { ?>
<a id="sc_rss" class="socialCounterBox" href="<?php echo $this->services['feedBurnerURL']; ?>" target="_blank">
	<span class="icon"></span>
	<span class="title">Subscribe to RSS feed</span>
	<span class="count"></span>
</a>
<?php } ?>

Nun braucht ihr die Änderungen nur noch abspeichern, und der Blog lädt korrekt zu Ende. Nur leider gibt es keinen RSS-Count mehr.

~Sebastian