refactor: rename MokoJoomOpenGraph -> MokoSuiteOpenGraph; require Joomla 6+

Product rename (display name / docs / comments / language strings only —
technical element names mokoog/com_mokoog/MokoOG namespace unchanged):
- Replace "MokoJoom" -> "MokoSuite" across 55 files
- Fixes the update-site license lookup in script.php, which matched the
  old "%MokoJoomOpenGraph%" name and would never find a "MokoSuite" site

Joomla 6 compatibility:
- script.php: minimumJoomla 4.0.0 -> 6.0.0, minimumPhp 8.1.0 -> 8.2.0,
  and actually enforce the Joomla floor in preflight() (was PHP-only)
- Add PKG_MOKOOG_JOOMLA_VERSION_ERROR language strings (en-GB, en-US)
- openapi.yaml + README state Joomla 6.0+ requirement
- Audit confirmed the codebase already uses only Joomla-6-supported APIs

(cherry picked from commit 7fb7e38762)
This commit is contained in:
2026-06-28 14:31:18 -05:00
parent 5a696b0e46
commit b66387bacb
56 changed files with 98 additions and 86 deletions
+14 -4
View File
@@ -1,7 +1,7 @@
<?php
/**
* @package MokoJoomOpenGraph
* @package MokoSuiteOpenGraph
* @author Moko Consulting <hello@mokoconsulting.tech>
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE
@@ -15,8 +15,8 @@ use Joomla\CMS\Language\Text;
class Pkg_MokoOGInstallerScript
{
protected $minimumJoomla = '4.0.0';
protected $minimumPhp = '8.1.0';
protected $minimumJoomla = '6.0.0';
protected $minimumPhp = '8.2.0';
@@ -33,6 +33,16 @@ class Pkg_MokoOGInstallerScript
return false;
}
if (version_compare(JVERSION, $this->minimumJoomla, '<'))
{
Factory::getApplication()->enqueueMessage(
Text::sprintf('PKG_MOKOOG_JOOMLA_VERSION_ERROR', $this->minimumJoomla),
'error'
);
return false;
}
$this->saveDownloadKey();
return true;
@@ -128,7 +138,7 @@ class Pkg_MokoOGInstallerScript
$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('%MokoJoomOpenGraph%') . ' OR ' . $db->quoteName('location') . ' LIKE ' . $db->quote('%MokoJoomOpenGraph%') . ')')
->where('(' . $db->quoteName('name') . ' LIKE ' . $db->quote('%MokoSuiteOpenGraph%') . ' OR ' . $db->quoteName('location') . ' LIKE ' . $db->quote('%MokoSuiteOpenGraph%') . ')')
->setLimit(1)
);
$site = $db->loadObject();