Das Pferd unterm Leibe erschossen

Hin und wieder nehme ich mir unseren Familienstammbaum zur Hand und blättere darin herum. Und manchmal finde ich interessante Geschichten aus vergangenen Zeiten:

Michael Ernst Preuß war 1809 beim Schill’schen Freiheitszuge beteiligt und am 31.5.1809 beim Fall Schills in Stralsund zugegen.
Er wurde eingeschlossen, schlug sich aber mit Kameraden durch, und schwamm mit ihnen über die Oder. In diesem Flusse wurde dem Hauptmann von Pirch das Pferd unterm Leibe erschossen. Preuß rettete Pirch. Von Pirch wurde später Besitzer von Hohendorf bei Reichenbach, Ostpreußen.
Es blieb während des Lebens dieser beiden Männer eine treue Freundschaft bestehen.

Heckklappe am VW Touran lässt sich nicht mehr öffnen – Schalter defekt?

Blöde Situation: Der Gabelstapler im Baustoffhandel kippt mir diverse sperrige Dinge vor den Volkswagen Touran und ich möchte das Zeug gerne in dessen geräumigen Kofferraum verstauen, das Betätigen des Schalters an der Heckklappe bewirkt aber nichts. Die Klappe bleibt unten und der Kofferraum damit leer. Die Problemlösung vor Ort bestand darin, dass ich den benötigten Platz durch geschicktes Umlegen des einen oder anderen Sitzes schaffen musste – permanent möchte ich das aber auch nicht machen.

Wieder zu Hause brachte eine kurze Recherche im Internet dann folgende Erkenntnisse zu Tage:

  • Es handelt sich um ein häufiges Problem am VW Touran der 1. Generation (Typ 1T).
  • Mit hoher Wahrscheinlichkeit ist der Schalter in der Heckklappe („Mikroschalter“) defekt.
  • Der Kofferraum lässt sich von innen öffnen, sofern man lange Finger hat (ich wusste, dass die mal irgendwann zu etwas gut sind!)
  • Das Ersatzteil mit dem neuen Schalter enthält auch gleich die Kennzeichenbeleuchtung und kostet um 100 Euro (Original-Ersatzteil von Volkswagen; Nachbauten gibt es für etwa 30 Euro mit Versand direkt aus China – lange Wartezeiten und Nerverei mit dem Zoll kommen noch drauf).
  • Ein Tauschen dieser Einheit ist relativ einfach selbst möglich.

Ich habe mir die Sache dann gleich heute angeschaut. Nachdem ich den Kofferram von innen geöffnet hatte (innen neben dem Schloss gibt es ein kleines, ca. 4 cm x 4 cm großes Loch, in welchem man mit Zeige- oder Mittelfinger einen Hebel zur Seite schiebt, um das Schloss zu entriegeln), war die nächste Aufgabe die Verkleidung der Heckklappe zu entfernen. Das Lösen der vier Schrauben (jeweils eine in den Griffmulden, zwei im Kasten des Warndreiecks) ging noch einfach, das Herunterzerren der Verkleidung benötigte dann schon ordentlich Kraft.

Dafür war es dann aber auch schon fast geschafft, das Bauteil mit dem Heckklappen-Schalter wird dann nämlich nur noch von fünf 10er-Muttern gehalten.

Das eigentliche Problem offenbarte sich dann sofort nach dem Abziehen der Gummiabdeckung des Schalters. Dieser wird nicht direkt betätigt, sondern über eine Wippe angesteuert. Die Lager und der Rückholmechanismus der Wippe waren ursprünglich mal gefettet, die letzten 13 Jahre haben dieses Fett aber verharzen lassen, so dass es eher die Eigenschaften von Kleber aufwies und die Wippe in ihrer Endlage festhielten.

Ich habe die alten Fett-Rückstände mit einem in Bremsen-Reiniger getränkten Lappen entfernt und neues Fett aufgetragen, so dass sich die Wippe jetzt wieder leichtgängig bewegen lässt. Ein kurzer Test zeigte, dass der Schalter wieder funktionierte und ich baute alles wieder in umgekehrter Reihenfolge zusammen.

Das Problem ist verschwunden: die Heckklappe lässt sicher wieder ganz normal öffnen. Ich habe eine Menge Geld gespart und meine langen, dürren Finger endlich mal gewinnbringend einsetzen können 👌

Entwickler oder Entwicklerinnen die sich besonders schlau vorkommen …

… bauen gerne mal Konstrukte der folgenden Art:

$path = ltrim( end( @explode( get_template(), str_replace( '\\', '/', dirname( __FILE__ ) ) ) ), '/' );

Sortiert sieht es dann so aus:

$path = ltrim(
    end(
        @explode(
            get_template(),
            str_replace('\\', '/', dirname(__FILE__))
        )
    ), 
    '/'
);

Zum Kontext: diese Zeile stammt aus einem kommerziellen WordPress-Template und es soll der letzte Teil des Pfadnamens des aktuell ausgeführten Skripts bestimmt werden. Aus /var/www/wordpress/wp-content/themes/valenti/option-tree soll also option-tree werden.

Von innen nach außen:

  • dirname(__FILE__) liefert den Pfadanteil des aktuell ausgeführten PHP-Skriptes; aus /var/www/wordpress/wp-content/themes/valenti/option-tree/ot-loader.php wird also /var/www/wordpress/wp-content/themes/valenti/option-tree
  • str_replace('\\', '/', …) ersetzt den Backslash (vermutlich als Workaround für Windows-Systeme) mit einem Slash, der Pfad bleibt auf einem unixoiden System also erstmal unverändert (es sei denn, er enthält tatsächlich den Backslash)
  • get_template() liefert den Namen des aktiven WordPress-Templates, in diesem Fall valenti
  • explode() trennt den Pfadnamen in einzelne Teile, und zwar an jeder Stelle an der der String valenti vorkommt; man erhält also dieses Array: [0 => '/var/www/wordpress/wp-content/themes/', 1 => '/option-tree']
  • end() liefert den Wert des letzten Elements des Arrays: /option-tree
  • ltrim(…, '/') entfernt zum Schluss den Slash am Anfang des Strings, so dass wir das Ergebnis erhalten: option-tree

Soweit, so gut.

Diese Variante hat unter Umständen einige Probleme, Backslashes im Pfadnamen könnten eines davon sein. Unterdrückte Fehlermeldungen mit dem @-Operator könnte zu weiteren Hässlichkeiten beim Debugging führen.

Aber das Hauptproblem ist, dass der Entwickler oder die Entwicklerin hier eine komplexe Lösung für ein einfaches Problem geschaffen hat. PHP löst die gegebene Fragestellung nämlich mit Bordmitteln viel eleganter und zudem fehlerunanfällig und OS-unabhängig:

$path = basename(__DIR__);

Keine Ursache.