-
Notifications
You must be signed in to change notification settings - Fork 0
/
rename.cs
95 lines (75 loc) · 2.29 KB
/
rename.cs
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
function Instruments::renameFile(%this, %type, %filename, %newFilename, %client) {
if (%type !$= "phrase" && %type !$= "song" && %type !$= "bindset") {
return;
}
%filename = stripTrailingSpaces(%filename);
%newFilename = stripTrailingSpaces(%newFilename);
if (!Instruments.validateFilename(%filename, %client, 1)) {
return;
}
if (!Instruments.validateFilename(%newFilename, %client, 1)) {
return;
}
if (%client !$= "") {
if (!isObject(%client)) {
return;
}
%localOrServer = "server";
}
else {
%localOrServer = "local";
}
%path = Instruments.getFilePath(%type, %filename, %localOrServer);
%newPath = Instruments.getFilePath(%type, %newFilename, %localOrServer);
if (isFile(%path)) {
if (isFile(%newPath)) {
Instruments.messageBoxOK("File Name Taken", "A file with this name already exists!", %client);
return;
}
// If we're renaming a server file
if (%client !$= "") {
%hasPermission = InstrumentsServer.checkDeletingPermissions(%client, 1);
if (!%hasPermission) {
return;
}
%author = Instruments.getFileAuthor(%type, %filename, %localOrServer);
%bl_id = getField(%author, 1);
if (%bl_id != %client.getBLID() && !%client.isAdmin && !%client.isSuperAdmin && !%client.isHost()) {
Instruments.messageBoxOK("Not Allowed", "You do not have permission to rename this file.", %client);
return;
}
}
}
else {
Instruments.messageBoxOK("Error", "File does not exist.", %client);
return;
}
if (%client !$= "") {
if (!isObject(%client)) {
return;
}
%localOrServer = "server";
}
else {
%localOrServer = "local";
}
if (fileCopy(%path, %newPath)) {
Instruments.messageBoxOK("File Renamed", "File renamed successfully.", %client);
if (!fileDelete(%path)) {
error("Instruments.renameFile() - ERROR: Could not delete old file!");
}
discoverFile(%newPath);
if (%client $= "") {
InstrumentsClient.refreshFileLists();
}
else {
commandToAll('Instruments_onFileRenamed', %filename, %newFilename, %type);
}
}
else {
Instruments.messageBoxOK("Error", "Error renaming file.", %client);
}
if (%client !$= "") {
%client.lastInstrumentsDeleteTime = getSimTime();
}
}