feat: collapsible admin menu, cache cleaner status module, update server URL
- Admin menu module now collapses by default, auto-expands on MokoWaaS pages (CB-style) - Add mod_mokowaas_cache: one-click cache cleaner button in admin status bar (replaces Regular Labs Cache Cleaner) - clearCache now purges all cache files (not just expired), matching RL behavior - Update server URL changed to https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/updates.xml - Add setupCacheModule() to package install script Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,6 +58,9 @@ class Pkg_MokowaasInstallerScript
|
||||
// Set up admin sidebar menu module
|
||||
$this->setupAdminMenuModule();
|
||||
|
||||
// Set up cache cleaner status bar module
|
||||
$this->setupCacheModule();
|
||||
|
||||
// Create Support portal menu item on frontend
|
||||
$this->setupSupportMenuItem();
|
||||
|
||||
@@ -773,6 +776,70 @@ class Pkg_MokowaasInstallerScript
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up the cache cleaner module in the admin status bar position.
|
||||
*/
|
||||
private function setupCacheModule(): void
|
||||
{
|
||||
try
|
||||
{
|
||||
$db = Factory::getDbo();
|
||||
|
||||
// Enable the module extension
|
||||
$db->setQuery(
|
||||
$db->getQuery(true)
|
||||
->update($db->quoteName('#__extensions'))
|
||||
->set($db->quoteName('enabled') . ' = 1')
|
||||
->where($db->quoteName('type') . ' = ' . $db->quote('module'))
|
||||
->where($db->quoteName('element') . ' = ' . $db->quote('mod_mokowaas_cache'))
|
||||
)->execute();
|
||||
|
||||
// Check if module instance exists
|
||||
$db->setQuery(
|
||||
$db->getQuery(true)
|
||||
->select('COUNT(*)')
|
||||
->from($db->quoteName('#__modules'))
|
||||
->where($db->quoteName('module') . ' = ' . $db->quote('mod_mokowaas_cache'))
|
||||
);
|
||||
|
||||
if ((int) $db->loadResult() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$module = (object) [
|
||||
'title' => 'MokoWaaS Cache Cleaner',
|
||||
'note' => '',
|
||||
'content' => '',
|
||||
'ordering' => 8,
|
||||
'position' => 'status',
|
||||
'checked_out' => null,
|
||||
'checked_out_time' => null,
|
||||
'publish_up' => null,
|
||||
'publish_down' => null,
|
||||
'published' => 1,
|
||||
'module' => 'mod_mokowaas_cache',
|
||||
'access' => 3,
|
||||
'showtitle' => 0,
|
||||
'params' => '{}',
|
||||
'client_id' => 1,
|
||||
'language' => '*',
|
||||
];
|
||||
|
||||
$db->insertObject('#__modules', $module, 'id');
|
||||
|
||||
if ((int) $module->id)
|
||||
{
|
||||
$mm = (object) ['moduleid' => (int) $module->id, 'menuid' => 0];
|
||||
$db->insertObject('#__modules_menu', $mm, 'moduleid');
|
||||
}
|
||||
}
|
||||
catch (\Throwable $e)
|
||||
{
|
||||
Log::add('Cache module setup error: ' . $e->getMessage(), Log::WARNING, 'mokowaas');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a "Support" menu item on the frontend main menu.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user