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
69
70
71
72
73
74
75
76
|
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/functions.php";
$id = $_GET['id'] ?? null;
if (isset($id)) {
if (!preg_match("/[a-zA-Z0-6]/m", $id)) {
die();
}
if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/requests/" . $id . ".json")) {
die();
}
} else {
die();
}
$request = json_decode(pf_utf8_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/requests/" . $id . ".json")), true);
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $request["author"] . ".json")) {
while (trim(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $request["author"] . ".json")) === "") {}
$profile = json_decode(pf_utf8_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $request["author"] . ".json")), true);
loadLang(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/lang/" . $profile["language"] . ".json"), true), "lang", $profile["language"]);
$index = array_search($id, $profile["requests"]);
if ($index !== false) {
unset($profile["requests"][$index]);
}
$profile["alerts"][] = [
"title" => l("lang_notifications_approve_title"),
"message" => str_replace("%3", date('H:i', strtotime($request["date"])), str_replace("%2", formatDate($request["date"]), str_replace("%1", l("lang_request_types_" . $request["type"]), l("lang_notifications_approve_message")))),
"date" => date('c'),
"read" => false
];
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $request["author"] . ".json", pf_utf8_encode(json_encode($profile, JSON_PRETTY_PRINT)));
}
if ($request["type"] === "galleryupload" && !isset($_GET['mark'])) {
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gallery/" . $request["id"] . ".json")) {
$gallery = json_decode(pf_utf8_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gallery/" . $request["id"] . ".json")), true);
$gallery["images"][] = [
"id" => $id,
"author" => $request["author"],
"date" => $request["date"]
];
$gallery["update"] = date('c');
$gallery["update_user"] = $request["author"];
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gallery/" . $request["id"] . ".json", pf_utf8_encode(json_encode($gallery)));
}
}
if (($request["type"] === "gallerymeta" || $request["type"] === "article" || $request["type"] === "userpage") && !isset($_GET['mark'])) {
$file = "/";
if ($request["type"] === "gallerymeta") $file = $_SERVER['DOCUMENT_ROOT'] . "/includes/data/gallery/" . $request["id"] . ".json";
if ($request["type"] === "article") $file = $_SERVER['DOCUMENT_ROOT'] . "/includes/data/articles/" . $request["id"] . ".json";
if ($request["type"] === "userpage") $file = $_SERVER['DOCUMENT_ROOT'] . "/includes/data/people/" . $request["id"] . ".json";
$d = json_decode(pf_utf8_decode(file_get_contents($file)), true);
$d["contents"] = $request["contents"];
$d["update"] = date('c');
$d["update_user"] = $request["author"];
file_put_contents($file, pf_utf8_encode(json_encode($d)));
}
rename($_SERVER['DOCUMENT_ROOT'] . "/includes/data/requests/" . $id . ".json", $_SERVER['DOCUMENT_ROOT'] . "/includes/data/archive/" . $id . ".json");
header("Location: /admin/requests");
die();
|