Plugin erweitert

Ich setze hier für Emoticons (Smilies) das Plugin Font Emoticons ein, welches diese schlichten Grinsezeichen in ebenso schlichte, grafische Grinser übersetzt. Und die haben den Vorteil, dass sie das Zeilenbild nicht zerstören, da sie sich auf Zeilenhöhe beschränken.

Die einzige Unzulänglichkeit des Plugins, die mir aufgefallen ist: Es werden nur Emoticons in den Artikeln und in Seiten ersetzt, nicht aber in den Kommentaren. Nachdem ich mir die Datei font-emoticons.php genauer angesehen habe, war die Lösung recht einfach:

In dieser Datei findet sich ab Zeile 71 das Array mit den zu ersetzenden Zeichenfolgen, hier kann man möglicherweise auch noch andere Kürzel einsetzen. Direkt darunter, in Zeile 96 findet sich der Filter, der die Ersetzung in Posts und Pages erledigt:

96
add_filter('the_content', array($this, 'replace_emots'), 500);

Ich habe diese Zeile kopiert und unmittelbar darunter nochmal eingesetzt, dabei habe ich dann den angesprochenen Hook ersetzt, weil ich die Smilies ja in die Kommentare bringen will:

97
add_filter('comment_text', array($this, 'replace_emots'), 500);

Fertig. Mehr ist das nicht. Die geänderte Datei noch ins Plugin-Verzeichnis hochladen, dabei die Original-Datei überschreiben, und schon stehen die grafischen Smilies auch über dieses Plugin den Kommentaren zur Verfügung.

Malware-Befall

Malware Warnung
Die Warnung vor Malware im Chromium Browser
Da habe ich scheinbar noch mal Glück im Unglück gehabt: Meine Blogs und anderen Projekte waren mit Malware infiziert, aber es hat scheinbar keine größeren Schäden gegeben.

Der Reihe nach: am vergangenen Freitag habe ich die WordPress-Installtionen auf meinem Server, es sind derer drei, auf Version 3.4.2 aktualisiert. Dazu habe ich, wie ich es immer mache, nur das Upgrade-Pack mit den geänderten Dateien von wpde.org per FTP hochgeladen. In der Nacht zum Samstag kamen dann Mails von den Google Webmaster-Tools, dass meine Blogs als attackierend eingestuft worden sind. Es wurde Malware gefunden, und ein entsprechender Warnhinweis vor die Blogs geschaltet.

Mein erster Gedanke: Das Upgrade-Pack muss infiziert gewesen sein! Also habe ich die Version von de.wordpress.org geladen und auf den Server geschoben. Ohne Erfolg…

Also habe ich die Blogs erst mal in den Wartungsmodus gesetzt, damit ein 503er Status zurück gegeben wird, und die Suchmaschinen die Seiten erst mal nicht durchsuchen. So konnten wenigstens die die infizierten Dateien nicht finden. Dann ging die Suche los: Plugins deaktivieren, Theme auf default setzen, und häppchenweise wieder zurück schalten. Ich bekam aber bei mehreren Plugins und im Theme meines Hauptblogs Fehlermeldungen.

Ich fand nach deren Aktivierung im Headbereich der ausgelieferten Seite ein Javascript, welches definitiv nicht von mir war und dort nicht hingehörte. Das Script hatte die Aufgabe, im nicht sichtbaren Bereich der Seiten einen iFrame einzufügen, und in diesem eine PHP-Datei von einem russischen Server laden. Nur durch den Einsatz von „NoScript” ist das bei mir nicht passiert.

Parteifreunde erzählten dann von einem Exploit im FTP-Server meines Hosters, für den es noch keinen Fix gebe. Also nahm ich Kontakt mit dem Hoster auf, und durfte mir dann anhören, dass der Server sicher und mein lokaler Rechner ne Virenschleuder sein müsse, außerdem sei ich schlampig mit meinem FTP-Passwort umgegangen… :motz:

Das FTP-Passwort hatte ich eh bereits geändert, trotzdem hatte ich kurz nach dem erneuten Upload der Dateien wieder Mail-Warnungen von Google im Postfach. Erst nachdem ich alle Daten vom Server gelöscht, meinen Rechner mit ClamAV gecheckt und die Daten dann neu hochgeladen habe, hatte ich Ruhe. Bei mir wurde erwartungsgemäß kein Virus oder Trojaner gefunden, und inzwischen geben auch die Google Webmaster-Tools wieder an, dass keine Malware auf den Seiten vorhanden ist. Die Warnung im Browser sind dementsprechend auch verschwunden, meine Blogs gehören wieder mir. :clap:

Theme erneuert

Da ja nun die dunkle Jahreszeit vor der Tür steht, habe ich hier nun ein helles und freundliches Theme eingerichtet. Finde ich alles in allem besser, da deutlich besser lesbar.

Natürlich mussten Anpassungen vorgenommen werden: Das Theme musste übersetzt werden, da alle Texte in englischer Sprache vorkamen, zudem mussten einige Funktionen z.B. für die Rocking Blogroll oder die Unterstützung für Artikelbilder in die functions.php eingefügt werden. Und natürlich fehlten noch einige Formatierungen im Stylesheet, und damit bin ich noch immer nicht ganz glücklich.

Als Nachteil empfinde ich, dass die Seitennavigation oben im Kopf nicht mehr da ist, dafür habe ich nun ein Sidebar-Widget einsetzen müssen. Aber wer weiß, vielleicht rüste ich das oben noch mal nach

Rocking Blogroll

Ich wurde per Mail gefragt, wie ich die Blogroll hier in Cowboy´s Linux-Blog zusammengeschraubt habe, und da gebe ich gerne Auskunft drüber:

Zunächst mal gebe ich die Links im Backend ein, wie jeder andere es wohl auch machen würde. Also wird Name, URL und Beschreibung angegeben, die Kategorie ausgewählt und ggf. noch irgendwelche Beziehungsdaten (XFN) angeklickt. Dazu kommt die Feed-Adresse des Blogs, und eine Bild-Adresse.

Für das Bild habe ich mir eine Hierarchie ausgedacht, wo die herkommen:

  1. Gravatar: Entweder finde ich im Impressum eine Mailadresse, mit der ich nach einem Gravatar suche, oder der Blogger hat hier schonmal kommentiert, und ein Gravatar dagelassen.
  2. Favicon: Finde ich kein Gravatar, schaue ich nach, ob das Blog ein Favicon, oder besser noch ein Apple Touch Icon hat. Letzteres ist größer, und daher besser geeignet. Denn ein 16x16px kleines Favicon sieht auf 50x50px aufgebläht auch nicht mehr wirklich schön aus.
  3. Standard-Grafik: In diesem Fall das blaue Gravatar-Logo. Das wird entweder für eine im Impressum gefundene Mailadresse zurückgegeben, oder aber für die von mir pauschal eingesetzte „kontakt@domain.de”.

Für die Ausgabe der Blogroll ist dann die „Rocking Blogroll” vom Crazy Girl zuständig. Zunächst mal gibt es von ihr das Plugin „Blogroll with RSS-Widget, welches jedoch sehr speicherlastig ist und manches Blog in die Knie zwingt. So auch meine Blogs. Denn bei jedem Abruf der Blogroll werden die RSS-Feeds aller Links eingelesen.

Die „Rocking Blogroll” geht einen anderen Weg, arbeitet mit Cronjob und Datenbank. Das alles muss aber manuell eingerichtet und angepasst werden. In die Tabelle wp_links werden 5 zusätzliche Felder eingefügt, und im Cron-Script muss der absolute Pfad zur wp-blog-header.php angegeben werden. Das Cronscript ist eine PHP-Datei, die dann über einen Cronjob regelmäßig aufgerufen wird (hier stündlich), die Feeds einliest, und in die Datenbank schreibt. Zu guter letzt gibt es noch die Funktion, die das alles aus der Datenbank ausliest und auf den Bildschirm zaubert. Die kommt in die function.php des Themes. Tanja verwendet hier standardmäßig eine Liste (<ul>), ich habe das auf <div> geändert.

Dieser Container bekommt bei mir die CSS-Klasse „bookmark”, und wird entsprechend über das Stylesheet formatiert. Fertig.

Optional kann ich noch einstellen, ob ich das eigene Bild aus der Datenbank, oder einen Screenshot, oder aber gar kein Bild anzeigen will. Und wie alt der letzte Artikel maximal sein darf, damit der Link hier in der Blogroll erscheint. Default steht das auf 48 Stunden, ich habe das mal auf 9999 Stunden erhöht. Wer aber in der Seite nicht mehr erscheint, in der Blogroll rechts in der Sidebar aber schon, sollte mal seinen Feed überprüfen, ob der korrekt funktioniert. Denn fehlerhafte oder gar fehlende Feeds werden nicht eingelesen, ist ja klar

Bleibt noch zu erwähnen, dass es die „Rocking Blogroll” nicht zum Download gibt. Wenn man Tanja aber lieb bittet, wird sie sie Euch zukommen lassen. In diesem ZIP-File ist auch eine ausführliche und gute Anleitung enthalten. Wenn man also ein bisschen was von PHP und MySQL versteht, sollte die Integration der „Rocking Blogroll” keine Schwierigkeiten bereiten.

Stress mit dem PC dem Blog

Vor gut einer Woche ist mein PC nach einigen Problemen mit der Hardware endgültig abgeraucht. Mainboard, CPU, eins von beiden hat sich verabschiedet.

Ich habe inzwischen einen neuen PC hier in Betrieb, der der im Vergleich zum alten eine Rennmaschine ist. Das war eine Sockel-A-Board mit einem AMD Athlon XP 2200+ und 768 MB Speicher. Hat für meine Zwecke gereicht, nur beim Einsatz einer virtuellen Maschine wurde es eng.

Jetzt steht hier eine 64-Bit-Maschine mit einem AMD Dual Core mit 5200 MHz und 2 GB Speicher. Einzig der Grafik-Chip macht mich nicht glücklich. Eigentlich ist es ein recht guter nVidia-Chip, leider onboard. Die 512 MB Grafikspeicher werden dem RAM abgezwackt, wie bei diesen Lösungen üblich. Die Video-Wiedergabe ruckelt, man mag es nicht glauben. Besonders heftig fällt das bei TV auf. Obwohl das Board einen DVI-Ausgang hat.

Ich habe allerdings noch keine Linux-Version vernünftig zum Laufen bekommen. Die Lautsprechern blieben Stumm, der Grafik-Chip wollte sich trotz nVidia-Treiber nicht korrekt einstellen lassen, und es gab USB-Probleme.

Um überhaupt mit der Maschine arbeiten zu können, habe ich zunächst mal eine WinDOSe installiert. Ich könnte kotzen…

Und dann hatte ich plötzlich mit meinen Blogs Probleme. Alle 3 Blogs ließen sich von jetzt auf gleich nicht mehr aufrufen, lieferten nur eine leere, weiße Seite zurück. Egal, ob im Front- oder Backend. Nachdem ich im Country-Blog mit Reparaturversuchen und Abschaltung von Plugins endlich erfolgreich war, brachten die gleichen Maßnahmen bei Anja’s Blog nichts. Hier im Linux-Blog habe ich gar nichts gemacht. Und jetzt eben, genau so unerwartet, funktioniert alles wieder O.o

Ich habe langsam keine Lust mehr…

Ubuntu WordPress Themes

Ich habe vorhin bei WPCandy einige Themes gefunden, die an diverse Betriebssysteme angelehnt sind. Unter anderem gibt´s da 2 an Ubuntu angelehnte Themes, die auf den ersten Blick durchaus gelungen wirken. Ich überlege schon einen Umbau dieses Blogs

Ubuntu WP

Ubuntu WP

Ubuntu WordPress Theme
Ubuntu WordPress Theme

Viel Spaß beim Ausprobieren der Themes.

Blog aktualisiert

Nachdem das Update auf WP 2.6.2 nun schon ein paar Tage bereit steht, habe ich meine Blogs jetzt auch mal aktualisiert.

Es hadelt sich um ein Sicherheits-Update, die geschlossene Lücke betrifft aber wohl hauptsächlich Blogs mit offener Benutzerregistrierung. Es sind aber wohl auch ein paar Bugfixes dabei.

Weitere Inforationen findet Ihr im Development-Blog bei wordpress.org. (Englisch)