Author: marcus
Date: Mon Jun 2 22:11:57 2014
New Revision: 1599378
URL: http://svn.apache.org/r1599378
Log:
Updated code to recognize the used browser and platform/OS
Modified:
openoffice/ooo-site/trunk/content/download/test/download_droplist.js
Modified: openoffice/ooo-site/trunk/content/download/test/download_droplist.js
URL:
http://svn.apache.org/viewvc/openoffice/ooo-site/trunk/content/download/test/download_droplist.js?rev=1599378&r1=1599377&r2=1599378&view=diff
==============================================================================
--- openoffice/ooo-site/trunk/content/download/test/download_droplist.js
(original)
+++ openoffice/ooo-site/trunk/content/download/test/download_droplist.js Mon
Jun 2 22:11:57 2014
@@ -1450,9 +1450,10 @@ function getLinkSel() {
function getPlatform() {
// For more help or data see: "http://www.useragentstring.com".
- var os = navigator.platform.toLowerCase(); // Get
the platform string in lower cases.
- var ua = navigator.userAgent.toLowerCase(); // Get
the User Agent string in lower cases.
- var av = navigator.appVersion.toLowerCase(); // Get
the application version in lower cases.
+ var av = navigator.appVersion.toLowerCase(); // Get
the application version in lower case.
+ var os = navigator.platform.toLowerCase(); // Get
the platform string in lower case.
+ var ua = navigator.userAgent.toLowerCase(); // Get
the user agent string in lower case.
+ var ve = navigator.vendor.toLowerCase(); // Get
the vendor string in lower case.
UI_PLATFORM = ""; //
Delete previously set string.
UI_PLATFORM_NO_SUP = ""; //
Delete previously set string.
PLATFORM = ""; //
Delete previously set string.
@@ -1477,64 +1478,78 @@ function getPlatform() {
}
if( os ) {
- // Recognized but not supported platforms/OS, set
$UI_PLATFORM_NO_SUP to show it to the user.
- if( os.indexOf( "aix" ) !== -1 )
UI_PLATFORM_NO_SUP = "IBM AIX";
- if( os.indexOf( "alphaserver" ) !== -1 )
UI_PLATFORM_NO_SUP = "AlphaServer";
- if( os.indexOf( "amiga" ) !== -1 )
UI_PLATFORM_NO_SUP = "AmigaOS";
- if( ua.indexOf( "android" ) !== -1 ||
- av.indexOf( "android" ) !== -1 )
UI_PLATFORM_NO_SUP = "Android mobile devices";
- if( os.indexOf( "arm" ) !== -1 )
UI_PLATFORM_NO_SUP = "ARM mobile devices";
+ // Recognized but *not supported* platforms/OS, set
$UI_PLATFORM_NO_SUP to show it to the user.
+
+ // Mobile devices.
+ if( ua.indexOf( "android" ) !== -1 )
+ if( ua.indexOf( "nexus" ) !== -1 &&
+ ve.indexOf( "google" ) !== -1 )
UI_PLATFORM_NO_SUP = "Google Nexus";
+ else if( ua.indexOf( "moble" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile devices (Android)";
+
+ if( os.indexOf( "arm" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile devices (ARM processor)";
if( ua.indexOf( "blackberry" ) !== -1 )
UI_PLATFORM_NO_SUP = "Blackberry smartphones";
if( ua.indexOf( "brew" ) !== -1 )
UI_PLATFORM_NO_SUP = "smartphones (BREW)";
+ if( ua.indexOf( "ce.net" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Windows CE)";
+ if( ua.indexOf( "galaxy" ) !== -1 )
UI_PLATFORM_NO_SUP = "Samsung Galaxy";
+ if( ua.indexOf( "hiptop" ) !== -1 )
UI_PLATFORM_NO_SUP = "smartphones (Hiptop)";
+ if( ua.indexOf( "htc" ) !== -1 )
UI_PLATFORM_NO_SUP = "HTC mobile devices";
+ if( ua.indexOf( "ipad" ) !== -1 ||
+ ua.indexOf( "iphone" ) !== -1 ||
+ ua.indexOf( "ipod" ) !== -1 )
UI_PLATFORM_NO_SUP = "Apple iPhone/iPad/iPod";
+ if( ua.indexOf( "kindle" ) !== -1 )
UI_PLATFORM_NO_SUP = "Amazon Kindle";
+ if( ua.indexOf( "lg" ) !== -1 )
UI_PLATFORM_NO_SUP = "LG mobile devices";
+ if( ua.indexOf( "nokia" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Nokia)";
+ if( ua.indexOf( "palm" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Palm OS)";
+ if( ua.indexOf( "pike" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Pike)";
+ if( ua.indexOf( "s60" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (S60)";
+ if( ua.indexOf( "sonyericsson" ) !== -1 )
UI_PLATFORM_NO_SUP = "Sony/Ericsson mobile devices";
+ if( ua.indexOf( "symbian" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Symbian OS)";
+ if( ua.indexOf( "symbos" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Symbian OS)";
+ if( ua.indexOf( "webos" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Palm webOS)";
+ if( ua.indexOf( "widerweb" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (WiderWeb)";
if( os.indexOf( "win" ) !== -1 ||
os.indexOf( "windows" ) !== -1 )
if( ua.indexOf( "mobile" ) !== -1 ||
ua.indexOf( "phone" ) !== -1 )
UI_PLATFORM_NO_SUP = "smartphones (Windows Phone)";
- if( ua.indexOf( "ce.net" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Windows CE)";
+
+ // Other platforms.
+ if( os.indexOf( "aix" ) !== -1 )
UI_PLATFORM_NO_SUP = "IBM AIX";
+ if( os.indexOf( "alphaserver" ) !== -1 )
UI_PLATFORM_NO_SUP = "AlphaServer";
+ if( os.indexOf( "amiga" ) !== -1 )
UI_PLATFORM_NO_SUP = "AmigaOS";
if( os.indexOf( "darwin" ) !== -1 )
UI_PLATFORM_NO_SUP = "Darwin";
if( os.indexOf( "dragonfly" ) !== -1 )
UI_PLATFORM_NO_SUP = "DragonFly BSD";
if( os.indexOf( "freebsd" ) !== -1 )
UI_PLATFORM_NO_SUP = "FreeBSD (PKG)";
- if( ua.indexOf( "hiptop" ) !== -1 )
UI_PLATFORM_NO_SUP = "smartphones (Hiptop)";
- if( ua.indexOf( "ipad" ) !== -1 ||
- ua.indexOf( "iphone" ) !== -1 ||
- ua.indexOf( "ipod" ) !== -1 )
UI_PLATFORM_NO_SUP = "Apple iPhone/iPad/iPod";
if( os.indexOf( "irix" ) !== -1 )
UI_PLATFORM_NO_SUP = "IRIX";
- if( ua.indexOf( "kindle" ) !== -1 )
UI_PLATFORM_NO_SUP = "Amazon Kindle";
if( os.indexOf( "netbsd" ) !== -1 )
UI_PLATFORM_NO_SUP = "NetBSD";
if( ua.indexOf( "nintendo" ) !== -1 )
UI_PLATFORM_NO_SUP = "Nintendo game console";
- if( ua.indexOf( "nokia" ) !== -1 )
UI_PLATFORM_NO_SUP = "Nokia mobile devices";
if( os.indexOf( "openbsd" ) !== -1 )
UI_PLATFORM_NO_SUP = "OpenBSD";
if( os.indexOf( "os/2" ) !== -1 )
UI_PLATFORM_NO_SUP = "OS/2";
- if( ua.indexOf( "palm" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Palm OS)";
if( os.indexOf( "pcbsd" ) !== -1 )
UI_PLATFORM_NO_SUP = "PC-BSD";
- if( ua.indexOf( "pike" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Pike)";
if( ua.indexOf( "playstation" ) !== -1 )
UI_PLATFORM_NO_SUP = "Sony Playstation";
+ if( ua.indexOf( "psp" ) !== -1 )
UI_PLATFORM_NO_SUP = "Sony Playstation Portable";
+ if( os.indexOf( "qnx" ) !== -1 )
UI_PLATFORM_NO_SUP = "QNX";
+ if( os.indexOf( "vms" ) !== -1 )
UI_PLATFORM_NO_SUP = "OpenVMS";
+ if( ua.indexOf( "wii" ) !== -1 )
UI_PLATFORM_NO_SUP = "Nintendo Wii game console";
+ if( os.indexOf( "x11" ) !== -1 )
UI_PLATFORM_NO_SUP = "unknown OS (X11 support)";
+
+ // Legacy, no longer supported platforms.
if( ua.indexOf( "power_pc" ) !== -1 ||
ua.indexOf( "ppc" ) !== -1 ) {
UI_PLATFORM_NO_SUP = "Mac OS PPC (DMG)";
OLD_PLATFORM = true;
}
- if( ua.indexOf( "psp" ) !== -1 )
UI_PLATFORM_NO_SUP = "Sony Playstation Portable";
- if( os.indexOf( "qnx" ) !== -1 )
UI_PLATFORM_NO_SUP = "QNX";
- if( ua.indexOf( "s60" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (S60)";
if( ua.indexOf( "sun4u" ) !== -1 ) {
UI_PLATFORM_NO_SUP = "Solaris SPARC (PKG)";
OLD_PLATFORM = true;
}
if( os.indexOf( "sunos" ) !== -1 ) {
UI_PLATFORM_NO_SUP = "Solaris x86 (PKG)";
OLD_PLATFORM = true;
}
- if( ua.indexOf( "symbian" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Symbian OS)";
- if( ua.indexOf( "symbos" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Symbian OS)";
- if( os.indexOf( "vms" ) !== -1 )
UI_PLATFORM_NO_SUP = "OpenVMS";
- if( ua.indexOf( "webos" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (Palm webOS)";
- if( ua.indexOf( "widerweb" ) !== -1 )
UI_PLATFORM_NO_SUP = "mobile phones (WiderWeb)";
- if( ua.indexOf( "wii" ) !== -1 )
UI_PLATFORM_NO_SUP = "Nintendo Wii game console";
- if( os.indexOf( "x11" ) !== -1 )
UI_PLATFORM_NO_SUP = "unknown OS (X11 support)";
// If $UI_PLATFORM_NO_SUP is already filled, something was
recognized and no more work is needed.
-
if( UI_PLATFORM_NO_SUP !== "" )
return PLATFORM;
+ // Recognized and *supported* platforms/OS, set $UI_PLATFORM to
show it to the user.
+
// Windows?
if( os.indexOf( "win" ) !== -1 ||
os.indexOf( "windows" ) !== -1 ) {
UI_PLATFORM = "Windows (EXE)";
@@ -1542,9 +1557,9 @@ function getPlatform() {
EXTENSION = ".exe";
}
- // Linux, x86 or x86-64, DEB or RPM?
+ // Linux: x86 or x86-64, DEB or RPM?
if( os.indexOf( "linux" ) !== -1 ) {
- // 32-bit, DEB or RPM?
+ // 32-bit: DEB or RPM?
if( os.indexOf( "x86" ) !== -1 ||
os.indexOf( "i686" ) !== -1 ||
os.indexOf( "i586" ) !== -1 ||
@@ -1565,7 +1580,7 @@ function getPlatform() {
}
}
- // 64-bit, DEB or RPM?
+ // 64-bit: DEB or RPM?
if( os.indexOf( "_64" ) !== -1 ||
os.indexOf( "-64" ) !== -1 ||
os.indexOf( "x64" ) !== -1 ||
@@ -1589,7 +1604,7 @@ function getPlatform() {
if( os.indexOf( "mac" ) !== -1 ) {
UI_PLATFORM = "OS X 64-bit (x86-64) (DMG)";
PLATFORM = "mac64";
EXTENSION = ".dmg";
- // OS X is 10.6 or older?
+ // OS X: 10.6 or older?
if( ua.indexOf( "10.6" ) !== -1 ||
ua.indexOf( "10_6" ) !== -1 ||
ua.indexOf( "10.5" ) !== -1 ||