PHP Code:
$mobile_style_advanced=10; //iPhone?
$mobile_style=10; //Any mobile phone/device
$default_style=6; //Your default or preferred desktop style
$vbulletin->input->clean_array_gpc('c', array(
COOKIE_PREFIX . 'userstyleid' => TYPE_UINT,
COOKIE_PREFIX . 'skipmobilestyle' => TYPE_BOOL,
));
$my_skipmobile = $vbulletin->GPC[COOKIE_PREFIX . 'skipmobilestyle'];
$my_userstyleid = $vbulletin->GPC[COOKIE_PREFIX . 'userstyleid'];
// Test mobile browser
$mobile_browser = false;
$mobile_browser_advanced = false;
//if ($vbulletin->options['mob_detect_enabled'])
if (1==1)
{
if (stripos($_SERVER['HTTP_USER_AGENT'], 'windows') === false)
{
if (
preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android)/i', strtolower($_SERVER['HTTP_USER_AGENT']))
OR
stripos($_SERVER['HTTP_ACCEPT'],'application/vnd.wap.xhtml+xml') !== false
OR
((isset($_SERVER['HTTP_X_WAP_PROFILE']) OR isset($_SERVER['HTTP_PROFILE'])))
OR
stripos($_SERVER['ALL_HTTP'],'OperaMini') !== false
)
{
$mobile_browser = true;
}
// This array is big and may be bigger later on. So we move it to a second if.
elseif (in_array(
strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4)),
array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda ','xda-')
)
)
{
$mobile_browser = true;
}
}
if (
$mobile_browser
AND
preg_match('/(ipad|ipod|iphone|blackberry|android|pre\/|palm os|palm|hiptop|avantgo|plucker|xiino|blazer|elaine)/i', strtolower($_SERVER['HTTP_USER_AGENT']))
)
{
$mobile_browser_advanced = true;
}
}
$vbulletin->input->clean_array_gpc('r', array(
'styleid' => TYPE_INT,
'langid' => TYPE_INT,
));
// Set up user's chosen style
if ($vbulletin->GPC['styleid'])
{
$styleid = $vbulletin->GPC['styleid'];
vbsetcookie('userstyleid', $styleid);
if ($styleid == $default_style)
{
vbsetcookie('skipmobilestyle', 1);
$vbulletin->GPC[COOKIE_PREFIX . 'skipmobilestyle'] = 1;
$my_skipmobile=1;
}
elseif ($styleid == $mobile_style)
{
vbsetcookie('skipmobilestyle', 0);
$vbulletin->GPC[COOKIE_PREFIX . 'skipmobilestyle'] = 0;
$my_skipmobile = 1;
}
}
elseif ($mobile_browser_advanced && !$my_skipmobile)
{
$styleid = $mobile_style_advanced;
}
elseif ($mobile_browser &&!$my_skipmobile)
{
$styleid = $mobile_style;
}
elseif ($my_userstyleid)
{
$styleid = $my_userstyleid;
}
else
{
$styleid = -1;
}
edit the first 3 lines of the plugin code to suit your purposes (should be self explanatory) and see how you go. Make sure you disable any mobile detect type scripts/plugins you may have running such as the one you linked to in your last post whilst testing this. Also be aware that you should probably do testing under a standard user account as administrator accounts have different permissions when it comes to style selections.