It'd likely have to be passed to PHP by JavaScript, if you were to do it. And that would mean that the first page a user loads would NOT display the correct Style-By-Resolution, but subsequent ones would.
Let's see, you could do something like... Make a page that basically says "Please wait a moment while we detect your browser resolution." On that page, you could have JavaScript set the URL according to the screen size.
HTML Code:
<script type="text/javascript" language="javascript">
function get_styleid_by_resolution()
{
var x = screen.width;
var y = screen.height;
var resolution = x+'x'+y;
var styleid_by_res = 0;
switch(resoltuion)
{
case '1024x768': styleid_by_res = 1; break;
case '1280x800': styleid_by_res = 2; break;
case '1920x1080': styleid_by_res = 3; break;
case '320xwhatever': styleid_by_res = 4; break;
/* Etc. */
}
return styleid_by_res;
}
function set_styleid_in_url(sid)
{
location.href = 'http://my.forum/respage.php?styleid='+sid+'&res_set=1';
}
</script>
The
res_set is a variable your
respage.php would have to set into the cookie, like so:
PHP Code:
vbsetcookie('res_set',1);
Then you'd need a plugin (maybe somewhere in the Global stuff) to check to see if the
res_set is set.
PHP Code:
$res_set = $vbulletin->input->clean_gpc('c', 'res_set', 'TYPE_BOOL');
if (!$res_set)
{
/// Do some redirection to resolution setting page, I guess
$vbulletin->url = 'res_page.php'.$vbulletin->session->vars['sessionurl'];
print_standard_redirect('We\'re, like, gunna try to detect your resolution and shit.', false, true);
die();
}
Mind you, this isn't meant to be followed step-by-step; it's just a general idea of what you'd have to code for it. (Although someone else probably has a better idea.)