feat: full extension catalog + channel gating by domain
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: moko-platform CI / CI Summary (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 9s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 8s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: Auto Version Bump / Version Bump (push) Successful in 22s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 18s
Generic: Project CI / Lint & Validate (pull_request) Failing after 39s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 44s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 48s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 35s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 1m11s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: moko-platform CI / CI Summary (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 9s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 8s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: Auto Version Bump / Version Bump (push) Successful in 22s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 18s
Generic: Project CI / Lint & Validate (pull_request) Failing after 39s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 44s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 48s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 35s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 1m11s
- catalog.xml: all 21 MokoSuite repos listed with proper categories (Platform, Business, Industry, Content, SEO, Modules, Templates) - Update server URLs point to main branch (stable releases) - Dev channel only available on *.mokoconsulting.tech domains - Non-Moko domains forced to stable regardless of Joomla config - ExtensionsModel respects Joomla's com_installer update_channel param on Moko domains, skips dev-tagged versions on stable channel
This commit is contained in:
@@ -1,122 +1,219 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Extension catalog for MokoSuiteClient Extension Manager.
|
||||
Each entry points to the extension's own updates.xml. The installer
|
||||
resolves the latest version and download URL at runtime, respecting
|
||||
the site's configured update channel (dev/stable).
|
||||
|
||||
To add an extension: copy an <extension> block and fill in the fields.
|
||||
MokoSuite Extension Catalog
|
||||
Each entry points to the extension's updates.xml on the main branch.
|
||||
The installer resolves the latest version and download URL at runtime,
|
||||
respecting the site's configured update channel (stable/dev) from
|
||||
Joomla's com_installer params.
|
||||
-->
|
||||
<catalog>
|
||||
<!-- ═══════════════════════════════════════════════════════════════════
|
||||
Platform (Layer 0)
|
||||
═══════════════════════════════════════════════════════════════════ -->
|
||||
<extension>
|
||||
<name>MokoSuiteClient</name>
|
||||
<element>pkg_mokosuiteclient</element>
|
||||
<type>package</type>
|
||||
<description>Admin dashboard, security firewall, tenant restrictions, health monitoring, and REST API.</description>
|
||||
<description>Admin dashboard, security firewall, tenant restrictions, health monitoring, content tools, and REST API.</description>
|
||||
<icon>icon-shield-alt</icon>
|
||||
<category>Platform</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokosuiteclient-platform</article>
|
||||
<protected>true</protected>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteClient/raw/branch/dev/updates.xml</updateserver>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteClient/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteClientHQ</name>
|
||||
<element>pkg_mokosuiteclienthq</element>
|
||||
<name>MokoSuiteHQ</name>
|
||||
<element>pkg_mokosuitehq</element>
|
||||
<type>package</type>
|
||||
<description>Centralized control panel for managing all MokoSuiteClient client installations.</description>
|
||||
<description>Centralized control panel for managing all MokoSuite client installations.</description>
|
||||
<icon>icon-tachometer-alt</icon>
|
||||
<category>Platform</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokosuiteclient-base</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteClientHQ/raw/branch/dev/updates.xml</updateserver>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteHQ/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoOnyx</name>
|
||||
<element>mokoonyx</element>
|
||||
<type>template</type>
|
||||
<description>Modern Joomla site template with dark mode, custom layouts, and MokoSuiteClient integration.</description>
|
||||
<icon>icon-paint-brush</icon>
|
||||
<category>Templates</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokoonyx-template</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/raw/branch/dev/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoJoomOpenGraph</name>
|
||||
<element>pkg_mokoog</element>
|
||||
<type>package</type>
|
||||
<description>Open Graph, Twitter Card, and social sharing meta tags for articles, categories, and pages.</description>
|
||||
<icon>icon-share-alt</icon>
|
||||
<category>SEO</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokojoomopengraph</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomOpenGraph/raw/branch/dev/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteClientBackup</name>
|
||||
<element>pkg_mokojoombackup</element>
|
||||
<name>MokoSuiteBackup</name>
|
||||
<element>pkg_mokosuitebackup</element>
|
||||
<type>package</type>
|
||||
<description>Full-site backup and restore for Joomla — database, files, and configuration.</description>
|
||||
<icon>icon-archive</icon>
|
||||
<category>Tools</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokosuiteclientbackup</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteClientBackup/raw/branch/dev/updates.xml</updateserver>
|
||||
<category>Platform</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
|
||||
<!-- ═══════════════════════════════════════════════════════════════════
|
||||
Business Suite (Layers 1-4)
|
||||
═══════════════════════════════════════════════════════════════════ -->
|
||||
<extension>
|
||||
<name>MokoSuiteCRM</name>
|
||||
<element>pkg_mokosuitecrm</element>
|
||||
<type>package</type>
|
||||
<description>Layer 1 — Contacts, deals pipeline, activities, e-signature, email integration, helpdesk.</description>
|
||||
<icon>icon-address-book</icon>
|
||||
<category>Business</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteCRM/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteERP</name>
|
||||
<element>pkg_mokosuiteerp</element>
|
||||
<type>package</type>
|
||||
<description>Layer 2 — Products, orders, invoicing, inventory, warehouses, accounting, payments.</description>
|
||||
<icon>icon-briefcase</icon>
|
||||
<category>Business</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteERP/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteShop</name>
|
||||
<element>pkg_mokosuiteshop</element>
|
||||
<type>package</type>
|
||||
<description>Layer 3 — Product catalog, shopping cart, checkout, coupons. Requires MokoSuiteERP.</description>
|
||||
<icon>icon-shopping-cart</icon>
|
||||
<category>Business</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteShop/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuitePOS</name>
|
||||
<element>pkg_mokosuitepos</element>
|
||||
<type>package</type>
|
||||
<description>Layer 3 — Touch-screen POS, multi-terminal, cash register, receipt printing.</description>
|
||||
<icon>icon-calculator</icon>
|
||||
<category>Business</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuitePOS/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteMRP</name>
|
||||
<element>pkg_mokosuitemrp</element>
|
||||
<type>package</type>
|
||||
<description>Layer 3 — BOM, manufacturing orders, workstation management, production scheduling.</description>
|
||||
<icon>icon-cog</icon>
|
||||
<category>Business</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteMRP/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteHRM</name>
|
||||
<element>pkg_mokosuitehrm</element>
|
||||
<type>package</type>
|
||||
<description>Layer 3 — Human Resource Management: employees, leave, expenses, payroll, recruiting.</description>
|
||||
<icon>icon-users</icon>
|
||||
<category>Business</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteHRM/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteRestaurant</name>
|
||||
<element>pkg_mokosuiterestaurant</element>
|
||||
<type>package</type>
|
||||
<description>Layer 4 — Floor plan, table management, kitchen display, split bills, online ordering.</description>
|
||||
<icon>icon-utensils</icon>
|
||||
<category>Industry</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteRestaurant/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteChild</name>
|
||||
<element>pkg_mokosuitechild</element>
|
||||
<type>package</type>
|
||||
<description>Layer 2 — Child Care Management: enrollment, attendance, billing, parent portal.</description>
|
||||
<icon>icon-child</icon>
|
||||
<category>Industry</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteChild/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteNPO</name>
|
||||
<element>pkg_mokosuitenpo</element>
|
||||
<type>package</type>
|
||||
<description>Nonprofit management: donors, donations, campaigns, grants, volunteers, events.</description>
|
||||
<icon>icon-heart</icon>
|
||||
<category>Industry</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteNPO/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteField</name>
|
||||
<element>pkg_mokosuitefield</element>
|
||||
<type>package</type>
|
||||
<description>Field Service — dispatch, work orders, scheduling, mobile tech, plumbing/HVAC.</description>
|
||||
<icon>icon-wrench</icon>
|
||||
<category>Industry</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteField/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteCreate</name>
|
||||
<element>pkg_mokosuitecreate</element>
|
||||
<type>package</type>
|
||||
<description>Layer 2 — Creative Agency: projects, tasks, timesheets, client proofing.</description>
|
||||
<icon>icon-paint-brush</icon>
|
||||
<category>Industry</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteCreate/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
|
||||
<!-- ═══════════════════════════════════════════════════════════════════
|
||||
Content & Community
|
||||
═══════════════════════════════════════════════════════════════════ -->
|
||||
<extension>
|
||||
<name>MokoSuiteForms</name>
|
||||
<element>pkg_mokosuiteforms</element>
|
||||
<type>package</type>
|
||||
<description>Form builder — custom forms, submissions, notifications, and data exports.</description>
|
||||
<icon>icon-list-alt</icon>
|
||||
<category>Content</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteForms/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteCommunity</name>
|
||||
<element>pkg_mokosuitecommunity</element>
|
||||
<type>package</type>
|
||||
<description>Community profiles, connections, and activity streams for Joomla.</description>
|
||||
<icon>icon-users</icon>
|
||||
<category>Content</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteCommunity/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteCross</name>
|
||||
<element>pkg_mokosuitecross</element>
|
||||
<type>package</type>
|
||||
<description>Cross-posting Joomla content to social media, email marketing, and chat platforms.</description>
|
||||
<icon>icon-share-alt</icon>
|
||||
<category>Content</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteCross/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteOpenGraph</name>
|
||||
<element>pkg_mokosuiteopengraph</element>
|
||||
<type>package</type>
|
||||
<description>Open Graph, Twitter Card, JSON-LD structured data, and social sharing meta tags.</description>
|
||||
<icon>icon-share-alt</icon>
|
||||
<category>SEO</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoSuiteStoreLocator</name>
|
||||
<element>pkg_mokosuitestorelocator</element>
|
||||
<type>package</type>
|
||||
<description>Interactive map, location search, and admin management for store locations.</description>
|
||||
<icon>icon-map-marker-alt</icon>
|
||||
<category>Content</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteStoreLocator/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
|
||||
<!-- ═══════════════════════════════════════════════════════════════════
|
||||
Standalone Extensions (MokoJoom)
|
||||
═══════════════════════════════════════════════════════════════════ -->
|
||||
<extension>
|
||||
<name>MokoJoomHero</name>
|
||||
<element>mod_mokojoomhero</element>
|
||||
<type>module</type>
|
||||
<description>Random hero image module from a configurable folder.</description>
|
||||
<description>Hero module — image slideshow, video backgrounds, solid color/gradient, parallax.</description>
|
||||
<icon>icon-image</icon>
|
||||
<category>Modules</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokojoomhero</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/dev/updates.xml</updateserver>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
|
||||
<!-- ═══════════════════════════════════════════════════════════════════
|
||||
Templates
|
||||
═══════════════════════════════════════════════════════════════════ -->
|
||||
<extension>
|
||||
<name>MokoJoomCommunity</name>
|
||||
<element>pkg_mokojoomcommunity</element>
|
||||
<type>package</type>
|
||||
<description>Community Builder integration package with custom fields and user management.</description>
|
||||
<icon>icon-users</icon>
|
||||
<category>Community</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokojoomcommunity</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomCommunity/raw/branch/dev/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoJoomCross</name>
|
||||
<element>plg_system_mokojoomcross</element>
|
||||
<type>plugin</type>
|
||||
<description>Cross-extension integration plugin for Joomla component interoperability.</description>
|
||||
<icon>icon-link</icon>
|
||||
<category>Plugins</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokojoomcross</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomCross/raw/branch/dev/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>MokoJoomStoreLocator</name>
|
||||
<element>mod_mokojoomstorelocator</element>
|
||||
<type>module</type>
|
||||
<description>Store locator module with Google Maps integration and search.</description>
|
||||
<icon>icon-map-marker-alt</icon>
|
||||
<category>Modules</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokojoomstorelocator</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoJoomStoreLocator/raw/branch/dev/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>DPCalendar API</name>
|
||||
<element>mokodpcalendarapi</element>
|
||||
<type>plugin</type>
|
||||
<description>Web Services plugin exposing DPCalendar events and calendars via REST API.</description>
|
||||
<icon>icon-calendar</icon>
|
||||
<category>Plugins</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokodpcalendarapi</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoDPCalendarAPI/raw/branch/dev/updates.xml</updateserver>
|
||||
</extension>
|
||||
<extension>
|
||||
<name>Gallery Calendar</name>
|
||||
<element>mokogallerycalendar</element>
|
||||
<type>plugin</type>
|
||||
<description>JoomGallery and DPCalendar integration — link galleries to events.</description>
|
||||
<icon>icon-images</icon>
|
||||
<category>Plugins</category>
|
||||
<article>https://mokoconsulting.tech/support/products/mokogallerycalendar</article>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar/raw/branch/dev/updates.xml</updateserver>
|
||||
<name>MokoOnyx</name>
|
||||
<element>mokoonyx</element>
|
||||
<type>template</type>
|
||||
<description>Modern Joomla site template with dark mode, custom layouts, and MokoSuite integration.</description>
|
||||
<icon>icon-paint-brush</icon>
|
||||
<category>Templates</category>
|
||||
<updateserver>https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/raw/branch/main/updates.xml</updateserver>
|
||||
</extension>
|
||||
</catalog>
|
||||
|
||||
@@ -238,8 +238,15 @@ class ExtensionsModel extends BaseDatabaseModel
|
||||
return [];
|
||||
}
|
||||
|
||||
// Determine site's update channel preference
|
||||
$channel = 'dev'; // default to dev — show everything
|
||||
// Dev channel only available on Moko domains; all others forced to stable
|
||||
$isMokoDomain = (bool) preg_match('/\.mokoconsulting\.tech$/i', $_SERVER['HTTP_HOST'] ?? '');
|
||||
$channel = 'stable';
|
||||
if ($isMokoDomain) {
|
||||
try {
|
||||
$channel = \Joomla\CMS\Component\ComponentHelper::getParams('com_installer')
|
||||
->get('update_channel', 'stable') ?: 'stable';
|
||||
} catch (\Throwable $e) {}
|
||||
}
|
||||
$hasStable = false;
|
||||
$hasDev = false;
|
||||
|
||||
@@ -269,7 +276,18 @@ class ExtensionsModel extends BaseDatabaseModel
|
||||
$hasDev = true;
|
||||
}
|
||||
|
||||
if ($ver === '' || version_compare($ver, $bestVersion, '<='))
|
||||
if ($ver === '')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Respect update channel: stable channel skips dev-tagged versions
|
||||
if ($channel === 'stable' && $tag === 'dev')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (version_compare($ver, $bestVersion, '<='))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user