<?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();