Spade
Mini Shell
PK{V�[�Z�**login/tmpl/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
$cookieLogin = $this->user->get('cookieLogin');
if (!empty($cookieLogin) || $this->user->get('guest'))
{
// The user is not logged in or needs to provide a password.
echo $this->loadTemplate('login');
}
else
{
// The user is already logged in.
echo $this->loadTemplate('logout');
}
PK{V�[?��|GGlogin/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_LOGIN_VIEW_DEFAULT_TITLE"
option="COM_USER_LOGIN_VIEW_DEFAULT_OPTION">
<help
key = "JHELP_MENUS_MENU_ITEM_USER_LOGIN"
/>
<message>
<![CDATA[COM_USER_LOGIN_VIEW_DEFAULT_DESC]]>
</message>
</layout>
<!-- Add fields to the parameters object for the layout. -->
<fields name="params">
<!-- Basic options. -->
<fieldset name="basic"
addrulepath="components/com_users/models/rules"
label="COM_MENUS_BASIC_FIELDSET_LABEL">
<field
name="loginredirectchoice"
type="radio"
label="COM_USERS_FIELD_LOGIN_REDIRECT_CHOICE_LABEL"
description="COM_USERS_FIELD_LOGIN_REDIRECT_CHOICE_DESC"
class="btn-group btn-group-yesno"
default="1"
>
<option
value="1">COM_USERS_FIELD_LOGIN_MENUITEM</option>
<option
value="0">COM_USERS_FIELD_LOGIN_URL</option>
</field>
<field
name="login_redirect_url"
type="text"
label="JFIELD_LOGIN_REDIRECT_URL_LABEL"
description="JFIELD_LOGIN_REDIRECT_URL_DESC"
class="inputbox"
validate="loginuniquefield"
field="login_redirect_menuitem"
hint="COM_USERS_FIELD_LOGIN_REDIRECT_PLACEHOLDER"
message="COM_USERS_FIELD_LOGIN_REDIRECT_ERROR"
showon="loginredirectchoice:0"
/>
<field
name="login_redirect_menuitem"
type="modal_menu"
label="COM_USERS_FIELD_LOGIN_REDIRECTMENU_LABEL"
description="COM_USERS_FIELD_LOGIN_REDIRECTMENU_DESC"
disable="separator,alias,heading,url"
showon="loginredirectchoice:1"
select="true"
new="true"
edit="true"
clear="true"
>
<option value="">JDEFAULT</option>
</field>
<field
name="logindescription_show"
type="list"
label="JFIELD_BASIS_LOGIN_DESCRIPTION_SHOW_LABEL"
description="JFIELD_BASIS_LOGIN_DESCRIPTION_SHOW_DESC"
default="1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="login_description"
type="textarea"
label="JFIELD_BASIS_LOGIN_DESCRIPTION_LABEL"
description="JFIELD_BASIS_LOGIN_DESCRIPTION_DESC"
rows="3"
cols="40"
filter="safehtml"
showon="logindescription_show:1"
/>
<field
name="login_image"
type="media"
label="JFIELD_LOGIN_IMAGE_LABEL"
description="JFIELD_LOGIN_IMAGE_DESC"
/>
<field
name="spacer1"
type="spacer"
hr="true"
/>
<field
name="logoutredirectchoice"
type="radio"
label="COM_USERS_FIELD_LOGOUT_REDIRECT_CHOICE_LABEL"
description="COM_USERS_FIELD_LOGOUT_REDIRECT_CHOICE_DESC"
class="btn-group btn-group-yesno"
default="1"
>
<option
value="1">COM_USERS_FIELD_LOGIN_MENUITEM</option>
<option
value="0">COM_USERS_FIELD_LOGIN_URL</option>
</field>
<field
name="logout_redirect_url"
type="text"
label="JFIELD_LOGOUT_REDIRECT_URL_LABEL"
description="JFIELD_LOGOUT_REDIRECT_URL_DESC"
class="inputbox"
field="logout_redirect_menuitem"
validate="logoutuniquefield"
hint="COM_USERS_FIELD_LOGIN_REDIRECT_PLACEHOLDER"
message="COM_USERS_FIELD_LOGOUT_REDIRECT_ERROR"
showon="logoutredirectchoice:0"
/>
<field
name="logout_redirect_menuitem"
type="modal_menu"
label="COM_USERS_FIELD_LOGOUT_REDIRECTMENU_LABEL"
description="COM_USERS_FIELD_LOGOUT_REDIRECTMENU_DESC"
disable="separator,alias,heading,url"
showon="logoutredirectchoice:1"
select="true"
new="true"
edit="true"
clear="true"
>
<option value="">JDEFAULT</option>
</field>
<field
name="logoutdescription_show"
type="list"
label="JFIELD_BASIS_LOGOUT_DESCRIPTION_SHOW_LABEL"
description="JFIELD_BASIS_LOGOUT_DESCRIPTION_SHOW_DESC"
default="1"
class="chzn-color"
>
<option value="0">JHIDE</option>
<option value="1">JSHOW</option>
</field>
<field
name="logout_description"
type="textarea"
label="JFIELD_BASIS_LOGOUT_DESCRIPTION_LABEL"
description="JFIELD_BASIS_LOGOUT_DESCRIPTION_DESC"
rows="3"
cols="40"
filter="safehtml"
showon="logoutdescription_show:1"
/>
<field
name="logout_image"
type="media"
label="JFIELD_LOGOUT_IMAGE_LABEL"
description="JFIELD_LOGOUT_IMAGE_DESC"
/>
</fieldset>
</fields>
</metadata>
PK{V�[S��!��login/tmpl/default_login.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="login<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<?php if (($this->params->get('logindescription_show')
== 1 && str_replace(' ', '',
$this->params->get('login_description')) != '')
|| $this->params->get('login_image') != '') :
?>
<div class="login-description">
<?php endif; ?>
<?php if ($this->params->get('logindescription_show')
== 1) : ?>
<?php echo $this->params->get('login_description');
?>
<?php endif; ?>
<?php if ($this->params->get('login_image') !=
'') : ?>
<img src="<?php echo
$this->escape($this->params->get('login_image'));
?>" class="login-image" alt="<?php echo
JText::_('COM_USERS_LOGIN_IMAGE_ALT'); ?>" />
<?php endif; ?>
<?php if (($this->params->get('logindescription_show')
== 1 && str_replace(' ', '',
$this->params->get('login_description')) != '')
|| $this->params->get('login_image') != '') :
?>
</div>
<?php endif; ?>
<form action="<?php echo
JRoute::_('index.php?option=com_users&task=user.login');
?>" method="post" class="form-validate
form-horizontal well">
<fieldset>
<?php echo
$this->form->renderFieldset('credentials'); ?>
<?php if ($this->tfa) : ?>
<?php echo $this->form->renderField('secretkey');
?>
<?php endif; ?>
<?php if (JPluginHelper::isEnabled('system',
'remember')) : ?>
<div class="control-group">
<div class="control-label">
<label for="remember">
<?php echo JText::_('COM_USERS_LOGIN_REMEMBER_ME');
?>
</label>
</div>
<div class="controls">
<input id="remember" type="checkbox"
name="remember" class="inputbox" value="yes"
/>
</div>
</div>
<?php endif; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn
btn-primary">
<?php echo JText::_('JLOGIN'); ?>
</button>
</div>
</div>
<?php $return = $this->form->getValue('return',
'', $this->params->get('login_redirect_url',
$this->params->get('login_redirect_menuitem'))); ?>
<input type="hidden" name="return"
value="<?php echo base64_encode($return); ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
</form>
</div>
<div>
<ul class="nav nav-tabs nav-stacked">
<li>
<a href="<?php echo
JRoute::_('index.php?option=com_users&view=reset');
?>">
<?php echo JText::_('COM_USERS_LOGIN_RESET'); ?>
</a>
</li>
<li>
<a href="<?php echo
JRoute::_('index.php?option=com_users&view=remind');
?>">
<?php echo JText::_('COM_USERS_LOGIN_REMIND'); ?>
</a>
</li>
<?php $usersConfig =
JComponentHelper::getParams('com_users'); ?>
<?php if ($usersConfig->get('allowUserRegistration')) :
?>
<li>
<a href="<?php echo
JRoute::_('index.php?option=com_users&view=registration');
?>">
<?php echo JText::_('COM_USERS_LOGIN_REGISTER'); ?>
</a>
</li>
<?php endif; ?>
</ul>
</div>
PK{V�[*G���login/tmpl/default_logout.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
?>
<div class="logout<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<?php if (($this->params->get('logoutdescription_show')
== 1 && str_replace(' ', '',
$this->params->get('logout_description')) !=
'')|| $this->params->get('logout_image') !=
'') : ?>
<div class="logout-description">
<?php endif; ?>
<?php if ($this->params->get('logoutdescription_show')
== 1) : ?>
<?php echo $this->params->get('logout_description');
?>
<?php endif; ?>
<?php if ($this->params->get('logout_image') !=
'') : ?>
<img src="<?php echo
$this->escape($this->params->get('logout_image'));
?>" class="thumbnail pull-right logout-image"
alt="<?php echo JText::_('COM_USER_LOGOUT_IMAGE_ALT');
?>" />
<?php endif; ?>
<?php if (($this->params->get('logoutdescription_show')
== 1 && str_replace(' ', '',
$this->params->get('logout_description')) !=
'')|| $this->params->get('logout_image') !=
'') : ?>
</div>
<?php endif; ?>
<form action="<?php echo
JRoute::_('index.php?option=com_users&task=user.logout');
?>" method="post" class="form-horizontal
well">
<div class="control-group">
<div class="controls">
<button type="submit" class="btn
btn-primary">
<span class="icon-arrow-left icon-white"></span>
<?php echo JText::_('JLOGOUT'); ?>
</button>
</div>
</div>
<?php if ($this->params->get('logout_redirect_url')) :
?>
<input type="hidden" name="return"
value="<?php echo
base64_encode($this->params->get('logout_redirect_url',
$this->form->getValue('return'))); ?>" />
<?php else : ?>
<input type="hidden" name="return"
value="<?php echo
base64_encode($this->params->get('logout_redirect_menuitem',
$this->form->getValue('return'))); ?>" />
<?php endif; ?>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[¿�.��login/tmpl/logout.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_LOGOUT_VIEW_DEFAULT_TITLE"
option="COM_USER_LOGOUT_VIEW_DEFAULT_OPTION">
<help key = "JHELP_MENUS_MENU_ITEM_USER_LOGOUT"/>
<message>
<![CDATA[COM_USER_LOGOUT_VIEW_DEFAULT_DESC]]>
</message>
</layout>
<!-- Add fields to the request variables for the layout. -->
<fields name="request">
<fieldset name="request">
<field
name="task"
type="hidden"
default="user.menulogout"
/>
</fieldset>
</fields>
<!-- Add fields to the parameters object for the layout. -->
<fields name="params">
<fieldset name="basic"
label="COM_MENUS_BASIC_FIELDSET_LABEL">
<field
name="logout"
type="modal_menu"
label="JFIELD_LOGOUT_REDIRECT_PAGE_LABEL"
description="JFIELD_LOGOUT_REDIRECT_PAGE_DESC"
disable="separator,alias,heading,url"
select="true"
new="true"
edit="true"
clear="true"
>
<option value="">JDEFAULT</option>
</field>
</fieldset>
</fields>
</metadata>
PK{V�[������login/view.html.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
/**
* Login view class for Users.
*
* @since 1.5
*/
class UsersViewLogin extends JViewLegacy
{
protected $form;
protected $params;
protected $state;
protected $user;
/**
* Method to display the view.
*
* @param string $tpl The name of the template file to parse;
automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*
* @since 1.5
*/
public function display($tpl = null)
{
// Get the view data.
$this->user = JFactory::getUser();
$this->form = $this->get('Form');
$this->state = $this->get('State');
$this->params = $this->state->get('params');
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Check for layout override
$active = JFactory::getApplication()->getMenu()->getActive();
if (isset($active->query['layout']))
{
$this->setLayout($active->query['layout']);
}
$tfa = JAuthenticationHelper::getTwoFactorMethods();
$this->tfa = is_array($tfa) && count($tfa) > 1;
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($this->params->get('pageclass_sfx'),
ENT_COMPAT, 'UTF-8');
$this->prepareDocument();
parent::display($tpl);
}
/**
* Prepares the document
*
* @return void
*
* @since 1.6
*/
protected function prepareDocument()
{
$app = JFactory::getApplication();
$menus = $app->getMenu();
$user = JFactory::getUser();
$login = $user->get('guest') ? true : false;
$title = null;
// Because the application sets a default page title,
// we need to get it from the menu item itself
$menu = $menus->getActive();
if ($menu)
{
$this->params->def('page_heading',
$this->params->get('page_title', $menu->title));
}
else
{
$this->params->def('page_heading', $login ?
JText::_('JLOGIN') : JText::_('JLOGOUT'));
}
$title = $this->params->get('page_title', '');
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
$this->document->setTitle($title);
if ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots',
$this->params->get('robots'));
}
}
}
PK{V�[s-T�##profile/tmpl/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
?>
<div class="profile<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<?php if (JFactory::getUser()->id == $this->data->id) : ?>
<ul class="btn-toolbar pull-right">
<li class="btn-group">
<a class="btn" href="<?php echo
JRoute::_('index.php?option=com_users&task=profile.edit&user_id='
. (int) $this->data->id); ?>">
<span class="icon-user"></span>
<?php echo JText::_('COM_USERS_EDIT_PROFILE'); ?>
</a>
</li>
</ul>
<?php endif; ?>
<?php echo $this->loadTemplate('core'); ?>
<?php echo $this->loadTemplate('params'); ?>
<?php echo $this->loadTemplate('custom'); ?>
</div>
PK{V�[����33profile/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_PROFILE_VIEW_DEFAULT_TITLE"
option="COM_USER_PROFILE_VIEW_DEFAULT_OPTION">
<help
key = "JHELP_MENUS_MENU_ITEM_USER_PROFILE"
/>
<message>
<![CDATA[COM_USER_PROFILE_VIEW_DEFAULT_DESC]]>
</message>
</layout>
</metadata>
PK{V�[����profile/tmpl/default_core.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
?>
<fieldset id="users-profile-core">
<legend>
<?php echo JText::_('COM_USERS_PROFILE_CORE_LEGEND'); ?>
</legend>
<dl class="dl-horizontal">
<dt>
<?php echo JText::_('COM_USERS_PROFILE_NAME_LABEL'); ?>
</dt>
<dd>
<?php echo $this->escape($this->data->name); ?>
</dd>
<dt>
<?php echo JText::_('COM_USERS_PROFILE_USERNAME_LABEL');
?>
</dt>
<dd>
<?php echo $this->escape($this->data->username); ?>
</dd>
<dt>
<?php echo
JText::_('COM_USERS_PROFILE_REGISTERED_DATE_LABEL'); ?>
</dt>
<dd>
<?php echo JHtml::_('date',
$this->data->registerDate, JText::_('DATE_FORMAT_LC1'));
?>
</dd>
<dt>
<?php echo
JText::_('COM_USERS_PROFILE_LAST_VISITED_DATE_LABEL'); ?>
</dt>
<?php if ($this->data->lastvisitDate !=
$this->db->getNullDate()) : ?>
<dd>
<?php echo JHtml::_('date',
$this->data->lastvisitDate, JText::_('DATE_FORMAT_LC1'));
?>
</dd>
<?php else : ?>
<dd>
<?php echo JText::_('COM_USERS_PROFILE_NEVER_VISITED');
?>
</dd>
<?php endif; ?>
</dl>
</fieldset>
PK{V�[K��� � profile/tmpl/default_custom.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
JHtml::register('users.spacer', array('JHtmlUsers',
'spacer'));
$fieldsets = $this->form->getFieldsets();
if (isset($fieldsets['core']))
{
unset($fieldsets['core']);
}
if (isset($fieldsets['params']))
{
unset($fieldsets['params']);
}
$tmp = isset($this->data->jcfields) ?
$this->data->jcfields : array();
$customFields = array();
foreach ($tmp as $customField)
{
$customFields[$customField->name] = $customField;
}
?>
<?php foreach ($fieldsets as $group => $fieldset) : ?>
<?php $fields = $this->form->getFieldset($group); ?>
<?php if (count($fields)) : ?>
<fieldset id="users-profile-custom-<?php echo $group;
?>" class="users-profile-custom-<?php echo $group;
?>">
<?php if (isset($fieldset->label) && ($legend =
trim(JText::_($fieldset->label))) !== '') : ?>
<legend><?php echo $legend; ?></legend>
<?php endif; ?>
<?php if (isset($fieldset->description) &&
trim($fieldset->description)) : ?>
<p><?php echo
$this->escape(JText::_($fieldset->description)); ?></p>
<?php endif; ?>
<dl class="dl-horizontal">
<?php foreach ($fields as $field) : ?>
<?php if (!$field->hidden && $field->type !==
'Spacer') : ?>
<dt>
<?php echo $field->title; ?>
</dt>
<dd>
<?php if (key_exists($field->fieldname, $customFields)) :
?>
<?php echo strlen($customFields[$field->fieldname]->value)
? $customFields[$field->fieldname]->value :
JText::_('COM_USERS_PROFILE_VALUE_NOT_FOUND'); ?>
<?php elseif (JHtml::isRegistered('users.' .
$field->id)) : ?>
<?php echo JHtml::_('users.' . $field->id,
$field->value); ?>
<?php elseif (JHtml::isRegistered('users.' .
$field->fieldname)) : ?>
<?php echo JHtml::_('users.' . $field->fieldname,
$field->value); ?>
<?php elseif (JHtml::isRegistered('users.' .
$field->type)) : ?>
<?php echo JHtml::_('users.' . $field->type,
$field->value); ?>
<?php else : ?>
<?php echo JHtml::_('users.value', $field->value);
?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php endforeach; ?>
</dl>
</fieldset>
<?php endif; ?>
<?php endforeach; ?>
PK{V�[�A
33profile/tmpl/default_params.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
?>
<?php $fields = $this->form->getFieldset('params');
?>
<?php if (count($fields)) : ?>
<fieldset id="users-profile-custom">
<legend><?php echo
JText::_('COM_USERS_SETTINGS_FIELDSET_LABEL');
?></legend>
<dl class="dl-horizontal">
<?php foreach ($fields as $field) : ?>
<?php if (!$field->hidden) : ?>
<dt>
<?php echo $field->title; ?>
</dt>
<dd>
<?php if (JHtml::isRegistered('users.' . $field->id))
: ?>
<?php echo JHtml::_('users.' . $field->id,
$field->value); ?>
<?php elseif (JHtml::isRegistered('users.' .
$field->fieldname)) : ?>
<?php echo JHtml::_('users.' . $field->fieldname,
$field->value); ?>
<?php elseif (JHtml::isRegistered('users.' .
$field->type)) : ?>
<?php echo JHtml::_('users.' . $field->type,
$field->value); ?>
<?php else : ?>
<?php echo JHtml::_('users.value', $field->value);
?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php endforeach; ?>
</dl>
</fieldset>
<?php endif; ?>
PK{V�[�~�profile/tmpl/edit.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('bootstrap.tooltip');
// Load user_profile plugin language
$lang = JFactory::getLanguage();
$lang->load('plg_user_profile', JPATH_ADMINISTRATOR);
?>
<div class="profile-edit<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<script type="text/javascript">
Joomla.twoFactorMethodChange = function(e)
{
var selectedPane = 'com_users_twofactor_' +
jQuery('#jform_twofactor_method').val();
jQuery.each(jQuery('#com_users_twofactor_forms_container>div'),
function(i, el)
{
if (el.id != selectedPane)
{
jQuery('#' + el.id).hide(0);
}
else
{
jQuery('#' + el.id).show(0);
}
});
}
</script>
<form id="member-profile" action="<?php echo
JRoute::_('index.php?option=com_users&task=profile.save');
?>" method="post" class="form-validate
form-horizontal well" enctype="multipart/form-data">
<?php // Iterate through the form fieldsets and display each one.
?>
<?php foreach ($this->form->getFieldsets() as $group =>
$fieldset) : ?>
<?php $fields = $this->form->getFieldset($group); ?>
<?php if (count($fields)) : ?>
<fieldset>
<?php // If the fieldset has a label set, display it as the legend.
?>
<?php if (isset($fieldset->label)) : ?>
<legend>
<?php echo JText::_($fieldset->label); ?>
</legend>
<?php endif; ?>
<?php if (isset($fieldset->description) &&
trim($fieldset->description)) : ?>
<p>
<?php echo $this->escape(JText::_($fieldset->description));
?>
</p>
<?php endif; ?>
<?php // Iterate through the fields in the set and display them.
?>
<?php foreach ($fields as $field) : ?>
<?php // If the field is hidden, just display the input. ?>
<?php if ($field->hidden) : ?>
<?php echo $field->input; ?>
<?php else : ?>
<div class="control-group">
<div class="control-label">
<?php echo $field->label; ?>
<?php if (!$field->required && $field->type !==
'Spacer') : ?>
<span class="optional">
<?php echo JText::_('COM_USERS_OPTIONAL'); ?>
</span>
<?php endif; ?>
</div>
<div class="controls">
<?php if ($field->fieldname === 'password1') :
?>
<?php // Disables autocomplete ?>
<input type="password"
style="display:none">
<?php endif; ?>
<?php echo $field->input; ?>
</div>
</div>
<?php endif; ?>
<?php endforeach; ?>
</fieldset>
<?php endif; ?>
<?php endforeach; ?>
<?php if (count($this->twofactormethods) > 1) : ?>
<fieldset>
<legend><?php echo
JText::_('COM_USERS_PROFILE_TWO_FACTOR_AUTH');
?></legend>
<div class="control-group">
<div class="control-label">
<label id="jform_twofactor_method-lbl"
for="jform_twofactor_method" class="hasTooltip"
title="<?php echo '<strong>' .
JText::_('COM_USERS_PROFILE_TWOFACTOR_LABEL') .
'</strong><br />' .
JText::_('COM_USERS_PROFILE_TWOFACTOR_DESC'); ?>">
<?php echo
JText::_('COM_USERS_PROFILE_TWOFACTOR_LABEL'); ?>
</label>
</div>
<div class="controls">
<?php echo JHtml::_('select.genericlist',
$this->twofactormethods, 'jform[twofactor][method]',
array('onchange' =>
'Joomla.twoFactorMethodChange()'), 'value',
'text', $this->otpConfig->method,
'jform_twofactor_method', false); ?>
</div>
</div>
<div id="com_users_twofactor_forms_container">
<?php foreach ($this->twofactorform as $form) : ?>
<?php $style = $form['method'] ==
$this->otpConfig->method ? 'display: block' :
'display: none'; ?>
<div id="com_users_twofactor_<?php echo
$form['method']; ?>" style="<?php echo $style;
?>">
<?php echo $form['form']; ?>
</div>
<?php endforeach; ?>
</div>
</fieldset>
<fieldset>
<legend>
<?php echo JText::_('COM_USERS_PROFILE_OTEPS'); ?>
</legend>
<div class="alert alert-info">
<?php echo JText::_('COM_USERS_PROFILE_OTEPS_DESC');
?>
</div>
<?php if (empty($this->otpConfig->otep)) : ?>
<div class="alert alert-warning">
<?php echo
JText::_('COM_USERS_PROFILE_OTEPS_WAIT_DESC'); ?>
</div>
<?php else : ?>
<?php foreach ($this->otpConfig->otep as $otep) : ?>
<span class="span3">
<?php echo substr($otep, 0, 4); ?>-<?php echo substr($otep,
4, 4); ?>-<?php echo substr($otep, 8, 4); ?>-<?php echo
substr($otep, 12, 4); ?>
</span>
<?php endforeach; ?>
<div class="clearfix"></div>
<?php endif; ?>
</fieldset>
<?php endif; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary
validate">
<?php echo JText::_('JSUBMIT'); ?>
</button>
<a class="btn" href="<?php echo
JRoute::_('index.php?option=com_users&view=profile');
?>" title="<?php echo JText::_('JCANCEL');
?>">
<?php echo JText::_('JCANCEL'); ?>
</a>
<input type="hidden" name="option"
value="com_users" />
<input type="hidden" name="task"
value="profile.save" />
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[ݏ�88profile/tmpl/edit.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_PROFILE_EDIT_DEFAULT_TITLE"
option="COM_USER_PROFILE_EDIT_DEFAULT_OPTION">
<help
key = "JHELP_MENUS_MENU_ITEM_USER_PROFILE_EDIT"
/>
<message>
<![CDATA[COM_USER_PROFILE_EDIT_DEFAULT_DESC]]>
</message>
</layout>
</metadata>
PK{V�[�'E��profile/view.html.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
/**
* Profile view class for Users.
*
* @since 1.6
*/
class UsersViewProfile extends JViewLegacy
{
protected $data;
protected $form;
protected $params;
protected $state;
/**
* An instance of JDatabaseDriver.
*
* @var JDatabaseDriver
* @since 3.6.3
*/
protected $db;
/**
* Execute and display a template script.
*
* @param string $tpl The name of the template file to parse;
automatically searches through the template paths.
*
* @return mixed A string if successful, otherwise an Error object.
*
* @since 1.6
*/
public function display($tpl = null)
{
$user = JFactory::getUser();
// Get the view data.
$this->data = $this->get('Data');
$this->form = $this->getModel()->getForm(new
JObject(array('id' => $user->id)));
$this->state = $this->get('State');
$this->params = $this->state->get('params');
$this->twofactorform = $this->get('Twofactorform');
$this->twofactormethods = UsersHelper::getTwoFactorMethods();
$this->otpConfig = $this->get('OtpConfig');
$this->db = JFactory::getDbo();
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// View also takes responsibility for checking if the user logged in with
remember me.
$cookieLogin = $user->get('cookieLogin');
if (!empty($cookieLogin))
{
// If so, the user must login to edit the password and other data.
// What should happen here? Should we force a logout which destroys the
cookies?
$app = JFactory::getApplication();
$app->enqueueMessage(JText::_('JGLOBAL_REMEMBER_MUST_LOGIN'),
'message');
$app->redirect(JRoute::_('index.php?option=com_users&view=login',
false));
return false;
}
// Check if a user was found.
if (!$this->data->id)
{
JError::raiseError(404,
JText::_('JERROR_USERS_PROFILE_NOT_FOUND'));
return false;
}
JPluginHelper::importPlugin('content');
$this->data->text = '';
JEventDispatcher::getInstance()->trigger('onContentPrepare',
array ('com_users.user', &$this->data,
&$this->data->params, 0));
unset($this->data->text);
// Check for layout override
$active = JFactory::getApplication()->getMenu()->getActive();
if (isset($active->query['layout']))
{
$this->setLayout($active->query['layout']);
}
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($this->params->get('pageclass_sfx'));
$this->prepareDocument();
return parent::display($tpl);
}
/**
* Prepares the document
*
* @return void
*
* @since 1.6
*/
protected function prepareDocument()
{
$app = JFactory::getApplication();
$menus = $app->getMenu();
$user = JFactory::getUser();
$title = null;
// Because the application sets a default page title,
// we need to get it from the menu item itself
$menu = $menus->getActive();
if ($menu)
{
$this->params->def('page_heading',
$this->params->get('page_title', $user->name));
}
else
{
$this->params->def('page_heading',
JText::_('COM_USERS_PROFILE'));
}
$title = $this->params->get('page_title', '');
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
$this->document->setTitle($title);
if ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots',
$this->params->get('robots'));
}
}
}
PK{V�[}*A��registration/tmpl/complete.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
?>
<div class="registration-complete<?php echo
$this->pageclass_sfx; ?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
</div>
PK{V�[��˙ppregistration/tmpl/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="registration<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1><?php echo
$this->escape($this->params->get('page_heading'));
?></h1>
</div>
<?php endif; ?>
<form id="member-registration" action="<?php echo
JRoute::_('index.php?option=com_users&task=registration.register');
?>" method="post" class="form-validate
form-horizontal well" enctype="multipart/form-data">
<?php // Iterate through the form fieldsets and display each one.
?>
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<?php $fields = $this->form->getFieldset($fieldset->name);
?>
<?php if (count($fields)) : ?>
<fieldset>
<?php // If the fieldset has a label set, display it as the legend.
?>
<?php if (isset($fieldset->label)) : ?>
<legend><?php echo JText::_($fieldset->label);
?></legend>
<?php endif; ?>
<?php echo $this->form->renderFieldset($fieldset->name);
?>
</fieldset>
<?php endif; ?>
<?php endforeach; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary
validate">
<?php echo JText::_('JREGISTER'); ?>
</button>
<a class="btn" href="<?php echo
JRoute::_(''); ?>" title="<?php echo
JText::_('JCANCEL'); ?>">
<?php echo JText::_('JCANCEL'); ?>
</a>
<input type="hidden" name="option"
value="com_users" />
<input type="hidden" name="task"
value="registration.register" />
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[��B�EEregistration/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_REGISTRATION_VIEW_DEFAULT_TITLE"
option="COM_USER_REGISTRATION_VIEW_DEFAULT_OPTION">
<help
key="JHELP_MENUS_MENU_ITEM_USER_REGISTRATION"
/>
<message>
<![CDATA[COM_USER_REGISTRATION_VIEW_DEFAULT_DESC]]>
</message>
</layout>
</metadata>
PK{V�[��r��
�
registration/view.html.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
/**
* Registration view class for Users.
*
* @since 1.6
*/
class UsersViewRegistration extends JViewLegacy
{
protected $data;
protected $form;
protected $params;
protected $state;
public $document;
/**
* Method to display the view.
*
* @param string $tpl The template file to include
*
* @return mixed
*
* @since 1.6
*/
public function display($tpl = null)
{
// Get the view data.
$this->form = $this->get('Form');
$this->data = $this->get('Data');
$this->state = $this->get('State');
$this->params = $this->state->get('params');
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Check for layout override
$active = JFactory::getApplication()->getMenu()->getActive();
if (isset($active->query['layout']))
{
$this->setLayout($active->query['layout']);
}
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($this->params->get('pageclass_sfx'),
ENT_COMPAT, 'UTF-8');
$this->prepareDocument();
return parent::display($tpl);
}
/**
* Prepares the document.
*
* @return void
*
* @since 1.6
*/
protected function prepareDocument()
{
$app = JFactory::getApplication();
$menus = $app->getMenu();
$title = null;
// Because the application sets a default page title,
// we need to get it from the menu item itself
$menu = $menus->getActive();
if ($menu)
{
$this->params->def('page_heading',
$this->params->get('page_title', $menu->title));
}
else
{
$this->params->def('page_heading',
JText::_('COM_USERS_REGISTRATION'));
}
$title = $this->params->get('page_title', '');
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
$this->document->setTitle($title);
if ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots',
$this->params->get('robots'));
}
}
}
PK{V�[ށ>remind/tmpl/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="remind<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<form id="user-registration" action="<?php echo
JRoute::_('index.php?option=com_users&task=remind.remind');
?>" method="post" class="form-validate
form-horizontal well">
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<fieldset>
<?php if (isset($fieldset->label)) : ?>
<p><?php echo JText::_($fieldset->label); ?></p>
<?php endif; ?>
<?php echo $this->form->renderFieldset($fieldset->name);
?>
</fieldset>
<?php endforeach; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary
validate">
<?php echo JText::_('JSUBMIT'); ?>
</button>
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[�q>�11remind/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_REMIND_VIEW_DEFAULT_TITLE"
option="COM_USER_REMIND_VIEW_DEFAULT_OPTION">
<help
key = "JHELP_MENUS_MENU_ITEM_USER_REMINDER"
/>
<message>
<![CDATA[COM_USER_REMIND_VIEW_DEFAULT_DESC]]>
</message>
</layout>
</metadata>
PK{V�[�n?"h
h
remind/view.html.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
/**
* Registration view class for Users.
*
* @since 1.5
*/
class UsersViewRemind extends JViewLegacy
{
protected $form;
protected $params;
protected $state;
/**
* Method to display the view.
*
* @param string $tpl The template file to include
*
* @return mixed
*
* @since 1.5
*/
public function display($tpl = null)
{
// Get the view data.
$this->form = $this->get('Form');
$this->state = $this->get('State');
$this->params = $this->state->params;
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Check for layout override
$active = JFactory::getApplication()->getMenu()->getActive();
if (isset($active->query['layout']))
{
$this->setLayout($active->query['layout']);
}
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($this->params->get('pageclass_sfx'),
ENT_COMPAT, 'UTF-8');
$this->prepareDocument();
parent::display($tpl);
}
/**
* Prepares the document.
*
* @return void
*
* @since 1.6
*/
protected function prepareDocument()
{
$app = JFactory::getApplication();
$menus = $app->getMenu();
$title = null;
// Because the application sets a default page title,
// we need to get it from the menu item itself
$menu = $menus->getActive();
if ($menu)
{
$this->params->def('page_heading',
$this->params->get('page_title', $menu->title));
}
else
{
$this->params->def('page_heading',
JText::_('COM_USERS_REMIND'));
}
$title = $this->params->get('page_title', '');
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
$this->document->setTitle($title);
if ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots',
$this->params->get('robots'));
}
}
}
PK{V�[��;�reset/tmpl/complete.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="reset-complete<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<form action="<?php echo
JRoute::_('index.php?option=com_users&task=reset.complete');
?>" method="post" class="form-validate
form-horizontal well">
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<fieldset>
<?php if (isset($fieldset->label)) : ?>
<p><?php echo JText::_($fieldset->label); ?></p>
<?php endif; ?>
<?php echo $this->form->renderFieldset($fieldset->name);
?>
</fieldset>
<?php endforeach; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary
validate">
<?php echo JText::_('JSUBMIT'); ?>
</button>
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[�M��
reset/tmpl/confirm.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="reset-confirm<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<form action="<?php echo
JRoute::_('index.php?option=com_users&task=reset.confirm');
?>" method="post" class="form-validate
form-horizontal well">
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<fieldset>
<?php if (isset($fieldset->label)) : ?>
<p><?php echo JText::_($fieldset->label); ?></p>
<?php endif; ?>
<?php echo $this->form->renderFieldset($fieldset->name);
?>
</fieldset>
<?php endforeach; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary
validate">
<?php echo JText::_('JSUBMIT'); ?>
</button>
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[�areset/tmpl/default.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<div class="reset<?php echo $this->pageclass_sfx;
?>">
<?php if ($this->params->get('show_page_heading')) :
?>
<div class="page-header">
<h1>
<?php echo
$this->escape($this->params->get('page_heading')); ?>
</h1>
</div>
<?php endif; ?>
<form id="user-registration" action="<?php echo
JRoute::_('index.php?option=com_users&task=reset.request');
?>" method="post" class="form-validate
form-horizontal well">
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<fieldset>
<?php if (isset($fieldset->label)) : ?>
<p><?php echo JText::_($fieldset->label); ?></p>
<?php endif; ?>
<?php echo $this->form->renderFieldset($fieldset->name);
?>
</fieldset>
<?php endforeach; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary
validate">
<?php echo JText::_('JSUBMIT'); ?>
</button>
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
PK{V�[��W�22reset/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="COM_USER_RESET_VIEW_DEFAULT_TITLE"
option="COM_USER_RESET_VIEW_DEFAULT_OPTION">
<help
key="JHELP_MENUS_MENU_ITEM_USER_PASSWORD_RESET"
/>
<message>
<![CDATA[COM_USER_RESET_VIEW_DEFAULT_DESC]]>
</message>
</layout>
</metadata>
PK{V�[�o�reset/view.html.phpnu�[���<?php
/**
* @package Joomla.Site
* @subpackage com_users
*
* @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;
/**
* Reset view class for Users.
*
* @since 1.5
*/
class UsersViewReset extends JViewLegacy
{
protected $form;
protected $params;
protected $state;
/**
* Method to display the view.
*
* @param string $tpl The template file to include
*
* @return mixed
*
* @since 1.5
*/
public function display($tpl = null)
{
// This name will be used to get the model
$name = $this->getLayout();
// Check that the name is valid - has an associated model.
if (!in_array($name, array('confirm', 'complete')))
{
$name = 'default';
}
if ('default' === $name)
{
$formname = 'Form';
}
else
{
$formname = ucfirst($this->_name) . ucfirst($name) .
'Form';
}
// Get the view data.
$this->form = $this->get($formname);
$this->state = $this->get('State');
$this->params = $this->state->params;
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Escape strings for HTML output
$this->pageclass_sfx =
htmlspecialchars($this->params->get('pageclass_sfx'),
ENT_COMPAT, 'UTF-8');
$this->prepareDocument();
parent::display($tpl);
}
/**
* Prepares the document.
*
* @return void
*
* @since 1.6
*/
protected function prepareDocument()
{
$app = JFactory::getApplication();
$menus = $app->getMenu();
$title = null;
// Because the application sets a default page title,
// we need to get it from the menu item itself
$menu = $menus->getActive();
if ($menu)
{
$this->params->def('page_heading',
$this->params->get('page_title', $menu->title));
}
else
{
$this->params->def('page_heading',
JText::_('COM_USERS_RESET'));
}
$title = $this->params->get('page_title', '');
if (empty($title))
{
$title = $app->get('sitename');
}
elseif ($app->get('sitename_pagetitles', 0) == 1)
{
$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
}
elseif ($app->get('sitename_pagetitles', 0) == 2)
{
$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
}
$this->document->setTitle($title);
if ($this->params->get('menu-meta_description'))
{
$this->document->setDescription($this->params->get('menu-meta_description'));
}
if ($this->params->get('menu-meta_keywords'))
{
$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
}
if ($this->params->get('robots'))
{
$this->document->setMetadata('robots',
$this->params->get('robots'));
}
}
}
PK�]�[@V��tree/metadata.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<view title="Dump Tree">
<message>
<![CDATA[This layout shows a DHTML tree with the dumped items.
It's best to use this with 'New Window With(out) Browser
Navigation'.]]>
</message>
</view>
</metadata>PK�]�[B���tree/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout title="Dump Tree">
<message>
<![CDATA[This layout shows a DHTML tree with the dumped items.
It's best to use this with 'New Window With(out) Browser
Navigation'.]]>
</message>
</layout>
<state>
<name>Dump Tree</name>
<description>This layout shows a DHTML tree with the dumped items.
It's best to use this with 'New Window With(out) Browser
Navigation'.</description>
<params></params>
<advanced></advanced>
</state>
</metadata>PK�E�[R��ǀ�form/view.html.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct access
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\View\HtmlView;
use Joomla\CMS\Uri\Uri;
class SppagebuilderViewForm extends HtmlView
{
protected $form;
protected $item;
function display($tpl = null)
{
$user = Factory::getUser();
$app = Factory::getApplication();
$this->item = $this->get('Item');
$this->form = $this->get('Form');
$this->item = ApplicationHelper::preparePageData($this->item);
if (!$user->id)
{
$uri = Uri::getInstance();
$pageURL = $uri->toString();
$return_url = base64_encode($pageURL);
$joomlaLoginUrl =
'index.php?option=com_users&view=login&return=' .
$return_url;
$app->enqueueMessage(Text::_('JERROR_ALERTNOAUTHOR'),
'notice');
$app->redirect(Uri::base() . $joomlaLoginUrl, 403);
}
$input = $app->input;
$pageid = $input->get('id', '', 'INT');
$item_info = SppagebuilderModelPage::getPageInfoById($pageid);
$authorised = $user->authorise('core.edit',
'com_sppagebuilder.page.' . $pageid) ||
($user->authorise('core.edit.own',
'com_sppagebuilder.page.' . $pageid) &&
$item_info->created_by == $user->id);
// checkout
if (!($this->item->checked_out == 0 ||
$this->item->checked_out == $user->id))
{
$app->enqueueMessage(Text::_('COM_SPPAGEBUILDER_ERROR_CHECKED_IN'),
'warning');
$app->redirect($this->item->link, 403);
return false;
}
if ($authorised !== true)
{
$app->enqueueMessage(Text::_('COM_SPPAGEBUILDER_ERROR_EDIT_PERMISSION'),
'warning');
$app->redirect($this->item->link, 403);
return false;
}
// Check for errors.
if (count($errors = (array) $this->get('Errors')))
{
throw new Exception(implode("\n", $errors), 500);
}
$this->_prepareDocument($this->item->title);
SppagebuilderHelperSite::loadLanguage();
parent::display($tpl);
}
/**
* Prepare Page Title and Site Name
*
* @param string $title
* @return void
*/
protected function _prepareDocument($title = '')
{
$config = Factory::getConfig();
$app = Factory::getApplication();
$doc = Factory::getDocument();
$menus = $app->getMenu();
$menu = $menus->getActive();
if (isset($menu))
{
if ($menu->getParams()->get('page_title', ''))
{
$title = $menu->getParams()->get('page_title');
}
else
{
$title = $menu->title;
}
}
//Include Site title
$sitetitle = $title;
if ($config->get('sitename_pagetitles') == 2)
{
$sitetitle = Text::sprintf('JPAGETITLE', $sitetitle,
$app->get('sitename'));
}
elseif ($config->get('sitename_pagetitles') == 1)
{
$sitetitle = Text::sprintf('JPAGETITLE',
$app->get('sitename'), $sitetitle);
}
$doc->setTitle($sitetitle);
}
}
PK�E�[����form/tmpl/edit-iframe.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct access
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
$doc = Factory::getDocument();
$app = Factory::getApplication();
$params = ComponentHelper::getParams('com_sppagebuilder');
$doc->addScriptdeclaration('var disableGoogleFonts = ' .
$params->get('disable_google_fonts', 0) . ';');
if ($params->get('fontawesome', 1))
{
SppagebuilderHelperSite::addStylesheet('font-awesome-5.min.css');
SppagebuilderHelperSite::addStylesheet('font-awesome-v4-shims.css');
}
// assets
SppagebuilderHelperSite::loadAssets();
if (!$params->get('disableanimatecss', 0))
{
SppagebuilderHelperSite::addStylesheet('animate.min.css');
}
if (!$params->get('disablecss', 0))
{
SppagebuilderHelperSite::addStylesheet('sppagebuilder.css');
SppagebuilderHelperSite::addContainerMaxWidth();
}
SppagebuilderHelperSite::addStylesheet('canvas.css');
HTMLHelper::_('jquery.framework');
$doc->addScriptdeclaration('var pagebuilder_base="' .
Uri::root() . '";');
SppagebuilderHelperSite::addScript('jquery.parallax.js');
SppagebuilderHelperSite::addScript('sppagebuilder.js');
$menus = $app->getMenu();
$menu = $menus->getActive();
$menuClassPrefix = '';
$showPageHeading = 0;
// check active menu item
if ($menu)
{
$menuClassPrefix =
$menu->getParams()->get('pageclass_sfx');
$showPageHeading =
$menu->getParams()->get('show_page_heading');
$menuheading = $menu->getParams()->get('page_heading');
}
require_once JPATH_COMPONENT . '/builder/classes/base.php';
require_once JPATH_COMPONENT . '/builder/classes/config.php';
require_once JPATH_COMPONENT . '/builder/classes/addon.php';
$this->item = ApplicationHelper::preparePageData($this->item);
SpPgaeBuilderBase::loadAddons();
$addons_list = SpAddonsConfig::$addons;
$addons_list = array_map(function ($addon)
{
return AddonsHelper::modernizeAddonStructure($addon);
}, $addons_list);
SpPgaeBuilderBase::loadAssets($addons_list);
$addon_cats = SpPgaeBuilderBase::getAddonCategories($addons_list);
$doc->addScriptdeclaration('var addonsJSON=' .
json_encode($addons_list) . ';');
$doc->addScriptdeclaration('var addonsFromDB=' .
json_encode(SpAddonsConfig::loadAddonList()) . ';');
$doc->addScriptdeclaration('var addonCats=' .
json_encode($addon_cats) . ';');
$doc->addScriptdeclaration('var sppbVersion="' .
SppagebuilderHelperSite::getVersion() . '";');
if (!$this->item->text)
{
$doc->addScriptdeclaration('var initialState=[];');
}
else
{
$doc->addScriptdeclaration('var initialState=' .
json_encode($this->item->text) . ';');
}
?>
<div id="sp-page-builder" class="sp-pagebuilder <?php
echo $menuClassPrefix; ?> page-<?php echo $this->item->id;
?>">
<div id="sp-pagebuilder-container">
<div class="sp-pagebuilder-loading-wrapper">
<div class="sp-pagebuilder-loading">
<svg width="28" height="32"
fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.028 17.741c.855-.89 2.358-.856 3.219 0 .88.88.85
2.33 0 3.219-.89.929-1.79 1.848-2.743 2.719-5.846 5.35-13.194 8.56-21.204
8.292-1.235-.039-2.276-1.007-2.276-2.276 0-1.202 1.045-2.315 2.276-2.276
2.524.082 4.426-.083 6.765-.677a25.837 25.837 0 0 0
2.694-.846c.222-.083.443-.17.662-.262l.292-.132c.379-.174.758-.355
1.133-.544a29.604 29.604 0 0 0
4.192-2.612c.097-.072.19-.146.287-.213-.015.01-.31.242-.112.087.136-.107.273-.214.408-.325.264-.21.52-.429.774-.648.491-.424.967-.855
1.44-1.303a59.718 59.718 0 0 0 2.193-2.203Zm-12.85-1.124c.732-.39
1.431-.837 2.092-1.336a.424.424 0 0 0-.01-.681l-5.228-3.77a.424.424 0 0
0-.67.345l.018 6.288a.423.423 0 0 0 .531.409 14.164 14.164 0 0 0
3.268-1.255Z" fill="#2684FF" />
<path d="M19.959 12.932 5.476 1.853C4.8 1.337 4.324.973
3.647.458L.35 1.124c-.686 1.172-.175 2.362.808 3.111 4.824 3.69 9.653 7.388
14.482 11.078.676.516 1.352 1.032 2.024 1.547.977.749 2.548.15
3.111-.817.687-1.172.166-2.364-.816-3.112Z" fill="url(#a)"
/>
<path d="M9.226 23.655c1.42-.326 2.82-.934 4.12-1.571
2.703-1.318 5.208-3.214 7.075-5.579.389-.49.666-.952.666-1.609
0-.56-.248-1.225-.666-1.61-.822-.753-2.432-.997-3.219 0a16.981 16.981 0 0
1-2.407 2.495c-.15.127-.307.254-.458.38-.374.306.355-.258 0 0a22.162 22.162
0 0 1-3.282
1.993c-.249.123-.496.234-.744.346-.16.072-.536.184.17-.068-.122.043-.239.097-.355.146-.36.141-.725.277-1.095.398-.33.107-.665.215-1.007.292-1.161.263-1.954
1.668-1.59 2.802.39 1.21 1.547 1.867 2.792 1.585ZM3.716.505A2.243 2.243 0 0
0 2.306 0C1.07 0 .03 1.04.03 2.276v27.35c0 1.231 1.044 2.277 2.275 2.277
1.236 0 2.276-1.04 2.276-2.277V1.167L3.715.505h.001Z"
fill="#2684FF" />
<defs>
<linearGradient id="a" x1="4.57476"
y1="5.7046" x2="15.8692" y2="14.5689"
gradientUnits="userSpaceOnUse">
<stop stop-color="#0052CC" />
<stop offset="1" stop-color="#2684FF" />
</linearGradient>
</defs>
</svg>
</div>
</div>
</div>
</div>
<style id="sp-pagebuilder-css" type="text/css">
<?php echo $this->item->css; ?>
</style>
<?php
$doc->addScriptDeclaration('jQuery(document).ready(function($) {
$(document).on("click", "a", function(e){
e.preventDefault();
});
$(document).on("click", ".sp-editable-content,
.sp-inline-editable-element", function(e){
e.preventDefault();
var ids = jQuery(this).attr("id");
jQuery(this).attr("contenteditable", true);
jQuery(this).focus();
});
});');
PK�E�[#W1�d�dform/tmpl/edit.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Language\Text;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Multilanguage;
use Joomla\CMS\Component\ComponentHelper;
require_once JPATH_COMPONENT . '/builder/classes/base.php';
require_once JPATH_COMPONENT . '/builder/classes/config.php';
require_once JPATH_COMPONENT . '/builder/classes/addon.php';
$doc = Factory::getDocument();
$app = Factory::getApplication();
$params = ComponentHelper::getParams('com_sppagebuilder');
if (!$params->get('enable_frontend_editing', 1))
{
die("The frontend editing is disabled.");
}
$doc->addScriptdeclaration('var disableGoogleFonts = ' .
$params->get('disable_google_fonts', 0) . ';');
if ($params->get('fontawesome', 1))
{
SppagebuilderHelperSite::addStylesheet('font-awesome-5.min.css');
SppagebuilderHelperSite::addStylesheet('font-awesome-v4-shims.css');
}
// load font assets form database
SppagebuilderHelperSite::loadAssets();
if (!$params->get('disableanimatecss', 0))
{
SppagebuilderHelperSite::addStylesheet('animate.min.css');
}
if (!$params->get('disablecss', 0))
{
SppagebuilderHelperSite::addStylesheet('sppagebuilder.css');
SppagebuilderHelperSite::addContainerMaxWidth();
}
SppagebuilderHelperSite::addStylesheet('editor.css');
HTMLHelper::_('jquery.framework');
$doc->addScriptdeclaration('var pagebuilder_base="' .
Uri::root() . '";');
SppagebuilderHelper::loadEditor();
SppagebuilderHelperSite::addScript('csslint.js'); // not
necessary
SppagebuilderHelperSite::addScript('actions.js');
if ($this->item->extension === 'com_content' &&
$this->item->extension_view === 'article')
{
$extension_view = 'article';
}
else
{
$extension_view = 'page';
}
$menus = $app->getMenu();
$menu = $menus->getActive();
$menuClassPrefix = '';
$showPageHeading = 0;
// check active menu item
if ($menu)
{
$menuClassPrefix =
$menu->getParams()->get('pageclass_sfx');
$showPageHeading =
$menu->getParams()->get('show_page_heading');
$menuheading = $menu->getParams()->get('page_heading');
}
SpPgaeBuilderBase::loadAddons();
$fa_icon_list = SpPgaeBuilderBase::getIconList(); // Icon List
$accessLevels = SpPgaeBuilderBase::getAccessLevelList(); // Access
Levels
$article_cats = SpPgaeBuilderBase::getArticleCategories(); // Article
Categories
$moduleAttr = SpPgaeBuilderBase::getModuleAttributes(); // Module
Positions and Module List
$rowSettings = SpPgaeBuilderBase::getRowGlobalSettings(); // Row
Settings Attributes
$columnSettings = SpPgaeBuilderBase::getColumnGlobalSettings(); // Column
Settings Attributes
$global_attributes = SpPgaeBuilderBase::addonOptions();
$user = Factory::getUser();
$userPermissions = SpPgaeBuilderBase::getUserPermissions();
$addons_list = SpAddonsConfig::$addons;
$globalDefaults = [];
$globalSettingsGroups = ['style', 'advanced',
'interaction'];
foreach ($globalSettingsGroups as $groupName)
{
$globalDefaults = array_merge($globalDefaults,
EditorUtils::extractSettingsDefaultValues($global_attributes[$groupName]));
}
$addons_list = array_map(function ($addon) use ($globalDefaults)
{
$modernAddon = AddonsHelper::modernizeAddonStructure($addon);
$addonDefaults =
EditorUtils::extractSettingsDefaultValues($modernAddon['settings']);
$modernAddon['default'] = array_merge($globalDefaults,
$addonDefaults);
return $modernAddon;
}, $addons_list);
foreach ($addons_list as &$addon)
{
if (!isset($addon['category']) ||
empty($addon['category']))
{
$addon['category'] = 'General';
}
$addon_name = preg_replace('/^sp_/i', '',
$addon['addon_name']);
$class_name = 'SppagebuilderAddon' . ucfirst($addon_name);
if (method_exists($class_name, 'getTemplate'))
{
$addon['js_template'] = true;
}
Factory::getApplication()->triggerEvent('onBeforeAddonConfigure',
array($addon_name, &$addon));
}
unset($addon);
Factory::getApplication()->triggerEvent('onBeforeRowConfigure',
array(&$rowSettings));
$rowDefaultValue = EditorUtils::getSectionSettingsDefaultValues();
$rowSettings['default'] = $rowDefaultValue;
$columnDefaultValue = EditorUtils::getColumnSettingsDefaultValues();
$columnSettings['default'] = $columnDefaultValue;
SpPgaeBuilderBase::loadAssets($addons_list);
$addon_cats = SpPgaeBuilderBase::getAddonCategories($addons_list);
$doc->addScriptdeclaration('var addonsJSON=' .
json_encode($addons_list) . ';');
$doc->addScriptdeclaration('var addonsFromDB=' .
json_encode(SpAddonsConfig::loadAddonList()) . ';');
$doc->addScriptdeclaration('var addonCats=' .
json_encode($addon_cats) . ';');
// Global Attributes
$doc->addScriptdeclaration('var globalAttr=' .
json_encode($global_attributes) . ';');
$doc->addScriptdeclaration('var faIconList=' .
json_encode($fa_icon_list) . ';');
$doc->addScriptdeclaration('var accessLevels=' .
json_encode($accessLevels) . ';');
$doc->addScriptdeclaration('var articleCats=' .
json_encode($article_cats) . ';');
$doc->addScriptdeclaration('var moduleAttr=' .
json_encode($moduleAttr) . ';');
$doc->addScriptdeclaration('var rowSettings=' .
json_encode($rowSettings) . ';');
$doc->addScriptdeclaration('var colSettings=' .
json_encode($columnSettings) . ';');
$doc->addScriptdeclaration('var sppbVersion="' .
SppagebuilderHelperSite::getVersion() . '";');
$doc->addScriptDeclaration('var
userPermissions=Object.freeze(' . json_encode($userPermissions) .
');');
// Media
$mediaParams = ComponentHelper::getParams('com_media');
$doc->addScriptdeclaration('var sppbMediaPath=\'/' .
$mediaParams->get('file_path', 'images') .
'\';');
$doc->addScriptdeclaration('var sppbSvgShape=' .
json_encode(SppagebuilderHelperSite::getSvgShapes()) . ';');
$doc->addScriptdeclaration('var extensionView=\'' .
$extension_view . '\';');
if (!$this->item->text)
{
$doc->addScriptdeclaration('var initialState=[];');
}
else
{
$doc->addScriptdeclaration('var initialState=' .
json_encode($this->item->text) . ';');
}
$languageCode = '';
if (Multilanguage::isEnabled())
{
$languageCode = '&lang=' . $this->item->language;
}
?>
<div id="sp-page-builder" class="sp-pagebuilder <?php
echo $menuClassPrefix; ?> page-<?php echo $this->item->id;
?>" data-pageid="<?php echo $this->item->id;
?>">
<form action="<?php echo
Route::_('index.php?option=com_sppagebuilder&id=' . (int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate page-builder-form" style="display:
none;">
<div id="page-options">
<?php $fieldsets = $this->form->getFieldsets(); ?>
<div class="sp-pagebuilder-form-group-toggler active">
<span>Basic <span class="fa
fa-chevron-right"></span></span>
<div>
<?php foreach ($this->form->getFieldset('basic') as
$key => $field) : ?>
<div class="sp-pagebuilder-form-group">
<?php echo $field->label; ?>
<?php echo $field->input; ?>
<?php if ($field->getAttribute('desc')) : ?>
<span class="sp-pagebuilder-form-help"><?php
echo Text::_($field->getAttribute('desc')); ?></span>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<input type="hidden" id="form_task"
name="task" value="page.apply" />
<?php
$app = Factory::getApplication();
$input = $app->input;
$Itemid = $input->get('Itemid', 0, 'INT');
$extension = $input->get('extension', '',
'STRING');
$url =
Route::_('index.php?option=com_sppagebuilder&view=page&id='
. $this->item->id . '&Itemid=' . $Itemid);
$root = Uri::base();
$root = new Uri($root);
$pageUrl = $root->getScheme() . '://' . $root->getHost()
. $url;
$iframeUrl = Uri::root() .
'index.php?option=com_sppagebuilder&view=form&id=' .
$this->item->id . '&layout=edit-iframe&Itemid=' .
$Itemid . $languageCode;
if ($extension === 'mod_sppagebuilder')
{
$iframeUrl .= '&tmpl=component';
}
?>
<input type="hidden" id="return_page"
name="return_page" value="<?php echo
base64_encode($pageUrl); ?>" />
<?php echo HTMLHelper::_('form.token'); ?>
</form>
<iframe name="sp-pagebuilder-view"
id="sp-pagebuilder-view" class="builder-iframe-laptop"
data-url="<?php echo $iframeUrl; ?>"></iframe>
<div id="sp-page-builder-main"></div>
<!-- Never delete this element -->
<div id="builder-dnd-provider-dom"></div>
</div>
<script>
window.builderDefaultDevice = 'xl';
</script>
<?php
$mediaQueries = [
'xl' => '@media ( max-width: 1399.98px )',
'lg' => '@media ( max-width: 1199.98px )',
'md' => '@media ( max-width: 991.98px )',
'sm' => '@media ( max-width: 767.98px )',
'xs' => '@media ( max-width: 575.98px )',
];
$queryString = '';
foreach ($mediaQueries as $size => $media)
{
$queryString .= $media . ' {';
$queryString .= '
#{{ addonId }}{
<# if(_.isObject(data.global_border_width)){ #>
<# if (!_.isEmpty(data.global_border_width.' . $size . '))
{ #>
border-width: {{data.global_border_width.' . $size . '}}px;
<# } #>
<# } #>
<# if(_.isObject(borderRadius)){ #>
<# if (!_.isEmpty(borderRadius.' . $size . ')) { #>
border-radius: {{ borderRadius.' . $size . ' }}px;
<# } #>
<# }
if(_.isObject(padding)){
#>
{{{ padding.' . $size . ' }}}
<# } #>
}
#sp-page-builder div#addon-wrap-{{ data.id }} {
<# if(data.global_custom_position &&
data.global_seclect_position){ #>
<# if(_.isObject(data.global_addon_position_top)) { #>
top:{{data.global_addon_position_top.' . $size .
'}}{{unitTop}};
<# }
if(_.isObject(data.global_addon_position_left)) {
#>
left:{{data.global_addon_position_left.' . $size .
'}}{{unitLeft}};
<# }
}
if(_.isObject(margin)){
#>
{{{ margin.' . $size . ' }}}
<# }
if(typeof data.use_global_width !== "undefined" &&
data.use_global_width && typeof data.global_width !==
"undefined" && _.isObject(data.global_width)) {
#>
width: {{data.global_width.' . $size . '}}%;
<# } #>
}
<# if (!_.isEmpty(data.title)){ #>
#sppb-addon-{{ data.id }} .sppb-addon-title{
<# if(_.isObject(data.title_fontsize)){ #>
font-size: {{ data.title_fontsize.' . $size . ' }}px;
line-height: {{ data.title_fontsize.' . $size . ' }}px;
<# } #>
<# if(_.isObject(data.title_lineheight)){ #>
line-height: {{ data.title_lineheight.' . $size . ' }}px;
<# } else { #>
line-height: {{ data.title_lineheight }}px;
<# } #>
<# if(_.isObject(data.title_margin_top)){ #>
margin-top: {{ data.title_margin_top.' . $size . ' }}px;
<# } #>
<# if(_.isObject(data.title_margin_bottom)){ #>
margin-bottom: {{ data.title_margin_bottom.' . $size . '
}}px;
<# } #>
}
<# } #>
';
$queryString .= '}';
}
?>
<?php
foreach ($addons_list as $addon)
{
$addon_name = $addon['addon_name'];
$addon_name = preg_replace('/^sp_/i', '',
$addon['addon_name']);
$class_name = 'SppagebuilderAddon' . ucfirst($addon_name);
if (method_exists($class_name, 'getTemplate'))
{
?>
<script id="sppb-tmpl-addon-<?php echo $addon_name;
?>" type="x-tmpl-lodash">
<#
var addonClass = 'clearfix';
var addonAttr = '';
var addonId = 'sppb-addon-'+data.id;
var addonName = '<?php echo $addon_name; ?>';
var textColor = data.global_text_color || '';
var linkColor = data.global_link_color || '';
var linkHoverColor = data.global_link_hover_color || '';
var backgroundRepeat = data.global_background_repeat || '';
var backgroundSize = data.global_background_size || '';
var backgroundAttachment = data.global_background_attachment ||
'';
var backgroundPosition = data.global_background_position ||
'';
var modern_font_style = false;
var title_font_style = data.title_fontstyle || "";
var backgroundColor = '';
if(data.global_background_color){
backgroundColor = data.global_background_color;
}
var backgroundImage = '';
var globalBgImg = {}
if (typeof data.global_background_image !== "undefined"
&& typeof data.global_background_image.src !==
"undefined") {
globalBgImg = data.global_background_image
} else {
globalBgImg = {src: data.global_background_image}
}
if(globalBgImg.src &&
(globalBgImg.src.indexOf('http://') != -1 ||
globalBgImg.src.indexOf('https://') != -1)){
backgroundImage = 'url('+globalBgImg.src+')';
} else if(globalBgImg.src){
backgroundImage =
'url('+pagebuilder_base+globalBgImg.src+')';
}
var borderWidth = '';
if (data.global_user_border) {
if (_.isObject(data.global_border_width)) {
borderWidth =
data.global_border_width[window.builderDefaultDevice]+'px';
} else {
borderWidth = data.global_border_width+'px';
}
}
var borderColor = '';
if(data.global_user_border && data.global_border_color){
borderColor = data.global_border_color;
}
var borderStyle = '';
if(data.global_user_border && data.global_boder_style){
borderStyle = data.global_boder_style;
}
var borderRadius = data.global_border_radius || '';
var margin = window.getMarginPadding(data.global_margin,
'margin');
var padding = window.getMarginPadding(data.global_padding,
'padding');
if(data.global_use_animation && data.global_animation){
addonClass += ' sppb-wow '+data.global_animation;
if(data.global_animationduration){
addonAttr = `
data-sppb-wow-duration="${data.global_animationduration}ms"`;
}
if(data.global_animationdelay){
addonAttr += `
data-sppb-wow-delay="${data.global_animationdelay}ms"`;
}
}
if(_.isObject(data.global_boxshadow) &&
!data.global_boxshadow.enabled) {
boxShadow = '';
} else if(_.isObject(data.global_boxshadow)){
var ho = data.global_boxshadow.ho + 'px' || '0px',
vo = data.global_boxshadow.vo + 'px' || '0px',
blur = data.global_boxshadow.blur + 'px' || '0px',
spread = data.global_boxshadow.spread + 'px' ||
'0px',
color = data.global_boxshadow.color || '';
boxShadow = ho + ' ' + vo + ' ' + blur + '
' + spread + ' ' + color;
} else {
boxShadow = data.global_boxshadow || '';
}
#>
<div id="{{ (data.table_advanced_item || data.sp_tab_item ||
data.sp_accordion_item || addonName === 'div') ? '' :
addonId }}" class="{{ addonClass }}" {{{ addonAttr }}} >
<# if(data.global_use_overlay){ #>
<div class="sppb-addon-overlayer"></div>
<# } #>
<style type="text/css">
<#
var unitTop = typeof data.global_addon_position_top !==
"undefined" && typeof data.global_addon_position_top.unit
!== "undefined" ? data.global_addon_position_top.unit :
"px";
var unitLeft = typeof data.global_addon_position_left !==
"undefined" && typeof
data.global_addon_position_left.unit !== "undefined" ?
data.global_addon_position_left.unit : "px";
if(data.global_seclect_position == "absolute" ||
data.global_seclect_position == "fixed"){
#>
#sp-page-builder div#sppb-addon-{{ data.id }} {
margin: 0;
}
<# } #>
#sp-page-builder div#addon-wrap-{{ data.id }} {
<# if (addonName === 'empty_space') { #>
position: static;
<#}#>
<# if(data.global_custom_position &&
data.global_seclect_position){ #>
<# if(data.global_seclect_position == "absolute"){ #>
position:absolute;
<# } else if(data.global_seclect_position == "fixed"){
#>
position:fixed;
<# }
if(_.isObject(data.global_addon_position_top)) {
#>
top:{{data.global_addon_position_top[window.builderDefaultDevice]}}{{unitTop}};
<# } else { #>
top:{{data.global_addon_position_top}}{{unitTop}};
<# }
if(_.isObject(data.global_addon_position_left)) {
#>
left:{{data.global_addon_position_left[window.builderDefaultDevice]}}{{unitLeft}};
<# } else { #>
left:{{data.global_addon_position_left}}{{unitLeft}};
<# }
if(data.global_addon_z_index) {
#>
z-index:{{data.global_addon_z_index}};
<# }
} #>
<# if(_.isObject(margin)){ #>
{{{ margin[window.builderDefaultDevice] }}}
<# } else { #>
{{{ margin }}}
<# } #>
<#
if(typeof data.use_global_width !== "undefined" &&
data.use_global_width && typeof data.global_width !==
"undefined" && _.isObject(data.global_width)) {
#>
width: {{data.global_width[window.builderDefaultDevice]}}%;
<# } #>
}
<# if (addonName === "button" || addonName ===
"button_group") { #>
#{{ addonId }} .sppb-btn {
<# if (!_.isEmpty(boxShadow)) { #>
box-shadow: {{ boxShadow }};
<# } #>
}
<# } else {#>
#{{ addonId }} {
<# if (!_.isEmpty(boxShadow)) { #>
box-shadow: {{ boxShadow }};
<# } #>
}
<# } #>
#{{ addonId }}{
<# if(!_.isEmpty(textColor)) { #>
color: {{ textColor }};
<# } #>
<# if(typeof data.global_background_type === "undefined"
&& backgroundColor){ #>
background-color: {{ backgroundColor }};
<# } else { #>
<# if(data.global_background_type == "color" ||
data.global_background_type == "image" &&
backgroundColor){ #>
background-color: {{ backgroundColor }};
<# } #>
<# } #>
<# if(data.global_background_type == "gradient"
&& _.isObject(data.global_background_gradient)){ #>
<# if(typeof data.global_background_gradient.type !==
'undefined' && data.global_background_gradient.type ==
'radial'){ #>
background-image: radial-gradient(at {{
data.global_background_gradient.radialPos || 'center center'}},
{{ data.global_background_gradient.color }} {{
data.global_background_gradient.pos || 0 }}%, {{
data.global_background_gradient.color2 }} {{
data.global_background_gradient.pos2 || 100 }}%);
<# } else { #>
background-image: linear-gradient({{
data.global_background_gradient.deg || 0}}deg, {{
data.global_background_gradient.color }} {{
data.global_background_gradient.pos || 0 }}%, {{
data.global_background_gradient.color2 }} {{
data.global_background_gradient.pos2 || 100 }}%);
<# } #>
<# } #>
<# if(typeof data.global_background_type === "undefined"
){ #>
<# if(data.global_use_background){ #>
background-image: {{ backgroundImage }};
background-repeat: {{ backgroundRepeat }};
background-size: {{ backgroundSize }};
background-attachment: {{ backgroundAttachment }};
background-position: {{ backgroundPosition }};
<# } #>
<# } else { #>
<# if(data.global_background_type == "image" &&
backgroundImage){ #>
background-image: {{ backgroundImage }};
background-repeat: {{ backgroundRepeat }};
background-size: {{ backgroundSize }};
background-attachment: {{ backgroundAttachment }};
background-position: {{ backgroundPosition }};
<# } #>
<# } #>
<# if(_.isObject(borderRadius)){ #>
<# if (!_.isEmpty(borderRadius[window.builderDefaultDevice]))
{#>
border-radius: {{ borderRadius[window.builderDefaultDevice] }}px;
<# } #>
<# } else { #>
<# if (!_.isEmpty(borderRadius)){ #>
border-radius: {{ borderRadius }}px;
<# } #>
<# } #>
<# if(_.isObject(padding)) { #>
{{{ padding[window.builderDefaultDevice] }}}
<# } else { #>
{{{ padding }}}
<# } #>
<# if (!_.isEmpty(borderWidth)) { #>
border-width: {{ borderWidth }};
<# } #>
<# if (!_.isEmpty(borderColor)) { #>
border-color: {{ borderColor }};
<# } #>
<# if (!_.isEmpty(borderStyle)) { #>
border-style: {{ borderStyle }};
<# } #>
<# if(data.global_use_overlay){ #>
position: relative;
overflow: hidden;
<# } #>
}
<# if(data.global_use_overlay){ #>
#{{ addonId }} .sppb-addon-overlayer{
<# if(typeof data.global_overlay_type == "undefined"){
data.global_overlay_type = "overlay_color";
} #>
<# if(data.global_overlay_type == "overlay_color") {
#>
background-color: {{ data.global_background_overlay }};
<# }
if(data.global_background_type == "image" &&
backgroundImage){
if(data.global_overlay_type == "overlay_gradient"
&& _.isObject(data.global_gradient_overlay)){
if(typeof data.global_gradient_overlay.type !==
'undefined' && data.global_gradient_overlay.type ==
'radial'){
#>
background: radial-gradient(at {{
data.global_gradient_overlay.radialPos || 'center center'}}, {{
data.global_gradient_overlay.color }} {{ data.global_gradient_overlay.pos
|| 0 }}%, {{ data.global_gradient_overlay.color2 }} {{
data.global_gradient_overlay.pos2 || 100 }}%);
<# } else { #>
background: linear-gradient({{ data.global_gradient_overlay.deg ||
0}}deg, {{ data.global_gradient_overlay.color }} {{
data.global_gradient_overlay.pos || 0 }}%, {{
data.global_gradient_overlay.color2 }} {{ data.global_gradient_overlay.pos2
|| 100 }}%);
<# }
}
let patternImgBg = {}
if (typeof data.global_pattern_overlay !== "undefined"
&& typeof data.global_pattern_overlay.src !==
"undefined") {
patternImgBg = data.global_pattern_overlay
} else {
patternImgBg = {src: data.global_pattern_overlay}
}
if(patternImgBg.src && data.global_overlay_type ==
"overlay_pattern"){
let patternImg = '';
if(patternImgBg.src &&
(patternImgBg.src.indexOf('http://') != -1 ||
patternImgBg.src.indexOf('https://') != -1)){
patternImg = 'url('+patternImgBg.src+')';
} else if(patternImgBg.src){
patternImg =
'url('+pagebuilder_base+patternImgBg.src+')';
}
#>
background-image:{{patternImg}};
background-attachment: scroll;
<# if(!_.isEmpty(data.global_overlay_pattern_color)){ #>
background-color:{{data.global_overlay_pattern_color}};
<# }
}
} #>
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
<# if(data.global_background_type == "image" &&
backgroundImage){ #>
<# if (data.blend_mode) { #>
mix-blend-mode:{{data.blend_mode}};
<# } #>
<# } #>
}
#{{ addonId }} > .sppb-addon{
position: relative;
}
<# } #>
#{{ addonId }} a{
color: {{ linkColor }};
}
#{{ addonId }} a:hover,
#{{ addonId }} a:focus,
#{{ addonId }} a:active{
color: {{ linkHoverColor }};
}
<# if (!_.isEmpty(data.title)){ #>
#sppb-addon-{{ data.id }} .sppb-addon-title{
<# if(_.isObject(data.title_fontsize)){ #>
font-size: {{ data.title_fontsize[window.builderDefaultDevice] }}px;
line-height: {{ data.title_fontsize[window.builderDefaultDevice]
}}px;
<# } else { #>
font-size: {{ data.title_fontsize }}px;
line-height: {{ data.title_fontsize }}px;
<# } #>
<# if(_.isObject(data.title_lineheight)){ #>
line-height: {{ data.title_lineheight[window.builderDefaultDevice]
}}px;
<# } else { #>
line-height: {{ data.title_lineheight }}px;
<# }
if(data.title_letterspace !== "custom") {
#>
letter-spacing: {{ data.title_letterspace }};
<# } else { #>
letter-spacing: {{ data.custom_letterspacing }};
<# } #>
font-weight: {{ data.title_fontweight }};
color: {{ data.title_text_color }};
<# if(_.isObject(data.title_margin_top)){ #>
margin-top: {{ data.title_margin_top[window.builderDefaultDevice]
}}px;
<# } else { #>
margin-top: {{ data.title_margin_top }}px;
<# } #>
<# if(_.isObject(data.title_margin_bottom)){ #>
margin-bottom: {{
data.title_margin_bottom[window.builderDefaultDevice] }}px;
<# } else { #>
margin-bottom: {{ data.title_margin_bottom }}px;
<# } #>
<# if(_.isObject(data.title_font_style) &&
data.title_font_style.underline) { #>
text-decoration: underline;
<# modern_font_style = true #>
<# } #>
<# if(_.isObject(data.title_font_style) &&
data.title_font_style.italic) { #>
font-style: italic;
<# modern_font_style = true #>
<# } #>
<# if(_.isObject(data.title_font_style) &&
data.title_font_style.uppercase) { #>
text-transform: uppercase;
<# modern_font_style = true #>
<# } #>
<# if(_.isObject(data.title_font_style) &&
data.title_font_style.weight) { #>
font-weight: {{ data.title_font_style.weight }};
<# modern_font_style = true #>
<# } #>
<# if(!modern_font_style) { #>
<# if(_.isArray(title_font_style)) { #>
<# if(title_font_style.indexOf("underline") !== -1){
#>
text-decoration: underline;
<# } #>
<# if(title_font_style.indexOf("uppercase") !== -1){
#>
text-transform: uppercase;
<# } #>
<# if(title_font_style.indexOf("italic") !== -1){
#>
font-style: italic;
<# } #>
<# if(title_font_style.indexOf("lighter") !== -1){
#>
font-weight: lighter;
<# } else if(title_font_style.indexOf("normal") !==
-1){#>
font-weight: normal;
<# } else if(title_font_style.indexOf("bold") !==
-1){#>
font-weight: bold;
<# } else if(title_font_style.indexOf("bolder") !==
-1){#>
font-weight: bolder;
<# } #>
<# } #>
<# } #>
}
<# } #>
<?php echo $queryString; ?>
</style>
<?php echo $class_name::getTemplate(); ?>
</div>
</script>
<?php
}
}
?>
<script type="text/javascript" src="<?php echo
Uri::base(true) .
'/components/com_sppagebuilder/assets/js/vendors.js?' .
SppagebuilderHelperSite::getVersion(true); ?>"></script>
<script type="text/javascript" src="<?php echo
Uri::base(true) .
'/components/com_sppagebuilder/assets/js/engine.js?' .
SppagebuilderHelperSite::getVersion(true);
?>"></script>PK�E�[��S�)�)ajax/view.json.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
//no direct access
defined('_JEXEC') or die('Restricted access');
require_once JPATH_COMPONENT . '/builder/classes/ajax.php';
if (!class_exists('SppagebuilderHelperSite'))
{
require_once JPATH_ROOT .
'/components/com_sppagebuilder/helpers/helper.php';
}
$user = Factory::getUser();
$app = Factory::getApplication();
$authorised = $user->authorise('core.edit',
'com_sppagebuilder') ||
($user->authorise('core.edit.own',
'com_sppagebuilder') && ($this->item->created_by ==
$user->id));
if ($authorised !== true)
{
$app->enqueueMessage(Text::_('JERROR_ALERTNOAUTHOR'),
'error');
$app->setHeader('status', 403, true);
return false;
}
SppagebuilderHelperSite::loadLanguage();
$input = Factory::getApplication()->input;
$action = $input->get('callback', '',
'STRING');
function sanitizeAddonData($data)
{
if (\is_object($data))
{
foreach ($data as &$value)
{
if (\is_object($value))
{
$value = sanitizeAddonData($value);
}
else if (is_string($value))
{
switch (\strtolower($value))
{
case 'true':
$value = '1';
break;
case 'false':
$value = '0';
break;
}
}
}
unset($value);
}
return $data;
}
// all settings loading
if ($action === 'addon')
{
require_once JPATH_COMPONENT . '/parser/addon-parser.php';
if (!class_exists('SpPageBuilderAddonHelper'))
{
require_once JPATH_ROOT .
'/components/com_sppagebuilder/builder/classes/addon.php';
}
$post_data = $_POST['addon'];
$addon = json_decode(json_encode($post_data));
$addon = sanitizeAddonData($addon);
$addon_name = $addon->name;
$class_name = 'SppagebuilderAddon' . ucfirst($addon_name);
$addon_path = AddonParser::getAddonPath($addon_name);
$addon_options = [];
if ((!isset($addon->type) || $addon->type !== 'inner_row')
&& isset($addon_list[$addon->name]['attr']) &&
$addon_list[$addon->name]['attr'])
{
$addon_groups = $addon_list[$addon->name]['attr'];
if (is_array($addon_groups))
{
foreach ($addon_groups as $addon_group)
{
$addon_options += $addon_group;
}
}
}
$store = new \stdClass;
foreach ($addon->settings as $key => &$setting)
{
if (\is_object($setting))
{
$original = \json_decode(\json_encode($setting));
}
if (isset($setting->md))
{
$md = isset($setting->md) ? $setting->md : "";
$sm = isset($setting->sm) ? $setting->sm : "";
$xs = isset($setting->xs) ? $setting->xs : "";
$xl = isset($setting->xl) ? $setting->xl : $md;
$lg = isset($setting->lg) ? $setting->lg : $md;
$keySm = $key . '_sm';
$keyXs = $key . '_xs';
$keyLg = $key . '_lg';
$keyXl = $key . '_xl';
$keyMd = $key . '_md';
$addon->settings->$keySm = $sm;
$addon->settings->$keyXs = $xs;
$addon->settings->$keyXl = $xl;
$addon->settings->$keyLg = $lg;
$addon->settings->$keyMd = $md;
$originalKey = $key . '_original';
$store->$originalKey = $original;
}
if (isset($addon_options[$key]['selector']))
{
$addon_selector = $addon_options[$key]['selector'];
if (isset($addon->settings->{$key}) &&
!empty($addon->settings->{$key}))
{
$selector_value = $addon->settings->{$key};
$addon->settings->{$key . '_selector'} =
str_replace('{{ VALUE }}', $selector_value, $addon_selector);
}
}
// Repeatable
if ((!isset($addon->type) || $addon->type !==
'inner_row') && (($key == 'sp_' .
$addon->name . '_item') || ($key == $addon->name .
'_item')))
{
if (count((array) $setting))
{
foreach ($setting as &$options)
{
foreach ($options as $key2 => &$opt)
{
if (isset($opt->md))
{
$md = isset($opt->md) ? $opt->md : "";
$sm = isset($opt->sm) ? $opt->sm : "";
$xs = isset($opt->xs) ? $opt->xs : "";
$opt = $md;
$options->{$key2 . '_sm'} = $sm;
$options->{$key2 . '_xs'} = $xs;
}
if
(isset($addon_options[$key]['attr'][$key2]['selector']))
{
$addon_selector =
$addon_options[$key]['attr'][$key2]['selector'];
if (isset($options->{$key2}) &&
!empty($options->{$key2}))
{
$selector_value = $options->{$key2};
$options->{$key2 . '_selector'} = str_replace('{{
VALUE }}', $selector_value, $addon_selector);
}
}
}
}
}
}
}
unset($setting);
foreach ($store as $key => $value)
{
$addon->settings->$key = $value;
}
$output = '';
require_once $addon_path . '/site.php';
$assets = array();
$css = LayoutHelper::render('addon.css', array('addon'
=> $addon));
if (class_exists($class_name))
{
$addon_obj = new $class_name($addon); // initialize addon class
$addon_output = $addon_obj->render();
// css
if (method_exists($class_name, 'css'))
{
$css .= $addon_obj->css();
}
// js
if (method_exists($class_name, 'js'))
{
$assets['js'] = $addon_obj->js();
}
}
else
{
$addon_output =
AddonParser::spDoAddon(AddonParser::generateShortcode($addon, 0, 0));
}
if ($css)
{
$assets['css'] = $css;
}
if (empty($addon_output))
{
$addon_output = '<div
class="sppb-empty-addon"><svg version="1.1"
id="Layer_1" xmlns="http://www.w3.org/2000/svg"
x="0px" y="0px" width="140.1px"
height="24.2px" viewBox="0 0 140.1 24.2">
<path class="st0"
d="M19,13.5c-0.4-0.4-0.8-0.4-1.1,0.1c-0.9,1.1-1.9,2.1-2.9,3c-3.5,3-7.6,4.7-12.1,5.5
c-0.6,0.1-0.8-0.1-0.8-0.7c0-0.9,0-1.9,0-2.8l0,0l0,0l0,0V5.5V4.9c0-0.2,0-0.4,0.3-0.5c0.4-0.3,0.7,0.2,1.1,0.5
c3.4,2.4,6.8,4.9,10.2,7.3c0.5,0.3,0.5,0.5,0.1,0.9c-2.6,2.4-5.5,4.1-8.9,5.1c-1.2,0.3-1.2,0.3-1.2,1.6c0,0.5,0.1,0.6,0.6,0.5
c1-0.2,2-0.5,2.9-0.8c3.7-1.4,6.8-3.5,9.4-6.5c0.6-0.7,0.6-0.6-0.1-1.2C11.1,7.9,5.9,4.2,0.7,0.5C0.6,0.4,0.4,0.3,0.3,0.4
c-0.2,0-0.1,0.2-0.1,0.4c0,0.9,0,1.8,0,2.7c0,0.3,0,0.4,0,0.6v3.2l0,0v2.6v1.2V13v1.4v1.5l0,0l-0.1,4.3l0,0c0,0.3,0,0.5,0,0.7
c0,0.8,0,1.7,0,2.5c0,0.4,0.1,0.6,0.6,0.6c2.1-0.1,4.1-0.4,6.1-1c5-1.5,9.1-4.2,12.5-8.1C19.9,14.2,19.9,14.2,19,13.5z"></path>
<path class="st1"
d="M9.1,12.3c0.1-0.1,0.1-0.2,0-0.3c-1.2-0.9-2.4-1.7-3.5-2.5C5.4,9.4,5.3,9.2,5.2,9.3
c-0.1,0-0.1,0.1-0.1,0.2v0.2v4.5C6.8,14.1,8.2,13.1,9.1,12.3z"></path>
</svg></div>';
}
if (!empty($addon_output))
{
$output .= LayoutHelper::render('addon.start',
array('addon' => $addon)); // start addon
$output .= $addon_output;
$output .= LayoutHelper::render('addon.end'); // end addon
}
echo json_encode(array('html' =>
htmlspecialchars_decode($output), 'status' =>
'true', 'assets' => $assets));
die;
}
if ($action === 'get-page-data')
{
$page_path = $_POST['pagepath'];
if (File::exists($page_path))
{
$content = file_get_contents($page_path);
if (is_array(json_decode($content)))
{
require_once JPATH_COMPONENT . '/builder/classes/addon.php';
$content = SpPageBuilderAddonHelper::__($content, true);
$content = SpPageBuilderAddonHelper::getFontendEditingPage($content);
echo json_encode(array('status' => true, 'data'
=> $content));
die;
}
}
echo json_encode(array('status' => false, 'data'
=> 'Something worng there.'));
die;
}
// all settings loading
if ($action === 'setting_value')
{
require_once JPATH_COMPONENT . '/builder/classes/base.php';
require_once JPATH_COMPONENT . '/builder/classes/config.php';
$addon_name = $_POST['name'];
$addon_id = $_POST['id'];
SpPgaeBuilderBase::loadSingleAddon($addon_name);
$addonList = SpAddonsConfig::$addons;
$addonItem = $addonList[$addon_name];
$addonItem = AddonsHelper::modernizeAddonStructure($addonItem);
require_once JPATH_COMPONENT . '/parser/addon-parser.php';
$settings = !empty($addonItem) ?
EditorUtils::extractSettingsDefaultValues($addonItem['settings'])
: [];
$globalDefaults = [];
$globalSettingsGroups = ['style', 'advanced',
'interaction'];
$globalSettings = SpPgaeBuilderBase::addonOptions();
foreach ($globalSettingsGroups as $groupName)
{
$globalDefaults = array_merge($globalDefaults,
EditorUtils::extractSettingsDefaultValues($globalSettings[$groupName]));
}
$settings = array_merge($settings, $globalDefaults);
$addon = json_decode(json_encode(array('id' => $addon_id,
'name' => $addon_name, 'settings' =>
$settings)));
$class_name = 'SppagebuilderAddon' . ucfirst($addon_name);
$addon_path = AddonParser::getAddonPath($addon_name);
$output = '';
require_once $addon_path . '/site.php';
$assets = array();
$css = LayoutHelper::render('addon.css', array('addon'
=> $addon));
if (class_exists($class_name))
{
$addon_obj = new $class_name($addon); // initialize addon class
$addon_output = $addon_obj->render();
// css
if (method_exists($class_name, 'css'))
{
$css .= $addon_obj->css();
}
// js
if (method_exists($class_name, 'js'))
{
$assets['js'] = $addon_obj->js();
}
}
else
{
$addon_output =
AddonParser::spDoAddon(AddonParser::generateShortcode($addon, 0, 0));
}
if ($css)
{
$assets['css'] = $css;
}
if (empty($addon_output))
{
$addon_output = '<div
class="sppb-empty-addon"><svg version="1.1"
id="Layer_1" xmlns="http://www.w3.org/2000/svg"
x="0px" y="0px" width="140.1px"
height="24.2px" viewBox="0 0 140.1 24.2">
<path class="st0"
d="M19,13.5c-0.4-0.4-0.8-0.4-1.1,0.1c-0.9,1.1-1.9,2.1-2.9,3c-3.5,3-7.6,4.7-12.1,5.5
c-0.6,0.1-0.8-0.1-0.8-0.7c0-0.9,0-1.9,0-2.8l0,0l0,0l0,0V5.5V4.9c0-0.2,0-0.4,0.3-0.5c0.4-0.3,0.7,0.2,1.1,0.5
c3.4,2.4,6.8,4.9,10.2,7.3c0.5,0.3,0.5,0.5,0.1,0.9c-2.6,2.4-5.5,4.1-8.9,5.1c-1.2,0.3-1.2,0.3-1.2,1.6c0,0.5,0.1,0.6,0.6,0.5
c1-0.2,2-0.5,2.9-0.8c3.7-1.4,6.8-3.5,9.4-6.5c0.6-0.7,0.6-0.6-0.1-1.2C11.1,7.9,5.9,4.2,0.7,0.5C0.6,0.4,0.4,0.3,0.3,0.4
c-0.2,0-0.1,0.2-0.1,0.4c0,0.9,0,1.8,0,2.7c0,0.3,0,0.4,0,0.6v3.2l0,0v2.6v1.2V13v1.4v1.5l0,0l-0.1,4.3l0,0c0,0.3,0,0.5,0,0.7
c0,0.8,0,1.7,0,2.5c0,0.4,0.1,0.6,0.6,0.6c2.1-0.1,4.1-0.4,6.1-1c5-1.5,9.1-4.2,12.5-8.1C19.9,14.2,19.9,14.2,19,13.5z"></path>
<path class="st1"
d="M9.1,12.3c0.1-0.1,0.1-0.2,0-0.3c-1.2-0.9-2.4-1.7-3.5-2.5C5.4,9.4,5.3,9.2,5.2,9.3
c-0.1,0-0.1,0.1-0.1,0.2v0.2v4.5C6.8,14.1,8.2,13.1,9.1,12.3z"></path>
</svg></div>';
}
$output .= LayoutHelper::render('addon.start',
array('addon' => $addon)); // start addon
$output .= $addon_output;
$output .= LayoutHelper::render('addon.end'); // end addon
echo json_encode(array('formData' => json_encode($settings),
'html' => htmlspecialchars_decode($output), 'status'
=> 'true', 'assets' => $assets));
die;
}
require_once JPATH_COMPONENT . '/helpers/ajax.php';
PK�E�[)!�VVmedia/view.json.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\View\HtmlView;
//no direct access
defined('_JEXEC') or die('Restricted access');
if (!class_exists('SppagebuilderHelperSite'))
{
require_once JPATH_ROOT .
'/components/com_sppagebuilder/helpers/helper.php';
}
class SppagebuilderViewMedia extends HtmlView
{
public function display($tpl = null)
{
$user = Factory::getUser();
$authorised = $user->authorise('core.admin',
'com_sppagebuilder') ||
$user->authorise('core.manage',
'com_sppagebuilder');
if (!$user->id || !$authorised)
{
throw new
Exception(Text::_('COM_SPPAGEBUILDER_GLOBAL_UNAUTHORIZED_ACCESS'));
}
$input = Factory::getApplication()->input;
$layout = $input->get('layout', 'browse',
'STRING');
$this->date = $input->post->get('date', NULL,
'STRING');
$this->start = $input->post->get('start', 0,
'INT');
$this->search = $input->post->get('search', NULL,
'STRING');
$this->limit = 30;
$model = $this->getModel();
if (($layout == 'browse') || ($layout == 'modal'))
{
$this->items = $model->getItems();
$this->filters = $model->getDateFilters($this->date,
$this->search);
$this->total = $model->getTotalMedia($this->date,
$this->search);
$this->categories = $model->getMediaCategories();
}
else
{
$this->media = $model->getFolders();
}
SppagebuilderHelperSite::loadLanguage();
parent::display($tpl);
}
}
PK�E�[a w�media/tmpl/browse.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct access
defined('_JEXEC') or die ('Restricted access');
$report = array();
$report['items'] = $this->items;
$report['filters'] = $this->filters;
if($this->total > ($this->limit + $this->start)) {
$report['pageNav'] = 'true';
} else {
$report['pageNav'] = 'false';
}
echo json_encode($report); die;
PK�E�[���C��media/tmpl/folders.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Filesystem\File;
//no direct access
defined('_JEXEC') or die ('Restricted access');
$input = Factory::getApplication()->input;
$path = $input->post->get('path', '/images',
'PATH');
$media = $this->media;
$report['breadcrumbs'] = $media['breadcrumbs'];
$report['folders'] = $media['folders'];
$report['folders_list'] = $media['folders_list'];
$items = array();
foreach ($media['items'] as $key => $item) {
$item = str_replace('\\', '/',$item);
$root_path = str_replace('\\', '/', JPATH_ROOT);
$path = str_replace($root_path . '/', '', $item);
$items[$key]['path'] = $path;
$thumb = dirname($path) . '/_sp-pagebuilder_thumbs/' .
basename($path);
if(file_exists(JPATH_ROOT . '/' . $thumb))
{
$items[$key]['src'] = Uri::root(true) . '/' . $thumb;
}
else
{
$items[$key]['src'] = Uri::root(true) . '/' . $path;
}
$filename = basename($item);
$title = File::stripExt($filename);
$ext = File::getExt($filename);
$items[$key]['id'] = 0;
$items[$key]['title'] = $title;
$items[$key]['ext'] = $ext;
$items[$key]['type'] = ( $ext == 'pdf' ) ?
'pdf' : 'image';
}
$report['items'] = $items;
echo json_encode($report);
die;PK�E�[آ��media/tmpl/modal.phpnu�[���<?php
defined('_JEXEC') or die();
require_once JPATH_ADMINISTRATOR .
'/components/com_sppagebuilder/views/media/tmpl/modal.php';
PK�E�[Mp�W11page/view.html.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct access
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\View\HtmlView;
use Joomla\CMS\Component\ComponentHelper;
class SppagebuilderViewPage extends HtmlView
{
protected $item;
protected $canEdit;
function display($tpl = null)
{
$app = Factory::getApplication();
$user = Factory::getUser();
$this->item = $this->get('Item');
// If a page is unpublished/trashed and a user tries to preview it.
if (is_string($this->item))
{
throw new Exception($this->item, 404);
}
$this->item = ApplicationHelper::preparePageData($this->item);
$this->canEdit = $user->authorise('core.edit',
'com_sppagebuilder') ||
$user->authorise('core.edit',
'com_sppagebuilder.page.' . $this->item->id) ||
($user->authorise('core.edit.own',
'com_sppagebuilder.page.' . $this->item->id) &&
$this->item->created_by == $user->id);
$this->checked_out = ($this->item->checked_out == 0 ||
$this->item->checked_out == $user->id);
if (count($errors = (array) $this->get('Errors')))
{
Log::add(implode('<br />', $errors), Log::WARNING,
'jerror');
return false;
}
// Temporary disabled
if ($this->item->access_view == false)
{
$app->enqueueMessage(Text::_('JERROR_ALERTNOAUTHOR'),
'error');
$app->setHeader('status', 403, true);
return;
}
$this->_prepareDocument($this->item->title);
parent::display($tpl);
}
protected function _prepareDocument($title = '')
{
$config = Factory::getConfig();
$app = Factory::getApplication();
$doc = Factory::getDocument();
$menus = $app->getMenu();
$menu = $menus->getActive();
$config_params =
ComponentHelper::getParams('com_sppagebuilder');
$disable_og = $config_params->get('disable_og', 0);
$disable_tc = $config_params->get('disable_tc', 0);
//Title
if (isset($meta['title']) && $meta['title'])
{
$title = $meta['title'];
}
else
{
if ($menu)
{
if ($menu->getParams()->get('page_title',
''))
{
$title = $menu->getParams()->get('page_title');
}
else
{
$title = $menu->title;
}
}
}
//Include Site title
$sitetitle = $title;
if ($config->get('sitename_pagetitles') == 2)
{
$sitetitle = Text::sprintf('JPAGETITLE', $sitetitle,
$app->get('sitename'));
}
elseif ($config->get('sitename_pagetitles') == 1)
{
$sitetitle = Text::sprintf('JPAGETITLE',
$app->get('sitename'), $sitetitle);
}
$doc->setTitle($sitetitle);
$og_title = $this->item->og_title;
$language = ($this->item->language == '*') ?
Factory::getLanguage()->getTag() : $this->item->language;
$this->document->addCustomTag('<meta
property="article:author" content="' .
$this->item->author_name . '"/>');
$this->document->addCustomTag('<meta
property="article:published_time" content="' .
$this->item->created_on . '"/>');
$this->document->addCustomTag('<meta
property="article:modified_time" content="' .
$this->item->modified . '"/>');
$this->document->addCustomTag('<meta
property="og:locale" content="' . $language .
'" />');
// Page Meta
if (isset($this->item->attribs))
{
$attribs = json_decode($this->item->attribs);
}
else
{
$attribs = new stdClass;
}
if (!$disable_og)
{
if ($og_title)
{
$this->document->addCustomTag('<meta
property="og:title" content="' . $og_title .
'" />');
}
else
{
$doc->addCustomTag('<meta property="og:title"
content="' . $title . '" />');
}
$og_type = (isset($attribs->og_type) && $attribs->og_type)
? $attribs->og_type : 'website';
$this->document->addCustomTag('<meta
property="og:type" content="' . $og_type . '"
/>');
$this->document->addCustomTag('<meta
property="og:url" content="' .
Uri::getInstance()->toString() . '" />');
if ($fb_app_id = $config_params->get('fb_app_id',
''))
{
$this->document->addCustomTag('<meta
property="fb:app_id" content="' . $fb_app_id .
'" />');
}
if ($config->get('sitename', ''))
{
$this->document->addCustomTag('<meta
property="og:site_name" content="' .
htmlspecialchars($config->get('sitename', '')) .
'" />');
}
}
$og_image = "";
if (!empty($this->item->og_image))
{
$og_image = preg_match("@^{@", $this->item->og_image) ?
json_decode($this->item->og_image)->src :
$this->item->og_image;
}
if (!$disable_og && $og_image)
{
$this->document->addCustomTag('<meta
property="og:image" content="' . Uri::root() .
$og_image . '" />');
$this->document->addCustomTag('<meta
property="og:image:width" content="1200" />');
$this->document->addCustomTag('<meta
property="og:image:height" content="630" />');
}
$og_description = $this->item->og_description;
if (!$disable_og && $og_description)
{
$this->document->addCustomTag('<meta
property="og:description" content="' . $og_description
. '" />');
}
if (!$disable_tc)
{
// Twitter
$this->document->addCustomTag('<meta
name="twitter:card" content="summary" />');
if ($config->get('sitename', ''))
{
$this->document->addCustomTag('<meta
name="twitter:site" content="' .
htmlspecialchars($config->get('sitename', '')) .
'" />');
}
if ($og_description)
{
$this->document->addCustomTag('<meta
name="twitter:description" content="' . $og_description
. '" />');
}
if ($og_image)
{
$this->document->addCustomTag('<meta
name="twitter:image:src" content="' . Uri::root() .
$og_image . '" />');
}
}
$meta_description = (isset($attribs->meta_description) &&
$attribs->meta_description) ? $attribs->meta_description :
'';
$meta_keywords = (isset($attribs->meta_keywords) &&
$attribs->meta_keywords) ? $attribs->meta_keywords : '';
$robots = (isset($attribs->robots) &&
$attribs->robots) ? $attribs->robots : '';
if ($menu)
{
if ($menu->getParams()->get('menu-meta_description'))
{
$meta_description =
$menu->getParams()->get('menu-meta_description');
}
if ($menu->getParams()->get('menu-meta_keywords'))
{
$meta_keywords =
$menu->getParams()->get('menu-meta_keywords');
}
if ($menu->getParams()->get('robots'))
{
$robots = $menu->getParams()->get('robots');
}
}
if (!empty($meta_description))
{
$this->document->setDescription($meta_description);
}
if (!empty($meta_keywords))
{
$this->document->setMetadata('keywords',
$meta_keywords);
}
if (!empty($robots))
{
$this->document->setMetadata('robots', $robots);
}
}
}
PK�E�[��L��page/tmpl/default.phpnu�[���<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct access
defined('_JEXEC') or die('Restricted access');
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
$doc = Factory::getDocument();
$user = Factory::getUser();
$app = Factory::getApplication();
$params = ComponentHelper::getParams('com_sppagebuilder');
if ($params->get('fontawesome', 1))
{
SppagebuilderHelperSite::addStylesheet('font-awesome-5.min.css');
SppagebuilderHelperSite::addStylesheet('font-awesome-v4-shims.css');
}
if (!$params->get('disableanimatecss', 0))
{
SppagebuilderHelperSite::addStylesheet('animate.min.css');
}
if (!$params->get('disablecss', 0))
{
SppagebuilderHelperSite::addStylesheet('sppagebuilder.css');
SppagebuilderHelperSite::addStylesheet('animate.min.css');
SppagebuilderHelperSite::addContainerMaxWidth();
}
// load font assets form database
SppagebuilderHelperSite::loadAssets();
HTMLHelper::_('jquery.framework');
HTMLHelper::_('script',
'components/com_sppagebuilder/assets/js/jquery.parallax.js',
['version' => SppagebuilderHelperSite::getVersion(true)]);
HTMLHelper::_('script',
'components/com_sppagebuilder/assets/js/es5_interaction.js',
['version' => SppagebuilderHelperSite::getVersion(true)],
['defer' => true]);
HTMLHelper::_('script',
'components/com_sppagebuilder/assets/js/sppagebuilder.js',
['version' => SppagebuilderHelperSite::getVersion(true)],
['defer' => true]);
$menus = $app->getMenu();
$menu = $menus->getActive();
$menuClassPrefix = '';
$showPageHeading = 0;
// check active menu item
if ($menu)
{
$menuClassPrefix =
$menu->getParams()->get('pageclass_sfx');
$showPageHeading =
$menu->getParams()->get('show_page_heading');
$menuHeading = $menu->getParams()->get('page_heading');
}
$page = $this->item;
require_once JPATH_ROOT .
'/components/com_sppagebuilder/parser/addon-parser.php';
require_once JPATH_ROOT .
'/components/com_sppagebuilder/builder/classes/addon.php';
$content = $page->text;
// Add page css
if (isset($page->css) && $page->css)
{
$doc->addStyledeclaration($page->css);
}
?>
<div id="sp-page-builder" class="sp-page-builder <?php
echo $menuClassPrefix; ?> page-<?php echo $page->id;
?>">
<?php if ($showPageHeading) : ?>
<div class="page-header">
<h1 itemprop="name">
<?php echo $menuHeading ? $menuHeading : $page->title; ?>
</h1>
</div>
<?php endif; ?>
<div class="page-content">
<?php $pageName = 'page-' . $page->id; ?>
<?php echo AddonParser::viewAddons($content, 0, $pageName); ?>
<?php if ($this->canEdit) : ?>
<a class="sp-pagebuilder-page-edit" href="<?php
echo $this->checked_out ? $this->item->formLink :
$this->item->link . '#'; ?>">
<?php if (!$this->checked_out) : ?>
<span class="fas fa-lock"
area-hidden="true"></span> <?php echo
Text::_('COM_SPPAGEBUILDER_PAGE_CHECKED_OUT'); ?>
<?php else : ?>
<span class="fas fa-edit"
area-hidden="true"></span> <?php echo
Text::_('COM_SPPAGEBUILDER_PAGE_EDIT'); ?>
<?php endif; ?>
</a>
<?php endif; ?>
</div>
</div>PK�E�[��ܦEEpage/tmpl/default.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<metadata>
<layout
title="COM_SPPAGEBUILDER_PAGE_DEFAULT_TITLE">
<message>COM_SPPAGEBUILDER_PAGE_VIEW_DEFAULT_DESC</message>
</layout>
<fields name="request">
<fieldset name="request"
addfieldpath="/administrator/components/com_sppagebuilder/models/fields">
<field name="id"
type="modal_page"
label="COM_SPPAGEBUILDER_FIELD_SELECT_PAGE_LABEL"
required="true"
edit="false"
clear="false"
description="COM_SPPAGEBUILDER_FIELD_SELECT_PAGE_DESC"
/>
</fieldset>
</fields>
</metadata>PK{V�[�Z�**login/tmpl/default.phpnu�[���PK{V�[?��|GGplogin/tmpl/default.xmlnu�[���PK{V�[S��!���login/tmpl/default_login.phpnu�[���PK{V�[*G���D
login/tmpl/default_logout.phpnu�[���PK{V�[¿�.��()login/tmpl/logout.xmlnu�[���PK{V�[������\-login/view.html.phpnu�[���PK{V�[s-T�##9profile/tmpl/default.phpnu�[���PK{V�[����33�=profile/tmpl/default.xmlnu�[���PK{V�[����e?profile/tmpl/default_core.phpnu�[���PK{V�[K��� � �Dprofile/tmpl/default_custom.phpnu�[���PK{V�[�A
33�Nprofile/tmpl/default_params.phpnu�[���PK{V�[�~�(Tprofile/tmpl/edit.phpnu�[���PK{V�[ݏ�88njprofile/tmpl/edit.xmlnu�[���PK{V�[�'E���kprofile/view.html.phpnu�[���PK{V�[}*A���|registration/tmpl/complete.phpnu�[���PK{V�[��˙pp�~registration/tmpl/default.phpnu�[���PK{V�[��B�EE��registration/tmpl/default.xmlnu�[���PK{V�[��r��
�
L�registration/view.html.phpnu�[���PK{V�[ށ>e�remind/tmpl/default.phpnu�[���PK{V�[�q>�11Ƙremind/tmpl/default.xmlnu�[���PK{V�[�n?"h
h
>�remind/view.html.phpnu�[���PK{V�[��;��reset/tmpl/complete.phpnu�[���PK{V�[�M��
=�reset/tmpl/confirm.phpnu�[���PK{V�[�a��reset/tmpl/default.phpnu�[���PK{V�[��W�22�reset/tmpl/default.xmlnu�[���PK{V�[�o�d�reset/view.html.phpnu�[���PK�]�[@V����tree/metadata.xmlnu�[���PK�]�[B�����tree/tmpl/default.xmlnu�[���PK�E�[R��ǀ�5�form/view.html.phpnu�[���PK�E�[������form/tmpl/edit-iframe.phpnu�[���PK�E�[#W1�d�d��form/tmpl/edit.phpnu�[���PK�E�[��S�)�);Lajax/view.json.phpnu�[���PK�E�[)!�VVvmedia/view.json.phpnu�[���PK�E�[a w��|media/tmpl/browse.phpnu�[���PK�E�[���C���~media/tmpl/folders.phpnu�[���PK�E�[آ����media/tmpl/modal.phpnu�[���PK�E�[Mp�W11
page/view.html.phpnu�[���PK�E�[��L��5�page/tmpl/default.phpnu�[���PK�E�[��ܦEE%�page/tmpl/default.xmlnu�[���PK'':
��