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>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8
;---------------------------------------------------
; Template: moko-cassiopeia
; File: en-GB.tpl_moko-cassiopeia.ini
; 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"
TPL_MOKO-CASSIOPEIA_BACKTOTOP="Back to Top"
@@ -52,4 +58,4 @@ TPL_MOKO-CASSIOPEIA_DRAWER_LEFT_ICON_LABEL="Drawer Left Icon CSS"
TPL_MOKO-CASSIOPEIA_DRAWER_LEFT_ICON_DESC="Enter the Font-Awesome class for the left drawer toggle (e.g. 'fas fa-chevron-left')."
TPL_MOKO-CASSIOPEIA_DRAWER_RIGHT_ICON_LABEL="Drawer Right Icon CSS"
TPL_MOKO-CASSIOPEIA_DRAWER_RIGHT_ICON_DESC="Enter the Font-Awesome class for the right drawer toggle (e.g. 'fas fa-chevron-right')."
TPL_MOKO-CASSIOPEIA_TOC="Table of Contents"
TPL_MOKO-CASSIOPEIA_TOC="Table of Contents"

View File

@@ -1,7 +1,13 @@
; Joomla! Project
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8
;---------------------------------------------------
; Template: moko-cassiopeia
; File: en-GB.tpl_moko-cassiopeia.sys.ini
; 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_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown"
@@ -71,4 +77,4 @@ TPL_MOKO-CASSIOPEIA_XML_DESCRIPTION="<h3>MOKO-CASSIOPEIA Template Description</h
</p>
<p>
All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.
</p>"
</p>"

View File

@@ -1,7 +1,13 @@
; Joomla! Project
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8
;---------------------------------------------------
; Template: moko-cassiopeia
; File: en-US.tpl_moko-cassiopeia.ini
; 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"
TPL_MOKO-CASSIOPEIA_BACKTOTOP="Back to Top"
@@ -52,4 +58,4 @@ TPL_MOKO-CASSIOPEIA_DRAWER_LEFT_ICON_LABEL="Drawer Left Icon CSS"
TPL_MOKO-CASSIOPEIA_DRAWER_LEFT_ICON_DESC="Enter the Font-Awesome class for the left drawer toggle (e.g. 'fas fa-chevron-left')."
TPL_MOKO-CASSIOPEIA_DRAWER_RIGHT_ICON_LABEL="Drawer Right Icon CSS"
TPL_MOKO-CASSIOPEIA_DRAWER_RIGHT_ICON_DESC="Enter the Font-Awesome class for the right drawer toggle (e.g. 'fas fa-chevron-right')."
TPL_MOKO-CASSIOPEIA_TOC="Table of Contents"
TPL_MOKO-CASSIOPEIA_TOC="Table of Contents"

View File

@@ -1,7 +1,13 @@
; Joomla! Project
; (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8
;---------------------------------------------------
; Template: moko-cassiopeia
; File: en-US.tpl_moko-cassiopeia.sys.ini
; 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_MOD_MENU_LAYOUT_COLLAPSE-METISMENU="Collapsible Dropdown"
@@ -38,3 +44,4 @@ Features:
- 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

View File

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

View File

@@ -1,5 +1,6 @@
/* 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/)
* Copyright 2015 Aidan Feldman
* Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */
!function(a){"use strict";window.Toc={helpers:{findOrFilter:function(e,t){var n=e.find(t);return e.filter(t).add(n).filter(":not([data-toc-skip])")},generateUniqueIdBase:function(e){return a(e).text().trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,64).replace(/^-+|-+$/gm,"").toLowerCase()||e.tagName.toLowerCase()},generateUniqueId:function(e){for(var t=this.generateUniqueIdBase(e),n=0;;n++){var r=t;if(0<n&&(r+="-"+n),!document.getElementById(r))return r}},generateAnchor:function(e){if(e.id)return e.id;var t=this.generateUniqueId(e);return e.id=t},createNavList:function(){return a('<ul class="nav navbar-nav"></ul>')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('<a class="nav-link"></a>');n.attr("href","#"+e),n.text(t);var r=a("<li></li>");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1<this.findOrFilter(e,"h"+t).length)return t}return 1},getHeadings:function(e,t){var n="h"+t,r="h"+(t+1);return this.findOrFilter(e,n+","+r)},getNavLevel:function(e){return parseInt(e.tagName.charAt(1),10)},populateNav:function(r,a,e){var i,s=r,c=this;e.each(function(e,t){var n=c.generateNavItem(t);c.getNavLevel(t)===a?s=r:i&&s===r&&(s=c.createChildNavList(i)),s.append(n),i=n})},parseOps:function(e){var t;return(t=e.jquery?{$nav:e}:e).$scope=t.$scope||a(document.body),t}},init:function(e){(e=this.helpers.parseOps(e)).$nav.attr("data-toggle","toc");var t=this.helpers.createChildNavList(e.$nav),n=this.helpers.getTopLevel(e.$scope),r=this.helpers.getHeadings(e.$scope,n);this.helpers.populateNav(t,n,r)}},a(function(){a('nav[data-toggle="toc"]').each(function(e,t){var n=a(t);Toc.init(n)})})}(jQuery);
!function(a){"use strict";window.Toc={helpers:{findOrFilter:function(e,t){var n=e.find(t);return e.filter(t).add(n).filter(":not([data-toc-skip])")},generateUniqueIdBase:function(e){return a(e).text().trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,64).replace(/^-+|-+$/gm,"").toLowerCase()||e.tagName.toLowerCase()},generateUniqueId:function(e){for(var t=this.generateUniqueIdBase(e),n=0;;n++){var r=t;if(0<n&&(r+="-"+n),!document.getElementById(r))return r}},generateAnchor:function(e){if(e.id)return e.id;var t=this.generateUniqueId(e);return e.id=t},createNavList:function(){return a('<ul class="nav navbar-nav"></ul>')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('<a class="nav-link"></a>');n.attr("href","#"+e),n.text(t);var r=a("<li></li>");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1<this.findOrFilter(e,"h"+t).length)return t}return 1},getHeadings:function(e,t){var n="h"+t,r="h"+(t+1);return this.findOrFilter(e,n+","+r)},getNavLevel:function(e){return parseInt(e.tagName.charAt(1),10)},populateNav:function(r,a,e){var i,s=r,c=this;e.each(function(e,t){var n=c.generateNavItem(t);c.getNavLevel(t)===a?s=r:i&&s===r&&(s=c.createChildNavList(i)),s.append(n),i=n})},parseOps:function(e){var t;return(t=e.jquery?{$nav:e}:e).$scope=t.$scope||a(document.body),t}},init:function(e){(e=this.helpers.parseOps(e)).$nav.attr("data-toggle","toc");var t=this.helpers.createChildNavList(e.$nav),n=this.helpers.getTopLevel(e.$scope),r=this.helpers.getHeadings(e.$scope,n);this.helpers.populateNav(t,n,r)}},a(function(){a('nav[data-toggle="toc"]').each(function(e,t){var n=a(t);Toc.init(n)})})}(jQuery);

View File

@@ -11,13 +11,13 @@ A modern, lightweight enhancement layer for Joomlas Cassiopeia template. Moko
- [Quick Start](#quick-start)
- [Installation](#installation)
- [Configuration](#configuration)
- [Global Params](#global-params)
- [Font Awesome 6](#font-awesome-6)
- [Bootstrap 5 Helpers](#bootstrap-5-helpers)
- [TOC Function](#toc-function)
- [Moko Expansions](#moko-expansions)
- [Google Tag Manager](#google-tag-manager)
- [Google Analytics (GA4)](#google-analytics-ga4)
- [Global Params](#global-params)
- [Font Awesome 6](#font-awesome-6)
- [Bootstrap 5 Helpers](#bootstrap-5-helpers)
- [TOC Function](#toc-function)
- [Moko Expansions](#moko-expansions)
- [Google Tag Manager](#google-tag-manager)
- [Google Analytics (GA4)](#google-analytics-ga4)
- [CSS Variables](#css-variables)
- [Usage Examples](#usage-examples)
- [Best Practices](#best-practices)
@@ -33,8 +33,8 @@ A modern, lightweight enhancement layer for Joomlas Cassiopeia template. Moko
- **Bootstrap 5**: Utility classes, grid, and components available to your layouts and modules.
- **Auto TOC**: Generate an inpage Table of Contents from headings with a single data attribute.
- **Moko Expansions**:
- **GTM**: Dropin dataLayer and container injection with a template param.
- **GA4**: Native GA4 Measurement ID support (with or without GTM).
- **GTM**: Dropin dataLayer and container injection with a template param.
- **GA4**: Native GA4 Measurement ID support (with or without GTM).
- **Productionsafe**: Assets loaded conditionally; no duplicate library loads if another extension already enqueues them.
- **Accessible by default**: TOC anchors and focus styles follow a11y guidelines.
@@ -89,10 +89,10 @@ If 'load\_bootstrap5' is enabled, grid and utilities are available:
```html
<div class='container'>
<div class='row g-3'>
<div class='col-12 col-md-6'>Left</div>
<div class='col-12 col-md-6'>Right</div>
</div>
<div class='row g-3'>
<div class='col-12 col-md-6'>Left</div>
<div class='col-12 col-md-6'>Right</div>
</div>
</div>
```
@@ -114,10 +114,10 @@ Moko-Cassiopeia ships a tiny script that scans within a container for headings (
```html
<article id='article-body'>
<h2>Section A</h2>
<p>...</p>
<h3>Subsection A.1</h3>
<p>...</p>
<h2>Section A</h2>
<p>...</p>
<h3>Subsection A.1</h3>
<p>...</p>
</article>
```
@@ -143,13 +143,13 @@ You can push events from modules or overrides like so:
```html
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'moko_event',
'moko_category': 'ui',
'moko_action': 'toc_opened',
'moko_label': 'sidebar'
});
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'moko_event',
'moko_category': 'ui',
'moko_action': 'toc_opened',
'moko_label': 'sidebar'
});
</script>
```
@@ -163,8 +163,8 @@ Two options:
```html
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'page_view' });
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'page_view' });
</script>
```
@@ -176,15 +176,15 @@ Moko-Cassiopeia exposes custom properties for theme tuning. Example set:
```css
:root {
--moko-cassiopeia-color-primary: #0b4008;
--moko-cassiopeia-color-link: #0b4008;
--moko-cassiopeia-color-hover: #000000;
--moko-cassiopeia-color-primary: #0b4008;
--moko-cassiopeia-color-link: #0b4008;
--moko-cassiopeia-color-hover: #000000;
--moko-cassiopeia-header-background-image: linear-gradient(30deg, #fefcf9, var(--accent-color-primary));
--moko-cassiopeia-header-background-position: auto;
--moko-cassiopeia-header-background-attachment: fixed;
--moko-cassiopeia-header-background-repeat: repeat;
--moko-cassiopeia-header-background-size: auto;
--moko-cassiopeia-header-background-image: linear-gradient(30deg, #fefcf9, var(--accent-color-primary));
--moko-cassiopeia-header-background-position: auto;
--moko-cassiopeia-header-background-attachment: fixed;
--moko-cassiopeia-header-background-repeat: repeat;
--moko-cassiopeia-header-background-size: auto;
}
```
@@ -196,8 +196,8 @@ Moko-Cassiopeia exposes custom properties for theme tuning. Example set:
```html
<a class='btn btn-primary d-inline-flex align-items-center' href='#'>
<i class='fa-solid fa-bolt me-2' aria-hidden='true'></i>
<span>Action</span>
<i class='fa-solid fa-bolt me-2' aria-hidden='true'></i>
<span>Action</span>
</a>
```
@@ -205,7 +205,7 @@ Moko-Cassiopeia exposes custom properties for theme tuning. Example set:
```html
<aside class='position-sticky top-0 pt-3'>
<nav class='toc' data-moko-toc='true' data-moko-toc-target='#content'></nav>
<nav class='toc' data-moko-toc='true' data-moko-toc-target='#content'></nav>
</aside>
```
@@ -217,7 +217,7 @@ Moko-Cassiopeia exposes custom properties for theme tuning. Example set:
$label = 'cta_hero';
?>
<button class='btn btn-outline-primary' onclick='window.dataLayer && window.dataLayer.push({"event": "cta_click", "label": "<?php echo $label; ?>"})'>
Click me
Click me
</button>
```
@@ -234,7 +234,7 @@ $label = 'cta_hero';
## Development
- Source structure follows Joomla template conventions:
- '/css', '/js', '/images', '/html' (overrides), 'templateDetails.xml'
- '/css', '/js', '/images', '/html' (overrides), 'templateDetails.xml'
- Scripts are enqueued via the template's 'index.php' with conditional params.
- Build/compile steps (if using bundlers) are noted in 'package.json' (when applicable).
@@ -245,7 +245,8 @@ $label = 'cta_hero';
## 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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla.Site
* @subpackage Templates.moko-cassiopeia
@@ -20,4 +21,4 @@
echo $js_code;
}
?>
Custom code included here
Custom code included here

View File

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

View File

@@ -1,5 +1,6 @@
<?php
/**
* @package Joomla.Site
* @subpackage com_contact
@@ -158,8 +159,6 @@ $htag = $tparams->get('show_page_heading') ? 'h2' : 'h1';
</div>
<div class="col-md-6">
<?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 endif; ?>
</div>
@@ -175,4 +174,4 @@ $htag = $tparams->get('show_page_heading') ? 'h2' : 'h1';
</div>
<?php endif; ?>
<?php echo $this->item->event->afterDisplayContent; ?>
</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
/**
* @package Joomla.Site
* @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 echo $this->item->event->afterDisplayContent; ?>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla.Site
* @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 echo $this->item->event->afterDisplayContent; ?>
</div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
@@ -74,4 +75,4 @@ $cParams = ComponentHelper::getParams('com_engage');
</p>
</div>
<?php endif; ?>
</section>
</section>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
@@ -86,4 +87,4 @@ HTMLHelper::_('behavior.formvalidator');
<?= $this->loadPosition('engage-after-reply'); ?>
</div>
</form>
</form>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package AkeebaEngage
* @copyright Copyright (c)2020-2025 Nicholas K. Dionysopoulos / Akeeba Ltd
@@ -41,4 +42,4 @@ if (empty($moduleContent) && empty($positionContent))
<?= $moduleContent ?>
<?= $positionContent ?>
</footer>
</footer>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @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>
<?php echo $title; ?>
</button>

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -111,9 +112,9 @@ foreach ($items as $item)
if ($item->thumb)
{
?>
<a href="<?php echo $url; ?>" title="<?php echo $item->title; ?>">
<a href="<?php echo $url; ?>" title="<?php echo $item->title; ?>">
<img src="<?php echo $imgSrc; ?>" class="osm-thumb-left <?php echo $imgClass; ?>" />
</a>
</a>
<?php
}
@@ -215,4 +216,4 @@ foreach ($items as $item)
}
}
?>
</div>
</div>

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -41,4 +42,4 @@ foreach ($form->getFieldset('basic') as $field)
</td>
</tr>
<?php
}
}

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -233,4 +234,4 @@ if ($i % $numberColumns != 0)
.osm-pricing-table-circle .osm-plan:hover .osm-plan-price {
background-color: <?php echo $recommendedPlanBackgroundColor; ?>!important;
}
</style>
</style>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -101,4 +102,4 @@ $i = 1;
}
?>
</tbody>
</table>
</table>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @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;?>" />
</form>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @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>
</div>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @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') ; ?>
</div>
</div>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @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') ;?>
</div>
</div>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -52,4 +53,4 @@ $controlsClass = $bootstrapHelper->getClassMapping('controls');
<textarea rows="5" cols="30" class="input-xxlarge form-control"
name="meta_description"><?php echo $this->item->meta_description; ?></textarea>
</div>
</div>
</div>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @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'); ?>
</div>
</div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -234,4 +235,4 @@ $config = OSMembershipHelper::getConfig();
<input type="hidden" name="filter_order_Dir" value="<?php echo $this->state->filter_order_Dir; ?>" />
<?php echo HTMLHelper::_('form.token'); ?>
</form>
</div>
</div>

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -172,4 +173,4 @@ else
</ul>
</div>
</div>
</div>
</div>

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -80,4 +81,4 @@ use Joomla\CMS\Language\Text;
<?php
}
?>
</div>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -79,4 +80,4 @@ use Joomla\CMS\Language\Text;
<?php
}
?>
</div>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -71,4 +72,4 @@ $categoryId = $this->category ? $this->category->id : 0;
echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/pricingtable_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]);
}
?>
</div>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -71,4 +72,4 @@ $categoryId = $this->category ? $this->category->id : 0;
echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/pricingtable_circle_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]);
}
?>
</div>
</div>

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Joomla
* @subpackage Membership Pro
@@ -71,4 +72,4 @@ $categoryId = $this->category ? $this->category->id : 0;
echo OSMembershipHelperHtml::loadCommonLayout('common/tmpl/pricingtable_flat_plans.php', ['items' => $this->items, 'input' => $this->input, 'config' => $this->config, 'Itemid' => $this->Itemid, 'categoryId' => $this->categoryId, 'bootstrapHelper' => $this->bootstrapHelper, 'params' => $this->params]);
}
?>
</div>
</div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,5 @@
<?php
/**
* @package Tabaoca.Component.Gabble.Site
* @subpackage mod_gabble
@@ -33,7 +34,7 @@ if ( !$currentuser->get("id")){
</div>
</div>
</div>';
return;
}
@@ -41,7 +42,7 @@ if ( !$currentuser->get("id")){
$input = $app->input;
if ($input->get('option') == 'com_gabble') {
echo '<div class="content">
<div id="mod_gabble">
<div id="mod_lists_gabble">
@@ -50,9 +51,9 @@ if ($input->get('option') == 'com_gabble') {
</div>
</div>
</div>';
return;
}
$document->addScript('media/com_gabble/js/gabble_com.js');
@@ -60,16 +61,16 @@ $document->addScript('media/com_gabble/js/gabble_com.js');
?>
<div class="content">
<div id="mod_gabble">
<div id="list_windows" class="list-windows"></div>
<div id="main_windows" class="main-windows"></div>
<div id="lists_gabble">
<div id="select_list" class="row">
<div class="col-md-4 notifications" title="<?php echo Text::_('COM_GABBLE_CHATS'); ?>">
<button id="list_chats" class="button_list" title="Chats" onclick="select_list(1);"><i class="icon-comments-2"></i></button>
<div id="n_notifications" class="n-notifications" title="Users" hidden=""></div>
@@ -80,9 +81,9 @@ $document->addScript('media/com_gabble/js/gabble_com.js');
<div class="col-md-4" title="<?php echo Text::_('COM_GABBLE_GABBLE_CHAT'); ?>">
<button id="btn_gabble" class="button_list" onclick="window.location.href = &quot;<?php echo Uri::root().'index.php?option=com_gabble&view=gabble'; ?>&quot;;"><i class="icon-expand-2"></i></button>
</div>
</div>
<div id="options_list" hidden="">
<select id="users_list" name="users_list" onchange="select_list(2);">
<option value="0"><?php echo Text::_('COM_GABBLE_USERS_ON'); ?></option>
@@ -139,9 +140,9 @@ $document->addScript('media/com_gabble/js/gabble_com.js');
<div id="openai_btn" title="OpenAi GPT" onclick="open_user(0); event.stopPropagation();">
<img src="<?php echo Uri::root() . "media/com_gabble/images/logo_openai.png"; ?>" alt="OpenAI GPT">
</div>
</div>
</div>
<input type="hidden" id="gabble_type" value="mod">
@@ -151,8 +152,9 @@ $document->addScript('media/com_gabble/js/gabble_com.js');
<input type="hidden" id="openai_gpt" value="<?php echo $config->get('openai_gpt'); ?>">
<input type="hidden" id="openai_gpt_name" value="<?php echo $config->get('openai_gpt_name'); ?>">
</div>
<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
/**
* @package Joomla.Site
* @subpackage mod_menu
@@ -24,3 +25,4 @@ HTMLHelper::_('bootstrap.collapse');
<?php require __DIR__ . '/dropdown-metismenu.php'; ?>
</div>
</nav>

View File

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

View File

@@ -1,5 +1,6 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
@@ -75,3 +76,4 @@ echo HTMLHelper::link(OutputFilter::ampReplace(htmlspecialchars($item->flink, EN
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>';
}

View File

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

View File

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

View File

@@ -1,5 +1,6 @@
<?php
/**
* @package Joomla.Site
* @subpackage mod_menu
@@ -72,3 +73,4 @@ echo HTMLHelper::link(OutputFilter::ampReplace(htmlspecialchars($item->flink, EN
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>';
}

View File

@@ -1,5 +1,6 @@
<?php
defined('_JEXEC') or die('Restricted access');
\Joomla\CMS\HTML\HTMLHelper::_('bootstrap.dropdown');
@@ -95,4 +96,4 @@ $view = vRequest::getCmd('view');
<noscript>
<?php echo vmText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT') ?>
</noscript>
</div>
</div>

View File

@@ -1,5 +1,6 @@
<?php
/**
* @package Joomla.Site
* @subpackage Templates.vmbasic
@@ -103,4 +104,4 @@ $view = vRequest::getCmd('view');
<noscript>
<?php echo vmText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT') ?>
</noscript>
</div>
</div>

View File

@@ -1,5 +1,6 @@
<?php
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Router\Route;
@@ -40,4 +41,4 @@ $sublevel = $params->get('level', 0);
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</ul>

View File

@@ -1,5 +1,6 @@
<?php
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
@@ -63,4 +64,4 @@ $btnIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill=
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</ul>

View File

@@ -1,5 +1,6 @@
<?php
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
@@ -63,4 +64,4 @@ $btnIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill=
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</ul>

View File

@@ -1,5 +1,6 @@
<?php
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Router\Route;
@@ -24,4 +25,4 @@ $bscol = $module->position == 'sidebar-left' || $module->position == 'sidebar-ri
</div>
</li>
<?php endforeach; ?>
</ul>
</ul>

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