This repository has been archived by the owner on Jan 22, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 124
/
unsubscribe.php
68 lines (58 loc) · 2.41 KB
/
unsubscribe.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
// Copyright (C) 2019 Remy van Elst
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program 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 Affero General Public License for more details.
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
error_reporting(E_ALL & ~E_NOTICE);
foreach (glob("functions/*.php") as $filename) {
require($filename);
}
require('inc/header.php');
if ( isset($_GET['id']) && !empty($_GET['id']) ) {
$id = htmlspecialchars($_GET['id']);
$userip = $_SERVER["HTTP_X_FORWARDED_FOR"] ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
if ( isset($_GET['cron']) && !empty($_GET['cron']) ) {
$cron = htmlspecialchars($_GET['cron']);
}
if ($cron == "auto") {
$userip = "Removed automatically because too many errors occured.";
}
$uuid_pattern = "/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/";
if (preg_match($uuid_pattern, $id)) {
$remove_domain = remove_domain_check($id, $userip);
if (is_array($remove_domain["errors"]) && count($remove_domain["errors"]) != 0) {
$errors = array_unique($remove_domain["errors"]);
foreach ($remove_domain["errors"] as $key => $err_value) {
echo "<div class='alert alert-danger' role='alert'>";
echo htmlspecialchars($err_value);
echo "</div>";
}
} else {
echo "<div class='alert alert-success' role='alert'>";
echo "Check removed. You will no longer receive notifications on certificate expiration events for this domain.<br>";
echo "</div>";
}
} else {
echo "<div class='alert alert-danger' role='alert'>";;
echo "Error. ID is invalid.<br>";
echo "Please return and try again.<br>";
echo "</div>";
}
} else {
echo "<div class='alert alert-danger' role='alert'>";;
echo "Error. ID is required.<br>";
echo "Please return and try again.<br>";
echo "</div>";
}
echo "<div class='content'><section id='faq'>";
require('inc/faq.php');
echo "</div>";
require('inc/footer.php');
?>