[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Joomla! Content Management System 5 * 6 * @copyright (C) 2011 Open Source Matters, Inc. <https://www.joomla.org> 7 * @license GNU General Public License version 2 or later; see LICENSE.txt 8 */ 9 10 namespace Joomla\CMS\HTML\Helpers; 11 12 use Joomla\CMS\Access\Access; 13 use Joomla\CMS\Factory; 14 use Joomla\CMS\Helper\UserGroupsHelper; 15 use Joomla\CMS\HTML\HTMLHelper; 16 17 // phpcs:disable PSR1.Files.SideEffects 18 \defined('JPATH_PLATFORM') or die; 19 // phpcs:enable PSR1.Files.SideEffects 20 21 /** 22 * Utility class working with users 23 * 24 * @since 2.5 25 */ 26 abstract class User 27 { 28 /** 29 * Displays a list of user groups. 30 * 31 * @param boolean $includeSuperAdmin true to include super admin groups, false to exclude them 32 * 33 * @return array An array containing a list of user groups. 34 * 35 * @since 2.5 36 */ 37 public static function groups($includeSuperAdmin = false) 38 { 39 $options = array_values(UserGroupsHelper::getInstance()->getAll()); 40 41 for ($i = 0, $n = count($options); $i < $n; $i++) { 42 $options[$i]->value = $options[$i]->id; 43 $options[$i]->text = str_repeat('- ', $options[$i]->level) . $options[$i]->title; 44 $groups[] = HTMLHelper::_('select.option', $options[$i]->value, $options[$i]->text); 45 } 46 47 // Exclude super admin groups if requested 48 if (!$includeSuperAdmin) { 49 $filteredGroups = array(); 50 51 foreach ($groups as $group) { 52 if (!Access::checkGroup($group->value, 'core.admin')) { 53 $filteredGroups[] = $group; 54 } 55 } 56 57 $groups = $filteredGroups; 58 } 59 60 return $groups; 61 } 62 63 /** 64 * Get a list of users. 65 * 66 * @return string 67 * 68 * @since 2.5 69 */ 70 public static function userlist() 71 { 72 $db = Factory::getDbo(); 73 $query = $db->getQuery(true) 74 ->select( 75 [ 76 $db->quoteName('a.id', 'value'), 77 $db->quoteName('a.name', 'text'), 78 ] 79 ) 80 ->from($db->quoteName('#__users', 'a')) 81 ->where($db->quoteName('a.block') . ' = 0') 82 ->order($db->quoteName('a.name')); 83 $db->setQuery($query); 84 85 return $db->loadObjectList(); 86 } 87 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |