diff --git a/controller/action/DeveloperActions.class.php b/controller/action/DeveloperActions.class.php index 329ee7ef..c3019704 100644 --- a/controller/action/DeveloperActions.class.php +++ b/controller/action/DeveloperActions.class.php @@ -47,6 +47,14 @@ class DeveloperActions extends Actions ]; } + + public static function prepareQuickstartInstallPartial(array $vars) + { + return $vars + [ + 'version' => 'foo' + ]; + } + public static function prepareFormNewDeveloperRewardPartial(array $vars) { return $vars + [ diff --git a/controller/action/DownloadActions.class.php b/controller/action/DownloadActions.class.php index a6743b4b..227c3817 100644 --- a/controller/action/DownloadActions.class.php +++ b/controller/action/DownloadActions.class.php @@ -8,15 +8,15 @@ class DownloadActions extends Actions switch ($ext) { case 'deb': - $uri = GitHub::getDownloadUrl(OS::OS_LINUX); + $uri = GitHub::getAppDownloadUrl(OS::OS_LINUX); break; case 'dmg': - $uri = GitHub::getDownloadUrl(OS::OS_OSX); + $uri = GitHub::getAppDownloadUrl(OS::OS_OSX); break; case 'msi': - $uri = GitHub::getDownloadUrl(OS::OS_WINDOWS); + $uri = GitHub::getAppDownloadUrl(OS::OS_WINDOWS); break; } @@ -68,7 +68,7 @@ class DownloadActions extends Actions 'osIcon' => $osIcon, 'prefineryUser' => $user ?: [], 'downloadHtml' => View::exists('download/' . $partial) ? - View::render('download/' . $partial, ['downloadUrl' => Github::getDownloadUrl($os)]) : + View::render('download/' . $partial, ['downloadUrl' => Github::getAppDownloadUrl($os)]) : false ]]; } diff --git a/lib/thirdparty/Github.class.php b/lib/thirdparty/Github.class.php index 86149032..676a212c 100644 --- a/lib/thirdparty/Github.class.php +++ b/lib/thirdparty/Github.class.php @@ -2,7 +2,7 @@ class Github { - public static function getDownloadUrl($os, $cache = true) + public static function getAppDownloadUrl($os, $cache = true) { if (!in_array($os, array_keys(OS::getAll()))) { @@ -32,6 +32,39 @@ class Github return null; } + public static function getDaemonDownloadUrl($os, $cache = true) + { + if (!in_array($os, array_keys(OS::getAll()))) + { + throw new DomainException('Unknown OS'); + } + + try + { + $releaseData = static::get('/repos/lbryio/lbry/releases/latest', $cache); + foreach ($releaseData['assets'] as $asset) + { + echo '
'; + print_r($asset); + echo ''; + $ext = substr($asset['name'], -4); + if ( + ($os == OS::OS_LINUX && ($ext == '.deb' || in_array($asset['content_type'], ['application/x-debian-package', 'application/x-deb']))) || + ($os == OS::OS_OSX && ($ext == '.dmg' || in_array($asset['content_type'], ['application/x-diskcopy', 'application/x-apple-diskimage']))) || + ($os == OS::OS_WINDOWS && $ext == '.exe') + ) + { + return $asset['browser_download_url']; + } + } + } + catch (Exception $e) + { + } + + return null; + } + public static function get($endpoint, $cache = true) { $twoHoursInSeconds = 7200; diff --git a/view/template/developer/_quickstartInstall.php b/view/template/developer/_quickstartInstall.php index a26baf1d..60911c4c 100644 --- a/view/template/developer/_quickstartInstall.php +++ b/view/template/developer/_quickstartInstall.php @@ -1,4 +1,9 @@
+ + + +