From 26e7be57d3b06241a03ecc5f3fad44b43d0f7360 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Thu, 2 Apr 2026 11:17:53 -0500 Subject: [PATCH] Hero variable system, CSS fallbacks, header cleanup, remove mobile overrides - Hero card fully variable-driven: --hero-card-bg/color/overlay/border-radius/padding/max-width - Alternative hero variant: --hero-alt-card-* for secondary theme - Overlay bg-position and bg-size now customizable via variables - Mobile breakpoint: photo bg hidden, hero full-bleed on small screens - Added fallback values to 1365 var() calls in template.css - .btn --btn-bg changed from transparent to var(--body-bg) in dark/light themes - .offcanvas-header .btn-close gets background-color from overlay - Stripped file info headers (@package/DEFGROUP/VERSION) from 48 files, kept copyright/SPDX - Synced all theme variables across standard and custom templates - Removed 26 mobile.php layout overrides - Added *.py to .gitignore, card-border-radius fallback Co-Authored-By: Claude Opus 4.6 (1M context) --- .gitignore | 1 + src/html/com_comprofiler/login/mobile.php | 112 - src/html/com_comprofiler/registers/mobile.php | 136 - .../com_comprofiler/userprofile/mobile.php | 100 - src/html/com_comprofiler/userslist/mobile.php | 123 - src/html/com_content/article/toc-left.php | 15 +- src/html/com_content/article/toc-right.php | 15 +- src/html/com_jem/calendar/mobile.php | 167 -- src/html/com_jem/categories/mobile.php | 111 - src/html/com_jem/event/mobile.php | 212 -- src/html/com_jem/eventslist/mobile.php | 147 - src/html/com_jem/venue/mobile.php | 188 -- src/html/com_kunena/category/mobile.php | 70 - src/html/com_osmembership/plans/mobile.php | 141 - src/html/mod_acymailing/mobile.php | 82 - src/html/mod_cblogin/mobile.php | 164 - src/html/mod_comprofilerOnline/mobile.php | 99 - src/html/mod_custom/hero.php | 10 +- src/html/mod_hikashop_cart/mobile.php | 110 - src/html/mod_k2_content/mobile.php | 112 - src/html/mod_kunenalatest/mobile.php | 110 - src/html/mod_kunenalogin/mobile.php | 188 -- src/html/mod_kunenasearch/mobile.php | 74 - src/html/mod_kunenastats/mobile.php | 100 - src/html/mod_menu/mainmenu.php | 10 +- src/html/mod_menu/mainmenu_component.php | 10 +- src/html/mod_menu/mainmenu_heading.php | 10 +- src/html/mod_menu/mainmenu_separator.php | 10 +- src/html/mod_menu/mainmenu_url.php | 10 +- src/html/mod_osmembership/mobile.php | 105 - src/html/mod_virtuemart_cart/mobile.php | 122 - src/html/mod_virtuemart_category/mobile.php | 85 - src/html/mod_virtuemart_currencies/mobile.php | 72 - .../mod_virtuemart_manufacturer/mobile.php | 59 - src/html/mod_virtuemart_product/mobile.php | 93 - src/index.php | 4 +- src/media/css/editor.css | 9 - src/media/css/fonts/fira-sans.css | 10 +- src/media/css/fonts/noto-sans.css | 10 +- src/media/css/fonts/osaka.css | 9 +- src/media/css/fonts/roboto.css | 10 +- .../css/system/searchtools/searchtools.css | 9 - src/media/css/template-rtl.css | 9 - src/media/css/template.css | 2663 +++++++++-------- src/media/css/theme/dark.standard.css | 33 +- src/media/css/theme/light.standard.css | 33 +- src/media/js/gtm.js | 18 - src/media/js/mod_menu/menu-metismenu-es5.js | 9 - src/media/js/mod_menu/menu-metismenu.js | 9 - src/media/js/template.js | 9 - src/script.php | 12 +- src/sync_custom_vars.php | 20 +- src/templates/dark.custom.css | 342 ++- src/templates/light.custom.css | 494 ++- 54 files changed, 2143 insertions(+), 4742 deletions(-) delete mode 100644 src/html/com_comprofiler/login/mobile.php delete mode 100644 src/html/com_comprofiler/registers/mobile.php delete mode 100644 src/html/com_comprofiler/userprofile/mobile.php delete mode 100644 src/html/com_comprofiler/userslist/mobile.php delete mode 100644 src/html/com_jem/calendar/mobile.php delete mode 100644 src/html/com_jem/categories/mobile.php delete mode 100644 src/html/com_jem/event/mobile.php delete mode 100644 src/html/com_jem/eventslist/mobile.php delete mode 100644 src/html/com_jem/venue/mobile.php delete mode 100644 src/html/com_kunena/category/mobile.php delete mode 100644 src/html/com_osmembership/plans/mobile.php delete mode 100644 src/html/mod_acymailing/mobile.php delete mode 100644 src/html/mod_cblogin/mobile.php delete mode 100644 src/html/mod_comprofilerOnline/mobile.php delete mode 100644 src/html/mod_hikashop_cart/mobile.php delete mode 100644 src/html/mod_k2_content/mobile.php delete mode 100644 src/html/mod_kunenalatest/mobile.php delete mode 100644 src/html/mod_kunenalogin/mobile.php delete mode 100644 src/html/mod_kunenasearch/mobile.php delete mode 100644 src/html/mod_kunenastats/mobile.php delete mode 100644 src/html/mod_osmembership/mobile.php delete mode 100644 src/html/mod_virtuemart_cart/mobile.php delete mode 100644 src/html/mod_virtuemart_category/mobile.php delete mode 100644 src/html/mod_virtuemart_currencies/mobile.php delete mode 100644 src/html/mod_virtuemart_manufacturer/mobile.php delete mode 100644 src/html/mod_virtuemart_product/mobile.php diff --git a/.gitignore b/.gitignore index 6af5e52..c6d54c6 100644 --- a/.gitignore +++ b/.gitignore @@ -164,6 +164,7 @@ phpmd-cache/ # ============================================================ # Python # ============================================================ +*.py __pycache__/ *.py[cod] *.pyc diff --git a/src/html/com_comprofiler/login/mobile.php b/src/html/com_comprofiler/login/mobile.php deleted file mode 100644 index c2d7f96..0000000 --- a/src/html/com_comprofiler/login/mobile.php +++ /dev/null @@ -1,112 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for Community Builder login view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; - -$return = $this->return ?? ''; -$showRegisterLink = $this->showRegisterLink ?? true; -$showLostPasswordLink = $this->showLostPasswordLink ?? true; -?> - -
- -
diff --git a/src/html/com_comprofiler/registers/mobile.php b/src/html/com_comprofiler/registers/mobile.php deleted file mode 100644 index 01a65fd..0000000 --- a/src/html/com_comprofiler/registers/mobile.php +++ /dev/null @@ -1,136 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for Community Builder registration view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -// Get form and fields -$form = $this->form ?? null; -$tabs = $this->tabs ?? null; -?> - -
-
-

- -

- - introduction ?? null) : ?> -
- introduction; ?> -
- -
- - -
- - - - fields) && !empty($tab->fields)) : ?> -
- title) : ?> - - title, ENT_QUOTES, 'UTF-8'); ?> - - - - description) : ?> -
- description; ?> -
- - -
- fields as $field) : ?> -
- - - description) : ?> -
- description; ?> -
- - -
- input; ?> -
- - error) && $field->error) : ?> - - -
- -
-
- - - - - showCaptcha ?? false) : ?> -
- captcha; ?> -
- - - showTerms ?? false) : ?> -
-
- - -
-
- - -
- - - - - - -
- - token ?? ''; ?> -
- - - -
diff --git a/src/html/com_comprofiler/userprofile/mobile.php b/src/html/com_comprofiler/userprofile/mobile.php deleted file mode 100644 index 8d8e6c3..0000000 --- a/src/html/com_comprofiler/userprofile/mobile.php +++ /dev/null @@ -1,100 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for Community Builder user profile view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -// Get user object -$user = $this->user ?? null; -$tabs = $this->tabs ?? null; -?> - -
- -
- getField('avatar', null, 'html', 'none', 'profile')) : ?> -
- getField('avatar', null, 'html', 'none', 'profile'); ?> -
- - -
-

- getField('formatname', null, 'html', 'none', 'profile'), ENT_QUOTES, 'UTF-8'); ?> -

- - getField('onlinestatus', null, 'html', 'none', 'profile')) : ?> -
- getField('onlinestatus', null, 'html', 'none', 'profile'); ?> -
- -
-
- - -
- - -
- - fields) && !empty($tab->fields)) : ?> -
- - description) : ?> -
- description; ?> -
- - -
- fields as $field) : ?> - value) : ?> -
-
- title, ENT_QUOTES, 'UTF-8'); ?> -
-
- value; ?> -
-
- - -
-
- - -
-
- - - - -
diff --git a/src/html/com_comprofiler/userslist/mobile.php b/src/html/com_comprofiler/userslist/mobile.php deleted file mode 100644 index 2e25d70..0000000 --- a/src/html/com_comprofiler/userslist/mobile.php +++ /dev/null @@ -1,123 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for Community Builder users list view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; - -// Get users list -$users = $this->users ?? []; -$pagination = $this->pagination ?? null; -$search = $this->search ?? ''; -$listid = $this->listid ?? 0; -?> - -
-
-

- -

- - showSearch ?? true) : ?> - - -
- - -
- -
- getField('avatar', null, 'html', 'none', 'list')) : ?> - - - - -
- -
- - -
- getPagesLinks(); ?> -
- - - - -
diff --git a/src/html/com_content/article/toc-left.php b/src/html/com_content/article/toc-left.php index fe1eb75..1310b3a 100644 --- a/src/html/com_content/article/toc-left.php +++ b/src/html/com_content/article/toc-left.php @@ -1,17 +1,10 @@ * - * @copyright (C) 2026 Moko Consulting - * @license GNU General Public License version 3 or later; see LICENSE.txt - * - * FILE INFORMATION - * DEFGROUP: Joomla.Template.Site - * INGROUP: MokoCassiopeia - * PATH: ./templates/mokocassiopeia/html/com_content/article/toc-left.php - * VERSION: 03.09.02 - * BRIEF: Article layout with table of contents on the left side using Bootstrap TOC + * This file is part of a Moko Consulting project. + * + * SPDX-License-Identifier: GPL-3.0-or-later */ defined('_JEXEC') or die; diff --git a/src/html/com_content/article/toc-right.php b/src/html/com_content/article/toc-right.php index b710d24..d54c4b8 100644 --- a/src/html/com_content/article/toc-right.php +++ b/src/html/com_content/article/toc-right.php @@ -1,17 +1,10 @@ * - * @copyright (C) 2026 Moko Consulting - * @license GNU General Public License version 3 or later; see LICENSE.txt - * - * FILE INFORMATION - * DEFGROUP: Joomla.Template.Site - * INGROUP: MokoCassiopeia - * PATH: ./templates/mokocassiopeia/html/com_content/article/toc-right.php - * VERSION: 03.09.02 - * BRIEF: Article layout with table of contents on the right side using Bootstrap TOC + * This file is part of a Moko Consulting project. + * + * SPDX-License-Identifier: GPL-3.0-or-later */ defined('_JEXEC') or die; diff --git a/src/html/com_jem/calendar/mobile.php b/src/html/com_jem/calendar/mobile.php deleted file mode 100644 index ec2c307..0000000 --- a/src/html/com_jem/calendar/mobile.php +++ /dev/null @@ -1,167 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for JEM calendar view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; -use Joomla\CMS\HTML\HTMLHelper; - -$events = $this->rows ?? []; -$date = $this->date ?? null; -$year = $this->year ?? date('Y'); -$month = $this->month ?? date('m'); -?> - -
-
- - -
-

- -

-
- - -
- - - - -

- -

- - - - -
- - -
- -
- -
- -
- -
- - -
- -
- dates) && date('Y-m-d', strtotime($event->dates)) == $currentDate) { - $hasEvents = true; - $dayEvents[] = $event; - } - } - } - - $isToday = ($currentDate == date('Y-m-d')); - $classes = 'jem-calendar__day'; - if ($hasEvents) { - $classes .= ' jem-calendar__day--has-events'; - } - if ($isToday) { - $classes .= ' jem-calendar__day--today'; - } - ?> -
-
- -
- -
- - - -
- -
- -
-
- - - -
-

- -

-
- -
-
- dates)) : ?> - - -
-

- slug)) : ?> - - escape($event->title); ?> - - - escape($event->title); ?> - -

- venue)) : ?> -
- 📍 escape($event->venue); ?> -
- -
- -
-
- - -
-
diff --git a/src/html/com_jem/categories/mobile.php b/src/html/com_jem/categories/mobile.php deleted file mode 100644 index 7c704a7..0000000 --- a/src/html/com_jem/categories/mobile.php +++ /dev/null @@ -1,111 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for JEM categories view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; - -$categories = $this->categories ?? []; -?> - -
-
- - -
-

- -

-
- - -
- -
-
- - - image)) : ?> -
- <?php echo $this->escape($category->catname); ?> -
- - - -
- - -

- slug)) : ?> - - escape($category->catname); ?> - - - escape($category->catname); ?> - -

- - - catdescription)) : ?> -
- catdescription; ?> -
- - - - eventcount)) : ?> -
- - eventcount); ?> - -
- - - - slug)) : ?> -
- - - -
- - -
- -
-
- -
- - - pagination)) : ?> -
- pagination->getPagesLinks(); ?> -
- - - -
-

- -

-
- - -
-
diff --git a/src/html/com_jem/event/mobile.php b/src/html/com_jem/event/mobile.php deleted file mode 100644 index 43f90c8..0000000 --- a/src/html/com_jem/event/mobile.php +++ /dev/null @@ -1,212 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for JEM event details view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; -use Joomla\CMS\HTML\HTMLHelper; - -$item = $this->item ?? null; -$params = $this->params ?? null; - -if (!$item) { - return; -} -?> - -
-
- - -
-

- escape($item->title); ?> -

-
- - - datimage)) : ?> -
- <?php echo $this->escape($item->title); ?> -
- - - -
- - -
- -
- - : - - dates)) : ?> - - - - enddates) && $item->enddates != $item->dates) : ?> - - - - -
-
- - - times)) : ?> -
- -
- - : - - - escape($item->times); ?> - endtimes)) : ?> - - escape($item->endtimes); ?> - - -
-
- - - - venue)) : ?> -
- -
- - : - - venueslug)) : ?> - - escape($item->venue); ?> - - - - escape($item->venue); ?> - - - - street) || !empty($item->city)) : ?> -
- street)) : ?> - - escape($item->street); ?> - - - city)) : ?> - - escape($item->city); ?> - - -
- -
-
- - - - categories)) : ?> -
- -
- - : - -
- categories as $category) : ?> - - escape($category->catname); ?> - - -
-
-
- - -
- - - fulltext)) : ?> -
-

- -

-
- fulltext; ?> -
-
- - - - registra) && $item->registra == 1) : ?> -
-

- -

- maxplaces)) : ?> -

- : - maxplaces; ?> -

- - waitinglist)) : ?> -

- -

- -
- - - - contactname)) : ?> -
-

- -

-

- : - escape($item->contactname); ?> -

- contactemail)) : ?> -

- : - - escape($item->contactemail); ?> - -

- -
- - - -
- - - -
- -
-
diff --git a/src/html/com_jem/eventslist/mobile.php b/src/html/com_jem/eventslist/mobile.php deleted file mode 100644 index b7b6d65..0000000 --- a/src/html/com_jem/eventslist/mobile.php +++ /dev/null @@ -1,147 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for JEM events list view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; -use Joomla\CMS\HTML\HTMLHelper; - -// Load JEM helper if available -if (file_exists(JPATH_SITE . '/components/com_jem/helpers/helper.php')) { - require_once JPATH_SITE . '/components/com_jem/helpers/helper.php'; -} - -$items = $this->items ?? []; -$params = $this->params ?? null; -?> - -
-
- - pageheading)) : ?> -
-

- escape($this->pageheading); ?> -

-
- - - -
- -
-
- - -
- dates)) : ?> - - - - enddates) && $item->enddates != $item->dates) : ?> - - - - -
- - -

- slug)) : ?> - - escape($item->title); ?> - - - escape($item->title); ?> - -

- - - venue)) : ?> -
- - venueslug)) : ?> - - escape($item->venue); ?> - - - - escape($item->venue); ?> - - - - city)) : ?> - - , escape($item->city); ?> - - -
- - - - introtext)) : ?> -
- introtext; ?> -
- - - - categories)) : ?> -
- categories as $category) : ?> - - escape($category->catname); ?> - - -
- - - - slug)) : ?> -
- - - -
- - -
-
- -
- - - pagination)) : ?> -
- pagination->getPagesLinks(); ?> -
- - - -
-

- -

-
- - -
-
diff --git a/src/html/com_jem/venue/mobile.php b/src/html/com_jem/venue/mobile.php deleted file mode 100644 index 6c69804..0000000 --- a/src/html/com_jem/venue/mobile.php +++ /dev/null @@ -1,188 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for JEM venue view - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; -use Joomla\CMS\HTML\HTMLHelper; - -$venue = $this->venue ?? null; -$events = $this->rows ?? []; - -if (!$venue) { - return; -} -?> - -
-
- - -
-

- escape($venue->venue); ?> -

-
- - - locimage)) : ?> -
- <?php echo $this->escape($venue->venue); ?> -
- - - -
- - - street) || !empty($venue->city) || !empty($venue->postalCode)) : ?> -
- -
- - : - -
- street)) : ?> -
- escape($venue->street); ?> -
- - postalCode) || !empty($venue->city)) : ?> -
- postalCode)) : ?> - - escape($venue->postalCode); ?> - - - city)) : ?> - - escape($venue->city); ?> - - -
- - state)) : ?> -
- escape($venue->state); ?> -
- - country)) : ?> -
- escape($venue->country); ?> -
- -
-
-
- - - - url)) : ?> -
- - -
- - - - locdescription)) : ?> -
-

- -

-
- locdescription; ?> -
-
- - -
- - - latitude) && !empty($venue->longitude)) : ?> -
-

- -

-
- -
-

-

- - - -

-
-
-
- - - - -
-

- -

-
- -
-
- dates)) : ?> - - -
-

- slug)) : ?> - - escape($event->title); ?> - - - escape($event->title); ?> - -

-
- -
-
- - - -
- - - -
- -
-
diff --git a/src/html/com_kunena/category/mobile.php b/src/html/com_kunena/category/mobile.php deleted file mode 100644 index a45ece9..0000000 --- a/src/html/com_kunena/category/mobile.php +++ /dev/null @@ -1,70 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for Kunena category list - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$this->document->addStyleDeclaration(' -.kunena-category-list-responsive { - width: 100%; -} - -.kunena-category-responsive { - background: var(--body-bg); - border: 1px solid var(--border-color); - border-radius: var(--border-radius); - padding: 1rem; - margin-bottom: 1rem; - transition: all 0.2s; -} - -.kunena-category-responsive:hover { - background: var(--secondary-bg); - border-color: var(--color-primary); -} - -@media (max-width: 575.98px) { - .kunena-category-responsive { - padding: 0.75rem; - } -} -'); -?> - -
- categories)) : ?> - categories as $category) : ?> -
-

- - escape($category->name); ?> - -

- - description) : ?> -
- displayField('description'); ?> -
- - -
- : numTopics; ?> - : numPosts; ?> -
-
- - -
- -
- -
diff --git a/src/html/com_osmembership/plans/mobile.php b/src/html/com_osmembership/plans/mobile.php deleted file mode 100644 index 41a447c..0000000 --- a/src/html/com_osmembership/plans/mobile.php +++ /dev/null @@ -1,141 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for OS Membership plans list - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$this->document->addStyleDeclaration(' -.osmembership-plans-responsive { - display: grid; - gap: 2rem; - grid-template-columns: 1fr; -} - -.osmembership-plan-card { - background: var(--body-bg); - border: 2px solid var(--border-color); - border-radius: var(--border-radius); - padding: 2rem; - transition: all 0.3s; - display: flex; - flex-direction: column; -} - -.osmembership-plan-card:hover { - transform: translateY(-4px); - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); - border-color: var(--color-primary); -} - -.osmembership-plan-card--featured { - border-color: var(--color-primary); - position: relative; -} - -.osmembership-plan-card--featured::before { - content: "' . Text::_('OSM_POPULAR') . '"; - position: absolute; - top: -12px; - right: 20px; - background: var(--color-primary); - color: white; - padding: 0.25rem 1rem; - border-radius: 1rem; - font-size: 0.875rem; - font-weight: 600; -} - -@media (min-width: 768px) { - .osmembership-plans-responsive { - grid-template-columns: repeat(2, 1fr); - } -} - -@media (min-width: 992px) { - .osmembership-plans-responsive { - grid-template-columns: repeat(3, 1fr); - } -} - -@media (min-width: 1200px) { - .osmembership-plans-responsive.osmembership-plans--many { - grid-template-columns: repeat(4, 1fr); - } -} -'); -?> - -
- items as $item) : ?> -
- image)) : ?> -
- <?php echo htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?> -
- - -

- title, ENT_COMPAT, 'UTF-8'); ?> -

- -
- price > 0) : ?> -
- config->currency_symbol; ?> - price, 0); ?> -
- subscription_length > 0) : ?> -
- subscription_length . ' ' . Text::_('OSM_' . strtoupper($item->subscription_length_unit)); ?> -
- - -
- -
- -
- - short_description)) : ?> -
- short_description; ?> -
- - - features)) : ?> -
-
    - features) as $feature) : ?> - -
  • - - -
  • - - -
-
- - - -
- -
diff --git a/src/html/mod_acymailing/mobile.php b/src/html/mod_acymailing/mobile.php deleted file mode 100644 index 7ed3264..0000000 --- a/src/html/mod_acymailing/mobile.php +++ /dev/null @@ -1,82 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_acymailing module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-acymailing mod-acymailing-responsive ' . $moduleclass_sfx; -?> - -
- -
- get('intro_text')) : ?> -
- get('intro_text'); ?> -
- - - - - get('outro_text')) : ?> -
- get('outro_text'); ?> -
- -
- -
-

-
- -
- - diff --git a/src/html/mod_cblogin/mobile.php b/src/html/mod_cblogin/mobile.php deleted file mode 100644 index 4011014..0000000 --- a/src/html/mod_cblogin/mobile.php +++ /dev/null @@ -1,164 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_cblogin module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Factory; -use Joomla\CMS\Language\Text; - -// Ensure module language file is loaded -$lang = Factory::getLanguage(); -$lang->load('mod_cblogin', JPATH_SITE); - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-cblogin mod-cblogin-responsive ' . $moduleclass_sfx; -?> - -
- -
- get('greeting', 1)) : ?> -
- -
- getField('avatar', null, 'html', 'none', 'list'); ?> -
- - -
- - -
-
- get('profileLink', 1) && $cbUser) : ?> - - - - - - - -
- - - - -
-
- - - -
diff --git a/src/html/mod_comprofilerOnline/mobile.php b/src/html/mod_comprofilerOnline/mobile.php deleted file mode 100644 index dac596b..0000000 --- a/src/html/mod_comprofilerOnline/mobile.php +++ /dev/null @@ -1,99 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_comprofilerOnline module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Factory; -use Joomla\CMS\Language\Text; - -// Ensure module language file is loaded -$lang = Factory::getLanguage(); -$lang->load('mod_comprofilerOnline', JPATH_SITE); - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-cb-online mod-cb-online-responsive ' . $moduleclass_sfx; -?> - -
- -
-
- - - - -
- - get('show_guest_count', 1)) : ?> -
- - - - - - - - -
- -
- - get('show_user_list', 1) && !empty($onlineUsers)) : ?> -
- get('header_level', 3); ?> class="mod-cb-online__heading"> - - get('header_level', 3); ?>> - -
    - -
  • - get('show_avatar', 1) && !empty($user->avatar)) : ?> -
    - avatar; ?> -
    - - -
    - get('link_names', 1) && !empty($user->link)) : ?> - - name, ENT_COMPAT, 'UTF-8'); ?> - - - - name, ENT_COMPAT, 'UTF-8'); ?> - - - - get('show_status', 1) && !empty($user->status)) : ?> - - status, ENT_COMPAT, 'UTF-8'); ?> - - -
    - - get('show_online_icon', 1)) : ?> - - - - -
  • - -
-
- - -
-

-
- -
diff --git a/src/html/mod_custom/hero.php b/src/html/mod_custom/hero.php index 5a5c951..75102ed 100644 --- a/src/html/mod_custom/hero.php +++ b/src/html/mod_custom/hero.php @@ -1,12 +1,14 @@ * - * @copyright (C) 2026 Moko Consulting - * @license GNU General Public License version 2 or later; see LICENSE.txt + * This file is part of a Moko Consulting project. * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** * Template override for mod_custom adding banner-overlay wrapper pattern. * Based on Cassiopeia's banner layout approach. */ diff --git a/src/html/mod_hikashop_cart/mobile.php b/src/html/mod_hikashop_cart/mobile.php deleted file mode 100644 index cf0625b..0000000 --- a/src/html/mod_hikashop_cart/mobile.php +++ /dev/null @@ -1,110 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_hikashop_cart module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-hikashop-cart mod-hikashop-cart-responsive ' . $moduleclass_sfx; -?> - -
- products)) : ?> -
- -
-
- products); ?> - products) == 1 ? Text::_('ITEM') : Text::_('ITEMS'); ?> -
- total)) : ?> -
- total->price_value_with_tax_formated; ?> -
- -
-
- - get('show_products', 1)) : ?> -
- products as $product) : ?> -
- images[0]) && $params->get('show_image', 1)) : ?> -
- <?php echo htmlspecialchars($product->product_name, ENT_COMPAT, 'UTF-8'); ?> -
- - -
-
- product_name, ENT_COMPAT, 'UTF-8'); ?> -
- -
- : - cart_product_quantity; ?> -
- - prices[0])) : ?> -
- prices[0]->price_value_with_tax_formated; ?> -
- -
- - get('show_delete', 1)) : ?> -
- - - -
- -
- -
- - -
- get('show_cart_button', 1)) : ?> - - - - - - get('show_checkout_button', 1)) : ?> - - - - -
- -
- -

- -

-
- -
diff --git a/src/html/mod_k2_content/mobile.php b/src/html/mod_k2_content/mobile.php deleted file mode 100644 index 1186f66..0000000 --- a/src/html/mod_k2_content/mobile.php +++ /dev/null @@ -1,112 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_k2_content module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-k2-content mod-k2-content-responsive ' . $moduleclass_sfx; -?> - -
- -
    - $item) : ?> -
  • - get('itemImage') && !empty($item->imageXSmall)) : ?> -
    - - <?php echo htmlspecialchars($item->title, ENT_COMPAT, 'UTF-8'); ?> - -
    - - -
    - get('itemTitle')) : ?> - get('item_heading', 4); ?> class="mod-k2-content__title"> - - title, ENT_COMPAT, 'UTF-8'); ?> - - get('item_heading', 4); ?>> - - - get('itemAuthor') || $params->get('itemDateCreated') || $params->get('itemCategory') || $params->get('itemHits')) : ?> - - - - get('itemIntroText') && !empty($item->introtext)) : ?> -
    - introtext; ?> -
    - - - get('itemReadMore')) : ?> - - -
    -
  • - -
- - get('itemCustomLink')) : ?> - - - -
-

-
- -
diff --git a/src/html/mod_kunenalatest/mobile.php b/src/html/mod_kunenalatest/mobile.php deleted file mode 100644 index 00d7b8d..0000000 --- a/src/html/mod_kunenalatest/mobile.php +++ /dev/null @@ -1,110 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_kunenalatest module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-kunena-latest mod-kunena-latest-responsive ' . $moduleclass_sfx; -?> - -
- -
    - -
  • - get('sh_userpic', 1) && !empty($post->getAuthor()->getAvatarImage())) : ?> -
    - getAuthor()->getAvatarImage('', 40, 40); ?> -
    - - -
    - get('sh_topic', 1)) : ?> - get('header_level', 4); ?> class="mod-kunena-latest__title"> - - subject, ENT_COMPAT, 'UTF-8'); ?> - - get('header_level', 4); ?>> - - -
    - get('sh_username', 1)) : ?> - - - - getAuthor()->getName(); ?> - - - - - get('sh_time', 1)) : ?> - - - - - - - get('sh_category', 1)) : ?> - - - - getCategory()->name; ?> - - - - - get('sh_hits', 0)) : ?> - - - getTopic()->hits; ?> - - - - get('sh_replies', 0)) : ?> - - - getTopic()->getReplies(); ?> - - -
    - - get('sh_text', 0) && !empty($post->message)) : ?> -
    - message, $params->get('txt_len', 50)); ?> -
    - -
    -
  • - -
- - get('more_link', 1)) : ?> - - - -
-

-
- -
diff --git a/src/html/mod_kunenalogin/mobile.php b/src/html/mod_kunenalogin/mobile.php deleted file mode 100644 index 0d28dc3..0000000 --- a/src/html/mod_kunenalogin/mobile.php +++ /dev/null @@ -1,188 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_kunenalogin module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; -use Joomla\CMS\Router\Route; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-kunena-login mod-kunena-login-responsive ' . $moduleclass_sfx; -?> - -
- exists()) : ?> - - - - get('showStats', 1)) : ?> - - - - - - - - -
diff --git a/src/html/mod_kunenasearch/mobile.php b/src/html/mod_kunenasearch/mobile.php deleted file mode 100644 index afb4903..0000000 --- a/src/html/mod_kunenasearch/mobile.php +++ /dev/null @@ -1,74 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_kunenasearch module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-kunena-search mod-kunena-search-responsive ' . $moduleclass_sfx; - -$button_pos = $params->get('button_pos', 'right'); -$button_text = $params->get('button_text', ''); -?> - -
-
- - -
- -
- - -
- - -
- - -
- -
- - - - -
-
diff --git a/src/html/mod_kunenastats/mobile.php b/src/html/mod_kunenastats/mobile.php deleted file mode 100644 index 4f51727..0000000 --- a/src/html/mod_kunenastats/mobile.php +++ /dev/null @@ -1,100 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_kunenastats module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-kunena-stats mod-kunena-stats-responsive ' . $moduleclass_sfx; -?> - -
-
- get('sh_latestMemberCount', 1)) : ?> -
-
- -
-
-
memberCount; ?>
-
-
-
- - - get('sh_latestMember', 1) && !empty($kunena_stats->latestMember)) : ?> - - - - get('sh_messageCount', 1)) : ?> -
-
- -
-
-
messageCount; ?>
-
-
-
- - - get('sh_topicCount', 1)) : ?> -
-
- -
-
-
topicCount; ?>
-
-
-
- - - get('sh_todayTopicCount', 0)) : ?> -
-
- -
-
-
todayTopicCount; ?>
-
-
-
- - - get('sh_yesterdayTopicCount', 0)) : ?> -
-
- -
-
-
yesterdayTopicCount; ?>
-
-
-
- -
-
diff --git a/src/html/mod_menu/mainmenu.php b/src/html/mod_menu/mainmenu.php index 0c43bdd..203dcf4 100644 --- a/src/html/mod_menu/mainmenu.php +++ b/src/html/mod_menu/mainmenu.php @@ -1,11 +1,13 @@ * - * @copyright (C) 2025 Moko Consulting - * @license GNU General Public License version 2 or later; see LICENSE.txt + * This file is part of a Moko Consulting project. * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** * Main Menu - Mobile responsive collapsible dropdown menu override * Bootstrap 5 responsive navbar with hamburger menu */ diff --git a/src/html/mod_menu/mainmenu_component.php b/src/html/mod_menu/mainmenu_component.php index 0707118..dfcfa7f 100644 --- a/src/html/mod_menu/mainmenu_component.php +++ b/src/html/mod_menu/mainmenu_component.php @@ -1,11 +1,13 @@ * - * @copyright (C) 2025 Moko Consulting - * @license GNU General Public License version 2 or later; see LICENSE.txt + * This file is part of a Moko Consulting project. * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** * Main Menu - Component item layout */ diff --git a/src/html/mod_menu/mainmenu_heading.php b/src/html/mod_menu/mainmenu_heading.php index 0b92a44..990077e 100644 --- a/src/html/mod_menu/mainmenu_heading.php +++ b/src/html/mod_menu/mainmenu_heading.php @@ -1,11 +1,13 @@ * - * @copyright (C) 2025 Moko Consulting - * @license GNU General Public License version 2 or later; see LICENSE.txt + * This file is part of a Moko Consulting project. * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** * Main Menu - Heading item layout */ diff --git a/src/html/mod_menu/mainmenu_separator.php b/src/html/mod_menu/mainmenu_separator.php index 2523962..2c0c587 100644 --- a/src/html/mod_menu/mainmenu_separator.php +++ b/src/html/mod_menu/mainmenu_separator.php @@ -1,11 +1,13 @@ * - * @copyright (C) 2025 Moko Consulting - * @license GNU General Public License version 2 or later; see LICENSE.txt + * This file is part of a Moko Consulting project. * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** * Main Menu - Separator item layout */ diff --git a/src/html/mod_menu/mainmenu_url.php b/src/html/mod_menu/mainmenu_url.php index abad710..10b380b 100644 --- a/src/html/mod_menu/mainmenu_url.php +++ b/src/html/mod_menu/mainmenu_url.php @@ -1,11 +1,13 @@ * - * @copyright (C) 2025 Moko Consulting - * @license GNU General Public License version 2 or later; see LICENSE.txt + * This file is part of a Moko Consulting project. * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** * Main Menu - URL item layout */ diff --git a/src/html/mod_osmembership/mobile.php b/src/html/mod_osmembership/mobile.php deleted file mode 100644 index 80dfdb1..0000000 --- a/src/html/mod_osmembership/mobile.php +++ /dev/null @@ -1,105 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_osmembership module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); - -// Add responsive wrapper class -$wrapperClass = 'mod-osmembership mod-osmembership-responsive ' . $moduleclass_sfx; -?> - -
- -
- -
- get('show_plan_image', 1) && !empty($plan->image)) : ?> -
- <?php echo htmlspecialchars($plan->title, ENT_COMPAT, 'UTF-8'); ?> -
- - -
- get('header_level', 3); ?> class="mod-osmembership__plan-title"> - title, ENT_COMPAT, 'UTF-8'); ?> - get('header_level', 3); ?>> - - get('show_short_description', 1) && !empty($plan->short_description)) : ?> -
- short_description; ?> -
- - - get('show_price', 1)) : ?> -
- price > 0) : ?> -
- currency_symbol; ?> - price, 2); ?> - subscription_length > 0) : ?> - - / subscription_length . ' ' . Text::_('OSM_' . strtoupper($plan->subscription_length_unit)); ?> - - -
- -
- -
- -
- - - get('show_features', 1) && !empty($plan->features)) : ?> -
-
    - features) as $feature) : ?> - -
  • - - -
  • - - -
-
- - - -
-
- -
- - get('show_all_plans_link', 1)) : ?> -
- - - -
- - -
-

-
- -
diff --git a/src/html/mod_virtuemart_cart/mobile.php b/src/html/mod_virtuemart_cart/mobile.php deleted file mode 100644 index bc52f90..0000000 --- a/src/html/mod_virtuemart_cart/mobile.php +++ /dev/null @@ -1,122 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_virtuemart_cart module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; - -// Load VirtueMart assets if not already loaded -vmJsApi::js('fancybox/jquery.fancybox-1.3.4.pack'); -vmJsApi::css('jquery.fancybox-1.3.4'); - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); -$show_price = $params->get('show_price', 1); -$show_product_list = $params->get('show_product_list', 1); - -// Add responsive wrapper class -$wrapperClass = 'mod-vm-cart mod-vm-cart-responsive ' . $moduleclass_sfx; -?> - -
- totalProduct) && $data->totalProduct > 0) : ?> -
- -
-
- totalProduct; ?> - totalProduct == 1 ? Text::_('MOD_VIRTUEMART_CART_ITEM') : Text::_('MOD_VIRTUEMART_CART_ITEMS'); ?> -
- billTotal)) : ?> -
- billTotal; ?> -
- -
-
- - products)) : ?> -
- products as $product) : ?> -
- image)) : ?> - - - -
- - -
- : - quantity; ?> -
- - prices)) : ?> -
- prices; ?> -
- -
- - delete_link)) : ?> -
- - - -
- -
- -
- - -
- cart_show)) : ?> - - - - - - checkout_link)) : ?> - - - - -
- -
- -

- -

-
- -
diff --git a/src/html/mod_virtuemart_category/mobile.php b/src/html/mod_virtuemart_category/mobile.php deleted file mode 100644 index 34bcdce..0000000 --- a/src/html/mod_virtuemart_category/mobile.php +++ /dev/null @@ -1,85 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_virtuemart_category module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); -$show_images = $params->get('show_images', 1); -$show_description = $params->get('show_description', 0); -$show_product_count = $params->get('show_product_count', 0); - -// Add responsive wrapper class -$wrapperClass = 'mod-vm-category mod-vm-category-responsive ' . $moduleclass_sfx; -?> - - diff --git a/src/html/mod_virtuemart_currencies/mobile.php b/src/html/mod_virtuemart_currencies/mobile.php deleted file mode 100644 index 014a8b9..0000000 --- a/src/html/mod_virtuemart_currencies/mobile.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_virtuemart_currencies module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); -$text_before = $params->get('text_before', ''); -$text_after = $params->get('text_after', ''); - -// Add responsive wrapper class -$wrapperClass = 'mod-vm-currencies mod-vm-currencies-responsive ' . $moduleclass_sfx; -?> - -
- -
- -
- - -
- - -
- - -
- - - - - - -
- - -
- -
- -
diff --git a/src/html/mod_virtuemart_manufacturer/mobile.php b/src/html/mod_virtuemart_manufacturer/mobile.php deleted file mode 100644 index 41e3a84..0000000 --- a/src/html/mod_virtuemart_manufacturer/mobile.php +++ /dev/null @@ -1,59 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_virtuemart_manufacturer module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); -$show_images = $params->get('show_images', 1); -$display_style = $params->get('display_style', 'list'); - -// Add responsive wrapper class -$wrapperClass = 'mod-vm-manufacturer mod-vm-manufacturer-responsive ' . $moduleclass_sfx; -?> - - diff --git a/src/html/mod_virtuemart_product/mobile.php b/src/html/mod_virtuemart_product/mobile.php deleted file mode 100644 index 4a62585..0000000 --- a/src/html/mod_virtuemart_product/mobile.php +++ /dev/null @@ -1,93 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - * - * Mobile responsive override for mod_virtuemart_product module - */ - -defined('_JEXEC') or die; - -use Joomla\CMS\HTML\HTMLHelper; -use Joomla\CMS\Language\Text; - -$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); -$headerText = $params->get('headerText', ''); -$headerText = HTMLHelper::_('content.prepare', $headerText); -$display_style = $params->get('display_style', 'div'); - -// Add responsive wrapper class -$wrapperClass = 'mod-vm-product mod-vm-product-responsive ' . $moduleclass_sfx; -?> - -
- -
- -
- - - -
- -
- images[0])) : ?> -
- - images[0]->displayMediaThumb('', false); ?> - - - product_availability)) : ?> - - product_availability; ?> - - -
- - -
-

- - product_name, ENT_COMPAT, 'UTF-8'); ?> - -

- - product_s_desc)) : ?> -
- product_s_desc, 60, '...'); ?> -
- - - prices)) : ?> -
- prices; ?> -
- - -
- - - - - form)) : ?> -
- form; ?> -
- -
-
-
- -
- -
-

-
- -
diff --git a/src/index.php b/src/index.php index 5d9ca5e..69e7525 100644 --- a/src/index.php +++ b/src/index.php @@ -514,7 +514,7 @@ $wa->useScript('user.js'); // js/user.js countModules('drawer-left', true)) : ?>