[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/libraries/src/HTML/Helpers/ -> User.php (source)

   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  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer