Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }