Results for category "Wordpress"

4 Articles

Wartungsarbeiten am Server

Heute musste ich einige Sachen auf unserem DMZ-Server, auf dem auch dieser Blog liegt, updaten.
Trotz guter Vorbereitung stolperte ich über einige Probleme: Das Upgrade auf MySQL 5.1.30 kostete mich einige Nerven. Aus mir unerfindlichen Gründen konnte er die ibdata-Datei nicht mehr lesen und MySQL brachte einen hübschen Coredump zum Vorschein. Das Problem behob ich mit einer Neuinstallation des MySQL-Dienstes. Darauf folgte ein manueller Export der Datenbank-Daten via mysqldump aus der MySQL 5.0.13-Instanz. Diese spielte ich dann in 5.1.30 wieder ein.

Zeitgleich mit den Wartungsarbeiten installierte Florian seinen neuen alten Blog auf dem Server. Der Blog sollte unter http://prunkster.ecw.de erreichbar sein.

Nachdem ich die DNS-Einträge auf unserem DNS-Server und in der Firewall umgebogen hatte, hätte der Zugriff auf http://prunkster.ecw.de theoretisch möglich sein.
Praktisch war dies aber nicht möglich, da der Apache die Anfragen an wap.ecw.de weiterleitete. Ich überprüfte die einzelnen Virtual Host-Einträge des Apaches und stellte fest, dass PHP der Übeltäter bei diesem Problem war.
Nach dem Hinzufügen von

php_admin_value open_basedir "/pfad/zur/subdomain/web"

kam PHP auch nicht mehr durcheinander.

Für mich bedeutet das, das ich mich erfolgreich in’s Wochenende verdünnisieren kann.
Ach so: Hallo Flo! 🙂

Fixes in WordPress

Ein paar Dinge aus meiner ToDo-Liste habe ich abgearbeitet:

  • Kommentare lassen sich nun hinzufügen.  Dem von mir benutzten Theme Fusion fehlte folgender Code in der comments.php (Zeile 75):
    <?php do_action('comment_form', $post->ID); ?>
  • Zur Anzeige der Quellcodes benutze ich nun die beiden Plugins SyntaxHighlighter Plus und Visual Editor. Die CSS-Datei des SHPs musste ich manuell noch einmal anpassen, da der dort enthaltende Code falsch formatiert gewesen ist.
  • Bis Seite 7 habe ich meine Artikel überarbeitet 😉

BibaBlog im neuen Gewand

“Innen ist alles neu” – wie die Toten Hosen so schön in ihrem gleichnamigen Lied singen.
Heute habe ich mich endlich dazu durchgerungen, den BibaBlog auf WordPress zu migrieren. Meine Vorbereitungsphase hat sich gelohnt, denn ich konnte meine Daten aus meinem alten Blog fast 1:1 übernehmen.
Bisher funktionieren einige Features noch nicht, sind nicht implementiert oder stören. Auf meiner Todo-Liste stehen folgende Punkte:

  • Überprüfung aller alten Artikel auf Rechtschreibung, Ausdruck, Aussehen etc.pp –
  • Meinen RSS-Aggregator sowie das Geek-of-the-Day-Feature habe ich nicht übernommen. GotD werde ich wahrscheinlich auch nicht mehr auf WordPress migrieren. Allerdings stehen die Chancen für eine Migration des Aggregators ganz gut: Alle bestehenden Aggregatoren konnten nicht genau das, was mein alter konnte.
  • Syntax-Highlighting funktioniert mehr oder minder schlecht. Die Ampersands werden falsch geqoutet.
  • Die Downloads aus dem alten Blog wurden nicht importiert – ich werde sie den entsprechenden Posts im Nachhinein hinzufügen

An der bestehenden WordPress-Installation musste ich etwas herum frickeln:

  • Der Syntax-Highlighter zeigt nun die Smilies nicht mehr im Quellcode an
  • Unter /error habe ich eine Seite mit den HTTP-Errors eingerichtet
  • Das Theme wurde überarbeitet
  • Die Kategorien mussten umbenannt werden
  • Mapping des RSS-Feeds und der Artikel auf die neuen Permalinks mittels mod_rewrite
  • Eventueller Einsatz eines PHP-Caching-Tools – die Performance des Blogs ist nicht sonderlich überzeugend
  • Viele kleine Dinge, die mir alle gar nicht mehr einfallen 😉

An Langeweile wird es mir sicherlich in den kommenden Tagen nicht mangeln.

WordPress: Smilies für vorformattierten Text deaktivieren

Der JavaScript Syntax-Highlighter SyntaxHighlighter ist mittlerweile recht bekannt und auch als Plugin für WordPress verfügbar. Leider ist nun so, dass bestimmte Zeichen in einem Quellcode – z.B. 8); – zu einem Smiley konvertiert werden.
Das sorgt dafür, dass die Smilies den kompletten Quellcode zerstören. Für die Umwandlung von Sonderzeichen sorgt die Funktion wp-includes/formatting.php/convert_smilies($text).

Mit folgendem Code (WP 2.7.1, ab Zeile 1094) werden vorformattierte Texte – d.h. die mit <pre> eingeleitet werden – nicht mehr mit Smilies verunreinigt:

/**
* Convert text equivalent of smilies to images.
*
* Will only convert smilies if the option 'use_smilies' is true and the globals
* used in the function aren't empty.
*
* @since 0.71
* @uses $wp_smiliessearch, $wp_smiliesreplace Smiley replacement arrays.
*
* @param string $text Content to convert smilies from text.
* @return string Converted content with text smilies replaced with images. Pre-formatted text is ignored.
*/
function convert_smilies($text) {
  global $wp_smiliessearch, $wp_smiliesreplace, $post;
  $output = '';

  if ( get_option('use_smilies') && !empty($wp_smiliessearch) && !empty($wp_smiliesreplace) ) {
    // HTML loop taken from texturize function, could possible be consolidated
    $textarr = preg_split("/(<.*>)/U", $text, -1, PREG_SPLIT_DELIM_CAPTURE);
    // capture the tags as well as in between
    $stop = count($textarr);// loop stuff

    $bInPreFormattedText = FALSE;

    for ($i = 0; $i < $stop; $i++) {
      $content = $textarr[$i];

      // pre-formatted text reached => set flag
      if (strpos($content, "<pre") !== FALSE) {
        $bInPreFormattedText = TRUE;
      }

      // pre-formatted text ends => disable flag
      if (strpos($content, "</pre>") !== FALSE) {
        $bInPreFormattedText = FALSE;
      }

      if ((strlen($content) > 0) && ('<' != $content{0}) && !$bInPreFormattedText) {
        // If it's not a tag and we are not in an <pre>-tag
        $content = preg_replace($wp_smiliessearch, $wp_smiliesreplace, $content);
      }

      $output .= $content;
    }
  } else {
    // return default text.
    $output = $text;
  }

  return $output;
}