示例#1
0
 /**
  * Adds a group of users(by their IDs) to a certain group
  *
  * @access  public
  * @param   int     $guid  Group's ID
  * @param   array   $users Array with user id
  * @return  mixed   True on success or Jaws_Error on failure
  */
 function AddUsersToGroup($guid, $users)
 {
     $userModel = new Jaws_User();
     $group = $userModel->GetGroup((int) $guid);
     if (!$group) {
         return new Jaws_Error(_t('USERS_GROUPS_GROUP_NOT_EXIST'));
     }
     $postedUsers = array();
     foreach ($users as $k => $v) {
         $postedUsers[$v] = $v;
     }
     $list = $userModel->GetUsers();
     foreach ($list as $user) {
         if ($userModel->UserIsInGroup($user['id'], $guid)) {
             if (!isset($postedUsers[$user['id']])) {
                 if (!$GLOBALS['app']->Session->IsSuperAdmin() && $user['superadmin']) {
                     continue;
                 }
                 $userModel->DeleteUserFromGroup($user['id'], $guid);
             }
         } else {
             if (isset($postedUsers[$user['id']])) {
                 $userModel->AddUserToGroup($user['id'], $guid);
             }
         }
     }
     return true;
 }