uawdijnntqw1x1x1
IP : 216.73.217.142
Hostname : localhost.localdomain
Kernel : Linux localhost.localdomain 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
OS : Linux
PATH:
/
var
/
www
/
consult-e-syn
/
public_html
/
643de
/
.
/
..
/
.
/
dfef0
/
editors-xtd.tar
/
/
modulesanywhere/modulesanywhere.xml000077500000003511152160542320013721 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3" type="plugin" group="editors-xtd" method="upgrade"> <name>PLG_EDITORS-XTD_MODULESANYWHERE</name> <description>PLG_EDITORS-XTD_MODULESANYWHERE_DESC</description> <version>7.18.0PRO</version> <creationDate>September 2023</creationDate> <author>Regular Labs (Peter van Westen)</author> <authorEmail>info@regularlabs.com</authorEmail> <authorUrl>https://regularlabs.com</authorUrl> <copyright>Copyright © 2023 Regular Labs - All Rights Reserved</copyright> <license>GNU General Public License version 2 or later</license> <files> <file plugin="modulesanywhere">modulesanywhere.php</file> <file>popup.php</file> <file>helper.php</file> <folder>language</folder> </files> <config> <fields name="params" addfieldpath="/libraries/regularlabs/fields"> <fieldset name="basic"> <field name="@load_language_regularlabs" type="rl_loadlanguage" extension="plg_system_regularlabs"/> <field name="@load_language" type="rl_loadlanguage" extension="plg_editors-xtd_modulesanywhere"/> <field name="@license" type="rl_license" extension="MODULESANYWHERE"/> <field name="@version" type="rl_version" extension="MODULESANYWHERE"/> <field name="@dependency" type="rl_dependency" label="MA_THE_SYSTEM_PLUGIN" file="/plugins/system/modulesanywhere/modulesanywhere.xml"/> <field name="@header" type="rl_header" label="MODULESANYWHERE" description="MODULESANYWHERE_DESC" url="https://regularlabs.com/modulesanywhere"/> <field name="@note__settings" type="note" class="alert alert-info" description="MA_SETTINGS,<a href="index.php?option=com_plugins&filter_folder=system&filter_search=modules anywhere" target="_blank">,</a>"/> </fieldset> </fields> </config> </extension> modulesanywhere/popup.php000077500000055616152160542320011655 0ustar00<?php /** * @package Modules Anywhere * @version 7.18.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Access\Exception\NotAllowed as JAccessExceptionNotallowed; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\CMS\Pagination\Pagination as JPagination; use Joomla\Utilities\ArrayHelper as JArrayHelper; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\Language as RL_Language; use RegularLabs\Library\ParametersNew as RL_Parameters; use RegularLabs\Library\RegEx as RL_RegEx; use RegularLabs\Library\StringHelper as RL_String; $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ( $user->get('guest') || ( ! $user->authorise('core.edit', 'com_content') && ! $user->authorise('core.edit.own', 'com_content') && ! $user->authorise('core.create', 'com_content') ) ) { throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403); } $params = RL_Parameters::getPlugin('modulesanywhere'); if (RL_Document::isClient('site')) { if ( ! $params->enable_frontend) { throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403); } } (new PlgButtonModulesAnywherePopup)->render($params); class PlgButtonModulesAnywherePopup { public function render(&$params) { $app = JFactory::getApplication(); // load the admin language file RL_Language::load('plg_system_regularlabs'); RL_Language::load('plg_editors-xtd_modulesanywhere'); RL_Language::load('plg_system_modulesanywhere'); RL_Language::load('com_modules', JPATH_ADMINISTRATOR); RL_Document::loadPopupDependencies(); // Initialize some variables $db = JFactory::getDbo(); $query = $db->getQuery(true); $option = 'modulesanywhere'; $filter_order = $app->getUserStateFromRequest($option . 'filter_order', 'filter_order', 'm.position', 'string'); $filter_order_Dir = $app->getUserStateFromRequest($option . 'filter_order_Dir', 'filter_order_Dir', '', 'string'); $filter_state = $app->getUserStateFromRequest($option . 'filter_state', 'filter_state', '', 'string'); $filter_position = $app->getUserStateFromRequest($option . 'filter_position', 'filter_position', '', 'string'); $filter_type = $app->getUserStateFromRequest($option . 'filter_type', 'filter_type', '', 'string'); $filter_search = $app->getUserStateFromRequest($option . 'filter_search', 'filter_search', '', 'string'); $filter_search = RL_String::strtolower($filter_search); $limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->getCfg('list_limit'), 'int'); $limitstart = $app->getUserStateFromRequest('modulesanywhere_limitstart', 'limitstart', 0, 'int'); $where[] = 'm.client_id = 0'; // used by filter if ($filter_position) { if ($filter_position == 'none') { $where[] = 'm.position = ""'; } else { $where[] = 'm.position = ' . $db->quote($filter_position); } } if ($filter_type) { $where[] = 'm.module = ' . $db->quote($filter_type); } if ($filter_search) { $where[] = 'LOWER( m.title ) LIKE ' . $db->quote('%' . $db->escape($filter_search, true) . '%', false); } if ($filter_state != '') { $where[] = 'm.published = ' . $filter_state; } $where = implode(' AND ', $where); if ($filter_order == 'm.ordering') { $orderby = 'm.position, m.ordering ' . $filter_order_Dir; } else { $orderby = $filter_order . ' ' . $filter_order_Dir . ', m.ordering ASC'; } // get the total number of records $query->clear() ->select('COUNT(DISTINCT m.id)') ->from('#__modules AS m') ->join('LEFT', '#__users AS u ON u.id = m.checked_out') ->join('LEFT', '#__viewlevels AS g ON g.id = m.access') ->join('LEFT', '#__modules_menu AS mm ON mm.moduleid = m.id') ->where($where); $db->setQuery($query); $total = $db->loadResult(); jimport('joomla.html.pagination'); $pageNav = new JPagination($total, $limitstart, $limit); $query->clear() ->select('m.*, u.name AS editor, g.title AS groupname, MIN( mm.menuid ) AS pages') ->from('#__modules AS m') ->join('LEFT', '#__users AS u ON u.id = m.checked_out') ->join('LEFT', '#__viewlevels AS g ON g.id = m.access') ->join('LEFT', '#__modules_menu AS mm ON mm.moduleid = m.id') ->where($where) ->group('m.id') ->order($orderby) ->setLimit($pageNav->limit, $pageNav->limitstart); $db->setQuery($query); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return; } // get list of Positions for dropdown filter $query->clear() ->select('m.position AS value, m.position AS text') ->from('#__modules as m') ->where('m.client_id = 0') ->where('m.position != ""') ->group('m.position') ->order('m.position'); $db->setQuery($query); $positions = $db->loadObjectList(); array_unshift($positions, $options[] = JHtml::_('select.option', 'none', ':: ' . JText::_('JNONE') . ' ::')); array_unshift($positions, JHtml::_('select.option', '', JText::_('COM_MODULES_OPTION_SELECT_POSITION'))); $lists['position'] = JHtml::_('select.genericlist', $positions, 'filter_position', 'class="inputbox" size="1" onchange="this.form.submit()"', 'value', 'text', $filter_position); // get list of Types for dropdown filter $query->clear() ->select('e.element AS value, e.name AS text') ->from('#__extensions as e') ->where('e.client_id = 0') ->where('type = ' . $db->quote('module')) ->join('LEFT', '#__modules as m ON m.module = e.element AND m.client_id = e.client_id') ->where('m.module IS NOT NULL') ->group('e.element, e.name'); $db->setQuery($query); $types = $db->loadObjectList(); foreach ($types as $i => $type) { $extension = $type->value; $source = JPATH_SITE . '/modules/' . $extension; RL_Language::load($extension . '.sys', JPATH_SITE) || RL_Language::load($extension . '.sys', $source); $types[$i]->text = JText::_($type->text); } $types = JArrayHelper::sortObjects($types, 'text', 1, true, JFactory::getLanguage()->getLocale()); array_unshift($types, JHtml::_('select.option', '', JText::_('COM_MODULES_OPTION_SELECT_MODULE'))); $lists['type'] = JHtml::_('select.genericlist', $types, 'filter_type', 'class="inputbox" size="1" onchange="this.form.submit()"', 'value', 'text', $filter_type); // state filter $states = []; $states[] = JHtml::_('select.option', '', JText::_('JOPTION_SELECT_PUBLISHED')); $states[] = JHtml::_('select.option', '1', JText::_('JPUBLISHED')); $states[] = JHtml::_('select.option', '0', JText::_('JUNPUBLISHED')); $states[] = JHtml::_('select.option', '-2', JText::_('JTRASHED')); $lists['state'] = JHtml::_('select.genericlist', $states, 'filter_state', 'class="inputbox" size="1" onchange="this.form.submit()"', 'value', 'text', $filter_state); // table ordering $lists['order_Dir'] = $filter_order_Dir; $lists['order'] = $filter_order; // search filter $lists['filter_search'] = $filter_search; $this->outputHTML($params, $rows, $pageNav, $lists); } private function outputHTML(&$params, &$rows, &$page, &$lists) { $tag = explode(',', $params->module_tag); $tag = trim($tag[0]); $postag = explode(',', $params->modulepos_tag); $postag = trim($postag[0]); // Tag character start and end [$tag_start, $tag_end] = explode('.', $params->tag_characters); JHtml::_('behavior.tooltip'); JHtml::_('formbehavior.chosen', 'select'); $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); $editor = JFactory::getApplication()->input->getString('name', 'text'); // Remove any dangerous character to prevent cross site scripting $editor = RL_RegEx::replace('[\'\";\s]', '', $editor); ?> <div class="header"> <h1 class="page-title"> <span class="icon-reglab icon-modulesanywhere"></span> <?php echo JText::_('INSERT_MODULE'); ?> </h1> </div> <?php if (RL_Document::isClient('administrator') && $user->authorise('core.admin', 1)) : ?> <div class="subhead"> <div class="container-fluid"> <div class="btn-toolbar" id="toolbar"> <div class="btn-wrapper" id="toolbar-options"> <button onclick="window.open('index.php?option=com_plugins&filter_folder=system&filter_search=<?php echo JText::_('MODULESANYWHERE') ?>');" class="btn btn-small"> <span class="icon-options"></span> <?php echo JText::_('JOPTIONS') ?> </button> </div> </div> </div> </div> <?php endif; ?> <div style="margin-bottom: 20px"></div> <div class="container-fluid container-main"> <form action="" method="post" name="adminForm" id="adminForm"> <div class="alert alert-info"> <?php echo RL_String::html_entity_decoder(JText::_( 'MA_CLICK_ON_ONE_OF_THE_MODULES_LINKS,' . '<span class="rl-code">{module id="..."}</span>, ' . '<span class="rl-code">{module title="..."}</span> ' . strtolower(JText::_('JOR')) . ' <span class="rl-code">{modulepos position="..."}</span>' )); ?> </div> <div class="row-fluid form-vertical"> <div class="span12 well"> <?php if (count(explode(',', $params->styles)) > 1 || $params->styles != $params->style) : ?> <div class="control-group"> <label id="style-lbl" for="style" class="control-label"><?php echo JText::_('MA_MODULE_STYLE'); ?></label> <div class="controls"> <?php $style = JFactory::getApplication()->input->get('style'); if ( ! $style) { $style = $params->style; } ?> <select name="style" id="style" class="inputbox"> <?php foreach (explode(',', $params->styles) as $s) : ?> <option <?php echo ($s == $style) ? 'selected="selected"' : ''; ?> value="<?php echo $s; ?>"><?php echo $s; ?><?php echo ($s == $params->style) ? ' *' : ''; ?></option> <?php endforeach; ?> </select> </div> </div> <?php endif; ?> <div class="control-group"> <label id="showtitle-lbl" for="showtitle-field" class="control-label" rel="tooltip" title="<?php echo JText::_('COM_MODULES_FIELD_SHOWTITLE_DESC'); ?>"> <?php echo JText::_('COM_MODULES_FIELD_SHOWTITLE_LABEL'); ?> </label> <div class="controls"> <fieldset id="showtitle" class="radio btn-group"> <input type="radio" id="showtitle0" name="showtitle" value="" <?php echo $params->showtitle === '' ? 'checked="checked"' : ''; ?>> <label for="showtitle0"><?php echo JText::_('JDEFAULT'); ?></label> <input type="radio" id="showtitle1" name="showtitle" value="false" <?php echo $params->showtitle === '0' ? 'checked="checked"' : ''; ?>> <label for="showtitle1"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="showtitle2" name="showtitle" value="true" <?php echo $params->showtitle === '1' ? 'checked="checked"' : ''; ?>> <label for="showtitle2"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> </div> </div> <div id="filter-bar" class="btn-toolbar"> <div class="filter-search btn-group pull-left"> <label for="filter_search" class="element-invisible"><?php echo JText::_('COM_BANNERS_SEARCH_IN_TITLE'); ?></label> <input type="text" name="filter_search" id="filter_search" placeholder="<?php echo JText::_('COM_MODULES_MODULES_FILTER_SEARCH_DESC'); ?>" value="<?php echo $lists['filter_search']; ?>" title="<?php echo JText::_('COM_MODULES_MODULES_FILTER_SEARCH_DESC'); ?>"> </div> <div class="btn-group pull-left hidden-phone"> <button class="btn btn-default" type="submit" rel="tooltip" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>"> <span class="icon-search"></span></button> <button class="btn btn-default" type="button" rel="tooltip" title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.id('filter_search').value='';this.form.submit();"> <span class="icon-remove"></span></button> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['type']; ?> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['position']; ?> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['state']; ?> </div> </div> <table class="table table-striped"> <thead> <tr> <th width="1%" class="nowrap"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'm.id', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="1%" class="nowrap center"> <?php echo JHtml::_('grid.sort', 'JSTATUS', 'm.published', @$lists['order_Dir'], @$lists['order']); ?> </th> <th class="title"> <?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'm.title', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="15%" class="nowrap"> <?php echo JHtml::_('grid.sort', 'COM_MODULES_HEADING_POSITION', 'm.position', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="10%" class="nowrap hidden-phone"> <?php echo JHtml::_('grid.sort', 'COM_MODULES_HEADING_MODULE', 'm.module', @$lists['order_Dir'], @$lists['order']); ?> </th> </tr> </thead> <tfoot> <tr> <td colspan="8"> <?php echo $page->getListFooter(); ?> </td> </tr> </tfoot> <tbody> <?php $k = 0; for ($i = 0, $n = count($rows); $i < $n; $i++) { $row =& $rows[$i]; $id = $row->id; $title = htmlspecialchars($row->title); if ($params->add_title_to_id) { $id .= '#' . $title; } ?> <tr class="<?php echo "row$k"; ?>"> <td class="center"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('MA_USE_ID_IN_TAG') . '</strong><br>' . $tag_start . $tag . ' id="' . $row->id . '"' . $tag_end . '" onclick="modulesanywhere_jInsertEditorText( \'id\', \'' . addslashes($id) . '\' );return false;">' . $row->id . '</button>'; ?> </td> <td class="center"> <?php echo JHtml::_('jgrid.published', $row->published, $row->id, 'modules.', 0, 'cb', $row->publish_up, $row->publish_down); ?> </td> <td> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('MA_USE_TITLE_IN_TAG') . '</strong><br>' . $tag_start . $tag . ' title="' . htmlspecialchars($row->title) . '"' . $tag_end . '" onclick="modulesanywhere_jInsertEditorText( \'title\', \'' . addslashes($title) . '\' );return false;">' . $title . '</button>'; ?> <?php if ( ! empty($row->note)) : ?> <p class="smallsub"> <?php echo JText::sprintf('JGLOBAL_LIST_NOTE', htmlspecialchars($row->note)); ?></p> <?php endif; ?> </td> <td> <?php if ($row->position) : ?> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('MA_USE_MODULE_POSITION_TAG') . '</strong><br>' . $tag_start . $postag . ' position="' . $row->position . '"' . $tag_end . '" onclick="modulesanywhere_jInsertEditorText( \'position\', \'' . $row->position . '\' );return false;">' . $row->position . '</button>'; ?> <?php else : ?> <span class="label"> <?php echo JText::_('JNONE'); ?> </span> <?php endif; ?> </td> <td class="hidden-phone"> <?php echo $row->module ?: JText::_('User'); ?> </td> </tr> <?php $k = 1 - $k; } ?> </tbody> </table> <input type="hidden" name="name" value="<?php echo $editor; ?>"> <input type="hidden" name="filter_order" value="<?php echo $lists['order']; ?>"> <input type="hidden" name="filter_order_Dir" value="<?php echo $lists['order_Dir']; ?>"> </form> </div> <?php // Tag character start and end [$tag_start, $tag_end] = explode('.', $params->tag_characters); ?> <script type="text/javascript"> function modulesanywhere_jInsertEditorText(type, id) { (function($) { var t_start = '<?php echo addslashes($tag_start); ?>'; var t_end = '<?php echo addslashes($tag_end); ?>'; if (type == 'position') { str = t_start + '<?php echo $postag; ?> position="' + id + '"' + t_end; window.parent.jInsertEditorText(str, '<?php echo $editor; ?>'); window.parent.SqueezeBox.close(); } attribs = [type + '="' + id + '"']; <?php if (count(explode(',', $params->styles)) > 1 || $params->styles != $params->style) : ?> var style = $('select[name="style"]').val(); if (style && style != '<?php echo $params->style; ?>') { attribs.push('style="' + style + '"'); } <?php endif; ?> if ($('input[name="showtitle"]:checked').val()) { attribs.push('showtitle="' + $('input[name="showtitle"]:checked').val() + '"'); } str = t_start + '<?php echo $tag; ?> ' + attribs.join(' ') + t_end; window.parent.jInsertEditorText(str, '<?php echo $editor; ?>'); window.parent.SqueezeBox.close(); })(jQuery); } </script> <?php } } modulesanywhere/language/en-GB/en-GB.plg_editors-xtd_modulesanywhere.ini000077500000001541152160542320022433 0ustar00;; @package Modules Anywhere ;; @version 7.18.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_MODULESANYWHERE="Button - Regular Labs - Modules Anywhere" PLG_EDITORS-XTD_MODULESANYWHERE_DESC="Modules Anywhere - place modules anywhere in Joomla!" MODULESANYWHERE="Modules Anywhere" MODULE="Module" MODULESANYWHERE_DESC="This button makes inserting {module} tags easy!" MA_SETTINGS="Please see the [[%1:start link%]]Modules Anywhere system plugin[[%2:end link%]] for settings." MA_THE_SYSTEM_PLUGIN="the Modules Anywhere system plugin" modulesanywhere/language/en-GB/en-GB.plg_editors-xtd_modulesanywhere.sys.ini000077500000001142152160542320023245 0ustar00;; @package Modules Anywhere ;; @version 7.18.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_MODULESANYWHERE="Button - Regular Labs - Modules Anywhere" PLG_EDITORS-XTD_MODULESANYWHERE_DESC="Modules Anywhere - place modules anywhere in Joomla!" MODULESANYWHERE="Modules Anywhere" modulesanywhere/language/en-GB/.htaccess000044400000000177152160542320014233 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>modulesanywhere/language/fr-FR/fr-FR.plg_editors-xtd_modulesanywhere.ini000077500000001577152160542320022514 0ustar00;; @package Modules Anywhere ;; @version 7.18.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_MODULESANYWHERE="Bouton - Regular Labs - Modules Anywhere" PLG_EDITORS-XTD_MODULESANYWHERE_DESC="Modules Anywhere - place vos modules où vous le souhaitez dans Joomla!" MODULESANYWHERE="Modules Anywhere" MODULE="Module" MODULESANYWHERE_DESC="Ce bouton permet d'insérer les tags {module} facilement!" MA_SETTINGS="Regardez [[%1:start link%]]Modules Anywhere system plugin[[%2:end link%]] pour le configurer." MA_THE_SYSTEM_PLUGIN="le plugin système Modules Anywhere" modulesanywhere/language/fr-FR/fr-FR.plg_editors-xtd_modulesanywhere.sys.ini000077500000001165152160542320023322 0ustar00;; @package Modules Anywhere ;; @version 7.18.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_MODULESANYWHERE="Bouton - Regular Labs - Modules Anywhere" PLG_EDITORS-XTD_MODULESANYWHERE_DESC="Modules Anywhere - place vos modules où vous le souhaitez dans Joomla!" MODULESANYWHERE="Modules Anywhere" modulesanywhere/language/fr-FR/.htaccess000044400000000177152160542320014257 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>modulesanywhere/language/.htaccess000044400000000177152160542320013343 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>modulesanywhere/language/sr-YU/sr-YU.plg_editors-xtd_modulesanywhere.sys.ini000077500000001145152160542320023426 0ustar00;; @package Modules Anywhere ;; @version 7.13.5 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link http://regularlabs.com ;; @copyright Copyright © 2021 Regular Labs All Rights Reserved ;; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate ; PLG_EDITORS-XTD_MODULESANYWHERE="Button - Regular Labs - Modules Anywhere" PLG_EDITORS-XTD_MODULESANYWHERE_DESC="Modules Anywhere - postavite module bilo gde u Joomli!" MODULESANYWHERE="Modules Anywhere" modulesanywhere/language/sr-YU/sr-YU.plg_editors-xtd_modulesanywhere.ini000077500000001554152160542320022615 0ustar00;; @package Modules Anywhere ;; @version 7.13.5 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link http://regularlabs.com ;; @copyright Copyright © 2021 Regular Labs All Rights Reserved ;; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate ; PLG_EDITORS-XTD_MODULESANYWHERE="Button - Regular Labs - Modules Anywhere" PLG_EDITORS-XTD_MODULESANYWHERE_DESC="Modules Anywhere - postavite module bilo gde u Joomli!" MODULESANYWHERE="Modules Anywhere" ; MODULE="Module" ; MODULESANYWHERE_DESC="This button makes inserting {module} tags easy!" ; MA_SETTINGS="Please see the [[%1:start link%]]Modules Anywhere system plugin[[%2:end link%]] for settings." ; MA_THE_SYSTEM_PLUGIN="the Modules Anywhere system plugin" modulesanywhere/language/sr-YU/.htaccess000044400000000177152160542320014322 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>modulesanywhere/modulesanywhere.php000077500000001704152160542320013712 0ustar00<?php /** * @package Modules Anywhere * @version 7.18.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonPlugin as RL_EditorButtonPlugin; use RegularLabs\Library\Extension as RL_Extension; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php') || ! is_file(JPATH_LIBRARIES . '/regularlabs/src/EditorButtonPlugin.php') ) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; if ( ! RL_Document::isJoomlaVersion(3)) { RL_Extension::disable('modulesanywhere', 'plugin', 'editors-xtd'); return; } if (true) { class PlgButtonModulesAnywhere extends RL_EditorButtonPlugin { } } modulesanywhere/helper.php000077500000001467152160542320011764 0ustar00<?php /** * @package Modules Anywhere * @version 7.18.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Object\CMSObject as JObject; use RegularLabs\Library\EditorButtonHelper as RL_EditorButtonHelper; /** ** Plugin that places the button */ class PlgButtonModulesAnywhereHelper extends RL_EditorButtonHelper { /** * Display the button * * @param string $editor_name * * @return JObject|null A button object */ public function render($editor_name) { return $this->renderPopupButton($editor_name); } } modulesanywhere/.htaccess000044400000000177152160542320011560 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>modulesanywhere/script.install.php000077500000001421152160542320013444 0ustar00<?php /** * @package Modules Anywhere * @version 7.15.2PRO * * @author Peter van Westen <info@regularlabs.com> * @link http://regularlabs.com * @copyright Copyright © 2022 Regular Labs All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ defined('_JEXEC') or die; require_once __DIR__ . '/script.install.helper.php'; class PlgEditorsXtdModulesAnywhereInstallerScript extends PlgEditorsXtdModulesAnywhereInstallerScriptHelper { public $alias = 'modulesanywhere'; public $extension_type = 'plugin'; public $name = 'MODULESANYWHERE'; public $plugin_folder = 'editors-xtd'; public function uninstall($adapter) { $this->uninstallPlugin($this->extname, 'system'); } } themlerbutton/index.html000077500000000036152160542320011441 0ustar00<!DOCTYPE html><title></title>themlerbutton/themlerbutton.php000077500000007261152160542320013060 0ustar00<?php defined('_JEXEC') or die; class PlgButtonThemlerbutton extends JPlugin { private $_cmsPath; private $_isAdmin; public function __construct(& $subject, $config) { parent::__construct($subject, $config); $this->loadLanguage(); $app = JFactory::getApplication(); $this->_isAdmin = $app->isAdmin(); $this->_cmsPath = $this->_isAdmin ? dirname(dirname(JPATH_THEMES)) : dirname(JPATH_THEMES); } public function onDisplay($name) { $app = JFactory::getApplication('administrator'); $domain = JRequest::getCmd('domain', ''); $option = JRequest::getCmd('option'); $aid = JRequest::getCmd('id', ''); if(!in_array($option, array('com_content')) || '' == $aid || !$this->_isAdmin) return; $themlerJs = $this->_getThemlerJs(); if ($themlerJs == '') return; $doc = JFactory::getDocument(); $doc->addScriptDeclaration($themlerJs); $button = new JObject; $button->set('class', 'btn themler-button'); $button->set('title', JText::_('PLG_EDITORS-XTD_THEMLERBUTTON_BUTTON_TITLE')); $button->set('text', JText::_('PLG_EDITORS-XTD_THEMLERBUTTON_BUTTON_TEXT')); $button->set('name', 'edit'); $button->set('onclick', 'runThemler(); return false;'); $button->link = '#'; return $button; } private function _getActiveTemplateStyle() { $db = JFactory::getDBO(); $query = $db->getQuery(true); $query->select('*'); $query->from('#__template_styles'); $query->where('client_id = \'0\''); $query->where('home=1'); $db->setQuery($query); return $db->loadObject(); } private function _checkingActiveTheme($template) { $themeDir = $this->_cmsPath . '/templates/' . $template; $projectFile = $themeDir . '/app/project.json'; if (!file_exists($projectFile)) return array( 'message' => JText::_('PLG_EDITORS-XTD_THEMLERBUTTON_NOTHEMLER_THEME'), 'startEdit' => false, 'show' => false); $pluginFile = $themeDir . '/plugins/content.zip'; if (!file_exists($pluginFile)) return array( 'message' => JText::_('PLG_EDITORS-XTD_THEMLERBUTTON_ACTIVETHEME_NOPLUGIN'), 'startEdit' => false, 'show' => true); return array( 'message' => '', 'startEdit' => true, 'show' => true); } private function _getThemlerJs() { $styleObject = $this->_getActiveTemplateStyle(); $templateName = $styleObject->template; $result = $this->_checkingActiveTheme($templateName); if (!$result['show']) return ''; $url = ''; $message = ''; if (true === $result['startEdit']) { $versionFile = $this->_cmsPath . '/templates/' . $templateName . '/app/themler.version'; $version = file_exists($versionFile) ? '&ver=' . file_get_contents($versionFile) : '' ; $articleId = JURI::getInstance()->getVar('id'); $url = JURI::root() . 'administrator/index.php?option=com_templates&view=style&layout=edit&id=' . $styleObject->id . '&editor=1&theme=' . $templateName . $version . '&postId=' . $articleId; $session = JFactory::getSession(); $registry = $session->get('registry'); if (null !== $registry) $registry->set('com_templates.edit.style.id', $styleObject->id); } else { $message = $result['message']; } $js = <<<EOF function runThemler() { var url = '$url'; if (url){ window.open(url, '_blank'); } else { alert('$message'); } } EOF; return $js; } }themlerbutton/themlerbutton.xml000077500000001311152160542320013057 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="2.5" type="plugin" group="editors-xtd" method="upgrade"> <name>PLG_EDITORS-XTD_THEMLERBUTTON</name> <author/> <creationDate>January 2016</creationDate> <version>1.0.9</version> <copyright/> <license/> <authorEmail/> <authorUrl/> <description>PLG_EDITORS-XTD_THEMLERBUTTON_XML_DESCRIPTION</description> <files> <filename plugin="themlerbutton">themlerbutton.php</filename> <filename>index.html</filename> </files> <languages> <language tag="en-GB">language/en-GB/en-GB.plg_editors-xtd_themlerbutton.ini</language> <language tag="en-GB">language/en-GB/en-GB.plg_editors-xtd_themlerbutton.sys.ini</language> </languages> </extension>themlerbutton/.htaccess000044400000000177152160542320011241 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>pagebreak/pagebreak.php000064400000003632152160542320011123 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.pagebreak * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Pagebreak button * * @since 1.5 */ class PlgButtonPagebreak extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return JObject The button options as JObject * * @since 1.5 */ public function onDisplay($name) { $input = JFactory::getApplication()->input; $user = JFactory::getUser(); // Can create in any category (component permission) or at least in one category $canCreateRecords = $user->authorise('core.create', 'com_content') || count($user->getAuthorisedCategories('com_content', 'core.create')) > 0; // Instead of checking edit on all records, we can use **same** check as the form editing view $values = (array) JFactory::getApplication()->getUserState('com_content.edit.article.id'); $isEditingRecords = count($values); // This ACL check is probably a double-check (form view already performed checks) $hasAccess = $canCreateRecords || $isEditingRecords; if (!$hasAccess) { return; } JFactory::getDocument()->addScriptOptions('xtd-pagebreak', array('editor' => $name)); $link = 'index.php?option=com_content&view=article&layout=pagebreak&tmpl=component&e_name=' . $name; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_EDITORSXTD_PAGEBREAK_BUTTON_PAGEBREAK'); $button->name = 'copy'; $button->options = "{handler: 'iframe', size: {x: 500, y: 300}}"; return $button; } } pagebreak/pagebreak.xml000064400000001456152160542320011136 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_pagebreak</name> <author>Joomla! Project</author> <creationDate>August 2004</creationDate> <copyright>(C) 2005 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.0.0</version> <description>PLG_EDITORSXTD_PAGEBREAK_XML_DESCRIPTION</description> <files> <filename plugin="pagebreak">pagebreak.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_pagebreak.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_pagebreak.sys.ini</language> </languages> </extension> pagebreak/.htaccess000044400000000177152160542320010266 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>menu/menu.xml000064400000001421152160542320007174 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.7" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_menu</name> <author>Joomla! Project</author> <creationDate>August 2016</creationDate> <copyright>(C) 2016 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.7.0</version> <description>PLG_EDITORS-XTD_MENU_XML_DESCRIPTION</description> <files> <filename plugin="menu">menu.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_menu.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_menu.sys.ini</language> </languages> </extension> menu/.htaccess000044400000000177152160542320007311 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>menu/menu.php000064400000002530152160542320007165 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.menu * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor menu button * * @since 3.7.0 */ class PlgButtonMenu extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.7.0 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @since 3.7.0 * @return array */ public function onDisplay($name) { /* * Use the built-in element view to select the menu item. * Currently uses blank class. */ $user = JFactory::getUser(); if ($user->authorise('core.create', 'com_menus') || $user->authorise('core.edit', 'com_menus')) { $link = 'index.php?option=com_menus&view=items&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1&editor=' . $name; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_EDITORS-XTD_MENU_BUTTON_MENU'); $button->name = 'share-alt'; $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; return $button; } } } betterpreview/betterpreview.php000077500000003020152160542320013033 0ustar00<?php /** * @package Better Preview * @version 6.9.0 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonPlugin as RL_EditorButtonPlugin; use RegularLabs\Library\Extension as RL_Extension; use RegularLabs\Plugin\System\BetterPreview\Component as BP_Component; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php') || ! is_file(JPATH_LIBRARIES . '/regularlabs/src/EditorButtonPlugin.php') ) { return; } if ( ! is_file(JPATH_PLUGINS . '/system/betterpreview/vendor/autoload.php')) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; if ( ! RL_Document::isJoomlaVersion(3)) { RL_Extension::disable('betterpreview', 'plugin', 'editors-xtd'); return; } require_once JPATH_PLUGINS . '/system/betterpreview/vendor/autoload.php'; if (true) { class PlgButtonBetterPreview extends RL_EditorButtonPlugin { var $require_core_auth = false; public function extraChecks($params) { if (RL_Document::isClient('site')) { return false; } if ( ! $class = BP_Component::getClass('Button')) { return false; } return true; } } } betterpreview/language/en-GB/en-GB.plg_editors-xtd_betterpreview.sys.ini000077500000001121152160542320022372 0ustar00;; @package Better Preview ;; @version 6.9.0 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_BETTERPREVIEW="Button - Regular Labs - Better Preview" PLG_EDITORS-XTD_BETTERPREVIEW_DESC="Better Preview - preview as it should be in Joomla!" BETTERPREVIEW="Better Preview" betterpreview/language/en-GB/.htaccess000044400000000177152160542320013707 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>betterpreview/language/en-GB/en-GB.plg_editors-xtd_betterpreview.ini000077500000002001152160542320021553 0ustar00;; @package Better Preview ;; @version 6.9.0 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_BETTERPREVIEW="Button - Regular Labs - Better Preview" PLG_EDITORS-XTD_BETTERPREVIEW_DESC="Better Preview - preview as it should be in Joomla!" BETTERPREVIEW="Better Preview" BETTERPREVIEW_DESC="Better Preview gives you the ability to get a preview of your content before you save or publish it.<br><br>Better Preview also extends the View Site links to give you direct links to the frontend of the page you are viewing in the administrator." BP_SETTINGS="Please see the [[%1:start link%]]Better Preview system plugin[[%2:end link%]] for settings." BP_THE_SYSTEM_PLUGIN="the Better Preview system plugin" betterpreview/language/fr-FR/fr-FR.plg_editors-xtd_betterpreview.ini000077500000002063152160542320021633 0ustar00;; @package Better Preview ;; @version 6.9.0 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_BETTERPREVIEW="Bouton - Regular Labs - Better Preview" PLG_EDITORS-XTD_BETTERPREVIEW_DESC="Better Preview - Pré-visualisation au top pour Joomla!" BETTERPREVIEW="Better Preview" BETTERPREVIEW_DESC="Better Preview offre la possibilité d'obtenir une prévisualisation de votre contenu avant de l'enregistrer ou de le publier.<br><br>Better Preview ajoute au lien Prévisualiser en proposant un lien direct vers le frontend de la page que vous être en train de voir depuis l'administration." BP_SETTINGS="Regardez [[%1:start link%]]Better Preview system plugin[[%2:end link%]] pour le configurer." BP_THE_SYSTEM_PLUGIN="le plugin système Better Preview" betterpreview/language/fr-FR/fr-FR.plg_editors-xtd_betterpreview.sys.ini000077500000001125152160542320022446 0ustar00;; @package Better Preview ;; @version 6.9.0 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_BETTERPREVIEW="Bouton - Regular Labs - Better Preview" PLG_EDITORS-XTD_BETTERPREVIEW_DESC="Better Preview - Pré-visualisation au top pour Joomla!" BETTERPREVIEW="Better Preview" betterpreview/language/fr-FR/.htaccess000044400000000177152160542320013733 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>betterpreview/language/.htaccess000044400000000177152160542320013017 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>betterpreview/helper.php000077500000012644152160542320011437 0ustar00<?php /** * @package Better Preview * @version 6.9.0 * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\CMS\Object\CMSObject as JObject; use Joomla\CMS\Router\Route as JRoute; use Joomla\CMS\Toolbar\Toolbar as JToolbar; use Joomla\CMS\Uri\Uri as JUri; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonHelper as RL_EditorButtonHelper; use RegularLabs\Plugin\System\BetterPreview\Component as BP_Component; /** ** Plugin that places the button */ class PlgButtonBetterPreviewHelper extends RL_EditorButtonHelper { var $button = null; public function __construct($name, &$params) { $this->button = BP_Component::getClass('Button'); $this->link = BP_Component::getClass('Link'); parent::__construct($name, $params); } public function getButtonText() { $text = $this->params->button_text; if ($text == 'Preview') { return JText::_('BP_PREVIEW'); } return parent::getButtonText(); } public function getUrl($editor_name) { $url = $this->button->getURL($editor_name); if ( ! $url) { return false; } $itemId = $this->button->getItemId($url); if ($itemId) { $url .= '&Itemid=' . $itemId; } $url = $this->link->getUrlFromCache($url); if ($url[0] != '/') { $url = JUri::root() . $url; } return JRoute::_($url); } /** * Display the button * * @param string $editor_name * @param object $editor * * @return JObject|null A button object */ public function render($editor_name, $editor) { $content = $editor->getContent($editor_name); $url = $this->getUrl($editor_name); if ( ! $url) { return null; } $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); $user_id = (int) $user->get('id', 0); $client_id = JFactory::getConfig()->get('shared_session', '0') ? 'IS NULL' : '= 1'; $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('session_id')) ->from($db->quoteName('#__session')) ->where($db->quoteName('userid') . ' = ' . $user_id) ->where($db->quoteName('client_id') . ' ' . $client_id); $db->setQuery($query, 0, 1); $session_id = $db->loadResult(); $fid = uniqid('betterPreviewData_'); $script = ' function ' . $fid . '() { form = document.adminForm; text = ' . $content . '; isjform = 1; overrides = { text: text }; ' . $this->button->getExtraJavaScript($content) . ' return { url: "' . $url . '", user: ' . $user_id . ', session_id: "' . $session_id . '", form: form, isjform: isjform, overrides: overrides }; } '; if ($this->params->button_primary) { $script .= ' (function($){ $(document).ready(function() { $(".icon-betterpreview").each(function(){ if($(this).parent().hasClass("modal-button")) { $(this).parent().addClass("btn-primary"); } }); }); })(jQuery); '; } RL_Document::scriptDeclaration($script); $link = 'index.php?bp_preloader=1&tmpl=component&fid=' . $fid; $text = $this->getButtonText(); $width = $this->params->preview_window_width ? (int) $this->params->preview_window_width : 'window.getSize().x-100'; if ( ! defined('BETTERPREVIEW_INIT') && $this->params->display_toolbar_button) { JHTML::_('behavior.modal'); define('BETTERPREVIEW_INIT', 1); // Generate html for toolbar button $html = []; $html[] = '<a href="' . $link . '" class="btn btn-small betterpreview_link modal' . ($this->params->button_primary ? ' btn-primary' : '') . '"' . ' rel="{handler: \'iframe\', size: {x: ' . $width . ', y: window.getSize().y-100}}">'; $html[] = '<span class="icon-search"></span> '; $html[] = $text; $html[] = '</a>'; $toolbar = JToolBar::getInstance('toolbar'); $toolbar->appendButton('Custom', implode('', $html)); } $button = new JObject; if ($this->params->display_editor_button) { $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = $text; $button->name = 'search'; $button->options = $this->getPopupOptions($width); } return $button; } } betterpreview/.htaccess000044400000000177152160542320011234 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>betterpreview/script.install.php000077500000001406152160542320013123 0ustar00<?php /** * @package Better Preview * @version 6.6.1PRO * * @author Peter van Westen <info@regularlabs.com> * @link http://regularlabs.com * @copyright Copyright © 2022 Regular Labs All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ defined('_JEXEC') or die; require_once __DIR__ . '/script.install.helper.php'; class PlgEditorsXtdBetterPreviewInstallerScript extends PlgEditorsXtdBetterPreviewInstallerScriptHelper { public $alias = 'betterpreview'; public $extension_type = 'plugin'; public $name = 'BETTERPREVIEW'; public $plugin_folder = 'editors-xtd'; public function uninstall($adapter) { $this->uninstallPlugin($this->extname, 'system'); } } betterpreview/betterpreview.xml000077500000003303152160542320013050 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3" type="plugin" group="editors-xtd" method="upgrade"> <name>PLG_EDITORS-XTD_BETTERPREVIEW</name> <description>PLG_EDITORS-XTD_BETTERPREVIEW_DESC</description> <version>6.9.0</version> <creationDate>September 2023</creationDate> <author>Regular Labs (Peter van Westen)</author> <authorEmail>info@regularlabs.com</authorEmail> <authorUrl>https://regularlabs.com</authorUrl> <copyright>Copyright © 2023 Regular Labs - All Rights Reserved</copyright> <license>GNU General Public License version 2 or later</license> <files> <file plugin="betterpreview">betterpreview.php</file> <file>helper.php</file> <folder>language</folder> </files> <config> <fields name="params" addfieldpath="/libraries/regularlabs/fields"> <fieldset name="basic"> <field name="@load_language_regularlabs" type="rl_loadlanguage" extension="plg_system_regularlabs"/> <field name="@load_language" type="rl_loadlanguage" extension="plg_editors-xtd_betterpreview"/> <field name="@version" type="rl_version" extension="BETTERPREVIEW"/> <field name="@dependency" type="rl_dependency" label="BP_THE_SYSTEM_PLUGIN" file="/plugins/system/betterpreview/betterpreview.xml"/> <field name="@header" type="rl_header" label="BETTERPREVIEW" description="BETTERPREVIEW_DESC" url="https://regularlabs.com/betterpreview"/> <field name="@note__settings" type="note" class="alert alert-info" description="BP_SETTINGS,<a href="index.php?option=com_plugins&filter_folder=system&filter_search=better preview" target="_blank">,</a>"/> </fieldset> </fields> </config> </extension> fields/fields.php000064400000003317152160542320007775 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.fields * * @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Fields button * * @since 3.7.0 */ class PlgButtonFields extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.7.0 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return JObject The button options as JObject * * @since 3.7.0 */ public function onDisplay($name) { // Check if com_fields is enabled if (!JComponentHelper::isEnabled('com_fields')) { return; } // Register FieldsHelper JLoader::register('FieldsHelper', JPATH_ADMINISTRATOR . '/components/com_fields/helpers/fields.php'); // Guess the field context based on view. $jinput = JFactory::getApplication()->input; $context = $jinput->get('option') . '.' . $jinput->get('view'); // Validate context. $context = implode('.', FieldsHelper::extract($context)); if (!FieldsHelper::getFields($context)) { return; } $link = 'index.php?option=com_fields&view=fields&layout=modal&tmpl=component&context=' . $context . '&editor=' . $name . '&' . JSession::getFormToken() . '=1'; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_EDITORS-XTD_FIELDS_BUTTON_FIELD'); $button->name = 'puzzle'; $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; return $button; } } fields/fields.xml000064400000001437152160542320010007 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.7" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_fields</name> <author>Joomla! Project</author> <creationDate>February 2017</creationDate> <copyright>(C) 2017 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.7.0</version> <description>PLG_EDITORS-XTD_FIELDS_XML_DESCRIPTION</description> <files> <filename plugin="fields">fields.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_fields.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_fields.sys.ini</language> </languages> </extension> fields/.htaccess000044400000000177152160542320007613 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>atscannedreplies/script.php000077500000000737152160542320012121 0ustar00<?php /** * @package ats * @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ defined('_JEXEC') or die; // Load FOF if not already loaded if (!defined('FOF40_INCLUDED') && !@include_once(JPATH_LIBRARIES . '/fof40/include.php')) { throw new RuntimeException('This extension requires FOF 4.'); } class plgEditorsxtdAtscannedrepliesInstallerScript extends FOF40\InstallScript\Plugin { } atscannedreplies/atscannedreplies.php000077500000006467152160542320014147 0ustar00<?php /** * @package ats * @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ defined('_JEXEC') or die; use FOF40\Container\Container; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Object\CMSObject; use Joomla\CMS\Plugin\CMSPlugin; class plgButtonAtscannedreplies extends CMSPlugin { /** * Have I loaded my CSS and JS files? * * @var bool * @since 3.4.0 */ protected static $loadStaticMedia = false; /** * Load the language file on instantiation. * * @var boolean * @since 3.4.0 */ protected $autoloadLanguage = true; /** @inheritDoc */ public function __construct(&$subject, $config = []) { parent::__construct($subject, $config); } /** * Display the button * * @param string $name The name of the button to add * * @return CMSObject|null The button options as JObject * * @since 3.4.0 */ public function onDisplay($name): ?CMSObject { if (!class_exists('\\FOF40\\Container\\Container')) { return null; } try { $container = Container::getInstance('com_ats', ['tempInstance' => true]); } catch (Throwable $e) { return null; } $hasAccess = (bool) $container->platform->getSessionVar('canned_replies.enabled', false, 'com_ats'); if (!$hasAccess) { return null; } // Load static media $this->loadStaticMedia(); // Pass script options $document = Factory::getApplication()->getDocument(); $document->addScriptOptions('plg_editors-xtd_atscannedreplies_editor', $name); // Modal options $options = '{handler: \'iframe\', size: {x: 800, y: 500}}'; if (version_compare(JVERSION, '3.999.999', 'gt')) { $options = [ 'height' => '300px', 'width' => '800px', 'bodyHeight' => '70', 'modalWidth' => '80', ]; } // Modal window link $app = Factory::getApplication(); $isSite = $app->isClient('site'); $layout = $isSite ? 'default' : 'choose'; $categoryId = (int) $container->platform->getSessionVar('canned_replies.category', 0, 'com_ats'); $link = sprintf('index.php?option=com_ats&view=CannedReplies&layout=%s&tmpl=component&category=%u', $layout, $categoryId); $svgIconText = file_get_contents(JPATH_SITE . '/media/com_ats/images/ats_color.svg'); return new CMSObject([ 'modal' => true, 'class' => 'btn', 'link' => $link, 'text' => Text::_('PLG_EDITORS_XTD_ATSCANNEDREPLIES_BTN_TITLE'), 'name' => 'atscannedreplies', 'options' => $options, 'iconSVG' => $svgIconText, 'realName' => __CLASS__, ]); } /** * Loads the CSS and JS files required for this feature * * @throws Exception * @since 3.4.0 */ protected function loadStaticMedia(): void { if (self::$loadStaticMedia) { return; } self::$loadStaticMedia = true; if (!class_exists('\FOF40\Container\Container')) { return; } $document = Factory::getApplication()->getDocument(); $container = Container::getInstance('com_ats'); $document->addStyleSheet('media/plg_editors-xtd_atscannedreplies/css/cannedreplies.min.css', [ 'version' => $container->mediaVersion ]); $document->addScript('media/plg_editors-xtd_atscannedreplies/js/CannedReplies.min.js', [ 'version' => $container->mediaVersion ], [ 'defer' => true ]); } }atscannedreplies/web.config000077500000001025152160542320012037 0ustar00<?xml version="1.0"?> <!-- This only works on IIS 7 or later. See https://www.iis.net/configreference/system.webserver/security/requestfiltering/fileextensions --> <configuration> <system.webServer> <security> <requestFiltering> <fileExtensions allowUnlisted="false" > <clear /> <add fileExtension=".html" allowed="true"/> </fileExtensions> </requestFiltering> </security> </system.webServer> </configuration>atscannedreplies/.htaccess000044400000000177152160542320011671 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>atscannedreplies/atscannedreplies.xml000077500000002624152160542320014147 0ustar00<?xml version="1.0" encoding="utf-8"?> <!--~ ~ @package ats ~ @copyright Copyright (c)2011-2022 Nicholas K. Dionysopoulos / Akeeba Ltd ~ @license GNU General Public License version 3, or later --> <extension version="3.9.0" type="plugin" group="editors-xtd" method="upgrade"> <name>PLG_EDITORS-XTD_ATSCANNEDREPLIES</name> <author>Nicholas K. Dionysopoulos / Akeeba Ltd</author> <creationDate>2023-07-26</creationDate> <copyright>Copyright (c)2011-2021 Nicholas K. Dionysopoulos / Akeeba Ltd</copyright> <license>GNU GPL v3 or later</license> <authorEmail>nicholas@akeeba.com</authorEmail> <authorUrl>www.akeeba.com</authorUrl> <version>4.0.9.2</version> <description>PLG_EDITORS-XTD_ATSCANNEDREPLIES_XML_DESCRIPTION</description> <files> <filename plugin="atscannedreplies">atscannedreplies.php</filename> <filename>.htaccess</filename> <filename>web.config</filename> </files> <media folder="media" destination="plg_editors-xtd_atscannedreplies"> <folder>css</folder> <folder>js</folder> <folder>images</folder> </media> <languages folder="language"> <language tag="en-GB">en-GB/en-GB.plg_editors-xtd_atscannedreplies.ini</language> <language tag="en-GB">en-GB/en-GB.plg_editors-xtd_atscannedreplies.sys.ini</language> </languages> <scriptfile>script.php</scriptfile> </extension> image/image.xml000064400000001413152160542320007431 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_image</name> <author>Joomla! Project</author> <creationDate>August 2004</creationDate> <copyright>(C) 2005 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.0.0</version> <description>PLG_IMAGE_XML_DESCRIPTION</description> <files> <filename plugin="image">image.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_image.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_image.sys.ini</language> </languages> </extension> image/image.php000064400000004175152160542320007430 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.image * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Image buton * * @since 1.5 */ class PlgButtonImage extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Display the button. * * @param string $name The name of the button to display. * @param string $asset The name of the asset being edited. * @param integer $author The id of the author owning the asset being edited. * * @return JObject The button options as JObject or false if not allowed * * @since 1.5 */ public function onDisplay($name, $asset, $author) { $app = JFactory::getApplication(); $user = JFactory::getUser(); $extension = $app->input->get('option'); // For categories we check the extension (ex: component.section) if ($extension === 'com_categories') { $parts = explode('.', $app->input->get('extension', 'com_content')); $extension = $parts[0]; } $asset = $asset !== '' ? $asset : $extension; if ($user->authorise('core.edit', $asset) || $user->authorise('core.create', $asset) || (count($user->getAuthorisedCategories($asset, 'core.create')) > 0) || ($user->authorise('core.edit.own', $asset) && $author === $user->id) || (count($user->getAuthorisedCategories($extension, 'core.edit')) > 0) || (count($user->getAuthorisedCategories($extension, 'core.edit.own')) > 0 && $author === $user->id)) { $link = 'index.php?option=com_media&view=images&tmpl=component&e_name=' . $name . '&asset=' . $asset . '&author=' . $author; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_IMAGE_BUTTON_IMAGE'); $button->name = 'pictures'; $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; return $button; } return false; } } image/.htaccess000044400000000177152160542320007427 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>module/module.php000064400000002702152160542320010030 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.module * * @copyright (C) 2015 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Module button * * @since 3.5 */ class PlgButtonModule extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.5 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return JObject The button options as JObject * * @since 3.5 */ public function onDisplay($name) { /* * Use the built-in element view to select the module. * Currently uses blank class. */ $user = JFactory::getUser(); if ($user->authorise('core.create', 'com_modules') || $user->authorise('core.edit', 'com_modules') || $user->authorise('core.edit.own', 'com_modules')) { $link = 'index.php?option=com_modules&view=modules&layout=modal&tmpl=component&editor=' . $name . '&' . JSession::getFormToken() . '=1'; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_MODULE_BUTTON_MODULE'); $button->name = 'file-add'; $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; return $button; } } } module/module.xml000064400000001422152160542320010037 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.6" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_module</name> <author>Joomla! Project</author> <creationDate>October 2015</creationDate> <copyright>(C) 2015 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.5.0</version> <description>PLG_MODULE_XML_DESCRIPTION</description> <files> <filename plugin="module">module.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_module.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_module.sys.ini</language> </languages> </extension> module/.htaccess000044400000000177152160542320007632 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>readmore/readmore.php000064400000002507152160542320010655 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.readmore * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Readmore button * * @since 1.5 */ class PlgButtonReadmore extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Readmore button * * @param string $name The name of the button to add * * @return JObject The button options as JObject * * @since 1.5 */ public function onDisplay($name) { JHtml::_('script', 'com_content/admin-article-readmore.min.js', array('version' => 'auto', 'relative' => true)); // Pass some data to javascript JFactory::getDocument()->addScriptOptions( 'xtd-readmore', array( 'editor' => $this->_subject->getContent($name), 'exists' => JText::_('PLG_READMORE_ALREADY_EXISTS', true), ) ); $button = new JObject; $button->modal = false; $button->class = 'btn'; $button->onclick = 'insertReadmore(\'' . $name . '\');return false;'; $button->text = JText::_('PLG_READMORE_BUTTON_READMORE'); $button->name = 'arrow-down'; $button->link = '#'; return $button; } } readmore/.htaccess000044400000000177152160542320010143 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>readmore/readmore.xml000064400000001434152160542320010664 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_readmore</name> <author>Joomla! Project</author> <creationDate>March 2006</creationDate> <copyright>(C) 2006 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.0.0</version> <description>PLG_READMORE_XML_DESCRIPTION</description> <files> <filename plugin="readmore">readmore.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_readmore.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_readmore.sys.ini</language> </languages> </extension> articlesanywhere/articlesanywhere.php000077500000001746152160542320014214 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonPlugin as RL_EditorButtonPlugin; use RegularLabs\Library\Extension as RL_Extension; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php') || ! is_file(JPATH_LIBRARIES . '/regularlabs/src/EditorButtonPlugin.php') ) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; if ( ! RL_Document::isJoomlaVersion(3)) { RL_Extension::disable('articlesanywhere', 'plugin', 'editors-xtd'); return; } if (true) { class PlgButtonArticlesAnywhere extends RL_EditorButtonPlugin { var $folder = __DIR__; } } articlesanywhere/layouts/readmore.php000077500000005040152160542320014130 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; ?> <div class="well"> <div class="control-group"> <label id="data_readmore_enable-lbl" for="data_readmore_enable" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_READMORE_TAG_DESC'); ?>"> <?php echo JText::_('AA_READMORE_LINK'); ?> </label> <div class="controls"> <fieldset id="data_readmore_enable" class="radio btn-group"> <input type="radio" id="data_readmore_enable0" name="data_readmore_enable" value="0" <?php echo ! $params->data_readmore_enable ? 'checked="checked"' : ''; ?>> <label for="data_readmore_enable0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_readmore_enable1" name="data_readmore_enable" value="1" <?php echo $params->data_readmore_enable ? 'checked="checked"' : ''; ?>> <label for="data_readmore_enable1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> <div rel="data_readmore_enable" class="toggle_div" style="display:none;"> <div class="control-group"> <label id="data_readmore_text-lbl" for="data_readmore_text" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_READMORE_TEXT_DESC'); ?>"> <?php echo JText::_('AA_READMORE_TEXT'); ?> </label> <div class="controls"> <input type="text" name="data_readmore_text" id="data_readmore_text" value="<?php echo $params->data_readmore_text; ?>"> </div> </div> <div class="control-group"> <label id="data_readmore_class-lbl" for="data_readmore_class" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_CLASSNAME_DESC'); ?>"> <?php echo JText::_('AA_CLASSNAME'); ?> </label> <div class="controls"> <input type="text" name="data_readmore_class" id="data_readmore_class" value="<?php echo $params->data_readmore_class; ?>"> </div> </div> </div> </div> articlesanywhere/layouts/type.php000077500000002674152160542320013325 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; ?> <div class="form-horizontal well"> <div class="control-group" style="margin-bottom: 0;"> <label id="jform_content_type-lbl" for="jform_content_type" class="hasTip control-label" title="<?php echo JText::_('AA_CONTENT_TYPE_DESC'); ?>"><?php echo JText::_('AA_CONTENT_TYPE'); ?></label> <div class="controls"> <fieldset id="content_type" class="radio btn-group"> <input onchange="form.submit()" type="radio" id="content_type0" name="content_type" value="core" <?php echo ($content_type == 'core') ? 'checked="checked"' : ''; ?>> <label for="content_type0" class="btn btn-default"><?php echo JText::_('AA_CONTENT_TYPE_CORE'); ?></label> <input onchange="form.submit()" type="radio" id="content_type1" name="content_type" value="k2" <?php echo ($content_type == 'k2') ? 'checked="checked"' : ''; ?>> <label for="content_type1" class="btn btn-default"><?php echo JText::_('AA_CONTENT_TYPE_K2'); ?></label> </fieldset> </div> </div> </div> articlesanywhere/layouts/div.php000077500000000570152160542320013117 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; // not used anymore articlesanywhere/layouts/content.php000077500000010362152160542320014007 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; ?> <div class="well"> <div class="control-group"> <label id="data_text_enable-lbl" for="data_text_enable" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_TEXT_TAG_DESC'); ?>"> <?php echo JText::_('RL_CONTENT'); ?> </label> <div class="controls"> <fieldset id="data_text_enable" class="radio btn-group"> <input type="radio" id="data_text_enable0" name="data_text_enable" value="0" <?php echo ! $params->data_text_enable ? 'checked="checked"' : ''; ?> onclick="toggleDivs();" onchange="toggleDivs();"> <label for="data_text_enable0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_text_enable1" name="data_text_enable" value="1" <?php echo $params->data_text_enable ? 'checked="checked"' : ''; ?> onclick="toggleDivs();" onchange="toggleDivs();"> <label for="data_text_enable1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> <div rel="data_text_enable" class="toggle_div" style="display:none;"> <div class="control-group"> <label id="data_text_type-lbl" for="data_text_type" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_TEXT_TYPE_DESC'); ?>"> <?php echo JText::_('AA_TEXT_TYPE'); ?> </label> <div class="controls"> <select name="data_text_type"> <option value="text"<?php echo $params->data_text_type == 'text' ? 'selected="selected"' : ''; ?>> <?php echo JText::_('AA_ALL_TEXT'); ?> </option> <option value="introtext"<?php echo $params->data_text_type == 'introtext' ? 'selected="selected"' : ''; ?>> <?php echo JText::_('AA_INTRO_TEXT'); ?> </option> <option value="fulltext"<?php echo $params->data_text_type == 'fulltext' ? 'selected="selected"' : ''; ?>> <?php echo JText::_('AA_FULL_TEXT'); ?> </option> </select> </div> </div> <div class="control-group"> <label id="data_text_length-lbl" for="data_text_length" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_MAXIMUM_TEXT_LENGTH_DESC'); ?>"> <?php echo JText::_('AA_MAXIMUM_TEXT_LENGTH'); ?> </label> <div class="controls"> <input type="text" name="data_text_length" id="data_text_length" value="<?php echo $params->data_text_length; ?>" size="4" style="width:50px;text-align: right;"> </div> </div> <div class="control-group"> <label id="data_text_strip-lbl" for="data_text_strip" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_STRIP_HTML_TAGS_DESC'); ?>"> <?php echo JText::_('AA_STRIP_HTML_TAGS'); ?> </label> <div class="controls"> <fieldset id="data_text_strip" class="radio btn-group"> <input type="radio" id="data_text_strip0" name="data_text_strip" value="0" <?php echo ! $params->data_text_strip ? 'checked="checked"' : ''; ?>> <label for="data_text_strip0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_text_strip1" name="data_text_strip" value="1" <?php echo $params->data_text_strip ? 'checked="checked"' : ''; ?>> <label for="data_text_strip1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> </div> </div> articlesanywhere/layouts/intro_image.php000077500000002703152160542320014632 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; ?> <div class="well"> <div class="control-group"> <label id="data_intro_image_enable-lbl" for="data_intro_image_enable" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_INTRO_IMAGE_TAG_DESC'); ?>"> <?php echo JText::_('AA_INTRO_IMAGE'); ?> </label> <div class="controls"> <fieldset id="data_intro_image_enable" class="radio btn-group"> <input type="radio" id="data_intro_image_enable0" name="data_intro_image_enable" value="0" <?php echo ! $params->data_intro_image_enable ? 'checked="checked"' : ''; ?>> <label for="data_intro_image_enable0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_intro_image_enable1" name="data_intro_image_enable" value="1" <?php echo $params->data_intro_image_enable ? 'checked="checked"' : ''; ?>> <label for="data_intro_image_enable1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> </div> articlesanywhere/layouts/layout.php000077500000004006152160542320013650 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; ?> <div class="well"> <div class="control-group"> <label id="data_layout_enable-lbl" for="data_layout_enable" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_FULL_ARTICLE_TAG_DESC'); ?>"> <?php echo JText::_('AA_FULL_ARTICLE'); ?> </label> <div class="controls"> <fieldset id="data_layout_enable" class="radio btn-group"> <input type="radio" id="data_layout_enable0" name="data_layout_enable" value="0" <?php echo ! $params->data_layout_enable ? 'checked="checked"' : ''; ?>> <label for="data_layout_enable0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_layout_enable1" name="data_layout_enable" value="1" <?php echo $params->data_layout_enable ? 'checked="checked"' : ''; ?>> <label for="data_layout_enable1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> <div rel="data_layout_enable" class="toggle_div" style="display:none;"> <div class="control-group"> <label id="data_layout_layout-lbl" for="data_layout_layout" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_FULL_ARTICLE_LAYOUT_DESC'); ?>"> <?php echo JText::_('AA_FULL_ARTICLE_LAYOUT'); ?> </label> <div class="controls"> <input type="text" name="data_layout_layout" id="data_layout_layout" value="<?php echo $params->data_layout_layout; ?>"> </div> </div> </div> </div> articlesanywhere/layouts/.htaccess000044400000000177152160542320013416 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>articlesanywhere/layouts/title.php000077500000006746152160542320013471 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; ?> <div class="well"> <div class="control-group"> <label id="data_title_enable-lbl" for="data_title_enable" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_TITLE_TAG_DESC'); ?>"> <?php echo JText::_('JGLOBAL_TITLE'); ?> </label> <div class="controls"> <fieldset id="data_title_enable" class="radio btn-group"> <input type="radio" id="data_title_enable0" name="data_title_enable" value="0" <?php echo ! $params->data_title_enable ? 'checked="checked"' : ''; ?>> <label for="data_title_enable0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_title_enable1" name="data_title_enable" value="1" <?php echo $params->data_title_enable ? 'checked="checked"' : ''; ?>> <label for="data_title_enable1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> <div rel="data_title_enable" class="toggle_div" style="display:none;"> <div class="control-group"> <label id="data_title_heading-lbl" for="data_title_heading" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_TITLE_HEADING_DESC'); ?>"> <?php echo JText::_('AA_TITLE_HEADING'); ?> </label> <div class="controls"> <select name="data_title_heading"> <option value=""<?php echo ! $params->data_title_heading ? 'selected="selected"' : ''; ?>> <?php echo JText::_('JNONE'); ?> </option> <?php for ($i = 1; $i <= 6; $i++) : ?> <option value="<?php echo 'h' . $i; ?>"<?php echo $params->data_title_heading == 'h' . $i ? 'selected="selected"' : ''; ?>> <?php echo JText::_('RL_HEADING_' . $i); ?> </option> <?php endfor; ?> </select> </div> </div> <div class="control-group"> <label id="data_title_enable-lbl" for="data_title_enable" class="control-label" rel="tooltip" title="<?php echo JText::_('AA_TITLE_ADD_LINK_TAG_DESC'); ?>"> <?php echo JText::_('AA_ADD_LINK_TAG'); ?> </label> <div class="controls"> <fieldset id="data_title_add_link" class="radio btn-group"> <input type="radio" id="data_title_add_link0" name="data_title_add_link" value="0" <?php echo ! $params->data_title_add_link ? 'checked="checked"' : ''; ?>> <label for="data_title_add_link0"><?php echo JText::_('JNO'); ?></label> <input type="radio" id="data_title_add_link1" name="data_title_add_link" value="1" <?php echo $params->data_title_add_link ? 'checked="checked"' : ''; ?>> <label for="data_title_add_link1"><?php echo JText::_('JYES'); ?></label> </fieldset> </div> </div> </div> </div> articlesanywhere/popup.php000077500000120367152160542320012007 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Access\Exception\NotAllowed as JAccessExceptionNotallowed; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; use Joomla\CMS\Pagination\Pagination as JPagination; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\Extension as RL_Extension; use RegularLabs\Library\Language as RL_Language; use RegularLabs\Library\ParametersNew as RL_Parameters; use RegularLabs\Library\RegEx as RL_RegEx; use RegularLabs\Library\StringHelper as RL_String; $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ( $user->get('guest') || ( ! $user->authorise('core.edit', 'com_content') && ! $user->authorise('core.edit.own', 'com_content') && ! $user->authorise('core.create', 'com_content') ) ) { throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403); } $params = RL_Parameters::getPlugin('articlesanywhere'); if (RL_Document::isClient('site')) { if ( ! $params->enable_frontend) { throw new JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'), 403); } } (new PlgButtonArticlesAnywherePopup)->render($params); class PlgButtonArticlesAnywherePopup { public function render(&$params) { $app = JFactory::getApplication(); $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); // load the admin language file RL_Language::load('plg_system_regularlabs'); RL_Language::load('plg_editors-xtd_articlesanywhere'); RL_Language::load('plg_system_articlesanywhere'); RL_Language::load('com_content', JPATH_ADMINISTRATOR); RL_Document::loadPopupDependencies(); require_once JPATH_ADMINISTRATOR . '/components/com_content/helpers/content.php'; $use_k2 = false; $content_type = JFactory::getApplication()->input->get('content_type', $params->content_type); $use_k2 = $params->use_k2 && RL_Extension::isInstalled('k2'); $db = JFactory::getDbo(); $query = $db->getQuery(true); $filter = null; // Get some variables from the request $option = 'articlesanywhere'; $filter_order = $app->getUserStateFromRequest($option . '_filter_order', 'filter_order', 'ordering', 'cmd'); $filter_order_Dir = $app->getUserStateFromRequest($option . '_filter_order_Dir', 'filter_order_Dir', '', 'word'); $filter_featured = $app->getUserStateFromRequest($option . '_filter_featured', 'filter_featured', '', 'int'); $filter_category = $app->getUserStateFromRequest($option . '_filter_category', 'filter_category', 0, 'int'); $filter_author = $app->getUserStateFromRequest($option . '_filter_author', 'filter_author', 0, 'int'); $filter_state = $app->getUserStateFromRequest($option . '_filter_state', 'filter_state', '', 'word'); $filter_search = $app->getUserStateFromRequest($option . '_filter_search', 'filter_search', '', 'string'); $filter_search = RL_String::strtolower($filter_search); $limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->getCfg('list_limit'), 'int'); $limitstart = $app->getUserStateFromRequest($option . '_limitstart', 'limitstart', 0, 'int'); // In case limit has been changed, adjust limitstart accordingly $limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0); $lists = []; // filter_search filter $lists['filter_search'] = $filter_search; // table ordering if ($use_k2 && $content_type == 'k2') { if ($filter_order == 'section' || $filter_order == 'frontpage') { $filter_order = 'ordering'; $filter_order_Dir = ''; } } else { if ($filter_order == 'featured') { $filter_order = 'ordering'; $filter_order_Dir = ''; } } $lists['order_Dir'] = $filter_order_Dir; $lists['order'] = $filter_order; if ($use_k2 && $content_type == 'k2') { // load the k2 language file RL_Language::load('com_k2', JPATH_ADMINISTRATOR); define('JPATH_COMPONENT', JPATH_ADMINISTRATOR . '/components/com_k2'); define('JPATH_COMPONENT_ADMINISTRATOR', JPATH_COMPONENT); JLoader::register('K2Controller', JPATH_COMPONENT . '/controllers/controller.php'); JLoader::register('K2View', JPATH_COMPONENT . '/views/view.php'); JLoader::register('K2Model', JPATH_COMPONENT . '/models/model.php'); /* FILTERS */ // featured filter $filter_featured_options[] = JHtml::_('select.option', -1, JText::_('- Select featured state -')); $filter_featured_options[] = JHtml::_('select.option', 1, JText::_('COM_CONTENT_FEATURED')); $filter_featured_options[] = JHtml::_('select.option', 0, JText::_('COM_CONTENT_UNFEATURED')); $lists['featured'] = JHtml::_('select.genericlist', $filter_featured_options, 'filter_featured', 'onchange="this.form.submit();"', 'value', 'text', $filter_featured); // get list of categories for dropdown filter require_once JPATH_COMPONENT . '/models/categories.php'; $categoriesModel = K2Model::getInstance('Categories', 'K2Model'); $categories_option[] = JHtml::_('select.option', 0, JText::_('JOPTION_SELECT_CATEGORY')); $categories = $categoriesModel->categoriesTree(); $categories_options = @array_merge($categories_option, $categories); $lists['categories'] = JHtml::_('select.genericlist', $categories_options, 'filter_category', 'onchange="this.form.submit();"', 'value', 'text', $filter_category); // get list of Authors for dropdown filter $query->clear() ->select('c.created_by, u.name') ->from('#__k2_items AS c') ->join('LEFT', '#__users AS u ON u.id = c.created_by') ->where('c.published != -1') ->where('c.published != -2') ->where('c.trash = 0') ->group('u.id') ->order('c.id DESC'); $db->setQuery($query); $authors = $db->loadObjectList(); array_unshift($authors, JHtml::_('select.option', '0', JText::_('JOPTION_SELECT_AUTHOR'), 'created_by', 'name')); $lists['authors'] = JHtml::_('select.genericlist', $authors, 'filter_author', 'class="inputbox" size="1" onchange="this.form.submit( );"', 'created_by', 'name', $filter_author); // state filter $filter_state_options[] = JHtml::_('select.option', -1, JText::_('JOPTION_SELECT_ACCESS')); $filter_state_options[] = JHtml::_('select.option', 1, JText::_('JPUBLISHED')); $filter_state_options[] = JHtml::_('select.option', 0, JText::_('JUNPUBLISHED')); $lists['state'] = JHtml::_('select.genericlist', $filter_state_options, 'filter_state', 'onchange="this.form.submit();"', 'value', 'text', $filter_state); /* ITEMS */ $where = []; $where[] = 'c.published != -2 AND c.trash = 0'; if ($filter_search) { if (stripos($filter_search, 'id:') === 0) { $where[] = 'c.id = ' . (int) substr($filter_search, 3); } else { $cols = ['id', 'title', 'alias', 'introtext', 'fulltext']; $w = []; foreach ($cols as $col) { $w[] = 'LOWER(c.' . $col . ') LIKE ' . $db->quote('%' . $db->escape($filter_search, true) . '%', false); } $where[] = '(' . implode(' OR ', $w) . ')'; } } if ($filter_state && $filter_state > -1) { $where[] = 'c.published = ' . (int) $filter_state; } if ($filter_featured && $filter_featured > -1) { $where[] = 'c.featured = ' . (int) $filter_featured; } if ($filter_category && $filter_category > 0) { require_once JPATH_SITE . '/components/com_k2/models/itemlist.php'; $model = K2Model::getInstance('Itemlist', 'K2Model'); $categories = $model->getCategoryChildren($filter_category); $categories[] = $filter_category; $categories = @array_unique($categories); $sql = @implode(',', $categories); $where[] = 'c.catid IN (' . $sql . ')'; } if ($filter_author && $filter_author > 0) { $where[] = 'c.created_by=' . (int) $filter_author; } // Build the where clause of the content record query $where = implode(' AND ', $where); // Get the total number of records $query->clear() ->select('COUNT(*)') ->from('#__k2_items AS c') ->join('LEFT', '#__k2_categories AS cc ON cc.id = c.catid') ->where($where); $db->setQuery($query); $total = $db->loadResult(); // Create the pagination object jimport('joomla.html.pagination'); $page = new JPagination($total, $limitstart, $limit); if ($filter_order == 'ordering') { $order = 'category, ordering ' . $filter_order_Dir; } else { $order = $filter_order . ' ' . $filter_order_Dir . ', category, ordering'; } $query->clear() ->select('c.*, g.title AS accesslevel, cc.name AS category, v.name AS author') ->select('w.name AS moderator, u.name AS editor') ->from('#__k2_items AS c') ->join('LEFT', '#__k2_categories AS cc ON cc.id = c.catid') ->join('LEFT', '#__viewlevels AS g ON g.id = c.access') ->join('LEFT', '#__users AS u ON u.id = c.checked_out') ->join('LEFT', '#__users AS v ON v.id = c.created_by') ->join('LEFT', '#__users AS w ON w.id = c.modified_by') ->where($where) ->order($order) ->setLimit($page->limit, $page->limitstart); $db->setQuery($query); $rows = $db->loadObjectList(); // If there is a database query error, throw a HTTP 500 and exit if ($db->getErrorNum()) { throw new Exception($db->stderr(), 500); } } else { $options = JHtml::_('category.options', 'com_content'); array_unshift($options, JHtml::_('select.option', '0', JText::_('JOPTION_SELECT_CATEGORY'))); $lists['categories'] = JHtml::_('select.genericlist', $options, 'filter_category', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_category); //$lists['categories'] = JHtml::_( 'select.genericlist', $categories, 'filter_category', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_category ); // get list of Authors for dropdown filter $query->clear() ->select('c.created_by, u.name') ->from('#__content AS c') ->join('LEFT', '#__users AS u ON u.id = c.created_by') ->where('c.state != -1') ->where('c.state != -2') ->group('u.id') ->order('u.id DESC'); $db->setQuery($query); $options = $db->loadObjectList(); array_unshift($options, JHtml::_('select.option', '0', JText::_('JOPTION_SELECT_AUTHOR'), 'created_by', 'name')); $lists['authors'] = JHtml::_('select.genericlist', $options, 'filter_author', 'class="inputbox" size="1" onchange="this.form.submit( );"', 'created_by', 'name', $filter_author); // state filter $lists['state'] = JHtml::_('grid.state', $filter_state, 'JPUBLISHED', 'JUNPUBLISHED', 'JARCHIVED'); /* ITEMS */ $where = []; $where[] = 'c.state != -2'; /* * Add the filter specific information to the where clause */ // Category filter if ($filter_category > 0) { $where[] = 'c.catid = ' . (int) $filter_category; } // Author filter if ($filter_author > 0) { $where[] = 'c.created_by = ' . (int) $filter_author; } // Content state filter if ($filter_state) { if ($filter_state == 'P') { $where[] = 'c.state = 1'; } else { if ($filter_state == 'U') { $where[] = 'c.state = 0'; } elseif ($filter_state == 'A') { $where[] = 'c.state = -1'; } else { $where[] = 'c.state != -2'; } } } // Keyword filter if ($filter_search) { if (stripos($filter_search, 'id:') === 0) { $where[] = 'c.id = ' . (int) substr($filter_search, 3); } else { $cols = ['id', 'title', 'alias', 'introtext', 'fulltext']; $w = []; foreach ($cols as $col) { $w[] = 'LOWER(c.' . $col . ') LIKE ' . $db->quote('%' . $db->escape($filter_search, true) . '%', false); } $where[] = '(' . implode(' OR ', $w) . ')'; } } // Build the where clause of the content record query $where = implode(' AND ', $where); // Get the total number of records $query->clear() ->select('COUNT(*)') ->from('#__content AS c') ->join('LEFT', '#__categories AS cc ON cc.id = c.catid') ->where($where); $db->setQuery($query); $total = $db->loadResult(); // Create the pagination object jimport('joomla.html.pagination'); $page = new JPagination($total, $limitstart, $limit); if ($filter_order == 'ordering') { $order = 'category, ordering ' . $filter_order_Dir; } else { $order = $filter_order . ' ' . $filter_order_Dir . ', category, ordering'; } // Get the articles $query->clear() ->select('c.*, c.state as published, g.title AS accesslevel, cc.title AS category') ->select('u.name AS editor, f.content_id AS frontpage, v.name AS author') ->from('#__content AS c') ->join('LEFT', '#__categories AS cc ON cc.id = c.catid') ->join('LEFT', '#__viewlevels AS g ON g.id = c.access') ->join('LEFT', '#__users AS u ON u.id = c.checked_out') ->join('LEFT', '#__users AS v ON v.id = c.created_by') ->join('LEFT', '#__content_frontpage AS f ON f.content_id = c.id') ->where($where) ->order($order) ->setLimit($page->limit, $page->limitstart); $db->setQuery($query); $rows = $db->loadObjectList(); // If there is a database query error, throw a HTTP 500 and exit if ($db->getErrorNum()) { throw new Exception($db->stderr(), 500); } } $this->outputHTML($params, $rows, $page, $lists, $use_k2); } private function outputHTML(&$params, &$rows, &$page, &$lists) { JHtml::_('behavior.tooltip'); JHtml::_('formbehavior.chosen', 'select'); $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); $plugin_tag = explode(',', $params->article_tag); $plugin_tag = trim($plugin_tag[0]); $content_type = 'core'; $content_type = JFactory::getApplication()->input->get('content_type', $params->content_type); $use_k2 = $params->use_k2 && RL_Extension::isInstalled('k2'); if ( ! empty($_POST)) { foreach ($params as $key => $val) { if (array_key_exists($key, $_POST)) { $params->{$key} = $_POST[$key]; } } } // Tag character start and end [$tag_start, $tag_end] = explode('.', $params->tag_characters); // Data tag character start and end [$tag_data_start, $tag_data_end] = explode('.', $params->tag_characters_data); $editor = JFactory::getApplication()->input->getString('name', 'text'); // Remove any dangerous character to prevent cross site scripting $editor = RL_RegEx::replace('[\'\";\s]', '', $editor); ?> <div class="header"> <h1 class="page-title"> <span class="icon-reglab icon-articlesanywhere"></span> <?php echo JText::_('INSERT_ARTICLE'); ?> </h1> </div> <?php if (RL_Document::isClient('administrator') && $user->authorise('core.admin', 1)) : ?> <div class="subhead"> <div class="container-fluid"> <div class="btn-toolbar" id="toolbar"> <div class="btn-wrapper" id="toolbar-options"> <button onclick="window.open('index.php?option=com_plugins&filter_folder=system&filter_search=<?php echo JText::_('ARTICLESANYWHERE') ?>');" class="btn btn-small"> <span class="icon-options"></span> <?php echo JText::_('JOPTIONS') ?> </button> </div> </div> </div> </div> <?php endif; ?> <div style="margin-bottom: 20px"></div> <div class="container-fluid container-main"> <form action="" method="post" name="adminForm" id="adminForm"> <div class="alert alert-info"> <?php $tag = $tag_start . $plugin_tag . ' ' . JText::_('JGRID_HEADING_ID') . '/' . JText::_('JGLOBAL_TITLE') . '/' . JText::_('JFIELD_ALIAS_LABEL') . $tag_end . $tag_data_start . JText::_('AA_DATA') . $tag_data_end . $tag_start . '/' . $plugin_tag . $tag_end; echo RL_String::html_entity_decoder(JText::sprintf('AA_CLICK_ON_ONE_OF_THE_ARTICLE_LINKS', $tag)); ?> </div> <div class="form-vertical"> <?php include __DIR__ . '/layouts/layout.php'; ?> <div rel="data_layout_enable" class="toggle_div reverse" style="display:none;"> <div class="row-fluid"> <div class="span4"> <?php include __DIR__ . '/layouts/title.php'; ?> <?php include __DIR__ . '/layouts/intro_image.php'; ?> </div> <div class="span4"> <?php include __DIR__ . '/layouts/content.php'; ?> </div> <div class="span4"> <?php include __DIR__ . '/layouts/readmore.php'; ?> </div> </div> </div> </div> <div style="clear:both;"></div> <?php if ($use_k2) : ?> <?php include __DIR__ . '/layouts/type.php'; ?> <?php endif; ?> <?php if ($use_k2 && $content_type == 'k2') { $this->outputTableK2($rows, $page, $lists, $params); } else { $this->outputTableCore($rows, $page, $lists, $params); } ?> <input type="hidden" name="name" value="<?php echo $editor; ?>"> <input type="hidden" name="filter_order" value="<?php echo $lists['order']; ?>"> <input type="hidden" name="filter_order_Dir" value="<?php echo $lists['order_Dir']; ?>"> </form> </div> <script type="text/javascript"> var articlesanywhere_jInsertEditorText = null; (function($) { articlesanywhere_jInsertEditorText = function(type, id) { var t_start = '<?php echo addslashes($tag_start); ?>'; var t_end = '<?php echo addslashes($tag_end); ?>'; var content_type = '<?php echo addslashes($content_type); ?>'; if (content_type == 'k2') { id = 'type="k2" ' + type + '="' + id.replace(/"/g, '\\"') + '"'; } else { id = type + '="' + id.replace(/"/g, '\\"') + '"'; } var str = getDataTags().trim(); str = t_start + '<?php echo $plugin_tag; ?> ' + id + t_end + str + t_start + '/<?php echo $plugin_tag; ?>' + t_end; window.parent.jInsertEditorText(str, '<?php echo $editor; ?>'); window.parent.SqueezeBox.close(); }; function getDataTags() { var start = '<?php echo addslashes($tag_data_start); ?>'; var end = '<?php echo addslashes($tag_data_end); ?>'; if ($('input[name="data_layout_enable"]:checked').val() == 1) { var layout = $('input[name="data_layout_layout"]').val(); if ( ! layout) { return ''; } return start + 'article layout="' + layout + '"' + end; } var str = ''; if ($('input[name="data_title_enable"]:checked').val() == 1) { var title_heading = $('select[name="data_title_heading"]').val(); var title = start + 'title' + end; if ($('input[name="data_title_add_link"]:checked').val() == 1) { title = start + 'link' + end + title + start + '/link' + end; } if (title_heading) { title = '</p><' + title_heading + '>' + title + '</' + title_heading + '><p>'; } else { title = title + '<br>'; } str += title; } if ($('input[name="data_intro_image_enable"]:checked').val() == 1) { str += start + 'image-intro' + end + '<br>'; } if ($('input[name="data_text_enable"]:checked').val() == 1) { var tag = $('select[name="data_text_type"]').val(); var text_length = parseInt($('input[name="data_text_length"]').val()); if (text_length && text_length != 0) { tag += ' limit="' + text_length + '"'; } if ($('input[name="data_text_strip"]:checked').val() == 1) { tag += ' strip="1"'; } str += start + tag + end + '<br>'; } if ($('input[name="data_readmore_enable"]:checked').val() == 1) { var tag = 'readmore'; var readmore_text = $('input[name="data_readmore_text"]').val(); var readmore_class = $('input[name="data_readmore_class"]').val(); if (readmore_text) { tag += ' text="' + readmore_text + '"'; } if (readmore_class && readmore_class != 'readon') { tag += ' class="' + readmore_class + '"'; } str += start + tag + end + '<br>'; } str = str.replace(/<br>$/, ''); return str; } function initDivs() { $('div.toggle_div').each(function(i, el) { $('input[name="' + $(el).attr('rel') + '"]').each(function(i, el) { $(el).click(function() { toggleDivs(); }); }); }); toggleDivs(); } function toggleDivs() { $('div.toggle_div').each(function(i, el) { var value = $(el).hasClass('reverse') ? 0 : 1; if ($('input[name="' + $(el).attr('rel') + '"]:checked').val() == value) { $(el).slideDown(); return true; } $(el).slideUp(); }); } $(document).ready(function() { initDivs(); }); })(jQuery); </script> <?php } private function outputTableCore(&$rows, &$page, &$lists, $params) { // Tag character start and end [$tag_start, $tag_end] = explode('.', $params->tag_characters); $plugin_tag = explode(',', $params->article_tag); $plugin_tag = trim($plugin_tag[0]); ?> <div id="filter-bar" class="btn-toolbar"> <div class="filter-search btn-group pull-left"> <label for="filter_search" class="element-invisible"><?php echo JText::_('COM_BANNERS_SEARCH_IN_TITLE'); ?></label> <input type="text" name="filter_search" id="filter_search" placeholder="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>" value="<?php echo $lists['filter_search']; ?>" title="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>"> </div> <div class="btn-group pull-left hidden-phone"> <button class="btn btn-default" type="submit" rel="tooltip" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>"> <span class="icon-search"></span></button> <button class="btn btn-default" type="button" rel="tooltip" title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.id('filter_search').value='';this.form.submit();"> <span class="icon-remove"></span></button> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['categories']; ?> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['authors']; ?> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['state']; ?> </div> </div> <table class="table table-striped"> <thead> <tr> <th width="1%" class="nowrap"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'id', @$lists['order_Dir'], @$lists['order']); ?> </th> <th class="title"> <?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'title', @$lists['order_Dir'], @$lists['order']); ?> </th> <th class="title"> <?php echo JHtml::_('grid.sort', 'JFIELD_ALIAS_LABEL', 'alias', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="10%" class="nowrap title"> <?php echo JHtml::_('grid.sort', 'JCATEGORY', 'category', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="10%" class="nowrap hidden-phone"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_CREATED_BY', 'author', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="1%" class="nowrap center"> <?php echo JHtml::_('grid.sort', 'JSTATUS', 'published', @$lists['order_Dir'], @$lists['order']); ?> </th> </tr> </thead> <tfoot> <tr> <td colspan="13"> <?php echo $page->getListFooter(); ?> </td> </tr> </tfoot> <tbody> <?php $k = 0; foreach ($rows as $row) { if ($row->created_by_alias) { $author = $row->created_by_alias; } else { $author = $row->created_by; } ?> <tr class="<?php echo "row$k"; ?>"> <td class="center"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('AA_USE_ID_IN_TAG') . '</strong><br>' . $tag_start . $plugin_tag . ' id="' . $row->id . '"' . $tag_end . '...' . $tag_start . '/' . $plugin_tag . $tag_end . '" onclick="articlesanywhere_jInsertEditorText( \'id\', \'' . $row->id . '\' );return false;">' . $row->id . '</button>'; ?> </td> <td class="title"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('AA_USE_TITLE_IN_TAG') . '</strong><br>' . $tag_start . $plugin_tag . ' title="' . htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8') . '"' . $tag_end . '...' . $tag_start . '/' . $plugin_tag . $tag_end . '" onclick="articlesanywhere_jInsertEditorText( \'title\', \'' . addslashes(htmlspecialchars($row->title, ENT_COMPAT, 'UTF-8')) . '\' );return false;">' . htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8') . '</button>'; ?> </td> <td class="title"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('AA_USE_ALIAS_IN_TAG') . '</strong><br>' . $tag_start . $plugin_tag . ' alias="' . $row->alias . '"' . $tag_end . '...' . $tag_start . '/' . $plugin_tag . $tag_end . '" onclick="articlesanywhere_jInsertEditorText( \'alias\', \'' . $row->alias . '\' );return false;">' . $row->alias . '</button>'; ?> </td> <td> <?php echo $row->category; ?> </td> <td class="hidden-phone"> <?php echo $author; ?> </td> <td class="center"> <?php echo JHtml::_('jgrid.published', $row->published, $row->id, 'articles.', 0, 'cb', $row->publish_up, $row->publish_down); ?> </td> </tr> <?php $k = 1 - $k; } ?> </tbody> </table> <?php } private function outputTableK2(&$rows, &$page, &$lists, $params) { $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); // Tag character start and end [$tag_start, $tag_end] = explode('.', $params->tag_characters); $plugin_tag = explode(',', $params->article_tag); $plugin_tag = trim($plugin_tag[0]); ?> <div id="filter-bar" class="btn-toolbar"> <div class="filter-search btn-group pull-left"> <label for="filter_search" class="element-invisible"><?php echo JText::_('COM_BANNERS_SEARCH_IN_TITLE'); ?></label> <input type="text" name="filter_search" id="filter_search" placeholder="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>" value="<?php echo $lists['filter_search']; ?>" title="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>"> </div> <div class="btn-group pull-left hidden-phone"> <button class="btn btn-default" type="submit" rel="tooltip" title="<?php echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>"> <span class="icon-search"></span></button> <button class="btn btn-default" type="button" rel="tooltip" title="<?php echo JText::_('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.id('filter_search').value='';this.form.submit();"> <span class="icon-remove"></span></button> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['categories']; ?> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['authors']; ?> </div> <div class="btn-group pull-right hidden-phone"> <?php echo $lists['state']; ?> </div> </div> <table class="table table-striped"> <thead> <tr> <th width="1%" class="nowrap"> <?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'id', @$lists['order_Dir'], @$lists['order']); ?> </th> <th class="title"> <?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'title', @$lists['order_Dir'], @$lists['order']); ?> </th> <th class="title"> <?php echo JHtml::_('grid.sort', 'JFIELD_ALIAS_LABEL', 'alias', @$lists['order_Dir'], @$lists['order']); ?> </th> <th class="title" width="8%" nowrap="nowrap"> <?php echo JHtml::_('grid.sort', 'JCATEGORY', 'category', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="10%" class="nowrap hidden-phone"> <?php echo JHtml::_('grid.sort', 'JAUTHOR', 'author', @$lists['order_Dir'], @$lists['order']); ?> </th> <th width="1%" class="nowrap center"> <?php echo JHtml::_('grid.sort', 'JSTATUS', 'published', @$lists['order_Dir'], @$lists['order']); ?> </th> </tr> </thead> <tfoot> <tr> <td colspan="13"> <?php echo $page->getListFooter(); ?> </td> </tr> </tfoot> <tbody> <?php $k = 0; foreach ($rows as $row) { if ($user->authorise('com_users', 'manage')) { if ($row->created_by_alias) { $author = $row->created_by_alias; } else { $author = $row->author; } } else { if ($row->created_by_alias) { $author = $row->created_by_alias; } else { $author = $row->author; } } ?> <tr class="<?php echo "row$k"; ?>"> <td class="center"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('AA_USE_ID_IN_TAG') . '</strong><br>' . $tag_start . $plugin_tag . ' type="k2" id="' . $row->id . '"' . $tag_end . '...' . $tag_start . '/' . $plugin_tag . $tag_end . '" onclick="articlesanywhere_jInsertEditorText( \'id\', \'' . $row->id . '\' );return false;">' . $row->id . '</button>'; ?> </td> <td class="title"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('AA_USE_TITLE_IN_TAG') . '</strong><br>' . $tag_start . $plugin_tag . ' type="k2" title="' . htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8') . '"' . $tag_end . '...' . $tag_start . '/' . $plugin_tag . $tag_end . '" onclick="articlesanywhere_jInsertEditorText( \'title\', \'' . addslashes(htmlspecialchars($row->title, ENT_COMPAT, 'UTF-8')) . '\' );return false;">' . htmlspecialchars($row->title, ENT_QUOTES, 'UTF-8') . '</button>'; ?> </td> <td class="title"> <?php echo '<button class="btn btn-default" rel="tooltip" title="<strong>' . JText::_('AA_USE_ALIAS_IN_TAG') . '</strong><br>' . $tag_start . $plugin_tag . ' type="k2" alias="' . $row->alias . '"' . $tag_end . '...' . $tag_start . '/' . $plugin_tag . $tag_end . '" onclick="articlesanywhere_jInsertEditorText( \'alias\', \'' . $row->alias . '\' );return false;">' . $row->alias . '</button>'; ?> </td> <td> <?php echo $row->category; ?> </td> <td> <?php echo $author; ?> </td> <td class="center"> <?php echo JHtml::_('jgrid.published', $row->published, $row->id, 'articles.', 0, 'cb', $row->publish_up, $row->publish_down); ?> </td> </tr> <?php $k = 1 - $k; } ?> </tbody> </table> <?php } } articlesanywhere/language/en-GB/en-GB.plg_editors-xtd_articlesanywhere.sys.ini000077500000001152152160542320023542 0ustar00;; @package Articles Anywhere ;; @version 14.2.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_ARTICLESANYWHERE="Button - Regular Labs - Articles Anywhere" PLG_EDITORS-XTD_ARTICLESANYWHERE_DESC="Articles Anywhere - place articles anywhere in Joomla!" ARTICLESANYWHERE="Articles Anywhere" articlesanywhere/language/en-GB/en-GB.plg_editors-xtd_articlesanywhere.ini000077500000001557152160542320022736 0ustar00;; @package Articles Anywhere ;; @version 14.2.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_ARTICLESANYWHERE="Button - Regular Labs - Articles Anywhere" PLG_EDITORS-XTD_ARTICLESANYWHERE_DESC="Articles Anywhere - place articles anywhere in Joomla!" ARTICLESANYWHERE="Articles Anywhere" ARTICLE="Article" ARTICLESANYWHERE_DESC="This button makes inserting {article} tags easy!" AA_SETTINGS="Please see the [[%1:start link%]]Articles Anywhere system plugin[[%2:end link%]] for settings." AA_THE_SYSTEM_PLUGIN="the Articles Anywhere system plugin" articlesanywhere/language/en-GB/.htaccess000044400000000177152160542320014371 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>articlesanywhere/language/fr-FR/fr-FR.plg_editors-xtd_articlesanywhere.ini000077500000001612152160542320022776 0ustar00;; @package Articles Anywhere ;; @version 14.2.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_ARTICLESANYWHERE="Bouton - Regular Labs - Articles Anywhere" PLG_EDITORS-XTD_ARTICLESANYWHERE_DESC="Articles Anywhere - placez vos articles n'importe où dans Joomla!" ARTICLESANYWHERE="Articles Anywhere" ARTICLE="Article" ARTICLESANYWHERE_DESC="Ce bouton permet d'insérer facilement des balises {article} !" AA_SETTINGS="Regardez [[%1:start link%]]Articles Anywhere system plugin[[%2:end link%]] pour le configurer." AA_THE_SYSTEM_PLUGIN="le plugin système Articles Anywhere" articlesanywhere/language/fr-FR/.htaccess000044400000000177152160542320014415 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>articlesanywhere/language/fr-FR/fr-FR.plg_editors-xtd_articlesanywhere.sys.ini000077500000001166152160542320023617 0ustar00;; @package Articles Anywhere ;; @version 14.2.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_ARTICLESANYWHERE="Bouton - Regular Labs - Articles Anywhere" PLG_EDITORS-XTD_ARTICLESANYWHERE_DESC="Articles Anywhere - placez vos articles n'importe où dans Joomla!" ARTICLESANYWHERE="Articles Anywhere" articlesanywhere/language/.htaccess000044400000000177152160542320013501 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>articlesanywhere/helper.php000077500000001470152160542320012114 0ustar00<?php /** * @package Articles Anywhere * @version 14.2.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Object\CMSObject as JObject; use RegularLabs\Library\EditorButtonHelper as RL_EditorButtonHelper; /** * Plugin that places the button */ class PlgButtonArticlesAnywhereHelper extends RL_EditorButtonHelper { /** * Display the button * * @param string $editor_name * * @return JObject|null A button object */ public function render($editor_name) { return $this->renderPopupButton($editor_name); } } articlesanywhere/articlesanywhere.xml000077500000003563152160542320014224 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3" type="plugin" group="editors-xtd" method="upgrade"> <name>PLG_EDITORS-XTD_ARTICLESANYWHERE</name> <description>PLG_EDITORS-XTD_ARTICLESANYWHERE_DESC</description> <version>14.2.0PRO</version> <creationDate>September 2023</creationDate> <author>Regular Labs (Peter van Westen)</author> <authorEmail>info@regularlabs.com</authorEmail> <authorUrl>https://regularlabs.com</authorUrl> <copyright>Copyright © 2023 Regular Labs - All Rights Reserved</copyright> <license>GNU General Public License version 2 or later</license> <files> <file plugin="articlesanywhere">articlesanywhere.php</file> <file>popup.php</file> <file>helper.php</file> <folder>language</folder> <folder>layouts</folder> </files> <config> <fields name="params" addfieldpath="/libraries/regularlabs/fields"> <fieldset name="basic"> <field name="@load_language_regularlabs" type="rl_loadlanguage" extension="plg_system_regularlabs"/> <field name="@load_language" type="rl_loadlanguage" extension="plg_editors-xtd_articlesanywhere"/> <field name="@license" type="rl_license" extension="ARTICLESANYWHERE"/> <field name="@version" type="rl_version" extension="ARTICLESANYWHERE"/> <field name="@dependency" type="rl_dependency" label="AA_THE_SYSTEM_PLUGIN" file="/plugins/system/articlesanywhere/articlesanywhere.xml"/> <field name="@header" type="rl_header" label="ARTICLESANYWHERE" description="ARTICLESANYWHERE_DESC" url="https://regularlabs.com/articlesanywhere"/> <field name="@note__settings" type="note" class="alert alert-info" description="AA_SETTINGS,<a href="index.php?option=com_plugins&filter_folder=system&filter_search=articles anywhere" target="_blank">,</a>"/> </fieldset> </fields> </config> </extension> articlesanywhere/.htaccess000044400000000177152160542320011716 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>articlesanywhere/script.install.php000077500000001426152160542320013607 0ustar00<?php /** * @package Articles Anywhere * @version 12.4.1PRO * * @author Peter van Westen <info@regularlabs.com> * @link http://regularlabs.com * @copyright Copyright © 2022 Regular Labs All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ defined('_JEXEC') or die; require_once __DIR__ . '/script.install.helper.php'; class PlgEditorsXtdArticlesAnywhereInstallerScript extends PlgEditorsXtdArticlesAnywhereInstallerScriptHelper { public $alias = 'articlesanywhere'; public $extension_type = 'plugin'; public $name = 'ARTICLESANYWHERE'; public $plugin_folder = 'editors-xtd'; public function uninstall($adapter) { $this->uninstallPlugin($this->extname, 'system'); } } article/article.xml000064400000001430152160542320010332 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.1" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_article</name> <author>Joomla! Project</author> <creationDate>October 2009</creationDate> <copyright>(C) 2009 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.0.0</version> <description>PLG_ARTICLE_XML_DESCRIPTION</description> <files> <filename plugin="article">article.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_article.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_article.sys.ini</language> </languages> </extension> article/.htaccess000044400000000177152160542320007770 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>article/article.php000064400000003517152160542320010331 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.article * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Article button * * @since 1.5 */ class PlgButtonArticle extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return JObject The button options as JObject * * @since 1.5 */ public function onDisplay($name) { $input = JFactory::getApplication()->input; $user = JFactory::getUser(); // Can create in any category (component permission) or at least in one category $canCreateRecords = $user->authorise('core.create', 'com_content') || count($user->getAuthorisedCategories('com_content', 'core.create')) > 0; // Instead of checking edit on all records, we can use **same** check as the form editing view $values = (array) JFactory::getApplication()->getUserState('com_content.edit.article.id'); $isEditingRecords = count($values); // This ACL check is probably a double-check (form view already performed checks) $hasAccess = $canCreateRecords || $isEditingRecords; if (!$hasAccess) { return; } $link = 'index.php?option=com_content&view=articles&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1&editor=' . $name; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_ARTICLE_BUTTON_ARTICLE'); $button->name = 'file-add'; $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; return $button; } } contact/contact.php000064400000002622152160542320010345 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Editors-xtd.contact * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Editor Contact button * * @since 3.7.0 */ class PlgButtonContact extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.7.0 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return JObject The button options as JObject * * @since 3.7.0 */ public function onDisplay($name) { $user = JFactory::getUser(); if ($user->authorise('core.create', 'com_contact') || $user->authorise('core.edit', 'com_contact') || $user->authorise('core.edit.own', 'com_contact')) { // The URL for the contacts list $link = 'index.php?option=com_contact&view=contacts&layout=modal&tmpl=component&' . JSession::getFormToken() . '=1&editor=' . $name; $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('PLG_EDITORS-XTD_CONTACT_BUTTON_CONTACT'); $button->name = 'address'; $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; return $button; } } } contact/contact.xml000064400000001444152160542320010357 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.7" type="plugin" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_contact</name> <author>Joomla! Project</author> <creationDate>October 2016</creationDate> <copyright>(C) 2016 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.7.0</version> <description>PLG_EDITORS-XTD_CONTACT_XML_DESCRIPTION</description> <files> <filename plugin="contact">contact.php</filename> </files> <languages> <language tag="en-GB">en-GB.plg_editors-xtd_contact.ini</language> <language tag="en-GB">en-GB.plg_editors-xtd_contact.sys.ini</language> </languages> </extension> contact/.htaccess000044400000000177152160542320010000 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>sliders/sliders.xml000077500000003435152160542320010412 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3" type="plugin" group="editors-xtd" method="upgrade"> <name>PLG_EDITORS-XTD_SLIDERS</name> <description>PLG_EDITORS-XTD_SLIDERS_DESC</description> <version>8.4.0PRO</version> <creationDate>September 2023</creationDate> <author>Regular Labs (Peter van Westen)</author> <authorEmail>info@regularlabs.com</authorEmail> <authorUrl>https://regularlabs.com</authorUrl> <copyright>Copyright © 2023 Regular Labs - All Rights Reserved</copyright> <license>GNU General Public License version 2 or later</license> <files> <file plugin="sliders">sliders.php</file> <file>fields.xml</file> <file>helper.php</file> <file>popup.php</file> <file>popup.tmpl.php</file> <folder>language</folder> </files> <config> <fields name="params" addfieldpath="/libraries/regularlabs/fields"> <fieldset name="basic"> <field name="@load_language_regularlabs" type="rl_loadlanguage" extension="plg_system_regularlabs"/> <field name="@load_language" type="rl_loadlanguage" extension="plg_editors-xtd_sliders"/> <field name="@license" type="rl_license" extension="SLIDERS"/> <field name="@version" type="rl_version" extension="SLIDERS"/> <field name="@dependency" type="rl_dependency" label="SLD_THE_SYSTEM_PLUGIN" file="/plugins/system/sliders/sliders.xml"/> <field name="@header" type="rl_header" label="SLIDERS" description="SLIDERS_DESC" url="https://regularlabs.com/sliders"/> <field name="@note__settings" type="note" class="alert alert-info" description="SLD_SETTINGS,<a href="index.php?option=com_plugins&filter_folder=system&filter_search=sliders" target="_blank">,</a>"/> </fieldset> </fields> </config> </extension> sliders/popup.tmpl.php000077500000012447152160542320011055 0ustar00<?php /** * @package Sliders * @version 8.4.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Form\Form as JForm; use Joomla\CMS\HTML\HTMLHelper as JHtml; use Joomla\CMS\Language\Text as JText; $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); $xmlfile = __DIR__ . '/fields.xml'; ?> <div class="reglab-overlay"></div> <div class="header"> <h1 class="page-title"> <span class="icon-reglab icon-sliders"></span> <?php echo JText::_('SLIDERS'); ?> </h1> </div> <nav class="navbar"> <div class="navbar-inner"> <div class="container-fluid"> <div class="btn-toolbar" id="toolbar"> <div class="btn-wrapper" id="toolbar-apply"> <button onclick="if(RegularLabsSlidersPopup.insertText()){window.parent.SqueezeBox.close();}" class="btn btn-small btn-success"> <span class="icon-apply icon-white"></span> <?php echo JText::_('RL_INSERT') ?> </button> </div> <div class="btn-wrapper" id="toolbar-cancel"> <button onclick="if(confirm('<?php echo JText::_('RL_ARE_YOU_SURE'); ?>')){window.parent.SqueezeBox.close();}" class="btn btn-small"> <span class="icon-cancel "></span> <?php echo JText::_('JCANCEL') ?> </button> </div> <?php if (JFactory::getApplication()->isClient('administrator') && $user->authorise('core.admin', 1)) : ?> <div class="btn-wrapper" id="toolbar-options"> <button onclick="window.open('index.php?option=com_plugins&filter_folder=system&filter_search=<?php echo JText::_('SLIDERS') ?>');" class="btn btn-small"> <span class="icon-options"></span> <?php echo JText::_('JOPTIONS') ?> </button> </div> <?php endif; ?> </div> </div> </div> </nav> <div class="container-fluid container-main"> <form action="index.php" id="slidersForm" method="post"> <div class="row-fluid"> <div class="span8"> <?php echo JHtml::_('bootstrap.startTabSet', 'mySliders', ['active' => 'slider_1']); ?> <?php for ($i = 1; $i <= $this->params->button_max_count; $i++) : ?> <?php $form = new JForm('slider', ['control' => 'slider_' . $i]); $form->loadFile($xmlfile, 1, '//config'); $title = '<span class="slider_' . $i . '_open_icon icon-default hasTooltip"' . ' title="' . JText::_('SLD_DEFAULT') . '" style="display:none;"></span> ' . JText::sprintf('SLD_SLIDER_NUMBER', $i); ?> <?php echo JHtml::_('bootstrap.addTab', 'mySliders', 'slider_' . $i, $title); ?> <h1><?php echo $title; ?></h1> <div class="row-fluid"> <div class="span8"> <div class="form-inline form-inline-header"> <div class="control-group"> <div class="control-label"> <label for="slider_<?php echo $i; ?>_title"><?php echo JText::_('JGLOBAL_TITLE'); ?></label> </div> <div class="controls"> <input type="text" name="slider_<?php echo $i; ?>[title]" id="slider_<?php echo $i; ?>_title" value="" class="input-xxlarge input-large-text" size="40"> </div> </div> </div> <div class="control-group"> <div class="controls"> <em><?php echo JText::_('SLD_CONTENT_DESC'); ?></em> <div id="slider_<?php echo $i; ?>_content" style="display:none;" class="well well-small"></div> </div> </div> <?php echo $form->renderFieldset('slider_notice'); ?> </div> <div class="span4"> <?php echo $form->renderFieldset('slider_params'); ?> </div> </div> <?php echo JHtml::_('bootstrap.endTab'); ?> <?php endfor; ?> <?php echo JHtml::_('bootstrap.endTabSet'); ?> </div> <div class="span4"> <h3><?php echo JText::_('SLD_SET_SETTINGS'); ?></h3> <?php $form = new JForm('slider', ['control' => 'slider_1']); $form->loadFile($xmlfile, 1, '//config'); echo $form->renderFieldset('params'); ?> </div> </div> </form> </div> sliders/fields.xml000077500000004211152160542320010204 0ustar00<?xml version="1.0" encoding="utf-8"?> <config addfieldpath="/libraries/regularlabs/fields"> <fieldset name="slider_notice"> <field name="@note__title_empty" type="note" class="alert alert-warning" description="SLD_TITLE_EMPTY" showon="title:"/> </fieldset> <fieldset name="slider_params"> <field name="open" type="radio" class="btn-group" default="" label="SLD_DEFAULT" description="SLD_DEFAULT_DESC"> <option value="">JDEFAULT</option> <option value="0">JNO</option> <option value="1">JYES</option> </field> <field name="alias" type="text" label="JFIELD_ALIAS_LABEL" description="SLD_ALIAS_DESC"/> <field name="class" type="text" label="RL_CSS_CLASS" description="RL_CSS_CLASS_DESC"/> <field name="icon" type="radio" class="btn-group" default="0" label="SLD_SHOW_ICON" description="SLD_SHOW_ICON_DESC"> <option value="0">JNO</option> <option value="1">JYES</option> </field> <field name="scroll" type="radio" class="btn-group" default="" label="SLD_SCROLL" description="SLD_SCROLL_DESC"> <option value="">JDEFAULT</option> <option value="0">JNO</option> <option value="1">JYES</option> </field> <field name="access" type="accesslevel" default="" label="JFIELD_ACCESS_LABEL" description="JFIELD_ACCESS_DESC"> <option value="">JALL</option> </field> <field name="usergroup" type="usergrouplist" default="" label="RL_USER_GROUPS" description="RL_USER_GROUPS_DESC"> <option value="">JALL</option> </field> <field name="extra" type="text" class="input-full" label="RL_EXTRA_PARAMETERS" description="RL_EXTRA_PARAMETERS_DESC"/> </fieldset> <fieldset name="params"> <field name="mainclass" type="text" default="" label="SLD_MAIN_CLASS" description="SLD_MAIN_CLASS_DESC"/> <field name="nested" type="radio" class="btn-group" default="0" label="SLD_NESTED_SET" description="SLD_NESTED_SET_DESC"> <option value="0">JNO</option> <option value="1">JYES</option> </field> <field name="nested_id" type="text" class="btn-group" default="nested" label="SLD_NESTED_ID" description="SLD_NESTED_ID_DESC" showon="nested:1"/> </fieldset> </config> sliders/popup.php000077500000004103152160542320010070 0ustar00<?php /** * @package Sliders * @version 8.4.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ namespace RegularLabs\Plugin\EditorButton\Sliders\Popup; defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Language\Text as JText; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonPopup as RL_EditorButtonPopup; use RegularLabs\Library\RegEx as RL_RegEx; class Popup extends RL_EditorButtonPopup { var $require_core_auth = false; public function loadScripts() { // Tag character start and end [$tag_start, $tag_end] = explode('.', $this->params->tag_characters); $editor = JFactory::getApplication()->input->getString('name', 'text'); // Remove any dangerous character to prevent cross site scripting $editor = RL_RegEx::replace('[\'\";\s]', '', $editor); $script = " var sliders_tag_open = '" . RL_RegEx::replace('[^a-z0-9-_]', '', $this->params->tag_open) . "'; var sliders_tag_close = '" . RL_RegEx::replace('[^a-z0-9-_]', '', $this->params->tag_close) . "'; var sliders_tag_delimiter = '" . (($this->params->tag_delimiter == '=') ? '=' : ' ') . "'; var sliders_tag_characters = ['" . $tag_start . "', '" . $tag_end . "']; var sliders_editorname = '" . $editor . "'; var sliders_content_placeholder = '" . JText::_('SLD_TEXT', true) . "'; var sliders_error_empty_title = '" . JText::_('SLD_ERROR_EMPTY_TITLE', true) . "'; var sliders_max_count = " . (int) $this->params->button_max_count . "; "; RL_Document::scriptDeclaration($script); RL_Document::script('sliders/popup.min.js', '8.4.0.p'); } public function loadStyles() { RL_Document::style('sliders/popup.min.css', '8.4.0.p'); } } (new Popup('sliders'))->render(); sliders/language/en-GB/en-GB.plg_editors-xtd_sliders.ini000077500000001471152160542320017121 0ustar00;; @package Sliders ;; @version 8.4.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_SLIDERS="Button - Regular Labs - Sliders" PLG_EDITORS-XTD_SLIDERS_DESC="Sliders - make content sliders in Joomla!" SLIDERS="Sliders" SLIDERS_DESC="With Sliders you can make content sliders anywhere in Joomla!" SLD_SETTINGS="Please see the [[%1:start link%]]Sliders system plugin[[%2:end link%]] for settings." SLD_TEXT="Your text..." SLD_THE_SYSTEM_PLUGIN="the Sliders system plugin" SLD_TITLE="Slider Title" sliders/language/en-GB/en-GB.plg_editors-xtd_sliders.sys.ini000077500000001043152160542320017731 0ustar00;; @package Sliders ;; @version 8.4.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_SLIDERS="Button - Regular Labs - Sliders" PLG_EDITORS-XTD_SLIDERS_DESC="Sliders - make content sliders in Joomla!" SLIDERS="Sliders" sliders/language/en-GB/.htaccess000044400000000177152160542320012465 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>sliders/language/bg-BG/bg-BG.plg_editors-xtd_sliders.sys.ini000077500000001057152160542320017712 0ustar00;; @package Sliders ;; @version 8.1.3 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link http://regularlabs.com ;; @copyright Copyright © 2021 Regular Labs All Rights Reserved ;; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate ; PLG_EDITORS-XTD_SLIDERS="Button - Regular Labs - Sliders" ; PLG_EDITORS-XTD_SLIDERS_DESC="Sliders - make content sliders in Joomla!" SLIDERS="Плъзгачи" sliders/language/bg-BG/bg-BG.plg_editors-xtd_sliders.ini000077500000001533152160542320017074 0ustar00;; @package Sliders ;; @version 8.1.3 ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link http://regularlabs.com ;; @copyright Copyright © 2021 Regular Labs All Rights Reserved ;; @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate ; PLG_EDITORS-XTD_SLIDERS="Button - Regular Labs - Sliders" ; PLG_EDITORS-XTD_SLIDERS_DESC="Sliders - make content sliders in Joomla!" SLIDERS="Плъзгачи" ; SLIDERS_DESC="With Sliders you can make content sliders anywhere in Joomla!" ; SLD_SETTINGS="Please see the [[%1:start link%]]Sliders system plugin[[%2:end link%]] for settings." SLD_TEXT="Вашият текст..." ; SLD_THE_SYSTEM_PLUGIN="the Sliders system plugin" ; SLD_TITLE="Slider Title" sliders/language/bg-BG/.htaccess000044400000000177152160542320012453 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>sliders/language/fr-FR/fr-FR.plg_editors-xtd_sliders.ini000077500000002552152160542320017172 0ustar00;; @package Sliders ;; @version 8.4.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_SLIDERS="Bouton - Panneaux déroulants Regular Labs" PLG_EDITORS-XTD_SLIDERS_DESC="Le plug-in Bouton Sliders permet d'afficher un bouton sous l'éditeur pour créer/insérer des panneaux déroulants (<i>slides</i>) dans tous les contenus Joomla!" SLIDERS="Panneaux déroulants" SLIDERS_DESC="Le système Sliders de Regular Labs vous permet de créer/insérer des panneaux déroulants (<i>slides</i>) dans tous les contenus Joomla tels les descriptions de catégorie, les articles, les modules personnalisés, et tout autre composant ayant une zone d'éditeur.<br>Pour en savoir plus, consultez le site officiel de l'extension par le lien ci-dessous." SLD_SETTINGS="Vous pouvez également consulter le plug-in [[%1:start link%]]Panneaux déroulants Regular Labs[[%2:end link%]] qui permet de configurer les éléments insérés par le bouton." SLD_TEXT="Votre texte..." SLD_THE_SYSTEM_PLUGIN="Plugin système Panneaux déroulants Regular Labs" SLD_TITLE="Titre du Slide" sliders/language/fr-FR/fr-FR.plg_editors-xtd_sliders.sys.ini000077500000001264152160542320020006 0ustar00;; @package Sliders ;; @version 8.4.0PRO ;; ;; @author Peter van Westen <info@regularlabs.com> ;; @link https://regularlabs.com ;; @copyright Copyright © 2023 Regular Labs All Rights Reserved ;; @license GNU General Public License version 2 or later ;; ;; @translate Want to help with translations? See: https://regularlabs.com/translate PLG_EDITORS-XTD_SLIDERS="Bouton - Panneaux déroulants Regular Labs" PLG_EDITORS-XTD_SLIDERS_DESC="Le plug-in Bouton Sliders permet d'afficher un bouton sous l'éditeur pour créer/insérer des panneaux déroulants (<i>slides</i>) dans tous les contenus Joomla!" SLIDERS="Panneaux déroulants" sliders/language/fr-FR/.htaccess000044400000000177152160542320012511 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>sliders/language/.htaccess000044400000000177152160542320011575 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>sliders/helper.php000077500000007135152160542320010214 0ustar00<?php /** * @package Sliders * @version 8.4.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ defined('_JEXEC') or die; use Joomla\CMS\Language\Text as JText; use Joomla\CMS\Object\CMSObject as JObject; use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonHelper as RL_EditorButtonHelper; use RegularLabs\Library\RegEx as RL_RegEx; /** ** Plugin that places the button */ class PlgButtonSlidersHelper extends RL_EditorButtonHelper { /** * Display the button * * @param string $editor_name * * @return JObject|null A button object */ public function render($editor_name) { RL_Document::loadEditorButtonDependencies(); if ($this->params->button_use_simple_button) { return $this->renderSimpleButton($editor_name); } return $this->renderPopupButton($editor_name); } private function getCustomText() { $text = trim($this->params->button_custom_code); $text = str_replace(["\r", "\n"], ['', '</p>\n<p>'], trim($text)) . '</p>'; $text = RL_RegEx::replace('^(.*?)</p>', '\1', $text); $text = str_replace( ['{slider ', '{/sliders}'], ['{' . $this->params->tag_open . $this->params->tag_delimiter, '{/' . $this->params->tag_close . '}'] , trim($text) ); return $text; } private function getDefaultText() { return '{' . $this->params->tag_open . $this->params->tag_delimiter . JText::_('SLD_TITLE') . ' 1}\n' . '<p>[:SELECTION:]</p>\n' . '<p>{' . $this->params->tag_open . $this->params->tag_delimiter . JText::_('SLD_TITLE') . ' 2}</p>\n' . '<p>' . JText::_('SLD_TEXT') . '</p>\n' . '<p>{/' . $this->params->tag_close . '}</p>'; } private function getExampleText() { switch (true) { case ($this->params->button_use_custom_code && $this->params->button_custom_code): return $this->getCustomText(); default: return $this->getDefaultText(); } } private function renderSimpleButton($editor_name) { $this->params->tag_open = RL_RegEx::replace('[^a-z0-9-_]', '', $this->params->tag_open); $this->params->tag_close = RL_RegEx::replace('[^a-z0-9-_]', '', $this->params->tag_close); $this->params->tag_delimiter = ($this->params->tag_delimiter == '=') ? '=' : ' '; $text = $this->getExampleText(); $text = str_replace('\\\\n', '\\n', addslashes($text)); $text = str_replace('{', '{\'+\'', $text); $js = " function insertSliders(editor) { selection = RegularLabsScripts.getEditorSelection(editor); selection = selection ? selection : '" . JText::_('SLD_TEXT', true) . "'; text = '" . $text . "'; text = text.replace('[:SELECTION:]', selection); jInsertEditorText(text, editor); } "; RL_Document::scriptDeclaration($js); $button = new JObject; $button->modal = false; $button->class = 'btn'; $button->link = '#'; $button->onclick = 'insertSliders(\'' . $editor_name . '\');return false;'; $button->text = $this->getButtonText(); $button->name = $this->getIcon(); return $button; } } sliders/sliders.php000077500000001722152160542320010376 0ustar00<?php /** * @package Sliders * @version 8.4.0PRO * * @author Peter van Westen <info@regularlabs.com> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ use RegularLabs\Library\Document as RL_Document; use RegularLabs\Library\EditorButtonPlugin as RL_EditorButtonPlugin; use RegularLabs\Library\Extension as RL_Extension; defined('_JEXEC') or die; if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php') || ! is_file(JPATH_LIBRARIES . '/regularlabs/src/EditorButtonPlugin.php') ) { return; } require_once JPATH_LIBRARIES . '/regularlabs/autoload.php'; if ( ! RL_Document::isJoomlaVersion(3)) { RL_Extension::disable('sliders', 'plugin', 'editors-xtd'); return; } if (true) { class PlgButtonSliders extends RL_EditorButtonPlugin { var $require_core_auth = false; } } sliders/.htaccess000044400000000177152160542320010012 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>sliders/script.install.php000077500000001402152160542320011675 0ustar00<?php /** * @package Sliders * @version 8.2.4PRO * * @author Peter van Westen <info@regularlabs.com> * @link http://regularlabs.com * @copyright Copyright © 2022 Regular Labs All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ defined('_JEXEC') or die; require_once __DIR__ . '/script.install.helper.php'; class PlgEditorsXtdSlidersInstallerScript extends PlgEditorsXtdSlidersInstallerScriptHelper { public $alias = 'sliders'; public $extension_type = 'plugin'; public $name = 'SLIDERS'; public $plugin_folder = 'editors-xtd'; public function uninstall($adapter) { $this->uninstallPlugin($this->extname, 'system'); } } .htaccess000044400000000177152160542320006345 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>dxfabutton/dxfabutton.xml000077500000001573152160542320011635 0ustar00<?xml version="1.0" encoding="utf-8"?> <!-- /** * @copyright Copyright (c) 2014 dibuxo. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ --> <extension type="plugin" version="3.0" group="editors-xtd" method="upgrade"> <name>plg_editors-xtd_dx fontawesome button</name> <author>anton</author> <creationDate>Jan 2016</creationDate> <copyright>Copyright (c) 2014 dibuxo. All rights reserved.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>info@dibuxo.com</authorEmail> <authorUrl>dibuxo.com</authorUrl> <version>5.0.7</version> <description> <![CDATA[ Easy button to insert fontAwesome 5 icons ]]> </description> <files> <filename plugin="dxfabutton">dxfabutton.php</filename> <filename>index.html</filename> </files> </extension> dxfabutton/index.html000077500000000040152160542320010716 0ustar00<!DOCTYPE html><title></title> dxfabutton/dxfabutton.php000077500000003151152160542320011616 0ustar00<?php /** * @copyright Copyright (c) 2014 dibuxo. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // no direct access defined('_JEXEC') or die; /** * editors-xtd - fontawesomebutton Plugin * * @package Joomla.Plugin * @subpakage dibuxo.fontawesomebutton */ class PlgButtonDxfabutton extends JPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return array A two element array of (imageName, textToInsert) */ public function onDisplay($name) { $content_params = JComponentHelper::getParams( 'com_dxfontawesome' ); $faversion = $content_params->get( 'faversion', '4'); JHtml::_('behavior.modal'); // Import CSS $isFront = JFactory::getApplication()->isSite() ? 'administrator/' : ''; //prevent front $isFront = ''; if($faversion == '4'){ $link = $isFront.'index.php?option=com_dxfontawesome&view=dxfontawesome&layout=fa_selector&tmpl=component&editor=' . $name; }else{ $link = $isFront.'index.php?option=com_dxfontawesome&view=dxfontawesome&layout=fa_selector5&tmpl=component&editor=' . $name; } $button = new JObject; $button->modal = true; $button->class = 'btn'; $button->link = $link; $button->text = JText::_('FontAwesome '.$faversion); $button->name = 'info-circle'; $button->options = "{handler: 'iframe', size: {x: 740, y: 520}}"; return $button; } } dxfabutton/.htaccess000044400000000177152160542320010523 0ustar00<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>
/var/www/consult-e-syn/public_html/643de/./.././dfef0/editors-xtd.tar