first commit
This commit is contained in:
61
administrator/components/com_jce/views/profile/tmpl/edit.php
Normal file
61
administrator/components/com_jce/views/profile/tmpl/edit.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
// Load tooltips behavior
|
||||
JHtml::_('behavior.formvalidator');
|
||||
JHtml::_('behavior.keepalive');
|
||||
|
||||
// Load JS message titles
|
||||
JText::script('ERROR');
|
||||
JText::script('WARNING');
|
||||
JText::script('NOTICE');
|
||||
JText::script('MESSAGE');
|
||||
?>
|
||||
<div class="ui-jce loading">
|
||||
<div class="donut"></div>
|
||||
<form action="<?php echo JRoute::_('index.php?option=com_jce'); ?>" id="adminForm" method="post" name="adminForm" class="form-validate">
|
||||
|
||||
<?php if (!empty( $this->sidebar)) : ?>
|
||||
<div id="j-sidebar-container" class="span2">
|
||||
<?php echo $this->sidebar; ?>
|
||||
</div>
|
||||
<div id="j-main-container" class="span10">
|
||||
<?php else : ?>
|
||||
<div id="j-main-container">
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="row row-fluid">
|
||||
<!-- Begin Content -->
|
||||
<div class="span12 col-md-12">
|
||||
<?php echo JHtml::_('bootstrap.startTabSet', 'profile', array('active' => 'profile-setup'));?>
|
||||
<?php foreach(array('setup', 'features', 'editor', 'plugins') as $item) :?>
|
||||
<?php echo JHtml::_('bootstrap.addTab', 'profile', 'profile-' . $item, JText::_('WF_PROFILES_' . strtoupper($item), true));?>
|
||||
|
||||
<div class="row-fluid">
|
||||
<?php echo $this->loadTemplate($item); ?>
|
||||
</div>
|
||||
|
||||
<?php echo JHtml::_('bootstrap.endTab');?>
|
||||
<?php endforeach;?>
|
||||
|
||||
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
|
||||
</div>
|
||||
<!-- End Content -->
|
||||
</div>
|
||||
<input type="hidden" name="task" value="" />
|
||||
<input type="hidden" name="id" value="<?php echo $this->item->id;?>" />
|
||||
<?php echo JHtml::_('form.token'); ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*
|
||||
*/
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
?>
|
||||
<div class="tabbable tabs-left flex-column">
|
||||
<?php //echo JHtml::_('bootstrap.startTabSet', 'profile-editor', array('active' => 'profile-editor-setup')); ?>
|
||||
|
||||
<ul class="nav nav-tabs">
|
||||
<?php foreach(array('setup', 'typography', 'filesystem', 'advanced') as $key => $item) : ?>
|
||||
<li class="nav-item<?php echo $key === 0 ? ' active show' : '';?>"><a href="#" class="nav-link"><?php echo JText::_('WF_PROFILES_EDITOR_' . strtoupper($item), true);?></a></li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<?php foreach(array('setup', 'typography', 'filesystem', 'advanced') as $key => $item) : ?>
|
||||
<div class="tab-pane<?php echo $key === 0 ? ' active show' : '';?>">
|
||||
<?php //echo JHtml::_('bootstrap.addTab', 'profile-editor', 'profile-editor-' . $item, JText::_('WF_PROFILES_EDITOR_' . strtoupper($item), true));?>
|
||||
|
||||
<div class="row-fluid">
|
||||
<?php echo $this->loadTemplate('editor_' . $item); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php //echo JHtml::_('bootstrap.endTab');?>
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<?php //echo JHtml::_('bootstrap.endTabSet'); ?>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_EDITOR_ADVANCED');
|
||||
$this->fieldsname = 'editor.advanced';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_EDITOR_FILESYSTEM');
|
||||
$this->fieldsname = 'editor.filesystem';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_EDITOR_SETUP');
|
||||
$this->fieldsname = 'editor.setup';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_EDITOR_TYPOGRAPHY');
|
||||
$this->fieldsname = 'editor.typography';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_FEATURES_LAYOUT');
|
||||
$this->fieldsname = 'editor.features';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
?>
|
||||
|
||||
<div class="form-horizontal">
|
||||
<?php echo JLayoutHelper::render('edit.layout', $this);?>
|
||||
<?php echo JLayoutHelper::render('edit.additional', $this);?>
|
||||
</div>
|
||||
<input type="hidden" name="jform[plugins]" value="" />
|
||||
<input type="hidden" name="jform[rows]" value="" />
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
|
||||
$plugins = array_values(array_filter($this->plugins, function($plugin) {
|
||||
return $plugin->editable && !empty($plugin->form);
|
||||
}));
|
||||
|
||||
?>
|
||||
<div class="<?php echo $this->formclass;?> tabbable tabs-left flex-column">
|
||||
<?php //echo JHtml::_('bootstrap.startTabSet', 'profile-plugins', array('active' => 'profile-plugins-' . $plugins[0]->name));?>
|
||||
|
||||
<ul class="nav nav-tabs" id="profile-plugins-tabs">
|
||||
|
||||
<?php
|
||||
|
||||
$key = 0;
|
||||
|
||||
foreach ($plugins as $plugin) :
|
||||
$plugin->state = "hide";
|
||||
|
||||
if ($plugin->active) {
|
||||
$plugin->state = "";
|
||||
|
||||
$key++;
|
||||
|
||||
if ($key === 1) {
|
||||
$plugin->state = "active";
|
||||
}
|
||||
}
|
||||
|
||||
$icons = '';
|
||||
$title = '';
|
||||
|
||||
$title .= '<p>' . $plugin->title . '</p>';
|
||||
|
||||
if (!empty($plugin->icon)) {
|
||||
|
||||
foreach ($plugin->icon as $icon) {
|
||||
$icons .= '<div class="mce-widget mce-btn mceButton ' . $plugin->class . '" title="' . $plugin->title . '"><span class="mce-ico mce-i-' . $icon . ' mceIcon mce_' . $icon . '"></span></div>';
|
||||
}
|
||||
|
||||
$title .= '<div class="mceEditor mceDefaultSkin"><div class="mce-container mce-toolbar mceToolbarItem">' . $icons . '</div></div>';
|
||||
}
|
||||
|
||||
//echo JHtml::_('bootstrap.addTab', 'profile-plugins', 'profile-plugins-' . $plugin->name, $title); ?>
|
||||
<li class="nav-item <?php echo $plugin->state;?>"><a href="#profile-plugins-<?php echo $plugin->name;?>" class="nav-link"><?php echo $title;?></a></li>
|
||||
<?php endforeach;?>
|
||||
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<?php foreach ($plugins as $plugin) : ?>
|
||||
<div class="tab-pane <?php echo $plugin->state;?>" id="profile-plugins-<?php echo $plugin->name;?>">
|
||||
<div class="row-fluid">
|
||||
|
||||
<?php if ($plugin->form) :
|
||||
$plugin->fieldsname = "config";
|
||||
$plugin->name = $plugin->title;
|
||||
$plugin->description = "";
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $plugin);
|
||||
|
||||
foreach ($plugin->extensions as $type => $extensions) : ?>
|
||||
|
||||
<h3><?php echo JText::_('WF_EXTENSIONS_' . strtoupper($type) . '_TITLE', true); ?></h3>
|
||||
|
||||
<?php foreach ($extensions as $name => $extension) : ?>
|
||||
<div class="row-fluid">
|
||||
|
||||
<?php if ($extension->form) :
|
||||
$extension->fieldsname = "";
|
||||
$extension->name = JText::_($extension->title, true);
|
||||
$extension->description = "";
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $extension);
|
||||
|
||||
endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php endforeach;
|
||||
|
||||
endif; ?>
|
||||
</div>
|
||||
<?php //echo JHtml::_('bootstrap.endTab');?>
|
||||
</div>
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<?php //echo JHtml::_('bootstrap.endTabSet'); ?>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*
|
||||
*/
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_DETAILS');
|
||||
$this->fieldsname = 'setup';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
|
||||
$this->name = JText::_('WF_PROFILES_ASSIGNMENT');
|
||||
$this->fieldsname = 'assignment';
|
||||
echo JLayoutHelper::render('joomla.content.options_default', $this);
|
||||
110
administrator/components/com_jce/views/profile/view.html.php
Normal file
110
administrator/components/com_jce/views/profile/view.html.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @copyright Copyright (c) 2009-2022 Ryan Demmer. All rights reserved
|
||||
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
* JCE is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses
|
||||
*/
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
class JceViewProfile extends JViewLegacy
|
||||
{
|
||||
protected $state;
|
||||
protected $item;
|
||||
public $form;
|
||||
|
||||
/**
|
||||
* Display the view.
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
{
|
||||
$this->state = $this->get('State');
|
||||
$this->item = $this->get('Item');
|
||||
$this->form = $this->get('Form');
|
||||
|
||||
$this->formclass = 'form-horizontal options-grid-form options-grid-form-full';
|
||||
|
||||
$params = JComponentHelper::getParams('com_jce');
|
||||
|
||||
if ($params->get('inline_help', 1)) {
|
||||
$this->formclass .= ' form-help-inline';
|
||||
}
|
||||
|
||||
$this->plugins = $this->get('Plugins');
|
||||
$this->rows = $this->get('Rows');
|
||||
$this->available = $this->get('AvailableButtons');
|
||||
$this->additional = $this->get('AdditionalPlugins');
|
||||
|
||||
// load language files
|
||||
$language = JFactory::getLanguage();
|
||||
$language->load('com_jce', JPATH_SITE);
|
||||
$language->load('com_jce_pro', JPATH_SITE);
|
||||
|
||||
// set JLayoutHelper base path
|
||||
JLayoutHelper::$defaultBasePath = JPATH_COMPONENT_ADMINISTRATOR;
|
||||
|
||||
// Check for errors.
|
||||
if (count($errors = $this->get('Errors'))) {
|
||||
JError::raiseError(500, implode("\n", $errors));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->addToolbar();
|
||||
parent::display($tpl);
|
||||
|
||||
// only in Joomla 3.x
|
||||
if (version_compare(JVERSION, '4', 'lt')) {
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
}
|
||||
|
||||
// version hash
|
||||
$hash = md5(WF_VERSION);
|
||||
|
||||
$document = JFactory::getDocument();
|
||||
$document->addStyleSheet(JURI::root(true) . '/media/com_jce/css/profile.min.css?' . $hash);
|
||||
$document->addStyleSheet(JURI::root(true) . '/components/com_jce/editor/libraries/vendor/jquery/css/jquery-ui.min.css?' . $hash);
|
||||
|
||||
$document->addScript(JURI::root(true) . '/components/com_jce/editor/libraries/vendor/jquery/js/jquery-ui.min.js?' . $hash);
|
||||
|
||||
$document->addScript(JURI::root(true) . '/media/com_jce/js/core.min.js?' . $hash);
|
||||
$document->addScript(JURI::root(true) . '/media/com_jce/js/profile.min.js?' . $hash);
|
||||
|
||||
// default theme
|
||||
$document->addStyleSheet(JURI::root(true) . '/components/com_jce/editor/tiny_mce/themes/advanced/skins/default/ui.admin.css?' . $hash);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the page title and toolbar.
|
||||
*
|
||||
* @since 2.7
|
||||
*/
|
||||
protected function addToolbar()
|
||||
{
|
||||
JFactory::getApplication()->input->set('hidemainmenu', true);
|
||||
|
||||
$user = JFactory::getUser();
|
||||
$canEdit = $user->authorise('core.create', 'com_jce');
|
||||
|
||||
JToolbarHelper::title(JText::_('WF_PROFILES_EDIT'), 'user');
|
||||
|
||||
// For new records, check the create permission.
|
||||
if ($canEdit) {
|
||||
JToolbarHelper::apply('profile.apply');
|
||||
JToolbarHelper::save('profile.save');
|
||||
JToolbarHelper::save2new('profile.save2new');
|
||||
}
|
||||
|
||||
if (empty($this->item->id)) {
|
||||
JToolbarHelper::cancel('profile.cancel');
|
||||
} else {
|
||||
JToolbarHelper::cancel('profile.cancel', 'JTOOLBAR_CLOSE');
|
||||
}
|
||||
|
||||
JToolbarHelper::divider();
|
||||
JToolbarHelper::help('WF_PROFILES_EDIT');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user