/** * 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; }