Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
Prev Previous Post   Next Post Next
  #1  
Old 02-25-2012, 01:22 PM
MikeTrin MikeTrin is offline
 
Join Date: Jun 2006
Posts: 26
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Mobile Detection

There's a lot of info on changing a users theme if they are using a mobile browser. I'm looking to just change a few images and adsense code on various templates.

I have a taken some code out of init.php that vbulletin uses to detect various mobile browsers.

I'm trying to create a single global variable that I can use vb if condition on it from any template on any theme. I've seen the VB_Template:reRegister code that lets you push php variables to single templates but I need it go to any template.

So the question is, which hook and how do create a global variable that can be accessed from any template. I'ved attempted to use global $mobilemt as seen below in the global_bootstrap_init_start hook and {vb:raw mobilemt} in a template with no luck.

PHP Code:
global $mobilemt 

$mobilemt 
"no"

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'], 04)),  
                    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;  
    }  

    if (
$mobile_browser_advanced||$mobile_browser
    { 
        { 
            
$mobilemt="yes"
        } 
    } 
Reply With Quote
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:32 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.09021 seconds
  • Memory Usage 2,328KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete