function loadLanguage($extension, $admin = 1) { if (!$extension) { return; } RLFunctions::loadLanguage($extension, $admin ? JPATH_ADMINISTRATOR : JPATH_SITE); }
function clean() { if (!$this->type) { return; } // Load language for messaging RLFunctions::loadLanguage('mod_cachecleaner'); $this->purgeCache(); // only handle messages in html if (JFactory::getDocument()->getType() != 'html') { return false; } $error = $this->helpers->getParams()->error; if ($error) { $message = JText::_('CC_NOT_ALL_CACHE_COULD_BE_REMOVED'); $message .= $this->helpers->getParams()->error !== true ? '<br>' . $this->helpers->getParams()->error : ''; } else { $message = $this->helpers->getParams()->message ?: JText::_('CC_CACHE_CLEANED'); if ($this->params->show_size && $this->helpers->getParams()->size) { $message .= ' (' . $this->helpers->get('cache')->getSize() . ')'; } } if (JFactory::getApplication()->input->getInt('break')) { echo (!$error ? '+' : '') . str_replace('<br>', ' - ', $message); die; } if ($this->show_message && $message) { JFactory::getApplication()->enqueueMessage($message, $error ? 'error' : 'message'); } }
protected function getInput() { $this->params = $this->element->attributes(); $size = (int) $this->get('size'); $multiple = $this->get('multiple', 0); RLFunctions::loadLanguage('com_menus', JPATH_ADMINISTRATOR); $options = $this->getMenuItems(); require_once dirname(__DIR__) . '/helpers/html.php'; return RLHtml::selectlist($options, $this->name, $this->value, $this->id, $size, $multiple); }
function render() { if (!isset($this->params->display_link)) { return; } require_once JPATH_LIBRARIES . '/regularlabs/helpers/functions.php'; require_once JPATH_LIBRARIES . '/regularlabs/helpers/text.php'; // load the admin language file RLFunctions::loadLanguage('mod_cachecleaner'); $script = "\n\t\t\tvar cachecleaner_base = '" . JUri::base(true) . "';\n\t\t\tvar cachecleaner_root = '" . JUri::root() . "';\n\t\t\tvar cachecleaner_msg_clean = '" . addslashes(RLText::html_entity_decoder(JText::_('CC_CLEANING_CACHE'))) . "';\n\t\t\tvar cachecleaner_msg_inactive = '" . addslashes(RLText::html_entity_decoder(JText::sprintf('CC_SYSTEM_PLUGIN_NOT_ENABLED', '<a href="index.php?option=com_plugins&filter_type=system&filter_folder=system&search=cache cleaner&filter_search=cache cleaner">', '</a>'))) . "';\n\t\t\tvar cachecleaner_msg_failure = '" . addslashes(RLText::html_entity_decoder(JText::_('CC_CACHE_COULD_NOT_BE_CLEANED'))) . "';"; JFactory::getDocument()->addScriptDeclaration($script); RLFunctions::script('regularlabs/script.min.js'); RLFunctions::script('cachecleaner/script.min.js', '5.2.0'); RLFunctions::stylesheet('regularlabs/style.min.css'); RLFunctions::stylesheet('cachecleaner/style.min.css', '5.2.0'); $text_ini = strtoupper(str_replace(' ', '_', $this->params->icon_text)); $text = JText::_($text_ini); if ($text == $text_ini) { $text = JText::_($this->params->icon_text); } if ($this->params->display_toolbar_button) { // Generate html for toolbar button $html = array(); $html[] = '<a href="javascript:;" onclick="return false;" class="btn btn-small cachecleaner_link">'; $html[] = '<span class="icon-reglab icon-cachecleaner"></span> '; $html[] = $text; $html[] = '</a>'; $toolbar = JToolBar::getInstance('toolbar'); $toolbar->appendButton('Custom', implode('', $html)); } // Generate html for status link $html = array(); $html[] = '<div class="btn-group cachecleaner">'; $html[] = '<a href="javascript:;" onclick="return false;" class="cachecleaner_link">'; if ($this->params->display_link != 'text') { $html[] = '<span class="icon-reglab icon-cachecleaner"></span> '; } if ($this->params->display_link != 'icon') { $html[] = $text; } $html[] = '</a>'; $html[] = '</div>'; echo implode('', $html); }
static function selectlist(&$options, $name, $value, $id, $size = 0, $multiple = 0, $simple = 0) { if (empty($options)) { return '<fieldset class="radio">' . JText::_('RL_NO_ITEMS_FOUND') . '</fieldset>'; } require_once __DIR__ . '/parameters.php'; $parameters = RLParameters::getInstance(); $params = $parameters->getPluginParams('regularlabs'); if (!is_array($value)) { $value = explode(',', $value); } $count = 0; if ($options != -1) { foreach ($options as $option) { $count++; if (isset($option->links)) { $count += count($option->links); } if ($count > $params->max_list_count) { break; } } } if ($options == -1 || $count > $params->max_list_count) { if (is_array($value)) { $value = implode(',', $value); } if (!$value) { $input = '<textarea name="' . $name . '" id="' . $id . '" cols="40" rows="5">' . $value . '</textarea>'; } else { $input = '<input type="text" name="' . $name . '" id="' . $id . '" value="' . $value . '" size="60">'; } return '<fieldset class="radio"><label for="' . $id . '">' . JText::_('RL_ITEM_IDS') . ':</label>' . $input . '</fieldset>'; } if (!$multiple) { $first_level = isset($options['0']->level) ? $options['0']->level : 0; foreach ($options as &$option) { if (!isset($option->level)) { continue; } $repeat = $option->level - $first_level > 0 ? $option->level - $first_level : 0; $option->text = str_repeat(' - ', $repeat) . $option->text; } $html = JHtml::_('select.genericlist', $options, $name, 'class="inputbox"', 'value', 'text', $value); return self::handlePreparedStyles($html); } $size = (int) $size ?: 300; if ($simple) { $attr = 'style="width: ' . $size . 'px"'; $attr .= $multiple ? ' multiple="multiple"' : ''; $html = JHtml::_('select.genericlist', $options, $name, trim($attr), 'value', 'text', $value, $id); return self::handlePreparedStyles($html); } require_once __DIR__ . '/functions.php'; RLFunctions::loadLanguage('com_modules', JPATH_ADMINISTRATOR); RLFunctions::script('regularlabs/multiselect.min.js'); RLFunctions::stylesheet('regularlabs/multiselect.min.css'); $html = array(); $html[] = '<div class="well well-small rl_multiselect" id="' . $id . '">'; $html[] = ' <div class="form-inline rl_multiselect-controls"> <span class="small">' . JText::_('JSELECT') . ': <a class="rl_multiselect-checkall" href="javascript:;">' . JText::_('JALL') . '</a>, <a class="rl_multiselect-uncheckall" href="javascript:;">' . JText::_('JNONE') . '</a>, <a class="rl_multiselect-toggleall" href="javascript:;">' . JText::_('RL_TOGGLE') . '</a> </span> <span class="width-20">|</span> <span class="small">' . JText::_('RL_EXPAND') . ': <a class="rl_multiselect-expandall" href="javascript:;">' . JText::_('JALL') . '</a>, <a class="rl_multiselect-collapseall" href="javascript:;">' . JText::_('JNONE') . '</a> </span> <span class="width-20">|</span> <span class="small">' . JText::_('JSHOW') . ': <a class="rl_multiselect-showall" href="javascript:;">' . JText::_('JALL') . '</a>, <a class="rl_multiselect-showselected" href="javascript:;">' . JText::_('RL_SELECTED') . '</a> </span> <span class="rl_multiselect-maxmin"> <span class="width-20">|</span> <span class="small"> <a class="rl_multiselect-maximize" href="javascript:;">' . JText::_('RL_MAXIMIZE') . '</a> <a class="rl_multiselect-minimize" style="display:none;" href="javascript:;">' . JText::_('RL_MINIMIZE') . '</a> </span> </span> <input type="text" name="rl_multiselect-filter" class="rl_multiselect-filter input-medium search-query pull-right" size="16" autocomplete="off" placeholder="' . JText::_('JSEARCH_FILTER') . '" aria-invalid="false" tabindex="-1"> </div> <div class="clearfix"></div> <hr class="hr-condensed">'; $o = array(); foreach ($options as $option) { $option->level = isset($option->level) ? $option->level : 0; $o[] = $option; if (isset($option->links)) { foreach ($option->links as $link) { $link->level = $option->level + (isset($link->level) ? $link->level : 1); $o[] = $link; } } } $html[] = '<ul class="rl_multiselect-ul" style="max-height:300px;min-width:' . $size . 'px;overflow-x: hidden;">'; $prevlevel = 0; foreach ($o as $i => $option) { if ($prevlevel < $option->level) { // correct wrong level indentations $option->level = $prevlevel + 1; $html[] = '<ul class="rl_multiselect-sub">'; } else { if ($prevlevel > $option->level) { $html[] = str_repeat('</li></ul>', $prevlevel - $option->level); } else { if ($i) { $html[] = '</li>'; } } } $labelclass = trim('pull-left ' . (isset($option->labelclass) ? $option->labelclass : '')); $html[] = '<li>'; $item = '<div class="' . trim('rl_multiselect-item pull-left ' . (isset($option->class) ? $option->class : '')) . '">'; if (isset($option->title)) { $labelclass .= ' nav-header'; } if (isset($option->title) && (!isset($option->value) || !$option->value)) { $item .= '<label class="' . $labelclass . '">' . $option->title . '</label>'; } else { $selected = in_array($option->value, $value) ? ' checked="checked"' : ''; $disabled = isset($option->disable) && $option->disable ? ' readonly="readonly" style="visibility:hidden"' : ''; $item .= '<input type="checkbox" class="pull-left" name="' . $name . '" id="' . $id . $option->value . '" value="' . $option->value . '"' . $selected . $disabled . '> <label for="' . $id . $option->value . '" class="' . $labelclass . '">' . $option->text . '</label>'; } $item .= '</div>'; $html[] = $item; if (!isset($o[$i + 1]) && $option->level > 0) { $html[] = str_repeat('</li></ul>', (int) $option->level); } $prevlevel = $option->level; } $html[] = '</ul>'; $html[] = ' <div style="display:none;" class="rl_multiselect-menu-block"> <div class="pull-left nav-hover rl_multiselect-menu"> <div class="btn-group"> <a href="#" data-toggle="dropdown" class="dropdown-toggle btn btn-micro"> <span class="caret"></span> </a> <ul class="dropdown-menu"> <li class="nav-header">' . JText::_('COM_MODULES_SUBITEMS') . '</li> <li class="divider"></li> <li class=""><a class="checkall" href="javascript:;"><span class="icon-checkbox"></span> ' . JText::_('JSELECT') . '</a> </li> <li><a class="uncheckall" href="javascript:;"><span class="icon-checkbox-unchecked"></span> ' . JText::_('COM_MODULES_DESELECT') . '</a> </li> <div class="rl_multiselect-menu-expand"> <li class="divider"></li> <li><a class="expandall" href="javascript:;"><span class="icon-plus"></span> ' . JText::_('RL_EXPAND') . '</a></li> <li><a class="collapseall" href="javascript:;"><span class="icon-minus"></span> ' . JText::_('RL_COLLAPSE') . '</a></li> </div> </ul> </div> </div> </div>'; $html[] = '</div>'; $html = implode('', $html); return self::handlePreparedStyles($html); }
/** * @package Regular Labs Library * @version 16.8.1269 * * @author Peter van Westen <*****@*****.**> * @link http://www.regularlabs.com * @copyright Copyright © 2016 Regular Labs All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ defined('_JEXEC') or die; jimport('joomla.filesystem.file'); if (JFactory::getApplication()->isAdmin() && JFile::exists(JPATH_LIBRARIES . '/regularlabs//helpers/functions.php')) { // load the Regular Labs Library language file require_once JPATH_LIBRARIES . '/regularlabs/helpers/functions.php'; RLFunctions::loadLanguage('plg_system_regularlabs'); } // If controller.php exists, assume this is K2 v3 define('RL_K2_VERSION', JFile::exists(JPATH_ADMINISTRATOR . '/components/com_k2/controller.php') ? 3 : 2); class PlgSystemRegularLabs extends JPlugin { public function onAfterRoute() { if (!JFile::exists(JPATH_LIBRARIES . '/regularlabs/helpers/functions.php')) { JFactory::getApplication()->enqueueMessage('The Regular Labs Library folder is missing or incomplete: ' . JPATH_LIBRARIES . '/regularlabs', 'error'); return; } $this->updateDownloadKey(); $this->loadSearchHelper(); $this->renderQuickPage(); }