Android"
];
case 'ios':
return [
'/ios',
'iOS',
'icon-mobile',
false,
"iOS",
" iOS"
];
case 'linux':
return [
'/linux',
'Linux',
'icon-linux',
__("Download .deb"),
"Linux",
" Linux"
];
case 'osx':
return [
'/osx',
'macOS',
'icon-apple',
__("Download for macOS"),
"OSX",
" macOS"
];
case 'windows':
return [
'/windows',
'Windows',
'icon-windows',
__("Download for Windows"),
"Windows",
" Windows"
];
}
}
public static function getAll()
{
//url, English name, icon class, partial name
//yes, this is probably a bad pattern
return [
OS::OS_WINDOWS => ['/windows', 'Windows', 'icon-windows', __("Download for Windows"), "Windows"],
OS::OS_OSX => ['/osx', 'macOS', 'icon-apple', __("Download for macOS"), "OSX"],
OS::OS_LINUX => ['/linux', 'Linux', 'icon-linux', __("Download .deb"), "Linux"],
OS::OS_ANDROID => ['/android', 'Android', 'icon-android', false, false],
OS::OS_IOS => ['/ios', 'iOS', 'icon-ios', false, false]
];
}
public static function getOsForExtension($ext)
{
switch ($ext) {
case 'deb':
case 'AppImage':
return OS::OS_LINUX;
case 'dmg':
case 'pkg':
return OS::OS_OSX;
case 'msi': // fallthrough
case 'exe':
return OS::OS_WINDOWS;
case 'apk':
return OS::OS_ANDROID;
default:
throw new LogicException("Unknown ext $ext");
}
}
}