feat: retire MokoJoomTOS, MokoATS-Automation, MokoDPCalendarAPI, MokoGalleryCalendar

Add to removeRetiredExtensions(): uninstalls plugins, removes update sites,
and deletes files on MokoWaaS install/update. These features are now built
into MokoWaaS directly.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan Miller
2026-06-04 10:30:09 -05:00
parent b32a7c12e7
commit 3f69fe6fc1
+34
View File
@@ -273,6 +273,10 @@ class Pkg_MokowaasInstallerScript
{
$retired = [
['type' => 'plugin', 'folder' => 'system', 'element' => 'mokowaas_monitor'],
['type' => 'plugin', 'folder' => 'system', 'element' => 'mokojoomtos'],
['type' => 'plugin', 'folder' => 'system', 'element' => 'mokoatsautomation'],
['type' => 'plugin', 'folder' => 'webservices', 'element' => 'mokodpcalendarapi'],
['type' => 'plugin', 'folder' => 'system', 'element' => 'mokogallerycalendar'],
];
try
@@ -304,6 +308,36 @@ class Pkg_MokowaasInstallerScript
->where($db->quoteName('extension_id') . ' = ' . $extId)
)->execute();
// Remove update site links and update sites
$db->setQuery(
$db->getQuery(true)
->select($db->quoteName('update_site_id'))
->from($db->quoteName('#__update_sites_extensions'))
->where($db->quoteName('extension_id') . ' = ' . $extId)
);
$siteIds = $db->loadColumn();
$db->setQuery(
$db->getQuery(true)
->delete($db->quoteName('#__update_sites_extensions'))
->where($db->quoteName('extension_id') . ' = ' . $extId)
)->execute();
if (!empty($siteIds))
{
$db->setQuery(
$db->getQuery(true)
->delete($db->quoteName('#__updates'))
->where($db->quoteName('update_site_id') . ' IN (' . implode(',', $siteIds) . ')')
)->execute();
$db->setQuery(
$db->getQuery(true)
->delete($db->quoteName('#__update_sites'))
->where($db->quoteName('update_site_id') . ' IN (' . implode(',', $siteIds) . ')')
)->execute();
}
// Remove extension record
$db->setQuery(
$db->getQuery(true)