chore: trigger update-server workflow for version suffix [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
This commit is contained in:
committed by
Jonathan Miller
parent
153cd407e3
commit
eec06b1875
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Site
|
||||
* @subpackage mod_mokojoomhero
|
||||
*
|
||||
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
|
||||
* @license GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Language\Text;
|
||||
|
||||
/** @var string $heroMode */
|
||||
/** @var array $heroImages */
|
||||
/** @var int $slideInterval */
|
||||
/** @var string $videoUrl */
|
||||
/** @var string $heroHeight */
|
||||
/** @var string $overlayColor */
|
||||
/** @var float $overlayOpacity */
|
||||
/** @var string $textAlign */
|
||||
/** @var string $textColor */
|
||||
/** @var string $content */
|
||||
|
||||
$moduleId = 'mod-mokojoomhero-' . $module->id;
|
||||
|
||||
// Convert hex overlay colour to rgba
|
||||
$r = hexdec(substr($overlayColor, 1, 2));
|
||||
$g = hexdec(substr($overlayColor, 3, 2));
|
||||
$b = hexdec(substr($overlayColor, 5, 2));
|
||||
$rgba = "rgba($r, $g, $b, $overlayOpacity)";
|
||||
|
||||
$heightAttr = htmlspecialchars($heroHeight, ENT_QUOTES, 'UTF-8');
|
||||
?>
|
||||
<div id="<?php echo $moduleId; ?>" class="mokojoomhero" style="height: <?php echo $heightAttr; ?>;"
|
||||
<?php if ($heroMode === 'images' && count($heroImages) > 1) : ?>
|
||||
data-slides="<?php echo htmlspecialchars(json_encode($heroImages), ENT_QUOTES, 'UTF-8'); ?>"
|
||||
data-interval="<?php echo $slideInterval; ?>"
|
||||
<?php endif; ?>
|
||||
>
|
||||
<?php // Background layer — single image, slideshow, or video ?>
|
||||
<?php if ($heroMode === 'video' && $videoUrl) : ?>
|
||||
<video class="mokojoomhero__video" autoplay muted loop playsinline>
|
||||
<source src="<?php echo htmlspecialchars($videoUrl, ENT_QUOTES, 'UTF-8'); ?>">
|
||||
</video>
|
||||
<?php elseif ($heroImages) : ?>
|
||||
<?php foreach ($heroImages as $i => $img) : ?>
|
||||
<div class="mokojoomhero__slide<?php echo $i === 0 ? ' mokojoomhero__slide--active' : ''; ?>"
|
||||
style="background-image: url('<?php echo htmlspecialchars($img, ENT_QUOTES, 'UTF-8'); ?>');"
|
||||
aria-hidden="<?php echo $i === 0 ? 'false' : 'true'; ?>">
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php // Overlay + content ?>
|
||||
<div class="mokojoomhero__overlay" style="background-color: <?php echo $rgba; ?>;">
|
||||
<div class="mokojoomhero__content" style="text-align: <?php echo htmlspecialchars($textAlign, ENT_QUOTES, 'UTF-8'); ?>; color: <?php echo htmlspecialchars($textColor, ENT_QUOTES, 'UTF-8'); ?>;">
|
||||
<?php if ($content) : ?>
|
||||
<?php echo $content; ?>
|
||||
<?php else : ?>
|
||||
<p><?php echo Text::_('MOD_MOKOJOOMHERO_NO_CONTENT'); ?></p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user