name; $description = $selectedUserData->description; CopyArray( $selectedUserData->groups, $groupsSelected ); $allGroups = GetGroups(); $groupsNotSelected = array_diff( $allGroups, $groupsSelected ); } // The save button was hit. else { // Get submitted data if ( array_key_exists( $userNameID, $_POST ) ) $userName = $_POST[ $userNameID ]; if ( array_key_exists( $userIDID, $_POST ) ) $userID = $_POST[ $userIDID ]; if ( array_key_exists( $passwordID, $_POST ) ) $password = $_POST[ $passwordID ]; if ( array_key_exists( $passwordConfirmationID, $_POST ) ) $passwordConfirmation = $_POST[ $passwordConfirmationID ]; if ( array_key_exists( $descriptionID, $_POST ) ) $description = $_POST[ $descriptionID ]; if ( array_key_exists( $groupsSelectedID, $_POST ) ) $groupsSelected = $_POST[ $groupsSelectedID ]; if ( array_key_exists( $groupsNotSelectedID, $_POST ) ) $groupsNotSelected = $_POST[ $groupsNotSelectedID ]; // Validate inputs. if ( empty( $userName ) ) throw new Exception( $errUserNameMissing ); if ( (!empty( $password ) || !empty( $passwordConfirmation )) && ( $password != $passwordConfirmation ) ) throw new Exception( $errPasswordConfirmationFailed ); // Update parameters of user. $site->UpdateUser( $userID, "", $userName, $password, $description ); // Create MgStringCollection with just one user to update group memberships. $userToUpdate = new MgStringCollection(); $userToUpdate->Add( $userID ); // Get old list of groups for user $oldGroupMemberships = GetGroupMemberships( $userID ); // Find group memberships to revoke. $revokeList = array_diff( $oldGroupMemberships, $groupsSelected ); if ( $revokeList != null && !empty( $revokeList ) ) { $groupMembershipsToRevoke = new MgStringCollection(); foreach ( $revokeList as $groupToRevoke ) $groupMembershipsToRevoke->Add( $groupToRevoke ); $site->RevokeGroupMembershipsFromUsers( $groupMembershipsToRevoke, $userToUpdate ); } // Find new group memberships to grant. $grantList = array_diff( $groupsSelected, $oldGroupMemberships ); if ( $grantList != null && !empty( $grantList ) ) { $groupMembershipsToGrant = new MgStringCollection(); foreach ( $grantList as $groupToGrant ) $groupMembershipsToGrant->Add( $groupToGrant ); $site->GrantGroupMembershipsToUsers( $groupMembershipsToGrant, $userToUpdate ); } // Everything is OK. $confirmationMsg = sprintf( $confSuccessfulUpdate, $userID ); SaveSessionVars(); header( 'Location: usermanagement.php?'.strip_tags(SID) ); exit(); } } catch ( MgException $e ) { CheckForFatalMgException( $e ); $errorMsg = $e->GetExceptionMessage(); } catch ( Exception $e ) { $errorMsg = $e->getMessage(); } ?>
User ID : | |
User name : | |
Description: | |
Password: | |
Confirm password: |