function execCreateGroup($userID, $groupMember, $groupName) { $userDAO = new UserDAO(); $user = $userDAO->getUserByID($userID); if ($user->getRole()->getRoleID() == "4") { return "This user was forbidden to do this!"; } if (gettype($groupMember) != "array") { return "Wrong type of group member!"; } if (count($groupMember) === 0) { return "You must choose at least one group member!"; } if (count(array_unique($groupMember)) < count($groupMember)) { return "Group member has duplicate value!"; } if (in_array($userID, $groupMember)) { return "Group owner should not be a group member!"; } if ($groupName === "" || !isValidGroupName($groupName)) { return "Invalid group name, length should be between 2 to 20 and only accepts a-z, A-Z, single space!"; } $arr = array(); foreach ($groupMember as $groupUserID) { $groupUser = $userDAO->getUserByID($groupUserID); if ($groupUser === null) { return "Could not find some group members!"; } $arr[] = $groupUser; } $newGroup = new Group($user, $groupName, "1"); $groupDAO = new GroupDAO(); $groupDAO->insertGroup($newGroup); $gmDAO = new GroupMemberDAO(); $newGM = new GroupMember($newGroup, $user, "1"); $gmDAO->insertGroupMember($newGM); foreach ($arr as $gmUser) { $newGM = new GroupMember($newGroup, $gmUser, "2"); $gmDAO->insertGroupMember($newGM); } return true; }