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; }
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; }
break; case 'delete': $msg = '<div class="warnings">Really <a href="/trackback/trackback-admin.php?action=delete_verified&id=' . $trackback->get('id') . '×tamp=' . $trackback->get('timestamp') . '">delete</a> or <a href="/trackback/trackback-admin.php?action=delete_spam&id=' . $trackback->get('id') . '×tamp=' . $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();
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; }
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();