diff --git a/source/script.php b/source/script.php index 2f38e791..42f89938 100644 --- a/source/script.php +++ b/source/script.php @@ -681,20 +681,26 @@ class Pkg_MokosuiteInstallerScript try { $db = Factory::getDbo(); - $db->setQuery( - $db->getQuery(true) - ->select($db->quoteName('us.extra_query')) - ->from($db->quoteName('#__update_sites', 'us')) - ->join('INNER', $db->quoteName('#__update_sites_extensions', 'use') . ' ON use.update_site_id = us.update_site_id') - ->join('INNER', $db->quoteName('#__extensions', 'e') . ' ON e.extension_id = use.extension_id') - ->where($db->quoteName('e.element') . ' = ' . $db->quote('pkg_mokosuite')) - ->setLimit(1) - ); - $key = $db->loadResult(); - if (!empty($key)) + // Check pkg_mokosuite first, then fall back to old pkg_mokowaas + foreach (['pkg_mokosuite', 'pkg_mokowaas'] as $element) { - $this->savedDownloadKey = $key; + $db->setQuery( + $db->getQuery(true) + ->select($db->quoteName('us.extra_query')) + ->from($db->quoteName('#__update_sites', 'us')) + ->join('INNER', $db->quoteName('#__update_sites_extensions', 'use') . ' ON use.update_site_id = us.update_site_id') + ->join('INNER', $db->quoteName('#__extensions', 'e') . ' ON e.extension_id = use.extension_id') + ->where($db->quoteName('e.element') . ' = ' . $db->quote($element)) + ->setLimit(1) + ); + $key = $db->loadResult(); + + if (!empty($key) && strpos($key, 'dlid=') !== false) + { + $this->savedDownloadKey = $key; + break; + } } } catch (\Throwable $e) {}