mirror of
https://github.com/php/web-php.git
synced 2026-03-23 23:02:13 +01:00
* Enhancement: Enable and configure trailing_comma_in_multiline fixer * Fix: Run 'make coding-standards'
65 lines
1.4 KiB
PHP
65 lines
1.4 KiB
PHP
<?php
|
|
/*
|
|
This page supports the PHP.net automoderation system
|
|
with enabling users to confirm their emails via the web.
|
|
This script only need to run on the primary php.net box.
|
|
*/
|
|
|
|
$_SERVER['BASE_PAGE'] = 'mod.php';
|
|
include_once __DIR__ . '/include/prepend.inc';
|
|
|
|
site_header("Email confirmation", ["current" => "community"]);
|
|
|
|
// Only run on main php.net box.
|
|
if (!is_primary_site()) {
|
|
echo <<<ERROR
|
|
<h1>Email confirmation failed</h1>
|
|
|
|
<p class="formerror">
|
|
This server is not capable of handling email confirmations.
|
|
</p>
|
|
ERROR;
|
|
site_footer();
|
|
exit;
|
|
}
|
|
|
|
// These sites are handled by automoderation
|
|
$sites = ["php.net", "lists.php.net"];
|
|
|
|
// Get data from the URL
|
|
[$none, $site, $token, $sender] = explode("/", $_SERVER["PATH_INFO"]);
|
|
|
|
// Error in input data
|
|
if ($sender == "" || strlen($token) < 32 || !isset($sites[$site])) {
|
|
echo <<<ERROR
|
|
<h1>Email confirmation failed</h1>
|
|
|
|
<p class="formerror">
|
|
Sorry, the URL is incomplete. Please verify that you used the
|
|
complete URL even if it spans multiple lines.
|
|
</p>
|
|
ERROR;
|
|
}
|
|
|
|
// Data OK, send confirmation mail
|
|
else {
|
|
mail(
|
|
"confirm@" . $sites[$site],
|
|
"confirm",
|
|
"[confirm: $token $sender]",
|
|
"From: $sender",
|
|
);
|
|
|
|
echo <<<THANKS
|
|
<h1>Email confirmation successful</h1>
|
|
|
|
<p>
|
|
Thanks for confirming your email address. No further
|
|
action is required on your part.
|
|
</p>
|
|
THANKS;
|
|
|
|
}
|
|
|
|
site_footer();
|