Skip to content

Eierei für die grüne Hölle

Internet Eins meiner Foren, der Geoclub, auch als "die grüne Hölle" bekannt, hat kürzlich ein kleines Facelift bekommen. Man kann ja noch so wenig ändern wollen, das Geschrei auf der Wiese ist garantiert.

Dem einen ist die Schrift zu klein, dem anderen das Layout zu breit, wieder jemand die Navigation zu fummelig, sind doch nun CSS-Dropdown-Menüs drin. Und die haben es in sich, wenn man einen mobilen Browser verwendet, also sprich: Mit dem "Handy" surft.

Eine mobile Version des beliebtesten deutschen Geocaching-Forums war also überfällig. Zufällig gabs da grad was von Ratio, ähh, Artodia. GPL und OpenSource wie sich das gehört. Für alle Eierfreunde mit angefressenem Fallobst in der Tasche auch mit der adäquaten Farbgebung, für alle anderen Mobilisten sicher auch akzeptabel.

Schlauerweise wird bei dem Paket für das verbreitete phpBB nicht nur der sogenannte Style geliefert, den man einfach hochlädt und aktiviert, sondern auch ein kleines Skriptchen. Das erkennt dann, ob jemand mobil um die Ecke kommt oder ein größeres Device (sogenannten Desktop) verwendet.

Nun hat mir mein Prof. Wagner beigebracht, dass solche Erkennungen nicht so der Bringer sind und man Mobilisten auch eine eigene URL vorlegen kann. In meinem Fall also m.geoclub.de - und wer die aufruft, ist auch mobil, will also keinen Schalter zur Desktop-Version. Sämtliche Abfragen zum verwendeten Browser kann man sich demnach sparen.

Das hat auch den Vorteil, dass man den Code der mobile.php nur einbinden muss, wenn eben dieser Host mit dem Namen "m.geoclub.de" aufgerufen wurde. Die Einbindung in die session.php wurde von mir daher so erweitert:
// Mod: phpBB Mobile start
if (strpos(strtolower($_SERVER['HTTP_HOST']),"m.")==0){
include_once($phpbb_root_path . 'includes/mobile.' . $phpEx);
phpbb_mobile::setup('art_mobile_iphone');
}
// Mod: phpBB Mobile end


Das würde an sich schon reichen, aber nun kann die mobile.php noch etwas vereinfacht werden, zunächst kann die Function "get_mode()" reduziert werden auf ein:
$value='mobile';
return $value;


Außerdem kann die Function "_tpl_include" komplett entfernt werden, sie würde nur die Original-Funktion überschreiben. An dieser Stelle werden sonst in den Header und Footer Links zur jeweils anderen Oberfläche eingehakt.

Danach werden keine Cookies mehr gesetzt und normales Forum und mobile Version laufen friedlich nebeneinander her.
tweetbackcheck