-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfile_operations.php
More file actions
79 lines (64 loc) · 2.15 KB
/
file_operations.php
File metadata and controls
79 lines (64 loc) · 2.15 KB
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
77
78
79
<?php
function getFilename($session, $sessionId) {
if (isset($session['unix_user'])) {
$filename = getUserFilename($session);
} else {
$filename = getGuestFilename($sessionId);
}
return $filename;
}
function getUserFilename($session) {
$unixUser = $session['unix_user'];
return "{$unixUser}.json";
}
function getGuestFilename($sessionId) {
return "guest_{$sessionId}.json";
}
function getDirectory() {
return __DIR__ . "/saves";
}
function loadFile($filename) {
$directory = getDirectory();
$fileLocation = "$directory/$filename";
if (!file_exists($fileLocation)) {
return null;
}
$data = file_get_contents($fileLocation);
return $data;
}
function saveFile($filename, $data) {
$directory = getDirectory();
if (!is_dir($directory)) mkdir($directory, 0700, true);
$fileLocation = "$directory/$filename";
if (file_put_contents($fileLocation, $data)) {
return json_encode(['success' => true]);
} else {
return json_encode(['success' => false, 'message' => 'Failed to write save file']);
}
}
function deleteFile($filename) {
$directory = getDirectory();
$fileLocation = "$directory/$filename";
if (unlink($fileLocation)) {
return json_encode(['success' => true, 'message' => 'Successfully deleted save data']);
} else {
return json_encode(['success' => false, 'message' => 'Failed to delete save data']);
}
}
function moveFile($sourceFile, $destinationFile) {
$directory = getDirectory();
$sourceFileLocation = "$directory/$sourceFile";
$destinationFileLocation = "$directory/$destinationFile";
if (!file_exists($sourceFileLocation)) {
return json_encode(["success" => false, "message" => "There is no guest save to move"]);
}
if (file_exists($destinationFileLocation)) {
return json_encode(["success" => false, "message" => "User already has a save file"]);
}
if (rename($sourceFileLocation,$destinationFileLocation)) {
return json_encode(["success" => true]);
} else {
return json_encode(["success" => false, "message" => "Couldn't move save file to user"]);
}
}
?>