/contentmanager/code/trunk/administrator/components/com_contentmanager/models/fields/list/access.php
PHP | 50 lines | 30 code | 7 blank | 13 comment | 3 complexity | 31fb3bafd4160592df255048d41782a5 MD5 | raw file
- <?php
- /**
- * @version $Id: access.php 39 2009-05-21 07:32:36Z eddieajau $
- * @copyright Copyright (C) 2009 New Life in IT Pty Ltd. All rights reserved.
- * @license GNU General Public License <http://www.gnu.org/copyleft/gpl.html>
- * @link http://www.theartofjoomla.com
- */
- // no direct access
- defined('_JEXEC') or die;
- jimport('joomla.html.html');
- /**
- * List access levels
- *
- * @package TAOJ.ContentManager
- * @subpackage com_contentmanager
- */
- class JXFieldTypeList_Access extends JXFieldTypeList
- {
- function _getOptions(&$node)
- {
- $config = &JComponentHelper::getParams('com_contentmanager');
- $db =& JFactory::getDBO();
- $query = new JXQuery;
- if ($config->get('acl_mode') == 1) {
- $query->select('a.value, a.name AS text');
- $query->select('COUNT(DISTINCT g2.id) AS level');
- $query->from('#__core_acl_axo_groups AS a');
- $query->join('LEFT OUTER', '#__core_acl_axo_groups AS g2 ON a.lft > g2.lft AND a.rgt < g2.rgt');
- $query->group('a.id');
- }
- else {
- $query->select('id AS value, name AS text, 0 AS level');
- $query->from('#__groups');
- $query->order('id');
- }
- $db->setQuery($query->toString());
- $options = $db->loadObjectList();
- foreach ($options as $i => $option) {
- $options[$i]->text = str_pad($options[$i]->text, strlen($options[$i]->text) + $options[$i]->level * 2, '- ', STR_PAD_LEFT);
- }
- return $options;
- }
- }