-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapi.php
More file actions
110 lines (92 loc) · 2.7 KB
/
api.php
File metadata and controls
110 lines (92 loc) · 2.7 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?
$method = $_SERVER['REQUEST_METHOD'];
$request = $_SERVER['REQUEST_URI'];
$request = str_replace("/collections/api.php/", "", $request);
$request = rtrim($request, "/");
$rec = split("/", $request);
#echo "REC: " . sizeof($rec) . "\n";
$itemName = "";
if(sizeof($rec) == 2){
$rec[1] = "./store/" . $rec[1];
}
if(sizeof($rec) == 3){
$itemName = $rec[2];
$rec[1] = "./store/" . $rec[1];
}
#echo "REQUEST: $request\n";
###### Implementing the functions:
# Getting all collections:
if($request == "collections"){
echo "[";
$temp = "";
foreach (new DirectoryIterator("store") as $file) {
if ($file->isFile()) {
$fileName = $file->getFilename();
if(substr($fileName, 0, 1) != "." ){
$temp = $temp . "\"$fileName\"" . ",";
}
}
}
$temp = rtrim($temp, ",");
echo "$temp";
echo "]\n";
}
# Create a new collection:
if($method == "POST" && sizeof($rec) == 2){
if(!file_exists($rec[1])){
$collectionFile = fopen($rec[1], "w");
fclose($collectionFile);
echo "{\"success\" : \" Collection $rec[1] was created\"}\n";
} else {
echo "{\"error\" : \" Collection $rec[1] already exists\"}\n";
}
}
# Read a collection:
if($method == "GET" && sizeof($rec) == 2){
if(file_exists($rec[1])){
$items = file($rec[1], FILE_IGNORE_NEW_LINES);
echo json_encode($items);
echo "\n";
} else {
echo "{\"error\" : \" Collection $rec[1] does not exists\"}\n";
}
}
# Update - add item:
if($method == "POST" && sizeof($rec) == 3){
if(file_exists($rec[1])){
$collectionFile = fopen($rec[1], "a");
fwrite($collectionFile, $rec[2]);
fwrite($collectionFile, "\n");
fclose($collectionFile);
echo "{\"success\" : \" Item $rec[2] was added to collection $rec[1]\"}\n";
} else {
echo "{\"error\" : \" Collection $rec[1] does not exists\"}\n";
}
}
# Update - delete item:
if($method == "DELETE" && sizeof($rec) == 3){
if(file_exists($rec[1])){
$items = file($rec[1], FILE_IGNORE_NEW_LINES);
$collectionFile = fopen($rec[1], "w");
foreach($items as $item){
if($item != $rec[2]){
fwrite($collectionFile, $item);
fwrite($collectionFile, "\n");
}
}
fclose($collectionFile);
echo "{\"success\" : \" All appearances of item $rec[2] in collection $rec[1] were deleted\"}\n";
} else {
echo "{\"error\" : \" Collection $rec[1] does not exists\"}\n";
}
}
# Delete Collection:
if($method == "DELETE" && sizeof($rec) == 2){
if(file_exists($rec[1])){
unlink($rec[1]);
echo "{\"success\" : \" Collection $rec[1] was successfully deleted\"}\n";
} else {
echo "{\"error\" : \" Collection $rec[1] does not exists and cant be deleted\"}\n";
}
}
?>