Tidy
Andrew Moise
9 years ago
535 | 535 | $browser_tests->{ie} = 1; |
536 | 536 | |
537 | 537 | if ( index( $ua, 'aol' ) != -1 |
538 | || index( $ua, 'america online browser' ) != -1 ) { | |
538 | || index( $ua, 'america online browser' ) != -1 ) { | |
539 | 539 | $browser_string = 'AOL Browser'; |
540 | 540 | $browser_tests->{aol} = 1; |
541 | 541 | } |
542 | # Disabled for now -- need to figure out how to deal with version numbers | |
543 | #elsif ( index ( $ua, 'acoobrowser' ) != -1 ) { | |
544 | # $browser_string = 'Acoo Browser'; | |
545 | #} | |
546 | #elsif ( index( $ua, 'avant' ) != -1 ) { | |
547 | # $browser_string = 'Avant Browser'; | |
548 | #} | |
549 | #elsif ( index( $ua, 'crazy browser' ) != -1 ) { | |
550 | # $browser_string = 'Crazy Browser'; | |
551 | #} | |
552 | #elsif ( index( $ua, 'deepnet explorer' ) != -1 ) { | |
553 | # $browser_string = 'Deepnet Explorer'; | |
554 | #} | |
555 | #elsif ( index( $ua, 'maxthon' ) != -1 ) { | |
556 | # $browser_string = 'Maxthon'; | |
557 | #} | |
542 | ||
543 | # Disabled for now -- need to figure out how to deal with version numbers | |
544 | #elsif ( index ( $ua, 'acoobrowser' ) != -1 ) { | |
545 | # $browser_string = 'Acoo Browser'; | |
546 | #} | |
547 | #elsif ( index( $ua, 'avant' ) != -1 ) { | |
548 | # $browser_string = 'Avant Browser'; | |
549 | #} | |
550 | #elsif ( index( $ua, 'crazy browser' ) != -1 ) { | |
551 | # $browser_string = 'Crazy Browser'; | |
552 | #} | |
553 | #elsif ( index( $ua, 'deepnet explorer' ) != -1 ) { | |
554 | # $browser_string = 'Deepnet Explorer'; | |
555 | #} | |
556 | #elsif ( index( $ua, 'maxthon' ) != -1 ) { | |
557 | # $browser_string = 'Maxthon'; | |
558 | #} | |
558 | 559 | } |
559 | 560 | elsif ( index( $ua, "silk" ) != -1 ) { |
560 | 561 | |
563 | 564 | $browser = 'silk'; |
564 | 565 | $browser_tests->{$browser} = 1; |
565 | 566 | } |
566 | elsif ( index( $ua, "chrome/" ) != -1 | |
567 | || index( $ua, "crios" ) != -1 ) { | |
567 | elsif (index( $ua, "chrome/" ) != -1 | |
568 | || index( $ua, "crios" ) != -1 ) { | |
568 | 569 | |
569 | 570 | # Browser is Chrome |
570 | 571 | |
589 | 590 | |
590 | 591 | $browser_tests->{safari} = 1; |
591 | 592 | $browser = 'safari'; |
592 | if ( index( $ua, " mobile safari/" ) != -1 | |
593 | || index( $ua, "mobilesafari" ) != -1 ) | |
594 | { | |
593 | if ( index( $ua, " mobile safari/" ) != -1 | |
594 | || index( $ua, "mobilesafari" ) != -1 ) { | |
595 | 595 | $browser_string = 'Mobile Safari'; |
596 | 596 | $browser_tests->{mobile_safari} = 1; |
597 | 597 | } |
707 | 707 | $browser_tests->{$browser} = 1; |
708 | 708 | } |
709 | 709 | elsif ( index( $ua, "dalvik" ) != -1 ) { |
710 | $browser = 'dalvik'; | |
711 | $browser_tests->{$browser} = 1; | |
710 | $browser = 'dalvik'; | |
711 | $browser_tests->{$browser} = 1; | |
712 | 712 | } |
713 | 713 | elsif ( index( $ua, "ucbrowser" ) != -1 ) { |
714 | $browser = 'ucbrowser'; | |
715 | $browser_tests->{$browser} = 1; | |
714 | $browser = 'ucbrowser'; | |
715 | $browser_tests->{$browser} = 1; | |
716 | 716 | } |
717 | 717 | |
718 | 718 | $self->{browser} = $browser; |
828 | 828 | $r = 'altavista'; |
829 | 829 | } |
830 | 830 | elsif ( index( $ua, "apache-httpclient" ) != -1 ) { |
831 | $r = 'apache'; | |
831 | $r = 'apache'; | |
832 | 832 | } |
833 | 833 | elsif ( index( $ua, "ask jeeves/teoma" ) != -1 ) { |
834 | 834 | $r = 'askjeeves'; |
874 | 874 | $r = 'google'; |
875 | 875 | } |
876 | 876 | elsif ( $ua =~ m{go.*package http} ) { |
877 | $r = 'golib'; | |
878 | $robot_tests->{lib} = 1; | |
877 | $r = 'golib'; | |
878 | $robot_tests->{lib} = 1; | |
879 | 879 | } |
880 | 880 | elsif ( index( $ua, "indy library" ) != -1 ) { |
881 | 881 | $r = 'indy'; |
894 | 894 | $r = 'lycos'; |
895 | 895 | } |
896 | 896 | elsif ( index( $ua, "mechanize" ) != -1 ) { |
897 | $r = 'rubylib'; | |
898 | $robot_tests->{lib} = 1; | |
897 | $r = 'rubylib'; | |
898 | $robot_tests->{lib} = 1; | |
899 | 899 | } |
900 | 900 | elsif ( index( $ua, "mj12bot/" ) != -1 ) { |
901 | 901 | $r = 'mj12bot'; |
922 | 922 | elsif ( index( $ua, "yandeximages" ) != -1 ) { |
923 | 923 | $r = 'yandeximages'; |
924 | 924 | } |
925 | elsif ( ($ua =~ m{^java} && !$self->{browser} ) | |
925 | elsif (( $ua =~ m{^java} && !$self->{browser} ) | |
926 | 926 | || index( $ua, "jdk" ) != -1 |
927 | 927 | || index( $ua, "jakarta commons-httpclient" ) != -1 |
928 | 928 | || index( $ua, "google-http-java-client" ) != -1 ) { |
930 | 930 | $robot_tests->{lib} = 1; |
931 | 931 | } |
932 | 932 | |
933 | if ( $browser_tests->{applecoremedia} | |
934 | || $browser_tests->{dalvik} ) | |
935 | { | |
933 | if ( $browser_tests->{applecoremedia} | |
934 | || $browser_tests->{dalvik} ) { | |
936 | 935 | $robot_tests->{lib} = 1; |
937 | 936 | } |
938 | 937 | |
958 | 957 | $self->{robot_fragment} = "search"; |
959 | 958 | $robot_tests->{robot} = 'unknown'; |
960 | 959 | } |
961 | elsif ( 0 && $self->{user_agent} =~ /([\w \/\.]+)\s*[\;\(]\s*\+http\:/i ) { | |
962 | # Something followed by +http | |
963 | $self->{robot_string} = $1; | |
964 | $self->{robot_string} =~ s/^(.*?)\s*/$1/; | |
965 | $robot_tests->{robot} = 'unknown'; | |
960 | elsif ( 0 && $self->{user_agent} =~ /([\w \/\.]+)\s*[\;\(]\s*\+http\:/i ) | |
961 | { | |
962 | # Something followed by +http | |
963 | $self->{robot_string} = $1; | |
964 | $self->{robot_string} =~ s/^(.*?)\s*/$1/; | |
965 | $robot_tests->{robot} = 'unknown'; | |
966 | 966 | } |
967 | 967 | else { |
968 | 968 | # See if we have a simple fragment |
1018 | 1018 | $os_string = 'Win95'; |
1019 | 1019 | $os_tests->{win95} = $os_tests->{win32} = 1; |
1020 | 1020 | } |
1021 | elsif ( index( $ua, "win 9x 4.90" ) != -1 # whatever | |
1022 | || index( $ua, "windows me" ) != -1 ) | |
1023 | { | |
1021 | elsif ( | |
1022 | index( $ua, "win 9x 4.90" ) != -1 # whatever | |
1023 | || index( $ua, "windows me" ) != -1 | |
1024 | ) { | |
1024 | 1025 | $os = "windows"; |
1025 | 1026 | $os_string = 'WinME'; |
1026 | 1027 | $os_tests->{winme} = $os_tests->{win32} = 1; |
1031 | 1032 | $os_string = 'Win98'; |
1032 | 1033 | $os_tests->{win98} = $os_tests->{win32} = 1; |
1033 | 1034 | } |
1034 | elsif ( index( $ua, "windows 2000" ) != -1 ) { | |
1035 | elsif ( index( $ua, "windows 2000" ) != -1 ) { | |
1035 | 1036 | $os = "windows"; |
1036 | 1037 | $os_string = 'Win2k'; |
1037 | 1038 | $os_tests->{win2k} = $os_tests->{winnt} = $os_tests->{win32} = 1; |
1038 | } | |
1039 | } | |
1039 | 1040 | elsif ( index( $ua, "windows ce" ) != -1 ) { |
1040 | 1041 | $os = 'windows'; |
1041 | 1042 | $os_string = 'WinCE'; |
1058 | 1059 | } |
1059 | 1060 | |
1060 | 1061 | if ( index( $ua, "nt" ) != -1 ) { |
1061 | if ( index( $ua, "nt 5.0" ) != -1 | |
1062 | || index( $ua, "nt5" ) != -1 ) | |
1063 | { | |
1062 | if ( index( $ua, "nt 5.0" ) != -1 | |
1063 | || index( $ua, "nt5" ) != -1 ) { | |
1064 | 1064 | $os = "windows"; |
1065 | 1065 | $os_string = 'Win2k'; |
1066 | 1066 | $os_tests->{win2k} = $os_tests->{winnt} = $os_tests->{win32} = 1; |
1469 | 1469 | $minor = $2; |
1470 | 1470 | $beta = $3; |
1471 | 1471 | } |
1472 | elsif ( $browser eq 'chrome' && | |
1473 | $ua =~ m{crios/(\d+)\.(\d+)([\d.]*)} ) | |
1474 | { | |
1472 | elsif ($browser eq 'chrome' | |
1473 | && $ua =~ m{crios/(\d+)\.(\d+)([\d.]*)} ) { | |
1475 | 1474 | $major = $1; |
1476 | 1475 | $minor = $2; |
1477 | 1476 | $beta = $3; |
1839 | 1838 | $device_string = "BlackBerry $1"; |
1840 | 1839 | } |
1841 | 1840 | elsif ( $self->{user_agent} =~ /android .*\; ([^;]*) build/i ) { |
1842 | if ( $device_tests->{tablet} ) { | |
1843 | $device_string = "Android tablet ($1)"; | |
1844 | } else { | |
1845 | $device_string = "Android ($1)"; | |
1846 | } | |
1841 | if ( $device_tests->{tablet} ) { | |
1842 | $device_string = "Android tablet ($1)"; | |
1843 | } | |
1844 | else { | |
1845 | $device_string = "Android ($1)"; | |
1846 | } | |
1847 | 1847 | } |
1848 | 1848 | elsif ( $self->{user_agent} |
1849 | 1849 | =~ /\b((alcatel|huawei|lg|nokia|samsung|sonyericsson)[\w\-]*)\//i ) { |
1865 | 1865 | } |
1866 | 1866 | |
1867 | 1867 | if ($device_string) { |
1868 | $self->{device_string} = $device_string; | |
1868 | $self->{device_string} = $device_string; | |
1869 | 1869 | } |
1870 | 1870 | } |
1871 | 1871 | |
2348 | 2348 | ) { |
2349 | 2349 | $self->{robot_string} = $1; |
2350 | 2350 | $self->{robot_string} =~ s/ *$//; # Trim whitespace at end |
2351 | if ( $self->{user_agent} eq $self->{robot_string} | |
2352 | && $self->{user_agent} =~ m{\/.*\/} | |
2353 | && $self->{user_agent} =~ m{ | |
2351 | if ( | |
2352 | $self->{user_agent} eq $self->{robot_string} | |
2353 | && $self->{user_agent} =~ m{\/.*\/} | |
2354 | && $self->{user_agent} =~ m{ | |
2354 | 2355 | ([\w]* # Words before fragment |
2355 | 2356 | $fragment # Match the fragment |
2356 | 2357 | \/[\d\.]+ # Version |
2357 | 2358 | [\w]*) # Beta stuff |
2358 | }ix ) | |
2359 | { | |
2360 | # We matched the whole string, but it seems to | |
2361 | # make more sense as whitespace-separated | |
2362 | # "thing/ver" tokens | |
2363 | $self->{robot_string} = $1; | |
2364 | } | |
2359 | }ix | |
2360 | ) { | |
2361 | # We matched the whole string, but it seems to | |
2362 | # make more sense as whitespace-separated | |
2363 | # "thing/ver" tokens | |
2364 | $self->{robot_string} = $1; | |
2365 | } | |
2365 | 2366 | } |
2366 | 2367 | } |
2367 | 2368 | return $self->{robot_string}; |