Example #1
0
 function sendEmail()
 {
     if (!$this->handle) {
         throw new Exception('Internal fault: user was not set when sending email,
                             please report to ' . PEAR_DEV_EMAIL);
     }
     $sql = 'SELECT salt FROM bug_account_request WHERE handle = ?';
     $salt = $this->dbh->getOne($sql, array($this->handle));
     if (!$salt) {
         throw new Exception('No such handle ' . $this->handle . ' found, cannot send confirmation email');
     }
     $sql = 'SELECT email FROM bug_account_request WHERE salt = ?';
     $email = $this->dbh->getOne($sql, array($salt));
     if (!$email) {
         throw new Exception('No such salt found, cannot send confirmation email');
     }
     $mailData = array('salt' => $salt);
     require_once 'Damblan/Mailer.php';
     $mailer = Damblan_Mailer::create('pearweb_account_request_bug', $mailData);
     $additionalHeaders['To'] = $email;
     PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
     if (!DEVBOX) {
         $e = $mailer->send($additionalHeaders);
     }
     PEAR::popErrorHandling();
     if (!DEVBOX && PEAR::isError($e)) {
         throw new Exception('Cannot send confirmation email: ' . $e->getMessage());
     }
     return true;
 }
Example #2
0
        if (PEAR::isError($salt)) {
            $errors[] = 'This email address has already been registered by another user';
            $display_form = true;
            break;
        }
        if (isset($stripped['display_form'])) {
            $display_form = $stripped['display_form'];
        }
        if (is_array($salt)) {
            $errors = $salt;
            break;
        } elseif (strlen($salt) == 32) {
            report_success('Your account request confirmation has been submitted. ' . ' You must follow the link provided in the email ' . ' in order to activate your account.' . ' Until this is done you cannot vote in any election.');
            $mailData = array('username' => $stripped['handle'], 'salt' => $salt);
            if (!DEVBOX) {
                $mailer = Damblan_Mailer::create('pearweb_account_request_vote', $mailData);
                $additionalHeaders['To'] = $stripped['email'];
                $mailer->send($additionalHeaders);
            }
        }
        $display_form = false;
    }
} while (0);
try {
    $sHelper = new Pearweb_Service_HoneyPot(HONEYPOT_API_KEY);
    $ip = $_SERVER['REMOTE_ADDR'];
    $sHelper->check($ip);
} catch (Exception $e) {
    report_error($e);
    $display_form = false;
}
Example #3
0
        break;
    case 'delete':
        $msg = '<div class="warnings">Really
<a href="/trackback/trackback-admin.php?action=delete_verified&id=' . $trackback->get('id') . '&timestamp=' . $trackback->get('timestamp') . '">delete</a>
or
<a href="/trackback/trackback-admin.php?action=delete_spam&id=' . $trackback->get('id') . '&timestamp=' . $trackback->get('timestamp') . '">delete as spam</a>
trackback ' . $timestamp . ' for ' . $track_id . '?</div>';
        // Confirmation of the delete action, no auto redirect
        $relocator = '';
        break;
    case 'delete_spam':
        $spam = true;
    case 'delete_verified':
        $spam = isset($spam) ? $spam : false;
        $trackback->delete($dbh, $spam);
        $mailer = Damblan_Mailer::create('Trackback_Delete', $mailData);
        $additionalHeaders['To'] = $trackback->getMaintainers();
        $mailer->send($additionalHeaders);
        $msg = '<div class="success">RIP trackback.</div>';
        break;
    default:
        // We should never be here, but who knows within this code ;-)
        response_header('Trackback admin', null, null);
        report_error('Missing arguments. Exiting.');
        response_footer();
        break;
}
response_header('Trackback admin', null, $relocator);
echo $msg;
echo '<p>You should be redirected to the packages trackback page in 5 seconds. if this does not work, please click <a href="http://' . PEAR_CHANNELNAME . '/package/' . $track_id . '/trackbacks">here</a>.</p>';
response_footer();
Example #4
0
 static function sendPatchEmail($patch)
 {
     require_once 'Damblan/Mailer.php';
     $name = urlencode($patch['patch']);
     $id = $patch['bug_id'];
     $host = 'http://' . PEAR_CHANNELNAME;
     $mailData = array('id' => $id, 'url' => $host . "/bugs/patch-display.php?bug_id={$id}&patch={$name}&revision={$patch['revision']}&display=1", 'date' => date('Y-m-d H:i:s'), 'name' => $patch['patch'], 'package' => $patch['package_name'], 'summary' => $GLOBALS['dbh']->getOne('SELECT sdesc from bugdb WHERE id = ?', array($id)), 'packageUrl' => $host . '/bugs/bug.php?id=' . $id);
     $additionalHeaders['To'] = self::getMaintainers($patch['package_name']);
     $mailer = Damblan_Mailer::create('Patch_Added', $mailData);
     $res = true;
     if (!DEVBOX) {
         $res = $mailer->send($additionalHeaders);
     }
     return $res;
 }
Example #5
0
    echo Services_Trackback::getResponseError('The data you submited was invalid, please recheck.', 1);
    exit;
}
if ($trackback->checkRepost($dbh, TRACKBACK_REPOST_COUNT, TRACKBACK_REPOST_TIMESPAN) !== false) {
    echo Services_Trackback::getResponseError('Only ' . TRACKBACK_REPOST_COUNT . ' trackbacks from 1 IP address within ' . TRACKBACK_REPOST_TIMESPAN . ' secs are allowed on this site. Please try again later.', 1);
    exit;
}
$trackback->createSpamCheck('Akismet', $trackback->akismetOptions);
if ($trackback->checkSpam() === true) {
    echo Services_Trackback::getResponseError('Your trackback seems to be spam. If it is not, please contact the webmaster of this site.', 1);
    exit;
}
$res = $trackback->save($dbh);
if (PEAR::isError($res)) {
    echo Services_Trackback::getResponseError('Your trackback could not be saved, please try again or inform the administrator.', 1);
    exit;
}
$mailData = array('id' => $trackback->get('id'), 'blog_name' => $trackback->get('blog_name'), 'title' => $trackback->get('title'), 'url' => $trackback->get('url'), 'excerpt' => $trackback->get('excerpt'), 'date' => format_date($trackback->get('timestamp')), 'timestamp' => $trackback->get('timestamp'));
$mailer = Damblan_Mailer::create('Trackback_New', $mailData);
// Get active maintainers only
$additionalHeaders['To'] = $trackback->getMaintainers(true);
if (!DEVBOX) {
    $res = $mailer->send($additionalHeaders);
} else {
    $res = true;
}
if (PEAR::isError($res)) {
    echo Services_Trackback::getResponseError('The notification email for your trackback could not be send. Please inform ' . PEAR_WEBMASTER_EMAIL . '.', 1);
    exit;
}
echo Services_Trackback::getResponseSuccess();