-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathfolder_delete.php
112 lines (97 loc) · 2.98 KB
/
folder_delete.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
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
111
112
<?php
require_once ("./header.php");
logged_in_only ();
$noconfirm = set_get_noconfirm ();
# the root folder cannot be deleted
if ($folderid == "" || $folderid == 0){
message ("No Folder selected");
}
else if (!$settings['confirm_delete'] || $noconfirm) {
# lets do the deletion if the confirm variable is set to FALSE or after confirmation
require_once (ABSOLUTE_PATH . "folders.php");
$tree = new folder;
$tree->get_children ($folderid);
# we need $parent_folders for javascript code below.
$parent_folders = $tree->get_path_to_root ($folderid);
if (count ($parent_folders) > 1) {
$parent_folder = $parent_folders[1];
}
else {
$parent_folder = 0;
}
array_push ($tree->get_children, $folderid);
$folders = implode (",", $tree->get_children);
# first delete all subfolders
$query = sprintf ("DELETE FROM folder WHERE childof IN (%s) AND user='%s'",
$mysql->escape ($folders),
$mysql->escape ($username));
if (!$mysql->query ($query)) {
message ($mysql->error);
}
# of course, we want to delete all bookmarks as well
$query = sprintf ("DELETE FROM bookmark WHERE childof IN (%s) AND user='%s'",
$mysql->escape ($folders),
$mysql->escape ($username));
if (!$mysql->query ($query)) {
message ($mysql->error);
}
# now delete the folder itself
$query = sprintf ("DELETE FROM folder WHERE id=%d AND user='%s'",
$mysql->escape ($folderid),
$mysql->escape ($username));
if (!$mysql->query ($query)) {
message ($mysql->error);
}
?>
<script language="JavaScript">
<!--
function reloadparentwindow() {
var path = window.opener.document.URL;
searchstring = /(folderid=[0-9]*)/gi;
result = searchstring.test(path);
if(result == false) {
urlparams = window.opener.location.search;
if (urlparams == "") {
result = path + "?folderid=<?php echo $parent_folder; ?>";
}
else {
result = path + "&folderid=<?php echo $parent_folder; ?>";
}
}
else {
result = path.replace (searchstring,"folderid=<?php echo $parent_folder; ?>");
}
window.opener.location = result;
window.close();
}
reloadparentwindow();
//-->
</script>
<?php
}
else {
# if there was no confirmation, as to _really_ delete the whole stuff
# print the verification form
$query = sprintf ("SELECT name, public FROM folder WHERE id=%d AND user='%s' AND deleted!='1'",
$mysql->escape ($folderid),
$mysql->escape ($username));
if ($mysql->query ($query)) {
if (mysql_num_rows ($mysql->result) == 0){
message ("Folder does not exist");
}
$row = mysql_fetch_object ($mysql->result);
?>
<h2 class="title">Delete this Folder?</h2>
<p><?php echo $row->public ? $folder_opened_public : $folder_opened; echo " " . $row->name; ?></p>
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . "?folderid=" . $folderid . "&noconfirm=1";?>" method="POST" name="fdelete">
<input type="submit" value=" OK ">
<input type="button" value=" Cancel " onClick="self.close()">
</form>
<?php
}
else {
message ($mysql->error);
}
}
require_once (ABSOLUTE_PATH . "footer.php");
?>