modules.php
2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
/**
* @package Joomla.Administrator
* @subpackage Template.system
*
* @copyright Copyright (C) 2005 - 2019 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/*
* none (output raw module content)
*/
function modChrome_none($module, &$params, &$attribs)
{
echo $module->content;
}
/*
* html5 (chosen html5 tag and font header tags)
*/
function modChrome_html5($module, &$params, &$attribs)
{
$moduleTag = $params->get('module_tag');
$headerTag = htmlspecialchars($params->get('header_tag'), ENT_COMPAT, 'UTF-8');
$headerClass = $params->get('header_class');
$bootstrapSize = $params->get('bootstrap_size');
$moduleClass = !empty($bootstrapSize) ? ' span' . (int) $bootstrapSize . '' : '';
$moduleClassSfx = htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8');
if (!empty ($module->content))
{
$html = "<{$moduleTag} class=\"moduletable{$moduleClassSfx} {$moduleClass}\">";
if ((bool) $module->showtitle)
{
$html .= "<{$headerTag} class=\"{$headerClass}\">{$module->title}</{$headerTag}>";
}
$html .= $module->content;
$html .= "</{$moduleTag}>";
echo $html;
}
}
/*
* xhtml (divs and font header tags)
* With the new advanced parameter it does the same as the html5 chrome
*/
function modChrome_xhtml($module, &$params, &$attribs)
{
$moduleTag = $params->get('module_tag', 'div');
$headerTag = htmlspecialchars($params->get('header_tag', 'h3'), ENT_COMPAT, 'UTF-8');
$bootstrapSize = (int) $params->get('bootstrap_size', 0);
$moduleClass = $bootstrapSize != 0 ? ' span' . $bootstrapSize : '';
// Temporarily store header class in variable
$headerClass = $params->get('header_class');
$headerClass = $headerClass ? ' class="' . htmlspecialchars($headerClass, ENT_COMPAT, 'UTF-8') . '"' : '';
$content = trim($module->content);
if (!empty ($content)) : ?>
<<?php echo $moduleTag; ?> class="module<?php echo htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT, 'UTF-8') . $moduleClass; ?>">
<?php if ($module->showtitle != 0) : ?>
<<?php echo $headerTag . $headerClass . '>' . $module->title; ?></<?php echo $headerTag; ?>>
<?php endif; ?>
<?php echo $content; ?>
</<?php echo $moduleTag; ?>>
<?php endif;
}
/*
* allows sliders
*/
function modChrome_sliders($module, &$params, &$attribs)
{
$content = trim($module->content);
if (!empty($content))
{
echo JHtml::_('sliders.panel', $module->title, 'module' . $module->id);
echo $content;
}
}
/*
* allows tabs
*/
function modChrome_tabs($module, &$params, &$attribs)
{
$content = trim($module->content);
if (!empty($content))
{
echo JHtml::_('tabs.panel', $module->title, 'module' . $module->id);
echo $content;
}
}