Backend Localization Plugin für WordPress MU repariert

Da ich jetzt endlich die Zeit gefunden habe mich mal wieder um das Plugin zu kümmern und die Probleme mit WordPress MU zu testen, habe ich mich heute Abend dran gesetzt. Nach fast 2 Stunden habe ich es nun endlich geschafft, dass es wieder reibungslos mit der neuen Version von WordPress MU funktioniert.

Zusätzlich konnte ich auch die Sprachenauswahl auf der Login Seite reparieren. Diese war auch seit irgendeinem Update defekt und man musste dann nachträglich die Sprache innerhalb des Backends wechseln. Das funktioniert jetzt also auch wieder direkt bei der Anmeldung.

Da für WordPress 3.0 schon angekündigt wurde, dass sich für Plugin Entwickler einiges ändern wird hoffe ich, dass meine Mühe nicht umsonst gewesen ist und das Plugin auch mit Version 3.0 noch auf Anhieb funktioniert.

Die neue Version könnt ihr auf meinem Post zum Plugin sowie im Plugin Repository von wordpress.org runterladen. Wer es schon installiert hat kann es wie immer direkt über das Backend komfortabel aktualisieren. Solltet ihr das Plugin bereits vorher verwendet haben, müsst ihr eventuell einmal die Cookies für eure Website löschen, damit das Plugin reibungslos funktioniert.

Danke an dieser Stelle noch einmal an Inaki und Lars für ihre Rückmeldung bezüglich des Fehlers in WordPress MU!

RewriteRule mit Leerzeichen in der Zieladresse

Auf einer Seite die ich betreue wurde ich vor kurzem vor die Aufgabe gestellt eine RewriteRule in der .htaccess zu definieren, die auf eine PDF zeigt, die ein Leerzeichen im Dateinamen enthält. Das war gar nicht so einfach rauszufinden und selbst im sehr guten Forum von modrewrite.de konnte ich keine geeignete Lösung finden.

In URLs werden Leerzeichen einfach mit der Zeichenkette %20 ersetzt, aber das alleine führt noch nicht zum Erfolg. Da das Prozentzeichen ein spezielles Zeichen in Rewrite Rules darstellt muss es mit einem Backslash escaped werden. Eine funktionierende Rewrite Rule mit einem Leerzeichen könnte also wie folgt aussehen:

RewriteEngine on
RewriteRule ^kurzer-dateiname.pdf$ dateiname\%20mit%20Leerzeichen\%20.pdf

Wer also den Dateinamen nicht ändern kann um Leerzeichen zu ersetzen (z.B. durch Unterstriche) kann mit dieser Regel trotzdem einen schöneren/kürzeren Dateinamen über die .htaccess anbieten.

Das war es auch schon. Heute gibt es mal nur einen kurzen Artikel, aber viel mehr gibt es auch nicht dazu zu sagen. Außer vielleicht, dass ihr niemals versuchen solltet ein Leerzeichen in der Zieladresse zu verwenden, da sonst die gesamte .htaccess ungültig wird und der Server einen 500 Fehler für jede Seite zurückliefert.

Ich hoffe der Tipp konnte euch weiterhelfe. Kommentare sind wie immer gern gesehen!

LinkedIn Spam und wie man sich dagegen wehren kann

Ich erhalte seit ein paar Tagen ständig eine Einladung zu LinkedIn von jemandem, von dem ich noch nie in meinem Leben etwas gehört habe. Bei einer einmaligen Einladung würde man sich vermutlich nicht weiter daran stören. Auch wenn es von verschiedenen Personen kommt wäre das noch in Ordnung.

Bei LinkedIn sieht das aber anders aus. Hier habe ich auf eine Einladung bereits mehrfach eine Erinnerung bekommen, dass ich die Einladung noch nicht angenommen habe. Der Inhalt sieht in etwa wie folgt aus:

Weiterlesen →

Aprilscherze 2010 – von offensichtlich bis genial

Gestern war es mal wieder soweit. In vielen Ländern wurden die Menschen in den April geschickt. Im Jahre 1618 entstand der Brauch wohl in Bayern, wurde aber auch ins Ausland exportiert. In den USA heißt er beispielsweise “April Fools’ Day” was seine Bedeutung sehr treffend wiedergibt.

Auch die IT-Welt ist jedes Jahr mit witzigen und teilweise sehr gut versteckten Scherzen vertreten. Ich möchte hier drei Beispiele aufführen, die mir dieses Jahr besonders gut gefallen haben. Dieses Jahr waren es aber auch viele internetbezogene Themen und nicht die üblichen Vaporware Meldungen, die es mir angetan haben.

Weiterlesen →

Die eigene Domain als OpenID benutzen

Ich habe in den Quellcodes von verschiedenen Seiten ein LINK Tag mit dem Verweis auf OpenID gefunden. Da ich selbst gerade erst anfange OpenID richtig zu nutzen, habe ich versucht festzustellen, wozu dieser LINK Tag dient.

Bisher habe ich OpenID meistens nicht genutzt, weil ich mir einfach die URL zu einem meiner OpenID-fähigen Accounts nicht merken konnte. Als ich auf stackoverflow.com allerdings auf eine Frage gestoßen bin, die ich beantworten wollte, habe ich mich dann dazu entschieden hier einen OpenID anstelle eines “echten” Account zu verwenden. Auf der Anmeldeseite von stackoverflow.com wird einem das auch super einfach gemacht, da man hier einfach den OpenID Provider anklicken muss und sofort auf die Anmeldeseite weitergeleitet wird.

Weiterlesen →

Website oder Blog mit der mod_deflate Komprimierung beschleunigen

Ich wollte schon lange eine Komprimierung aller Dateien auf meinem Server aktivieren, aber alle Versuche die Komprimierung über das Apache Module mod_deflate oder mod_gzip zu aktivieren liefen ins Leere. Ich fand ständig super aufwändige Anleitungen, wie ich mir das selbst kompilieren und dann mit vielen Anpassungen unter Apache zum Laufen bekomme. Ich bin aber immer davor zurückgeschreckt es auch umzusetzen, da ich kein ausgewiesener Linux und Apache Profi bin.

An meinem Geburtstag habe ich dann durch Zufall auf der Suche nach einem anderen Problem gesucht habe unter anderem auf der Website debianroot.de eine super einfache Anleitung gefunden, wie man DEFLATE einfach aktivieren kann.

Weiterlesen →

Tutorial: Drag-and-Drop mit Scriptaculous – Teil 2: Droppables

Nachdem wir uns in Teil 1 des Tutorials mit der Draggable Klasse beschäftigt haben, wenden wir uns heute seinem Bruder der Droppables Klasse zu. Mit ihr können wir auf ein aufgenommenes Element reagieren. Eine typische Anwendung sind Einkaufkörbe auf Online-Shops. Ich möchte daher einen einfachen Einkaufswagen demonstieren.

Der Quellcode für dieses Beispiel

Zuerst einmal wieder der Quellcode für dieses Beispiel. Ich werde wie auch schon im ersten Teil des Tutorials die wichtigen Zeilen etwas genauer erklären. Die Zeilen 1-34 enthalten das grundlegende Gerüst der HTML-Seite sowie die Stylesheets, auf die ich nicht näher eingehen möchte:

Weiterlesen →

Trefft mich auf dem WordCamp am 03.07.2010 in Berlin

Mein Dashboard wurde heute von WordPress-Deutschland Nachrichten über das WordCamp 2010 überschüttet. Da wollte ich doch gleich mal nachsehen, wo es dieses Jahr stattfindet. Und was musste ich dort sehen? Es findet in Berlin statt und dazu noch an einem Samstag, genauer dem 03.07.2010.

Wer mich also schon immer mal persönlich treffen möchte hat dort die einmalige Gelegenheit dazu. Natürlich lohnt sich ein Besuch des WordCamp auch dann, wenn ihr etwas über die Macher hinter den ganzen Plugins und Themes erfahren möchtet und euch mit Gleichgesinnten austauschen möchtet. Es ist die Gelegenheit eure Fragen und Anregungen mit anderen Nutzern von WordPress zu diskutieren.

WordCamp 2010 Berlin Banner

Das Programm steht wie immer bei solchen Barcamps im Vorfeld noch nicht fest. Jeder kann auf der Website selbst eine Session zum Programm anmelden. Wenn ihr also ein tolles Thema rund um WordPress habt, dass ihr anderen vorstellen möchtet, dann meldet eure Session an.

Das WordCamp 2010 findet im betahaus statt. Ich finde das die perfekte Location dafür. Es basiert auf dem Prinzip des Coworking. Jeder arbeitet hier zwar für sich, aber statt dich ein eigenes kleines Büro zu mieten und dort alleine und verlassen zu arbeiten, trifft man sich hier mit vielen anderen kreativen Köpfen. Da ich schon immer mal das betahaus besuchen wollte trifft sich das also ganz gut.

Also, wer von euch jetzt Lust bekommen hat auch am WordCamp teilzunehmen sollte sich schnell auf der Website anmelden, da die Teilnehmerzahl auf 200 begrenzt ist. Die Schutzgebühr für das WordCamp beträgt 10€, die aber vollständig an eine gemeinnützige Organisation gespendet werden. Vermutlich ist die Anmeldung nicht kostenlos, damit sich auch nur diejenigen anmelden, die wirklich kommen möchten. Es wäre doch schade, wenn am Ende wie im letzten Jahr ein Viertel von den 200 Angemeldeten nicht kommen.

In diesem Sinne, bis Juli auf dem WordCamp! Und wer mich dann wirklich treffen möchte kann gerne vorher mit mir Kontakt aufnehmen. Am besten hinterlasst ihr hier einen Kommentar 🙂

Assoziatives Array als HTML Tabelle ausgeben

Sehr häufig wird gefordert ein assoziatives Array als HTML Tabelle auszugeben. Ich nutze hier sehr oft die implode() Funktion, um dabei mit möglichst wenig Quellcode zu dem Gewünschten Ergebnis zu kommen. Da ich meine Lösung wirklich sehr schön und genial einfach finde, wollte ich euch kurz die Funktion präsentieren. Als auszugebendes Array nehmen wir das MySQL-Debugging Array aus meinem vorherigen Artikel MySQL unter PHP debuggen mit einer eigenen MySQL Klasse.

function array_to_table($a){
	$t='<table>';
	$t.='<tr><th>'.implode('</th><th>', array_keys($a[0])).'</th></tr>';
	foreach($a as $row){
		$t.= '<tr><td>'.implode('</td><td>', $row).'</td></tr>';
	}
	return $t.='</table>';
}

// Ausgabe der Tabelle
echo array_to_table($mysqli->queries);

Weiterlesen →

MySQL unter PHP debuggen mit einer eigenen MySQL Klasse

Bei einem meiner Projekte kam es zu ungewöhnlich langen Ladezeiten eines Formulars. Da hier allerdings auch sehr viele Datenbankabfragen ausgeführt werden müssen und dabei auch noch die Werte per COUNT() gezählt werden wunderten mich die Zeiten nicht wirklich.

Nun wollte ich natürlich wissen, welche Abfrage dabei besonders viel Zeit in Anspruch nimmt um dann gezielt optimieren zu können. Ich setze in dem Projekt auf die MySQLi Klasse von PHP. Da ich hierbei die Klasse objektorientiert nutze, war es sehr einfach möglich diese zu erweiterten. Eine Möglichkeit wäre es natürlich gewesen eine eigene Funktion zu schreiben, aber in diesem Fall hätte ich auch alle Skript anpassen müssen, in denen ich eine Query ausführe. Daher habe ich mich dazu entschlossen einfach die query() Funktion von MySQLi zu überschreiben. Hier ein stark vereinfachtes Beispiel, wie so etwas aussehen könnte:

Weiterlesen →