diff --git a/source/script.php b/source/script.php
index 972476d..96244fb 100644
--- a/source/script.php
+++ b/source/script.php
@@ -203,8 +203,8 @@ class Pkg_MokoJoomBackupInstallerScript
}
}
- // Show update site link after install or update
- $this->showUpdateSiteNotice();
+ // Warn if no license key configured
+ $this->warnMissingLicenseKey();
}
/**
@@ -246,49 +246,38 @@ class Pkg_MokoJoomBackupInstallerScript
}
}
- /**
- * Show an info message linking directly to the update site record
- * so the user can configure their download key.
- *
- * @return void
- */
- private function showUpdateSiteNotice(): void
+ private function warnMissingLicenseKey(): void
{
- try {
+ try
+ {
$db = Factory::getDbo();
+ $db->setQuery(
+ $db->getQuery(true)
+ ->select([$db->quoteName('update_site_id'), $db->quoteName('extra_query')])
+ ->from($db->quoteName('#__update_sites'))
+ ->where('(' . $db->quoteName('name') . ' LIKE ' . $db->quote('%MokoJoomBackup%') . ' OR ' . $db->quoteName('location') . ' LIKE ' . $db->quote('%MokoJoomBackup%') . ')')
+ ->setLimit(1)
+ );
+ $site = $db->loadObject();
- $query = $db->getQuery(true)
- ->select($db->quoteName('us.update_site_id'))
- ->from($db->quoteName('#__update_sites', 'us'))
- ->join(
- 'INNER',
- $db->quoteName('#__update_sites_extensions', 'use')
- . ' ON ' . $db->quoteName('use.update_site_id') . ' = ' . $db->quoteName('us.update_site_id')
- )
- ->join(
- 'INNER',
- $db->quoteName('#__extensions', 'e')
- . ' ON ' . $db->quoteName('e.extension_id') . ' = ' . $db->quoteName('use.extension_id')
- )
- ->where($db->quoteName('e.element') . ' = ' . $db->quote('pkg_mokojoombackup'))
- ->where($db->quoteName('e.type') . ' = ' . $db->quote('package'))
- ->setLimit(1);
-
- $db->setQuery($query);
- $updateSiteId = (int) $db->loadResult();
-
- if ($updateSiteId > 0) {
- $editUrl = Route::_(
- 'index.php?option=com_installer&view=updatesites&filter[search]=mokojoombackup'
- );
-
- Factory::getApplication()->enqueueMessage(
- Text::sprintf('PKG_MOKOJOOMBACKUP_POSTINSTALL_UPDATE_SITE', $editUrl),
- 'info'
- );
+ if ($site)
+ {
+ $eq = (string) ($site->extra_query ?? '');
+ if (!empty($eq) && strpos($eq, 'dlid=') !== false) { parse_str($eq, $p); if (!empty($p['dlid'])) { return; } }
+ $editUrl = 'index.php?option=com_installer&task=updatesite.edit&update_site_id=' . (int) $site->update_site_id;
}
- } catch (\Throwable $e) {
- // Non-critical — silently ignore
+ else
+ {
+ $editUrl = 'index.php?option=com_installer&view=updatesites';
+ }
+
+ Factory::getApplication()->enqueueMessage(
+ 'Moko Consulting License Key Required — '
+ . 'No download key is configured. Updates will not be available until a valid license key is entered. '
+ . 'Enter License Key',
+ 'warning'
+ );
}
+ catch (\Throwable $e) {}
}
}