RexBrowscap Addon README:
1. Funktion rex_get_browser() absichern
Da die von diesem Addon zur Verfügung gestellte Funktionalität nicht zum Redaxo Core gehört, sollte die Verwendung der Funktion(en) für den Fall einer De-Installation/Aktivierung des Addons abgesichert werden.
In den Kopfbereich jedes Templates, Moduls, Addons, oder wo auch immer rex_get_browser() verwendet werden soll zur Sicherheit folgende (oder vergleichbare) Dummy Funktion einfügen:
if (!function_exists('rex_get_browser')) {
function rex_get_browser() {
echo 'RexBrowscap Addon nicht installiert!';
}
}
Ohne eine solche Dummy Funktion kann es zu erheblichen Schwierigkeiten und evtl. totaler Nichterreichbarkeit von frontend und backend führen falls die Library/ das Addon nicht eingebunden und somit die Funktion rex_get_browser() undefiniert ist. Sollte der worst case einmal eingetreten sein, dann müßen als ultima ratio die rex_get_browser() Aufrufe manuell aus der DB gelöscht werden.
2. Anwendung
Der Aufruf der Funktion rex_get_browser() gibt ein array mit einer Vielzahl von Parametern bezügl. des aufrufenden Browsers zurück
$browser = rex_get_browser(); // array
Ein solches array sieht z.b. so aus:
Array
(
[browser_name] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 FirePHP/0.4
[browser_name_regex] => ^mozilla/5\.0 \(macintosh; .*; .*mac os x.*; .*; rv\:1\.9\.2.*\) gecko/.* firefox/3\.6.*$
[browser_name_pattern] => Mozilla/5.0 (Macintosh; *; *Mac OS X*; *; rv:1.9.2*) Gecko/* Firefox/3.6*
[Parent] => Firefox 3.6
[Platform] => MacOSX
[Browser] => Firefox
[Version] => 3.6
[MajorVer] => 3
[MinorVer] => 6
[Frames] => 1
[IFrames] => 1
[Tables] => 1
[Cookies] => 1
[JavaApplets] => 1
[JavaScript] => 1
[CssVersion] => 3
[supportsCSS] => 1
[Alpha] =>
[Beta] =>
[Win16] =>
[Win32] =>
[Win64] =>
[BackgroundSounds] =>
[CDF] =>
[VBScript] =>
[ActiveXControls] =>
[isBanned] =>
[isMobileDevice] =>
[isSyndicationReader] =>
[Crawler] =>
[AOL] =>
[aolVersion] => 0
)
3. Beispiel
// Mobile Geräte (Handys, PDAs, etc.) aussieben
$browser = rex_get_browser();
if ($browser['isMobileDevice']==1)
{
// Code für MobileDevices..
}
Analog diesem Beispiel können alle keys des arrays abgefragt und für beliebige Aktionen verwertet werden.