blob: 2dab9e281671decc067b5ea906c47031f3fe332f (
plain)
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
|
<?php
function delete_file($user, $path){
$db = $GLOBALS["db"];
$uploaddir = "../files/";
$file_id = select_file_id($db, $user, $path);
$check_if_file_db = $db->query("SELECT folder, hash FROM files WHERE id=".$file_id.";");
$check_if_file_ar = $check_if_file_db->fetchArray(SQLITE3_NUM);
if($check_if_file_ar[0] != "FILE"){
return DELETE_FILE_NO_FILE;
}
$file_hash = $check_if_file_ar[1];
if(!unlink($uploaddir.$file_hash.".gz")){
return DELETE_FILE_UNLINK;
}
if($db->exec("
BEGIN TRANSACTION;
DELETE FROM files WHERE id=".$file_id.";
COMMIT;
")){
return DELETE_FILE_SUCCESS;
} else {
return DELETE_FILE_DATABASE;
}
}
function delete_user($user){
$db = $GLOBALS["db"];
$uploaddir = "../files/";
$owner = user_id($db, $user);
$hash_array_db = $db->query("SELECT hash FROM files WHERE folder='FILE' AND owner=".$owner.";");
$count = 0;
while($row1 = $hash_array_db->fetchArray(SQLITE3_NUM)){
$hash_ar[$count] = $row1[0];
$count++;
}
$count = 0;
for($i=0; $i<count($hash_ar); $i++){
$file_id_owner_db = $db->query("SELECT id, owner FROM files WHERE folder='FILE' AND hash=".$hash_ar[$i].";");
while($row2 = $file_id_owner->fetchArray(SQLITE3_NUM)){
if($row2[1] != $_SESSION["userid"]){
$saved_files[$count] = $hash_ar[$i];
}
$count++;
}
}
for($i=0; $i<count($saved_files); $i++){
$cur = $saved_files[$i]:
for($j=0;$j<count($hash_ar); $j++){
if($cur == $hash_ar[$j]){
$hash_ar[$j] = "";
}
}
}
for($i=0; $<count($hash_ar); $i++){
if(!unlink($uploaddir.$hash_ar[$i].".gz")){
return DELETE_USER_FILE_DELETE;
}
}
if($db->exec("
BEGIN TRANSACTION;
DELETE FROM user WHERE id=".$owner.";
COMMIT;
")){
return DELETE_USER_SUCCESS;
} else {
return DELETE_USER_DATABASE;
}
}
|