添加到 trunk

+YUCHENG HU+

git-svn-id: https://svn.code.sf.net/p/hawebs/svn@333 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
This commit is contained in:
YuCheng Hu
2010-06-13 23:27:13 +00:00
parent 218777cb8b
commit 719a7cf541
24 changed files with 738 additions and 0 deletions
@@ -0,0 +1,100 @@
<?php
/**
* @version $Id: controller.php 101 2009-06-21 19:20:27Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
jimport( 'joomla.application.component.controller' );
/**
* Plugins Component Controller
*
* @package Joomla
* @subpackage Plugins
* @since 1.5
*/
class ConfigController extends JController
{
/**
* Custom Constructor
*/
function __construct( $default = array())
{
parent::__construct( $default );
$this->registerTask( 'apply', 'save');
}
function display( )
{
parent::display();
}
function cancel( )
{
$this->setRedirect( JRoute::_( 'index.php?option=com_jce&client='. $client, false ) );
}
function save()
{
// Check for request forgeries
JRequest::checkToken() or die( 'Invalid Token' );
$db =& JFactory::getDBO();
$row =& JTable::getInstance('plugin');
$task = $this->getTask();
$client = JRequest::getWord( 'client', 'site' );
$query = 'SELECT id'
. ' FROM #__plugins'
. ' WHERE element = "jce"'
;
$db->setQuery( $query );
$id = $db->loadResult();
$row->load( intval( $id ) );
if (!$row->bind(JRequest::get('post'))) {
JError::raiseError(500, $row->getError() );
}
if (!$row->check()) {
JError::raiseError(500, $row->getError() );
}
if (!$row->store()) {
JError::raiseError(500, $row->getError() );
}
$row->checkin();
if ($client == 'admin') {
$where = "client_id=1";
} else {
$where = "client_id=0";
}
$row->reorder( 'folder = '.$db->Quote( $row->folder ).' AND ordering > -10000 AND ordering < 10000 AND ( '.$where.' )' );
$msg = JText::sprintf( 'Successfully Saved changes to JCE configuration' );
switch ( $task )
{
case 'apply':
$this->setRedirect( 'index.php?option=com_jce&type=config&client='. $client, $msg );
break;
case 'save':
default:
$this->setRedirect( 'index.php?option=com_jce&client='. $client, $msg );
break;
}
}
}
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,93 @@
<?php
/**
* @version $Id: default.php 102 2009-06-21 19:20:52Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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('_JEXEC') or die('Restricted access');
JHTML::_('behavior.tooltip');
JToolBarHelper::title( JText::_( 'JCE Configuration' ), 'config.png' );
JToolBarHelper::save();
JToolBarHelper::apply();
JToolBarHelper::cancel( 'cancel', JText::_( 'Close' ) );
jceToolbarHelper::help('config');
?>
<form action="index.php" method="post" name="adminForm">
<div class="col width-50">
<table class="admintable">
<tr>
<td style="vertical-align:top;">
<fieldset class="adminform">
<legend><?php echo JText::_( 'Setup' ); ?></legend>
<?php if($output = $this->params->render('params', 'setup')) :
echo $output;
else :
echo "<div style=\"text-align: center; padding: 5px; \">".JText::_('No Parameters')."</div>";
endif;?>
</fieldset>
</td>
</tr>
<tr>
<td style="vertical-align:top;">
<fieldset class="adminform">
<legend><?php echo JText::_( 'Cleanup' ); ?></legend>
<?php if($output = $this->params->render('params', 'cleanup')) :
echo $output;
else :
echo "<div style=\"text-align: center; padding: 5px; \">".JText::_('No Parameters')."</div>";
endif;?>
</fieldset>
</td>
</tr>
<tr>
<td style="vertical-align:top;">
<fieldset class="adminform">
<legend><?php echo JText::_( 'Formatting' ); ?></legend>
<?php if($output = $this->params->render('params', 'format')) :
echo $output;
else :
echo "<div style=\"text-align: center; padding: 5px; \">".JText::_('No Parameters ')."</div>";
endif;?>
</fieldset>
</td>
</tr>
<tr>
<td style="vertical-align:top;">
<fieldset class="adminform">
<legend><?php echo JText::_( 'Advanced' ); ?></legend>
<?php if($output = $this->params->render('params', 'advanced')) :
echo $output;
else :
echo "<div style=\"text-align: center; padding: 5px; \">".JText::_('No Parameters ')."</div>";
endif;?>
</fieldset>
</td>
</tr>
<tr>
<td style="vertical-align:top;">
<fieldset class="adminform">
<legend><?php echo JText::_( 'Miscellaneous' ); ?></legend>
<?php if($output = $this->params->render('params', 'other')) :
echo $output;
else :
echo "<div style=\"text-align: center; padding: 5px; \">".JText::_('No Parameters ')."</div>";
endif;?>
</fieldset>
</td>
</tr>
</table>
</div>
<input type="hidden" name="option" value="com_jce" />
<input type="hidden" name="client" value="<?php echo $this->client; ?>" />
<input type="hidden" name="type" value="config" />
<input type="hidden" name="task" value="" />
<?php echo JHTML::_( 'form.token' ); ?>
</form>
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,62 @@
<?php
/**
* @version $Id: view.html.php 102 2009-06-21 19:20:52Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// no direct access
defined('_JEXEC') or die ('Restricted access');
jimport('joomla.application.component.view');
/**
* Extension Manager Default View
*
* @package JCE
* @since 1.5
*/
class ConfigViewConfig extends JView
{
function display($tpl = null)
{
$db = & JFactory::getDBO();
$lang = & JFactory::getLanguage();
$lang->load('plg_editors_jce', JPATH_SITE);
$client = JRequest::getWord('client', 'site');
$lists = array ();
$row = & JTable::getInstance('plugin');
$query = 'SELECT id'
.' FROM #__plugins'
.' WHERE element = "jce"'
;
$db->setQuery($query);
$id = $db->loadResult();
// load the row from the db table
$row->load(intval($id));
$xml = JCE_LIBRARIES.DS.'xml'.DS.'config'.DS.'config.xml';
if (!file_exists($xml)) {
$xml = JPATH_PLUGINS.DS.'editors'.DS.'jce.xml';
}
// get params definitions
$params = new JParameter($row->params, $xml);
$params->addElementPath(JPATH_COMPONENT.DS.'elements');
$this->assignRef('params', $params);
$this->assignRef('client', $client);
parent::display($tpl);
}
}
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,26 @@
<?php
/**
* @version $Id: config.php 103 2009-06-21 19:21:18Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Controller
require_once( JPATH_COMPONENT .DS. 'config' .DS. 'controller.php' );
// Create the controller
$controller = new ConfigController( array(
'base_path' => JPATH_COMPONENT .DS. 'config'
) );
$controller->execute( JRequest::getCmd( 'task' ) );
$controller->redirect();
?>
@@ -0,0 +1,27 @@
<?php
/**
* @version $Id: cpanel.php 103 2009-06-21 19:21:18Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Controller
require_once( JPATH_COMPONENT .DS. 'cpanel' .DS. 'controller.php' );
// Create the controller
$controller = new CpanelController( array(
'base_path' => JPATH_COMPONENT .DS. 'cpanel' ,
'template_path' => JPATH_COMPONENT .DS. 'cpanel' .DS. 'views' .DS. 'tmpl'
) );
$controller->execute( JRequest::getCmd( 'task' ) );
$controller->redirect();
?>
@@ -0,0 +1,28 @@
<?php
/**
* @version $Id: groups.php 103 2009-06-21 19:21:18Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Table class
require_once( JPATH_COMPONENT .DS. 'groups' .DS. 'groups.php' );
// Controller
require_once( JPATH_COMPONENT .DS. 'groups' .DS. 'controller.php' );
// Create the controller
$controller = new GroupsController( array(
'base_path' => JPATH_COMPONENT .DS. 'groups'
) );
$controller->execute( JRequest::getCmd( 'task' ) );
$controller->redirect();
?>
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,44 @@
<?php
/**
* @version $Id: installer.php 103 2009-06-21 19:21:18Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
/*
* Make sure the user is authorized to view this page
*/
$ext = JRequest::getWord('type');
$subMenus = array(
'Plugins' => 'plugin',
'Languages' => 'language',
'Plugin Extensions' => 'extension'
);
JSubMenuHelper::addEntry(JText::_( 'Control Panel' ), '#" onclick="javascript:document.adminForm.type.value=\'\';document.adminForm.task.value=\'\';submitbutton(\'\');');
JSubMenuHelper::addEntry(JText::_( 'Install' ), '#" onclick="javascript:document.adminForm.type.value=\'install\';document.adminForm.task.value=\'\';submitbutton(\'\');', !in_array( $ext, $subMenus));
foreach ($subMenus as $name => $extension) {
JSubMenuHelper::addEntry(JText::_( $name ), '#" onclick="javascript:document.adminForm.type.value=\''.$extension.'\';submitbutton(\'manage\');', ($extension == $ext));
}
require_once( JPATH_COMPONENT .DS. 'installer' .DS. 'controller.php' );
$controller = new InstallerController( array(
'default_task' => 'installform',
'base_path' => JPATH_COMPONENT .DS. 'installer'
) );
$task = JRequest::getWord('task');
if( $task == 'install' ){
$task = 'doInstall';
}
$controller->execute( $task );
$controller->redirect();
@@ -0,0 +1,28 @@
<?php
/**
* @version $Id: plugin.php 103 2009-06-21 19:21:18Z happynoodleboy $
* @package JCE
* @copyright Copyright (C) 2009 Ryan Demmer. All rights reserved.
* @license GNU/GPL
* 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.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Table class
require_once( JPATH_COMPONENT .DS. 'plugins' .DS. 'plugin.php' );
// Controller
require_once( JPATH_COMPONENT .DS. 'plugins' .DS. 'controller.php' );
// Create the controller
$controller = new PluginsController( array(
'base_path' => JPATH_COMPONENT .DS. 'plugins'
) );
$controller->execute( JRequest::getCmd( 'task' ) );
$controller->redirect();
?>
@@ -0,0 +1,41 @@
<?php
/**
* @version $Id: controller.php 47 2009-05-26 18:06:30Z happynoodleboy $
* @package Joomla
* @subpackage Config
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! 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. See COPYRIGHT.php for copyright notices and
* details.
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
jimport( 'joomla.application.component.controller' );
/**
* Plugins Component Controller
*
* @package Joomla
* @subpackage Plugins
* @since 1.5
*/
class CpanelController extends JController
{
/**
* Custom Constructor
*/
function __construct( $default = array())
{
parent::__construct( $default );
}
function display( )
{
parent::display();
}
}
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,109 @@
<?php defined('_JEXEC') or die('Restricted access'); ?>
<?php
JToolBarHelper::title( JText::_( 'JCE Administration' ), 'cpanel.png' );
jceToolbarHelper::help( 'cpanel' );
JHTML::stylesheet('icons.css', 'administrator/components/com_jce/css/');
$updater =& JCEUpdater::getInstance();
?>
<table class="admintable">
<tr>
<td width="55%" valign="top" colspan="2">
<div id="cpanel"><?php
$link = 'index.php?option=com_jce&amp;type=config';
JCEHelper::quickiconButton( $link, 'icon-48-config.png', JText::_( 'Configuration' ) );
$link = 'index.php?option=com_jce&amp;type=plugin';
JCEHelper::quickiconButton( $link, 'icon-48-plugin.png', JText::_( 'Plugins' ) );
$link = 'index.php?option=com_jce&amp;type=group';
JCEHelper::quickiconButton( $link, 'icon-48-user.png', JText::_( 'Groups' ) );
$link = 'index.php?option=com_jce&amp;type=install';
JCEHelper::quickiconButton( $link, 'icon-48-install.png', JText::_( 'Install' ) );
?></div>
<div class="clr"></div>
</td>
</tr>
<tr>
<td>
<table class="admintable">
<tr>
<td class="key">
<?php echo JText::_( 'Forum' );?>
</td>
<td>
<a href="http://www.joomlacontenteditor.net/forum" target="_new">www.joomlacontenteditor.com/forum</a>
</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'Tutorials' );?>
</td>
<td>
<a href="http://www.joomlacontenteditor.net/support/tutorials" target="_new">www.joomlacontenteditor.com/tutorials</a>
</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'Documentation' );?>
</td>
<td>
<a href="http://www.joomlacontenteditor.net/support/documentation" target="_new">www.joomlacontenteditor.com/documentation</a>
</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'FAQ' );?>
</td>
<td>
<a href="http://www.joomlacontenteditor.net/support/faq" target="_new">www.joomlacontenteditor.com/faq</a>
</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'License' );?>
</td>
<td>GNU/GPL</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'Component Version' );?>
</td>
<td>
<?php echo $this->com_info['version'];?>
</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'Plugin Version' );?>
</td>
<td>
<?php echo $this->plg_info['version'];?>
</td>
</tr>
<tr>
<td class="key">
<?php echo JText::_( 'JCE Tables' );?>
</td>
<td>
<ul id="table_status">
<?php if( $updater->purgeCheck() ){?>
<li class="ok"><?php echo JText::_('OK');?> -
<a href="index.php?option=com_jce&amp;task=purge" title="<?php echo JText::_('Remove');?>" />[<?php echo JText::_('Remove');?>]</a></li>
<?php }else{
if( !$updater->checkTable( 'plugins' ) ){?>
<li class="error"><?php echo JText::_('DB PLUGINS ERROR');?></li>
<?php }
if( !$updater->checkTable( 'groups' ) ){?>
<li class="error"><?php echo JText::_('DB GROUPS ERROR');?></li>
<?php }
}?>
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,57 @@
<?php
/**
* @version $Id: view.html.php 47 2009-05-26 18:06:30Z happynoodleboy $
* @package Joomla
* @subpackage Config
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! 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.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.application.component.view');
jimport('joomla.html.pane');
jimport('joomla.application.module.helper');
/**
* HTML View class for the Plugins component
*
* @static
* @package Joomla
* @subpackage Plugins
* @since 1.0
*/
class CpanelViewCpanel extends JView
{
function display( $tpl = null )
{
$pane =& JPane::getInstance('sliders');
//$modules =& JModuleHelper::getModules('jce_cpanel');
$com_xml = JApplicationHelper::parseXMLInstallFile( JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_jce' .DS. 'jce.xml' );
$plg_xml = array();
$plg_xml_file = JPATH_PLUGINS .DS. 'editors' .DS. 'jce.xml';
if( file_exists( $plg_xml_file ) ){
$plg_xml = JApplicationHelper::parseXMLInstallFile( $plg_xml_file );
}else{
$plg_xml['version'] = JText::_('Plugin not installed!');
}
$this->assignRef('icons', $icons);
$this->assignRef('pane', $pane);
//$this->assignRef('modules', $modules);
$this->assignRef('com_info', $com_xml);
$this->assignRef('plg_info', $plg_xml);
parent::display($tpl);
}
}
?>
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,44 @@
/* CSS Document */
.icon-32-lock {
background-image: url(../img/toolbar/icon-32-lock.png);
}
.icon-32-refresh {
background-image: url(../img/toolbar/icon-32-refresh.png);
}
span.icon-remove, span.icon-add {
cursor: pointer;
}
.icon-remove {
height: 20px;
background: url(../img/delete.png) no-repeat;
padding: 2px;
}
.icon-add {
background: url(../img/add.png) no-repeat;
padding: 2px;
}
.icon-text {
margin-left: 20px;
}
.icon-legend {
height: 20px;
background: url(../img/icons.png) no-repeat;
padding: 2px;
}
ul#table_status {
list-style: none;
margin:0;
padding:0;
}
ul#table_status li {
list-style: none;
margin:0;
padding: 5px 0 0 20px;
height: 20px;
}
ul#table_status li.error {
background: url(../img/delete.png) no-repeat left;
}
ul#table_status li.ok {
background: url(../img/tick.png) no-repeat left;
}
@@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,56 @@
/* CSS Document */
div.sortableList {
cursor: n-resize;
}
div.widthMarker {
height: 20px;
border-top: 1px dashed #CCC;
margin: 10px 0px 0px 1px;
padding-left: 1px;
text-align: center;
}
div.sortableList.group {
margin: 20px 0px 0px 0px;
}
div.sortableList div.sortableListDiv {
height: 30px;
margin-bottom: 3px;
width: 600px;
}
div.sortableList div.sortableListDiv span.sortableListSpan {
background-color: #F0F0EE;
height: 30px;
border-right: 1px dashed #CCC;
display: block;
}
div.sortableList div.sortableListDiv span.sortableListSpan ul {
width: 600px;
white-space: nowrap;
border: 1px solid #CCC;
list-style: none;
margin:0px;
padding: 0px 0px 0px 1px;
height: 30px;
}
div.sortableList div.sortableListDiv span.sortableListSpan ul li {
list-style: none;
cursor: move;
height: 22px;
min-width: 20px;
}
div.sortableList div.sortableListDiv span.sortableListSpan ul li.spacer {
min-width: 5px;
padding-left: 2px;
}
div.sortableList div.sortableListDiv span.sortableListSpan ul li img {
border: 0;
padding: 0;
margin: 0
}
li.sortableItem {
position: relative;
float: left;
margin: 3px 1px 1px 0px;
border: 1px solid #CCC;
background-color: #F0F0EE;
}
@@ -0,0 +1,13 @@
/* CSS Document */
select.inputbox.levels, select.inputbox.users {
width: 200px;
}
.adminform td.note {
background-color: #FFFFDD;
border-bottom:1px solid #E9E9E9;
border-right:1px solid #E9E9E9;
color:#666666;
width:50%;
vertical-align: top;
padding: 10px;
}