Changeset 17562 for extensions
- Timestamp:
- Aug 14, 2012, 9:55:13 PM (12 years ago)
- Location:
- extensions/GrumPluginClasses
- Files:
-
- 10 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/GrumPluginClasses/classes/GPCCore.class.inc.php
r16733 r17562 3 3 /* ----------------------------------------------------------------------------- 4 4 class name : GPCCore 5 class version : 1.4. 16 plugin version : 3.5. 27 date : 201 1-09-195 class version : 1.4.2 6 plugin version : 3.5.3 7 date : 2012-07-27 8 8 ------------------------------------------------------------------------------ 9 9 author: grum at piwigo.org … … 60 60 | | | 61 61 | | | * Compatibility with jquery 1.7.2 & jquery-ui 1.8.16 62 | | | . implementgetMinified() & setMinifiedState() functions62 | | | . remove getMinified() & setMinifiedState() functions 63 63 | | | (let piwigo combined function manage the minified 64 64 | | | state) … … 73 73 | | | * AddHeaderCSS and AddJS are ignored if called in an ajax session (AJAX_CALL defined) 74 74 | | | 75 | 1.4.2 | 2012/07/27 | * AddHeaderContent can manage 'raw' content 75 76 | | | 76 77 | | | … … 143 144 Array('name' => "GPCAjax", 'version' => "3.1.0"), 144 145 Array('name' => "GPCCategorySelector", 'version' => "1.0.1"), 145 Array('name' => "GPCCore", 'version' => "1.4. 1"),146 Array('name' => "GPCCore", 'version' => "1.4.2"), 146 147 //Array('name' => "GPCCss", 'version' => "3.1.0"), removed with v1.4.1 147 148 Array('name' => "GPCPagesNavigation", 'version' => "2.0.0"), … … 149 150 Array('name' => "GPCRequestBuilder", 'version' => "1.1.7"), 150 151 Array('name' => "GPCTables", 'version' => "1.5.0"), 151 Array('name' => "GPCTabSheet", 'version' => "1.1. 1"),152 Array('name' => "GPCTabSheet", 'version' => "1.1.2"), 152 153 Array('name' => "GPCTranslate", 'version' => "2.1.1"), 153 154 Array('name' => "GPCUsersGroups", 'version' => "2.1.0"), … … 555 556 /** 556 557 * used to add a js or css directly in the header 558 * use 'raw' type to add any raw data in the header 557 559 * 558 560 * @param String $id : a unique id for the file … … 574 576 case 'js': 575 577 $template->block_html_head(null, '<script type="text/javascript">'.$content.'</script>', $null, $null); 578 break; 579 case 'raw': 580 $template->block_html_head(null, $content); 576 581 break; 577 582 } … … 640 645 static public function addUI($list) 641 646 { 642 global $template ;647 global $template, $lang_info; 643 648 644 649 if(is_string($list)) $list=explode(',', $list); … … 662 667 self::addHeaderCSS('gpc.css', $fileName.'.css', 10); 663 668 self::addHeaderCSS('gpc.cssT', $fileName.'_'.$template->get_themeconf('name').'.css', 15); 669 break; 670 case 'canvasDraw.graph': 671 self::addHeaderCSS('gpc.canvasDrawT', sprintf($themeFile, 'canvasDraw')); 672 self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 673 self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 674 self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget')); 675 self::addHeaderJS('gpc.canvasDraw.commonClasses', GPC_PATH.'js/CanvasDraw.CommonClasses.js', array('jquery.ui.widget')); 676 self::addHeaderJS('gpc.canvasDraw.graphClasses', GPC_PATH.'js/CanvasDraw.GraphClasses.js', array('gpc.canvasDraw.commonClasses')); 677 self::addHeaderJS('gpc.canvasDraw.drawing', GPC_PATH.'js/CanvasDraw.Drawing.js', array('gpc.canvasDraw.graphClasses')); 678 self::addHeaderJS('gpc.canvasDraw', GPC_PATH.'js/canvasDraw.js', array('gpc.canvasDraw.drawing')); 679 self::addHeaderJS('gpc.canvasDraw.drawingGraph', GPC_PATH.'js/canvasDraw.ui.drawingGraph.js', array('gpc.canvasDraw')); 664 680 break; 665 681 case 'categorySelector': … … 715 731 break; 716 732 case 'inputDate': 733 self::addHeaderCSS('jquery.ui.datepicker', 'themes/default/js/ui/theme/jquery.ui.datepicker.css'); 717 734 self::addHeaderCSS('gpc.inputDate', GPC_PATH.'css/inputDate.css'); 718 735 self::addHeaderCSS('gpc.inputDateT', sprintf($themeFile, 'inputDate')); 719 736 self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); 720 self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));737 self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui')); 721 738 self::addHeaderJS('jquery.ui.datepicker', 'themes/default/js/ui/jquery.ui.datepicker.js', array('jquery.ui.widget')); 739 self::addHeaderJS('jquery.ui.datepicker-'.$lang_info['code'], self::getPiwigoSystemPath().'themes/default/js/ui/i18n/jquery.ui.datepicker-'.$lang_info['code'].'.js'); 722 740 self::addHeaderJS('gpc.inputDate', GPC_PATH.'js/ui.inputDate.js', array('jquery.ui.widget')); 723 741 break; … … 730 748 break; 731 749 case 'inputFilterBox': 750 self::addHeaderCSS('jquery.ui.datepicker', 'themes/default/js/ui/theme/jquery.ui.datepicker.css'); 732 751 self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css'); 733 752 self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum')); … … 751 770 self::addHeaderJS('jquery.ui.sortable', 'themes/default/js/ui/jquery.ui.sortable.js', array('jquery.ui.draggable')); 752 771 self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.sortable')); 772 self::addHeaderJS('jquery.ui.datepicker', 'themes/default/js/ui/jquery.ui.datepicker.js', array('jquery.ui.widget')); 773 self::addHeaderJS('jquery.ui.datepicker-'.$lang_info['code'], self::getPiwigoSystemPath().'themes/default/js/ui/i18n/jquery.ui.datepicker-'.$lang_info['code'].'.js'); 753 774 754 775 self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery.ui.dialog')); … … 841 862 break; 842 863 case 'dynamicTable': 864 self::addHeaderCSS('jquery.ui.datepicker', 'themes/default/js/ui/theme/jquery.ui.datepicker.css'); 843 865 self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css'); 844 866 self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum')); … … 855 877 self::addHeaderCSS('gpc.inputPages', GPC_PATH.'css/inputPages.css'); 856 878 self::addHeaderCSS('gpc.inputPagesT', sprintf($themeFile, 'inputPages')); 857 self::addHeaderCSS('gpc. inputDynamicTable', GPC_PATH.'css/inputDynamicTable.css');858 self::addHeaderCSS('gpc. inputDynamicTableT', sprintf($themeFile, 'inputDynamicTable'));879 self::addHeaderCSS('gpc.dynamicTable', GPC_PATH.'css/dynamicTable.css'); 880 self::addHeaderCSS('gpc.dynamicTableT', sprintf($themeFile, 'dynamicTable')); 859 881 860 882 self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery')); … … 867 889 self::addHeaderJS('jquery.ui.sortable', 'themes/default/js/ui/jquery.ui.sortable.js', array('jquery.ui.draggable')); 868 890 self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.sortable')); 891 self::addHeaderJS('jquery.ui.datepicker', 'themes/default/js/ui/jquery.ui.datepicker.js', array('jquery.ui.widget')); 892 self::addHeaderJS('jquery.ui.datepicker-'.$lang_info['code'], self::getPiwigoSystemPath().'themes/default/js/ui/i18n/jquery.ui.datepicker-'.$lang_info['code'].'.js'); 869 893 870 894 self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery.ui.dialog')); -
extensions/GrumPluginClasses/classes/GPCTabSheet.class.inc.php
r7142 r17562 2 2 /* ----------------------------------------------------------------------------- 3 3 class name : GPCTabSheet 4 class version : 1.1. 15 plugin version : 3. 2.16 date : 201 0-10-014 class version : 1.1.2 5 plugin version : 3.5.3 6 date : 2012-08-14 7 7 ------------------------------------------------------------------------------ 8 8 author: grum at piwigo.org … … 19 19 | 1.1.1 | 2010/10/01 | * add attribute 'id' for tabs (<li> items) 20 20 | | | 21 | | | 21 | 1.1.2 | 2012/08/14 | * bug:2723 - set select() function to be compatible with 22 | | | piwigo 2.4.3 22 23 | | | 23 24 | | | … … 52 53 $this->classes=$classes; 53 54 $this->id=$id; 55 $this->set_id($this->id); 54 56 $this->setTplFile($tplFile); 55 57 } … … 139 141 } 140 142 143 144 public function select($name) 145 { 146 /* 147 * override the tabsheet->select() function (to fix bug:2723) 148 */ 149 if($this->id!='') 150 { 151 $this->sheets = trigger_event('gpc_tabsheet_before_select', $this->sheets, $this->id); 152 if (!array_key_exists($name, $this->sheets)) 153 { 154 $keys = array_keys($this->sheets); 155 if(isset($keys[0])) 156 $name = $keys[0]; 157 } 158 } 159 $this->selected = $name; 160 } 161 162 function set_id($id) 163 { 164 /* 165 * override the tabsheet->select() function (to fix bug:2723) 166 */ 167 if(method_exists('tabsheet', 'set_id')) 168 { 169 parent::set_id($id); 170 } 171 else 172 { 173 $this->uniqid = $id; 174 } 175 } 141 176 142 177 /* -
extensions/GrumPluginClasses/classes/GPCUserAgent.class.inc.php
r16458 r17562 25 25 static public function parse($userAgent) 26 26 { 27 global $UA_BrowserInfo;28 29 27 $returned=array( 30 28 UA_DATA_OS => UA_OS_UNKNOWN, … … 33 31 UA_DATA_BROWSER => UA_BOT_UNKNOWN, 34 32 UA_DATA_BROWSER_NAME => '', 35 UA_DATA_BROWSER_TYPE => UA_ PROP_TYPE_UNKNOWN,33 UA_DATA_BROWSER_TYPE => UA_BROWSER_TYPE_UNKNOWN, 36 34 UA_DATA_BROWSER_VERSION => '', 37 35 … … 51 49 $tmp=self::getBrowser($userAgent); 52 50 $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];51 $returned[UA_DATA_BROWSER_TYPE]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER][$tmp[UA_DATA_BROWSER]][UA_PROP_TYPE]; 54 52 $returned[UA_DATA_BROWSER_VERSION]=str_replace(array(';', '(', ')'), array('', '', ''), $tmp[UA_DATA_BROWSER_VERSION]); 55 53 … … 88 86 static public function getProperties($userAgent) 89 87 { 90 global $UA_BrowserInfo;91 92 88 $returned=array(); 93 if(isset($userAgent[UA_DATA_BROWSER]) and isset( $UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]]))89 if(isset($userAgent[UA_DATA_BROWSER]) and isset(GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]])) 94 90 { 95 91 $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];92 $returned[UA_DATA_BROWSER_NAME]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]][UA_PROP_NAME]; 93 $returned[UA_DATA_BROWSER_URL]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]][UA_PROP_URL]; 98 94 } 99 95 100 96 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]]))97 $userAgent[UA_DATA_BROWSER_TYPE]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER][$userAgent[UA_DATA_BROWSER]][UA_PROP_TYPE]; 98 99 if(isset($userAgent[UA_DATA_BROWSER_TYPE]) and isset(GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER_TYPE][$userAgent[UA_DATA_BROWSER_TYPE]])) 104 100 { 105 101 $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]]))102 $returned[UA_DATA_BROWSER_TYPE_NAME]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_BROWSER_TYPE][$userAgent[UA_DATA_BROWSER_TYPE]]; 103 } 104 105 106 if(isset($userAgent[UA_DATA_OS]) and isset(GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_OS][$userAgent[UA_DATA_OS]])) 111 107 { 112 108 $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]]))109 $returned[UA_DATA_OS_NAME]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_OS][$userAgent[UA_DATA_OS]][UA_PROP_NAME]; 110 $returned[UA_DATA_OS_URL]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_OS][$userAgent[UA_DATA_OS]][UA_PROP_URL]; 111 } 112 113 if(isset($userAgent[UA_DATA_ENGINE]) and isset(GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_ENGINE][$userAgent[UA_DATA_ENGINE]])) 118 114 { 119 115 $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];116 $returned[UA_DATA_ENGINE_NAME]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_ENGINE][$userAgent[UA_DATA_ENGINE]][UA_PROP_NAME]; 117 $returned[UA_DATA_ENGINE_URL]=GPCUserAgentValues::$UA_BrowserInfo[UA_DATA_ENGINE][$userAgent[UA_DATA_ENGINE]][UA_PROP_URL]; 122 118 } 123 119 -
extensions/GrumPluginClasses/classes/GPCUserAgent.const.inc.php
r16458 r17562 228 228 define('UA_ENGINE_WEBKIT', 0x06); 229 229 230 $UA_BrowserInfo=array( 231 UA_DATA => array( 232 UA_DATA_BROWSER => array(UA_PROP_NAME => 'Browser'), 233 UA_DATA_ENGINE => array(UA_PROP_NAME => 'Engine'), 234 UA_DATA_OS => array(UA_PROP_NAME => 'Operating System') 235 ), 236 UA_DATA_BROWSER=> array( 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') 354 ), 355 356 UA_DATA_OS => array( 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') 382 ), 383 UA_DATA_ENGINE => array( 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') 391 ), 392 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' 408 ) 409 410 ); 411 412 230 231 class GPCUserAgentValues 232 { 233 static public $UA_BrowserInfo=array( 234 UA_DATA => array( 235 UA_DATA_BROWSER => array(UA_PROP_NAME => 'Browser'), 236 UA_DATA_ENGINE => array(UA_PROP_NAME => 'Engine'), 237 UA_DATA_OS => array(UA_PROP_NAME => 'Operating System') 238 ), 239 UA_DATA_BROWSER=> array( 240 UA_BOT_UNKNOWN => array(UA_PROP_NAME => 'Unknown', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 241 242 UA_BOT_008 => array(UA_PROP_NAME => '008', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.80legs.com'), 243 UA_BOT_ABACHOBOT => array(UA_PROP_NAME => 'ABACHOBot', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.abacho.com'), 244 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'), 245 UA_BOT_ARACHMO => array(UA_PROP_NAME => 'Arachmo', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 246 UA_BOT_BLITZBOT => array(UA_PROP_NAME => 'BlitzBOT', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 247 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'), 248 UA_BOT_CHARLOTTE => array(UA_PROP_NAME => 'Charlotte', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.searchme.com'), 249 UA_BOT_CERBERIAN_DRTRS => array(UA_PROP_NAME => 'Cerberian Drtrs', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 250 UA_BOT_COSMOS => array(UA_PROP_NAME => 'Cosmos', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.xyleme.com/'), 251 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'), 252 UA_BOT_DATAPARKSEARCH => array(UA_PROP_NAME => 'DataparkSearch', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.dataparksearch.org'), 253 UA_BOT_GAISBOT => array(UA_PROP_NAME => 'Gaisbot', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://gais.cs.ccu.edu.tw/'), 254 UA_BOT_GOOGLE => array(UA_PROP_NAME => 'Google', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.google.com/bot.html'), 255 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'), 256 UA_BOT_HOLMES => array(UA_PROP_NAME => 'Holmes', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.ucw.cz/holmes'), 257 UA_BOT_HTDIG => array(UA_PROP_NAME => 'htdig', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://htdig.sourceforge.net'), 258 UA_BOT_IA_ARCHIVER => array(UA_PROP_NAME => 'ia_archiver', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.alexa.com/'), 259 UA_BOT_ICCRAWLER => array(UA_PROP_NAME => 'iCCrawler', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.iccenter.net/bot.htm'), 260 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'), 261 UA_BOT_BAIDU => array(UA_PROP_NAME => 'Baidu', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.baidu.com'), 262 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'), 263 UA_BOT_EXALEAD => array(UA_PROP_NAME => 'Exalead', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 264 UA_BOT_GAMESPY => array(UA_PROP_NAME => 'GameSpy', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 265 UA_BOT_INKTOMI => array(UA_PROP_NAME => 'Inktomi', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 266 UA_BOT_YAHOO_SEARCH => array(UA_PROP_NAME => 'Yahoo! Search', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.yahoo.com/'), 267 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'), 268 UA_BOT_LARBIN => array(UA_PROP_NAME => 'Larbin', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 269 UA_BOT_LINKWALKER => array(UA_PROP_NAME => 'LinkWalker', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.seventwentyfour.com/'), 270 UA_BOT_LWPTRIVIAL => array(UA_PROP_NAME => 'lwp-trivial', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 271 UA_BOT_MABONLAND => array(UA_PROP_NAME => 'Mabontland', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.mabontland.com'), 272 UA_BOT_MNOGOSEARCH => array(UA_PROP_NAME => 'Mnogosearch', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://mnogosearch.org'), 273 UA_BOT_MOGIMOGI => array(UA_PROP_NAME => 'mogimogi', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 274 UA_BOT_MORNINGPAPER => array(UA_PROP_NAME => 'Morning Paper', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.boutell.com'), 275 UA_BOT_NETRESEARCHSERVER => array(UA_PROP_NAME => 'NetResearchServer', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.loopimprovements.com'), 276 UA_BOT_NEWSGATOR => array(UA_PROP_NAME => 'NewsGator', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.newsgator.com'), 277 UA_BOT_NGSEARCH => array(UA_PROP_NAME => 'NG-Search', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.ng-search.com'), 278 UA_BOT_NYMESIS => array(UA_PROP_NAME => 'Nymesis', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.nymesis.com'), 279 UA_BOT_OEGP => array(UA_PROP_NAME => 'oegp', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 280 UA_BOT_POMPOS => array(UA_PROP_NAME => 'Pompos', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://dir.com/pompos.html'), 281 UA_BOT_PYCURL => array(UA_PROP_NAME => 'PycURL', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://pycurl.sourceforge.net'), 282 UA_BOT_QSEERO => array(UA_PROP_NAME => 'Qseero', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 283 UA_BOT_SBIDER => array(UA_PROP_NAME => 'SBIder', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.sitesell.com'), 284 UA_BOT_SCOUTJET => array(UA_PROP_NAME => 'ScoutJet', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.scoutjet.com'), 285 UA_BOT_SCRUBBY => array(UA_PROP_NAME => 'Scrubby', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.scrubtheweb.com'), 286 UA_BOT_SEARCHSIGHT => array(UA_PROP_NAME => 'SearchSight', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://searchsight.com'), 287 UA_BOT_SEMANTICDISCOVERY => array(UA_PROP_NAME => 'semanticdiscovery', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 288 UA_BOT_SHOULA => array(UA_PROP_NAME => 'Shoula', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 289 UA_BOT_SNAPPY => array(UA_PROP_NAME => 'Snappy', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.urltrends.com'), 290 UA_BOT_STACKRAMBLER => array(UA_PROP_NAME => 'StackRambler', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 291 UA_BOT_SILK => array(UA_PROP_NAME => 'Silk', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.slider.com/silk.htm'), 292 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'), 293 UA_BOT_TINEYE => array(UA_PROP_NAME => 'TinEye', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://tineye.com/crawler.html'), 294 UA_BOT_TRUWOGPS => array(UA_PROP_NAME => 'truwoGPS', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.lan4lano.net/browser.html'), 295 UA_BOT_UPDATED => array(UA_PROP_NAME => 'updated', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.updated.com'), 296 UA_BOT_VOYAGER => array(UA_PROP_NAME => 'voyager', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.kosmix.com/crawler.html'), 297 UA_BOT_VYU2 => array(UA_PROP_NAME => 'vyu2', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 298 UA_BOT_WEBCOLLAGE => array(UA_PROP_NAME => 'WebCollage', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 299 UA_BOT_YOOGLIFETCHAGENT => array(UA_PROP_NAME => 'yoogliFetchAgent', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 300 UA_BOT_ZAO => array(UA_PROP_NAME => 'Zao', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => 'http://www.kototoi.org/zao'), 301 UA_BOT_ZEALBOT => array(UA_PROP_NAME => 'Zealbot', UA_PROP_TYPE=>UA_BROWSER_TYPE_CRAWLER, UA_PROP_URL => ''), 302 303 304 UA_BROWSER_UNKNOWN => array(UA_PROP_NAME => 'Unknown', UA_PROP_TYPE=>UA_BROWSER_TYPE_UNKNOWN, UA_PROP_URL => ''), 305 306 UA_BROWSER_ANDROID_WEBKIT=> array(UA_PROP_NAME => 'Android WebKit Browser', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => ''), 307 UA_BROWSER_OPERA_MINI => array(UA_PROP_NAME => 'Opera Mini', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.opera.com/'), 308 UA_BROWSER_OPERA_MOBILE => array(UA_PROP_NAME => 'Opera Mobile', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.opera.com/'), 309 UA_BROWSER_BLACKBERRY => array(UA_PROP_NAME => 'BlackBerry', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://worldwide.blackberry.com'), 310 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'), 311 UA_BROWSER_GOBROWSER => array(UA_PROP_NAME => 'Go Browser', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.3g.cn/'), 312 UA_BROWSER_IEMOBILE => array(UA_PROP_NAME => 'IE Mobile', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => ''), 313 UA_BROWSER_IRIS => array(UA_PROP_NAME => 'Iris', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.torchmobile.com'), 314 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'), 315 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'), 316 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/'), 317 UA_BROWSER_NETFRONT => array(UA_PROP_NAME => 'NetFront', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.access-company.com'), 318 UA_BROWSER_SEMC => array(UA_PROP_NAME => 'SEMC-Browser', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => ''), 319 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'), 320 UA_BROWSER_SKYFIRE => array(UA_PROP_NAME => 'Skyfire', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.skyfire.com'), 321 UA_BROWSER_SAFARI_MOBILE => array(UA_PROP_NAME => 'Safari', UA_PROP_TYPE=>UA_BROWSER_TYPE_MOBILE, UA_PROP_URL => 'http://www.apple.com/safari'), 322 323 UA_BROWSER_PS3 => array(UA_PROP_NAME => 'Playstation 3', UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://us.playstation.com/ps3'), 324 UA_BROWSER_PSP => array(UA_PROP_NAME => 'Playstation Portable', UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://us.playstation.com/psp'), 325 UA_BROWSER_BUNJALLOO => array(UA_PROP_NAME => 'Bunjalloo', UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://code.google.com/p/quirkysoft/'), 326 UA_BROWSER_OPERA_WII => array(UA_PROP_NAME => 'Opera', UA_PROP_TYPE=>UA_BROWSER_TYPE_CONSOLE, UA_PROP_URL => 'http://www.opera.com'), 327 328 UA_BROWSER_OPERA => array(UA_PROP_NAME => 'Opera', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.opera.com'), 329 UA_BROWSER_SHIIRA => array(UA_PROP_NAME => 'Shiira', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://shiira.jp/en'), 330 UA_BROWSER_THUNDERBIRD => array(UA_PROP_NAME => 'Thunderbird', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.mozilla.org/thunderbird'), 331 UA_BROWSER_NAMOROKA => array(UA_PROP_NAME => 'Namoroka', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'https://wiki.mozilla.org/Firefox/Namoroka'), 332 UA_BROWSER_MINEFIELD => array(UA_PROP_NAME => 'Minefield', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.mozilla.org/projects/minefield'), 333 UA_BROWSER_LUNASCAPE => array(UA_PROP_NAME => 'Lunascape', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.lunascape.tv'), 334 UA_BROWSER_ARORA => array(UA_PROP_NAME => 'Arora', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://code.google.com/p/arora'), 335 UA_BROWSER_CAMINO => array(UA_PROP_NAME => 'Camino', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://caminobrowser.org'), 336 UA_BROWSER_KAPIKO => array(UA_PROP_NAME => 'Kapiko', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://ufoxlab.googlepages.com/cooperation'), 337 UA_BROWSER_KAZEHAKAZE => array(UA_PROP_NAME => 'Kazehakase', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://kazehakase.sourceforge.jp'), 338 UA_BROWSER_CHROMEPLUS => array(UA_PROP_NAME => 'ChromePlus', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://coolnovo.com'), 339 UA_BROWSER_CHROME => array(UA_PROP_NAME => 'Chrome', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.google.com/chrome'), 340 UA_BROWSER_EPIPHANY => array(UA_PROP_NAME => 'Epiphany', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://projects.gnome.org/epiphany'), 341 UA_BROWSER_GALEON => array(UA_PROP_NAME => 'Galeon', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://galeon.sourceforge.net'), 342 UA_BROWSER_ORCA => array(UA_PROP_NAME => 'Orca', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.orcabrowser.com'), 343 UA_BROWSER_LOBO => array(UA_PROP_NAME => 'Lobo', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://lobobrowser.org'), 344 UA_BROWSER_SEAMONKEY => array(UA_PROP_NAME => 'SeaMonkey', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.seamonkey-project.org'), 345 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'), 346 UA_BROWSER_MAXTHON => array(UA_PROP_NAME => 'Maxthon', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.maxthon.com'), 347 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'), 348 UA_BROWSER_ICEWEASEL => array(UA_PROP_NAME => 'Iceweasel', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.geticeweasel.org'), 349 UA_BROWSER_NETSCAPE => array(UA_PROP_NAME => 'Netscape', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://isp.netscape.com'), 350 UA_BROWSER_FIREBIRD => array(UA_PROP_NAME => 'Firebird', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.firefox.com'), 351 UA_BROWSER_FIREFOX => array(UA_PROP_NAME => 'Firefox', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.firefox.com'), 352 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'), 353 UA_BROWSER_KONQUEROR => array(UA_PROP_NAME => 'Konqueror', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.konqueror.org'), 354 UA_BROWSER_LINKS => array(UA_PROP_NAME => 'Links', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.jikos.cz/~mikulas/links'), 355 UA_BROWSER_LYNX => array(UA_PROP_NAME => 'Lynx', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://lynx.browser.org'), 356 UA_BROWSER_SAFARI => array(UA_PROP_NAME => 'Safari', UA_PROP_TYPE=>UA_BROWSER_TYPE_COMPUTER, UA_PROP_URL => 'http://www.apple.com/safari') 357 ), 358 359 UA_DATA_OS => array( 360 UA_OS_UNKNOWN => array(UA_PROP_NAME => 'Unknown', UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN, UA_PROP_URL=>''), 361 UA_OS_LINUX => array(UA_PROP_NAME => 'Linux', UA_PROP_TYPE=>UA_OS_TYPE_LINUX, UA_PROP_URL=>'http://www.linux.com'), 362 UA_OS_FREEBSD => array(UA_PROP_NAME => 'FreeBSD', UA_PROP_TYPE=>UA_OS_TYPE_BSD, UA_PROP_URL=>'http://www.freebsd.org'), 363 UA_OS_OPENBSD => array(UA_PROP_NAME => 'OpenBSD', UA_PROP_TYPE=>UA_OS_TYPE_BSD, UA_PROP_URL=>'http://www.openbsd.org'), 364 UA_OS_NETBSD => array(UA_PROP_NAME => 'NetBSD', UA_PROP_TYPE=>UA_OS_TYPE_BSD, UA_PROP_URL=>'http://www.netbsd.org'), 365 UA_OS_WINDOWS => array(UA_PROP_NAME => 'Windows', UA_PROP_TYPE=>UA_OS_TYPE_WINDOWS, UA_PROP_URL=>'http://windows.microsoft.com'), 366 UA_OS_SUNOS => array(UA_PROP_NAME => 'SunOS', UA_PROP_TYPE=>UA_OS_TYPE_UNIX, UA_PROP_URL=>''), 367 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'), 368 UA_OS_SYMBIAN_OS => array(UA_PROP_NAME => 'Symbian OS', UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN, UA_PROP_URL=>'http://symbian.nokia.com'), 369 UA_OS_SYMBOS => array(UA_PROP_NAME => 'SymbOS', UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN, UA_PROP_URL=>'http://www.symbos.de'), 370 UA_OS_MACINTOSH => array(UA_PROP_NAME => 'Macintosh', UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN, UA_PROP_URL=>'http://www.apple.com'), 371 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'), 372 UA_OS_ANDROID => array(UA_PROP_NAME => 'Android', UA_PROP_TYPE=>UA_OS_TYPE_LINUX, UA_PROP_URL=>'http://www.android.com'), 373 UA_OS_IOS => array(UA_PROP_NAME => 'iOS', UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN, UA_PROP_URL=>'http://www.apple.com'), 374 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'), 375 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'), 376 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'), 377 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'), 378 UA_OS_CHROME_OS => array(UA_PROP_NAME => 'Chrome OS', UA_PROP_TYPE=>UA_OS_TYPE_LINUX, UA_PROP_URL=>''), 379 UA_OS_BE_OS => array(UA_PROP_NAME => 'BeOS', UA_PROP_TYPE=>UA_OS_TYPE_BSD, UA_PROP_URL=>''), 380 UA_OS_DRAGONFLY => array(UA_PROP_NAME => 'DragonFly BSD', UA_PROP_TYPE=>UA_OS_TYPE_BSD, UA_PROP_URL=>'http://www.dragonflybsd.org'), 381 UA_OS_UNIX => array(UA_PROP_NAME => 'UNIX', UA_PROP_TYPE=>UA_OS_TYPE_UNIX, UA_PROP_URL=>''), 382 UA_OS_DARWIN => array(UA_PROP_NAME => 'Darwin', UA_PROP_TYPE=>UA_OS_TYPE_BSD, UA_PROP_URL=>'developer.apple.com/darwin'), 383 UA_OS_OS2 => array(UA_PROP_NAME => 'IBM OS/2', UA_PROP_TYPE=>UA_OS_TYPE_OS2, UA_PROP_URL=>''), 384 UA_OS_AMIGAOS => array(UA_PROP_NAME => 'AmigaOS', UA_PROP_TYPE=>UA_OS_TYPE_UNKNOWN, UA_PROP_URL=>'http://amiga.com') 385 ), 386 UA_DATA_ENGINE => array( 387 UA_ENGINE_UNKNOWN => array(UA_PROP_NAME => 'Unknown', UA_PROP_URL=>''), 388 UA_ENGINE_GECKO => array(UA_PROP_NAME => 'Gecko', UA_PROP_URL=>'https://developer.mozilla.org/en/Gecko'), 389 UA_ENGINE_KHTML => array(UA_PROP_NAME => 'KHTML', UA_PROP_URL=>'http://api.kde.org/3.5-api/kdelibs-apidocs/khtml/html/index.html'), 390 UA_ENGINE_PRESTO => array(UA_PROP_NAME => 'Presto', UA_PROP_URL=>'http://dev.opera.com/articles/view/presto-2-1-web-standards-supported-by'), 391 UA_ENGINE_APPLEWEBKIT => array(UA_PROP_NAME => 'AppleWebKit', UA_PROP_URL=>''), 392 UA_ENGINE_WEBKIT => array(UA_PROP_NAME => 'WebKit', UA_PROP_URL=>'http://www.webkit.org'), 393 UA_ENGINE_TRIDENT => array(UA_PROP_NAME => 'Trident', UA_PROP_URL=>'http://msdn.microsoft.com/en-us/library/aa741317.aspx') 394 ), 395 396 UA_DATA_BROWSER_TYPE => array( 397 UA_BROWSER_TYPE_UNKNOWN => 'Unknown', 398 UA_BROWSER_TYPE_COMPUTER => 'Computer', 399 UA_BROWSER_TYPE_CONSOLE => 'Console', 400 UA_BROWSER_TYPE_MOBILE => 'Mobile', 401 UA_BROWSER_TYPE_CRAWLER => 'Crawler' 402 ), 403 404 UA_DATA_OS_TYPE => array( 405 UA_OS_TYPE_UNKNOWN => 'Unknown', 406 UA_OS_TYPE_LINUX => 'Linux', 407 UA_OS_TYPE_BSD => 'BSD', 408 UA_OS_TYPE_UNIX => 'Unix', 409 UA_OS_TYPE_WINDOWS => 'Windows', 410 UA_OS_TYPE_OS2 => 'OS/2' 411 ) 412 413 ); 414 415 } 413 416 414 417 ?> -
extensions/GrumPluginClasses/css/dynamicTable.css
r16012 r17562 4 4 } 5 5 6 table.ui-dynamicTableHeader, table.ui-dynamicTableContent { 6 table.ui-dynamicTableHeader, 7 table.ui-dynamicTableContent, 8 table.ui-dynamicTableTotalRow { 7 9 width:100%; 8 10 /* border-collapse: collapse; */ … … 26 28 27 29 thead.ui-dynamicTableHeader td, 28 table.ui-dynamicTableContent td { 30 table.ui-dynamicTableContent td, 31 table.ui-dynamicTableTotalRow td { 29 32 padding:0 0 0 2px; 30 33 } … … 32 35 td.ui-dynamicTableSortColumn { 33 36 width:15px; 37 } 38 39 table.ui-dynamicTableTotalRow { 40 display:'none'; 34 41 } 35 42 … … 51 58 margin: 1px; 52 59 } 60 div.ui-dynamicTableLoadingWorkInProgress { 61 display:none; 62 position:absolute; 63 z-index:1000; 64 margin: 1px; 65 width:16px; 66 height:16px; 67 background:url(./../icons/processing.gif) no-repeat scroll 0 40px transparent; 68 } 69 53 70 54 71 div.ui-dynamicTableFooter { -
extensions/GrumPluginClasses/css/dynamicTable_clear.css
r16012 r17562 7 7 div.ui-dynamicTableContent { 8 8 border:1px solid #aaaaaa; 9 } 10 11 table.ui-dynamicTableTotalRow { 12 border:1px solid #aaaaaa; 13 border-top:none; 9 14 } 10 15 -
extensions/GrumPluginClasses/css/dynamicTable_roma.css
r16012 r17562 7 7 div.ui-dynamicTableContent { 8 8 border:1px solid #666666; 9 } 10 11 table.ui-dynamicTableTotalRow { 12 border:1px solid #666666; 13 border-top:none; 9 14 } 10 15 -
extensions/GrumPluginClasses/css/gpc.css
r15340 r17562 94 94 color:#800000; 95 95 } 96 .ui-resizable .ui-resizable-handle { 97 display: none; 98 background:none repeat scroll 0 0 transparent; 99 } 96 100 97 101 98 102 99 100 -
extensions/GrumPluginClasses/css/inputColorPicker.css
r16012 r17562 90 90 91 91 /* --- */ 92 .ui-inputDialogColor { 93 text-align:justify; 94 } 92 95 .ui-inputDialogColor div.ui-inputColorPicker { 93 96 min-width:346px; -
extensions/GrumPluginClasses/css/inputFilterBox.css
r16012 r17562 21 21 22 22 /* dialog box */ 23 .ui-inputDialogFilterBox { 24 text-align:justify; 25 } 23 26 .ui-inputDialogFilterBox div.ui-dialog-titlebar { 24 27 cursor:move; -
extensions/GrumPluginClasses/css/inputPages.css
r16012 r17562 14 14 padding: 0px; 15 15 text-align: center; 16 width: 15px;16 min-width: 15px; 17 17 cursor:default; 18 18 } -
extensions/GrumPluginClasses/css/inputSortBox.css
r16012 r17562 21 21 22 22 /* dialog box */ 23 .ui-inputDialogSortBox { 24 text-align:justify; 25 } 23 26 .ui-inputDialogSortBox div.ui-dialog-titlebar { 24 27 cursor:move; -
extensions/GrumPluginClasses/css/progressArea.css
r16733 r17562 33 33 34 34 /* dialog box */ 35 .ui-dialogProgressArea { 36 text-align:justify; 37 } 35 38 .ui-dialogProgressArea div.ui-dialog-titlebar { 36 39 cursor:move; -
extensions/GrumPluginClasses/gpc_version.inc.php
r12215 r17562 4 4 Author : Grum 5 5 email : grum@grum.fr 6 website : http:// photos.grum.fr6 website : http://www.grum.fr 7 7 PWG user : http://forum.piwigo.org/profile.php?id=3706 8 8 … … 15 15 if(!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 16 16 17 if(!defined('GPC_VERSION')) define('GPC_VERSION', '3.5. 2');18 if(!defined('GPC_VERSION2')) define('GPC_VERSION2', '03.05.0 2');17 if(!defined('GPC_VERSION')) define('GPC_VERSION', '3.5.3'); 18 if(!defined('GPC_VERSION2')) define('GPC_VERSION2', '03.05.03'); 19 19 ?> -
extensions/GrumPluginClasses/js/ui.dynamicTable.js
r16012 r17562 54 54 options = 55 55 { 56 autoLoad:true, 56 57 columns:[], 57 58 postUrl:'', … … 65 66 currentPage:1, 66 67 sortBoxTitle:'Sort by', 68 showTotalRow:'auto', // visible, hidden, auto 67 69 footerString: 68 70 { … … 93 95 sortedColumns:[], 94 96 filteredColumns:[], 95 loadedData:[] 97 loadedData:[], 98 totalRowHasData:false 96 99 } 97 100 ); … … 131 134 } 132 135 ), 136 loadingContentWorkInProgress:$('<div/>', 137 { 138 class:'ui-dynamicTableLoadingWorkInProgress' 139 } 140 ), 141 142 totalRowContent:$('<table/>', 143 { 144 'class':'ui-dynamicTableTotalRow' 145 } 146 ), 147 totalRowTr:$('<tr/>'), 148 133 149 134 150 footer:$('<div/>', … … 154 170 .append(objects.headerContainer.append(objects.header.append(objects.headerTr))) 155 171 .append(objects.loadingContent) 172 .append(objects.loadingContentWorkInProgress) 156 173 .append(objects.contentContainer.append(objects.content)) 174 .append(objects.totalRowContent.append(objects.totalRowTr)) 157 175 .append(objects.footer 158 176 .append(objects.footerNbItems) … … 285 303 }, // footerString 286 304 305 autoLoad: function (value) 306 { 307 if(value!=null) 308 { 309 // set selected value 310 return( 311 this.each( 312 function() 313 { 314 privateMethods.setAutoLoad($(this), value, true); 315 } 316 ) 317 ); 318 } 319 else 320 { 321 var options=this.data('options'); 322 return(options.autoLoad); 323 } 324 }, // autoLoad 325 326 327 showTotalRow : function (value) 328 { 329 if(value!=null) 330 { 331 // set selected value 332 return( 333 this.each( 334 function() 335 { 336 privateMethods.setShowTotalRow($(this), value); 337 } 338 ) 339 ); 340 } 341 else 342 { 343 var options=this.data('options'); 344 return(options.showTotalRow); 345 } 346 }, // showTotalRow 347 348 287 349 currentPage: function (value) 288 350 { … … 509 571 510 572 return(properties.loadedData); 511 } // loadedData 573 }, // loadedData 574 575 /** 576 * refresh table content 577 * @param Integer value: page; if not specified, refresh current page 578 */ 579 refreshContent: function (value) 580 { 581 privateMethods.loadContent($(this), value); 582 }, 583 584 /** 585 * force table to resize columns 586 */ 587 resizeContent: function (value) 588 { 589 privateMethods.setColumnsSize($(this)); 590 }, 591 512 592 513 593 }; // methods … … 528 608 properties.initialized=false; 529 609 610 privateMethods.setAutoLoad(object, (value.autoLoad!=null)?value.autoLoad:options.autoLoad); 611 privateMethods.setShowTotalRow(object, (value.showTotalRow!=null)?value.showTotalRow:options.showTotalRow); 530 612 privateMethods.setPostData(object, (value.postData!=null)?value.postData:options.postData); 531 613 privateMethods.setPostUrl(object, (value.postUrl!=null)?value.postUrl:options.postUrl); … … 549 631 550 632 551 552 privateMethods.loadContent(object);633 if(options.autoLoad) 634 privateMethods.loadContent(object); 553 635 554 636 }, 637 638 setAutoLoad : function (object, value) 639 { 640 var properties=object.data('properties'), 641 options=object.data('options'); 642 643 if((!properties.initialized || value!=options.autoLoad) && (value==true || value==false)) 644 { 645 options.autoLoad=value; 646 } 647 648 return(options.autoLoad); 649 }, // setAutoLoad 650 651 setShowTotalRow : function (object, value) 652 { 653 var properties=object.data('properties'), 654 options=object.data('options'); 655 656 if((!properties.initialized || value!=options.showTotalRow) && (value=='visible' || value=='hidden' || value=='auto')) 657 { 658 options.showTotalRow=value; 659 if(properties.initialized) 660 privateMethods.showTotalRow(object); 661 } 662 663 return(options.showTotalRow); 664 }, // setAutoLoad 665 555 666 556 667 setColumns : function (object, value) … … 827 938 828 939 /* 829 * update DOM for headers & footer 940 * update DOM for headers & footer & total row 830 941 */ 831 942 updateTable : function (object) … … 840 951 841 952 objects.headerTr.children().remove(); 953 objects.totalRowTr.children().remove(); 842 954 843 955 properties.hasSortableButton=false; … … 930 1042 931 1043 objects.headerTr.append(td); 1044 1045 td=$('<td/>'); 1046 if(options.columns[i].width!='') td.attr('style', 'width:'+options.columns[i].width+';'); 1047 objects.totalRowTr.append(td); 932 1048 } 933 1049 … … 959 1075 modal:true, 960 1076 width:cWidth, 961 height: 150,1077 height:250, 962 1078 autoHeight:false, 963 1079 title:options.sortBoxTitle, … … 982 1098 ).append(button); 983 1099 objects.headerTr.append(td); 1100 1101 td=$('<td/>'); 1102 objects.totalRowTr.append(td); 984 1103 } 985 1104 }, //updateTable 986 1105 987 988 loadContent : function (object) 1106 /** 1107 * load table content 1108 * 1109 * @param Integer page: page to load; if not specified, use the current page 1110 */ 1111 loadContent : function (object, page) 989 1112 { 990 1113 var data=null, … … 997 1120 if(options.postUrl=='') return(false); 998 1121 1122 if(page>0 && page <= objects.footerPagesNavigator.inputPages('nbPages')) 1123 options.currentPage=page; 999 1124 privateMethods.displayLoading(object, true); 1000 1125 … … 1030 1155 msg=$.parseJSON(msg); 1031 1156 1032 if(msg==null) return(false); 1157 if(msg==null || msg.rows==null) 1158 { 1159 privateMethods.displayLoading(object, false); 1160 return(false); 1161 } 1033 1162 1034 1163 if(options.contentLoaded) object.trigger('dynamicTableContentLoaded', msg); … … 1036 1165 objects.content.find('tr').unbind('click.dynamicTable'); 1037 1166 objects.content.children().remove(); 1167 objects.contentContainer.scrollTop('0px'); 1038 1168 1039 1169 delete properties.loadedData; … … 1078 1208 } 1079 1209 1210 if(msg.total!=null && $.isArray(msg.total)) 1211 { 1212 properties.totalRowHasData=true; 1213 objects.totalRowTr.children().each( 1214 function (index) 1215 { 1216 $(this).html(msg.total[index]); 1217 } 1218 ); 1219 } 1220 else 1221 { 1222 properties.totalRowHasData=false; 1223 } 1224 1080 1225 if(options.click) 1081 1226 objects.content.find('tr').bind('click.dynamicTable', options.click); 1082 1227 1228 privateMethods.showTotalRow(object); 1083 1229 privateMethods.setColumnsSize(object); 1084 1230 privateMethods.displayLoading(object, false); … … 1088 1234 // 1089 1235 objects.loadingContent.attr('style', 'display:none;'); 1236 objects.loadingContentWorkInProgress.attr('style', 'display:none;'); 1090 1237 }, 1091 1238 } … … 1096 1243 { 1097 1244 var cols=[], 1245 options=object.data('options'), 1246 properties=object.data('properties'), 1098 1247 objects=object.data('objects'); 1099 1248 … … 1107 1256 ); 1108 1257 1109 1258 // resize first row of table content 1110 1259 objects.content.find('tr:first td').each( 1111 1260 function (index) … … 1125 1274 ); 1126 1275 1276 // resize total row if displayed 1277 if(options.showTotalRow=='visible' || 1278 options.showTotalRow=='auto' && properties.totalRowHasData) 1279 { 1280 objects.totalRowTr.find('td').each( 1281 function (index) 1282 { 1283 var style=''; 1284 1285 if(index==(cols.length-1)) 1286 { 1287 style='max-width:'; 1288 } 1289 else 1290 { 1291 style='width:'; 1292 } 1293 $(this).attr('style', style+cols[index]+'px;'); 1294 } 1295 ); 1296 } 1297 1127 1298 return(true); 1128 1299 }, //setColumnsSize … … 1135 1306 { 1136 1307 objects.loadingContent.attr('style', 'display:block;width:'+objects.contentContainer.width()+'px;height:'+objects.contentContainer.height()+'px;'); 1308 objects.loadingContentWorkInProgress.css( 1309 { 1310 'display':'block', 1311 'width':objects.contentContainer.width()+'px', 1312 'height':objects.contentContainer.height()+'px', 1313 'background-position':Math.round((objects.contentContainer.width()-16)/2)+'px '+Math.round((objects.contentContainer.height()-16)/2)+'px' 1314 } 1315 ); 1137 1316 } 1138 1317 else 1139 1318 { 1140 1319 objects.loadingContent.attr('style', 'display:none;'); 1320 objects.loadingContentWorkInProgress.attr('style', 'display:none;'); 1141 1321 } 1142 1322 }, //displayLoading 1143 1323 1144 updateNbItems: function (object)1324 showTotalRow : function (object) 1145 1325 { 1146 1326 var options=object.data('options'), … … 1148 1328 properties=object.data('properties'); 1149 1329 1330 switch(options.showTotalRow) 1331 { 1332 case 'visible': 1333 objects.totalRowContent.css('display', 'block'); 1334 break; 1335 case 'hidden': 1336 objects.totalRowContent.css('display', 'none'); 1337 break; 1338 case 'auto': 1339 if(properties.totalRowHasData) 1340 { 1341 objects.totalRowContent.css('display', 'block'); 1342 } 1343 else 1344 { 1345 objects.totalRowContent.css('display', 'none'); 1346 } 1347 break; 1348 } 1349 }, // showTotalRow 1350 1351 updateNbItems: function (object) 1352 { 1353 var options=object.data('options'), 1354 objects=object.data('objects'), 1355 properties=object.data('properties'); 1356 1150 1357 if(properties.nbItems>1) 1151 1358 { … … 1157 1364 } 1158 1365 1159 } 1366 } // updateNbItems 1160 1367 1161 1368 }; -
extensions/GrumPluginClasses/js/ui.inputFilterBox.js
r16012 r17562 644 644 multiple:($.inArray('in', options.filterOperators)>-1), 645 645 colsWidth:[], 646 colsCss:['col1', 'col2', 'col3'], 646 647 items:itemsList, 647 648 serverUrl:serverUrl, -
extensions/GrumPluginClasses/main.inc.php
r16012 r17562 2 2 /* 3 3 Plugin Name: Grum Plugins Classes.3 4 Version: 3.5. 24 Version: 3.5.3 5 5 Description: Collection de classes partagées entre mes plugins (existants, ou à venir) / Partaged classes between my plugins (actuals or futures) 6 6 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=199 7 7 Author: grum@piwigo.org 8 Author URI: http:// photos.grum.fr/8 Author URI: http://www.grum.fr/ 9 9 */ 10 10 … … 13 13 Author : Grum 14 14 email : grum@piwigo.org 15 website : http:// photos.grum.fr15 website : http://www.grum.fr 16 16 17 17 << May the Little SpaceFrog be with you ! >> … … 163 163 | | | . Request builder interface don't work 164 164 | | | 165 | 3.5.2 | 201 1/05/15 | * Add function to manage special markup165 | 3.5.2 | 2012/05/15 | * Add function to manage special markup 166 166 | | | . BB like markup [b],[i],[url]... 167 167 | | | . [var=<name>] markup … … 179 179 | | | 180 180 | | | * optimization & rename of some JS framework components 181 | | | 182 | 3.5.3 | 2012/08/14 | * mantis bug:2723 183 | | | . Error message when on page using GPC tabsheets 184 | | | 181 185 | | | 182 186 | | |
Note: See TracChangeset
for help on using the changeset viewer.