WordPress.org

Plugin Directory

Changeset 613721


Ignore:
Timestamp:
10/17/12 19:11:45 (18 months ago)
Author:
cfinke
Message:

Syncing user agent class from .com.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • jetpack/trunk/class.jetpack-user-agent.php

    r610148 r613721  
    440440    } 
    441441     
     442     
    442443    /* 
    443444     *  Detects if the current UA is Twitter for iPhone 
     445     *   
    444446     * Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; nb-no) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8L1 Twitter for iPhone 
     447     * Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206 Twitter for iPhone 
     448     *  
    445449     */ 
    446450    function is_twitter_for_iphone( ) { 
    447451        if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) 
    448452            return false; 
    449  
    450         $ua = strtolower( $_SERVER['HTTP_USER_AGENT'] ); 
    451  
     453             
     454        $ua = strtolower( $_SERVER['HTTP_USER_AGENT'] ); 
     455 
     456        if ( strpos( $ua, 'ipad' ) !== false ) 
     457            return false; 
     458         
    452459        if ( strpos( $ua, 'twitter for iphone' ) !== false ) 
    453460            return true; 
     
    455462            return false; 
    456463    } 
    457  
     464     
    458465    /* 
    459466     * Detects if the current UA is Twitter for iPad 
    460      * Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8L1 Twitter for iPad 
     467     *  
     468     * Old version 4.X - Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8L1 Twitter for iPad 
     469     * Ver 5.0 or Higher - Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206 Twitter for iPhone 
     470     *   
    461471     */ 
    462472    function is_twitter_for_ipad( ) { 
    463473        if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) 
    464474            return false; 
    465  
     475             
    466476        $ua = strtolower( $_SERVER['HTTP_USER_AGENT'] ); 
    467477 
    468478        if ( strpos( $ua, 'twitter for ipad' ) !== false ) 
    469479            return true; 
    470         else 
    471             return false; 
    472     } 
     480        elseif( strpos( $ua, 'ipad' ) !== false && strpos( $ua, 'twitter for iphone' ) !== false ) 
     481            return true; 
     482        else 
     483            return false; 
     484    } 
     485     
    473486 
    474487    /* 
     
    12141227 
    12151228        $app_agents = array( 'wp-android', 'wp-blackberry', 'wp-iphone', 'wp-nokia', 'wp-webos', 'wp-windowsphone' ); 
     1229        // the mobile reader on iOS has an incorrect UA when loading the reader 
     1230        // currently it is the default one provided by the iOS framework which 
     1231        // causes problems with 2-step-auth 
     1232        // User-Agent   WordPress/3.1.4 CFNetwork/609 Darwin/13.0.0 
     1233        $app_agents[] = 'wordpress/3.1'; 
    12161234 
    12171235        foreach ( $app_agents as $app_agent ) { 
     
    12221240    } 
    12231241 
     1242    static function is_bot() { 
     1243        static $is_bot = false; 
     1244        static $first_run = true; 
     1245 
     1246        if ( $first_run ) { 
     1247            $first_run = false; 
     1248 
     1249        /* 
     1250            $bot_ips = array( ); 
     1251 
     1252            foreach ( $bot_ips as $bot_ip ) { 
     1253                if ( $_SERVER['REMOTE_ADDR'] == $bot_ip ) 
     1254                    $is_bot = true; 
     1255            } 
     1256        */ 
     1257 
     1258            $agent = strtolower( $_SERVER['HTTP_USER_AGENT'] ); 
     1259 
     1260            $bot_agents = array( 
     1261                'alexa', 'altavista', 'ask jeeves', 'attentio', 'baiduspider', 'bingbot', 'chtml generic', 'crawler', 'fastmobilecrawl', 
     1262                'feedfetcher-google', 'firefly', 'froogle', 'gigabot', 'googlebot', 'googlebot-mobile', 'heritrix', 'ia_archiver', 'irlbot', 
     1263                'infoseek', 'jumpbot', 'lycos', 'mediapartners', 'mediobot', 'motionbot', 'msnbot', 'mshots', 'openbot', 
     1264                'pythumbnail', 'scooter', 'slurp', 'snapbot', 'spider', 'surphace scout', 'taptubot', 'technoratisnoop', 
     1265                'teoma', 'twiceler', 'yahooseeker', 'yahooysmcm', 'yammybot', 
     1266            ); 
     1267 
     1268            foreach ( $bot_agents as $bot_agent ) { 
     1269                if ( false !== strpos( $agent, $bot_agent ) ) 
     1270                    $is_bot = true; 
     1271            } 
     1272        } 
     1273 
     1274        return $is_bot; 
     1275    } 
    12241276} 
Note: See TracChangeset for help on using the changeset viewer.