"/></td> <?php } else { ?> <td><?php echo htmlspecialchars($person['person_organization']); ?> </td> <?php } ?> </tr> <tr> <th>Email address</th> <td><a href="<?php echo htmlspecialchars('mailto:' . rawurlencode(formatPersonEmail($person))); ?> "><?php echo htmlspecialchars($person['person_email']); ?> </a></td> </tr> <tr> <th>Email address verified</th> <td><?php echo htmlspecialchars($person['person_email_verified']); ?> </td> </tr> <tr> <th>Subscribed</th>
$dal->updateUniqueId($unique_id); $message = 'Saved.'; } else { if (isset($_POST['approve'])) { if ($user === null) { throw new UserException('Login required.'); } if ($user['person_is_moderator'] !== 'y') { throw new UserException('Moderator login required.'); } $unique_id['uniqueid_approved'] = $dal->selectCurrentTimestamp(); $unique_id['uniqueid_approved_by'] = $user['person_id']; $dal->updateUniqueId($unique_id); $subject = "OpenLCB Unique ID Range Approved"; $body = "Hi " . formatPersonName($unique_id) . ",\r\n\r\nThe following OpenLCB Unique ID Range has been Approved.\r\n\r\n" . formatUniqueIdHex($unique_id) . "\r\n\r\nDelegating organization or person: " . formatPersonName($unique_id) . "\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.'); } $body = "The following OpenLCB Unique ID Range has been Approved.\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($unique_id) . "\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 = 'Approved.'; } else { if (isset($_POST['delete'])) { if ($user === null) { throw new UserException('Login required.'); } if ($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.'; } $dal->commit(); } catch (UserException $e) { $dal->rollback(); $error = $e->getMessage(); } catch (Exception $e) { $dal->rollback(); throw $e;
if ($_POST['new_email'] !== $_POST['repeat_new_email']) { throw new UserException('The entered email addresses do not match.'); } if ($person['person_email'] === $_POST['new_email']) { throw new UserException('The entered email addresses is the same as the current email address.'); } if ($dal->selectPersonByEmail($_POST['new_email']) !== null) { throw new UserException('The entered email address is already in use.'); } $person['person_email_shared_secret'] = randHex(); $person['person_email'] = $_POST['new_email']; $person['person_email_verified'] = 'n'; $dal->updatePerson($person); $url = "http://" . $_SERVER['HTTP_HOST'] . "/updateemailaddress?person_id=" . $person['person_id'] . "&person_email_shared_secret=" . $person['person_email_shared_secret'] . '&verify'; $name = formatPersonName($person); $email = formatPersonEmail($person); $subject = "Update OpenLCB User Email Address"; $body = "Hi {$name},\r\n\r\nYou can verify your email address with the link below.\r\n{$url}\r\n\r\nThe OpenLCB Group"; if (!mail_abstraction(array($email), $subject, $body)) { throw new UserError('Failed to send email.'); } $message = 'Email address updated and verification email sent.'; } else { if (isset($_POST['update'])) { if ($_POST['new_email'] !== $_POST['repeat_new_email']) { throw new UserException('The entered email addresses do not match.'); } if ($person['person_email'] === $_POST['new_email']) { throw new UserException('The entered email addresses is the same as the current email address.'); } if ($dal->selectPersonByEmail($_POST['new_email']) !== null) {