Beispiel #1
0
 /**
  * Create an admin user account.
  *
  * @param array $FormPostValues
  */
 public function saveAdminUser($FormPostValues)
 {
     $UserID = 0;
     // Add & apply any extra validation rules:
     $Name = val('Name', $FormPostValues, '');
     $FormPostValues['Email'] = val('Email', $FormPostValues, strtolower($Name . '@' . Gdn_Url::host()));
     $FormPostValues['ShowEmail'] = '0';
     $FormPostValues['TermsOfService'] = '1';
     $FormPostValues['DateOfBirth'] = '1975-09-16';
     $FormPostValues['DateLastActive'] = Gdn_Format::toDateTime();
     $FormPostValues['DateUpdated'] = Gdn_Format::toDateTime();
     $FormPostValues['Gender'] = 'u';
     $FormPostValues['Admin'] = '1';
     $this->addInsertFields($FormPostValues);
     if ($this->validate($FormPostValues, true) === true) {
         $Fields = $this->Validation->schemaValidationFields();
         // Only fields that are present in the schema
         // Insert the new user
         $UserID = $this->insertInternal($Fields, ['NoConfirmEmail' => true, 'Setup' => true]);
         if ($UserID > 0) {
             $ActivityModel = new ActivityModel();
             $ActivityModel->save(['ActivityUserID' => $UserID, 'ActivityType' => 'Registration', 'HeadlineFormat' => t('HeadlineFormat.Registration', '{ActivityUserID,You} joined.'), 'Story' => t('Welcome Aboard!')], false, ['GroupBy' => 'ActivityTypeID']);
         }
         $this->saveRoles($UserID, [16], false);
     }
     return $UserID;
 }