first commit
This commit is contained in:
240
plugins/system/mobilemenuck/default.txt
Normal file
240
plugins/system/mobilemenuck/default.txt
Normal file
@@ -0,0 +1,240 @@
|
||||
/* Mobile Menu CK - https://www.joomlack.fr */
|
||||
/* Automatic styles */
|
||||
|
||||
.mobilemenuck-bar {display:none;position:relative;left:0;top:0;right:0;z-index:100;}
|
||||
.mobilemenuck-bar-title {display: block;}
|
||||
.mobilemenuck-bar-button {cursor:pointer;box-sizing: border-box;position:absolute; top: 0; right: 0;line-height:0.8em;font-family:Segoe UI;text-align: center;}
|
||||
.mobilemenuck {box-sizing: border-box;width: 100%;}
|
||||
.mobilemenuck-topbar {position:relative;}
|
||||
.mobilemenuck-title {display: block;}
|
||||
.mobilemenuck-button {cursor:pointer;box-sizing: border-box;position:absolute; top: 0; right: 0;line-height:0.8em;font-family:Segoe UI;text-align: center;}
|
||||
.mobilemenuck a {display:block;text-decoration: none;}
|
||||
.mobilemenuck a:hover {text-decoration: none;}
|
||||
.mobilemenuck .mobilemenuck-item > div {position:relative;}
|
||||
/* for accordion */
|
||||
.mobilemenuck-togglericon:after {cursor:pointer;text-align:center;display:block;position: absolute;right: 0;top: 0;content:"+";}
|
||||
.mobilemenuck .open .mobilemenuck-togglericon:after {content:"-";}
|
||||
.mobilemenuck-lock-button.mobilemenuck-button {right:45px}
|
||||
.mobilemenuck-lock-button.mobilemenuck-button svg {max-height:50%;}
|
||||
.mobilemenuck-lock-button.mobilemenuck-button::after {display: block;content: "";height: 100%;width: 100%;z-index: 1;position: absolute;top: 0;left: 0;}
|
||||
.mobilemenuck[data-display="flyout"] {overflow: initial !important;}
|
||||
.mobilemenuck[data-display="flyout"] .level1 + .mobilemenuck-submenu {position:absolute;top:0;left:auto;display:none;height:100vh;left:100%;}
|
||||
.mobilemenuck[data-display="flyout"] .level2 + .mobilemenuck-submenu {position:absolute;top:0;left:auto;display:none;height:100vh;left:100%;}
|
||||
.mobilemenuck[data-display="flyout"][data-effect*="slideright"] .level1 + .mobilemenuck-submenu {right:100%;left:auto;}
|
||||
.mobilemenuck[data-display="flyout"][data-effect*="slideright"] .level2 + .mobilemenuck-submenu {right:100%;left:auto;}
|
||||
@media screen and (max-width: 640px) {
|
||||
.mobilemenuck[data-display="flyout"] .level1 + .mobilemenuck-submenu {position:static;width: initial !important;height: initial;}
|
||||
}
|
||||
@media screen and (max-width: 1000px) {
|
||||
.mobilemenuck[data-display="flyout"] .level2 + .mobilemenuck-submenu {position:static;width: initial !important;height: initial;}
|
||||
}
|
||||
.mobilemenuck-backbutton {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mobilemenuck-backbutton:hover {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
|ID|[menu-bar] {
|
||||
background: #464646;
|
||||
color: #FFFFFF;
|
||||
font-weight: bold;
|
||||
text-indent: 20px;
|
||||
line-height: 43px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|ID|[menu-bar] a {
|
||||
color: #FFFFFF;
|
||||
font-weight: bold;
|
||||
text-indent: 20px;
|
||||
line-height: 43px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|ID|[menu-bar-button] {
|
||||
background: #333333;
|
||||
height: 43px;
|
||||
width: 43px;
|
||||
color: #FFFFFF;
|
||||
padding-top: 8px;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
|ID|[menu-bar-button] a {
|
||||
color: #FFFFFF;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
|ID|[menu] {
|
||||
background: #464646;
|
||||
color: #FFFFFF;
|
||||
padding-bottom: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
|ID|[menu] a {
|
||||
color: #FFFFFF;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
|ID|[menu-topbar] {
|
||||
background: #464646;
|
||||
height: 43px;
|
||||
text-indent: 20px;
|
||||
line-height: 43px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|ID|[menu-topbar] a {
|
||||
text-indent: 20px;
|
||||
line-height: 43px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
|ID|[menu-topbar-button] {
|
||||
min-height: 35px;
|
||||
height: 100%;
|
||||
width: 45px;
|
||||
line-height: 35px;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
|ID|[menu-topbar-button] a {
|
||||
line-height: 35px;
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
|ID|[level1menuitem] {
|
||||
background: #027EA6;
|
||||
-moz-border-radius: 5px 5px 5px 5px;
|
||||
-o-border-radius: 5px 5px 5px 5px;
|
||||
-webkit-border-radius: 5px 5px 5px 5px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
color: #FFFFFF;
|
||||
margin-top: 4px;
|
||||
margin-right: 4px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 4px;
|
||||
padding-left: 15px;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
|ID|[level1menuitem] a {
|
||||
color: #FFFFFF;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
|ID|[level1menuitemhover] {
|
||||
background: #008bb8;
|
||||
}
|
||||
|
||||
|ID|[level2menuitem] {
|
||||
background: #FFFFFF;
|
||||
-moz-border-radius: 5px 5px 5px 5px;
|
||||
-o-border-radius: 5px 5px 5px 5px;
|
||||
-webkit-border-radius: 5px 5px 5px 5px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
color: #000000;
|
||||
margin-top: 4px;
|
||||
margin-right: 4px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 4px;
|
||||
padding-left: 25px;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
|ID|[level2menuitem] a {
|
||||
color: #000000;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
|ID|[level2menuitemhover] {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
|ID|[level3menuitem] {
|
||||
background: #689332;
|
||||
-moz-border-radius: 5px 5px 5px 5px;
|
||||
-o-border-radius: 5px 5px 5px 5px;
|
||||
-webkit-border-radius: 5px 5px 5px 5px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
color: #FFFFFF;
|
||||
margin-top: 4px;
|
||||
margin-right: 4px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 4px;
|
||||
padding-left: 35px;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
|ID|[level3menuitem] a {
|
||||
color: #FFFFFF;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
|ID|[level3menuitemhover] {
|
||||
background: #72a137;
|
||||
}
|
||||
|
||||
|ID|[togglericon] {
|
||||
background: #000000;
|
||||
background: rgba(0,0,0,0.25);
|
||||
-pie-background: rgba(0,0,0,0.25);
|
||||
-moz-border-radius: 0px 5px 5px 0px;
|
||||
-o-border-radius: 0px 5px 5px 0px;
|
||||
-webkit-border-radius: 0px 5px 5px 0px;
|
||||
border-radius: 0px 5px 5px 0px;
|
||||
min-height: 35px;
|
||||
height: 100%;
|
||||
width: 35px;
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
line-height: 35px;
|
||||
font-size: 1.7em;
|
||||
}
|
||||
|
||||
|ID|[togglericon] a {
|
||||
line-height: 35px;
|
||||
font-size: 1.7em;
|
||||
}
|
||||
.mobilemaximenuck div span.descck {
|
||||
padding-left: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|ID| .mobilemenuck-item-counter {
|
||||
display: inline-block;
|
||||
margin: 0 5px;
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
line-height: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
color: #eee;
|
||||
border-radius: 10px;
|
||||
height: 20px;
|
||||
transform: translate(10px,-3px);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|ID| + #mobilemenuck-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
background: #000;
|
||||
opacity: 0.3;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
|ID| .mobilemenuck-backbutton svg {
|
||||
width: 14px;
|
||||
fill: #fff;
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -2px;
|
||||
}
|
||||
10
plugins/system/mobilemenuck/defines.php
Normal file
10
plugins/system/mobilemenuck/defines.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
// set variables
|
||||
define('MOBILEMENUCK_LOADED', 1);
|
||||
define('MOBILEMENUCK_PLATFORM', 'joomla');
|
||||
define('MOBILEMENUCK_PATH', dirname(__FILE__));
|
||||
define('MOBILEMENUCK_MEDIA_URI', JUri::root(true) . '/media/com_mobilemenuck');
|
||||
define('MOBILEMENUCK_PLUGIN_MEDIA_URI', JUri::root(true) . '/media/plg_system_mobilemenuck');
|
||||
define('MOBILEMENUCK_SITE_ROOT', JPATH_ROOT);
|
||||
define('MOBILEMENUCK_URI_ROOT', JUri::root(true));
|
||||
define('MOBILEMENUCK_URI_BASE', JUri::base(true));
|
||||
77
plugins/system/mobilemenuck/elements/ckmoduleselect.php
Normal file
77
plugins/system/mobilemenuck/elements/ckmoduleselect.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2017 Cedric KEIFLIN alias ced1870
|
||||
* http://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
if (!defined('MOBILEMENUCK_MEDIA_URI'))
|
||||
{
|
||||
define('MOBILEMENUCK_MEDIA_URI', JUri::root(true) . '/media/com_mobilemenuck');
|
||||
}
|
||||
|
||||
JText::script('MOD_MOBILEMENUCK_SAVE_CLOSE');
|
||||
|
||||
class JFormFieldCkmoduleselect extends JFormField
|
||||
{
|
||||
|
||||
protected $type = 'ckmoduleselect';
|
||||
|
||||
private $activate = true;
|
||||
|
||||
function __construct($form = null) {
|
||||
if (! \Mobilemenuck\Helper::checkIsProVersion()) $this->activate = false;
|
||||
parent::__construct($form);
|
||||
}
|
||||
|
||||
protected function getInput() {
|
||||
if (! $this->activate) {
|
||||
$html = \Mobilemenuck\Helper::renderProMessage();
|
||||
return $html;
|
||||
}
|
||||
$doc = JFactory::getDocument();
|
||||
$doc->addStylesheet(MOBILEMENUCK_MEDIA_URI . '/assets/ckbox.css');
|
||||
$doc->addScript(MOBILEMENUCK_MEDIA_URI . '/assets/ckbox.js');
|
||||
// Initialize some field attributes.
|
||||
$js = 'function ckMobilemenuSelectModule(id, name, close) {
|
||||
if (!close && close != false) close = true;
|
||||
jQuery("#' . $this->id . '").val(id).trigger(\'change\');
|
||||
jQuery("#' . $this->id . 'name").val(name);
|
||||
if (close) CKBox.close();
|
||||
}
|
||||
|
||||
function ckMobilemenuUpdateModule(nothing, id, name) {
|
||||
ckMobilemenuSelectModule(id, name, false);
|
||||
}';
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
$icon = $this->element['icon'];
|
||||
$suffix = $this->element['suffix'];
|
||||
$size = $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
|
||||
$maxLength = $this->element['maxlength'] ? ' maxlength="' . (int) $this->element['maxlength'] . '"' : '';
|
||||
$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : 'class="form-control"';
|
||||
$readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : '';
|
||||
$disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
|
||||
$defautlwidth = $suffix ? '128px' : '150px';
|
||||
$styles = ' style="width:'.$defautlwidth.';'.$this->element['styles'].'"';
|
||||
$module = \Mobilemenuck\Helper::getModuleById($this->value);
|
||||
$title = isset($module->title) ? $module->title : '';
|
||||
|
||||
// Initialize JavaScript field attributes.
|
||||
$onchange = $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
|
||||
$html = $icon ? '<div style="display:inline-block;vertical-align:top;margin-top:4px;width:20px;"><img src="' . MOBILEMENUCK_MEDIA_URI . '/images/' . $icon . '" style="margin-right:5px;" /></div>' : '';
|
||||
|
||||
$html .= '<div class="btn-group">';
|
||||
$html .= '<input type="hidden" name="' . $this->name . '" id="' . $this->id . '"' . ' value="'
|
||||
. htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '"' . $class . $size . $disabled . $readonly . $onchange . $maxLength . $styles . '/>';
|
||||
$html .= '<input type="text" disabled name="' . $this->name . 'name" id="' . $this->id . 'name"' . ' value="'
|
||||
. htmlspecialchars($title) . '"' . $class . $size . $disabled . $readonly . $onchange . $maxLength . $styles . '/>';
|
||||
$html .= '<div class="btn btn-outline-secondary" onclick="CKBox.open({url: \'index.php?option=com_mobilemenuck&view=items&tmpl=component&layout=select&returnFunc=ckMobilemenuSelectModule\'})"><i class="fas fa-mouse-pointer"></i> ' . JText::_('PLG_MOBILEMENUCK_SELECT') . '</div>';
|
||||
// $html .= '<div class="btn btn-secondary" onclick="if (jQuery(\'#' . $this->id . '\').val()) {CKBox.open({url: \'index.php?option=com_mobilemenuck&view=style&tmpl=component&modal=1&id=\'+jQuery(\'#' . $this->id . '\').val()+\'\'}) } else { alert(\'' . JText::_('PLG_MOBILEMENUCK_SELECT_FIRST', true) . '\');}">' . JText::_('PLG_MOBILEMENUCK_EDIT', true) . '</div>';
|
||||
$html .= '<div class="btn btn-outline-secondary" onclick="jQuery(\'#' . $this->id . '\').val(\'\').trigger(\'change\');jQuery(\'#' . $this->id . 'name\').val(\'\');"><i class="fas fa-times"></i> ' . JText::_('PLG_MOBILEMENUCK_CLEAR', true) . '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
77
plugins/system/mobilemenuck/elements/ckstyleselect.php
Normal file
77
plugins/system/mobilemenuck/elements/ckstyleselect.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2017 Cedric KEIFLIN alias ced1870
|
||||
* http://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
if (!defined('MOBILEMENUCK_MEDIA_URI'))
|
||||
{
|
||||
define('MOBILEMENUCK_MEDIA_URI', JUri::root(true) . '/media/com_mobilemenuck');
|
||||
}
|
||||
|
||||
JText::script('MOD_MOBILEMENUCK_SAVE_CLOSE');
|
||||
|
||||
class JFormFieldCkstyleselect extends JFormField
|
||||
{
|
||||
|
||||
protected $type = 'ckstyleselect';
|
||||
|
||||
private $activate = true;
|
||||
|
||||
function __construct($form = null) {
|
||||
require_once(MOBILEMENUCK_PATH . '/helpers/helper.php');
|
||||
if (! \Mobilemenuck\Helper::checkIsProVersion()) $this->activate = false;
|
||||
parent::__construct($form);
|
||||
}
|
||||
|
||||
protected function getInput() {
|
||||
if (! $this->activate) {
|
||||
$html = \Mobilemenuck\Helper::renderProMessage();
|
||||
return $html;
|
||||
}
|
||||
$doc = JFactory::getDocument();
|
||||
$doc->addStylesheet(MOBILEMENUCK_MEDIA_URI . '/assets/ckbox.css');
|
||||
$doc->addScript(MOBILEMENUCK_MEDIA_URI . '/assets/ckbox.js');
|
||||
// Initialize some field attributes.
|
||||
$js = 'function ckMobilemenuSelectStyle(id, name, close) {
|
||||
if (!close && close != false) close = true;
|
||||
jQuery("#' . $this->id . '").val(id);
|
||||
jQuery("#' . $this->id . 'name").val(name);
|
||||
if (close) CKBox.close();
|
||||
}
|
||||
|
||||
function ckMobilemenuUpdateStyle(nothing, id, name) {
|
||||
ckMobilemenuSelectStyle(id, name, false);
|
||||
}';
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
$icon = $this->element['icon'];
|
||||
$suffix = $this->element['suffix'];
|
||||
$size = $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
|
||||
$maxLength = $this->element['maxlength'] ? ' maxlength="' . (int) $this->element['maxlength'] . '"' : '';
|
||||
$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : 'class="form-control"';
|
||||
$readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : '';
|
||||
$disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
|
||||
$defautlwidth = $suffix ? '128px' : '150px';
|
||||
$styles = ' style="width:'.$defautlwidth.';'.$this->element['styles'].'"';
|
||||
$styleName = \Mobilemenuck\Helper::getStyleNameById($this->value);
|
||||
|
||||
// Initialize JavaScript field attributes.
|
||||
$onchange = $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
|
||||
$html = $icon ? '<div style="display:inline-block;vertical-align:top;margin-top:4px;width:20px;"><img src="' . MOBILEMENUCK_MEDIA_URI . '/images/' . $icon . '" style="margin-right:5px;" /></div>' : '';
|
||||
|
||||
$html .= '<div class="btn-group">';
|
||||
$html .= '<input type="hidden" name="' . $this->name . '" id="' . $this->id . '"' . ' value="'
|
||||
. htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '"' . $class . $size . $disabled . $readonly . $onchange . $maxLength . $styles . '/>';
|
||||
$html .= '<input type="text" disabled name="' . $this->name . 'name" id="' . $this->id . 'name"' . ' value="'
|
||||
. htmlspecialchars($styleName) . '"' . $class . $size . $disabled . $readonly . $onchange . $maxLength . $styles . '/>';
|
||||
$html .= '<div class="btn btn-primary" onclick="CKBox.open({url: \'index.php?option=com_mobilemenuck&view=styles&tmpl=component&modal=1&returnFunc=ckMobilemenuSelectStyle\'})">' . JText::_('PLG_MOBILEMENUCK_SELECT') . '</div>';
|
||||
$html .= '<div class="btn btn-secondary" onclick="if (jQuery(\'#' . $this->id . '\').val()) {CKBox.open({url: \'index.php?option=com_mobilemenuck&view=style&tmpl=component&modal=1&id=\'+jQuery(\'#' . $this->id . '\').val()+\'\'}) } else { alert(\'' . JText::_('PLG_MOBILEMENUCK_SELECT_FIRST', true) . '\');}">' . JText::_('PLG_MOBILEMENUCK_EDIT', true) . '</div>';
|
||||
$html .= '<div class="btn btn-light" onclick="jQuery(\'#' . $this->id . '\').val(\'\');jQuery(\'#' . $this->id . 'name\').val(\'\');">' . JText::_('PLG_MOBILEMENUCK_CLEAR', true) . '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
1
plugins/system/mobilemenuck/elements/index.html
Normal file
1
plugins/system/mobilemenuck/elements/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
77
plugins/system/mobilemenuck/elements/mobilemenuckicon.php
Normal file
77
plugins/system/mobilemenuck/elements/mobilemenuckicon.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2017 Cedric KEIFLIN alias ced1870
|
||||
* http://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
if (!defined('MOBILEMENUCK_MEDIA_URI'))
|
||||
{
|
||||
define('MOBILEMENUCK_MEDIA_URI', JUri::root(true) . '/media/com_mobilemenuck');
|
||||
}
|
||||
|
||||
JText::script('MOD_MOBILEMENUCK_SAVE_CLOSE');
|
||||
|
||||
class JFormFieldMobilemenuckicon extends JFormField
|
||||
{
|
||||
|
||||
protected $type = 'mobilemenuckicon';
|
||||
|
||||
private $activate = true;
|
||||
|
||||
function __construct($form = null) {
|
||||
require_once(MOBILEMENUCK_PATH . '/helpers/helper.php');
|
||||
if (! \Mobilemenuck\Helper::checkIsProVersion()) $this->activate = false;
|
||||
parent::__construct($form);
|
||||
}
|
||||
|
||||
protected function getInput() {
|
||||
if (! $this->activate) {
|
||||
$html = \Mobilemenuck\Helper::renderProMessage();
|
||||
return $html;
|
||||
}
|
||||
$doc = JFactory::getDocument();
|
||||
$doc->addStylesheet(MOBILEMENUCK_MEDIA_URI . '/assets/ckbox.css');
|
||||
$doc->addScript(MOBILEMENUCK_MEDIA_URI . '/assets/ckbox.js');
|
||||
// Initialize some field attributes.
|
||||
$js = 'function ckMobilemenuSelectStyle(id, name, close) {
|
||||
if (!close && close != false) close = true;
|
||||
jQuery("#' . $this->id . '").val(id);
|
||||
jQuery("#' . $this->id . 'name").val(name);
|
||||
if (close) CKBox.close();
|
||||
}
|
||||
|
||||
function ckMobilemenuUpdateStyle(nothing, id, name) {
|
||||
ckMobilemenuSelectStyle(id, name, false);
|
||||
}';
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
$icon = $this->element['icon'];
|
||||
$suffix = $this->element['suffix'];
|
||||
$size = $this->element['size'] ? ' size="' . (int) $this->element['size'] . '"' : '';
|
||||
$maxLength = $this->element['maxlength'] ? ' maxlength="' . (int) $this->element['maxlength'] . '"' : '';
|
||||
$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : 'class="form-control"';
|
||||
$readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : '';
|
||||
$disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
|
||||
$defautlwidth = $suffix ? '128px' : '150px';
|
||||
$styles = ' style="width:'.$defautlwidth.';'.$this->element['styles'].'"';
|
||||
$styleName = \Mobilemenuck\Helper::getStyleNameById($this->value);
|
||||
|
||||
// Initialize JavaScript field attributes.
|
||||
$onchange = $this->element['onchange'] ? ' onchange="' . (string) $this->element['onchange'] . '"' : '';
|
||||
$html = $icon ? '<div style="display:inline-block;vertical-align:top;margin-top:4px;width:20px;"><img src="' . MOBILEMENUCK_MEDIA_URI . '/images/' . $icon . '" style="margin-right:5px;" /></div>' : '';
|
||||
|
||||
$html .= '<div class="btn-group">';
|
||||
$html .= '<input type="hidden" name="' . $this->name . '" id="' . $this->id . '"' . ' value="'
|
||||
. htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '"' . $class . $size . $disabled . $readonly . $onchange . $maxLength . $styles . '/>';
|
||||
$html .= '<input type="text" disabled name="' . $this->name . 'name" id="' . $this->id . 'name"' . ' value="'
|
||||
. htmlspecialchars($styleName) . '"' . $class . $size . $disabled . $readonly . $onchange . $maxLength . $styles . '/>';
|
||||
$html .= '<div class="btn btn-outline-secondary" onclick="CKBox.open({url: \'index.php?option=com_mobilemenuck&view=styles&tmpl=component&modal=1&returnFunc=ckMobilemenuSelectStyle\'})"><i class="fas fa-mouse-pointer "></i> ' . JText::_('PLG_MOBILEMENUCK_SELECT') . '</div>';
|
||||
$html .= '<div class="btn btn-outline-secondary" onclick="if (jQuery(\'#' . $this->id . '\').val()) {CKBox.open({url: \'index.php?option=com_mobilemenuck&view=style&tmpl=component&modal=1&id=\'+jQuery(\'#' . $this->id . '\').val()+\'\'}) } else { alert(\'' . JText::_('PLG_MOBILEMENUCK_SELECT_FIRST', true) . '\');}"><i class="fas fa-edit"></i> ' . JText::_('PLG_MOBILEMENUCK_EDIT', true) . '</div>';
|
||||
$html .= '<div class="btn btn-outline-secondary" onclick="jQuery(\'#' . $this->id . '\').val(\'\');jQuery(\'#' . $this->id . 'name\').val(\'\');"><i class="fas fa-times"></i> ' . JText::_('PLG_MOBILEMENUCK_CLEAR', true) . '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
63
plugins/system/mobilemenuck/elements/mobilemenuckinfo.php
Normal file
63
plugins/system/mobilemenuck/elements/mobilemenuckinfo.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2017 Cedric KEIFLIN alias ced1870
|
||||
* http://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
class JFormFieldMobilemenuckinfo extends JFormField
|
||||
{
|
||||
/**
|
||||
* The form field type.
|
||||
*
|
||||
* @var string
|
||||
*
|
||||
*/
|
||||
protected $type = 'mobilemenuckinfo';
|
||||
|
||||
/**
|
||||
* Method to get the field input markup.
|
||||
*
|
||||
* @return string The field input markup.
|
||||
*
|
||||
*/
|
||||
protected function getLabel()
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to get the field label markup.
|
||||
*
|
||||
* @return string The field label markup.
|
||||
*
|
||||
*/
|
||||
protected function getInput()
|
||||
{
|
||||
$doc = JFactory::getDocument();
|
||||
$styles = '.mobilemenuck-info {position:relative;background:#efefef;border: none;border-radius: px;color: #333;font-weight: normal;line-height: 24px;padding: 5px 5px 5px 35px;margin: 3px 0;text-align: left;text-decoration: none;height:100%;}
|
||||
.mobilemenuck-info .mobilemenuck-info-icon {
|
||||
margin: 0 10px 0 0;
|
||||
padding: 3px 5px;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
line-height: 25px;
|
||||
width: 30px;
|
||||
height: 100%;
|
||||
text-align: center;}
|
||||
.mobilemenuck-info-icon svg {
|
||||
max-width: 25px;
|
||||
max-height: 20px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.control-label:empty, .controls:empty {display: none;}
|
||||
.control-label:empty + .controls {margin: 0;}
|
||||
';
|
||||
$doc->addStyleDeclaration($styles);
|
||||
}
|
||||
}
|
||||
32
plugins/system/mobilemenuck/elements/mobilemenuckonlypro.php
Normal file
32
plugins/system/mobilemenuck/elements/mobilemenuckonlypro.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (C) 2011 Cedric KEIFLIN alias ced1870
|
||||
* https://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
// no direct access
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
class JFormFieldMobilemenuckonlypro extends JFormField {
|
||||
|
||||
protected $type = 'mobilemenuckonlypro';
|
||||
|
||||
protected function getLabel() {
|
||||
return '';
|
||||
}
|
||||
|
||||
protected function getInput() {
|
||||
// TODO : check si composant est installé ou pas si oui pas de message
|
||||
$isPro = file_exists(JPATH_ROOT . '/administrator/components/com_mobilemenuck/mobilemenuck.php');
|
||||
if ($isPro) return;
|
||||
|
||||
$icon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"/></svg>';
|
||||
$html = '<div class="mobilemenuck-info">'
|
||||
. '<div class="mobilemenuck-info-icon">' . $icon . '</div>'
|
||||
. '<a href="https://www.joomlack.fr/en/joomla-extensions/mobile-menu-ck" target="_blank">' . JText::_('PLG_MOBILEMENUCK_PRO_ONLY') . '</a></div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
||||
59
plugins/system/mobilemenuck/elements/mobilemenuckspacer.php
Normal file
59
plugins/system/mobilemenuck/elements/mobilemenuckspacer.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (C) 2011 Cedric KEIFLIN alias ced1870
|
||||
* https://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
// no direct access
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
class JFormFieldMobilemenuckspacer extends JFormField {
|
||||
|
||||
protected $type = 'mobilemenuckspacer';
|
||||
|
||||
protected function getLabel() {
|
||||
return '';
|
||||
}
|
||||
|
||||
protected function getInput() {
|
||||
$html = array();
|
||||
$class = $this->element['class'] ? (string) $this->element['class'] : '';
|
||||
|
||||
$style = $this->element['style'] ? $this->element['style'] : '';
|
||||
|
||||
if ($style == 'title') {
|
||||
$doc = JFactory::getDocument();
|
||||
$styles = '.ckinfo.cktitle {
|
||||
background:#666;
|
||||
color: #eee;
|
||||
text-transform: uppercase;
|
||||
font-weight: normal;
|
||||
line-height: 24px;
|
||||
padding: 8px 5px 8px 35px;
|
||||
margin: 3px 0;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
border-radius: 3px;
|
||||
}
|
||||
';
|
||||
$doc->addStyleDeclaration($styles);
|
||||
}
|
||||
|
||||
if ((string) $this->element['hr'] == 'true') {
|
||||
$html[] = '<hr class="' . $class . '" />';
|
||||
} else {
|
||||
$label = '';
|
||||
// Get the label text from the XML element, defaulting to the element name.
|
||||
$text = $this->element['label'] ? (string) $this->element['label'] : (string) $this->element['name'];
|
||||
$text = $this->translateLabel ? JText::_($text) : $text;
|
||||
|
||||
// set the icon
|
||||
$icon = $this->element['icon'] ? $this->element['icon'] : 'info';
|
||||
$html[] = '<div class="ckinfo' . ($style == 'title' ? ' cktitle' : '') . '">' . ($style == 'title' ? '' : '<i class="fas fa-' . $icon . '"></i>') . $text . '</div>';
|
||||
}
|
||||
|
||||
return implode('', $html);
|
||||
}
|
||||
}
|
||||
|
||||
30
plugins/system/mobilemenuck/elements/mobilemenuckvideo.php
Normal file
30
plugins/system/mobilemenuck/elements/mobilemenuckvideo.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (C) 2011 Cedric KEIFLIN alias ced1870
|
||||
* https://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
// no direct access
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
class JFormFieldMobilemenuckvideo extends JFormField {
|
||||
|
||||
protected $type = 'mobilemenuckvideo';
|
||||
|
||||
protected function getLabel() {
|
||||
return '';
|
||||
}
|
||||
|
||||
protected function getInput() {
|
||||
$url = $this->element['url'] ? (string) $this->element['url'] : '';
|
||||
if (! $url) return '';
|
||||
$icon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"/></svg>';
|
||||
$html = '<div class="mobilemenuck-info">'
|
||||
. '<div class="mobilemenuck-info-icon">' . $icon . '</div>'
|
||||
. '<a target="_blank" href="' . $url . '" target="_blank">' . JText::_('PLG_MOBILEMENUCK_VIDEO_TUTORIAL') . '</a></div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
|
||||
1469
plugins/system/mobilemenuck/helpers/Mobile_Detect.php
Normal file
1469
plugins/system/mobilemenuck/helpers/Mobile_Detect.php
Normal file
File diff suppressed because one or more lines are too long
36
plugins/system/mobilemenuck/helpers/function.php
Normal file
36
plugins/system/mobilemenuck/helpers/function.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* @name Mobile Menu CK
|
||||
* @copyright Copyright (C) 2018. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
||||
*/
|
||||
|
||||
/*
|
||||
* Global method that can be called easily
|
||||
*/
|
||||
function loadMobileMenuCK($selector, $options = array()) {
|
||||
return \Mobilemenuck\Menu::load($selector, $options);
|
||||
}
|
||||
|
||||
/*
|
||||
* Global method that can be called easily, direct injection
|
||||
*/
|
||||
function loadMobileMenuCKInline($selector, $options = array()) {
|
||||
return \Mobilemenuck\Menu::load($selector, $options, true);
|
||||
}
|
||||
|
||||
/*
|
||||
* Global method that can be called easily
|
||||
*/
|
||||
function loadThemeMobileMenuCK($id, $themeid = null) {
|
||||
return \Mobilemenuck\Menu::loadTheme($id, false, $themeid);
|
||||
}
|
||||
|
||||
/*
|
||||
* Global method that can be called easily
|
||||
*/
|
||||
function loadThemeMobileMenuCKInline($id, $themeid = null) {
|
||||
return \Mobilemenuck\Menu::loadTheme($id, true, $themeid);
|
||||
}
|
||||
|
||||
226
plugins/system/mobilemenuck/helpers/helper.php
Normal file
226
plugins/system/mobilemenuck/helpers/helper.php
Normal file
@@ -0,0 +1,226 @@
|
||||
<?php
|
||||
/**
|
||||
* @name Mobile Menu CK
|
||||
* @copyright Copyright (C) 2018. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
||||
*/
|
||||
namespace Mobilemenuck;
|
||||
// No direct access
|
||||
defined('MOBILEMENUCK_LOADED') or die;
|
||||
|
||||
class Helper
|
||||
{
|
||||
|
||||
/**
|
||||
* Render a html message
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
*/
|
||||
public static function renderProMessage() {
|
||||
$html = '<div><a href="https://www.joomlack.fr/en/joomla-extensions/mobile-menu-ck" target="_blank">Not available in the free version</a></div>';
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* List the replacement between the tags and the real final CSS rules
|
||||
*/
|
||||
public static function getCssReplacement() {
|
||||
$cssreplacements = Array(
|
||||
'[menu-bar]' => ' .mobilemenuck-bar-title'
|
||||
,'[menu-bar-button]' => ' .mobilemenuck-bar-button'
|
||||
,'[menu]' => '.mobilemenuck'
|
||||
,'[menu-topbar]' => ' .mobilemenuck-title'
|
||||
,'[menu-topbar-button]' => ' .mobilemenuck-button'
|
||||
,'[level1menuitem]' => ' .mobilemenuck-item > .level1'
|
||||
,'[level1menuitemhover] a' => ' .mobilemenuck-item > .level1:hover a, |ID| .mobilemenuck-item > .level1.open a'
|
||||
,'[level1menuitemhover]' => ' .mobilemenuck-item > .level1:hover, |ID| .mobilemenuck-item > .level1.open'
|
||||
,'[level1menuitemactive]' => ' .mobilemenuck-item > .level1.active'
|
||||
,'[level1submenu]' => ' .mobilemenuck-item > .level1 + .mobilemenuck-submenu'
|
||||
,'[level2menuitem]' => ' .mobilemenuck-item > .level2'
|
||||
,'[level2menuitemhover] a' => ' .mobilemenuck-item > .level2:hover a, |ID| .mobilemenuck-item > .level2.open a'
|
||||
,'[level2menuitemhover]' => ' .mobilemenuck-item > .level2:hover, |ID| .mobilemenuck-item > .level2.open'
|
||||
,'[level2menuitemactive]' => ' .mobilemenuck-item > .level2.active'
|
||||
,'[level2submenu]' => ' .mobilemenuck-item > .level2 + .mobilemenuck-submenu'
|
||||
,'[level3menuitem]' => ' .level2 + .mobilemenuck-submenu .mobilemenuck-item > div'
|
||||
,'[level3menuitemhover] a' => ' .level2 + .mobilemenuck-submenu .mobilemenuck-item > div:hover a, |ID| .mobilemenuck-item > .level2 + .mobilemenuck-submenu .mobilemenuck-item > div.open a'
|
||||
,'[level3menuitemhover]' => ' .level2 + .mobilemenuck-submenu .mobilemenuck-item > div:hover, |ID| .mobilemenuck-item > .level2 + .mobilemenuck-submenu .mobilemenuck-item > div.open'
|
||||
,'[level3menuitemactive]' => ' .level2 + .mobilemenuck-submenu .mobilemenuck-item > div.active'
|
||||
,'[level3submenu]' => ' .mobilemenuck-item > .level2 .mobilemenuck-submenu'
|
||||
,'[togglericon]' => ' .mobilemenuck-togglericon:after'
|
||||
,'[PRESETS_URI]' => MOBILEMENUCK_MEDIA_URI . '/presets'
|
||||
);
|
||||
|
||||
return $cssreplacements;
|
||||
}
|
||||
|
||||
/**
|
||||
* Do the replacement between the tags and the real final CSS rules
|
||||
*/
|
||||
public static function makeCssReplacement(&$css) {
|
||||
$cssreplacementlist = self::getCssReplacement();
|
||||
foreach ($cssreplacementlist as $tag => $rep) {
|
||||
$css = str_replace($tag, $rep, $css);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the style
|
||||
*/
|
||||
public static function getStyleNameById($id) {
|
||||
if (! $id) return '';
|
||||
// Create a new query object.
|
||||
$db = \JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
// Select the required fields from the table.
|
||||
$query->select('a.name');
|
||||
$query->from($db->quoteName('#__mobilemenuck_styles') . ' AS a');
|
||||
$query->where('(a.state IN (0, 1))');
|
||||
$query->where('a.id = ' . (int)$id);
|
||||
|
||||
// Reset the query using our newly populated query object.
|
||||
$db->setQuery($query);
|
||||
|
||||
// Load the results as a list of stdClass objects (see later for more options on retrieving data).
|
||||
$result = $db->loadResult();
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the style
|
||||
*/
|
||||
public static function getStyleById($id, $select = '*', $type = 'result') {
|
||||
if (! $id) return '';
|
||||
// Create a new query object.
|
||||
$db = \JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
// Select the required fields from the table.
|
||||
$query->select($select);
|
||||
$query->from($db->quoteName('#__mobilemenuck_styles') . ' AS a');
|
||||
$query->where('(a.state IN (0, 1))');
|
||||
$query->where('a.id = ' . (int)$id);
|
||||
|
||||
// Reset the query using our newly populated query object.
|
||||
$db->setQuery($query);
|
||||
|
||||
switch($type) {
|
||||
default :
|
||||
case "result" :
|
||||
$result = $db->loadResult();
|
||||
break;
|
||||
case "object" :
|
||||
$result = $db->loadObject();
|
||||
break;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the name of the style
|
||||
*/
|
||||
public static function getStyles($select = '*') {
|
||||
// Create a new query object.
|
||||
$db = \JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
// Select the required fields from the table.
|
||||
$query->select($select);
|
||||
$query->from($db->quoteName('#__mobilemenuck_styles') . ' AS a');
|
||||
$query->where('(a.state IN (0, 1))');
|
||||
|
||||
// Reset the query using our newly populated query object.
|
||||
$db->setQuery($query);
|
||||
|
||||
$result = $db->loadObjectList();
|
||||
|
||||
return $result;
|
||||
}
|
||||
/**
|
||||
* Get the name of the style
|
||||
*/
|
||||
public static function getModuleById($id, $select = '*') {
|
||||
if (! $id) return '';
|
||||
// Create a new query object.
|
||||
$db = \JFactory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
// Select the required fields from the table.
|
||||
$query->select($select);
|
||||
$query->from($db->quoteName('#__modules') . ' AS a');
|
||||
// $query->where('(a.published IN (0, 1))');
|
||||
$query->where('a.id = ' . (int)$id);
|
||||
|
||||
// Reset the query using our newly populated query object.
|
||||
$db->setQuery($query);
|
||||
|
||||
// Load the results as a list of stdClass objects (see later for more options on retrieving data).
|
||||
$result = $db->loadObject();
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Look if the pro version is installed
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function checkIsProVersion() {
|
||||
return self::searchTable('mobilemenuck_styles') && file_exists(JPATH_ROOT . '/administrator/components/com_mobilemenuck/mobilemenuck.php');
|
||||
}
|
||||
|
||||
/**
|
||||
* Look if the table exists, if not then create it
|
||||
*
|
||||
* @param type $tableName
|
||||
* @return boolean
|
||||
*/
|
||||
private static function searchTable($tableName) {
|
||||
$db = \JFactory::getDbo();
|
||||
|
||||
$tablesList = $db->getTableList();
|
||||
$tableExists = in_array($db->getPrefix() . $tableName, $tablesList);
|
||||
|
||||
return $tableExists;
|
||||
}
|
||||
|
||||
public static function createIdForModule($module) {
|
||||
if ($module->module == 'mod_maximenuck') {
|
||||
$params = new \JRegistry($module->params);
|
||||
if ($params->get('menuid', '') === '' || is_numeric($params->get('menuid', ''))) {
|
||||
$id = 'maximenuck' . $module->id;
|
||||
} else {
|
||||
$id = $params->get('menuid', '');
|
||||
}
|
||||
} else if ($module->module == 'mod_accordeonmenuck') {
|
||||
$params = new \JRegistry($module->params);
|
||||
if ($params->get('menuid', '') === '' || is_numeric($params->get('menuid', ''))) {
|
||||
$id = 'accordeonck' . $module->id;
|
||||
} else {
|
||||
$id = $params->get('menuid', '');
|
||||
}
|
||||
} else {
|
||||
$id = 'mobilemenuck-' . $module->id;
|
||||
}
|
||||
return $id;
|
||||
}
|
||||
|
||||
public static function getLayoutCss() {
|
||||
$doc = \JFactory::getDocument();
|
||||
$overrideSrc = JPATH_ROOT . '/templates/' . $doc->template . '/css/mobilemenuck.css';
|
||||
$overrideSrc2 = JPATH_ROOT . '/media/templates/site/' . $template . '/css/mobilemenuck.css';
|
||||
if (file_exists($overrideSrc)) {
|
||||
$layoutcss = file_get_contents($overrideSrc);
|
||||
} else if (file_exists($overrideSrc2)) {
|
||||
$layoutcss = file_get_contents($overrideSrc2);
|
||||
} else {
|
||||
$layoutcss = file_get_contents(MOBILEMENUCK_PATH . '/default.txt');
|
||||
}
|
||||
|
||||
return $layoutcss;
|
||||
}
|
||||
}
|
||||
50
plugins/system/mobilemenuck/helpers/joomla/loader.php
Normal file
50
plugins/system/mobilemenuck/helpers/joomla/loader.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* @name Mobile Menu CK
|
||||
* @copyright Copyright (C) 2018. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
||||
*/
|
||||
namespace Mobilemenuck;
|
||||
// No direct access
|
||||
defined('MOBILEMENUCK_LOADED') or die;
|
||||
|
||||
class CKLoader
|
||||
{
|
||||
|
||||
public static function loadScriptDeclaration($js) {
|
||||
$doc = \JFactory::getDocument();
|
||||
$doc->addScriptDeclaration($js);
|
||||
}
|
||||
|
||||
public static function loadScriptDeclarationInline($js) {
|
||||
echo '<script>' . $js . '</script>';
|
||||
}
|
||||
|
||||
public static function loadScript($file) {
|
||||
$doc = \JFactory::getDocument();
|
||||
$doc->addScript($file);
|
||||
}
|
||||
|
||||
public static function loadScriptInline($file) {
|
||||
echo '<script src="' . $file . '"></script>';
|
||||
}
|
||||
|
||||
public static function loadStyleDeclaration($css) {
|
||||
$doc = \JFactory::getDocument();
|
||||
$doc->addStyleDeclaration($css);
|
||||
}
|
||||
|
||||
public static function loadStyleDeclarationInline($css) {
|
||||
echo '<style>' . $css . '</style>';
|
||||
}
|
||||
|
||||
public static function loadStylesheet($file) {
|
||||
$doc = \JFactory::getDocument();
|
||||
$doc->addStylesheet($file);
|
||||
}
|
||||
|
||||
public static function loadStylesheetInline($file) {
|
||||
echo '<link href="' . $file . '"" rel="stylesheet" />';
|
||||
}
|
||||
}
|
||||
215
plugins/system/mobilemenuck/helpers/menu.php
Normal file
215
plugins/system/mobilemenuck/helpers/menu.php
Normal file
@@ -0,0 +1,215 @@
|
||||
<?php
|
||||
/**
|
||||
* @name Mobile Menu CK
|
||||
* @copyright Copyright (C) 2018. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
||||
*/
|
||||
namespace Mobilemenuck;
|
||||
// No direct access
|
||||
defined('MOBILEMENUCK_LOADED') or die;
|
||||
|
||||
class Menu
|
||||
{
|
||||
/**
|
||||
* Create the menu, call JS and CSS
|
||||
*
|
||||
* @return string the mobile menu ID
|
||||
*
|
||||
*/
|
||||
public static function load($selector, $options = array(), $inline = false) {
|
||||
require_once(MOBILEMENUCK_PLATFORM . '/loader.php');
|
||||
require_once('Mobile_Detect.php');
|
||||
|
||||
// loads the language files
|
||||
$lang = \JFactory::getLanguage();
|
||||
$lang->load('plg_system_mobilemenuck', JPATH_SITE . '/plugins/system/mobilemenuck', $lang->getTag(), false);
|
||||
$lang->load('plg_system_mobilemenuck', JPATH_ADMINISTRATOR, $lang->getTag(), false);
|
||||
|
||||
// create a unique ID for the menu
|
||||
$menuid = 'mobilemenuck-' . (int) (microtime(true) * 100);
|
||||
|
||||
$defaults = self::getDefaultOptions();
|
||||
$defaults['menuid'] = $menuid; // unique text identifier
|
||||
|
||||
$options = array_merge($defaults, $options);
|
||||
|
||||
// set the text for the menu bar
|
||||
switch ($options['showmobilemenutext']) {
|
||||
case 'none':
|
||||
$options['mobilemenutext'] = ' ';
|
||||
break;
|
||||
case 'default':
|
||||
default:
|
||||
$options['mobilemenutext'] = \JText::_('PLG_MOBILEMENUCK_MENU');
|
||||
break;
|
||||
case 'custom':
|
||||
$options['mobilemenutext'] = addslashes($options['mobilemenutext']);
|
||||
break;
|
||||
}
|
||||
|
||||
// B/C for old logo position option
|
||||
if ((int)$options['showlogo'] > 0 && !isset($options['logo_where'])) {
|
||||
$options['logo_where'] = array($options['showlogo']);
|
||||
}
|
||||
|
||||
\JHTML::_("jquery.framework");
|
||||
$file = MOBILEMENUCK_PLUGIN_MEDIA_URI . '/assets/mobilemenuck.js?ver=1.5.9';
|
||||
$js = "jQuery(document).ready(function(){"
|
||||
. " new MobileMenuCK(jQuery('" . $selector . "'), {";
|
||||
foreach ($options as $name => $value) {
|
||||
$js .= $name . " : '" . $value . "',";
|
||||
}
|
||||
$js .= "uriroot : '" . \JUri::root(true) . "'";
|
||||
$js .= "});"
|
||||
. " });";
|
||||
$css = self::getMediaQueries($selector, $options);
|
||||
if ($inline) {
|
||||
CKLoader::loadScriptInline($file);
|
||||
CKLoader::loadScriptDeclarationInline($js);
|
||||
CKLoader::loadStyleDeclarationInline($css);
|
||||
} else {
|
||||
CKLoader::loadScript($file);
|
||||
CKLoader::loadScriptDeclaration($js);
|
||||
CKLoader::loadStyleDeclaration($css);
|
||||
}
|
||||
|
||||
return $menuid;
|
||||
}
|
||||
|
||||
public static function getDefaultOptions() {
|
||||
$defaults = [
|
||||
// 'menuid' => $menuid // unique text identifier
|
||||
'menubarbuttoncontent' => '≡' // character to put in the button
|
||||
,'topbarbuttoncontent' => '×' // character to put in the button
|
||||
,'showmobilemenutext' => 'default' // default, custom, none
|
||||
,'mobilemenutext' => \JText::_('PLG_MOBILEMENUCK_MENU') // text to use if showmobilemenutext = custom
|
||||
,'container' => 'body' // body, topfixed, menu
|
||||
,'detectiontype' => 'resolution' // resolution, phone, tablet
|
||||
,'resolution' => '640' // value in px
|
||||
,'usemodules' => '0' // 0, 1
|
||||
,'useimages' => '0' // 0, 1
|
||||
,'showlogo' => '1' // 0 (no), 1 (yes), 2 (in menu bar), 3 (in top bar)
|
||||
,'showdesc' => '0' // 0, 1
|
||||
,'displaytype' => 'accordion' // flat, accordion, fade, push
|
||||
,'displayeffect' => 'normal' // normal, slideleft, slideright, slideleftover, sliderightover, topfixed, open
|
||||
,'menuwidth' => '300' // value in px
|
||||
,'openedonactiveitem' => '0' // 0, 1
|
||||
,'mobilebackbuttontext' => \JText::_('PLG_MOBILEMENUCK_MOBILEBACKBUTTON') // text
|
||||
,'menuselector' => 'ul' // text
|
||||
,'uriroot' => \JUri::root(true) // base uri of the website
|
||||
,'tooglebarevent' => 'click' // event used to open the menu
|
||||
,'tooglebaron' => 'all' // target used to open the menu
|
||||
// Logo options
|
||||
,'logo_source' => 'maximenuck' // maximenuck, custom
|
||||
,'logo_image' => '' // the image src
|
||||
,'logo_link' => '' // the link url
|
||||
,'logo_alt' => '' // the alt tag
|
||||
,'logo_position' => 'left' // left, center, right
|
||||
,'logo_width' => '' // image width
|
||||
,'logo_height' => '' // image height
|
||||
,'logo_margintop' => '' // margin top
|
||||
,'logo_marginright' => '' // margin right
|
||||
,'logo_marginbottom' => '' // margin bototm
|
||||
,'logo_marginleft' => '' // margin left
|
||||
,'topfixedeffect' => 'always' // always or onscroll
|
||||
,'lock_button' => '0'
|
||||
,'lock_forced' => '0'
|
||||
,'accordion_use_effects' => '0'
|
||||
,'accordion_toggle' => '0'
|
||||
,'show_icons' => '1'
|
||||
,'counter' => '0'
|
||||
,'hide_desktop' => '1'
|
||||
,'overlay' => '0'
|
||||
];
|
||||
|
||||
return $defaults;
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for the CSS styles from default theme, or in the template
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
*/
|
||||
public static function loadTheme($id, $inline = false, $themeid = null) {
|
||||
require_once(MOBILEMENUCK_PLATFORM . '/loader.php');
|
||||
|
||||
$layoutcss = '';
|
||||
if ((int) $themeid) {
|
||||
$layoutcss = Helper::getStyleById($themeid, $select = 'layoutcss', $type = 'result');
|
||||
}
|
||||
// if we don't have a layout according to the ID, then use the default one
|
||||
if (!(int) $themeid || ! $layoutcss){
|
||||
$layoutcss = Helper::getLayoutCss();
|
||||
}
|
||||
Helper::makeCssReplacement($layoutcss);
|
||||
$css = str_replace('|ID|', '[data-id="' . $id . '"]', $layoutcss);
|
||||
|
||||
if ($inline) {
|
||||
CKLoader::loadStyleDeclarationInline($css);
|
||||
} else {
|
||||
CKLoader::loadStyleDeclaration($css);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the mediaqueries to hide - show the module and mobile bar
|
||||
*
|
||||
* @return string - the css to load in the page
|
||||
*
|
||||
*/
|
||||
private static function getMediaQueries($selector, $options) {
|
||||
$detect_type = $options['detectiontype'];
|
||||
$detect = new Mobile_Detect;
|
||||
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
|
||||
$bodypadding = ($options['container'] == 'body' || $options['container'] == 'topfixed') ? 'body { padding-top: 40px !important; }' : '';
|
||||
if ($detect_type == 'resolution') {
|
||||
$css = "#" . $options['menuid'] . "-mobile-bar, #" . $options['menuid'] . "-mobile-bar-wrap-topfixed { display: none; }
|
||||
@media only screen and (max-width:" . str_replace('px', '', $options['resolution']) . "px){
|
||||
" . ($options['hide_desktop'] === '0' ? '' : $selector . " { display: none !important; }") . "
|
||||
#" . $options['menuid'] . "-mobile-bar, #" . $options['menuid'] . "-mobile-bar-wrap-topfixed { display: block; }
|
||||
.mobilemenuck-hide {display: none !important;}
|
||||
" . $bodypadding . " }";
|
||||
} else if (($detect_type == 'tablet' && $detect->isMobile()) || ($detect_type == 'phone' && $detect->isMobile() && !$detect->isTablet())) {
|
||||
$css = $selector . " { display: none !important; }
|
||||
#" . $options['menuid'] . "-mobile-bar, #" . $options['menuid'] . "-mobile-bar-wrap-topfixed { display: block; }
|
||||
.mobilemenuck-hide {display: none !important;}
|
||||
" . $bodypadding;
|
||||
} else if ($detect_type == 'all') {
|
||||
$css = "#" . $options['menuid'] . "-mobile-bar, #" . $options['menuid'] . "-mobile-bar-wrap-topfixed { display: block; }
|
||||
" . $selector . " { display: none !important; }
|
||||
.mobilemenuck-hide {display: none !important;}
|
||||
" . $bodypadding;
|
||||
} else {
|
||||
$css = '';
|
||||
}
|
||||
|
||||
return $css;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines what to use as character
|
||||
*
|
||||
* @return string - the html value
|
||||
*
|
||||
*/
|
||||
static function getButtonContent($value, $styleParams) {
|
||||
switch ($value) {
|
||||
case 'hamburger':
|
||||
$content = '≡';
|
||||
break;
|
||||
case 'close':
|
||||
$content = '×';
|
||||
break;
|
||||
case 'custom' :
|
||||
$content = $styleParams->menubarbuttoncontentcustomtext;
|
||||
break;
|
||||
default :
|
||||
case 'none':
|
||||
$content = '';
|
||||
break;
|
||||
}
|
||||
return $content;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,182 @@
|
||||
; @copyright Copyright (C) 2016 Cédric KEIFLIN alias ced1870
|
||||
; http://www.template-creator.com
|
||||
; http://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_MOBILEMENUCK_XML_DESC="Add menus for mobile devices in your website."
|
||||
PLG_MOBILEMENUCK_PARAMS_FIELDSET_LABEL="Mobile Menu CK"
|
||||
PLG_MOBILEMENUCK_SELECT="Select"
|
||||
PLG_MOBILEMENUCK_EDIT="Edit"
|
||||
PLG_MOBILEMENUCK_ENABLE_LABEL="Enable Mobile Menu CK"
|
||||
PLG_MOBILEMENUCK_ENABLE_DESC="Activate this option to create a mobile menu"
|
||||
PLG_MOBILEMENUCK_SELECT_STYLE_LABEL="Select a style"
|
||||
PLG_MOBILEMENUCK_SELECT_STYLE_DESC="Choose an existing style or create a new style for this menu"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_LABEL="Beautiful title"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_DESC="Select which text to show in the beautiful title"
|
||||
PLG_MOBILEMENUCK_MODULE_TITLE="Module title"
|
||||
PLG_MOBILEMENUCK_CUSTOM_TEXT="Custom Text"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_CUSTOM_LABEL="Custom title text"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_CUSTOM_DESC="Write the text to show in the beautiful title"
|
||||
PLG_MOBILEMENUCK_SELECT_ICON_LABEL="Select the title icon"
|
||||
PLG_MOBILEMENUCK_SELECT_ICON_DESC="Select which icon to show in the title. This uses the Font Awesome library"
|
||||
PLG_MOBILEMENUCK_LOAD_FA_LABEL="Load the Font Awesome library"
|
||||
PLG_MOBILEMENUCK_LOAD_FA_DESC="Activate this option if you want to load the Font Awesome library in your page. If you have already loaded it, you can leave this option on NO"
|
||||
PLG_MOBILEMENUCK_NONE="None"
|
||||
PLG_MOBILEMENUCK_CLEAR="Clear"
|
||||
PLG_MOBILEMENUCK_SELECT_FIRST="Please first select a style"
|
||||
PLG_MOBILEMENUCK_MOBILERESOLUTION_LABEL="Limit of resolution for the mobile menu"
|
||||
PLG_MOBILEMENUCK_MOBILERESOLUTION_DESC="Give a resolution in px. The mobile menu will be active under this resolution"
|
||||
PLG_MOBILEMENUCK_MOBILETHEME_LABEL="Mobile theme"
|
||||
PLG_MOBILEMENUCK_MOBILETHEME_DESC="Choose a theme"
|
||||
PLG_MOBILEMENUCK_SELECTMODULE_LABEL="Maximenu module for mobile"
|
||||
PLG_MOBILEMENUCK_SELECTMODULE_DESC="Select the Maximenu module to use as main menu for mobile. WARNING : you can select multiple modules to use for a multilingual website. But ONLY ONE of these modules must be loaded for each page."
|
||||
PLG_MOBILEMENUCK_DETECTIONTYPE_LABEL="Detection type"
|
||||
PLG_MOBILEMENUCK_DETECTIONTYPE_DESC="Choose if you want to activate the menu based on the resolution (defined in the module options), or by detecting the device by type tablet or phone"
|
||||
PLG_MOBILEMENUCK_RESOLUTION="Resolution"
|
||||
PLG_MOBILEMENUCK_TABLET="Tablet and phone"
|
||||
PLG_MOBILEMENUCK_PHONE="Phone only"
|
||||
PLG_MOBILEMENUCK_DISPLAYTYPE_LABEL="Display type"
|
||||
PLG_MOBILEMENUCK_DISPLAYTYPE_DESC="Choose if you want a flat menu with all levels shown or an accordion menu that shows the submenus on click"
|
||||
PLG_MOBILEMENUCK_FLAT="Flat"
|
||||
PLG_MOBILEMENUCK_ACCORDION="Accordion"
|
||||
PLG_MOBILEMENUCK_DISPLAYEFFECT_LABEL="Display effect"
|
||||
PLG_MOBILEMENUCK_DISPLAYEFFECT_DESC="Choose the way the menu will appear in the page"
|
||||
PLG_MOBILEMENUCK_SLIDELEFT="Slide Left"
|
||||
PLG_MOBILEMENUCK_SLIDERIGHT="Slide Right"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUTEXT_LABEL="Menu bar text"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUTEXT_DESC="Set the text you want to put in the menu bar, if nothing is set then the standard 'Menu' word will be used"
|
||||
PLG_MOBILEMENUCK_SHOWMOBILEMENUTEXT_LABEL="Show the mobile menu text"
|
||||
PLG_MOBILEMENUCK_SHOWMOBILEMENUTEXT_DESC="Select how to show the mobile menu text, normal = 'Menu' or the active item title, custom = the text in the field above, none = no text"
|
||||
PLG_MOBILEMENUCK_DEFAULTTEXT="Default text"
|
||||
PLG_MOBILEMENUCK_CUSTOMTEXT="Custom text"
|
||||
PLG_MOBILEMENUCK_OPEN_SLIDE="Open sliding"
|
||||
PLG_MOBILEMENUCK_MOBILEICON_LABEL="Mobile icon"
|
||||
PLG_MOBILEMENUCK_MOBILEICON_DESC="Set the image that will be used as icon for this menu item in the Mobile menu"
|
||||
PLG_MOBILEMENUCK_MOBILETEXTREPLACEMENT_LABEL="Text replacement"
|
||||
PLG_MOBILEMENUCK_MOBILETEXTREPLACEMENT_DESC="Set the text that will be used for the Mobile menu. Left it empty to use the default menu item title"
|
||||
PLG_MOBILEMENUCK_FADELEVELS="Fade"
|
||||
PLG_MOBILEMENUCK_MOBILEBACKBUTTON="Back"
|
||||
PLG_MOBILEMENUCK_PUSHLEVELS="Slide"
|
||||
PLG_MOBILEMENUCK_DISPLAYTYPE_INFO_LABEL="<p style='background:#eee;padding:5px;margin:3px 0;'>Note : some combinations do not work, like using the 'slide' effect and the 'normal' position.</p>"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_MENUBAR="In the menu bar"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_TOPBAR="In the top bar"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUWIDTH_LABEL="Menu width"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUWIDTH_DESC="Set a value for the mobile menu when shown"
|
||||
PLG_MOBILEMENUCK_SLIDELEFT_OVER="Slide Left over the page"
|
||||
PLG_MOBILEMENUCK_SLIDERIGHT_OVER="Slide Right over the page"
|
||||
PLG_MOBILEMENUCK_OPENED_ON_ACTIVE_ITEM_LABEL="Opened on active item"
|
||||
PLG_MOBILEMENUCK_OPENED_ON_ACTIVE_ITEM_DESC="If set to yes, it will open the active path in the accordion mobile menu"
|
||||
PLG_MOBILEMENUCK_CONTAINER_LABEL="Menu place"
|
||||
PLG_MOBILEMENUCK_CONTAINER_DESC="Add the menu in the body of the page, or in the current menu container"
|
||||
PLG_MOBILEMENUCK_BODY="Body"
|
||||
PLG_MOBILEMENUCK_MENUCONTAINER="Current menu"
|
||||
PLG_MOBILEMENUCK_SHOWDESC_LABEL="Show the item description"
|
||||
PLG_MOBILEMENUCK_SHOWDESC_DESC="Select if you want to add the description to the item title"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_LABEL="Show the logo"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_DESC="If you have set up a logo in the Maximenu module options you can choose if you want to show it on mobile"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_MOBILE="In the mobile menu"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEIMAGE_LABEL="Show the images"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEIMAGE_DESC="Load the images in the mobile menu"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEMODULE_LABEL="Show the modules"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEMODULE_DESC="Load the modules in the mobile menu"
|
||||
PLG_MOBILEMENUCK_TOPFIXED="Top fixed"
|
||||
PLG_MOBILEMENUCK_NORMAL="Normal"
|
||||
PLG_MOBILEMENUCK_MENU="Menu"
|
||||
PLG_MOBILEMENUCK_MERGE_WITH_LABEL="Merged with"
|
||||
PLG_MOBILEMENUCK_MERGE_WITH_DESC="You can merge this module menu with another mobile menu"
|
||||
PLG_MOBILEMENUCK_ENABLEMOBILE_LABEL="Enable for mobile"
|
||||
PLG_MOBILEMENUCK_ENABLEMOBILE_DESC="Show or not the item in the mobile menu"
|
||||
PLG_MOBILEMENUCK_FIELDSET_LABEL="Mobile Menu CK"
|
||||
|
||||
;added 1.0.14
|
||||
PLG_MOBILEMENUCK_BEFORETEXT_LABEL="Before text"
|
||||
PLG_MOBILEMENUCK_BEFORETEXT_DESC="Add a text that will be shown before the menu items. It can contains html code."
|
||||
PLG_MOBILEMENUCK_AFTERTEXT_LABEL="After text"
|
||||
PLG_MOBILEMENUCK_AFTERTEXT_DESC="Add a text that will be shown after the menu items. It can contains html code."
|
||||
;added 1.1.3
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_EVENT_LABEL="Open menu on"
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_EVENT_DESC="Choose the event to use to open the menu"
|
||||
PLG_MOBILEMENUCK_CLICK="Click"
|
||||
PLG_MOBILEMENUCK_MOUSEOVER="Mouseover"
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_ON_LABEL="Place to open"
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_ON_DESC="Choose if you want to open the menu with the whole menu bar or only the button"
|
||||
PLG_MOBILEMENUCK_FULL_BAR="Whole menu bar"
|
||||
PLG_MOBILEMENUCK_ONLY8BUTTON="Only the button"
|
||||
;added 1.2.6
|
||||
PLG_MOBILEMENUCK_LOGO_SOURCE_LABEL="Source of the logo"
|
||||
PLG_MOBILEMENUCK_LOGO_LABEL="Logo"
|
||||
PLG_MOBILEMENUCK_LOGOIMAGE_LABEL="Logo image"
|
||||
PLG_MOBILEMENUCK_LOGOIMAGE_DESC="Choose the image to show as logo"
|
||||
PLG_MOBILEMENUCK_LOGOLINK_LABEL="Logo link"
|
||||
PLG_MOBILEMENUCK_LOGOLINK_DESC="Set a link url to add on the logo"
|
||||
PLG_MOBILEMENUCK_LOGOALT_LABEL="Alternative text"
|
||||
PLG_MOBILEMENUCK_LOGOALT_DESC="ALT tag for the image"
|
||||
PLG_MOBILEMENUCK_LOGOPOSITION_LABEL="Logo position"
|
||||
PLG_MOBILEMENUCK_LOGOPOSITION_DESC="Choose where to place the logo in the menu"
|
||||
PLG_MOBILEMENUCK_LOGOWIDTH_LABEL="Logo width"
|
||||
PLG_MOBILEMENUCK_LOGOWIDTH_DESC="Set the width for the logo"
|
||||
PLG_MOBILEMENUCK_LOGOHEIGHT_LABEL="Logo height"
|
||||
PLG_MOBILEMENUCK_LOGOHEIGHT_DESC="Set the height for the logo"
|
||||
PLG_MOBILEMENUCK_MARGINTOP_LABEL="Margin top"
|
||||
PLG_MOBILEMENUCK_MARGINTOP_DESC="margin in px"
|
||||
PLG_MOBILEMENUCK_MARGINRIGHT_LABEL="Margin right"
|
||||
PLG_MOBILEMENUCK_MARGINRIGHT_DESC="margin in px"
|
||||
PLG_MOBILEMENUCK_MARGINBOTTOM_LABEL="Margin bottom"
|
||||
PLG_MOBILEMENUCK_MARGINBOTTOM_DESC="margin in px"
|
||||
PLG_MOBILEMENUCK_MARGINLEFT_LABEL="Margin left"
|
||||
PLG_MOBILEMENUCK_MARGINLEFT_DESC="margin in px"
|
||||
PLG_MOBILEMENUCK_CUSTOM_LOGO="Custom logo"
|
||||
PLG_MOBILEMENUCK_LEFT="Left"
|
||||
PLG_MOBILEMENUCK_RIGHT="Right"
|
||||
PLG_MOBILEMENUCK_CENTER="Center"
|
||||
PLG_MOBILEMENUCK_TEXT_LABEL="Text"
|
||||
;added 1.3.0
|
||||
PLG_MOBILEMENUCK_LOGO_WHERE_LABEL="Logo place"
|
||||
PLG_MOBILEMENUCK_LOGO_WHERE_DESC="Select where to show the logo"
|
||||
;added 1.3.8
|
||||
PLG_MOBILEMENUCK_LOCK_BUTTON_LABEL="Enable lock button"
|
||||
PLG_MOBILEMENUCK_LOCK_BUTTON_DESC="You can use the lock button to store the state of the menu when navigating on the website"
|
||||
;added 1.4.0
|
||||
PLG_MOBILEMENUCK_FLYOUT="Flyout"
|
||||
PLG_MOBILEMENUCK_ALL_DEVICES="All devices"
|
||||
;added 1.4.1
|
||||
PLG_MOBILEMENUCK_TOPFIXED_EFFECT_LABEL="Top fixed effect"
|
||||
PLG_MOBILEMENUCK_TOPFIXED_EFFECT_DESC="Select if you want the menu to be alwyas sticked or only on scroll when it reaches the top of the page"
|
||||
PLG_MOBILEMENUCK_ALWAYS="Always"
|
||||
PLG_MOBILEMENUCK_ONSCROLL="On scroll"
|
||||
;added 1.4.2
|
||||
PLG_MOBILEMENUCK_ACCORDION_EFFECT_LABEL="Enable accordion effect"
|
||||
PLG_MOBILEMENUCK_ACCORDION_EFFECT_DESC="Shows the submenu with a smooth transition"
|
||||
PLG_MOBILEMENUCK_ACCORDION_TOGGLE_LABEL="Toogle accordion items"
|
||||
PLG_MOBILEMENUCK_ACCORDION_TOGGLE_DESC="Close the opened submenus when you open a new one"
|
||||
PLG_MOBILEMENUCK_LOCK_FORCED_LABEL="Force the locked state"
|
||||
PLG_MOBILEMENUCK_LOCK_FORCED_DESC="It stores automatically the state of the menu when navigating on the website"
|
||||
|
||||
;added 1.5.1
|
||||
MOBILEMENUCK_INCLUDE_META="Include meta tag"
|
||||
|
||||
;added 1.5.2
|
||||
PLG_MOBILEMENUCK_ICONTYPE_LABEL="Icon type"
|
||||
PLG_MOBILEMENUCK_ICONTYPE_IMAGE="Image"
|
||||
PLG_MOBILEMENUCK_ICONTYPE_CSS="CSS class"
|
||||
PLG_MOBILEMENUCK_MOBILEICONCSS_LABEL="CSS class for the icon"
|
||||
PLG_MOBILEMENUCK_ICONS_LABEL="Icons"
|
||||
PLG_MOBILEMENUCK_SHOW_ICONS_LABEL="Show icons"
|
||||
PLG_MOBILEMENUCK_ICON_WIDTH_LABEL="Width"
|
||||
PLG_MOBILEMENUCK_ICON_HEIGHT_LABEL="Height"
|
||||
PLG_MOBILEMENUCK_COUNTER_LABEL="Show Counter"
|
||||
PLG_MOBILEMENUCK_ICON_MARGIN_LABEL="Icon margin"
|
||||
|
||||
;added 1.5.6
|
||||
PLG_MOBILEMENUCK_PRO_ONLY="Only available in the Pro version"
|
||||
PLG_MOBILEMENUCK_VIDEO_TUTORIAL="Video tutorial"
|
||||
|
||||
;added 1.5.10
|
||||
PLG_MOBILEMENUCK_HIDE_DESKTOP_LABEL="Hide the desktop menu"
|
||||
|
||||
;added 1.5.14
|
||||
PLG_MOBILEMENUCK_OVERLAY_LABEL="Show overlay"
|
||||
PLG_MOBILEMENUCK_OVERLAY_COLOR_LABEL="Overlay color"
|
||||
PLG_MOBILEMENUCK_OVERLAY_OPACITY_LABEL="Overlay opacity from 0 to 1"
|
||||
@@ -0,0 +1,9 @@
|
||||
; @copyright Copyright (C) 2015 Cédric KEIFLIN alias ced1870
|
||||
; http://www.template-creator.com
|
||||
; http://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_MOBILEMENUCK_XML_DESC="Add menus for mobile devices in your website."
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
; @copyright Copyright (C) 2016 Cédric KEIFLIN alias ced1870
|
||||
; http://www.template-creator.com
|
||||
; http://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_MOBILEMENUCK_XML_DESC="Ajouter des menus pour appareils mobile à votre site web."
|
||||
PLG_MOBILEMENUCK_PARAMS_FIELDSET_LABEL="Mobile Menu CK"
|
||||
PLG_MOBILEMENUCK_SELECT="Sélectionner"
|
||||
PLG_MOBILEMENUCK_EDIT="Editer"
|
||||
PLG_MOBILEMENUCK_ENABLE_LABEL="Activer Mobile Menu CK"
|
||||
PLG_MOBILEMENUCK_ENABLE_DESC="Activez cette option pour créer un menu mobile"
|
||||
PLG_MOBILEMENUCK_SELECT_STYLE_LABEL="Selectionner un style"
|
||||
PLG_MOBILEMENUCK_SELECT_STYLE_DESC="Choisissez parmi les styles existants ou créez en un nouveau pour ce menu"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_LABEL="Texte du titre"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_DESC="Selectionner quel texte afficher dans le titre"
|
||||
PLG_MOBILEMENUCK_MODULE_TITLE="Titre du module"
|
||||
PLG_MOBILEMENUCK_CUSTOM_TEXT="Texte perso"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_CUSTOM_LABEL="Texte perso"
|
||||
PLG_MOBILEMENUCK_TITLE_TEXT_CUSTOM_DESC="Ecrire le texte à afficher dans le titre"
|
||||
PLG_MOBILEMENUCK_SELECT_ICON_LABEL="Icone du titre"
|
||||
PLG_MOBILEMENUCK_SELECT_ICON_DESC="Selectionner une icone à afficher dans le titre. Ceci est basé sur la librairie Font Awesome"
|
||||
PLG_MOBILEMENUCK_LOAD_FA_LABEL="Charger la librairie Font Awesome"
|
||||
PLG_MOBILEMENUCK_LOAD_FA_DESC="Activer cette option pour charger la librairie Font Awesome dans la page. Si vous l'avez déjà chargée, vous pouvez laisser cette option sur NON"
|
||||
PLG_MOBILEMENUCK_NONE="Aucun"
|
||||
PLG_MOBILEMENUCK_CLEAR="Effacer"
|
||||
PLG_MOBILEMENUCK_SELECT_FIRST="Veuillez d'abord sélectionner un style"
|
||||
PLG_MOBILEMENUCK_MOBILERESOLUTION_LABEL="Résolution maxi pour menu mobile"
|
||||
PLG_MOBILEMENUCK_MOBILERESOLUTION_DESC="Donner une résolution en px en dessous de laquelle le menu mobile s'active"
|
||||
PLG_MOBILEMENUCK_MOBILETHEME_LABEL="Thème mobile"
|
||||
PLG_MOBILEMENUCK_MOBILETHEME_DESC="Choisir un thème"
|
||||
PLG_MOBILEMENUCK_SELECTMODULE_LABEL="Sélectionner un module"
|
||||
PLG_MOBILEMENUCK_SELECTMODULE_DESC="Choisir un module Maximenu à utiliser comme menu principal pour mobile. ATTENTION vous pouvez sélectionner plusieurs modules pour des sites multilingues, mais un seul des modules sélectionné doit apparaitre dans chaque page du site."
|
||||
PLG_MOBILEMENUCK_DETECTIONTYPE_LABEL="Type de détection"
|
||||
PLG_MOBILEMENUCK_DETECTIONTYPE_DESC="Sélectionner comment le menu doit s'activer, basé sur la résolution (définie dans les options du module) ou en détectant le périphérique, tablette ou téléphone"
|
||||
PLG_MOBILEMENUCK_RESOLUTION="Résolution"
|
||||
PLG_MOBILEMENUCK_TABLET="Tablette et téléphone"
|
||||
PLG_MOBILEMENUCK_PHONE="Téléphone uniquement"
|
||||
PLG_MOBILEMENUCK_DISPLAYTYPE_LABEL="Type d'affichage"
|
||||
PLG_MOBILEMENUCK_DISPLAYTYPE_DESC="Choisissez si vous voulez un menu plat qui affiche tous les niveaux ou un menu accordeon qui affiche les sous menus au clic"
|
||||
PLG_MOBILEMENUCK_FLAT="A plat"
|
||||
PLG_MOBILEMENUCK_ACCORDION="Accordeon"
|
||||
PLG_MOBILEMENUCK_DISPLAYEFFECT_LABEL="Effet d'affichage"
|
||||
PLG_MOBILEMENUCK_DISPLAYEFFECT_DESC="Choisir la manière dont le menu s'affiche"
|
||||
PLG_MOBILEMENUCK_SLIDELEFT="Glissement gauche"
|
||||
PLG_MOBILEMENUCK_SLIDERIGHT="Glissement droite"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUTEXT_LABEL="Texte dans la barre de menu"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUTEXT_DESC="Définir le texte à afficher, si vide alors le mot 'Menu' sera utilisé"
|
||||
PLG_MOBILEMENUCK_SHOWMOBILEMENUTEXT_LABEL="Montrer le texte pour le menu mobile"
|
||||
PLG_MOBILEMENUCK_SHOWMOBILEMENUTEXT_DESC="Choisir quel texte afficher dans la barre du menu mobile. Texte par défaut = mot 'Menu' ou le titre du lien actif, Personnalisé = le texte entré dans le champ ci-dessous, Aucun = aucun texte affiché"
|
||||
PLG_MOBILEMENUCK_DEFAULTTEXT="Texte par défaut"
|
||||
PLG_MOBILEMENUCK_CUSTOMTEXT="Texte personnalisé"
|
||||
PLG_MOBILEMENUCK_OPEN_SLIDE="Ouverture en glissant"
|
||||
PLG_MOBILEMENUCK_MOBILEICON_LABEL="Icône mobile"
|
||||
PLG_MOBILEMENUCK_MOBILEICON_DESC="Définir l'image qui sera utilisée pour le menu Mobile"
|
||||
PLG_MOBILEMENUCK_MOBILETEXTREPLACEMENT_LABEL="Texte de remplacement"
|
||||
PLG_MOBILEMENUCK_MOBILETEXTREPLACEMENT_DESC="Définir le texte qui sera utilisé pour le menu Mobile, laisser le champ vide pour utiliser le titre du lien"
|
||||
PLG_MOBILEMENUCK_FADELEVELS="En fondu"
|
||||
PLG_MOBILEMENUCK_MOBILEBACKBUTTON="Retour"
|
||||
PLG_MOBILEMENUCK_PUSHLEVELS="En glissant"
|
||||
PLG_MOBILEMENUCK_DISPLAYTYPE_INFO_LABEL="<p style='background:#eee;padding:5px;margin:3px 0;'>Note : certaines combinaisons ne sont pas compatibles, comme le type d'affichage en 'glissant' avec l'effet 'normal'.</p>"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_MENUBAR="Dans la barre de menu"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_TOPBAR="Dans la barre du haut"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUWIDTH_LABEL="Largeur du menu"
|
||||
PLG_MOBILEMENUCK_MOBILEMENUWIDTH_DESC="Définissez une valeur pour la largeur du menu lorsqu'il est affiché"
|
||||
PLG_MOBILEMENUCK_SLIDELEFT_OVER="Glissement gauche au dessus de la page"
|
||||
PLG_MOBILEMENUCK_SLIDERIGHT_OVER="Glissement droite au dessus de la page"
|
||||
PLG_MOBILEMENUCK_OPENED_ON_ACTIVE_ITEM_LABEL="Ouvrir sur le lien actif"
|
||||
PLG_MOBILEMENUCK_OPENED_ON_ACTIVE_ITEM_DESC="Si activée, cette option déroule le menu accordeon pour afficher le chemin du lien actif"
|
||||
PLG_MOBILEMENUCK_CONTAINER_LABEL="Emplacement du menu"
|
||||
PLG_MOBILEMENUCK_CONTAINER_DESC="Ajouter le menu dans le corps de la page ou dans l'emplacement actuel du menu sélectionné"
|
||||
PLG_MOBILEMENUCK_BODY="Corps de la page"
|
||||
PLG_MOBILEMENUCK_MENUCONTAINER="Menu actuel"
|
||||
PLG_MOBILEMENUCK_SHOWDESC_LABEL="Afficher la description"
|
||||
PLG_MOBILEMENUCK_SHOWDESC_DESC="Afficher la description du lien à côté du titre"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_LABEL="Montrer le logo"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_DESC="Si vous avez défini un logo dans les options du module Maximenu vous pouvez choisir de l'afficher dans le menu sur les mobiles"
|
||||
PLG_MOBILEMENUCK_SHOWLOGO_MOBILE="Dans le menu mobile"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEIMAGE_LABEL="Afficher les images"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEIMAGE_DESC="Charger les images du menu dans le menu mobile"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEMODULE_LABEL="Afficher les modules"
|
||||
PLG_MOBILEMENUCK_MOBILEUSEMODULE_DESC="Charger les modules du menu dans le menu mobile"
|
||||
PLG_MOBILEMENUCK_TOPFIXED="Figé en haut"
|
||||
PLG_MOBILEMENUCK_NORMAL="Normal"
|
||||
PLG_MOBILEMENUCK_MENU="Menu"
|
||||
PLG_MOBILEMENUCK_MERGE_WITH_LABEL="Fusionné avec"
|
||||
PLG_MOBILEMENUCK_MERGE_WITH_DESC="Vous pouvez fusionner ce menu mobile avec un autre menu mobile existant"
|
||||
PLG_MOBILEMENUCK_ENABLEMOBILE_LABEL="Activer pour mobile"
|
||||
PLG_MOBILEMENUCK_ENABLEMOBILE_DESC="Afficher ou non le lien dans le menu mobile"
|
||||
PLG_MOBILEMENUCK_FIELDSET_LABEL="Mobile Menu CK"
|
||||
|
||||
;1.0.14
|
||||
PLG_MOBILEMENUCK_BEFORETEXT_LABEL="Texte de début"
|
||||
PLG_MOBILEMENUCK_BEFORETEXT_DESC="Ajouter un texte qui sera affiché avant les liens de menu. Il peut contenir du code html."
|
||||
PLG_MOBILEMENUCK_AFTERTEXT_LABEL="Texte de fin"
|
||||
PLG_MOBILEMENUCK_AFTERTEXT_DESC="Ajouter un texte qui sera affiché après les liens de menu. Il peut contenir du code html."
|
||||
;1.1.3
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_EVENT_LABEL="Open menu on"
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_EVENT_DESC="Choose the event to use to open the menu"
|
||||
PLG_MOBILEMENUCK_CLICK="Click"
|
||||
PLG_MOBILEMENUCK_MOUSEOVER="Mouseover"
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_ON_LABEL="Place to open"
|
||||
PLG_MOBILEMENUCK_TOGGLE_BAR_ON_DESC="Choose if you want to open the menu with the whole menu bar or only the button"
|
||||
PLG_MOBILEMENUCK_FULL_BAR="Whole menu bar"
|
||||
PLG_MOBILEMENUCK_ONLY8BUTTON="Only the button"
|
||||
;added 1.2.6
|
||||
PLG_MOBILEMENUCK_LOGO_SOURCE_LABEL="Source du logo"
|
||||
PLG_MOBILEMENUCK_LOGO_LABEL="Logo"
|
||||
PLG_MOBILEMENUCK_LOGOIMAGE_LABEL="Image du logo"
|
||||
PLG_MOBILEMENUCK_LOGOIMAGE_DESC="Coisir l'image à utiliser comme logo"
|
||||
PLG_MOBILEMENUCK_LOGOLINK_LABEL="Lien du logo"
|
||||
PLG_MOBILEMENUCK_LOGOLINK_DESC="Saisir une url à ajouter au logo"
|
||||
PLG_MOBILEMENUCK_LOGOALT_LABEL="Texte alternatif"
|
||||
PLG_MOBILEMENUCK_LOGOALT_DESC="Balise ALT de l'image"
|
||||
PLG_MOBILEMENUCK_LOGOPOSITION_LABEL="Position du logo"
|
||||
PLG_MOBILEMENUCK_LOGOPOSITION_DESC="Choisir où placer le logo dans le menu"
|
||||
PLG_MOBILEMENUCK_LOGOWIDTH_LABEL="Largeur du logo"
|
||||
PLG_MOBILEMENUCK_LOGOWIDTH_DESC="Largeur du logo"
|
||||
PLG_MOBILEMENUCK_LOGOHEIGHT_LABEL="Hauteur du logo"
|
||||
PLG_MOBILEMENUCK_LOGOHEIGHT_DESC="Hauteur du logo"
|
||||
PLG_MOBILEMENUCK_MARGINTOP_LABEL="Marge haute"
|
||||
PLG_MOBILEMENUCK_MARGINTOP_DESC="marge en px"
|
||||
PLG_MOBILEMENUCK_MARGINRIGHT_LABEL="Marge droite"
|
||||
PLG_MOBILEMENUCK_MARGINRIGHT_DESC="marge en px"
|
||||
PLG_MOBILEMENUCK_MARGINBOTTOM_LABEL="Marge bas"
|
||||
PLG_MOBILEMENUCK_MARGINBOTTOM_DESC="marge en px"
|
||||
PLG_MOBILEMENUCK_MARGINLEFT_LABEL="Marge gauche"
|
||||
PLG_MOBILEMENUCK_MARGINLEFT_DESC="marge en px"
|
||||
PLG_MOBILEMENUCK_CUSTOM_LOGO="Logo personnalisé"
|
||||
PLG_MOBILEMENUCK_LEFT="Gauche"
|
||||
PLG_MOBILEMENUCK_RIGHT="Droite"
|
||||
PLG_MOBILEMENUCK_CENTER="Centre"
|
||||
PLG_MOBILEMENUCK_TEXT_LABEL="Texte"
|
||||
;added 1.3.0
|
||||
PLG_MOBILEMENUCK_LOGO_WHERE_LABEL="Place du logo"
|
||||
PLG_MOBILEMENUCK_LOGO_WHERE_DESC="Selectionner où afficher le logo"
|
||||
;added 1.3.8
|
||||
PLG_MOBILEMENUCK_LOCK_BUTTON_LABEL="Activer le bouton de verrouillage"
|
||||
PLG_MOBILEMENUCK_LOCK_BUTTON_DESC="Le bouton de verrouillage permet d'enregistrer l'état du menu lors de la navigation entre plusieurs pages du site"
|
||||
;added 1.4.0
|
||||
PLG_MOBILEMENUCK_FLYOUT="Flyout"
|
||||
PLG_MOBILEMENUCK_ALL_DEVICES="Tous les appareils"
|
||||
;added 1.4.1
|
||||
PLG_MOBILEMENUCK_TOPFIXED_EFFECT_LABEL="Effet figé en haut"
|
||||
PLG_MOBILEMENUCK_TOPFIXED_EFFECT_DESC="Choisissez si vous le voulez toujours figée, ou uniquement au scroll lorsqu'il arrive au bord de l'écran"
|
||||
PLG_MOBILEMENUCK_ALWAYS="Toujours"
|
||||
PLG_MOBILEMENUCK_ONSCROLL="Au scroll"
|
||||
;added 1.4.2
|
||||
PLG_MOBILEMENUCK_ACCORDION_EFFECT_LABEL="Activer les effets d'accordéon"
|
||||
PLG_MOBILEMENUCK_ACCORDION_EFFECT_DESC="Affiche les sous menus avec un effet d'animation"
|
||||
PLG_MOBILEMENUCK_ACCORDION_TOGGLE_LABEL="Basculer les liens accordéon"
|
||||
PLG_MOBILEMENUCK_ACCORDION_TOGGLE_DESC="Ferme les sous menus actifs lorsque vous ouvrez un nouveau sous menu"
|
||||
PLG_MOBILEMENUCK_LOCK_FORCED_LABEL="Forcer le verrouillage d'état"
|
||||
PLG_MOBILEMENUCK_LOCK_FORCED_DESC="Enregistre automatiquement l'état du menu lors de la navigation entre plusieurs pages du site"
|
||||
|
||||
;added 1.5.1
|
||||
MOBILEMENUCK_INCLUDE_META="Ajoute le meta tag"
|
||||
|
||||
;added 1.5.2
|
||||
PLG_MOBILEMENUCK_ICONTYPE_LABEL="Icône type"
|
||||
PLG_MOBILEMENUCK_ICONTYPE_IMAGE="Image"
|
||||
PLG_MOBILEMENUCK_ICONTYPE_CSS="Classe CSS"
|
||||
PLG_MOBILEMENUCK_MOBILEICONCSS_LABEL="Classe CSS pour l'icône"
|
||||
PLG_MOBILEMENUCK_ICONS_LABEL="Icônes"
|
||||
PLG_MOBILEMENUCK_SHOW_ICONS_LABEL="Montrer les icônes"
|
||||
PLG_MOBILEMENUCK_ICON_WIDTH_LABEL="Largeur"
|
||||
PLG_MOBILEMENUCK_ICON_HEIGHT_LABEL="Hauteur"
|
||||
PLG_MOBILEMENUCK_COUNTER_LABEL="Montrer le compteur"
|
||||
PLG_MOBILEMENUCK_ICON_MARGIN_LABEL="Marge de l'icône"
|
||||
|
||||
;added 1.5.6
|
||||
PLG_MOBILEMENUCK_PRO_ONLY="Seulement disponible dans la version Pro"
|
||||
PLG_MOBILEMENUCK_VIDEO_TUTORIAL="Tutoriel vidéo"
|
||||
|
||||
;added 1.5.10
|
||||
PLG_MOBILEMENUCK_HIDE_DESKTOP_LABEL="Cacher le menu normal"
|
||||
|
||||
;added 1.5.14
|
||||
PLG_MOBILEMENUCK_OVERLAY_LABEL="Afficher un overlay"
|
||||
PLG_MOBILEMENUCK_OVERLAY_COLOR_LABEL="Couleur de l'overlay"
|
||||
PLG_MOBILEMENUCK_OVERLAY_OPACITY_LABEL="Opacité de l'overlay de 0 à 1"
|
||||
@@ -0,0 +1,9 @@
|
||||
; @copyright Copyright (C) 2015 Cédric KEIFLIN alias ced1870
|
||||
; http://www.template-creator.com
|
||||
; http://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_MOBILEMENUCK_XML_DESC="Ajouter des menus pour appareils mobile à votre site web."
|
||||
|
||||
1
plugins/system/mobilemenuck/language/index.html
Normal file
1
plugins/system/mobilemenuck/language/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
820
plugins/system/mobilemenuck/mobilemenuck.php
Normal file
820
plugins/system/mobilemenuck/mobilemenuck.php
Normal file
@@ -0,0 +1,820 @@
|
||||
<?php
|
||||
/**
|
||||
* @name Mobile Menu CK
|
||||
* @copyright Copyright (C) 2018. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
||||
*/
|
||||
|
||||
defined('JPATH_BASE') or die;
|
||||
|
||||
|
||||
use Joomla\Module\Menu\Site\Helper\MenuHelper;
|
||||
if (version_compare(JVERSION, '4') < 0) {
|
||||
include_once JPATH_ROOT . '/modules/mod_menu/helper.php';
|
||||
}
|
||||
|
||||
/*
|
||||
* Module Chrome function specific to encapsulate the module
|
||||
*/
|
||||
// function modChrome_mobilemenuck($module, &$params, &$attribs)
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
/*
|
||||
* Class of the plugin
|
||||
*/
|
||||
class PlgSystemMobilemenuck extends JPlugin {
|
||||
|
||||
private $styles = Array();
|
||||
|
||||
private $scripts = Array();
|
||||
|
||||
private $stylesLoaded = Array();
|
||||
|
||||
// private $scriptsLoaded = Array();
|
||||
|
||||
private $modulesbar = Array();
|
||||
|
||||
private $modulestop = Array();
|
||||
|
||||
private $modulesbottom = Array();
|
||||
|
||||
private $modules = Array();
|
||||
|
||||
public function __construct(&$subject, $config = array()) {
|
||||
parent::__construct($subject, $config);
|
||||
}
|
||||
|
||||
private function callLibraries() {
|
||||
include_once(dirname(__FILE__) . '/defines.php');
|
||||
include_once(dirname(__FILE__) . '/helpers/helper.php');
|
||||
include_once(dirname(__FILE__) . '/helpers/menu.php');
|
||||
include_once(dirname(__FILE__) . '/helpers/function.php');
|
||||
}
|
||||
|
||||
private function shallLoad() { return true;
|
||||
$app = JFactory::getApplication();
|
||||
if (! $app->isClient('site') && ! $app->isClient('administrator'))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ($app->isClient('cli'))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ($app->isClient('api'))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$doc = JFactory::getDocument();
|
||||
$doctype = $doc->getType();
|
||||
// $document = \Joomla\CMS\Factory::getApplication()->getDocument();
|
||||
|
||||
if ($doctype !== 'html')
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function onContentPrepareForm($form, $data) {
|
||||
if (! $this->shallLoad()) return;
|
||||
$this->callLibraries();
|
||||
if (
|
||||
($form->getName() != 'com_modules.module' && $form->getName() != 'com_advancedmodules.module'
|
||||
|| (($form->getName() == 'com_modules.module' || $form->getName() == 'com_advancedmodules.module') && $data && isset($data->module) && $data->module != 'mod_maximenuck' && $data->module != 'mod_accordeonck' && $data->module != 'mod_accordeonmenuck' && $data->module != 'mod_menu')
|
||||
)
|
||||
&& ($form->getName() != 'com_menus.item' && $form->getName() != 'com_menumanagerck.itemedition')
|
||||
)
|
||||
return;
|
||||
|
||||
JForm::addFormPath(MOBILEMENUCK_PATH .'/params');
|
||||
JForm::addFieldPath(MOBILEMENUCK_PATH . '/elements');
|
||||
|
||||
// get the language
|
||||
$this->loadLanguage();
|
||||
|
||||
// load the additional options in the module
|
||||
if ($form->getName() == 'com_modules.module' || $form->getName() == 'com_advancedmodules.module') {
|
||||
$form->loadFile('mobilemenuck_params', false);
|
||||
}
|
||||
|
||||
// menu item options
|
||||
if ($form->getName() == 'com_menus.item' || $form->getName() == 'com_menumanagerck.itemedition') {
|
||||
$form->loadFile('mobilemenuck_itemparams', false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Event launched when the module is rendered in the page
|
||||
*
|
||||
* @param object The module element.
|
||||
* @param array The attributes to render the module.
|
||||
* @return void
|
||||
*/
|
||||
public function onRenderModule($module, &$attribs) {
|
||||
if (! $this->shallLoad()) return;
|
||||
|
||||
$app = JFactory::getApplication();
|
||||
$input = $app->input;
|
||||
|
||||
if ($app->isClient('administrator')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// exit if we are in one of these cases
|
||||
if ($input->get('option', '', 'string') == 'com_modulesmanagerck'
|
||||
|| $input->get('option', '', 'string') == 'com_media'
|
||||
|| $input->get('format', '', 'string') == 'raw'
|
||||
|| $input->get('option', '', 'string') == 'com_config'
|
||||
|| $input->get('ck', '', 'string') === '1'
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
// $loadAssets = false;
|
||||
$moduleParams = new JRegistry($module->params);
|
||||
// find a module enabled for mobile
|
||||
if ($moduleParams->get('mobilemenuck_enable', 0, 'int')) {
|
||||
$attribs['style'] .= ' mobilemenuck';
|
||||
// $loadAssets = true;
|
||||
|
||||
if (!empty ($module->content)) {
|
||||
include_once(dirname(__FILE__) . '/defines.php');
|
||||
include_once(dirname(__FILE__) . '/helpers/helper.php');
|
||||
include_once(dirname(__FILE__) . '/helpers/menu.php');
|
||||
include_once(dirname(__FILE__) . '/helpers/function.php');
|
||||
|
||||
$id = \Mobilemenuck\Helper::createIdForModule($module);
|
||||
if ($module->module == 'mod_maximenuck') {
|
||||
$selector = '#' . $id;
|
||||
$menuselector = 'ul.maximenuck';
|
||||
} else if ($module->module == 'mod_accordeonmenuck') {
|
||||
$selector = '#' . $id . '-wrap';
|
||||
$html = '<div id="' . $id . '-wrap">
|
||||
' . $module->content . '
|
||||
</div>';
|
||||
$module->content = $html;
|
||||
$menuselector = 'ul.menu';
|
||||
} else {
|
||||
if (version_compare(JVERSION, '4') >= 0) {
|
||||
$selector = '#' . $id . '-wrap ul.nav';
|
||||
} else {
|
||||
$selector = '#' . $id . '-wrap ul.nav';
|
||||
}
|
||||
$html = '<div id="' . $id . '-wrap">
|
||||
' . $module->content . '
|
||||
</div>';
|
||||
|
||||
$module->content = $html;
|
||||
$menuselector = 'ul';
|
||||
}
|
||||
$styleid = $moduleParams->get('mobilemenuck_styles');
|
||||
$menubarbuttoncontent = '≡';
|
||||
$topbarbuttoncontent = '×';
|
||||
if ($styleid) {
|
||||
$styleParams = json_decode(\Mobilemenuck\Helper::getStyleById($styleid, 'a.params'));
|
||||
if (! isset($styleParams->menubarbuttoncontent)) $styleParams->menubarbuttoncontent = 'hamburger';
|
||||
if (! isset($styleParams->topbarbuttoncontent)) $styleParams->topbarbuttoncontent = JText::_('JCLOSE');
|
||||
$menubarbuttoncontent = \Mobilemenuck\Menu::getButtonContent($styleParams->menubarbuttoncontent, $styleParams);
|
||||
$topbarbuttoncontent = \Mobilemenuck\Menu::getButtonContent($styleParams->topbarbuttoncontent, $styleParams);
|
||||
}
|
||||
|
||||
// loads the language files
|
||||
$lang = JFactory::getLanguage();
|
||||
$lang->load('plg_system_mobilemenuck', JPATH_SITE . '/plugins/system/mobilemenuck', $lang->getTag(), false);
|
||||
$lang->load('plg_system_mobilemenuck', JPATH_ADMINISTRATOR, $lang->getTag(), false);
|
||||
|
||||
$merge = $moduleParams->get('mobilemenuck_merge', '');
|
||||
$mergeorder = $moduleParams->get('mobilemenuck_mergeorder', '');
|
||||
if ($merge) {
|
||||
$mergemodule = \Mobilemenuck\Helper::getModuleById($merge);
|
||||
$merge = \Mobilemenuck\Helper::createIdForModule($mergemodule);
|
||||
}
|
||||
|
||||
// manage the general options
|
||||
$options = array(
|
||||
'menuid' => $id
|
||||
,'menubarbuttoncontent' => $menubarbuttoncontent
|
||||
,'topbarbuttoncontent' => $topbarbuttoncontent
|
||||
,'showmobilemenutext' => $moduleParams->get('mobilemenuck_showmobilemenutext', 'default')
|
||||
,'mobilemenutext' => JText::_($moduleParams->get('mobilemenuck_mobilemenutext', 'PLG_MOBILEMENUCK_MENU'))
|
||||
,'container' => $moduleParams->get('mobilemenuck_container', 'body')
|
||||
,'detectiontype' => $moduleParams->get('mobilemenuck_detectiontype', 'resolution')
|
||||
,'resolution' => $moduleParams->get('mobilemenuck_resolution', '640')
|
||||
,'usemodules' => $moduleParams->get('mobilemenuck_usemodules', '0')
|
||||
,'useimages' => $moduleParams->get('mobilemenuck_useimages', '0')
|
||||
,'showlogo' => $moduleParams->get('mobilemenuck_showlogo', '1')
|
||||
,'showdesc' => $moduleParams->get('mobilemenuck_showdesc', '0')
|
||||
,'displaytype' => $moduleParams->get('mobilemenuck_displaytype', 'accordion')
|
||||
,'displayeffect' => $moduleParams->get('mobilemenuck_displayeffect', 'normal')
|
||||
,'menuwidth' => $moduleParams->get('mobilemenuck_menuwidth', '300')
|
||||
,'openedonactiveitem' => $moduleParams->get('mobilemenuck_openedonactiveitem', '0')
|
||||
,'mobilebackbuttontext' => JText::_($moduleParams->get('mobilemenuck_mobilebackbuttontext', 'PLG_MOBILEMENUCK_MOBILEBACKBUTTON'))
|
||||
,'menuselector' => $menuselector
|
||||
,'merge' => $merge
|
||||
,'beforetext' => addslashes($moduleParams->get('mobilemenuck_beforetext', ''))
|
||||
,'aftertext' => addslashes($moduleParams->get('mobilemenuck_aftertext', ''))
|
||||
,'mergeorder' => $mergeorder
|
||||
,'tooglebarevent' => $moduleParams->get('mobilemenuck_tooglebarevent', 'click')
|
||||
,'tooglebaron' => $moduleParams->get('mobilemenuck_tooglebaron', 'all')
|
||||
// Logo options
|
||||
,'logo_where' => implode(',', $moduleParams->get('mobilemenuck_logo_where', array(0 => '1'))) // 1, 2, 3
|
||||
,'logo_source' => $moduleParams->get('mobilemenuck_logo_source', 'maximenuck') // maximenuck, custom
|
||||
,'logo_image' => $moduleParams->get('mobilemenuck_logoimage', '') // the image src
|
||||
,'logo_link' => $moduleParams->get('mobilemenuck_logolink', '') // the link url
|
||||
,'logo_alt' => $moduleParams->get('mobilemenuck_logoalt', '') // the alt tag
|
||||
,'logo_position' => $moduleParams->get('mobilemenuck_logoposition', 'left') // left, center, right
|
||||
,'logo_width' => $moduleParams->get('mobilemenuck_logowidth', '') // image width
|
||||
,'logo_height' => $moduleParams->get('mobilemenuck_logoheight', '') // image height
|
||||
,'logo_margintop' => $moduleParams->get('mobilemenuck_logomargintop', '') // margin top
|
||||
,'logo_marginright' => $moduleParams->get('mobilemenuck_logomarginright', '') // margin right
|
||||
,'logo_marginbottom' => $moduleParams->get('mobilemenuck_logomarginbottom', '') // margin bototm
|
||||
,'logo_marginleft' => $moduleParams->get('mobilemenuck_logomarginleft', '') // margin left
|
||||
,'lock_button' => $moduleParams->get('mobilemenuck_lock_button', '0')
|
||||
,'lock_forced' => $moduleParams->get('mobilemenuck_lock_forced', '0')
|
||||
,'topfixedeffect' => $moduleParams->get('mobilemenuck_topfixedeffect', 'always')
|
||||
,'accordion_use_effects' => $moduleParams->get('mobilemenuck_accordion_use_effects', '0')
|
||||
,'accordion_toggle' => $moduleParams->get('mobilemenuck_accordion_toggle', '0')
|
||||
,'show_icons' => $moduleParams->get('mobilemenuck_show_icons', '1')
|
||||
,'counter' => $moduleParams->get('mobilemenuck_counter', '0')
|
||||
,'hide_desktop' => $moduleParams->get('mobilemenuck_hide_desktop', '1')
|
||||
,'overlay' => $moduleParams->get('mobilemenuck_overlay', '0')
|
||||
);
|
||||
|
||||
// manage logo options
|
||||
$logoOptions = array();
|
||||
if ($moduleParams->get('mobilemenuck_logo_source', 'maximenuck') == 'custom') {
|
||||
$logoOptions = array(
|
||||
'logoimage' => $moduleParams->get('mobilemenuck_logoimage', '')
|
||||
// , 'container' => $moduleParams->get('mobilemenuck_container', 'body')
|
||||
);
|
||||
}
|
||||
|
||||
$options = array_merge($options, $logoOptions);
|
||||
loadMobileMenuCK($selector,
|
||||
$options
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function onAfterRender() {
|
||||
if (! $this->shallLoad()) return;
|
||||
|
||||
// exit if in admin
|
||||
if (! JFactory::getApplication()->isClient('site')) return;
|
||||
|
||||
// get the page body
|
||||
if (version_compare(JVERSION, '4') >= 0) {
|
||||
$body = JFactory::getApplication()->getBody();
|
||||
} else {
|
||||
$body = JResponse::getBody();
|
||||
}
|
||||
$html = '';
|
||||
|
||||
if (! empty($this->modulesbar)) {
|
||||
$html .= '<div id="mobilemenuck-bar-module" style="display:none;">';
|
||||
foreach ($this->modulesbar as $module) {
|
||||
$html .= $module;
|
||||
}
|
||||
$html .= '</div>';
|
||||
}
|
||||
if (! empty($this->modulestop)) {
|
||||
$html .= '<div id="mobilemenuck-top-module" style="display:none;">';
|
||||
foreach ($this->modulestop as $module) {
|
||||
$html .= $module;
|
||||
}
|
||||
$html .= '</div>';
|
||||
}
|
||||
if (! empty($this->modulesbottom)) {
|
||||
$html .= '<div id="mobilemenuck-bottom-module" style="display:none;">';
|
||||
foreach ($this->modulesbottom as $module) {
|
||||
$html .= $module;
|
||||
}
|
||||
$html .= '</div>';
|
||||
}
|
||||
|
||||
if ($html) {
|
||||
// add the html code
|
||||
$body = str_replace("</body>", $html . "\n</body>", $body);
|
||||
|
||||
if (version_compare(JVERSION, '4') >= 0) {
|
||||
$body = JFactory::getApplication()->setBody($body);
|
||||
} else {
|
||||
JResponse::setBody($body);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getModulesFromPosition($name) {
|
||||
$modules = JModuleHelper::getModules($name);
|
||||
|
||||
return $modules;
|
||||
}
|
||||
/**
|
||||
* Event launched when the module is rendered in the page
|
||||
*
|
||||
* @param object The module element.
|
||||
* @param array The attributes to render the module.
|
||||
* @return void
|
||||
*/
|
||||
public function onAfterModuleList($modules) {
|
||||
$this->callLibraries();
|
||||
$app = JFactory::getApplication();
|
||||
$input = $app->input;
|
||||
|
||||
if (! $app->isClient('site')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// exit if we are in one of these cases
|
||||
if ($input->get('option', '', 'string') == 'com_modulesmanagerck'
|
||||
|| $input->get('option', '', 'string') == 'com_media'
|
||||
|| $input->get('format', '', 'string') == 'raw'
|
||||
|| $input->get('option', '', 'string') == 'com_config'
|
||||
|| $input->get('ck', '', 'string') === '1'
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
$loadAssets = false;
|
||||
foreach ($modules as $module) {
|
||||
$moduleParams = new JRegistry($module->params);
|
||||
// find a module to use
|
||||
if ($moduleParams->get('mobilemenuck_enable', 0, 'int')) {
|
||||
$loadAssets = true;
|
||||
$this->loadAssets($module);
|
||||
$this->modules[$module->id] = $module;
|
||||
}
|
||||
}
|
||||
if (! count($this->styles)) return;
|
||||
$styles = implode("\n", $this->styles);
|
||||
$styles .= '.mobilemenuck-logo { text-align: center; }';
|
||||
$styles .= '.mobilemenuck-logo-left { text-align: left; }';
|
||||
$styles .= '.mobilemenuck-logo-right { text-align: right; }';
|
||||
$styles .= '.mobilemenuck-logo a { display: inline-block; }';
|
||||
$doc = JFactory::getDocument();
|
||||
// css
|
||||
$doc->addStyleDeclaration($styles);
|
||||
foreach ($this->styles as $id => $css) {
|
||||
$this->stylesLoaded[] = $id;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a word into a string
|
||||
*/
|
||||
private function addWord($string, $toggler) {
|
||||
$s = explode(' ', $string);
|
||||
if (!in_array($toggler, $s)) {
|
||||
array_push($s, $toggler);
|
||||
}
|
||||
|
||||
$s = implode(' ', $s);
|
||||
return $s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a word from a string
|
||||
*/
|
||||
private function removeWord($string, $toggler) {
|
||||
$s = explode(' ', $string);
|
||||
if (in_array($toggler, $s)) {
|
||||
$s = array_diff($s, array($toggler));
|
||||
}
|
||||
|
||||
$s = implode(' ', $s);
|
||||
return $s;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the scripts and styles
|
||||
*/
|
||||
protected function loadAssets($module) {
|
||||
// loads the helper in any case
|
||||
include_once('helpers/helper.php');
|
||||
$moduleParams = new JRegistry($module->params);
|
||||
$doc = JFactory::getDocument();
|
||||
// check if a style has been selected
|
||||
$styleid = $moduleParams->get('mobilemenuck_styles');
|
||||
|
||||
if ($this->params->get('include_meta', '0') == '1') {
|
||||
$doc->setMetaData('viewport', 'width=device-width, initial-scale=1.0');
|
||||
}
|
||||
if ($moduleParams->get('mobilemenuck_enable') == '1') {
|
||||
$id = \Mobilemenuck\Helper::createIdForModule($module);
|
||||
|
||||
// look for the menu items options
|
||||
if ($moduleParams->get('mobilemenuck_show_icons', '1') === '1'
|
||||
&& $module->module === 'mod_menu') {
|
||||
if (version_compare(JVERSION, '4') >= 0) {
|
||||
$list = MenuHelper::getList($moduleParams);
|
||||
} else {
|
||||
$list = ModMenuHelper::getList($moduleParams);
|
||||
}
|
||||
|
||||
$iconsList = array();
|
||||
foreach ($list as $l) {
|
||||
$p = $l->getParams();
|
||||
$iconType = $p->get('mobilemenuck_icontype', 'image');
|
||||
switch($iconType) {
|
||||
case 'svg' :
|
||||
$icon = $p->get('mobilemenuck_iconsvg', '');
|
||||
break;
|
||||
case 'css' :
|
||||
$icon = $p->get('mobilemenuck_iconcss', '');
|
||||
break;
|
||||
case 'image':
|
||||
default :
|
||||
$icon = $p->get('mobilemenuck_icon', '');
|
||||
break;
|
||||
}
|
||||
$text = $p->get('mobilemenuck_textreplacement', '');
|
||||
// if ($icon || $text) {
|
||||
$iconsList[$l->id] = array(
|
||||
'icon' => $icon
|
||||
, 'iconType' => $iconType
|
||||
, 'enabled' => $p->get('mobilemenuck_enablemobile', '1')
|
||||
, 'text' => htmlspecialchars($text)
|
||||
);
|
||||
// }
|
||||
}
|
||||
if (! empty($iconsList)) {
|
||||
$this->scripts['iconsList'] = 'var MobilemenuckSettings = MobilemenuckSettings || {};MobilemenuckSettings[\'' . $id . '\'] = ' . json_encode($iconsList);
|
||||
$doc->addScriptDeclaration($this->scripts['iconsList']);
|
||||
}
|
||||
}
|
||||
if ($styleid) {
|
||||
$styles = $this->getStylesCss($styleid);
|
||||
if ($styles->state == '1') {
|
||||
$module->mobilemenuck_params = new JRegistry($styles->params);
|
||||
// add standard css rules
|
||||
$layoutcss = '|ID| .mobilemenuck-item-counter {
|
||||
display: inline-block;
|
||||
margin: 0 5px;
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
line-height: 0;
|
||||
background: rgba(0,0,0,0.3);
|
||||
color: #eee;
|
||||
border-radius: 10px;
|
||||
height: 20px;
|
||||
transform: translate(10px,-3px);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|ID| .mobilemenuck-backbutton svg {
|
||||
width: 14px;
|
||||
fill: #fff;
|
||||
position: relative;
|
||||
left: -5px;
|
||||
top: -2px;
|
||||
}
|
||||
';
|
||||
$layoutcss .= $styles->layoutcss;
|
||||
\Mobilemenuck\Helper::makeCssReplacement($layoutcss);
|
||||
|
||||
// $fieldcss = str_replace('|ID|', '.mobilemenuck.' . $fieldClass, $fieldcss);
|
||||
$layoutcss .= $this->getIconsStyles($moduleParams);
|
||||
$layoutcss .= $this->getOverlayStyles($moduleParams);
|
||||
$layoutcss = str_replace('|ID|', '[data-id="' . $id . '"]', $layoutcss);
|
||||
// $layoutcss = str_replace('|ID|', '', $layoutcss);
|
||||
// $fieldcss = str_replace('.fields-container', '.fields-container.' . $fieldClass, $fieldcss);
|
||||
// $fieldcss = str_replace('"field-entry"]', '"field-entry"].' . $fieldClass, $fieldcss);
|
||||
|
||||
$this->styles[$id] = $layoutcss;
|
||||
|
||||
global $ckcustomgooglefontslist;
|
||||
global $ckfontawesomeisloaded;
|
||||
// load the Font Awesome library
|
||||
if ($moduleParams->get('mobilemenuck_loadfa') == '1' && !$ckfontawesomeisloaded) {
|
||||
$doc->addStylesheet(JUri::root(true) . '/media/com_mobilemenuck/assets/font-awesome.min.css');
|
||||
$ckfontawesomeisloaded = true;
|
||||
}
|
||||
if ($module->mobilemenuck_params->get('texttextisgfont') && $module->mobilemenuck_params->get('texttextgfont')) {
|
||||
$ckcustomgooglefontslist[] = $module->mobilemenuck_params->get('texttextgfont');
|
||||
// $doc->addStylesheet('https://fonts.googleapis.com/css?family=' . $field->mobilemenuck_params->get('texttextgfont'));
|
||||
}
|
||||
if ($module->mobilemenuck_params->get('titletextisgfont') && $module->mobilemenuck_params->get('titletextgfont')) {
|
||||
$ckcustomgooglefontslist[] = $module->mobilemenuck_params->get('titletextgfont');
|
||||
// $doc->addStylesheet('https://fonts.googleapis.com/css?family=' . $field->mobilemenuck_params->get('titletextgfont'));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// $id = 'mobilemenuck-' . $module->id;
|
||||
$layoutcss = $this->getLayoutCss();
|
||||
\Mobilemenuck\Helper::makeCssReplacement($layoutcss);
|
||||
$layoutcss .= $this->getIconsStyles($moduleParams);
|
||||
$layoutcss .= $this->getOverlayStyles($moduleParams);
|
||||
$layoutcss = str_replace('|ID|', '[data-id="' . $id . '"]', $layoutcss);
|
||||
$this->styles[$id] = $layoutcss;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getIconsStyles($moduleParams) {
|
||||
$css = '';
|
||||
if ($moduleParams->get('mobilemenuck_show_icons', '1') === '1') {
|
||||
$iconWidth = $this->testUnit($moduleParams->get('mobilemenuck_icon_width', '32px'));
|
||||
$iconHeight = $this->testUnit($moduleParams->get('mobilemenuck_icon_height', '32px'));
|
||||
$iconMargin = $this->testUnit($moduleParams->get('mobilemenuck_icon_margin', '5px'));
|
||||
|
||||
// for images
|
||||
$css .='|ID| img.mobilemenuck-icon {
|
||||
width: ' . $iconWidth . ';
|
||||
height: ' . $iconHeight . ';
|
||||
margin: ' . $iconMargin . ';
|
||||
}';
|
||||
// for font icons
|
||||
$css .='|ID| i.mobilemenuck-icon {
|
||||
font-size: ' . $iconWidth . ';
|
||||
margin: ' . $iconMargin . ';
|
||||
}';
|
||||
}
|
||||
return $css;
|
||||
}
|
||||
|
||||
public function getOverlayStyles($moduleParams) {
|
||||
$css = '';
|
||||
if ($moduleParams->get('mobilemenuck_overlay', '0') === '1') {
|
||||
$css .='|ID| + #mobilemenuck-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
background: ' . $moduleParams->get('mobilemenuck_overlay_color', '#000000') . ';
|
||||
opacity: ' . $moduleParams->get('mobilemenuck_overlay_opacity', '0.3') . ';
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 9;
|
||||
}';
|
||||
}
|
||||
return $css;
|
||||
}
|
||||
/**
|
||||
* Get the css rules from the styles
|
||||
*
|
||||
* @param int $id
|
||||
* @return string
|
||||
*/
|
||||
protected function getStylesCss($id) {
|
||||
$db = JFactory::getDbo();
|
||||
$q = "SELECT params,layoutcss,state from #__mobilemenuck_styles WHERE id = " . (int)$id;
|
||||
$db->setQuery($q);
|
||||
$styles = $db->loadObject();
|
||||
|
||||
return $styles;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if there is already a unit, else add the px
|
||||
*
|
||||
* @param string $value
|
||||
* @return string
|
||||
*/
|
||||
public static function testUnit($value) {
|
||||
if ((stristr($value, 'px')) OR (stristr($value, 'em')) OR (stristr($value, '%')) OR (stristr($value, 'auto')) ) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
if ($value == '') {
|
||||
$value = 0;
|
||||
}
|
||||
|
||||
return $value . 'px';
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we need to load the styles in the page
|
||||
*/
|
||||
public function onBeforeRender() {
|
||||
$this->callLibraries();
|
||||
// si pas en frontend, on sort
|
||||
if (! JFactory::getApplication()->isClient('site')) return;
|
||||
|
||||
$doc = JFactory::getDocument();
|
||||
$doctype = $doc->getType();
|
||||
if ($doctype !== 'html')
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// load the custom menus if pro version
|
||||
if (\Mobilemenuck\Helper::checkIsProVersion()) $this->loadMobileMenus();
|
||||
|
||||
if (! empty($this->modules)) {
|
||||
foreach ($this->modules as $module) {
|
||||
$this->loadAssets($module);
|
||||
}
|
||||
foreach ($this->styles as $id => $css) {
|
||||
if (in_array($id, $this->stylesLoaded)) unset($this->styles[$id]);
|
||||
}
|
||||
$doc = JFactory::getDocument();
|
||||
if (! empty($this->styles)) {
|
||||
$styles = implode("\n", $this->styles);
|
||||
$styles .= '.mobilemenuck-logo { text-align: center; }';
|
||||
$styles .= '.mobilemenuck-logo-left { text-align: left; }';
|
||||
$styles .= '.mobilemenuck-logo-right { text-align: right; }';
|
||||
$styles .= '.mobilemenuck-logo a { display: inline-block; }';
|
||||
|
||||
// css
|
||||
$doc->addStyleDeclaration($styles);
|
||||
$this->styles = Array();
|
||||
}
|
||||
}
|
||||
|
||||
if (! empty($this->scripts['iconsList'])) {
|
||||
$doc->addScriptDeclaration($this->scripts['iconsList']);
|
||||
}
|
||||
|
||||
// try to load the module positions for the mobile menu
|
||||
$modulesBar = $this->getModulesFromPosition('mobilemenuck-bar');
|
||||
if (! empty($modulesBar)) {
|
||||
foreach ($modulesBar as $moduleBar) {
|
||||
$attribs = array();
|
||||
$attribs['style'] = 'none';
|
||||
|
||||
$this->modulesbar[] = JModuleHelper::renderModule($moduleBar, $attribs);
|
||||
}
|
||||
}
|
||||
|
||||
$modulesTop = $this->getModulesFromPosition('mobilemenuck-top');
|
||||
if (! empty($modulesTop)) {
|
||||
foreach ($modulesTop as $moduleTop) {
|
||||
$attribs = array();
|
||||
$attribs['style'] = 'none';
|
||||
|
||||
$this->modulestop[] = JModuleHelper::renderModule($moduleTop, $attribs);
|
||||
}
|
||||
}
|
||||
|
||||
$modulesBottom = $this->getModulesFromPosition('mobilemenuck-bottom');
|
||||
if (! empty($modulesBottom)) {
|
||||
foreach ($modulesBottom as $moduleBottom) {
|
||||
$attribs = array();
|
||||
$attribs['style'] = 'none';
|
||||
|
||||
$this->modulesbottom[] = JModuleHelper::renderModule($moduleBottom, $attribs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the fonts only if not already registered by another extension
|
||||
*/
|
||||
public function loadCustomGoogleFontsList() {
|
||||
global $ckcustomgooglefontslist;
|
||||
|
||||
if (! empty($ckcustomgooglefontslist)) {
|
||||
$doc = JFactory::getDocument();
|
||||
foreach ($ckcustomgooglefontslist as $ckcustomgooglefont) {
|
||||
$doc->addStylesheet('//fonts.googleapis.com/css?family=' . $ckcustomgooglefont);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function loadMobileMenus() {
|
||||
$db = JFactory::getDbo();
|
||||
$query = $db->getQuery(true)
|
||||
->select('*')
|
||||
->from('#__mobilemenuck_menus')
|
||||
->where('state = 1');
|
||||
|
||||
$db->setQuery($query);
|
||||
$menus = $db->loadObjectList();
|
||||
|
||||
if (! empty($menus)) {
|
||||
include_once('helpers/helper.php');
|
||||
include_once('helpers/menu.php');
|
||||
include_once('helpers/function.php');
|
||||
}
|
||||
foreach ($menus as $menu) {
|
||||
if ($menu->params) {
|
||||
$params = new JRegistry(unserialize($menu->params));
|
||||
}
|
||||
|
||||
// if no selector given, continue because the menu can not work
|
||||
if (! $params->get('selector', '')) continue;
|
||||
|
||||
// get the language
|
||||
$this->loadLanguage();
|
||||
|
||||
$styleid = $menu->style;
|
||||
$id = $params->get('menuid', 'mobilemenuck-' . (int) (microtime(true) * 100));
|
||||
if ($styleid) {
|
||||
$styles = \Mobilemenuck\Helper::getStyleById($styleid, 'params,layoutcss,state', 'object');
|
||||
if ($styles->state == '1') {
|
||||
// $module->mobilemenuck_params = new JRegistry($styles->params);
|
||||
$layoutcss = $styles->layoutcss;
|
||||
\Mobilemenuck\Helper::makeCssReplacement($layoutcss);
|
||||
|
||||
// $fieldcss = str_replace('|ID|', '.mobilemenuck.' . $fieldClass, $fieldcss);
|
||||
$layoutcss = str_replace('|ID|', '[data-id="' . $id . '"]', $layoutcss);
|
||||
// $layoutcss = str_replace('|ID|', '', $layoutcss);
|
||||
// $fieldcss = str_replace('.fields-container', '.fields-container.' . $fieldClass, $fieldcss);
|
||||
// $fieldcss = str_replace('"field-entry"]', '"field-entry"].' . $fieldClass, $fieldcss);
|
||||
|
||||
// $this->styles[$id] = $layoutcss;
|
||||
include_once('helpers/' . MOBILEMENUCK_PLATFORM . '/loader.php');
|
||||
\Mobilemenuck\CKLoader::loadStyleDeclaration($layoutcss);
|
||||
}
|
||||
} else {
|
||||
$layoutcss = $this->getLayoutCss();
|
||||
\Mobilemenuck\Helper::makeCssReplacement($layoutcss);
|
||||
$layoutcss = str_replace('|ID|', '[data-id="' . $id . '"]', $layoutcss);
|
||||
// $this->styles[$id] = $layoutcss;
|
||||
include_once('helpers/' . MOBILEMENUCK_PLATFORM . '/loader.php');
|
||||
\Mobilemenuck\CKLoader::loadStyleDeclaration($layoutcss);
|
||||
}
|
||||
|
||||
// create a unique ID for the menu
|
||||
// $menuid = 'mobilemenuck-' . (int) (microtime(true) * 100);
|
||||
$menubarbuttoncontent = '≡';
|
||||
$topbarbuttoncontent = '×';
|
||||
if ($styleid) {
|
||||
// $styleParams = json_decode(\Mobilemenuck\Helper::getStyleById($styleid, 'a.params'));
|
||||
|
||||
// $menubarbuttoncontent = \Mobilemenuck\Menu::getButtonContent($styleParams->menubarbuttoncontent, $styleParams);
|
||||
// $topbarbuttoncontent = \Mobilemenuck\Menu::getButtonContent($styleParams->topbarbuttoncontent, $styleParams);
|
||||
}
|
||||
|
||||
\Mobilemenuck\Menu::load($params->get('selector', ''),
|
||||
array(
|
||||
'menuid' => $id
|
||||
,'menubarbuttoncontent' => $menubarbuttoncontent
|
||||
,'topbarbuttoncontent' => $topbarbuttoncontent
|
||||
,'showmobilemenutext' => $params->get('showmobilemenutext', 'default')
|
||||
,'mobilemenutext' => JText::_($params->get('mobilemenutext', 'PLG_MOBILEMENUCK_MENU'))
|
||||
,'container' => $params->get('container', 'body')
|
||||
,'detectiontype' => $params->get('detectiontype', 'resolution')
|
||||
,'resolution' => $params->get('resolution', '640')
|
||||
,'usemodules' => $params->get('usemodules', '0')
|
||||
,'useimages' => $params->get('useimages', '0')
|
||||
,'showlogo' => $params->get('showlogo', '1')
|
||||
,'showdesc' => $params->get('showdesc', '0')
|
||||
,'displaytype' => $params->get('displaytype', 'accordion')
|
||||
,'displayeffect' => $params->get('displayeffect', 'normal')
|
||||
,'menuwidth' => $params->get('menuwidth', '300')
|
||||
,'openedonactiveitem' => $params->get('openedonactiveitem', '0')
|
||||
,'mobilebackbuttontext' => JText::_($params->get('mobilebackbuttontext', 'PLG_MOBILEMENUCK_MOBILEBACKBUTTON'))
|
||||
,'menuselector' => $params->get('menuselector', 'ul')
|
||||
,'childselector' => $params->get('childselector', 'li')
|
||||
,'beforetext' => addslashes($params->get('beforetext', ''))
|
||||
,'aftertext' => addslashes($params->get('aftertext', ''))
|
||||
// // Logo options
|
||||
,'logo_where' => implode(',', $params->get('logo_where', array(0 => '1'), 'array')) // 1, 2, 3
|
||||
,'logo_source' => $params->get('logo_source', 'maximenuck') // maximenuck, custom
|
||||
,'logo_image' => $params->get('logoimage', '') // the image src
|
||||
,'logo_link' => $params->get('logolink', '') // the link url
|
||||
,'logo_alt' => $params->get('logoalt', '') // the alt tag
|
||||
,'logo_position' => $params->get('logoposition', 'left') // left, center, right
|
||||
,'logo_width' => $params->get('logowidth', '') // image width
|
||||
,'logo_height' => $params->get('logoheight', '') // image height
|
||||
,'logo_margintop' => $params->get('logomargintop', '') // margin top
|
||||
,'logo_marginright' => $params->get('logomarginright', '') // margin right
|
||||
,'logo_marginbottom' => $params->get('logomarginbottom', '') // margin bototm
|
||||
,'logo_marginleft' => $params->get('logomarginleft', '') // margin left
|
||||
,'lock_button' => $params->get('lock_button', '0')
|
||||
,'lock_forced' => $params->get('lock_forced', '0')
|
||||
,'topfixedeffect' => $params->get('topfixedeffect', 'always')
|
||||
,'accordion_use_effects' => $params->get('accordion_use_effects', '0')
|
||||
,'accordion_toggle' => $params->get('accordion_toggle', '0')
|
||||
,'show_icons' => $params->get('show_icons', '1')
|
||||
,'counter' => $params->get('mobilemenuck_counter', '0')
|
||||
,'hide_desktop' => $params->get('mobilemenuck_hide_desktop', '1')
|
||||
,'overlay' => $params->get('mobilemenuck_overlay', '0')
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public static function getLayoutCss() {
|
||||
$doc = JFactory::getDocument();
|
||||
$overrideSrc = null;
|
||||
if (isset($doc->template) && $doc->template) {
|
||||
$template = $doc->template;
|
||||
} else {
|
||||
$db = JFactory::getDBO();
|
||||
$query = "SELECT template FROM #__template_styles WHERE client_id = 0 AND home = 1";
|
||||
$db->setQuery($query);
|
||||
$template = $db->loadResult();
|
||||
}
|
||||
$overrideSrc = JPATH_ROOT . '/templates/' . $template . '/css/mobilemenuck.css';
|
||||
$overrideSrc2 = JPATH_ROOT . '/media/templates/site/' . $template . '/css/mobilemenuck.css';
|
||||
if (file_exists($overrideSrc)) {
|
||||
$layoutcss = file_get_contents($overrideSrc);
|
||||
} else if (file_exists($overrideSrc2)) {
|
||||
$layoutcss = file_get_contents($overrideSrc2);
|
||||
} else {
|
||||
$layoutcss = file_get_contents(MOBILEMENUCK_PATH . '/default.txt');
|
||||
}
|
||||
|
||||
return $layoutcss;
|
||||
}
|
||||
}
|
||||
50
plugins/system/mobilemenuck/mobilemenuck.xml
Normal file
50
plugins/system/mobilemenuck/mobilemenuck.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension
|
||||
type="plugin"
|
||||
version="3"
|
||||
group="system"
|
||||
method="upgrade">
|
||||
<name>System - Mobile Menu CK</name>
|
||||
<author>Cédric KEIFLIN</author>
|
||||
<creationDate>September 2018</creationDate>
|
||||
<copyright>Cédric KEIFLIN</copyright>
|
||||
<license>GNU/GPL 3 http://www.gnu.org/licenses/gpl.html</license>
|
||||
<authorEmail>ced1870@gmail.com</authorEmail>
|
||||
<authorUrl>https://www.joomlack.fr</authorUrl>
|
||||
<version>1.5.15</version>
|
||||
<description>PLG_MOBILEMENUCK_XML_DESC</description>
|
||||
<files>
|
||||
<file plugin="mobilemenuck">mobilemenuck.php</file>
|
||||
<filename>default.txt</filename>
|
||||
<filename>defines.php</filename>
|
||||
<folder>elements</folder>
|
||||
<folder>helpers</folder>
|
||||
<folder>language</folder>
|
||||
<folder>params</folder>
|
||||
</files>
|
||||
<media folder="media" destination="plg_system_mobilemenuck">
|
||||
<folder>assets</folder>
|
||||
</media>
|
||||
<languages folder="language">
|
||||
<language tag="en-GB">en-GB/en-GB.plg_system_mobilemenuck.ini</language>
|
||||
<language tag="en-GB">en-GB/en-GB.plg_system_mobilemenuck.sys.ini</language>
|
||||
<language tag="fr-FR">fr-FR/fr-FR.plg_system_mobilemenuck.ini</language>
|
||||
<language tag="fr-FR">fr-FR/fr-FR.plg_system_mobilemenuck.sys.ini</language>
|
||||
</languages>
|
||||
<config>
|
||||
<fields name="params">
|
||||
<fieldset name="basic" addfieldpath="/plugins/system/mediabox_ck/elements">
|
||||
<field
|
||||
name="include_meta"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="MOBILEMENUCK_INCLUDE_META"
|
||||
class="btn-group"
|
||||
>
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</config>
|
||||
</extension>
|
||||
1
plugins/system/mobilemenuck/params/index.html
Normal file
1
plugins/system/mobilemenuck/params/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<form>
|
||||
<fields name="params">
|
||||
<fieldset name="mobilemenuck_itemparams" label="PLG_MOBILEMENUCK_FIELDSET_LABEL">
|
||||
<field
|
||||
name="mobilemenuck_icontype"
|
||||
type="list"
|
||||
default="image"
|
||||
label="PLG_MOBILEMENUCK_ICONTYPE_LABEL"
|
||||
class="btn-group" >
|
||||
<option value="image">PLG_MOBILEMENUCK_ICONTYPE_IMAGE</option>
|
||||
<option value="css">PLG_MOBILEMENUCK_ICONTYPE_CSS</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_icon"
|
||||
type="media"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MOBILEICON_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILEICON_DESC"
|
||||
showon="mobilemenuck_icontype:image"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_iconsvg"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MOBILEICONSVG_LABEL"
|
||||
showon="mobilemenuck_icontype:svg"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_iconcss"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MOBILEICONCSS_LABEL"
|
||||
showon="mobilemenuck_icontype:css"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_textreplacement"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MOBILETEXTREPLACEMENT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILETEXTREPLACEMENT_DESC"
|
||||
icon="text_signature.png" />
|
||||
<field
|
||||
name="mobilemenuck_enablemobile"
|
||||
type="radio"
|
||||
default="1"
|
||||
label="PLG_MOBILEMENUCK_ENABLEMOBILE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_ENABLEMOBILE_DESC"
|
||||
icon="phone.png"
|
||||
class="btn-group" >
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</form>
|
||||
510
plugins/system/mobilemenuck/params/mobilemenuck_params.xml
Normal file
510
plugins/system/mobilemenuck/params/mobilemenuck_params.xml
Normal file
@@ -0,0 +1,510 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<form>
|
||||
<fields name="params">
|
||||
<fieldset name="mobilemenuck" label="PLG_MOBILEMENUCK_PARAMS_FIELDSET_LABEL">
|
||||
<field
|
||||
name="mobilemenuck_info"
|
||||
type="mobilemenuckinfo"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_enable"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_ENABLE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_ENABLE_DESC"
|
||||
class="btn-group"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_styles"
|
||||
type="mobilemenuckicon"
|
||||
label="PLG_MOBILEMENUCK_SELECT_STYLE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_SELECT_STYLE_DESC"
|
||||
default=""
|
||||
showon=""
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_merge"
|
||||
type="ckmoduleselect"
|
||||
label="PLG_MOBILEMENUCK_MERGE_WITH_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MERGE_WITH_DESC"
|
||||
default=""
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_detectiontype"
|
||||
type="list"
|
||||
default="resolution"
|
||||
label="PLG_MOBILEMENUCK_DETECTIONTYPE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_DETECTIONTYPE_DESC"
|
||||
icon="application_form_magnify.png"
|
||||
>
|
||||
<option value="resolution">PLG_MOBILEMENUCK_RESOLUTION</option>
|
||||
<option value="tablet">PLG_MOBILEMENUCK_TABLET</option>
|
||||
<option value="phone">PLG_MOBILEMENUCK_PHONE</option>
|
||||
<option value="all">PLG_MOBILEMENUCK_ALL_DEVICES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_resolution"
|
||||
type="text"
|
||||
label="PLG_MOBILEMENUCK_MOBILERESOLUTION_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILERESOLUTION_DESC"
|
||||
icon="width.png"
|
||||
suffix="px"
|
||||
default="640"
|
||||
showon="mobilemenuck_detectiontype:resolution"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_container"
|
||||
type="list"
|
||||
default="body"
|
||||
label="PLG_MOBILEMENUCK_CONTAINER_LABEL"
|
||||
description="PLG_MOBILEMENUCK_CONTAINER_DESC"
|
||||
icon="application_side_list.png"
|
||||
>
|
||||
<option value="body">PLG_MOBILEMENUCK_BODY</option>
|
||||
<option value="menucontainer">PLG_MOBILEMENUCK_MENUCONTAINER</option>
|
||||
<option value="topfixed">PLG_MOBILEMENUCK_TOPFIXED</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_topfixedeffect"
|
||||
type="list"
|
||||
default="always"
|
||||
label="PLG_MOBILEMENUCK_TOPFIXED_EFFECT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_TOPFIXED_EFFECT_DESC"
|
||||
showon="mobilemenuck_container:topfixed"
|
||||
>
|
||||
<option value="always">PLG_MOBILEMENUCK_ALWAYS</option>
|
||||
<option value="onscroll">PLG_MOBILEMENUCK_ONSCROLL</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_displayeffect"
|
||||
type="list"
|
||||
default="normal"
|
||||
label="PLG_MOBILEMENUCK_DISPLAYEFFECT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_DISPLAYEFFECT_DESC"
|
||||
icon="chart_curve.png"
|
||||
>
|
||||
<option value="normal">PLG_MOBILEMENUCK_NORMAL</option>
|
||||
<option value="slideleft">PLG_MOBILEMENUCK_SLIDELEFT</option>
|
||||
<option value="slideright">PLG_MOBILEMENUCK_SLIDERIGHT</option>
|
||||
<option value="slideleftover">PLG_MOBILEMENUCK_SLIDELEFT_OVER</option>
|
||||
<option value="sliderightover">PLG_MOBILEMENUCK_SLIDERIGHT_OVER</option>
|
||||
<option value="topfixed">PLG_MOBILEMENUCK_TOPFIXED</option>
|
||||
<option value="open">PLG_MOBILEMENUCK_OPEN_SLIDE</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_menuwidth"
|
||||
type="text"
|
||||
default="300"
|
||||
label="PLG_MOBILEMENUCK_MOBILEMENUWIDTH_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILEMENUWIDTH_DESC"
|
||||
icon="width.png"
|
||||
showon="mobilemenuck_displayeffect:slideleft,slideright,slideleftover,sliderightover"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_displaytype"
|
||||
type="list"
|
||||
default="accordion"
|
||||
label="PLG_MOBILEMENUCK_DISPLAYTYPE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_DISPLAYTYPE_DESC"
|
||||
icon="application_view_list.png"
|
||||
>
|
||||
<option value="flat">PLG_MOBILEMENUCK_FLAT</option>
|
||||
<option value="accordion">PLG_MOBILEMENUCK_ACCORDION</option>
|
||||
<option value="fade">PLG_MOBILEMENUCK_FADELEVELS</option>
|
||||
<option value="push">PLG_MOBILEMENUCK_PUSHLEVELS</option>
|
||||
<option value="flyout">PLG_MOBILEMENUCK_FLYOUT</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_openedonactiveitem"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_OPENED_ON_ACTIVE_ITEM_LABEL"
|
||||
description="PLG_MOBILEMENUCK_OPENED_ON_ACTIVE_ITEM_DESC"
|
||||
class="btn-group"
|
||||
icon="chart_organisation_add.png"
|
||||
showon="mobilemenuck_displaytype:accordion"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_accordion_use_effects"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_ACCORDION_EFFECT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_ACCORDION_EFFECT_DESC"
|
||||
class="btn-group"
|
||||
showon="mobilemenuck_displaytype:accordion"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_accordion_toggle"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_ACCORDION_TOGGLE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_ACCORDION_TOGGLE_DESC"
|
||||
class="btn-group"
|
||||
showon="mobilemenuck_displaytype:accordion"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_tooglebarevent"
|
||||
type="list"
|
||||
default="click"
|
||||
label="PLG_MOBILEMENUCK_TOGGLE_BAR_EVENT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_TOGGLE_BAR_EVENT_DESC"
|
||||
icon="application_view_list.png"
|
||||
>
|
||||
<option value="click">PLG_MOBILEMENUCK_CLICK</option>
|
||||
<option value="mouseover">PLG_MOBILEMENUCK_MOUSEOVER</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_tooglebaron"
|
||||
type="list"
|
||||
default="all"
|
||||
label="PLG_MOBILEMENUCK_TOGGLE_BAR_ON_LABEL"
|
||||
description="PLG_MOBILEMENUCK_TOGGLE_BAR_ON_DESC"
|
||||
icon="application_view_list.png"
|
||||
>
|
||||
<option value="all">PLG_MOBILEMENUCK_FULL_BAR</option>
|
||||
<option value="button">PLG_MOBILEMENUCK_ONLY8BUTTON</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_useimages"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_MOBILEUSEIMAGE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILEUSEIMAGE_DESC"
|
||||
class="btn-group"
|
||||
icon="application_view_gallery.png"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_usemodules"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_MOBILEUSEMODULE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILEUSEMODULE_DESC"
|
||||
class="btn-group"
|
||||
icon="application_form.png"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_showdesc"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_SHOWDESC_LABEL"
|
||||
description="PLG_MOBILEMENUCK_SHOWDESC_DESC"
|
||||
class="btn-group"
|
||||
icon="application_view_list.png"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_lock_button"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_LOCK_BUTTON_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOCK_BUTTON_DESC"
|
||||
class="btn-group"
|
||||
showon="mobilemenuck_lock_forced:0"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_lock_forced"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_LOCK_FORCED_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOCK_FORCED_DESC"
|
||||
class="btn-group"
|
||||
showon="mobilemenuck_lock_button:0"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_counter"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_COUNTER_LABEL"
|
||||
class="btn-group"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_hide_desktop"
|
||||
type="radio"
|
||||
default="1"
|
||||
label="PLG_MOBILEMENUCK_HIDE_DESKTOP_LABEL"
|
||||
class="btn-group"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_overlay"
|
||||
type="radio"
|
||||
default="1"
|
||||
label="PLG_MOBILEMENUCK_OVERLAY_LABEL"
|
||||
class="btn-group"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_overlay_color"
|
||||
type="color"
|
||||
default="#000000"
|
||||
label="PLG_MOBILEMENUCK_OVERLAY_COLOR_LABEL"
|
||||
showon="mobilemenuck_overlay:1"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_overlay_opacity"
|
||||
type="text"
|
||||
default="0.3"
|
||||
label="PLG_MOBILEMENUCK_OVERLAY_OPACITY_LABEL"
|
||||
showon="mobilemenuck_overlay:1"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_iconspacer"
|
||||
type="mobilemenuckspacer"
|
||||
label="PLG_MOBILEMENUCK_ICONS_LABEL"
|
||||
style="title"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_icononlypro"
|
||||
type="mobilemenuckonlypro"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_icon_video"
|
||||
type="mobilemenuckvideo"
|
||||
url="https://youtu.be/D_6exvwX8wQ"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_show_icons"
|
||||
type="radio"
|
||||
default="0"
|
||||
label="PLG_MOBILEMENUCK_SHOW_ICONS_LABEL"
|
||||
class="btn-group"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_icon_width"
|
||||
type="text"
|
||||
default="32px"
|
||||
label="PLG_MOBILEMENUCK_ICON_WIDTH_LABEL"
|
||||
showon="mobilemenuck_show_icons:1"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_icon_height"
|
||||
type="text"
|
||||
default="32px"
|
||||
label="PLG_MOBILEMENUCK_ICON_HEIGHT_LABEL"
|
||||
showon="mobilemenuck_show_icons:1"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_icon_margin"
|
||||
type="text"
|
||||
default="5px"
|
||||
label="PLG_MOBILEMENUCK_ICON_MARGIN_LABEL"
|
||||
showon="mobilemenuck_show_icons:1"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_textspacer"
|
||||
type="mobilemenuckspacer"
|
||||
label="PLG_MOBILEMENUCK_TEXT_LABEL"
|
||||
style="title"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_showmobilemenutext"
|
||||
type="list"
|
||||
default="default"
|
||||
label="PLG_MOBILEMENUCK_SHOWMOBILEMENUTEXT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_SHOWMOBILEMENUTEXT_DESC"
|
||||
icon="font.png"
|
||||
>
|
||||
<option value="default">PLG_MOBILEMENUCK_DEFAULTTEXT</option>
|
||||
<option value="custom">PLG_MOBILEMENUCK_CUSTOMTEXT</option>
|
||||
<option value="none">PLG_MOBILEMENUCK_NONE</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_mobilemenutext"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MOBILEMENUTEXT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MOBILEMENUTEXT_DESC"
|
||||
icon="text_signature.png"
|
||||
showon="mobilemenuck_showmobilemenutext:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_beforetext"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_BEFORETEXT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_BEFORETEXT_DESC"
|
||||
icon="text_signature.png"
|
||||
filter="raw"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_aftertext"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_AFTERTEXT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_AFTERTEXT_DESC"
|
||||
icon="text_signature.png"
|
||||
filter="raw"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logospacer"
|
||||
type="mobilemenuckspacer"
|
||||
label="PLG_MOBILEMENUCK_LOGO_LABEL"
|
||||
style="title"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_showlogo"
|
||||
type="list"
|
||||
default="1"
|
||||
label="PLG_MOBILEMENUCK_SHOWLOGO_LABEL"
|
||||
description="PLG_MOBILEMENUCK_SHOWLOGO_DESC"
|
||||
icon="image.png"
|
||||
>
|
||||
<option value="0">JNO</option>
|
||||
<option value="1">JYES</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_logo_where"
|
||||
type="list"
|
||||
multiple="true"
|
||||
default="1"
|
||||
label="PLG_MOBILEMENUCK_LOGO_WHERE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGO_WHERE_DESC"
|
||||
icon="image.png"
|
||||
showon="mobilemenuck_showlogo!:0"
|
||||
>
|
||||
<option value="1">PLG_MOBILEMENUCK_SHOWLOGO_MOBILE</option>
|
||||
<option value="2">PLG_MOBILEMENUCK_SHOWLOGO_MENUBAR</option>
|
||||
<option value="3">PLG_MOBILEMENUCK_SHOWLOGO_TOPBAR</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_logo_source"
|
||||
type="list"
|
||||
default="maximenuck"
|
||||
label="PLG_MOBILEMENUCK_LOGO_SOURCE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGO_SOURCE_DESC"
|
||||
icon="image.png"
|
||||
showon="mobilemenuck_showlogo!:0"
|
||||
>
|
||||
<option value="maximenuck">Maximenu CK</option>
|
||||
<option value="custom">PLG_MOBILEMENUCK_CUSTOM_LOGO</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_logoimage"
|
||||
type="media"
|
||||
icon="image.png"
|
||||
label="PLG_MOBILEMENUCK_LOGOIMAGE_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGOIMAGE_DESC"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logolink"
|
||||
type="text"
|
||||
icon="link_go.png"
|
||||
label="PLG_MOBILEMENUCK_LOGOLINK_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGOLINK_DESC"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logoalt"
|
||||
type="text"
|
||||
icon="font.png"
|
||||
label="PLG_MOBILEMENUCK_LOGOALT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGOALT_DESC"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logoposition"
|
||||
type="list"
|
||||
default="left"
|
||||
label="PLG_MOBILEMENUCK_LOGOPOSITION_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGOPOSITION_DESC"
|
||||
icon="arrow_direction.png"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
>
|
||||
<option value="left">PLG_MOBILEMENUCK_LEFT</option>
|
||||
<option value="center">PLG_MOBILEMENUCK_CENTER</option>
|
||||
<option value="right">PLG_MOBILEMENUCK_RIGHT</option>
|
||||
</field>
|
||||
<field
|
||||
name="mobilemenuck_logowidth"
|
||||
type="text"
|
||||
label="PLG_MOBILEMENUCK_LOGOWIDTH_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGOWIDTH_DESC"
|
||||
icon="width.png"
|
||||
suffix="px"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logoheight"
|
||||
type="text"
|
||||
label="PLG_MOBILEMENUCK_LOGOHEIGHT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_LOGOHEIGHT_DESC"
|
||||
icon="height.png"
|
||||
suffix="px"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logomargintop"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MARGINTOP_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MARGINTOP_DESC"
|
||||
icon="margin_top.png"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logomarginright"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MARGINRIGHT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MARGINRIGHT_DESC"
|
||||
icon="margin_right.png"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logomarginbottom"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MARGINBOTTOM_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MARGINBOTTOM_DESC"
|
||||
icon="margin_bottom.png"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
<field
|
||||
name="mobilemenuck_logomarginleft"
|
||||
type="text"
|
||||
default=""
|
||||
label="PLG_MOBILEMENUCK_MARGINLEFT_LABEL"
|
||||
description="PLG_MOBILEMENUCK_MARGINLEFT_DESC"
|
||||
icon="margin_left.png"
|
||||
showon="mobilemenuck_showlogo!:0[AND]mobilemenuck_logo_source:custom"
|
||||
/>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</form>
|
||||
Reference in New Issue
Block a user