Theme_router.plugin - fudforum/FUDforum GitHub Wiki
Theme_router.plugin is a plugin that can switch users from FUDforum's default theme to a custom theme based on language, operating system or browser type. For example, mobile phone users can be routed to a lo-fi theme, or French users can be routed to a French language theme.
Setup the target themes in the Theme Manager before activating this plugin. When done, edit the plugin with a text editor to set the appropriate conditions and themes.
An example theme_router.plugin file (used on the fudforum.org site):
// override default theme function plugin_theme_router($usr) { $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // $agent = $_SERVER['HTTP_USER_AGENT']; // Make language selection. if ($lang == 'af') { @define('fud_theme', 'theme/default_afrikaans/'); } else if ($lang == 'ar') { @define('fud_theme', 'theme/default_arabic/'); } else if ($lang == 'be-tarask') { @define('fud_theme', 'theme/default_belarusian/'); } else if ($lang == 'br') { @define('fud_theme', 'theme/default_breton/'); } else if ($lang == 'bg') { @define('fud_theme', 'theme/default_bulgarian/'); } else if ($lang == 'ca') { @define('fud_theme', 'theme/default_catalan/'); } else if ($lang == 'cs') { @define('fud_theme', 'theme/default_czech/'); } else if ($lang == 'da') { @define('fud_theme', 'theme/default_danish/'); } else if ($lang == 'de') { @define('fud_theme', 'theme/default_german/'); } else if ($lang == 'el') { @define('fud_theme', 'theme/default_greek/'); } else if ($lang == 'eo') { @define('fud_theme', 'theme/default_esperanto/'); } else if ($lang == 'es') { @define('fud_theme', 'theme/default_spanish/'); } else if ($lang == 'fi') { @define('fud_theme', 'theme/default_finnish/'); } else if ($lang == 'fr') { @define('fud_theme', 'theme/default_french/'); } else if ($lang == 'gl') { @define('fud_theme', 'theme/default_galician/'); } else if ($lang == 'gsw') { @define('fud_theme', 'theme/default_swiss_german/'); } else if ($lang == 'hsb') { @define('fud_theme', 'theme/default_upper_sorbian/'); } else if ($lang == 'hu') { @define('fud_theme', 'theme/default_hungarian/'); } else if ($lang == 'ia') { @define('fud_theme', 'theme/default_interlingua/'); } else if ($lang == 'id') { @define('fud_theme', 'theme/default_indonesian/'); } else if ($lang == 'it') { @define('fud_theme', 'theme/default_italian/'); } else if ($lang == 'ja') { @define('fud_theme', 'theme/default_japanese/'); } else if ($lang == 'ko') { @define('fud_theme', 'theme/default_korean/'); } else if ($lang == 'lb') { @define('fud_theme', 'theme/default_luxembourgish/'); } else if ($lang == 'lt') { @define('fud_theme', 'theme/default_lithuanian/'); } else if ($lang == 'lv') { @define('fud_theme', 'theme/default_latvian/'); } else if ($lang == 'mk') { @define('fud_theme', 'theme/default_macedonian/'); } else if ($lang == 'nl') { @define('fud_theme', 'theme/default_dutch/'); } else if ($lang == 'no') { @define('fud_theme', 'theme/default_norwegian/'); } else if ($lang == 'oc') { @define('fud_theme', 'theme/default_occitan/'); } else if ($lang == 'pl') { @define('fud_theme', 'theme/default_polish/'); } else if ($lang == 'pt') { @define('fud_theme', 'theme/default_portuguese/'); } else if ($lang == 'pt-br') { @define('fud_theme', 'theme/default_portuguese_br/'); } else if ($lang == 'ps') { @define('fud_theme', 'theme/default_pashto/'); } else if ($lang == 'ro') { @define('fud_theme', 'theme/default_romanian/'); } else if ($lang == 'ru') { @define('fud_theme', 'theme/default_russian/'); } else if ($lang == 'sk') { @define('fud_theme', 'theme/default_slovak/'); } else if ($lang == 'sr') { @define('fud_theme', 'theme/default_serbian_cyrillic/'); } else if ($lang == 'sv') { @define('fud_theme', 'theme/default_swedish/'); } else if ($lang == 'tr') { @define('fud_theme', 'theme/default_turkish/'); } else if ($lang == 'ug-arab') { @define('fud_theme', 'theme/default_uyghur/'); } else if ($lang == 'uk') { @define('fud_theme', 'theme/default_ukrainian/'); } else if ($lang == 'vi') { @define('fud_theme', 'theme/default_vietnamese/'); } else if ($lang == 'zh-hans') { @define('fud_theme', 'theme/default_chinese/'); } // Lo-fi theme for mobile phones. // if (stripos($agent, 'iPhone') || stripos($agent, 'android')) { // @define('fud_theme', 'theme/lo-fi/'); // } }