| Current Path : /home/sunflowe/www2/j15/administrator/components/com_jce/groups/views/group/ |
| Current File : /home/sunflowe/www2/j15/administrator/components/com_jce/groups/views/group/view.html.php |
<?php
/**
* @version $Id: view.html.php 100 2009-06-21 19:19:46Z 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');
/**
* HTML View class for the Plugins component
*
* @static
* @package Joomla
* @subpackage Plugins
* @since 1.0
*/
class GroupsViewGroup extends JView
{
function display( $tpl = null )
{
global $option;
require_once( JPATH_ADMINISTRATOR .DS. 'components' .DS. 'com_jce' .DS. 'groups' .DS. 'helper.php' );
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
JHTML::_('behavior.tooltip');
JHTML::_('behavior.modal');
$cid = JRequest::getVar( 'cid', array(0), '', 'array' );
JArrayHelper::toInteger( $cid, array(0) );
$lists = array();
$row =& JTable::getInstance('groups', 'JCETable');
// load the row from the db table
$row->load( $cid[0] );
// fail if checked out not by 'me'
if( $row->isCheckedOut( $user->get('id') ) ){
$msg = JText::sprintf( 'DESCBEINGEDITTED', JText::_( 'The Group' ), $row->name );
$this->setRedirect( 'index.php?option='. $option .'&type=group', $msg, 'error' );
return false;
}
// Load editor
$editor =& JPluginHelper::getPlugin('editors', 'jce');
// Load Language
$lang =& JFactory::getLanguage();
$lang->load( 'com_jce', JPATH_SITE );
// Get all plugins/commands
$query = 'SELECT *'
. ' FROM #__jce_plugins'
. ' WHERE published = 1'
;
$db->setQuery( $query );
$plugins = $db->loadObjectList();
// load the row from the db table
if( $cid[0] ){
$row->checkout( $user->get('id') );
}else{
$query = 'SELECT COUNT(id)'
. ' FROM #__jce_groups'
;
$db->setQuery( $query );
$total = $db->loadResult();
$row->name = '';
$row->description = '';
$row->types = '';
$row->components = '';
$row->types = '';
$row->rows = '';
$row->plugins = '';
$row->published = 1;
$row->ordering = 0;
$row->params = '';
$row->params .= $editor->params;
foreach( $plugins as $plugin ){
if( $plugin->type == 'plugin' ){
$row->params .= $plugin->params;
}
}
}
// build the html select list for ordering
$query = 'SELECT ordering AS value, name AS text'
. ' FROM #__jce_groups'
. ' WHERE published = 1'
. ' AND ordering > -10000'
. ' AND ordering < 10000'
. ' ORDER BY ordering'
;
$order = JHTML::_('list.genericordering', $query );
$lists['ordering'] = JHTML::_('select.genericlist', $order, 'ordering', 'class="inputbox" size="1"', 'value', 'text', intval( $row->ordering ) );
$lists['published'] = JHTML::_('select.booleanlist', 'published', 'class="inputbox"', $row->published );
// Get components list
$query = "SELECT *"
. " FROM #__components"
. " WHERE link <> ''"
. " AND parent = 0"
. " AND enabled = 1"
. " ORDER BY name";
$db->setQuery( $query );
$components = $db->loadObjectList();
$options = array();
$options[] = JHTML::_('select.option', '', JText::_( 'All Components' ) );
foreach( $components as $component ){
$options[] = JHTML::_('select.option', $component->option, JText::_( $component->name ) );
}
$lists['components'] = JHTML::_('select.genericlist', $options, 'components[]', 'class="inputbox levels" size="10" multiple="multiple"', 'value', 'text', $row->components == '' ? '' : explode( ',', $row->components ) );
$query = 'SELECT types'
. ' FROM #__jce_groups'
// Exclude ROOT, USERS, Super Administrator, Public Frontend, Public Backend
. ' WHERE id NOT IN (17,28,29,30)'
;
$db->setQuery( $query );
$types = $db->loadResultArray();
// get list of Groups for dropdown filter
$query = 'SELECT id AS value, name AS text'
. ' FROM #__core_acl_aro_groups'
// Exclude ROOT, USERS, Super Administrator, Public Frontend, Public Backend
. ' WHERE id NOT IN (17,28,29,30)'
;
$db->setQuery( $query );
$types = $db->loadObjectList();
$i = '-';
$options = array( JHTML::_('select.option', '0', JText::_( 'Guest' ) ) );
foreach( $types as $type ){
$options[] = JHTML::_('select.option', $type->value, $i . JText::_( $type->text ) );
$i .= '-';
}
$lists['types'] = JHTML::_('select.genericlist', $options, 'types[]', 'class="inputbox levels" size="8" multiple="multiple"', 'value', 'text', $row->types == '' ? '' : explode( ',', $row->types ) );
$options = array();
if( $row->id && $row->users ){
$query = 'SELECT id as value, username as text'
. ' FROM #__users'
. ' WHERE id IN ('.$row->users.')'
;
$db->setQuery( $query );
$gusers = $db->loadObjectList();
if( $gusers ){
foreach( $gusers as $guser ){
$options[] = JHTML::_('select.option', $guser->value, $guser->text );
}
}
}
$lists['users'] = JHTML::_('select.genericlist', $options, 'users[]', 'class="inputbox users" size="10" multiple="multiple"', 'value', 'text', '' );
// get params definitions
$xml = JCE_LIBRARIES.DS.'xml'.DS.'config'.DS.'config.xml';
if (!file_exists($xml)) {
$xml = JPATH_PLUGINS.DS.'editors'.DS.'jce.xml';
}
$params = new JParameter( $row->params, $xml );
$params->addElementPath( JPATH_COMPONENT . DS . 'elements' );
$rows = str_replace( ';', ',', $row->rows );
$this->assignRef('lists', $lists);
$this->assignRef('group', $row);
$this->assignRef('params', $params);
$this->assignRef('plugins', $plugins);
parent::display($tpl);
}
}