primo commit
This commit is contained in:
@ -0,0 +1,122 @@
|
||||
<?php
|
||||
/**
|
||||
* @version $Id: accesslevel.php 20196 2011-01-09 02:40:25Z ian $
|
||||
* @package Joomla.Framework
|
||||
* @subpackage Form
|
||||
* @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('JPATH_BASE') or die;
|
||||
use Joomla\CMS\Form\Field\ListField;
|
||||
use Joomla\CMS\Form\FormHelper;
|
||||
use Joomla\CMS\Form\Form;
|
||||
use Joomla\CMS\Form\FormField;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
|
||||
jimport('joomla.html.html');
|
||||
jimport('joomla.form.formfield');
|
||||
jimport('joomla.form.helper');
|
||||
FormHelper::loadFieldClass('list');
|
||||
|
||||
/**
|
||||
* Form Field class for the Joomla Framework.
|
||||
*
|
||||
* @package Joomla.Framework
|
||||
* @subpackage Form
|
||||
* @since 1.6
|
||||
*/
|
||||
class JFormFieldPhocaAccessLevel extends ListField
|
||||
{
|
||||
/**
|
||||
* The form field type.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.6
|
||||
*/
|
||||
public $type = 'AccessLevel';
|
||||
|
||||
/**
|
||||
* Method to get the field input markup.
|
||||
*
|
||||
* @return string The field input markup.
|
||||
* @since 1.6
|
||||
*/
|
||||
protected function getInput()
|
||||
{
|
||||
// Initialize variables.
|
||||
$attr = '';
|
||||
|
||||
// Initialize some field attributes.
|
||||
$attr .= $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : '';
|
||||
$attr .= ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
|
||||
$attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : '';
|
||||
$attr .= $this->multiple ? ' multiple="multiple"' : '';
|
||||
|
||||
// Initialize JavaScript field attributes.
|
||||
$attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : '';
|
||||
|
||||
// Get the field options.
|
||||
$options = $this->getOptions();
|
||||
|
||||
|
||||
//return $this->_level( $this->name, $this->value, $attr, $options, $this->id);
|
||||
$data = $this->getLayoutData();
|
||||
$data['options'] = (array) $this->_level( $this->name, $this->value, $attr, $options, $this->id);
|
||||
return $this->getRenderer($this->layout)->render($data);
|
||||
}
|
||||
|
||||
|
||||
public static function _level($name, $selected, $attribs = '', $params = true, $id = false) {
|
||||
|
||||
$db = Factory::getDbo();
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
$query->select('a.id AS value, a.title AS text');
|
||||
$query->from('#__viewlevels AS a');
|
||||
//PHOCAEDIT
|
||||
$query->where('a.id <> 1');
|
||||
//ENDPHOCAEDIT
|
||||
$query->group('a.id, a.title');
|
||||
$query->order('a.ordering ASC');
|
||||
$query->order('`title` ASC');
|
||||
|
||||
|
||||
|
||||
// Check for a database error.
|
||||
/* if ($db->getErrorNum()) {
|
||||
throw new Exception($db->getErrorMsg(), 500);
|
||||
return false;
|
||||
}*/
|
||||
try {
|
||||
// Get the options.
|
||||
$db->setQuery($query);
|
||||
$options = $db->loadObjectList();
|
||||
} catch (RuntimeException $e) {
|
||||
|
||||
throw new Exception($e->getMessage(), 500);
|
||||
return false;
|
||||
}
|
||||
|
||||
// If params is an array, push these options to the array
|
||||
if (is_array($params)) {
|
||||
$options = array_merge($params,$options);
|
||||
}
|
||||
// If all levels is allowed, push it into the array.
|
||||
elseif ($params) {
|
||||
array_unshift($options, HTMLHelper::_('select.option', '', Text::_('JOPTION_ACCESS_SHOW_ALL_LEVELS')));
|
||||
}
|
||||
|
||||
return $options;
|
||||
/*
|
||||
return HTMLHelper::_('select.genericlist', $options, $name,
|
||||
array(
|
||||
'list.attr' => $attribs,
|
||||
'list.select' => $selected,
|
||||
'id' => $id
|
||||
)
|
||||
);*/
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user