Added CSS theme seletor (dark/light)
This commit is contained in:
2025-08-20 01:12:59 -05:00
parent 0fa0593d14
commit 886262cdc1
108 changed files with 2245 additions and 1192 deletions

View File

@@ -1,7 +1,13 @@
; Joomla! Project ;---------------------------------------------------
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> ; Template: moko-cassiopeia
; License GNU General Public License version 2 or later; see LICENSE.txt ; File: en-GB.tpl_moko-cassiopeia.ini
; Note : All ini files need to be saved as UTF-8 ; Version: 1.14
; Author: Jonathan Andrew Miller
; Copyright: (C) 2025 Jonathan Andrew Miller. All rights reserved.
; License: GNU General Public License v3 or later; see LICENSE.txt
; Description: Language strings for the frontend template.
; Note: All ini files must be saved as UTF-8 without BOM.
;---------------------------------------------------
MOKO-CASSIOPEIA="MOKO-CASSIOPEIA Site template" MOKO-CASSIOPEIA="MOKO-CASSIOPEIA Site template"
TPL_MOKO-CASSIOPEIA_BACKTOTOP="Back to Top" TPL_MOKO-CASSIOPEIA_BACKTOTOP="Back to Top"

View File

@@ -1,7 +1,13 @@
; Joomla! Project ;---------------------------------------------------
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> ; Template: moko-cassiopeia
; License GNU General Public License version 2 or later; see LICENSE.txt ; File: en-GB.tpl_moko-cassiopeia.sys.ini
; Note : All ini files need to be saved as UTF-8 ; Version: 1.14
; Author: Jonathan Andrew Miller
; Copyright: (C) 2025 Jonathan Andrew Miller. All rights reserved.
; License: GNU General Public License v3 or later; see LICENSE.txt
; Description: Language strings for the frontend template.
; Note: All ini files must be saved as UTF-8 without BOM.
;---------------------------------------------------
TPL_MOKO-CASSIOPEIA="Moko-Cassiopeia Site template" TPL_MOKO-CASSIOPEIA="Moko-Cassiopeia Site template"
TPL_MOKO-CASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown" TPL_MOKO-CASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown"

View File

@@ -1,7 +1,13 @@
; Joomla! Project ;---------------------------------------------------
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> ; Template: moko-cassiopeia
; License GNU General Public License version 2 or later; see LICENSE.txt ; File: en-US.tpl_moko-cassiopeia.ini
; Note : All ini files need to be saved as UTF-8 ; Version: 1.14
; Author: Jonathan Andrew Miller
; Copyright: (C) 2025 Jonathan Andrew Miller. All rights reserved.
; License: GNU General Public License v3 or later; see LICENSE.txt
; Description: Language strings for the frontend template.
; Note: All ini files must be saved as UTF-8 without BOM.
;---------------------------------------------------
MOKO-CASSIOPEIA="MOKO-CASSIOPEIA Site template" MOKO-CASSIOPEIA="MOKO-CASSIOPEIA Site template"
TPL_MOKO-CASSIOPEIA_BACKTOTOP="Back to Top" TPL_MOKO-CASSIOPEIA_BACKTOTOP="Back to Top"

View File

@@ -1,7 +1,13 @@
; Joomla! Project ;---------------------------------------------------
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> ; Template: moko-cassiopeia
; License GNU General Public License version 2 or later; see LICENSE.txt ; File: en-US.tpl_moko-cassiopeia.sys.ini
; Note : All ini files need to be saved as UTF-8 ; Version: 1.14
; Author: Jonathan Andrew Miller
; Copyright: (C) 2025 Jonathan Andrew Miller. All rights reserved.
; License: GNU General Public License v3 or later; see LICENSE.txt
; Description: Language strings for the frontend template.
; Note: All ini files must be saved as UTF-8 without BOM.
;---------------------------------------------------
TPL_MOKO-CASSIOPEIA="Moko-Cassiopeia Site template" TPL_MOKO-CASSIOPEIA="Moko-Cassiopeia Site template"
TPL_MOKO-CASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown" TPL_MOKO-CASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown"
@@ -38,3 +44,4 @@ Features:
- Ideal for professional services, portfolios, and informational websites - Ideal for professional services, portfolios, and informational websites
Code Attribution: This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License. Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards. It includes integration with Bootstrap TOC (https://afeld.github.io/bootstrap-toc/), an open-source table of content Code Attribution: This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License. Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards. It includes integration with Bootstrap TOC (https://afeld.github.io/bootstrap-toc/), an open-source table of content

View File

@@ -1,7 +1,8 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */
/*! /*!
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.moko-cassiopeia * @subpackage Templates.moko-cassiopeia
* @file /media/templates/sote/moko-cassiopeia/css/global/colors_alternative.css * @file /media/templates/sote/moko-cassiopeia/css/global/colors_standard.css
* *
* © 2025 Moko Consulting — All Rights Reserved * © 2025 Moko Consulting — All Rights Reserved
* @license GNU General Public License version 2 or later; see LICENSE.txt * @license GNU General Public License version 2 or later; see LICENSE.txt
@@ -12,16 +13,74 @@
*/ */
:root, [data-bs-theme="light"] { :root, [data-bs-theme="light"] {
color-scheme: light;
--color-primary: #112855; --color-primary: #112855;
--color-link: #224FAA; --color-link: #224FAA;
--color-hover: #224FAA; --color-hover: #224FAA;
--header-background-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --header-background-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg');
--header-background-position: auto;
--header-background-attachment: fixed; --header-background-attachment: fixed;
--header-background-repeat: repeat; --header-background-repeat: repeat;
--header-background-size: auto; --header-background-size: auto;
--container-below-topbar-bg-image: ;
--container-below-topbar-bg-color ;
--container-below-topbar-bg-position: auto;
--container-below-topbar-bg-attachment: fixed;
--container-below-topbar-bg-repeat: repeat;
--container-below-topbar-bg-size: auto;
--container-below-topbar-border: ;
--container-below-topbar-border-radius: ;
--container-top-a-bg-image: ;
--container-top-a-bg-color: ;
--container-top-a-bg-position: auto;
--container-top-a-bg-attachment: fixed;
--container-top-a-bg-repeat: repeat;
--container-top-a-bg-size: auto;
--container-top-a-border: ;
--container-top-a-border-radius: ;
--container-top-b-bg-image: ;
--container-top-b-bg-color: ;
--container-top-b-bg-position: auto;
--container-top-b-bg-attachment: fixed;
--container-top-b-bg-repeat: repeat;
--container-top-b-bg-size: auto;
--container-top-b-border: ;
--container-top-b-border-radius: ;
--container-toc-bg: white;
--container-toc-color: var(--color-primary);
--container-sidebar-bg-image: ;
--container-sidebar-bg-color: ;
--container-sidebar-bg-position: auto;
--container-sidebar-bg-attachment: scroll;
--container-sidebar-bg-repeat: repeat;
--container-sidebar-bg-size: auto;
--container-sidebar-border: ;
--container-sidebar-border-radius: ;
--container-bottom-a-bg-image: ;
--container-bottom-a-bg-color: ;
--container-bottom-a-bg-position: auto;
--container-bottom-a-bg-attachment: fixed;
--container-bottom-a-bg-repeat: repeat;
--container-bottom-a-bg-size: auto;
--container-bottom-a-border: ;
--container-bottom-a-border-radius: 5px;
--container-bottom-b-bg-image: ;
--container-bottom-b-bg-color: ;
--container-bottom-b-bg-position: auto;
--container-bottom-b-bg-attachment: fixed;
--container-bottom-b-bg-repeat: repeat;
--container-bottom-b-bg-size: auto;
--container-bottom-b-border: ;
--container-bottom-b-border-radius: ;
--nav-text-color: white; --nav-text-color: white;
--nav-bg-color: #224FAA; --nav-bg-color: #224FAA;
--accent-color-primary: #3f8ff0; --accent-color-primary: #3f8ff0;
@@ -433,3 +492,293 @@
--btn-focus-shadow-rgb: 39, 39, 111; --btn-focus-shadow-rgb: 39, 39, 111;
text-decoration: underline; text-decoration: underline;
} }
/* -----------------------------------------------
* DARK THEME — append below your light block
* --------------------------------------------- */
:root[data-bs-theme='dark'], [data-bs-theme='dark'] {
/* System hint for native widgets */
color-scheme: dark;
/* Brand & links */
--color-primary: #c7d2ff;
--color-link: #8ab4f8;
--color-hover: #bcd1ff;
/* Header background (kept same image; works over dark bg) */
--header-background-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg');
--header-background-attachment: fixed;
--header-background-repeat: repeat;
--header-background-size: auto;
/* Section containers */
--container-below-topbar-bg-image: ;
--container-below-topbar-bg-color: #0f141b;
--container-below-topbar-bg-position: center;
--container-below-topbar-bg-attachment: fixed;
--container-below-topbar-bg-repeat: no-repeat;
--container-below-topbar-bg-size: cover;
--container-below-topbar-border: 1px solid #2b323b;
--container-below-topbar-border-radius: 8px;
--container-top-a-bg-image: ;
--container-top-a-bg-color: #0e1319;
--container-top-a-bg-position: center;
--container-top-a-bg-attachment: fixed;
--container-top-a-bg-repeat: no-repeat;
--container-top-a-bg-size: cover;
--container-top-a-border: 1px solid #2b323b;
--container-top-a-border-radius: 8px;
--container-top-b-bg-image: ;
--container-top-b-bg-color: #0e1319;
--container-top-b-bg-position: center;
--container-top-b-bg-attachment: fixed;
--container-top-b-bg-repeat: no-repeat;
--container-top-b-bg-size: cover;
--container-top-b-border: 1px solid #2b323b;
--container-top-b-border-radius: 8px;
--container-toc-bg: #0f141b;
--container-toc-color: #dbe3ff;
--container-sidebar-bg-image: ;
--container-sidebar-bg-color: #0c1016;
--container-sidebar-bg-position: center;
--container-sidebar-bg-attachment: scroll;
--container-sidebar-bg-repeat: repeat;
--container-sidebar-bg-size: auto;
--container-sidebar-border: 1px solid #28303a;
--container-sidebar-border-radius: 8px;
--container-bottom-a-bg-image: ;
--container-bottom-a-bg-color: #0e141b;
--container-bottom-a-bg-position: center;
--container-bottom-a-bg-attachment: fixed;
--container-bottom-a-bg-repeat: no-repeat;
--container-bottom-a-bg-size: cover;
--container-bottom-a-border: 1px solid #2b323b;
--container-bottom-a-border-radius: 5px;
--container-bottom-b-bg-image: ;
--container-bottom-b-bg-color: #0e141b;
--container-bottom-b-bg-position: center;
--container-bottom-b-bg-attachment: fixed;
--container-bottom-b-bg-repeat: no-repeat;
--container-bottom-b-bg-size: cover;
--container-bottom-b-border: 1px solid #2b323b;
--container-bottom-b-border-radius: 8px;
/* Nav & accents */
--nav-text-color: #fff;
--nav-bg-color: #0e1a3c;
--accent-color-primary: #3f8ff0;
--accent-color-secondary: #6fb3ff;
--border: 5px;
--mainmenu-nav-link-color: #fff;
/* Palette */
--blue: #91a4ff;
--black: #000;
--indigo: #b19cff;
--purple: #c0a5ff;
--pink: #ff8fc0;
--red: #ff7a73;
--orange: #ff9c4d;
--yellow: #ffd166;
--green: #78d694;
--teal: #76e3ff;
--cyan: #6fb7ff;
--white: #fff;
/* Grays tuned for dark */
--gray-100: #161a20;
--gray-200: #1b2027;
--gray-300: #222831;
--gray-400: #2b323b;
--gray-500: #36404a;
--gray-600: #48525d;
--gray-700: #5b6672;
--gray-800: #cfd6de;
--gray-900: #e6ebf1;
/* Contextuals (keep brand hues) */
--primary: #010156;
--secondary: #48525d;
--success: #4aa664;
--info: #4f7aa0;
--warning: #c77a00;
--danger: #c23a31;
--light: #1b2027;
--dark: #0f1318;
/* RGB helpers */
--primary-rgb: 1,1,86;
--secondary-rgb: 72,82,93;
--success-rgb: 74,166,100;
--info-rgb: 79,122,160;
--warning-rgb: 199,122,0;
--danger-rgb: 194,58,49;
--light-rgb: 27,32,39;
--dark-rgb: 15,19,24;
/* Emphasis & subtle variants */
--primary-text-emphasis: #c7ccff;
--secondary-text-emphasis: #cfd6de;
--success-text-emphasis: #bde8c9;
--info-text-emphasis: #bcd6ee;
--warning-text-emphasis: #ffd9a6;
--danger-text-emphasis: #ffb7b2;
--light-text-emphasis: #d2d8df;
--dark-text-emphasis: #d2d8df;
--primary-bg-subtle: #0b1030;
--secondary-bg-subtle: #1e2430;
--success-bg-subtle: #0f2a1b;
--info-bg-subtle: #0d2232;
--warning-bg-subtle: #2a1e06;
--danger-bg-subtle: #2d1110;
--light-bg-subtle: #12161d;
--dark-bg-subtle: #1e2430;
--primary-border-subtle: #2b3a7a;
--secondary-border-subtle: #2b323b;
--success-border-subtle: #2b5b40;
--info-border-subtle: #254861;
--warning-border-subtle: #5a3c0e;
--danger-border-subtle: #5c2723;
--light-border-subtle: #222831;
--dark-border-subtle: #2b323b;
/* Typography & layout */
--body-font-family: var(--optain-cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
--body-font-size: 1rem;
--body-font-weight: 400;
--body-line-height: 1.5;
--body-color: #e6ebf1;
--body-color-rgb: 230, 235, 241;
--body-bg: #0e1318;
--body-bg-rgb: 14, 19, 24;
--emphasis-color: #fff;
--emphasis-color-rgb: 255, 255, 255;
--secondary-color: #e6ebf1bf;
--secondary-color-rgb: 230, 235, 241;
--secondary-bg: #151b22;
--secondary-bg-rgb: 21, 27, 34;
--tertiary-color: #e6ebf180;
--tertiary-color-rgb: 230, 235, 241;
--tertiary-bg: #10151b;
--tertiary-bg-rgb: 16, 21, 27;
--heading-color: #f1f5f9;
--link-color: #8ab4f8;
--link-color-rgb: 138, 180, 248;
--link-decoration: underline;
--link-hover-color: #c3d6ff;
--link-hover-color-rgb: 195, 214, 255;
--code-color: #ff7abd;
--highlight-color: #111;
--highlight-bg: #ffe28a1a;
--border-width: 1px;
--border-style: solid;
--border-color: #2b323b;
--border-color-translucent: #ffffff26;
--border-radius: .25rem;
--border-radius-sm: .2rem;
--border-radius-lg: .3rem;
--border-radius-xl: .3rem;
--border-radius-xxl: 2rem;
--border-radius-2xl: var(--border-radius-xxl);
--border-radius-pill: 50rem;
--box-shadow: 0 .5rem 1rem #00000066;
--box-shadow-sm: 0 .125rem .25rem #00000040;
--box-shadow-lg: 0 1rem 3rem #00000080;
--box-shadow-inset: inset 0 1px 2px #00000040;
--focus-ring-width: .25rem;
--focus-ring-opacity: .6;
--focus-ring-color: #5472ff66;
--form-valid-color: #78d694;
--form-valid-border-color: #78d694;
--form-invalid-color: #ff8e86;
--form-invalid-border-color: #ff8e86;
}
/* Buttons — inherit brand hues; ensure strong contrast on dark bg */
[data-bs-theme='dark'] .btn-primary {
--btn-color: hsl(0, 0%, 100%);
--btn-bg: hsl(240, 98%, 17%);
--btn-border-color: hsl(240, 98%, 17%);
--btn-hover-color: hsl(0, 0%, 100%);
--btn-hover-bg: #010149;
--btn-hover-border-color: #010145;
--btn-focus-shadow-rgb: 84, 114, 255;
--btn-active-color: hsl(0, 0%, 100%);
--btn-active-bg: #010145;
--btn-active-border-color: #010141;
}
[data-bs-theme='dark'] .btn-secondary {
--btn-color: var(--nav-text-color);
--btn-bg: var(--nav-bg-color);
--btn-border-color: #3a4250;
--btn-hover-color: #fff;
--btn-hover-bg: #1b2a55;
--btn-hover-border-color: #162448;
--btn-focus-shadow-rgb: 84, 114, 255;
--btn-active-color: #fff;
--btn-active-bg: #162448;
--btn-active-border-color: #12203f;
}
/* Outline buttons on dark: keep readable borders */
[data-bs-theme='dark'] .btn-outline-light {
--btn-color: #e6ebf1;
--btn-border-color: #e6ebf1;
--btn-hover-color: #111;
--btn-hover-bg: #e6ebf1;
--btn-hover-border-color: #e6ebf1;
--btn-active-color: #111;
--btn-active-bg: #d7dce2;
--btn-active-border-color: #d7dce2;
--gradient: none;
}
/* Links as buttons */
[data-bs-theme='dark'] .btn-link {
--btn-font-weight: 400;
--btn-color: var(--link-color);
--btn-bg: transparent;
--btn-border-color: transparent;
--btn-hover-color: var(--link-hover-color);
--btn-hover-border-color: transparent;
--btn-active-color: var(--link-hover-color);
--btn-active-border-color: transparent;
--btn-disabled-color: #6d7781;
--btn-disabled-border-color: transparent;
--btn-box-shadow: none;
--btn-focus-shadow-rgb: 84, 114, 255;
text-decoration: underline;
}
/* -----------------------------------------------
* OPTIONAL: small fix for .btn-secondary in light
* (uses var() so it picks up your nav colors)
* --------------------------------------------- */
[data-bs-theme='light'] .btn-secondary,
:root .btn-secondary {
--btn-color: var(--nav-text-color);
--btn-bg: var(--nav-bg-color);
}

View File

@@ -1,3 +1,4 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */
/*! /*!
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.moko-cassiopeia * @subpackage Templates.moko-cassiopeia
@@ -12,6 +13,8 @@
*/ */
:root, [data-bs-theme="light"] { :root, [data-bs-theme="light"] {
color-scheme: light;
--color-primary: #112855; --color-primary: #112855;
--color-link: #224FAA; --color-link: #224FAA;
--color-hover: #224FAA; --color-hover: #224FAA;
@@ -21,62 +24,62 @@
--header-background-repeat: repeat; --header-background-repeat: repeat;
--header-background-size: auto; --header-background-size: auto;
--container-below-topbar-bg-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --container-below-topbar-bg-image: ;
--container-below-topbar-bg-color: gray; --container-below-topbar-bg-color ;
--container-below-topbar-bg-position: auto; --container-below-topbar-bg-position: auto;
--container-below-topbar-bg-attachment: fixed; --container-below-topbar-bg-attachment: fixed;
--container-below-topbar-bg-repeat: repeat; --container-below-topbar-bg-repeat: repeat;
--container-below-topbar-bg-size: auto; --container-below-topbar-bg-size: auto;
--container-below-topbar-border: 0px solid black; --container-below-topbar-border: ;
--container-below-topbar-border-radius: 5px; --container-below-topbar-border-radius: ;
--container-top-a-bg-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --container-top-a-bg-image: ;
--container-top-a-bg-color: gray; --container-top-a-bg-color: ;
--container-top-a-bg-position: auto; --container-top-a-bg-position: auto;
--container-top-a-bg-attachment: fixed; --container-top-a-bg-attachment: fixed;
--container-top-a-bg-repeat: repeat; --container-top-a-bg-repeat: repeat;
--container-top-a-bg-size: auto; --container-top-a-bg-size: auto;
--container-top-a-border: 1px solid black; --container-top-a-border: ;
--container-top-a-border-radius: 5px; --container-top-a-border-radius: ;
--container-top-b-bg-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --container-top-b-bg-image: ;
--container-top-b-bg-color: gray; --container-top-b-bg-color: ;
--container-top-b-bg-position: auto; --container-top-b-bg-position: auto;
--container-top-b-bg-attachment: fixed; --container-top-b-bg-attachment: fixed;
--container-top-b-bg-repeat: repeat; --container-top-b-bg-repeat: repeat;
--container-top-b-bg-size: auto; --container-top-b-bg-size: auto;
--container-top-b-border: 1px solid black; --container-top-b-border: ;
--container-top-b-border-radius: 5px; --container-top-b-border-radius: ;
--container-toc-bg: white; --container-toc-bg: white;
--container-toc-color: var(--color-primary); --container-toc-color: var(--color-primary);
--container-sidebar-bg-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --container-sidebar-bg-image: ;
--container-sidebar-bg-color: gray; --container-sidebar-bg-color: ;
--container-sidebar-bg-position: auto; --container-sidebar-bg-position: auto;
--container-sidebar-bg-attachment: scroll; --container-sidebar-bg-attachment: scroll;
--container-sidebar-bg-repeat: repeat; --container-sidebar-bg-repeat: repeat;
--container-sidebar-bg-size: auto; --container-sidebar-bg-size: auto;
--container-sidebar-border: 1px solid black; --container-sidebar-border: ;
--container-sidebar-border-radius: 5px; --container-sidebar-border-radius: ;
--container-bottom-a-bg-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --container-bottom-a-bg-image: ;
--container-bottom-a-bg-color: gray; --container-bottom-a-bg-color: ;
--container-bottom-a-bg-position: auto; --container-bottom-a-bg-position: auto;
--container-bottom-a-bg-attachment: fixed; --container-bottom-a-bg-attachment: fixed;
--container-bottom-a-bg-repeat: repeat; --container-bottom-a-bg-repeat: repeat;
--container-bottom-a-bg-size: auto; --container-bottom-a-bg-size: auto;
--container-bottom-a-border: 1px solid black; --container-bottom-a-border: ;
--container-bottom-a-border-radius: 5px; --container-bottom-a-border-radius: 5px;
--container-bottom-b-bg-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg'); --container-bottom-b-bg-image: ;
--container-bottom-b-bg-color: gray; --container-bottom-b-bg-color: ;
--container-bottom-b-bg-position: auto; --container-bottom-b-bg-position: auto;
--container-bottom-b-bg-attachment: fixed; --container-bottom-b-bg-attachment: fixed;
--container-bottom-b-bg-repeat: repeat; --container-bottom-b-bg-repeat: repeat;
--container-bottom-b-bg-size: auto; --container-bottom-b-bg-size: auto;
--container-bottom-b-border: 1px solid black; --container-bottom-b-border: ;
--container-bottom-b-border-radius: 5px; --container-bottom-b-border-radius: ;
--nav-text-color: white; --nav-text-color: white;
--nav-bg-color: #224FAA; --nav-bg-color: #224FAA;
@@ -489,3 +492,293 @@
--btn-focus-shadow-rgb: 39, 39, 111; --btn-focus-shadow-rgb: 39, 39, 111;
text-decoration: underline; text-decoration: underline;
} }
/* -----------------------------------------------
* DARK THEME — append below your light block
* --------------------------------------------- */
:root[data-bs-theme='dark'], [data-bs-theme='dark'] {
/* System hint for native widgets */
color-scheme: dark;
/* Brand & links */
--color-primary: #112855;
--color-link: #224FAA;
--color-hover: #224FAA;
/* Header background (kept same image; works over dark bg) */
--header-background-image: url('../../../../../media/templates/site/moko-cassiopeia/images/bg.svg');
--header-background-attachment: fixed;
--header-background-repeat: repeat;
--header-background-size: auto;
/* Section containers */
--container-below-topbar-bg-image: ;
--container-below-topbar-bg-color: #0f141b;
--container-below-topbar-bg-position: center;
--container-below-topbar-bg-attachment: fixed;
--container-below-topbar-bg-repeat: no-repeat;
--container-below-topbar-bg-size: cover;
--container-below-topbar-border: 1px solid #2b323b;
--container-below-topbar-border-radius: 8px;
--container-top-a-bg-image: ;
--container-top-a-bg-color: #0e1319;
--container-top-a-bg-position: center;
--container-top-a-bg-attachment: fixed;
--container-top-a-bg-repeat: no-repeat;
--container-top-a-bg-size: cover;
--container-top-a-border: 1px solid #2b323b;
--container-top-a-border-radius: 8px;
--container-top-b-bg-image: ;
--container-top-b-bg-color: #0e1319;
--container-top-b-bg-position: center;
--container-top-b-bg-attachment: fixed;
--container-top-b-bg-repeat: no-repeat;
--container-top-b-bg-size: cover;
--container-top-b-border: 1px solid #2b323b;
--container-top-b-border-radius: 8px;
--container-toc-bg: #0f141b;
--container-toc-color: #dbe3ff;
--container-sidebar-bg-image: ;
--container-sidebar-bg-color: #0c1016;
--container-sidebar-bg-position: center;
--container-sidebar-bg-attachment: scroll;
--container-sidebar-bg-repeat: repeat;
--container-sidebar-bg-size: auto;
--container-sidebar-border: 1px solid #28303a;
--container-sidebar-border-radius: 8px;
--container-bottom-a-bg-image: ;
--container-bottom-a-bg-color: #0e141b;
--container-bottom-a-bg-position: center;
--container-bottom-a-bg-attachment: fixed;
--container-bottom-a-bg-repeat: no-repeat;
--container-bottom-a-bg-size: cover;
--container-bottom-a-border: 1px solid #2b323b;
--container-bottom-a-border-radius: 5px;
--container-bottom-b-bg-image: ;
--container-bottom-b-bg-color: #0e141b;
--container-bottom-b-bg-position: center;
--container-bottom-b-bg-attachment: fixed;
--container-bottom-b-bg-repeat: no-repeat;
--container-bottom-b-bg-size: cover;
--container-bottom-b-border: 1px solid #2b323b;
--container-bottom-b-border-radius: 8px;
/* Nav & accents */
--nav-text-color: #fff;
--nav-bg-color: #0e1a3c;
--accent-color-primary: #3f8ff0;
--accent-color-secondary: #6fb3ff;
--border: 5px;
--mainmenu-nav-link-color: #fff;
/* Palette */
--blue: #91a4ff;
--black: #000;
--indigo: #b19cff;
--purple: #c0a5ff;
--pink: #ff8fc0;
--red: #ff7a73;
--orange: #ff9c4d;
--yellow: #ffd166;
--green: #78d694;
--teal: #76e3ff;
--cyan: #6fb7ff;
--white: #fff;
/* Grays tuned for dark */
--gray-100: #161a20;
--gray-200: #1b2027;
--gray-300: #222831;
--gray-400: #2b323b;
--gray-500: #36404a;
--gray-600: #48525d;
--gray-700: #5b6672;
--gray-800: #cfd6de;
--gray-900: #e6ebf1;
/* Contextuals (keep brand hues) */
--primary: #010156;
--secondary: #48525d;
--success: #4aa664;
--info: #4f7aa0;
--warning: #c77a00;
--danger: #c23a31;
--light: #1b2027;
--dark: #0f1318;
/* RGB helpers */
--primary-rgb: 1,1,86;
--secondary-rgb: 72,82,93;
--success-rgb: 74,166,100;
--info-rgb: 79,122,160;
--warning-rgb: 199,122,0;
--danger-rgb: 194,58,49;
--light-rgb: 27,32,39;
--dark-rgb: 15,19,24;
/* Emphasis & subtle variants */
--primary-text-emphasis: #c7ccff;
--secondary-text-emphasis: #cfd6de;
--success-text-emphasis: #bde8c9;
--info-text-emphasis: #bcd6ee;
--warning-text-emphasis: #ffd9a6;
--danger-text-emphasis: #ffb7b2;
--light-text-emphasis: #d2d8df;
--dark-text-emphasis: #d2d8df;
--primary-bg-subtle: #0b1030;
--secondary-bg-subtle: #1e2430;
--success-bg-subtle: #0f2a1b;
--info-bg-subtle: #0d2232;
--warning-bg-subtle: #2a1e06;
--danger-bg-subtle: #2d1110;
--light-bg-subtle: #12161d;
--dark-bg-subtle: #1e2430;
--primary-border-subtle: #2b3a7a;
--secondary-border-subtle: #2b323b;
--success-border-subtle: #2b5b40;
--info-border-subtle: #254861;
--warning-border-subtle: #5a3c0e;
--danger-border-subtle: #5c2723;
--light-border-subtle: #222831;
--dark-border-subtle: #2b323b;
/* Typography & layout */
--body-font-family: var(--optain-cassiopeia-font-family-body, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
--body-font-size: 1rem;
--body-font-weight: 400;
--body-line-height: 1.5;
--body-color: #e6ebf1;
--body-color-rgb: 230, 235, 241;
--body-bg: #0e1318;
--body-bg-rgb: 14, 19, 24;
--emphasis-color: #fff;
--emphasis-color-rgb: 255, 255, 255;
--secondary-color: #e6ebf1bf;
--secondary-color-rgb: 230, 235, 241;
--secondary-bg: #151b22;
--secondary-bg-rgb: 21, 27, 34;
--tertiary-color: #e6ebf180;
--tertiary-color-rgb: 230, 235, 241;
--tertiary-bg: #10151b;
--tertiary-bg-rgb: 16, 21, 27;
--heading-color: #f1f5f9;
--link-color: #8ab4f8;
--link-color-rgb: 138, 180, 248;
--link-decoration: underline;
--link-hover-color: #c3d6ff;
--link-hover-color-rgb: 195, 214, 255;
--code-color: #ff7abd;
--highlight-color: #111;
--highlight-bg: #ffe28a1a;
--border-width: 1px;
--border-style: solid;
--border-color: #2b323b;
--border-color-translucent: #ffffff26;
--border-radius: .25rem;
--border-radius-sm: .2rem;
--border-radius-lg: .3rem;
--border-radius-xl: .3rem;
--border-radius-xxl: 2rem;
--border-radius-2xl: var(--border-radius-xxl);
--border-radius-pill: 50rem;
--box-shadow: 0 .5rem 1rem #00000066;
--box-shadow-sm: 0 .125rem .25rem #00000040;
--box-shadow-lg: 0 1rem 3rem #00000080;
--box-shadow-inset: inset 0 1px 2px #00000040;
--focus-ring-width: .25rem;
--focus-ring-opacity: .6;
--focus-ring-color: #5472ff66;
--form-valid-color: #78d694;
--form-valid-border-color: #78d694;
--form-invalid-color: #ff8e86;
--form-invalid-border-color: #ff8e86;
}
/* Buttons — inherit brand hues; ensure strong contrast on dark bg */
[data-bs-theme='dark'] .btn-primary {
--btn-color: hsl(0, 0%, 100%);
--btn-bg: hsl(240, 98%, 17%);
--btn-border-color: hsl(240, 98%, 17%);
--btn-hover-color: hsl(0, 0%, 100%);
--btn-hover-bg: #010149;
--btn-hover-border-color: #010145;
--btn-focus-shadow-rgb: 84, 114, 255;
--btn-active-color: hsl(0, 0%, 100%);
--btn-active-bg: #010145;
--btn-active-border-color: #010141;
}
[data-bs-theme='dark'] .btn-secondary {
--btn-color: var(--nav-text-color);
--btn-bg: var(--nav-bg-color);
--btn-border-color: #3a4250;
--btn-hover-color: #fff;
--btn-hover-bg: #1b2a55;
--btn-hover-border-color: #162448;
--btn-focus-shadow-rgb: 84, 114, 255;
--btn-active-color: #fff;
--btn-active-bg: #162448;
--btn-active-border-color: #12203f;
}
/* Outline buttons on dark: keep readable borders */
[data-bs-theme='dark'] .btn-outline-light {
--btn-color: #e6ebf1;
--btn-border-color: #e6ebf1;
--btn-hover-color: #111;
--btn-hover-bg: #e6ebf1;
--btn-hover-border-color: #e6ebf1;
--btn-active-color: #111;
--btn-active-bg: #d7dce2;
--btn-active-border-color: #d7dce2;
--gradient: none;
}
/* Links as buttons */
[data-bs-theme='dark'] .btn-link {
--btn-font-weight: 400;
--btn-color: var(--link-color);
--btn-bg: transparent;
--btn-border-color: transparent;
--btn-hover-color: var(--link-hover-color);
--btn-hover-border-color: transparent;
--btn-active-color: var(--link-hover-color);
--btn-active-border-color: transparent;
--btn-disabled-color: #6d7781;
--btn-disabled-border-color: transparent;
--btn-box-shadow: none;
--btn-focus-shadow-rgb: 84, 114, 255;
text-decoration: underline;
}
/* -----------------------------------------------
* OPTIONAL: small fix for .btn-secondary in light
* (uses var() so it picks up your nav colors)
* --------------------------------------------- */
[data-bs-theme='light'] .btn-secondary,
:root .btn-secondary {
--btn-color: var(--nav-text-color);
--btn-bg: var(--nav-bg-color);
}

View File

@@ -1,3 +1,4 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller — | Moko Consulting|https://mokoconsulting.tech */
@charset "UTF-8"; @charset "UTF-8";
/*! /*!
* @package Joomla.Site * @package Joomla.Site
@@ -14255,6 +14256,12 @@ th dd {
.com-contact__thumbnail { .com-contact__thumbnail {
text-align: left; text-align: left;
margin: 2em;
padding:1rem;
}
[data-bs-theme='dark'] .com-contact__thumbnail {
background-color: var(--nav-text-color);
} }
@media (min-width: 1200px) { @media (min-width: 1200px) {
@@ -14289,9 +14296,8 @@ th dd {
} }
.com-contact__container .com-contact__thumbnail { .com-contact__container .com-contact__thumbnail {
grid-column: 3/5; grid-column: 1/5;
grid-row: 2/5; grid-row: 2/5;
margin-bottom: 1em;
text-align: right; text-align: right;
} }
@@ -15403,7 +15409,7 @@ iframe {
} }
.boxed .blog-item { .boxed .blog-item {
background-color: hsl(0, 0%, 100%); background-color: var(--bs-body-bg);
} }
.boxed .blog-item figure.item-image { .boxed .blog-item figure.item-image {
@@ -15944,7 +15950,7 @@ body.wrapper-fluid header>.grid-child {
} }
footer .grid-child>div { footer .grid-child>div {
padding: 0 4em; padding: 1rem 4em;
} }
header .grid-child .navbar-brand { header .grid-child .navbar-brand {
@@ -17301,3 +17307,4 @@ form .form-select {
border-radius: var(--container-bottom-b-border-radius); border-radius: var(--container-bottom-b-border-radius);
border: var(--container-bottom-b-border); border: var(--container-bottom-b-border);
} }

View File

@@ -0,0 +1,4 @@
/*!
* Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/)
* Copyright 2015 Aidan Feldman
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */nav[data-toggle=toc] .nav>li>a{display:block;padding:4px 20px;font-size:13px;font-weight:500;color:#767676}nav[data-toggle=toc] .nav>li>a:focus,nav[data-toggle=toc] .nav>li>a:hover{padding-left:19px;color:#563d7c;text-decoration:none;background-color:transparent;border-left:1px solid #563d7c}nav[data-toggle=toc] .nav-link.active,nav[data-toggle=toc] .nav-link.active:focus,nav[data-toggle=toc] .nav-link.active:hover{padding-left:18px;font-weight:700;color:#563d7c;background-color:transparent;border-left:2px solid #563d7c}nav[data-toggle=toc] .nav-link+ul{display:none;padding-bottom:10px}nav[data-toggle=toc] .nav .nav>li>a{padding-top:1px;padding-bottom:1px;padding-left:30px;font-size:12px;font-weight:400}nav[data-toggle=toc] .nav .nav>li>a:focus,nav[data-toggle=toc] .nav .nav>li>a:hover{padding-left:29px}nav[data-toggle=toc] .nav .nav>li>.active,nav[data-toggle=toc] .nav .nav>li>.active:focus,nav[data-toggle=toc] .nav .nav>li>.active:hover{padding-left:28px;font-weight:500}nav[data-toggle=toc] .nav-link.active+ul{display:block}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 979 B

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,2 @@
<!-- MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech -->

View File

@@ -0,0 +1,2 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */

View File

@@ -1,3 +1,4 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */
(function () { (function () {
'use strict'; 'use strict';
@@ -27,3 +28,4 @@
}); });
})(); })();

View File

@@ -1,3 +1,4 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.Moko-Cassiopeia * @subpackage Templates.Moko-Cassiopeia
@@ -23,3 +24,4 @@ document.addEventListener('DOMContentLoaded', () => {
}); });
}); });
}); });

View File

@@ -1,3 +1,4 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.Moko-Cassiopeia * @subpackage Templates.Moko-Cassiopeia
@@ -72,3 +73,4 @@ Joomla = window.Joomla || {};
document.addEventListener('joomla:updated', initTemplate); document.addEventListener('joomla:updated', initTemplate);
})(Joomla, document); })(Joomla, document);

View File

@@ -1,3 +1,4 @@
/* MOKO-COPYRIGHT: © 2025-08-10 Jonathan Miller || Moko Consulting — https://mokoconsulting.tech */
/*! /*!
* Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/) * Bootstrap Table of Contents v1.0.1 (http://afeld.github.io/bootstrap-toc/)
* Copyright 2015 Aidan Feldman * Copyright 2015 Aidan Feldman

View File

@@ -245,7 +245,8 @@ $label = 'cta_hero';
## Changelog ## Changelog
- 1.0.0: Initial public release with FA6, BS5, TOC, GTM/GA hooks. - 1.15: Added CSS theme seletor (dark/light)
- 1.00: Initial public release with FA6, BS5, TOC, GTM/GA hooks.
## License ## License

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.Moko-Cassiopeia * @subpackage Templates.Moko-Cassiopeia
@@ -86,3 +87,4 @@ $wa->getAsset('style', 'fontawesome')->setAttribute('rel', 'lazy-stylesheet');
<jdoc:include type="component" /> <jdoc:include type="component" />
</body> </body>
</html> </html>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.moko-cassiopeia * @subpackage Templates.moko-cassiopeia

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.moko-cassiopeia * @subpackage Templates.moko-cassiopeia
@@ -228,3 +229,4 @@ $wa->getAsset('style', 'fontawesome')->setAttribute('rel', 'lazy-stylesheet');
<jdoc:include type="modules" name="debug" style="none" /> <jdoc:include type="modules" name="debug" style="none" />
</body> </body>
</html> </html>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_contact * @subpackage com_contact
@@ -158,8 +159,6 @@ $htag = $tparams->get('show_page_heading') ? 'h2' : 'h1';
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<?php if ($tparams->get('show_email_form') && ($this->item->email_to || $this->item->user_id)) : ?> <?php if ($tparams->get('show_email_form') && ($this->item->email_to || $this->item->user_id)) : ?>
<?php echo '<h3>' . Text::_('COM_CONTACT_EMAIL_FORM') . '</h3>'; ?>
<?php echo $this->loadTemplate('form'); ?> <?php echo $this->loadTemplate('form'); ?>
<?php endif; ?> <?php endif; ?>
</div> </div>

View File

@@ -0,0 +1,177 @@
<?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ContentHelper;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Router\Route;
use Joomla\Component\Contact\Site\Helper\RouteHelper;
$tparams = $this->item->params;
$canDo = ContentHelper::getActions('com_contact', 'category', $this->item->catid);
$canEdit = $canDo->get('core.edit') || ($canDo->get('core.edit.own') && $this->item->created_by === Factory::getUser()->id);
$htag = $tparams->get('show_page_heading') ? 'h2' : 'h1';
?>
<div class="com-contact contact" itemscope itemtype="https://schema.org/Person">
<?php if ($canEdit) : ?>
<div class="icons">
<div class="text-end">
<div>
<?php echo HTMLHelper::_('contacticon.edit', $this->item, $tparams); ?>
</div>
</div>
</div>
<?php endif; ?>
<?php if ($tparams->get('show_page_heading')) : ?>
<h1>
<?php echo $this->escape($tparams->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($this->item->name && $tparams->get('show_name')) : ?>
<div class="page-header">
<<?php echo $htag; ?>>
<?php if ($this->item->published == 0) : ?>
<span class="badge bg-warning text-light"><?php echo Text::_('JUNPUBLISHED'); ?></span>
<?php endif; ?>
<span class="contact-name" itemprop="name"><?php echo $this->item->name; ?></span>
</<?php echo $htag; ?>>
</div>
<?php endif; ?>
<div class="row gy-4 mb-4">
<div class="col-md-6">
<?php $show_contact_category = $tparams->get('show_contact_category'); ?>
<?php if ($show_contact_category === 'show_no_link') : ?>
<h3>
<span class="contact-category"><?php echo $this->item->category_title; ?></span>
</h3>
<?php elseif ($show_contact_category === 'show_with_link') : ?>
<?php $contactLink = RouteHelper::getCategoryRoute($this->item->catid, $this->item->language); ?>
<h3>
<span class="contact-category"><a href="<?php echo $contactLink; ?>">
<?php echo $this->escape($this->item->category_title); ?></a>
</span>
</h3>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayTitle; ?>
<?php if ($tparams->get('show_contact_list') && count($this->contacts) > 1) : ?>
<form action="#" method="get" name="selectForm" id="selectForm">
<label for="select_contact"><?php echo Text::_('COM_CONTACT_SELECT_CONTACT'); ?></label>
<?php echo HTMLHelper::_(
'select.genericlist',
$this->contacts,
'select_contact',
'class="form-select" onchange="document.location.href = this.value"',
'link',
'name',
$this->item->link
);
?>
</form>
<?php endif; ?>
<?php if ($tparams->get('show_tags', 1) && !empty($this->item->tags->itemTags)) : ?>
<div class="com-contact__tags">
<?php $this->item->tagLayout = new FileLayout('joomla.content.tags'); ?>
<?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
</div>
<?php endif; ?>
<?php echo $this->item->event->beforeDisplayContent; ?>
<?php if ($this->params->get('show_info', 1)) : ?>
<div class="com-contact__container">
<?php echo '<h3>' . Text::_('COM_CONTACT_DETAILS') . '</h3>'; ?>
<?php if ($this->item->image && $tparams->get('show_image')) : ?>
<div class="com-contact__thumbnail thumbnail">
<?php echo LayoutHelper::render(
'joomla.html.image',
[
'src' => $this->item->image,
'alt' => $this->item->name,
'itemprop' => 'image',
]
); ?>
</div>
<?php endif; ?>
<?php if ($this->item->con_position && $tparams->get('show_position')) : ?>
<dl class="com-contact__position contact-position dl-horizontal">
<dt><?php echo Text::_('COM_CONTACT_POSITION'); ?>:</dt>
<dd itemprop="jobTitle">
<?php echo $this->item->con_position; ?>
</dd>
</dl>
<?php endif; ?>
<div class="com-contact__info">
<?php echo $this->loadTemplate('address'); ?>
<?php if ($tparams->get('allow_vcard')) : ?>
<?php echo Text::_('COM_CONTACT_DOWNLOAD_INFORMATION_AS'); ?>
<a href="<?php echo Route::_('index.php?option=com_contact&view=contact&catid=' . $this->item->catslug . '&id=' . $this->item->slug . '&format=vcf'); ?>">
<?php echo Text::_('COM_CONTACT_VCARD'); ?></a>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
<?php if ($tparams->get('show_links')) : ?>
<?php echo $this->loadTemplate('links'); ?>
<?php endif; ?>
<?php if ($tparams->get('show_articles') && $this->item->user_id && $this->item->articles) : ?>
<?php echo '<h3>' . Text::_('JGLOBAL_ARTICLES') . '</h3>'; ?>
<?php echo $this->loadTemplate('articles'); ?>
<?php endif; ?>
<?php if ($tparams->get('show_profile') && $this->item->user_id && PluginHelper::isEnabled('user', 'profile')) : ?>
<?php echo '<h3>' . Text::_('COM_CONTACT_PROFILE') . '</h3>'; ?>
<?php echo $this->loadTemplate('profile'); ?>
<?php endif; ?>
<?php if ($tparams->get('show_user_custom_fields') && $this->contactUser) : ?>
<?php echo $this->loadTemplate('user_custom_fields'); ?>
<?php endif; ?>
</div>
<div class="col-md-6">
<?php if ($tparams->get('show_email_form') && ($this->item->email_to || $this->item->user_id)) : ?>
<?php echo $this->loadTemplate('form'); ?>
<?php endif; ?>
</div>
</div>
<?php if ($this->item->misc && $tparams->get('show_misc')) : ?>
<?php echo '<h3>' . Text::_('COM_CONTACT_OTHER_INFORMATION') . '</h3>'; ?>
<div class="com-contact__miscinfo contact-miscinfo">
<div class="contact-misc">
<?php echo $this->item->misc; ?>
</div>
</div>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayContent; ?>
</div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.moko-cassiopeia * @subpackage Templates.moko-cassiopeia
@@ -154,3 +155,4 @@ $isExpired = !is_null($this->item->publish_down) && $this->item->publish
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?> <?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
<?php echo $this->item->event->afterDisplayContent; ?> <?php echo $this->item->event->afterDisplayContent; ?>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.moko-cassiopeia * @subpackage Templates.moko-cassiopeia
@@ -156,3 +157,4 @@ $isExpired = !is_null($this->item->publish_down) && $this->item->publish
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?> <?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
<?php echo $this->item->event->afterDisplayContent; ?> <?php echo $this->item->event->afterDisplayContent; ?>
</div> </div>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -29,3 +30,4 @@ $wa->usePreset('com_categories.shared-categories-accordion');
echo $this->loadTemplate('items'); echo $this->loadTemplate('items');
?> ?>
</div> </div>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -73,3 +74,4 @@ if ($this->maxLevelcat != 0 && count($this->items[$this->parent->id]) > 0) :
<?php endforeach; ?> <?php endforeach; ?>
</div> </div>
<?php endif; ?> <?php endif; ?>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -139,3 +140,4 @@ $htag = $this->params->get('show_page_heading') ? 'h2' : 'h1';
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -82,3 +83,4 @@ if ($this->maxLevel != 0 && count($this->children[$this->category->id]) > 0) : ?
<?php endforeach; ?> <?php endforeach; ?>
<?php endif; <?php endif;

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -98,3 +99,4 @@ $isUnpublished = ($this->item->state == ContentComponent::CONDITION_UNPUBLISHED
</div> </div>
</section> </section>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -23,3 +24,4 @@ use Joomla\Component\Content\Site\Helper\RouteHelper;
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>
</ol> </ol>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -21,3 +22,4 @@ echo LayoutHelper::render('joomla.content.category_default', $this);
?> ?>
</div> </div>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -345,3 +346,4 @@ $currentDate = Factory::getDate()->format('Y-m-d H:i:s');
<input type="hidden" name="task" value=""> <input type="hidden" name="task" value="">
</div> </div>
</form> </form>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -81,3 +82,4 @@ $groups = $user->getAuthorisedViewLevels();
<?php endif; ?> <?php endif; ?>
<?php endforeach; ?> <?php endforeach; ?>
<?php endif; ?> <?php endif; ?>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -71,3 +72,4 @@ defined('_JEXEC') or die;
<?php endif; ?> <?php endif; ?>
</div> </div>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -117,3 +118,4 @@ $isUnpublished = $this->item->state == ContentComponent::CONDITION_UNPUBLISH
<?php // Content is generated by content plugin event "onContentAfterDisplay" ?> <?php // Content is generated by content plugin event "onContentAfterDisplay" ?>
<?php echo $this->item->event->afterDisplayContent; ?> <?php echo $this->item->event->afterDisplayContent; ?>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage com_content * @subpackage com_content
@@ -22,3 +23,4 @@ use Joomla\Component\Content\Site\Helper\RouteHelper;
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>
</ol> </ol>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package AkeebaEngage * @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd * @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package AkeebaEngage * @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd * @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package AkeebaEngage * @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd * @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
@@ -282,3 +283,4 @@ $bsCommentStateClass = ($comment->enabled == 1) ? 'secondary' : (($comment->ena
</li> </li>
<?php endif; ?> <?php endif; ?>
<?php endfor; ?> <?php endfor; ?>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package AkeebaEngage * @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd * @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -191,3 +192,4 @@ for ($i = 0 , $n = count($items) ; $i < $n ; $i++)
</div> </div>
<?php <?php
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -31,3 +32,4 @@ $message = "alert(Joomla.JText._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIS
<span class="icon-checkbox-partial" aria-hidden="true"></span> <span class="icon-checkbox-partial" aria-hidden="true"></span>
<?php echo $title; ?> <?php echo $title; ?>
</button> </button>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -20,3 +21,4 @@ defined('_JEXEC') or die;
<span class="icon-checkbox-partial" aria-hidden="true"></span> <span class="icon-checkbox-partial" aria-hidden="true"></span>
<?php echo $title; ?> <?php echo $title; ?>
</button> </button>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -52,3 +53,4 @@ for ($i = 0 , $n = count($items) ; $i < $n ; $i++)
</div> </div>
<?php <?php
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -227,3 +228,4 @@ for ($i = 0 , $n = count($items) ; $i < $n ; $i++)
</div> </div>
<?php <?php
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -23,3 +24,4 @@ foreach ($rowMembers as $rowMember)
} }
echo implode("\r\n", $names); echo implode("\r\n", $names);

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -32,3 +33,4 @@ defined('_JEXEC') or die;
document.payment_form.submit(); document.payment_form.submit();
</script> </script>
</form> </form>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -125,3 +126,4 @@ $symbol = $item->currency_symbol ?: $item->currency;
} }
?> ?>
</table> </table>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -66,3 +67,4 @@ else
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -229,3 +230,4 @@ if ($i % $numberColumns != 0)
{ {
echo '</div>' ; echo '</div>' ;
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -257,3 +258,4 @@ if ($i % $numberColumns != 0)
{ {
echo '</div>' ; echo '</div>' ;
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -125,3 +126,4 @@ use Joomla\CMS\Language\Text;
<div class="form-actions"> <div class="form-actions">
<input type="submit" class="<?php echo $this->bootstrapHelper->getClassMapping('btn btn-primary'); ?>" value="<?php echo Text::_('OSM_PROCESS_RENEW'); ?>"/> <input type="submit" class="<?php echo $this->bootstrapHelper->getClassMapping('btn btn-primary'); ?>" value="<?php echo Text::_('OSM_PROCESS_RENEW'); ?>"/>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -27,3 +28,4 @@ if (isset($introText))
<?php echo $msg; ?> <?php echo $msg; ?>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -172,3 +173,4 @@ $hiddenPhoneClass = $bootstrapHelper->getClassMapping('hidden-phone');
?> ?>
</table> </table>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -44,3 +45,4 @@ use Joomla\CMS\Language\Text;
} }
?> ?>
</ul> </ul>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -137,3 +138,4 @@ OSMembershipHelperHtml::addJSStrings($keys);
<input type="hidden" id="recurring" name="recurring" value="<?php echo (int) $this->item->recurring_subscription;?>" /> <input type="hidden" id="recurring" name="recurring" value="<?php echo (int) $this->item->recurring_subscription;?>" />
</form> </form>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -169,3 +170,4 @@ if ($this->item->id && !$this->item->recurring_subscription)
<textarea name="conversion_tracking_code" class="form-control input-large" rows="10"><?php echo $this->item->conversion_tracking_code;?></textarea> <textarea name="conversion_tracking_code" class="form-control input-large" rows="10"><?php echo $this->item->conversion_tracking_code;?></textarea>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -162,3 +163,4 @@ if ((int)$this->item->expired_date)
<?php echo $editor->display('description', $this->item->description, '100%', '250', '75', '10') ; ?> <?php echo $editor->display('description', $this->item->description, '100%', '250', '75', '10') ; ?>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -41,3 +42,4 @@ $controlsClass = $bootstrapHelper->getClassMapping('controls');
<?php echo $this->lists['number_members_field']; ?> <?php echo $this->lists['number_members_field']; ?>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -42,3 +43,4 @@ $controlsClass = $bootstrapHelper->getClassMapping('controls');
<?php echo $editor->display('card_layout', $this->item->card_layout, '100%', '550', '75', '8') ;?> <?php echo $editor->display('card_layout', $this->item->card_layout, '100%', '550', '75', '8') ;?>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -77,3 +78,4 @@ $controlsClass = $bootstrapHelper->getClassMapping('controls');
} }
?> ?>
</fieldset> </fieldset>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -71,3 +72,4 @@ $controlsClass = $bootstrapHelper->getClassMapping('controls');
<?php echo $editor->display('third_reminder_email_body', $this->item->third_reminder_email_body, '100%', '250', '75', '8'); ?> <?php echo $editor->display('third_reminder_email_body', $this->item->third_reminder_email_body, '100%', '250', '75', '8'); ?>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -58,3 +59,4 @@ $controlsClass = $bootstrapHelper->getClassMapping('controls');
} }
?> ?>
</fieldset> </fieldset>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -30,3 +31,4 @@ foreach ($form->getFieldset() as $field)
{ {
echo $field->input; echo $field->input;
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -30,3 +31,4 @@ foreach ($form->getFieldset() as $field)
{ {
echo $field->input; echo $field->input;
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -219,3 +220,4 @@ foreach ($this->languages as $language)
} }
echo HTMLHelper::_('bootstrap.endTabSet'); echo HTMLHelper::_('bootstrap.endTabSet');

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -37,3 +38,4 @@ foreach ($form->getFieldset() as $field)
{ {
echo $field->input; echo $field->input;
} }

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -35,3 +36,4 @@ $pullLeftClass = $this->bootstrapHelper->getClassMapping('pull-left');
echo $this->pagination->getLimitBox(); echo $this->pagination->getLimitBox();
?> ?>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -34,3 +35,4 @@ $pullLeftClass = $this->bootstrapHelper->getClassMapping('pull-left');
echo $this->pagination->getLimitBox(); echo $this->pagination->getLimitBox();
?> ?>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro
@@ -41,3 +42,4 @@ use Joomla\CMS\Router\Route;
} }
?> ?>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Joomla * @package Joomla
* @subpackage Membership Pro * @subpackage Membership Pro

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.Moko-Cassiopeia * @subpackage Templates.Moko-Cassiopeia
@@ -57,3 +58,4 @@ $header = '<' . $headerTag . ' ' . ArrayHelper::toString($headerAttribs) . '>' .
<?php echo $module->content; ?> <?php echo $module->content; ?>
</div> </div>
</<?php echo $moduleTag; ?>> </<?php echo $moduleTag; ?>>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Layout * @subpackage Layout
@@ -84,3 +85,4 @@ $header = '<' . $headerTag . ' ' . ArrayHelper::toString($headerAttribs) . '>' .
<?php endif; ?> <?php endif; ?>
<?php echo $module->content; ?> <?php echo $module->content; ?>
</<?php echo $moduleTag; ?>> </<?php echo $moduleTag; ?>>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.Moko-Cassiopeia * @subpackage Templates.Moko-Cassiopeia
@@ -51,3 +52,4 @@ $header = '<' . $headerTag . ' ' . ArrayHelper::toString($headerAttribs) . '>' .
<?php endif; ?> <?php endif; ?>
<?php echo $module->content; ?> <?php echo $module->content; ?>
</<?php echo $moduleTag; ?>> </<?php echo $moduleTag; ?>>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_custom * @subpackage mod_custom
@@ -30,3 +31,4 @@ if ($params->get('backgroundimage')) {
<?php echo $module->content; ?> <?php echo $module->content; ?>
</div> </div>
</div> </div>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_custom * @subpackage mod_custom
@@ -30,3 +31,4 @@ if ($params->get('backgroundimage')) {
<?php echo $module->content; ?> <?php echo $module->content; ?>
</div> </div>
</div> </div>

View File

@@ -1,4 +1,5 @@
<?php <?php
/** /**
* @package Tabaoca.Component.Gabble.Site * @package Tabaoca.Component.Gabble.Site
* @subpackage mod_gabble * @subpackage mod_gabble
@@ -156,3 +157,4 @@ $document->addScript('media/com_gabble/js/gabble_com.js');
</div> </div>
<p style="text-align:right;" ><?php echo Text::_('COM_GABBLE_POWERED');?> <a href="https://tabaoca.org">Tabaoca</a></p> <p style="text-align:right;" ><?php echo Text::_('COM_GABBLE_POWERED');?> <a href="https://tabaoca.org">Tabaoca</a></p>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_menu * @subpackage mod_menu
@@ -24,3 +25,4 @@ HTMLHelper::_('bootstrap.collapse');
<?php require __DIR__ . '/dropdown-metismenu.php'; ?> <?php require __DIR__ . '/dropdown-metismenu.php'; ?>
</div> </div>
</nav> </nav>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_menu * @subpackage mod_menu
@@ -106,3 +107,4 @@ $start = (int) $params->get('startLevel', 1);
endswitch; endswitch;
} }
?></ul> ?></ul>

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_menu * @subpackage mod_menu
@@ -75,3 +76,4 @@ echo HTMLHelper::link(OutputFilter::ampReplace(htmlspecialchars($item->flink, EN
if ($showAll && $item->deeper) { if ($showAll && $item->deeper) {
echo '<button class="mm-collapsed mm-toggler mm-toggler-link" aria-haspopup="true" aria-expanded="false" aria-label="' . $item->title . '"></button>'; echo '<button class="mm-collapsed mm-toggler mm-toggler-link" aria-haspopup="true" aria-expanded="false" aria-label="' . $item->title . '"></button>';
} }

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_menu * @subpackage mod_menu
@@ -57,3 +58,4 @@ if ($showAll && $item->deeper) {
} else { } else {
echo '<span ' . ArrayHelper::toString($attributes) . '>' . $linktype . '</span>'; echo '<span ' . ArrayHelper::toString($attributes) . '>' . $linktype . '</span>';
} }

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_menu * @subpackage mod_menu
@@ -57,3 +58,4 @@ if ($showAll && $item->deeper) {
} else { } else {
echo '<span ' . ArrayHelper::toString($attributes) . '>' . $linktype . '</span>'; echo '<span ' . ArrayHelper::toString($attributes) . '>' . $linktype . '</span>';
} }

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage mod_menu * @subpackage mod_menu
@@ -72,3 +73,4 @@ echo HTMLHelper::link(OutputFilter::ampReplace(htmlspecialchars($item->flink, EN
if ($showAll && $item->deeper) { if ($showAll && $item->deeper) {
echo '<button class="mm-collapsed mm-toggler mm-toggler-link" aria-haspopup="true" aria-expanded="false" aria-label="' . $item->title . '"></button>'; echo '<button class="mm-collapsed mm-toggler mm-toggler-link" aria-haspopup="true" aria-expanded="false" aria-label="' . $item->title . '"></button>';
} }

View File

@@ -1,5 +1,6 @@
<?php <?php
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
\Joomla\CMS\HTML\HTMLHelper::_('bootstrap.dropdown'); \Joomla\CMS\HTML\HTMLHelper::_('bootstrap.dropdown');

View File

@@ -1,5 +1,6 @@
<?php <?php
/** /**
* @package Joomla.Site * @package Joomla.Site
* @subpackage Templates.vmbasic * @subpackage Templates.vmbasic

View File

@@ -1,5 +1,6 @@
<?php <?php
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Router\Route; use Joomla\CMS\Router\Route;

View File

@@ -1,5 +1,6 @@
<?php <?php
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory; use Joomla\CMS\Factory;

View File

@@ -1,5 +1,6 @@
<?php <?php
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory; use Joomla\CMS\Factory;

View File

@@ -1,5 +1,6 @@
<?php <?php
defined('_JEXEC') or die('Restricted access'); defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Router\Route; use Joomla\CMS\Router\Route;

Some files were not shown because too many files have changed in this diff Show More