Exemplo n.º 1
0
$user = null;
$person = null;
$dal = new DAL($opts['hn'], $opts['db'], $opts['un'], $opts['pw']);
try {
    $dal->beginTransaction();
    if (isset($_GET['verify'])) {
        if (!$dal->loginWithEmailSharedSecret($_GET['person_id'], $_GET['person_email_shared_secret'])) {
            throw new UserException('Login failed.');
        }
    }
    $user = $dal->selectUser();
    if ($user === null) {
        throw new UserException('Login required.');
    }
    if (isset($_GET['person_id'])) {
        $person = $dal->selectPersonById($_GET['person_id']);
        if ($person === null) {
            throw new UserException('Profile not found.');
        }
    } else {
        $person = $user;
    }
    if ($user['person_id'] !== $person['person_id'] && $user['person_is_moderator'] !== 'y') {
        throw new UserException('Moderator login required.');
    }
    if (isset($_POST['save'])) {
        $person['person_first_name'] = $_POST['person_first_name'];
        $person['person_last_name'] = $_POST['person_last_name'];
        $person['person_organization'] = $_POST['person_organization'];
        if ($user['person_is_moderator'] === 'y') {
            $person['person_is_moderator'] = $_POST['person_is_moderator'];