Exemple #1
0
"/></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) {