/**
  * @see	\wcf\form\IForm::save()
  */
 public function save()
 {
     AbstractForm::save();
     $this->objectAction = new UserGroupAssignmentAction(array($this->assignment), 'update', array('data' => array_merge($this->additionalFields, array('groupID' => $this->groupID, 'isDisabled' => $this->isDisabled, 'title' => $this->title))));
     $returnValues = $this->objectAction->executeAction();
     // transform conditions array into one-dimensional array
     $conditions = array();
     foreach ($this->conditions as $groupedObjectTypes) {
         $conditions = array_merge($conditions, $groupedObjectTypes);
     }
     ConditionHandler::getInstance()->updateConditions($this->assignment->assignmentID, $this->assignment->getConditions(), $conditions);
     $this->saved();
     WCF::getTPL()->assign('success', true);
 }
 /**
  * Returns the users who fullfil all conditions of the given user group
  * assignment.
  * 
  * @param	\wcf\data\user\group\assignment\UserGroupAssignment	$assignment
  * @return	array<\wcf\data\user\User>
  */
 public function getUsers(UserGroupAssignment $assignment)
 {
     $userList = new UserList();
     $userList->getConditionBuilder()->add('user_table.userID NOT IN (SELECT userID FROM wcf' . WCF_N . '_user_to_group WHERE groupID = ?)', array($assignment->groupID));
     $conditions = $assignment->getConditions();
     foreach ($conditions as $condition) {
         $condition->getObjectType()->getProcessor()->addUserCondition($condition, $userList);
     }
     $userList->readObjects();
     return $userList->getObjects();
 }