Anwendungen

MySQL, Unicode und die Kommandozeile

08. März 2009 · Anwendungen · andreas · Kein Kommentar

Manchmal können komplizierte Dinge so einfach sein - mit dem richtigen Parameter klappt der Import von Unicode-Dateien problemlos über die MySQL-Kommandozeile:

mysql --default_character_set utf8 datenbank < sql-file

Splash page in Joomla!

07. März 2009 · Anwendungen · andreas · 3 Kommentare

Will man eine Splash page in Joomla! anlegen, so ist “um die Ecke denken” angesagt. Als erstes wird die gewünschte Seite als “index.html” (wahlweise auch “splash.html” oder was auch immer) ins Hauptverzeichnis der Installation geschoben und die “.htaccess” um folgenden Eintrag ergänzt:

.htaccess
... DirectoryIndex index.html index.php ...

Ruft nun ein Besucher die Domain der Website auf, so wird als erstes die “index.html” präsentiert, aus der man dann zu Joomla! weiterverlinken kann.

Das klappt auch prima, bis man im Menü der Website auf den Link zur Startseite (Default Menu Item) klickt und entsetzt feststellt, daß Joomla! diesen grundsätzlich nur mit einem “/” als URL hinterlegt und man wieder auf der Splash page landet.

Leider lässt sich dieses Verhalten weder im Menu Manager noch in den Moduloptionen ändern und ein Hack der entsprechenden Moduldatei ist auch nicht so prickelnd.

Ein Workaround ergibt sich aber über einen Umweg:

Es wird ein neues Menü angelegt (z.B. “Dummy”) in dem man einen Link zur Startseite der Joomla!-Installation packt und dieses Item wird als Default Menu Item gekennzeichnet, das Menü selbst aber nicht auf der Site eingebunden.

Im eigentlichen Menü zeigt der vorher noch auf “/” verlinkende Menüpunkt nun auf die vollständige URL, so daß die Splash page nicht mehr angesprungen wird.


Erstellungsdatum ohne Uhrzeit in Joomla!

07. März 2009 · Anwendungen · andreas · Kein Kommentar

Leider gibt es keine einfache Möglichkeit, in Joomla! bei der Anzeige des Erstellungsdatums die Uhrzeit auszublenden.

Die verschiedenen Ausgabeformate sind in den Sprachdateien unter “language//.ini” gespeichert, also z.B. “language/en-GB/en-GB.ini” Hier kann dann direkt die Definition von “DATE_FORMAT_LC2” angepasst werden, daß sie wie folgt aussieht:

DATE_FORMAT_LC2=%A, %d %B %Y

Diese Vorgehensweise hat aber den Nachteil, daß hierbei eine Core-Datei geändert wird, die theoretisch mit jedem Update wieder überschrieben werden kann und somit eine Dauerbaustelle eingerichtet wird.

Als sinnvollere Vorgehensweise bietet sich entweder die Einführung einer eigenen Sprachdatei im Template an oder - falls man sowieso mit Overlays arbeitet - eine Änderung der entsprechenden Ausgabe in der Overlaydatei. Hier kann einfach nach “JText::_(‘DATE_FORMAT_LC2’)” gesucht und “DATE_FORMAT_LC2” durch ein eigenes Ausgabeformat ersetzt werden.


A script on this page is causing Mozilla to run slowly

31. Januar 2009 · Anwendungen · andreas · Kein Kommentar

Falls Firefox ab und an mit einem “A script on this page is causing Mozilla to run slowly” nervt, so kann diese Meldung in den erweiterten Einstellungen “about:config” mit Hilfe des Parameters

dom.max_script_run_time

abgeschaltet werden. Der Wert dieses Parameters gibt die Zeit in Sekunden an, die Firefox einem Script einräumt, bevor der User befragt wird - als Lösung ist entweder die Wartezeit zu erhöhen oder mittels “0” auf Unendlich zu setzten.


Excel-Export quick & dirty

23. Januar 2009 · Anwendungen · andreas · Kein Kommentar

Zwar gibt es für PHP mit dem PHP Extension and Application Repository (PEAR) ein ähnliches Repository, wie es das Comprehensive Perl Archive Network (CPAN) für PERL darstellt, allerdings ist für die meisten Zwecke die Installation und Konfiguration von PEAR zu aufwendig im Hinblick auf das benötigte Ergebnis.

So gibt es zwar zum Schreiben von Excel-Dateien den “Spreadsheet::WriteExcel"-Clon “Spreadsheet_Excel_Writer”, der allerdings für einfache Exportzwecke deutlich überdimensioniert ist.

Diese kann man auch z.B. von Hand lösen, in dem man die Funktion von Excel ausnutzt, im “Notfall” auch HTML-Tabellen interpretieren zu können:

<?php header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=excel.xls"); ?> <table> <tr> <td>AA</td><td>BB</td> </tr> <tr> <td>CC</td><td>DD</td> </tr> </table>

Beim Aufruf des Skripts öffnet sich der “Speichern unter”-Dialog des Browsers und man erhält in der Tat eine Excel-Tabelle, die u.U. den netten Charme hat, mit dem gleichen Code wie die Bildschirmausgabe nur mittles Template-Wechsel erzeugt werden zu können.