mapfile erase
This commit is contained in:
parent
6d5062b61c
commit
34db6ea31b
@ -197,12 +197,15 @@ class MapManager implements CallbackListener {
|
|||||||
* @param bool $eraseFile
|
* @param bool $eraseFile
|
||||||
* @param bool $message
|
* @param bool $message
|
||||||
*/
|
*/
|
||||||
public function removeMap(Player $admin, $uid, $eraseFile = false, $message = true) { //TODO erasefile?
|
public function removeMap(Player $admin, $uid, $eraseFile = false, $message = true) {
|
||||||
$map = $this->maps[$uid];
|
$map = $this->maps[$uid];
|
||||||
|
|
||||||
//Unset the Map everywhere
|
//Unset the Map everywhere
|
||||||
$this->mapQueue->removeFromMapQueue($admin, $map->uid);
|
$this->mapQueue->removeFromMapQueue($admin, $map->uid);
|
||||||
$this->mxManager->unsetMap($map->mx->id);
|
|
||||||
|
if ($map->mx != null) {
|
||||||
|
$this->mxManager->unsetMap($map->mx->id);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove map
|
// Remove map
|
||||||
try {
|
try {
|
||||||
@ -213,6 +216,23 @@ class MapManager implements CallbackListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($eraseFile) {
|
||||||
|
// Check if ManiaControl can even write to the maps dir
|
||||||
|
try {
|
||||||
|
$mapDir = $this->maniaControl->client->getMapsDirectory();
|
||||||
|
} catch(\Exception $e) {
|
||||||
|
trigger_error("Couldn't get map directory. " . $e->getMessage());
|
||||||
|
$this->maniaControl->chat->sendError("ManiaControl couldn't retrieve the maps directory.", $admin->login);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!@unlink($mapDir . $map->fileName)) {
|
||||||
|
trigger_error("Couldn't remove Map '{$mapDir}{$map->fileName}'.");
|
||||||
|
$this->maniaControl->chat->sendError("ManiaControl couldn't remove the MapFile.", $admin->login);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Show Message
|
//Show Message
|
||||||
if ($message) {
|
if ($message) {
|
||||||
$message = '$<' . $admin->nickname . '$> removed $<' . $map->name . '$>!';
|
$message = '$<' . $admin->nickname . '$> removed $<' . $map->name . '$>!';
|
||||||
|
Loading…
Reference in New Issue
Block a user