Changeset 16458


Ignore:
Timestamp:
07/07/12 16:16:05 (7 years ago)
Author:
grum
Message:

feature:2634- compatibility with Piwigo 2.4
Update URI + small changes

Location:
extensions/GrumPluginClasses
Files:
3 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • extensions/GrumPluginClasses/admin.php

    r15340 r16458  
    44  Author     : Grum 
    55    email    : grum@piwigo.org 
    6     website  : http://photos.grum.fr 
    7     PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     6    website  : http://www.grum.fr 
    87 
    98    << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php

    r16012 r16458  
    99  Author     : Grum 
    1010    email    : grum@piwigo.org 
    11     website  : http://photos.grum.fr 
    12     PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     11    website  : http://www.grum.fr 
    1312 
    1413    << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/classes/GPCCss.class.inc.php

    r15352 r16458  
    1010  Author     : Grum 
    1111    email    : grum@piwigo.org 
    12     website  : http://photos.grum.fr 
    13     PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12    website  : http://www.grum.fr 
    1413 
    1514    << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php

    r16012 r16458  
    99  Author     : Grum 
    1010    email    : grum@piwigo.org 
    11     website  : http://photos.grum.com 
    12     PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     11    website  : http://www.grum.fr 
    1312 
    1413    << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/classes/GPCUserAgent.class.inc.php

    r16012 r16458  
    55class GPCUserAgent 
    66{ 
     7  /** 
     8   * parse a user agent string and return an array of normalized informations 
     9   * 
     10   * returned: 
     11   *  array( 
     12   *    'os'               => (integer) 
     13   *    'os_version'       => (string) 
     14   *    'browser'          => (integer) 
     15   *    'browser_name'     => (string) 
     16   *    'browser_type'     => (integer) 
     17   *    'browser_version'  => (string) 
     18   *    'engine'           => (integer) 
     19   *    'engine_version'   => (string) 
     20   *  ) 
     21   * 
     22   * @param String $userAgent 
     23   * @return Array 
     24   */ 
    725  static public function parse($userAgent) 
    826  { 
     
    1028 
    1129    $returned=array( 
    12       'os' => '', 
    13       'os_version' => '', 
    14  
    15       'browser' => '', 
    16       'browser_name' => '', 
    17       'browser_type' => '', 
    18       'browser_version' => '', 
    19  
    20       'engine' => '', 
    21       'engine_version' => '' 
     30      UA_DATA_OS              => UA_OS_UNKNOWN, 
     31      UA_DATA_OS_VERSION      => '', 
     32 
     33      UA_DATA_BROWSER         => UA_BOT_UNKNOWN, 
     34      UA_DATA_BROWSER_NAME    => '', 
     35      UA_DATA_BROWSER_TYPE    => UA_PROP_TYPE_UNKNOWN, 
     36      UA_DATA_BROWSER_VERSION => '', 
     37 
     38      UA_DATA_ENGINE          => UA_ENGINE_UNKNOWN, 
     39      UA_DATA_ENGINE_VERSION => '' 
    2240    ); 
    2341 
    2442    $bot=self::getBot($userAgent); 
    25     if($bot['crawler']!=='') 
    26     { 
    27       $returned['browser']=$bot['crawler']; 
    28       $returned['browser_name']=$bot['name']; 
    29       $returned['browser_type']=UA_PROP_TYPE_CRAWLER; 
    30       $returned['browser_version']=str_replace(array(';', '(', ')'), array('', '', ''), $bot['version']); 
     43    if($bot[UA_DATA_BROWSER]!=='') 
     44    { 
     45      $returned[UA_DATA_BROWSER]=$bot[UA_DATA_BROWSER]; 
     46      $returned[UA_DATA_BROWSER_TYPE]=UA_BROWSER_TYPE_CRAWLER; 
     47      $returned[UA_DATA_BROWSER_VERSION]=str_replace(array(';', '(', ')'), array('', '', ''), $bot[UA_DATA_BROWSER_VERSION]); 
    3148      return($returned); 
    3249    } 
    3350 
    3451    $tmp=self::getBrowser($userAgent); 
    35     $returned['browser']=$tmp['browser']; 
    36     $returned['browser_name']=$tmp['name']; 
    37     $returned['browser_type']=$UA_BrowserInfo[UA_DATA_BROWSER][$tmp['browser']][UA_PROP_TYPE]; 
    38     $returned['browser_version']=str_replace(array(';', '(', ')'), array('', '', ''), $tmp['version']); 
     52    $returned[UA_DATA_BROWSER]=$tmp[UA_DATA_BROWSER]; 
     53    $returned[UA_DATA_BROWSER_TYPE]=$UA_BrowserInfo[UA_DATA_BROWSER][$tmp[UA_DATA_BROWSER]][UA_PROP_TYPE]; 
     54    $returned[UA_DATA_BROWSER_VERSION]=str_replace(array(';', '(', ')'), array('', '', ''), $tmp[UA_DATA_BROWSER_VERSION]); 
    3955 
    4056    $tmp=self::getOs($userAgent); 
    41     $returned['os']=$tmp['os']; 
    42     $returned['os_version']=str_replace(array(';', '(', ')'), array('', '', ''), $tmp['version']); 
     57    $returned[UA_DATA_OS]=$tmp[UA_DATA_OS]; 
     58    $returned[UA_DATA_OS_VERSION]=str_replace(array(';', '(', ')'), array('', '', ''), $tmp[UA_DATA_OS_VERSION]); 
    4359 
    4460    $tmp=self::getEngine($userAgent); 
    45     $returned['engine']=$tmp['engine']; 
    46     $returned['engine_version']=str_replace(array(';', '(', ')'), array('', '', ''), $tmp['version']); 
     61    $returned[UA_DATA_ENGINE]=$tmp[UA_DATA_ENGINE]; 
     62    $returned[UA_DATA_ENGINE_VERSION]=str_replace(array(';', '(', ')'), array('', '', ''), $tmp[UA_DATA_ENGINE_VERSION]); 
     63 
     64    // explicit OS for mobile device override the browser type 
     65    if($returned[UA_DATA_OS]==UA_OS_BLACKBERRY or 
     66        $returned[UA_DATA_OS]==UA_OS_SYMBIAN_OS or 
     67        $returned[UA_DATA_OS]==UA_OS_SYMBOS or 
     68        $returned[UA_DATA_OS]==UA_OS_ANDROID or 
     69        $returned[UA_DATA_OS]==UA_OS_IOS) $returned[UA_DATA_BROWSER_TYPE]=UA_BROWSER_TYPE_MOBILE; 
     70 
     71    // explicit OS for console device override the browser type 
     72    if($returned[UA_DATA_OS]==UA_OS_NINTENDO_DS or 
     73        $returned[UA_DATA_OS]==UA_OS_NINTENDO_WII or 
     74        $returned[UA_DATA_OS]==UA_OS_SONY_PS3 or 
     75        $returned[UA_DATA_OS]==UA_OS_SONY_PSP) $returned[UA_DATA_BROWSER_TYPE]=UA_BROWSER_TYPE_CONSOLE; 
     76 
     77    return($returned); 
     78  } 
     79 
     80 
     81  /** 
     82   * from a user agent array properties, return an array completed with associated 
     83   * properties 
     84   * 
     85   * @param Array $userAgent 
     86   * @return Array 
     87   */ 
     88  static public function getProperties($userAgent) 
     89  { 
     90    global $UA_BrowserInfo; 
     91 
     92    $returned=array(); 
     93    if(isset($userAgent[UA_DATA_BROWSER]) and isset($UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]])) 
     94    { 
     95      $returned[UA_DATA_BROWSER]=$userAgent[UA_DATA_BROWSER]; 
     96      $returned[UA_DATA_BROWSER_NAME]=$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]][UA_PROP_NAME]; 
     97      $returned[UA_DATA_BROWSER_URL]=$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]][UA_PROP_URL]; 
     98    } 
     99 
     100    if(!isset($userAgent[UA_DATA_BROWSER_TYPE]) and isset($userAgent[UA_DATA_BROWSER])) 
     101      $userAgent[UA_DATA_BROWSER_TYPE]=$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]][UA_PROP_TYPE]; 
     102 
     103    if(isset($userAgent[UA_DATA_BROWSER_TYPE]) and isset($UA_BrowserInfo[UA_DATA_BROWSER_TYPE][$userAgent[UA_DATA_BROWSER_TYPE]])) 
     104    { 
     105      $returned[UA_DATA_BROWSER_TYPE]=$userAgent[UA_DATA_BROWSER_TYPE]; 
     106      $returned[UA_DATA_BROWSER_TYPE_NAME]=$UA_BrowserInfo[UA_DATA_BROWSER_TYPE][$userAgent[UA_DATA_BROWSER_TYPE]]; 
     107    } 
     108 
     109 
     110    if(isset($userAgent[UA_DATA_OS]) and isset($UA_BrowserInfo[UA_DATA_OS][$userAgent[UA_DATA_OS]])) 
     111    { 
     112      $returned[UA_DATA_OS]=$userAgent[UA_DATA_OS]; 
     113      $returned[UA_DATA_OS_NAME]=$UA_BrowserInfo[UA_DATA_OS][$userAgent[UA_DATA_OS]][UA_PROP_NAME]; 
     114      $returned[UA_DATA_OS_URL]=$UA_BrowserInfo[UA_DATA_OS][$userAgent[UA_DATA_OS]][UA_PROP_URL]; 
     115    } 
     116 
     117    if(isset($userAgent[UA_DATA_ENGINE]) and isset($UA_BrowserInfo[UA_DATA_ENGINE][$userAgent[UA_DATA_ENGINE]])) 
     118    { 
     119      $returned[UA_DATA_ENGINE]=$userAgent[UA_DATA_ENGINE]; 
     120      $returned[UA_DATA_ENGINE_NAME]=$UA_BrowserInfo[UA_DATA_ENGINE][$userAgent[UA_DATA_ENGINE]][UA_PROP_NAME]; 
     121      $returned[UA_DATA_ENGINE_URL]=$UA_BrowserInfo[UA_DATA_ENGINE][$userAgent[UA_DATA_ENGINE]][UA_PROP_URL]; 
     122    } 
    47123 
    48124    return($returned); 
     
    89165      '(ichiro)\/(\S*)\('                               => UA_BOT_ICHIRO, 
    90166      '(ichiro)(?:\/(\S*))*'                            => UA_BOT_ICHIRO, 
     167      '(l.webis)(?:\/(\S*))*'                           => UA_BOT_LWEBIS, 
     168      '(larbin)'                                        => UA_BOT_LARBIN, 
     169      '(linkwalker)(?:\/(\S*))*'                        => UA_BOT_LINKWALKER, 
     170      '(lwp-trivial)(?:\/(\S*))*'                       => UA_BOT_LWPTRIVIAL, 
     171      '(mabontland)'                                    => UA_BOT_MABONLAND, 
     172      '(mnogosearch)'                                   => UA_BOT_MNOGOSEARCH, 
     173      '(mogimogi)(?:\/(\S*))*'                          => UA_BOT_MOGIMOGI, 
     174      '(morning\spaper)'                                => UA_BOT_MORNINGPAPER, 
     175      '(netresearchserver)\/(\S*)\('                    => UA_BOT_NETRESEARCHSERVER, 
     176      '(netresearchserver)(?:\/(\S*))*'                 => UA_BOT_NETRESEARCHSERVER, 
     177      '(newsgator)(?:\/(\S*))*'                         => UA_BOT_NEWSGATOR, 
     178      '(ng-search)(?:\/(\S*))*'                         => UA_BOT_NGSEARCH, 
     179      '(nymesis)(?:\/(\S*))*'                           => UA_BOT_NYMESIS, 
     180      '(oegp)'                                          => UA_BOT_OEGP, 
     181      '(pompos)(?:\/(\S*))*'                            => UA_BOT_POMPOS, 
     182      '(pycurl)(?:\/(\S*))*'                            => UA_BOT_PYCURL, 
     183      '(qseero)'                                        => UA_BOT_QSEERO, 
     184      '(sbider)(?:\/(\S*))*'                            => UA_BOT_SBIDER, 
     185      '(scoutjet)'                                      => UA_BOT_SCOUTJET, 
     186      '(scrubby)(?:\/(\S*))*'                           => UA_BOT_SCRUBBY, 
     187      '(searchsight)(?:\/(\S*))*'                       => UA_BOT_SEARCHSIGHT, 
     188      '(semanticdiscovery)(?:\/(\S*))*'                 => UA_BOT_SEMANTICDISCOVERY, 
     189 
     190      '(shoula)'                                        => UA_BOT_SHOULA, 
     191      '(snappy)(?:\/(\S*))*'                            => UA_BOT_SNAPPY, 
     192      '(stackrambler)(?:\/(\S*))*'                      => UA_BOT_STACKRAMBLER, 
     193      '(silk)(?:\/(\S*))*'                              => UA_BOT_SILK, 
     194      '(teoma)'                                         => UA_BOT_TEOMA, 
     195      '(tineye)(?:\/(\S*))*'                            => UA_BOT_TINEYE, 
     196      '(truwogps)(?:\/(\S*))*'                          => UA_BOT_TRUWOGPS, 
     197      '(updated)(?:\/(\S*))*'                           => UA_BOT_UPDATED, 
     198      '(voyager)(?:\/(\S*))*'                           => UA_BOT_VOYAGER, 
     199      '(vyu2)'                                          => UA_BOT_VYU2, 
     200      '(webcollage)(?:\/(\S*))*'                        => UA_BOT_WEBCOLLAGE, 
     201      '(yooglifetchagent)(?:\/(\S*))*'                  => UA_BOT_YOOGLIFETCHAGENT, 
     202      '(zao)(?:\/(\S*))*'                               => UA_BOT_ZAO, 
     203      '(zealbot)'                                       => UA_BOT_ZEALBOT, 
    91204      '(baiduspider)'                                   => UA_BOT_BAIDU, 
    92205      '(msnbot)\/(\d+(?:\.\d+)*)'                       => UA_BOT_MSN_SEARCH, 
     206      '(msnbot)\s(\d+(?:\.\d+)*)'                       => UA_BOT_MSN_SEARCH, 
    93207      '(exabot)\/(\d+(?:\.\d+)*)'                       => UA_BOT_EXALEAD, 
    94208      '(gamespyhttp)\/(\d+(?:\.\d+)*)'                  => UA_BOT_GAMESPY, 
     
    96210      '(inktomi)'                                       => UA_BOT_INKTOMI, 
    97211      '(Yahoo! Slurp)'                                  => UA_BOT_YAHOO_SEARCH, 
     212      '(yahooseeker)'                                   => UA_BOT_YAHOO_SEARCH, 
    98213      '\s*([a-z]*(?:bot|spyder|crawl|crawler|spider)[a-z]*)'  => UA_BOT_UNKNOWN 
    99214    ); 
    100215 
    101216    $returned=array( 
    102       'crawler' => '', 
    103       'name' => '', 
    104       'version' => '' 
     217      UA_DATA_BROWSER => '', 
     218      //'name' => '', 
     219      UA_DATA_BROWSER_VERSION => '' 
    105220    ); 
    106221 
     
    110225      if(preg_match('/'.$regExp.'/i',$userAgent,$result)) 
    111226      { 
     227        // exclude some case 
     228        if($crawler==UA_BOT_UNKNOWN and preg_match('/(?:msiecrawler)/i', $userAgent)) 
     229          return($returned); 
     230 
    112231        $returned=array( 
    113           'crawler' => $crawler, 
    114           'name' => $result[1], 
    115           'version' => isset($result[2])?$result[2]:'' 
     232          UA_DATA_BROWSER => $crawler, 
     233          //'name' => $result[1], #retrieved from the code 
     234          UA_DATA_BROWSER_VERSION => isset($result[2])?$result[2]:'' 
    116235        ); 
    117236        return($returned); 
     
    180299      '(chrome)\/(\S*)'                                       => UA_BROWSER_CHROME, 
    181300      '(epiphany)\/(\S*)'                                     => UA_BROWSER_EPIPHANY, 
     301      '(epiphany)'                                            => UA_BROWSER_EPIPHANY, 
    182302      '(galeon)\/(\S*)'                                       => UA_BROWSER_GALEON, 
    183303      '(orca)\/(\S*)'                                         => UA_BROWSER_ORCA, 
     
    203323 
    204324    $returned=array( 
    205       'browser' => UA_BROWSER_UNKNOWN, 
    206       'name' => '', 
    207       'version' => '' 
     325      UA_DATA_BROWSER => UA_BROWSER_UNKNOWN, 
     326      //'name' => '', 
     327      UA_DATA_BROWSER_VERSION => '' 
    208328    ); 
    209329 
     
    214334      { 
    215335        //echo print_r($userAgent, true).print_r($result, true); 
    216         if(is_array($result) and count($result)>2) 
     336        if(is_array($result) and count($result)>=2) 
    217337        { 
    218338          if($browser==UA_BROWSER_SAFARI and preg_match('/iphone|ipad|ipod/i', $userAgent)) 
     
    220340 
    221341          $returned=array( 
    222             'browser' => $browser, 
    223             'name' => $result[1], 
    224             'version' => isset($result[2])?$result[2]:'' 
     342            UA_DATA_BROWSER => $browser, 
     343            //'name' => $result[1], 
     344            UA_DATA_BROWSER_VERSION => isset($result[2])?$result[2]:'' 
    225345          ); 
    226346        } 
     
    228348        { 
    229349          $returned=array( 
    230             'browser' => UA_BROWSER_UNKNOWN, 
    231             'name' => '', 
    232             'version' => '' 
     350            UA_DATA_BROWSER => UA_BROWSER_UNKNOWN, 
     351            //'name' => '', 
     352            UA_DATA_BROWSER_VERSION => '' 
    233353          ); 
    234354        } 
     
    257377      '(sunos)'                                               => UA_OS_SUNOS, 
    258378      '(blackberry)\s?([^;.]*);'                              => UA_OS_BLACKBERRY, 
     379      '(blackberry)'                                          => UA_OS_BLACKBERRY, 
    259380      '(symbianos)'                                           => UA_OS_SYMBIAN_OS, 
    260381      '(symbos)'                                              => UA_OS_SYMBOS, 
     
    267388      '(windows)\s?(\S*)[\;\)]'                               => UA_OS_WINDOWS, 
    268389      '(windows)\s?(\S*)'                                     => UA_OS_WINDOWS, 
     390      '(winnt)'                                               => UA_OS_WINDOWS, 
     391      '(win98)'                                               => UA_OS_WINDOWS, 
     392      '(win95)'                                               => UA_OS_WINDOWS, 
    269393      '(mac_powerpc)'                                         => UA_OS_MACINTOSH, 
    270394      '(cpu\siphone\sos)\s?(\S*)'                             => UA_OS_IOS, 
     
    276400      '(playstation\s3)'                                      => UA_OS_SONY_PS3, 
    277401      '(playstation\sportable)'                               => UA_OS_SONY_PSP, 
    278       '(nintendo\sds)'                                        => UA_OS_NINTENDO_DS 
    279  
     402      '(nintendo\sds)'                                        => UA_OS_NINTENDO_DS, 
     403      '(cros)(?:\s*i\d*)(?:\s(\S*))'                          => UA_OS_CHROME_OS, 
     404      '(cros)'                                                => UA_OS_CHROME_OS, 
     405      '(beos)'                                                => UA_OS_BE_OS, 
     406      '(dragonfly)'                                           => UA_OS_DRAGONFLY, 
     407      '(unix)'                                                => UA_OS_UNIX, 
     408      '(darwin)'                                              => UA_OS_DARWIN, 
     409      '(macintosh)'                                           => UA_OS_MACINTOSH, 
     410      '(fedora)'                                              => UA_OS_LINUX, 
     411      '(os\/2).*(warp(?:\s\S*));'                             => UA_OS_OS2, 
     412      '(os\/2)'                                               => UA_OS_OS2, 
     413      '(amigaos)(?:\s(\S*))'                                  => UA_OS_AMIGAOS, 
     414      '(amigaos)'                                             => UA_OS_AMIGAOS 
    280415    ); 
    281416 
    282417    $returned=array( 
    283       'os' => UA_OS_UNKNOWN, 
    284       'name' => '', 
    285       'version' => '' 
     418      UA_DATA_OS => UA_OS_UNKNOWN, 
     419      //'name' => '', 
     420      UA_DATA_OS_VERSION => '' 
    286421    ); 
    287422 
     
    292427      { 
    293428        $returned=array( 
    294           'os' => $os, 
    295           'name' => $result[1], 
    296           'version' => isset($result[2])?$result[2]:'' 
     429          UA_DATA_OS => $os, 
     430          //'name' => $result[1], 
     431          UA_DATA_OS_VERSION => isset($result[2])?$result[2]:'' 
    297432        ); 
    298433        switch($os) 
    299434        { 
    300435          case UA_OS_WINDOWS: 
    301             switch($returned['version']) 
     436            switch($returned[UA_DATA_OS_VERSION]) 
    302437            { 
    303438              case 'NT 5.0': 
     
    338473  { 
    339474    $engineList=array( 
    340       '(presto)\/(\S*)'           => UA_ENGINE_PRESTO, 
    341       '(gecko)\/(\S*)'            => UA_ENGINE_GECKO, 
    342       '(applewebkit)\/(\S*)'      => UA_ENGINE_APPLEWEBKIT, 
    343       '(webkit)\/(\S*)'           => UA_ENGINE_WEBKIT, 
    344       '(khtml)\/(\S*)'            => UA_ENGINE_KHTML, 
    345       '(trident)\/(\S*)'          => UA_ENGINE_TRIDENT 
     475      '(presto)(?:\/(\S*))*'           => UA_ENGINE_PRESTO, 
     476      '(applewebkit)(?:\/(\S*))*'      => UA_ENGINE_APPLEWEBKIT, 
     477      '(webkit)(?:\/(\S*))*'           => UA_ENGINE_WEBKIT, 
     478      '(khtml)(?:\/(\S*))*'            => UA_ENGINE_KHTML, 
     479      '(gecko)(?:\/(\S*))*'            => UA_ENGINE_GECKO, 
     480      '(trident)(?:\/(\S*))*'          => UA_ENGINE_TRIDENT 
    346481    ); 
    347482 
    348483    $returned=array( 
    349       'engine' => UA_ENGINE_UNKNOWN, 
    350       'name' => '', 
    351       'version' => '' 
     484      UA_DATA_ENGINE => UA_ENGINE_UNKNOWN, 
     485      //'name' => '', 
     486      UA_DATA_ENGINE_VERSION => '' 
    352487    ); 
    353488 
     
    358493      { 
    359494        $returned=array( 
    360           'engine' => $engine, 
    361           'name' => $result[1], 
    362           'version' => isset($result[2])?$result[2]:'' 
     495          UA_DATA_ENGINE => $engine, 
     496          //'name' => $result[1], 
     497          UA_DATA_ENGINE_VERSION => isset($result[2])?$result[2]:'' 
    363498        ); 
    364499        return($returned); 
     
    368503    return($returned); 
    369504  } 
    370  
    371  
    372 } 
     505} // GPCUserAgent class 
    373506 
    374507 
  • extensions/GrumPluginClasses/classes/GPCUserAgent.const.inc.php

    r16012 r16458  
    55 * Data types : bot, browser, engine, os 
    66 */ 
    7 define('UA_DATA',                     0x00); 
    8  
    9 define('UA_DATA_BROWSER',             0x01); 
    10 define('UA_DATA_ENGINE',              0x02); 
    11 define('UA_DATA_OS',                  0x03); 
    12 define('UA_DATA_BOT',                 0x04); 
    13  
    14 define('UA_DATA_PROP_NAME',           0x10); 
     7define('UA_DATA',                     0x0000); 
     8 
     9define('UA_DATA_BROWSER',             0x0001); 
     10define('UA_DATA_ENGINE',              0x0002); 
     11define('UA_DATA_OS',                  0x0003); 
     12 
     13define('UA_DATA_BROWSER_NAME',        0x0011); 
     14define('UA_DATA_OS_NAME',             0x0012); 
     15define('UA_DATA_ENGINE_NAME',         0x0013); 
     16 
     17define('UA_DATA_BROWSER_VERSION',     0x0021); 
     18define('UA_DATA_ENGINE_VERSION',      0x0022); 
     19define('UA_DATA_OS_VERSION',          0x0023); 
     20 
     21define('UA_DATA_BROWSER_TYPE',        0x0031); 
     22define('UA_DATA_BROWSER_TYPE_NAME',   0x0131); 
     23define('UA_DATA_OS_TYPE',             0x0033); 
     24define('UA_DATA_OS_TYPE_NAME',        0x0133); 
     25 
     26define('UA_DATA_BROWSER_URL',         0x0041); 
     27define('UA_DATA_ENGINE_URL',          0x0042); 
     28define('UA_DATA_OS_URL',              0x0043); 
     29 
     30 
    1531 
    1632/** 
     
    2339 
    2440/** 
    25  * -- UA_PROP_TYPE -- 
    26  * Indexes for UA_PROP_TYPE information (computer, mobile, console, ...) 
    27  */ 
    28 define('UA_PROP_TYPE_UNKNOWN',          0x00); 
    29 define('UA_PROP_TYPE_BROWSER_COMPUTER', 0x01); 
    30 define('UA_PROP_TYPE_BROWSER_MOBILE',   0x02); 
    31 define('UA_PROP_TYPE_BROWSER_CONSOLE',  0x03); 
    32 define('UA_PROP_TYPE_CRAWLER',          0x04); 
     41 * -- UA_DATA_BROWSER_TYPE -- 
     42 * Indexes for UA_DATA_BROWSER_TYPE information (computer, mobile, console, ...) 
     43 */ 
     44define('UA_BROWSER_TYPE_UNKNOWN',   0x00); 
     45define('UA_BROWSER_TYPE_COMPUTER', 0x01); 
     46define('UA_BROWSER_TYPE_MOBILE',    0x02); 
     47define('UA_BROWSER_TYPE_CONSOLE',   0x03); 
     48define('UA_BROWSER_TYPE_CRAWLER',   0x04); 
    3349 
    3450/** 
     
    6278define('UA_BOT_INKTOMI',              0x0018); 
    6379define('UA_BOT_YAHOO_SEARCH',         0x0019); 
    64 define('UA_BOT_ACCOONA_AI_AGENT',     0x0020); 
     80define('UA_BOT_ACCOONA_AI_AGENT',     0x001A); 
     81define('UA_BOT_LWEBIS',               0x001B); 
     82define('UA_BOT_LARBIN',               0x001C); 
     83define('UA_BOT_LINKWALKER',           0x001D); 
     84define('UA_BOT_LWPTRIVIAL',           0x001E); 
     85define('UA_BOT_MABONLAND',            0x001F); 
     86define('UA_BOT_MNOGOSEARCH',          0x0020); 
     87define('UA_BOT_MOGIMOGI',             0x0021); 
     88define('UA_BOT_MORNINGPAPER',         0x0022); 
     89define('UA_BOT_NETRESEARCHSERVER',    0x0023); 
     90define('UA_BOT_NEWSGATOR',            0x0024); 
     91define('UA_BOT_NGSEARCH',             0x0025); 
     92define('UA_BOT_NYMESIS',              0x0026); 
     93define('UA_BOT_OEGP',                 0x0027); 
     94define('UA_BOT_POMPOS',               0x0028); 
     95define('UA_BOT_PYCURL',               0x0029); 
     96define('UA_BOT_QSEERO',               0x002A); 
     97define('UA_BOT_SBIDER',               0x002B); 
     98define('UA_BOT_SCOUTJET',             0x002C); 
     99define('UA_BOT_SCRUBBY',              0x002D); 
     100define('UA_BOT_SEARCHSIGHT',          0x002E); 
     101define('UA_BOT_SEMANTICDISCOVERY',    0x002F); 
     102define('UA_BOT_SHOULA',               0x0030); 
     103define('UA_BOT_SNAPPY',               0x0031); 
     104define('UA_BOT_STACKRAMBLER',         0x0032); 
     105define('UA_BOT_SILK',                 0x0033); 
     106define('UA_BOT_TEOMA',                0x0034); 
     107define('UA_BOT_TINEYE',               0x0035); 
     108define('UA_BOT_TRUWOGPS',             0x0036); 
     109define('UA_BOT_UPDATED',              0x0037); 
     110define('UA_BOT_VOYAGER',              0x0038); 
     111define('UA_BOT_VYU2',                 0x0039); 
     112define('UA_BOT_WEBCOLLAGE',           0x003A); 
     113define('UA_BOT_YOOGLIFETCHAGENT',     0x003B); 
     114define('UA_BOT_ZAO',                  0x003C); 
     115define('UA_BOT_ZEALBOT',              0x003D); 
     116 
    65117 
    66118/** 
     
    142194define('UA_OS_SONY_PS3',              0x10); 
    143195define('UA_OS_SONY_PSP',              0x11); 
     196define('UA_OS_CHROME_OS',             0x12); 
     197define('UA_OS_BE_OS',                 0x13); 
     198define('UA_OS_DRAGONFLY',             0x14); 
     199define('UA_OS_UNIX',                  0x15); 
     200define('UA_OS_DARWIN',                0x16); 
     201define('UA_OS_OS2',                   0x17); 
     202define('UA_OS_AMIGAOS',               0x18); 
     203 
     204 
     205/** 
     206 * -- UA_OS_TYPE -- 
     207 * Known OS type 
     208 */ 
     209define('UA_OS_TYPE_UNKNOWN',          0x00); 
     210define('UA_OS_TYPE_LINUX',            0x01); 
     211define('UA_OS_TYPE_BSD',              0x02); 
     212define('UA_OS_TYPE_UNIX',             0x03); 
     213define('UA_OS_TYPE_WINDOWS',          0x04); 
     214define('UA_OS_TYPE_OS2',              0x05); 
     215 
     216 
    144217 
    145218/** 
     
    157230$UA_BrowserInfo=array( 
    158231  UA_DATA => array( 
    159             UA_DATA_BOT     => array(UA_PROP_NAME => 'Robot'), 
    160232            UA_DATA_BROWSER => array(UA_PROP_NAME => 'Browser'), 
    161233            UA_DATA_ENGINE  => array(UA_PROP_NAME => 'Engine'), 
     
    163235          ), 
    164236  UA_DATA_BROWSER=> array( 
    165             UA_BOT_UNKNOWN           => array(UA_PROP_NAME => 'Unknown',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    166  
    167             UA_BOT_008               => array(UA_PROP_NAME => '008',                  UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    168             UA_BOT_ABACHOBOT         => array(UA_PROP_NAME => 'ABACHOBot',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    169             UA_BOT_ACCOONA_AI_AGENT  => array(UA_PROP_NAME => 'Accoona-AI-Agent',     UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    170             UA_BOT_ARACHMO           => array(UA_PROP_NAME => 'Arachmo',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    171             UA_BOT_BLITZBOT          => array(UA_PROP_NAME => 'BlitzBOT',             UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    172             UA_BOT_MICROSOFT_BING    => array(UA_PROP_NAME => 'Microsoft Bing',       UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    173             UA_BOT_CHARLOTTE         => array(UA_PROP_NAME => 'Charlotte',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    174             UA_BOT_CERBERIAN_DRTRS   => array(UA_PROP_NAME => 'Cerberian Drtrs',      UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    175             UA_BOT_COSMOS            => array(UA_PROP_NAME => 'Cosmos',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    176             UA_BOT_COVARIO_IDS       => array(UA_PROP_NAME => 'Covario IDS',          UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    177             UA_BOT_DATAPARKSEARCH    => array(UA_PROP_NAME => 'DataparkSearch',       UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    178             UA_BOT_GAISBOT           => array(UA_PROP_NAME => 'Gaisbot',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    179             UA_BOT_GOOGLE            => array(UA_PROP_NAME => 'Google',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    180             UA_BOT_GURUJIBOT         => array(UA_PROP_NAME => 'GurujiBot',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    181             UA_BOT_HOLMES            => array(UA_PROP_NAME => 'Holmes',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    182             UA_BOT_HTDIG             => array(UA_PROP_NAME => 'htdig',                UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    183             UA_BOT_IA_ARCHIVER       => array(UA_PROP_NAME => 'ia_archiver',          UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    184             UA_BOT_ICCRAWLER         => array(UA_PROP_NAME => 'iCCrawler',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    185             UA_BOT_ICHIRO            => array(UA_PROP_NAME => 'Ichiro',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    186             UA_BOT_BAIDU             => array(UA_PROP_NAME => 'Baidu',                UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    187             UA_BOT_MSN_SEARCH        => array(UA_PROP_NAME => 'Microsoft MSN Search', UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    188             UA_BOT_EXALEAD           => array(UA_PROP_NAME => 'Exalead',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    189             UA_BOT_GAMESPY           => array(UA_PROP_NAME => 'GameSpy',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    190             UA_BOT_INKTOMI           => array(UA_PROP_NAME => 'Inktomi',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    191             UA_BOT_YAHOO_SEARCH      => array(UA_PROP_NAME => 'Yahoo! Search',        UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''), 
    192  
    193  
    194             UA_BROWSER_UNKNOWN       => array(UA_PROP_NAME => 'Unknown',              UA_PROP_TYPE=>UA_PROP_TYPE_UNKNOWN, UA_PROP_URL => ''), 
    195  
    196             UA_BROWSER_ANDROID_WEBKIT=> array(UA_PROP_NAME => 'Android WebKit Browser',  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    197             UA_BROWSER_OPERA_MINI    => array(UA_PROP_NAME => 'Opera Mini',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.opera.com/'), 
    198             UA_BROWSER_OPERA_MOBILE  => array(UA_PROP_NAME => 'Opera Mobile',            UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.opera.com/'), 
    199             UA_BROWSER_BLACKBERRY    => array(UA_PROP_NAME => 'BlackBerry',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://worldwide.blackberry.com/'), 
    200             UA_BROWSER_FENNEC        => array(UA_PROP_NAME => 'Fennec',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    201             UA_BROWSER_GOBROWSER     => array(UA_PROP_NAME => 'Go Browser',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.3g.cn/'), 
    202             UA_BROWSER_IEMOBILE      => array(UA_PROP_NAME => 'IE Mobile',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    203             UA_BROWSER_IRIS          => array(UA_PROP_NAME => 'Iris',                    UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.torchmobile.com/'), 
    204             UA_BROWSER_MAEMO_BROWSER => array(UA_PROP_NAME => 'Maemo Browser',           UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    205             UA_BROWSER_MIB           => array(UA_PROP_NAME => 'MIB',                     UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.useragentstring.com/pages/MIB/www.motorola.com'), 
    206             UA_BROWSER_MINIMO        => array(UA_PROP_NAME => 'Minimo',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    207             UA_BROWSER_NETFRONT      => array(UA_PROP_NAME => 'NetFront',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.access-company.com/'), 
    208             UA_BROWSER_SEMC          => array(UA_PROP_NAME => 'SEMC-Browser',            UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    209             UA_BROWSER_TEASHARK      => array(UA_PROP_NAME => 'TeaShark',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    210             UA_BROWSER_SKYFIRE       => array(UA_PROP_NAME => 'Skyfire',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''), 
    211  
    212             UA_BROWSER_PS3           => array(UA_PROP_NAME => 'Playstation 3',           UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''), 
    213             UA_BROWSER_PSP           => array(UA_PROP_NAME => 'Playstation Portable',    UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''), 
    214             UA_BROWSER_BUNJALLOO     => array(UA_PROP_NAME => 'Bunjalloo',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''), 
    215             UA_BROWSER_OPERA_WII     => array(UA_PROP_NAME => 'Opera',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''), 
    216  
    217             UA_BROWSER_OPERA         => array(UA_PROP_NAME => 'Opera',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.opera.com/'), 
    218             UA_BROWSER_SHIIRA        => array(UA_PROP_NAME => 'Shiira',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://shiira.jp/en'), 
    219             UA_BROWSER_THUNDERBIRD   => array(UA_PROP_NAME => 'Thunderbird',            UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    220             UA_BROWSER_NAMOROKA      => array(UA_PROP_NAME => 'Namoroka',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'https://wiki.mozilla.org/Firefox/Namoroka'), 
    221             UA_BROWSER_MINEFIELD     => array(UA_PROP_NAME => 'Minefield',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.mozilla.org/projects/minefield/'), 
    222             UA_BROWSER_LUNASCAPE     => array(UA_PROP_NAME => 'Lunascape',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    223             UA_BROWSER_ARORA         => array(UA_PROP_NAME => 'Arora',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    224             UA_BROWSER_CAMINO        => array(UA_PROP_NAME => 'Camino',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://caminobrowser.org/'), 
    225             UA_BROWSER_KAPIKO        => array(UA_PROP_NAME => 'Kapiko',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://ufoxlab.googlepages.com/cooperation'), 
    226             UA_BROWSER_KAZEHAKAZE    => array(UA_PROP_NAME => 'Kazehakase',             UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    227             UA_BROWSER_CHROMEPLUS    => array(UA_PROP_NAME => 'ChromePlus',             UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    228             UA_BROWSER_CHROME        => array(UA_PROP_NAME => 'Chrome',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.google.com/chrome'), 
    229             UA_BROWSER_EPIPHANY      => array(UA_PROP_NAME => 'Epiphany',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    230             UA_BROWSER_GALEON        => array(UA_PROP_NAME => 'Galeon',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    231             UA_BROWSER_ORCA          => array(UA_PROP_NAME => 'Orca',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    232             UA_BROWSER_LOBO          => array(UA_PROP_NAME => 'Lobo',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    233             UA_BROWSER_SEAMONKEY     => array(UA_PROP_NAME => 'SeaMonkey',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    234             UA_BROWSER_MIDORI        => array(UA_PROP_NAME => 'Midori',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    235             UA_BROWSER_MAXTHON       => array(UA_PROP_NAME => 'Maxthon',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    236             UA_BROWSER_ICEAPE        => array(UA_PROP_NAME => 'Iceape',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    237             UA_BROWSER_ICEWEASEL     => array(UA_PROP_NAME => 'Iceweasel',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    238             UA_BROWSER_NETSCAPE      => array(UA_PROP_NAME => 'Netscape',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    239             UA_BROWSER_FIREBIRD      => array(UA_PROP_NAME => 'Firebird',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    240             UA_BROWSER_FIREFOX       => array(UA_PROP_NAME => 'Firefox',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.firefox.com/'), 
    241             UA_BROWSER_INTERNET_EXPLORER=> array(UA_PROP_NAME => 'Internet Explorer',   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.getthunderbird.com/'), 
    242             UA_BROWSER_KONQUEROR     => array(UA_PROP_NAME => 'Konqueror',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    243             UA_BROWSER_LINKS         => array(UA_PROP_NAME => 'Links',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    244             UA_BROWSER_LYNX          => array(UA_PROP_NAME => 'Lynx',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    245             UA_BROWSER_SAFARI        => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''), 
    246             UA_BROWSER_SAFARI_MOBILE => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => '') 
     237            UA_BOT_UNKNOWN           => array(UA_PROP_NAME => 'Unknown',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     238 
     239            UA_BOT_008               => array(UA_PROP_NAME => '008',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.80legs.com'), 
     240            UA_BOT_ABACHOBOT         => array(UA_PROP_NAME => 'ABACHOBot',            UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.abacho.com'), 
     241            UA_BOT_ACCOONA_AI_AGENT  => array(UA_PROP_NAME => 'Accoona-AI-Agent',     UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.accoona.com'), 
     242            UA_BOT_ARACHMO           => array(UA_PROP_NAME => 'Arachmo',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     243            UA_BOT_BLITZBOT          => array(UA_PROP_NAME => 'BlitzBOT',             UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     244            UA_BOT_MICROSOFT_BING    => array(UA_PROP_NAME => 'Microsoft Bing',       UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.bing.com/bingbot.htm'), 
     245            UA_BOT_CHARLOTTE         => array(UA_PROP_NAME => 'Charlotte',            UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.searchme.com'), 
     246            UA_BOT_CERBERIAN_DRTRS   => array(UA_PROP_NAME => 'Cerberian Drtrs',      UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     247            UA_BOT_COSMOS            => array(UA_PROP_NAME => 'Cosmos',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.xyleme.com/'), 
     248            UA_BOT_COVARIO_IDS       => array(UA_PROP_NAME => 'Covario IDS',          UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.covario.com/ids'), 
     249            UA_BOT_DATAPARKSEARCH    => array(UA_PROP_NAME => 'DataparkSearch',       UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.dataparksearch.org'), 
     250            UA_BOT_GAISBOT           => array(UA_PROP_NAME => 'Gaisbot',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://gais.cs.ccu.edu.tw/'), 
     251            UA_BOT_GOOGLE            => array(UA_PROP_NAME => 'Google',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.google.com/bot.html'), 
     252            UA_BOT_GURUJIBOT         => array(UA_PROP_NAME => 'GurujiBot',            UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.guruji.com/en/WebmasterFAQ.html'), 
     253            UA_BOT_HOLMES            => array(UA_PROP_NAME => 'Holmes',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.ucw.cz/holmes'), 
     254            UA_BOT_HTDIG             => array(UA_PROP_NAME => 'htdig',                UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://htdig.sourceforge.net'), 
     255            UA_BOT_IA_ARCHIVER       => array(UA_PROP_NAME => 'ia_archiver',          UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.alexa.com/'), 
     256            UA_BOT_ICCRAWLER         => array(UA_PROP_NAME => 'iCCrawler',            UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.iccenter.net/bot.htm'), 
     257            UA_BOT_ICHIRO            => array(UA_PROP_NAME => 'Ichiro',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://help.goo.ne.jp/door/crawler.html'), 
     258            UA_BOT_BAIDU             => array(UA_PROP_NAME => 'Baidu',                UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.baidu.com'), 
     259            UA_BOT_MSN_SEARCH        => array(UA_PROP_NAME => 'Microsoft MSN Search', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://search.msn.com/msnbot.htm'), 
     260            UA_BOT_EXALEAD           => array(UA_PROP_NAME => 'Exalead',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     261            UA_BOT_GAMESPY           => array(UA_PROP_NAME => 'GameSpy',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     262            UA_BOT_INKTOMI           => array(UA_PROP_NAME => 'Inktomi',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     263            UA_BOT_YAHOO_SEARCH      => array(UA_PROP_NAME => 'Yahoo! Search',        UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.yahoo.com/'), 
     264            UA_BOT_LWEBIS            => array(UA_PROP_NAME => 'L.webis',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://webalgo.iit.cnr.it/index.php?pg=lwebis'), 
     265            UA_BOT_LARBIN            => array(UA_PROP_NAME => 'Larbin',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     266            UA_BOT_LINKWALKER        => array(UA_PROP_NAME => 'LinkWalker',           UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.seventwentyfour.com/'), 
     267            UA_BOT_LWPTRIVIAL        => array(UA_PROP_NAME => 'lwp-trivial',          UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     268            UA_BOT_MABONLAND         => array(UA_PROP_NAME => 'Mabontland',           UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.mabontland.com'), 
     269            UA_BOT_MNOGOSEARCH       => array(UA_PROP_NAME => 'Mnogosearch',          UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://mnogosearch.org'), 
     270            UA_BOT_MOGIMOGI          => array(UA_PROP_NAME => 'mogimogi',             UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     271            UA_BOT_MORNINGPAPER      => array(UA_PROP_NAME => 'Morning Paper',        UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.boutell.com'), 
     272            UA_BOT_NETRESEARCHSERVER => array(UA_PROP_NAME => 'NetResearchServer',    UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.loopimprovements.com'), 
     273            UA_BOT_NEWSGATOR         => array(UA_PROP_NAME => 'NewsGator',            UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.newsgator.com'), 
     274            UA_BOT_NGSEARCH          => array(UA_PROP_NAME => 'NG-Search',            UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.ng-search.com'), 
     275            UA_BOT_NYMESIS           => array(UA_PROP_NAME => 'Nymesis',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.nymesis.com'), 
     276            UA_BOT_OEGP              => array(UA_PROP_NAME => 'oegp',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     277            UA_BOT_POMPOS            => array(UA_PROP_NAME => 'Pompos',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://dir.com/pompos.html'), 
     278            UA_BOT_PYCURL            => array(UA_PROP_NAME => 'PycURL',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://pycurl.sourceforge.net'), 
     279            UA_BOT_QSEERO            => array(UA_PROP_NAME => 'Qseero',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     280            UA_BOT_SBIDER            => array(UA_PROP_NAME => 'SBIder',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.sitesell.com'), 
     281            UA_BOT_SCOUTJET          => array(UA_PROP_NAME => 'ScoutJet',             UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.scoutjet.com'), 
     282            UA_BOT_SCRUBBY           => array(UA_PROP_NAME => 'Scrubby',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.scrubtheweb.com'), 
     283            UA_BOT_SEARCHSIGHT       => array(UA_PROP_NAME => 'SearchSight',          UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://searchsight.com'), 
     284            UA_BOT_SEMANTICDISCOVERY => array(UA_PROP_NAME => 'semanticdiscovery',    UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     285            UA_BOT_SHOULA            => array(UA_PROP_NAME => 'Shoula',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     286            UA_BOT_SNAPPY            => array(UA_PROP_NAME => 'Snappy',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.urltrends.com'), 
     287            UA_BOT_STACKRAMBLER      => array(UA_PROP_NAME => 'StackRambler',         UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     288            UA_BOT_SILK              => array(UA_PROP_NAME => 'Silk',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.slider.com/silk.htm'), 
     289            UA_BOT_TEOMA             => array(UA_PROP_NAME => 'Teoma',                UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://sp.ask.com/docs/about/tech_crawling.html'), 
     290            UA_BOT_TINEYE            => array(UA_PROP_NAME => 'TinEye',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://tineye.com/crawler.html'), 
     291            UA_BOT_TRUWOGPS          => array(UA_PROP_NAME => 'truwoGPS',             UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.lan4lano.net/browser.html'), 
     292            UA_BOT_UPDATED           => array(UA_PROP_NAME => 'updated',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.updated.com'), 
     293            UA_BOT_VOYAGER           => array(UA_PROP_NAME => 'voyager',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.kosmix.com/crawler.html'), 
     294            UA_BOT_VYU2              => array(UA_PROP_NAME => 'vyu2',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     295            UA_BOT_WEBCOLLAGE        => array(UA_PROP_NAME => 'WebCollage',           UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     296            UA_BOT_YOOGLIFETCHAGENT  => array(UA_PROP_NAME => 'yoogliFetchAgent',     UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     297            UA_BOT_ZAO               => array(UA_PROP_NAME => 'Zao',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.kototoi.org/zao'), 
     298            UA_BOT_ZEALBOT           => array(UA_PROP_NAME => 'Zealbot',              UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 
     299 
     300 
     301            UA_BROWSER_UNKNOWN       => array(UA_PROP_NAME => 'Unknown',              UA_PROP_TYPE=>UA_BROWSER_TYPE_UNKNOWN, UA_PROP_URL => ''), 
     302 
     303            UA_BROWSER_ANDROID_WEBKIT=> array(UA_PROP_NAME => 'Android WebKit Browser',  UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => ''), 
     304            UA_BROWSER_OPERA_MINI    => array(UA_PROP_NAME => 'Opera Mini',              UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.opera.com/'), 
     305            UA_BROWSER_OPERA_MOBILE  => array(UA_PROP_NAME => 'Opera Mobile',            UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.opera.com/'), 
     306            UA_BROWSER_BLACKBERRY    => array(UA_PROP_NAME => 'BlackBerry',              UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://worldwide.blackberry.com'), 
     307            UA_BROWSER_FENNEC        => array(UA_PROP_NAME => 'Fennec',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.mozilla.org/en-US/mobile'), 
     308            UA_BROWSER_GOBROWSER     => array(UA_PROP_NAME => 'Go Browser',              UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.3g.cn/'), 
     309            UA_BROWSER_IEMOBILE      => array(UA_PROP_NAME => 'IE Mobile',               UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => ''), 
     310            UA_BROWSER_IRIS          => array(UA_PROP_NAME => 'Iris',                    UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.torchmobile.com'), 
     311            UA_BROWSER_MAEMO_BROWSER => array(UA_PROP_NAME => 'Maemo Browser',           UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://browser.garage.maemo.org'), 
     312            UA_BROWSER_MIB           => array(UA_PROP_NAME => 'MIB',                     UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.useragentstring.com/pages/MIB/www.motorola.com'), 
     313            UA_BROWSER_MINIMO        => array(UA_PROP_NAME => 'Minimo',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www-archive.mozilla.org/projects/minimo/'), 
     314            UA_BROWSER_NETFRONT      => array(UA_PROP_NAME => 'NetFront',                UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.access-company.com'), 
     315            UA_BROWSER_SEMC          => array(UA_PROP_NAME => 'SEMC-Browser',            UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => ''), 
     316            UA_BROWSER_TEASHARK      => array(UA_PROP_NAME => 'TeaShark',                UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.navire.fi/teashark/index.html'), 
     317            UA_BROWSER_SKYFIRE       => array(UA_PROP_NAME => 'Skyfire',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.skyfire.com'), 
     318            UA_BROWSER_SAFARI_MOBILE => array(UA_PROP_NAME => 'Safari',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.apple.com/safari'), 
     319 
     320            UA_BROWSER_PS3           => array(UA_PROP_NAME => 'Playstation 3',           UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://us.playstation.com/ps3'), 
     321            UA_BROWSER_PSP           => array(UA_PROP_NAME => 'Playstation Portable',    UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://us.playstation.com/psp'), 
     322            UA_BROWSER_BUNJALLOO     => array(UA_PROP_NAME => 'Bunjalloo',               UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://code.google.com/p/quirkysoft/'), 
     323            UA_BROWSER_OPERA_WII     => array(UA_PROP_NAME => 'Opera',                   UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://www.opera.com'), 
     324 
     325            UA_BROWSER_OPERA         => array(UA_PROP_NAME => 'Opera',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.opera.com'), 
     326            UA_BROWSER_SHIIRA        => array(UA_PROP_NAME => 'Shiira',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://shiira.jp/en'), 
     327            UA_BROWSER_THUNDERBIRD   => array(UA_PROP_NAME => 'Thunderbird',            UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.mozilla.org/thunderbird'), 
     328            UA_BROWSER_NAMOROKA      => array(UA_PROP_NAME => 'Namoroka',               UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'https://wiki.mozilla.org/Firefox/Namoroka'), 
     329            UA_BROWSER_MINEFIELD     => array(UA_PROP_NAME => 'Minefield',              UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.mozilla.org/projects/minefield'), 
     330            UA_BROWSER_LUNASCAPE     => array(UA_PROP_NAME => 'Lunascape',              UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.lunascape.tv'), 
     331            UA_BROWSER_ARORA         => array(UA_PROP_NAME => 'Arora',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://code.google.com/p/arora'), 
     332            UA_BROWSER_CAMINO        => array(UA_PROP_NAME => 'Camino',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://caminobrowser.org'), 
     333            UA_BROWSER_KAPIKO        => array(UA_PROP_NAME => 'Kapiko',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://ufoxlab.googlepages.com/cooperation'), 
     334            UA_BROWSER_KAZEHAKAZE    => array(UA_PROP_NAME => 'Kazehakase',             UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://kazehakase.sourceforge.jp'), 
     335            UA_BROWSER_CHROMEPLUS    => array(UA_PROP_NAME => 'ChromePlus',             UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://coolnovo.com'), 
     336            UA_BROWSER_CHROME        => array(UA_PROP_NAME => 'Chrome',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.google.com/chrome'), 
     337            UA_BROWSER_EPIPHANY      => array(UA_PROP_NAME => 'Epiphany',               UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://projects.gnome.org/epiphany'), 
     338            UA_BROWSER_GALEON        => array(UA_PROP_NAME => 'Galeon',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://galeon.sourceforge.net'), 
     339            UA_BROWSER_ORCA          => array(UA_PROP_NAME => 'Orca',                   UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.orcabrowser.com'), 
     340            UA_BROWSER_LOBO          => array(UA_PROP_NAME => 'Lobo',                   UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://lobobrowser.org'), 
     341            UA_BROWSER_SEAMONKEY     => array(UA_PROP_NAME => 'SeaMonkey',              UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.seamonkey-project.org'), 
     342            UA_BROWSER_MIDORI        => array(UA_PROP_NAME => 'Midori',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://twotoasts.de/?/pages/midori_summary.html'), 
     343            UA_BROWSER_MAXTHON       => array(UA_PROP_NAME => 'Maxthon',                UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.maxthon.com'), 
     344            UA_BROWSER_ICEAPE        => array(UA_PROP_NAME => 'Iceape',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://packages.debian.org/fr/squeeze/iceape-browser'), 
     345            UA_BROWSER_ICEWEASEL     => array(UA_PROP_NAME => 'Iceweasel',              UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.geticeweasel.org'), 
     346            UA_BROWSER_NETSCAPE      => array(UA_PROP_NAME => 'Netscape',               UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://isp.netscape.com'), 
     347            UA_BROWSER_FIREBIRD      => array(UA_PROP_NAME => 'Firebird',               UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.firefox.com'), 
     348            UA_BROWSER_FIREFOX       => array(UA_PROP_NAME => 'Firefox',                UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.firefox.com'), 
     349            UA_BROWSER_INTERNET_EXPLORER=> array(UA_PROP_NAME => 'Internet Explorer',   UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://windows.microsoft.com/en-us/internet-explorer/products/ie/home'), 
     350            UA_BROWSER_KONQUEROR     => array(UA_PROP_NAME => 'Konqueror',              UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.konqueror.org'), 
     351            UA_BROWSER_LINKS         => array(UA_PROP_NAME => 'Links',                  UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.jikos.cz/~mikulas/links'), 
     352            UA_BROWSER_LYNX          => array(UA_PROP_NAME => 'Lynx',                   UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://lynx.browser.org'), 
     353            UA_BROWSER_SAFARI        => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.apple.com/safari') 
    247354          ), 
    248355 
    249356  UA_DATA_OS => array( 
    250             UA_OS_UNKNOWN            => array(UA_PROP_NAME => 'Unknown',                UA_PROP_URL=>''), 
    251             UA_OS_LINUX              => array(UA_PROP_NAME => 'Linux',                  UA_PROP_URL=>'http://www.linux.com'), 
    252             UA_OS_FREEBSD            => array(UA_PROP_NAME => 'FreeBSD',                UA_PROP_URL=>'http://www.freebsd.org/'), 
    253             UA_OS_OPENBSD            => array(UA_PROP_NAME => 'OpenBSD',                UA_PROP_URL=>'http://www.openbsd.org/'), 
    254             UA_OS_NETBSD             => array(UA_PROP_NAME => 'NetBSD',                 UA_PROP_URL=>'http://www.netbsd.org/'), 
    255             UA_OS_WINDOWS            => array(UA_PROP_NAME => 'Windows',                UA_PROP_URL=>'http://windows.microsoft.com/'), 
    256             UA_OS_SUNOS              => array(UA_PROP_NAME => 'SunOS',                  UA_PROP_URL=>''), 
    257             UA_OS_BLACKBERRY         => array(UA_PROP_NAME => 'Blackberry OS',          UA_PROP_URL=>'http://us.blackberry.com/apps-software/devices'), 
    258             UA_OS_SYMBIAN_OS         => array(UA_PROP_NAME => 'Symbian OS',             UA_PROP_URL=>'http://symbian.nokia.com/'), 
    259             UA_OS_SYMBOS             => array(UA_PROP_NAME => 'SymbOS',                 UA_PROP_URL=>'http://www.symbos.de/'), 
    260             UA_OS_MACINTOSH          => array(UA_PROP_NAME => 'Macintosh',              UA_PROP_URL=>'http://www.apple.com/'), 
    261             UA_OS_MAC_OS_X           => array(UA_PROP_NAME => 'Mac OS X',               UA_PROP_URL=>'http://www.apple.com/'), 
    262             UA_OS_ANDROID            => array(UA_PROP_NAME => 'Android',                UA_PROP_URL=>'http://www.android.com/'), 
    263             UA_OS_IOS                => array(UA_PROP_NAME => 'iOS',                    UA_PROP_URL=>'http://www.apple.com/'), 
    264             UA_OS_NINTENDO_DS        => array(UA_PROP_NAME => 'Nintendo DS',            UA_PROP_URL=>''), 
    265             UA_OS_NINTENDO_WII       => array(UA_PROP_NAME => 'Nintendo Wii',           UA_PROP_URL=>''), 
    266             UA_OS_SONY_PS3           => array(UA_PROP_NAME => 'Sony PS3',               UA_PROP_URL=>''), 
    267             UA_OS_SONY_PSP           => array(UA_PROP_NAME => 'Sony PSP',               UA_PROP_URL=>'') 
     357            UA_OS_UNKNOWN            => array(UA_PROP_NAME => 'Unknown',                UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>''), 
     358            UA_OS_LINUX              => array(UA_PROP_NAME => 'Linux',                  UA_PROP_TYPE=>UA_OS_TYPE_LINUX,     UA_PROP_URL=>'http://www.linux.com'), 
     359            UA_OS_FREEBSD            => array(UA_PROP_NAME => 'FreeBSD',                UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>'http://www.freebsd.org'), 
     360            UA_OS_OPENBSD            => array(UA_PROP_NAME => 'OpenBSD',                UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>'http://www.openbsd.org'), 
     361            UA_OS_NETBSD             => array(UA_PROP_NAME => 'NetBSD',                 UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>'http://www.netbsd.org'), 
     362            UA_OS_WINDOWS            => array(UA_PROP_NAME => 'Windows',                UA_PROP_TYPE=>UA_OS_TYPE_WINDOWS,   UA_PROP_URL=>'http://windows.microsoft.com'), 
     363            UA_OS_SUNOS              => array(UA_PROP_NAME => 'SunOS',                  UA_PROP_TYPE=>UA_OS_TYPE_UNIX,      UA_PROP_URL=>''), 
     364            UA_OS_BLACKBERRY         => array(UA_PROP_NAME => 'Blackberry OS',          UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://us.blackberry.com/apps-software/devices'), 
     365            UA_OS_SYMBIAN_OS         => array(UA_PROP_NAME => 'Symbian OS',             UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://symbian.nokia.com'), 
     366            UA_OS_SYMBOS             => array(UA_PROP_NAME => 'SymbOS',                 UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://www.symbos.de'), 
     367            UA_OS_MACINTOSH          => array(UA_PROP_NAME => 'Macintosh',              UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://www.apple.com'), 
     368            UA_OS_MAC_OS_X           => array(UA_PROP_NAME => 'Mac OS X',               UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>'http://www.apple.com'), 
     369            UA_OS_ANDROID            => array(UA_PROP_NAME => 'Android',                UA_PROP_TYPE=>UA_OS_TYPE_LINUX,     UA_PROP_URL=>'http://www.android.com'), 
     370            UA_OS_IOS                => array(UA_PROP_NAME => 'iOS',                    UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://www.apple.com'), 
     371            UA_OS_NINTENDO_DS        => array(UA_PROP_NAME => 'Nintendo DS',            UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://www.nintendo.com/ds'), 
     372            UA_OS_NINTENDO_WII       => array(UA_PROP_NAME => 'Nintendo Wii',           UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://www.nintendo.com/wii'), 
     373            UA_OS_SONY_PS3           => array(UA_PROP_NAME => 'Sony PS3',               UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://us.playstation.com/ps3'), 
     374            UA_OS_SONY_PSP           => array(UA_PROP_NAME => 'Sony PSP',               UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://us.playstation.com/psp'), 
     375            UA_OS_CHROME_OS          => array(UA_PROP_NAME => 'Chrome OS',              UA_PROP_TYPE=>UA_OS_TYPE_LINUX,     UA_PROP_URL=>''), 
     376            UA_OS_BE_OS              => array(UA_PROP_NAME => 'BeOS',                   UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>''), 
     377            UA_OS_DRAGONFLY          => array(UA_PROP_NAME => 'DragonFly BSD',          UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>'http://www.dragonflybsd.org'), 
     378            UA_OS_UNIX               => array(UA_PROP_NAME => 'UNIX',                   UA_PROP_TYPE=>UA_OS_TYPE_UNIX,      UA_PROP_URL=>''), 
     379            UA_OS_DARWIN             => array(UA_PROP_NAME => 'Darwin',                 UA_PROP_TYPE=>UA_OS_TYPE_BSD,       UA_PROP_URL=>'developer.apple.com/darwin'), 
     380            UA_OS_OS2                => array(UA_PROP_NAME => 'IBM OS/2',               UA_PROP_TYPE=>UA_OS_TYPE_OS2,       UA_PROP_URL=>''), 
     381            UA_OS_AMIGAOS            => array(UA_PROP_NAME => 'AmigaOS',                UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN,   UA_PROP_URL=>'http://amiga.com') 
    268382          ), 
    269383  UA_DATA_ENGINE => array( 
    270             UA_ENGINE_UNKNOWN        => array(UA_PROP_NAME => 'Unknown'), 
    271             UA_ENGINE_GECKO          => array(UA_PROP_NAME => 'Gecko'), 
    272             UA_ENGINE_KHTML          => array(UA_PROP_NAME => 'KHTML'), 
    273             UA_ENGINE_PRESTO         => array(UA_PROP_NAME => 'Presto'), 
    274             UA_ENGINE_APPLEWEBKIT    => array(UA_PROP_NAME => 'AppleWebKit'), 
    275             UA_ENGINE_WEBKIT         => array(UA_PROP_NAME => 'WebKit'), 
    276             UA_ENGINE_TRIDENT        => array(UA_PROP_NAME => 'Trident') 
     384            UA_ENGINE_UNKNOWN        => array(UA_PROP_NAME => 'Unknown',                UA_PROP_URL=>''), 
     385            UA_ENGINE_GECKO          => array(UA_PROP_NAME => 'Gecko',                  UA_PROP_URL=>'https://developer.mozilla.org/en/Gecko'), 
     386            UA_ENGINE_KHTML          => array(UA_PROP_NAME => 'KHTML',                  UA_PROP_URL=>'http://api.kde.org/3.5-api/kdelibs-apidocs/khtml/html/index.html'), 
     387            UA_ENGINE_PRESTO         => array(UA_PROP_NAME => 'Presto',                 UA_PROP_URL=>'http://dev.opera.com/articles/view/presto-2-1-web-standards-supported-by'), 
     388            UA_ENGINE_APPLEWEBKIT    => array(UA_PROP_NAME => 'AppleWebKit',            UA_PROP_URL=>''), 
     389            UA_ENGINE_WEBKIT         => array(UA_PROP_NAME => 'WebKit',                 UA_PROP_URL=>'http://www.webkit.org'), 
     390            UA_ENGINE_TRIDENT        => array(UA_PROP_NAME => 'Trident',                UA_PROP_URL=>'http://msdn.microsoft.com/en-us/library/aa741317.aspx') 
    277391          ), 
    278392 
    279   UA_DATA_PROP_NAME => array( 
    280             UA_PROP_TYPE_UNKNOWN          => 'Unknown', 
    281             UA_PROP_TYPE_BROWSER_COMPUTER => 'Computer', 
    282             UA_PROP_TYPE_BROWSER_CONSOLE  => 'Console', 
    283             UA_PROP_TYPE_BROWSER_MOBILE   => 'Mobile', 
    284             UA_PROP_TYPE_CRAWLER          => 'Crawler' 
     393  UA_DATA_BROWSER_TYPE => array( 
     394            UA_BROWSER_TYPE_UNKNOWN  => 'Unknown', 
     395            UA_BROWSER_TYPE_COMPUTER => 'Computer', 
     396            UA_BROWSER_TYPE_CONSOLE  => 'Console', 
     397            UA_BROWSER_TYPE_MOBILE   => 'Mobile', 
     398            UA_BROWSER_TYPE_CRAWLER  => 'Crawler' 
     399          ), 
     400 
     401  UA_DATA_OS_TYPE => array( 
     402            UA_OS_TYPE_UNKNOWN  => 'Unknown', 
     403            UA_OS_TYPE_LINUX    => 'Linux', 
     404            UA_OS_TYPE_BSD      => 'BSD', 
     405            UA_OS_TYPE_UNIX     => 'Unix', 
     406            UA_OS_TYPE_WINDOWS  => 'Windows', 
     407            UA_OS_TYPE_OS2      => 'OS/2' 
    285408          ) 
     409 
    286410); 
    287411 
  • extensions/GrumPluginClasses/js/markup.formMail.js

    r12215 r16458  
    1010 * Author     : Grum 
    1111 *   email    : grum@piwigo.com 
    12  *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12 *   website  : http://www.grum.fr 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/js/markup.tabs.js

    r12215 r16458  
    1010 * Author     : Grum 
    1111 *   email    : grum@piwigo.com 
    12  *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12 *   website  : http://www.grum.fr 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/js/pagesNavigator.js

    r7175 r16458  
    1010 * Author     : Grum 
    1111 *   email    : grum@piwigo.com 
    12  *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12 *   website  : http://www.grum.fr 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/js/rbCriteriaBuilder.js

    r16012 r16458  
    1010 * Author     : Grum 
    1111 *   email    : grum@piwigo.com 
    12  *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12 *   website  : http://www.grum.fr 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/js/rbSearch.js

    r16012 r16458  
    1010 * Author     : Grum 
    1111 *   email    : grum@piwigo.com 
    12  *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12 *   website  : http://www.grum.fr 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
  • extensions/GrumPluginClasses/js/simpleTip.js

    r16012 r16458  
    1010 * Author     : Grum 
    1111 *   email    : grum@piwigo.com 
    12  *   website  : http://photos.grum.fr 
    13  *   PWG user : http://forum.phpwebgallery.net/profile.php?id=3706 
     12 *   website  : http://www.grum.fr 
    1413 * 
    1514 *   << May the Little SpaceFrog be with you ! >> 
Note: See TracChangeset for help on using the changeset viewer.