/** * Creates a new user. * * @return User */ public function create() { if (!isset($this->parameters['data']['socialNetworkPrivacySettings'])) { $this->parameters['data']['socialNetworkPrivacySettings'] = ''; } $user = parent::create(); $userEditor = new UserEditor($user); // updates user options if (isset($this->parameters['options'])) { $userEditor->updateUserOptions($this->parameters['options']); } // insert user groups $addDefaultGroups = isset($this->parameters['addDefaultGroups']) ? $this->parameters['addDefaultGroups'] : true; $groupIDs = isset($this->parameters['groups']) ? $this->parameters['groups'] : array(); $userEditor->addToGroups($groupIDs, false, $addDefaultGroups); // insert visible languages if (!isset($this->parameters['languageIDs'])) { // using the 'languages' key is deprecated since WCF 2.1, please use 'languageIDs' instead $this->parameters['languageIDs'] = !empty($this->parameters['languages']) ? $this->parameters['languages'] : array(); } $userEditor->addToLanguages($this->parameters['languageIDs'], false); if (PACKAGE_ID) { // set default notifications $sql = "INSERT INTO\twcf" . WCF_N . "_user_notification_event_to_user\n\t\t\t\t\t\t(userID, eventID, mailNotificationType)\n\t\t\t\tSELECT\t\t?, eventID, presetMailNotificationType\n\t\t\t\tFROM\t\twcf" . WCF_N . "_user_notification_event\n\t\t\t\tWHERE\t\tpreset = ?"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(array($user->userID, 1)); // update user rank if (MODULE_USER_RANK) { $action = new UserProfileAction(array($userEditor), 'updateUserRank'); $action->executeAction(); } // update user online marking $action = new UserProfileAction(array($userEditor), 'updateUserOnlineMarking'); $action->executeAction(); } return $user; }
/** * Creates a new user. * * @return User */ public function create() { $user = parent::create(); $userEditor = new UserEditor($user); // updates user options if (isset($this->parameters['options'])) { $userEditor->updateUserOptions($this->parameters['options']); } // insert user groups $addDefaultGroups = isset($this->parameters['addDefaultGroups']) ? $this->parameters['addDefaultGroups'] : true; $groupIDs = isset($this->parameters['groups']) ? $this->parameters['groups'] : array(); $userEditor->addToGroups($groupIDs, false, $addDefaultGroups); // insert visible languages $languageIDs = isset($this->parameters['languages']) ? $this->parameters['languages'] : array(); $userEditor->addToLanguages($languageIDs); return $user; }