PHP / MySQL

Plugin: RS Buddypress Activity Refresh

A few days ago I’ve uploaded the RS Buddypress Activity Refresh Plugin to the WordPress Plugin Directory. It’s the first time I’ve uploaded one of my plugins to the Subversion server. Now I got some experience how to do this 😉

I’ve you have ideas or request, please use the Buddypress Group on BuddyPress.org.

Buddypress: Automatic refresh activity stream

I’m working on a solution to automatic refresh the activity stream on a buddypress website.

The easiest way would be to replace the existing activty stream through the new loaded html code. Unfortunately, the page flickers. Also if the user reply to an update, his text will disappear.

Okay, I only should add the new updates. So I’ve added a var „existing_ids“ to my javascript and pass the IDs to my php script via AJAX. My php script return only the updates where the ID is not in the list.

This works fine. But still having the problems with replies/comments to existing posts. My current solution check, if the update has comments and also write them into a var „ids_with_comments“. My php script checks, if the ID does not exists yet on the page OR the ID is not in the var „ids_with_comments“ AND now has comments. The JavaScript which handle the response checks, if this is an existing update, but with new comments. It will replace the update. Only if the user is currently replying to this update, the script will do nothing. So I prevent to override the textarea.

The current scripts a part of my theme. I’ve packed the files to Theme, which is using the bp-default templates. Here you can download the current version of my automatic-refresh theme.

Update: Please use the RS Buddypress Activity Refresh Plugin.

Kleiner Fehler, große Wirkung

Ich werde zwar mit dem Suchbegriff „Star Trek Episodenguide“ noch auf Platz 1 gefunden, aber irgendwie sind die Besucher mit anderen Suchbegriffen etwas weniger geworden. Vorallem wenn es um die Titel der einzelnen Episoden ging. Merkwürdig. Heute ist es mir dann zufällig aufgefallen. Ich war gerade auf iGoogle, wo ich auch meine Google Webmaster Tools eingebunden habe. Dort stand bei „Content Analysis“ in der Zeile Probleme mit den „title“-Tags: 630 Seiten. Bitte? 630 Seiten von mir haben Probleme mit dem Titel?

Das erklärt einiges. Alle Episoden hatten den gleichen Titel: „Star Trek Episodenguide (TOS, TAS, TNG, DS9, VOY, ENT und MOV)“. Das ist nicht gut. Dort sollte doch eigentlich „[[Serie]] > [[Nummer]] [[Episode]]“ (z.B. „Star Trek – Deep Space Nine: 6×19 Im fahlem Mondlicht“ stehen.

Ursache: Bei der Portierung des Episodenguides auf PHP (ja, die Seite läuft jetzt auf PHP, nicht mehr ColdFusion – die Extension habe ich aus guten Gründen beibehalten) hat sich ein kleiner Buchstabendreher in Zeile 58 der folge.cfm eingeschlichen gehabt. Statt $page_title war dort ein $page_titel. Ich habe natürlich in meinen Scripten beim Titel einen Default-Wert definiert, der als Fall-Back funktioniert. Deswegen war überall der lange Titel enthalten.

Inzwischen verwende ich für meine Variablennamen (und auch Tabellenfelder in Datenbanken) englische Bezeichnungen. Als ich den Episodenguide vor über 8 Jahren „gebastelt“ habe, hatte ich noch deutsche Namen.

Jetzt ist der Fehler behoben und die Titel schauen jetzt wieder brauchbarer aus. Allerdings ist der PHP-Code sehr unstrukturiert und etwas altmodisch. Bei der Portierung von Cold Fusion auf PHP habe ich eigentlich nur Zeile für Zeile übersetzt. Vielleicht sollte ich die ganze Applikation mal neu aufbauen. Ich habe zwar schon Testweise angefangen, den Episodenguide als Joomla! 1.5 Erweiterung zu erstellen. Das hätte den Vorteil, dass ich relativ einfach Standard-Community-Funktionen (Forum, Profilverwaltung etc) hinzufügen könnte, aber ich bin mir noch nicht sicher, ob ich meinen Episodenguide wirklich zu einer „Komponente“ degradieren will.

This is a demo store for testing purposes — no orders shall be fulfilled.