first commit

This commit is contained in:
2026-02-08 21:16:11 +01:00
commit e17b7026fd
8881 changed files with 1160453 additions and 0 deletions

View 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>

View File

@@ -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>

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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="" />

View File

@@ -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>

View File

@@ -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);

View 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');
}
}