if ($_POST['email'] !== $_POST['repeat_email']) {
             throw new UserException('The entered email addresses do not match.');
         }
         if ($dal->selectPersonByEmail($_POST['email']) !== null) {
             throw new UserException('The entered email address is already in use. Please login before requesting an unique id range.');
         }
         $person = array('person_first_name' => $_POST['first_name'], 'person_last_name' => $_POST['last_name'], 'person_organization' => $_POST['organization'], 'person_email' => $_POST['email'], 'person_subscribe' => isset($_POST['subscribe']) ? 'y' : 'n', 'person_email_verified' => 'n', 'person_email_shared_secret' => null, 'person_password_hash' => null);
         $dal->insertPerson($person);
     } else {
         if ($user['person_unapproved_uniqueid_count'] > 0) {
             throw new UserException('A previous unique id range request is still pending approval.');
         }
         $person = $user;
     }
     $unique_id = array('person_id' => $person['person_id'], 'uniqueid_url' => $_POST['url'], 'uniqueid_user_comment' => $_POST['comment']);
     $dal->insertUniqueId($unique_id);
     $subject = "OpenLCB Unique ID Range Requested";
     $body = "Hi " . formatPersonName($person) . ",\r\n\r\nYou were assigned an OpenLCB unique ID range of:\r\n" . formatUniqueIdHex($unique_id) . "\r\n\r\nDelegating organization or person: " . formatPersonName($person) . "\r\nURL: " . $unique_id['uniqueid_url'] . "\r\nComment: " . $unique_id['uniqueid_user_comment'] . "\r\n\r\nThe OpenLCB Group";
     if (!mail_abstraction(array(formatPersonEmail($person)), $subject, $body)) {
         throw new UserError('Failed to send email.');
     }
     $body = "A new OpenLCB unique ID range has been assigned.\r\nYou have been notified as you are a moderator.\r\n\r\n" . formatUniqueIdHex($unique_id) . "\r\n\r\nDelegating organization or person: " . formatPersonName($person) . "\r\nURL: " . $unique_id['uniqueid_url'] . "\r\nComment: " . $unique_id['uniqueid_user_comment'] . "\r\n\r\nUID: " . 'http://' . $_SERVER['HTTP_HOST'] . '/uniqueidrange?uniqueid_id=' . $unique_id['uniqueid_id'] . "\r\nAll pending UIDs: " . "http://" . $_SERVER['HTTP_HOST'] . '/uniqueidranges?pending';
     if (!mail_abstraction(array_map('formatPersonEmail', $dal->selectModerators()), $subject, $body, array(EMAIL_FROM))) {
         throw new UserError('Failed to send email.');
     }
     $message = 'Your assigned range is: ' . formatUniqueIdHex($unique_id);
 } else {
     if ($user !== null && $user['person_unapproved_uniqueid_count'] > 0) {
         $message = 'A previous unique id range request is still pending approval.';
     }
 }