Anwendungen

Zusätzlichen WordPress-Feed anhand benutzerdefinierter Felder erstellen

25. Juli 2011 · Anwendungen · andreas · 2 Kommentare

Obwohl WordPress vielfältige Möglichkeiten bietet, mittels RSS-Feeds auf die Inhalte eines Blogs zuzugreifen, ist in der Grundinstallation keine Möglichkeit vorgesehen, einen individuellen Feed anhand eines (oder mehrerer) benuzerdefinierter Felder zu erstellen.

Ein solcher Feed kann allerdings mit nur wenigen Zeilen Programmcode in der Datei “functions.php” des aktuell gewählten Themes ergänzt werden. Die Zeile

add_action('init', 'mycustomfeed_add_feed');

fügt der WordPress-Initialisierung die eigene Funktion “mycustomfeed_add_feed” hinzu, welche die Einrichtung der benötigten Funktionalität übernimmt.

function mycustomfeed_add_feed() { global $wp_rewrite; add_feed('mycustomfeed','mycustomfeed_feed'); add_action('generate_rewrite_rules', 'mycustomfeed_rewrite_rules'); $wp_rewrite->flush_rules(); }

Die Funktion besteht aus dem Hinzufügen des eigenen Feeds mittels der Funktion add_feed, sowie dem Hinzufügen einer Rewrite-Regel mit Hilfe der Funktion add_action, bevor durch den Aufruf von flush_rules die soeben geänderten Regeln neu eingelesen werden.

function mycustomfeed_rewrite_rules($wp_rewrite) { $my_rules = array( 'feed/(.+)' => 'index.php?feed=' . $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $my_rules + $wp_rewrite->rules; }

Die hinzugefügte Regel bewirkt das Umschreiben aller aufgerufenen URLs nach dem Schema “/feed/irgendwas” in die Form “?feed=irgendwas”, so daß zum Zugriff auf den neuen Feed auch die erste Schreibweise verwendet werden kann, ohne daß Änderungen an der “.htaccess” vorgenommen werden müssen.

function mycustomfeed_feed() { query_posts('meta_key=mycustomfeed&meta_value=1'); include('wp-includes/feed-rss2.php'); }

Als letztes ändert die eigene Feed-Funktion die Auswahl der auszuliefernden Daten mit Hilfe der Funktion query_posts, bevor durch Aufruf des originalen WordPress-Feedmechanismus die Ausgabe generiert wird.

Im obigen Beispiel werden nur die Beiträge ausgeliefert, die ein benutzerdefiniertes Feld mit Namen “mycustomfeed” und dem Wert “1” enthalten.


XML-RPC in Wordpress aktivieren

23. Juli 2011 · Anwendungen · andreas · Kein Kommentar

Beim Versuch, mittels offiziellen WordPress-Android-Client auf ein Blog zuzugreifen erscheint bei abgeschaltetem XML-RPC nur die Fehlermeldung

XMLRPC Fault: XML-RPC-Dienste sind auf diesem Blog deaktiviert. Ein Administrator kann sie hier aktivieren: http://<blog-url>/wp-admin/options-writing.php [code 405]

Wie aus der Fehlermeldung indirekt zu entnehmen vertsteckt sich der Schalter “XML-RPC” im Untermenü “Schreiben” der “Einstellungen”.


Erweiterte Konfiguration von IPFire

04. Juli 2011 · Anwendungen · andreas · 3 Kommentare

Als kleine, zuverlässige und einfach zu konfigurierende Firewall die auch einem schon betagten Rechner nochmal zu Amt und Würde verhilft, ist IPFire eine gute Wahl.

Leider hat die auf den ersten Blick einfache Konfiguration den Nachteil, daß manche Szenarien über die Oberfläche nicht abgebildet werden können, weil für die gewünschte Funktionalität keine entsprechenden Konfigurationsdialoge zur Verfügung stehen.

In diesem Fall können die Einstellungen der Firewall aber mittels SSH-Zugang in der Datei “/etc/sysconfig/firewall.local” vorgenommen werden.

Zugriff von rot auf grün anhand der IP-Adressen

Den Zugriff eines Rechners aus dem roten Netz auf einen Rechner im grünen Netz kann normalerweise mittels Portforwarding erledigt werden. In der Oberfläche ist es allerdings nicht möglich, den Quell- oder Zielport für verschiedene IP-Adressen mehrfach zu vergeben, so daß das Szenario, daß ein Rechner aus dem roten Netz auf den gleichen Port auf mehreren Rechnern im grünen Netz zugreifen darf, nicht konfigurierbar ist.

Die Zuweisung über die “firewall.local” kann wie folgt vorgenommen werden

/sbin/iptables -A CUSTOMFORWARD -s <Quell-IP> -d <Ziel-IP> -i red0 -o green0 -j ACCEPT

eine Einschränkung der Ports ist über die Parameter “–sport <Quell-Port(s)>” sowie “–dport <Ziel-Port(s)” möglich, bei denen als Werte entweder ein einzelner Port oder ein Bereich angegeben werden kann.

Nach außen ursprüngliche IP beibehalten

Da NAT ein integraler Bestandteil von IPFire ist, kann diese(s) auch nicht abgeschaltet werden. Es besteht aber die Möglichkeit, einem Paket nach Behandlung durch IPFire wieder seine ursprüngliche Quell-IP zuzuweisen:

/sbin/iptables -t nat -I CUSTOMPOSTROUTING -p all -s <Quell-IP> -j SNAT --to-source <Quell-IP>

Für jede Regel, die im Bereich “start” der “firewall.local” eingetragen wird, sollte eine zugehörige Lösch-Regel im Bereich “stop” hinterlegt werdem.

Einen guten Einstieg in das Thema “iptables” bietet das “IPTABLES HOWTO” von Dirk Bender, etwas ausführlicher ist “Linux Firewalls Using iptables” von Linux Home Networking.


Aero-Theme von Thunderbird 5 bändigen

02. Juli 2011 · Anwendungen · andreas · 19 Kommentare

Keine Ahnung, mit welchen Einstellungen die Entwickler bei Mozilla arbeiten, unter einem Standard-Windows 7 sieht Thunderbird 5 jedenfalls nicht sehr benutzbar aus:

Ähnlich wie bei Firefox lässt sich aber das Aussehen mittels der Datei “userChrome.css” modifizieren (ggf. muß die Datei erst angelegt werden), die im “chrome”-Ordner innerhalb des Thunderbird-Profils abgelegt wird. Durch Hinzufügen von

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); toolbox { background-color: #eef3fa !important; } .tabmail-strip { background-color: #eef3fa !important; } #folderTree { background-color: #ffffff !important; }

ändert sich z.B. das Aussehen wie folgt:

Der letzte Eintrag “#folderTree” sorgt dafür, daß der Hintergrund der Ordnerhierarchie wieder in reinem Weiß erstrahlt.

Ein guter Einstieg in Modifikationen mittels “userChrome.css” findet sich in der Knowledge Base von Mozillazine.

Nachtrag 12.Juli 2011:

Je nach Profil kann es sein, daß nicht nur die Datei “userChrome.css” angelegt werden muß, sondern auch der sie enthaltende “chrome”-Ordner. Dieser wird im Hauptordner des Thunderbird-Profils benötigt, also in

%APPDATA%\Thunderbird\Profiles\<Profilname>\

Nachtrag 27.Juli 2011:

Mit ein paar zusätzlichen Zeilen ist auch eine Hervorhebung des Drag & Drop-Zielordners möglich.


Firefox fügt automatisch "www." und ".com" an

06. Juni 2011 · Anwendungen · andreas · 18 Kommentare

(Nicht nur) Beim Arbeiten mit localhost kann es nerven, wenn Firefox meint, der URL “http://localhost” noch ein paar zusätzliche Buchstaben verpassen zu müssen und beharrlich versucht, die Adresse “http://www.localhost.com” zu öffnen.

In den Optionen ist kein Schalter vorgesehen, mit dem die automatische Ergänzung abgeschaltet werden könnte, mittels der erweiterten Einstellungen unter “about:config” lässt sich das unerwünschte Verhalten aber mit einem einfachen Doppelklick auf die Einstellung

browser.fixup.alternate.enabled

unterbinden - oder wahlweise mittels der anderen “browser.fixup.alternate”-Parameter in sinnvollere Bahnen lenken.