// BOINC is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. // // BOINC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with BOINC. If not, see <http://www.gnu.org/licenses/>. require_once "../inc/util.inc"; require_once "../inc/user.inc"; require_once "../inc/boinc_db.inc"; check_get_args(array("code", "userid")); $code = get_str("code"); $userid = get_int('userid'); $user = BoincUser::lookup_id($userid); if (!$user) { error_page("no such user"); } if (salted_key($user->authenticator) != $code) { error_page("invalid code"); } $result = $user->update("send_email=0"); if ($result) { page_head("Removed from mailing list"); echo "\n No further emails will be sent to {$user->email_addr}.\n <p>\n To resume getting emails,\n <a href=" . url_base() . "prefs_edit.php?subset=project>edit your project preferences</a>.\n "; page_tail(); }
function replace($user, $template) { $pat = array('/<name\\/>/', '/<email\\/>/', '/<create_time\\/>/', '/<total_credit\\/>/', '/<opt_out_url\\/>/', '/<user_id\\/>/', '/<lapsed_interval\\/>/'); $rep = array($user->name, $user->email_addr, gmdate('d F Y', $user->create_time), number_format($user->total_credit, 0), URL_BASE . "opt_out.php?code=" . salted_key($user->authenticator) . "&userid={$user->id}", $user->id, floor((time() - last_rpc_time($user)) / 86400)); return preg_replace($pat, $rep, $template); }