JAccess::getUsersByGroup,如何检查用户是否在joomla中激活并按名称的字母顺序排序


JAccess::getUsersByGroup, How to check is user activated in joomla and sort it alphabetical by name

我有一个无法解决的问题。我需要的是列出所有激活的Joomla用户。我找到并修改了这段代码:

    jimport( 'joomla.access.access' );
    $coaches = JAccess::getUsersByGroup(2);
    jimport( 'joomla.user.user' );
    foreach($coaches as $coaches){
        $coach[$coaches] =& JFactory::getUser($coaches);
    }
    asort($coach);

但是这个解决方案有两个我无法修复的错误:- 首先:这也显示非活动(未激活)的用户,- secound:asort() 不按名称对用户进行排序(可能是按登录名对用户进行排序?

亲切地问候W。

来了,检查评论以了解:

    jimport( 'joomla.access.access' );
    $coaches = JAccess::getUsersByGroup(2);
    jimport( 'joomla.user.user' );
    foreach($coaches as $coaches){
        $users =& JFactory::getUser($coaches);
        //check if user is NOT blocked or NOT activated yet
        if($users->block == '0' && empty($users->activation)){
        //create array not object for better sorting possibilities
        $coach[$coaches] = (array) $users;
       }
    }
    array_multisort($coach, SORT_ASC);
    var_dump($coach);