throw new UserException('Login required.');
 }
 $unique_id = $dal->selectUniqueId($_GET['uniqueid_id']);
 if ($unique_id === null) {
     throw new UserException('Range not found.');
 }
 if ($user['person_id'] !== $unique_id['person_id'] && $user['person_is_moderator'] !== 'y') {
     throw new UserException('Moderator login required.');
 }
 if (isset($_POST['transfer'])) {
     $person = $dal->selectPersonByEmail($_POST['email']);
     if ($person === null) {
         throw new UserException('Profile not found.');
     }
     $unique_id['person_id'] = $person['person_id'];
     $dal->updateUniqueId($unique_id);
     $subject = "OpenLCB Unique ID Range Transferred";
     $body = "Hi " . formatPersonName($unique_id) . ",\r\n\r\nThe following OpenLCB Unique ID Range has been Transferred.\r\n\r\n" . formatUniqueIdHex($unique_id) . "\r\n\r\nFrom delegating organization or person: " . formatPersonName($unique_id) . "\r\nTo delegating 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($unique_id)), $subject, $body)) {
         throw new UserError('Failed to send email.');
     }
     $subject = "OpenLCB Unique ID Range Transferred";
     $body = "Hi " . formatPersonName($person) . ",\r\n\r\nThe following OpenLCB Unique ID Range has been Transferred.\r\n\r\n" . formatUniqueIdHex($unique_id) . "\r\n\r\nFrom delegating organization or person: " . formatPersonName($unique_id) . "\r\nTo delegating 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 = "The following OpenLCB Unique ID Range has been Transferred.\r\nYou have been notified as you are a moderator.\r\n\r\n" . formatUniqueIdHex($unique_id) . "\r\n\r\nFrom delegating organization or person: " . formatPersonName($unique_id) . "\r\nTo delegating 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 = 'Transferred.';