Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #11  
Old 03-13-2005, 11:44 AM
Revan's Avatar
Revan Revan is offline
 
Join Date: Jan 2004
Location: Norway
Posts: 1,671
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The first error I detect is that you have a parse error on this line:
PHP Code:
        if ((strpos($useragent'linux') !== false) AND (strpos($useragent'x11') !== false) AND (strpos($useragent'i686') !== false)) 
You had 1 parenthesis too many at the end there
I'll keep testing this function, then race ya to get it working first

And here is the complete working function. For obvious reasons, I have not been able to test linux, mac or webtv, you might want to get someone using those os'es (is webtv an OS though? )
PHP Code:
// #################### Start is os ##########################
// os detection script
function is_os($os)
{
    
$useragent strtolower($_SERVER['HTTP_USER_AGENT']);

    
// detect windows
    
if ((strpos($useragent'winnt') !== false) OR (strpos($useragent'win32') !== false) OR (strpos($useragent'windows') !== false))
    {
        
$found_os 'windows';
    }
        
    
// detect macintosh
    
if (strpos($useragent'mac') !== false)
    {
        
$found_os 'mac';
    }

    
// detect linux
    
if ((strpos($useragent'linux') !== false) OR (strpos($useragent'x11') !== false) OR (strpos($useragent'i686') !== false))
    {
        
$found_os 'linux';
    }

    
// detect web tv
    
if (strpos($useragent'webtv') !== false)
    {
        
$found_os 'webtv';
        
// I left this code in because I have no idea why you put it there... :P
        /*
        preg_match('#webtv/([0-9\.]+)#', $useragent, $regs);
        $found_os = $regs[1];
        */
    
}

    
// sanitize the incoming os name
    
$os strtolower($os);
    if (
substr($os03) == 'is_')
    {
        
$os substr($os3);
    }
    
    if (
$os === $found_os)
    {
        return 
true;
    }
    else
    {
        return 
false;
    }
}
// #################### End is os ########################## 
Reply With Quote
  #12  
Old 03-13-2005, 01:24 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Looks better to me
Reply With Quote
  #13  
Old 03-13-2005, 04:55 PM
neocorteqz's Avatar
neocorteqz neocorteqz is offline
 
Join Date: May 2002
Location: Barefoot Bay Fl
Posts: 473
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Revan
The first error I detect is that you have a parse error on this line:
PHP Code:
        if ((strpos($useragent'linux') !== false) AND (strpos($useragent'x11') !== false) AND (strpos($useragent'i686') !== false)) 
You had 1 parenthesis too many at the end there
I'll keep testing this function, then race ya to get it working first

And here is the complete working function. For obvious reasons, I have not been able to test linux, mac or webtv, you might want to get someone using those os'es (is webtv an OS though? )
PHP Code:
// #################### Start is os ##########################
// os detection script
function is_os($os)
{
    
$useragent strtolower($_SERVER['HTTP_USER_AGENT']);

    
// detect windows
    
if ((strpos($useragent'winnt') !== false) OR (strpos($useragent'win32') !== false) OR (strpos($useragent'windows') !== false))
    {
        
$found_os 'windows';
    }
        
    
// detect macintosh
    
if (strpos($useragent'mac') !== false)
    {
        
$found_os 'mac';
    }

    
// detect linux
    
if ((strpos($useragent'linux') !== false) OR (strpos($useragent'x11') !== false) OR (strpos($useragent'i686') !== false))
    {
        
$found_os 'linux';
    }

    
// detect web tv
    
if (strpos($useragent'webtv') !== false)
    {
        
$found_os 'webtv';
        
// I left this code in because I have no idea why you put it there... :P
        /*
        preg_match('#webtv/([0-9\.]+)#', $useragent, $regs);
        $found_os = $regs[1];
        */
    
}

    
// sanitize the incoming os name
    
$os strtolower($os);
    if (
substr($os03) == 'is_')
    {
        
$os substr($os3);
    }
    
    if (
$os === $found_os)
    {
        return 
true;
    }
    else
    {
        return 
false;
    }
}
// #################### End is os ########################## 

Thanks. and Here's how to test.

Firefox's useragent switcher plugin.

Seeing as this is based on useragent string, you can change it to anything other than windows to test it.

and webtv isn't an os, But i wanted it included for the Remote posibility that someone may actually be using it. Doubtful, but you never know.


Thanks again everyone.

Edit:
@ Revan

Did you want to release this? i was planning on releasing this after i finished it.

If you don't I'll of course release with you credited as a main contributer along with anyone else that contributed in this thread.
Reply With Quote
  #14  
Old 03-13-2005, 06:46 PM
Revan's Avatar
Revan Revan is offline
 
Join Date: Jan 2004
Location: Norway
Posts: 1,671
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You need it more than I - you haven't even gotten your coder title yet
Besides it was your idea, we merely helped you
Credits will do fine. *waves hand* Credits will do fine. [/Qui-Gon Jinn]

Ye of course, I never thought of the user agent switcher plugin. I got the bugger installed too

Hm I just took a look at your first post, and it appears like you tried to submit multiple arguments to the function - do you want/need it to do this?
Reply With Quote
  #15  
Old 03-13-2005, 07:54 PM
neocorteqz's Avatar
neocorteqz neocorteqz is offline
 
Join Date: May 2002
Location: Barefoot Bay Fl
Posts: 473
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Revan
You need it more than I - you haven't even gotten your coder title yet
Besides it was your idea, we merely helped you
Credits will do fine. *waves hand* Credits will do fine. [/Qui-Gon Jinn]

Ye of course, I never thought of the user agent switcher plugin. I got the bugger installed too

Hm I just took a look at your first post, and it appears like you tried to submit multiple arguments to the function - do you want/need it to do this?
Lol, even if I had one by some freakish chance, I'm far from "Coder", i still have a lot to learn.

release as soon as I post it.
Reply With Quote
  #16  
Old 03-13-2005, 09:12 PM
T3MEDIA T3MEDIA is offline
 
Join Date: Dec 2004
Posts: 944
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thats hot. listen to the list maybe you should have a condition to see what contry the user is from.

THEN>>>>>>> oh ho ho ho your phases could instantly change... like google does.

do that... and users will worship you as a god with big brests and azz.
Reply With Quote
Reply


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:44 PM.


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.03663 seconds
  • Memory Usage 2,253KB
  • Queries Executed 11 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (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_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • 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
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete