Resolve symbolic links with realpath in server directories

This commit is contained in:
Alexander Nell 2020-02-28 16:18:05 +01:00
parent 264698ce64
commit f8da547326

View File

@ -43,7 +43,7 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getMapsFolder() { public function getMapsFolder() {
return $this->maniaControl->getClient()->getMapsDirectory(); return realpath($this->maniaControl->getClient()->getMapsDirectory()) . DIRECTORY_SEPARATOR;
} }
/** /**
@ -52,7 +52,7 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getSkinsFolder() { public function getSkinsFolder() {
return $this->maniaControl->getClient()->getSkinsDirectory(); return realpath($this->maniaControl->getClient()->getSkinsDirectory()) . DIRECTORY_SEPARATOR;
} }
/** /**
@ -78,7 +78,7 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getLogsFolder() { public function getLogsFolder() {
return $this->getUserDataFolder() . '..' . DIRECTORY_SEPARATOR . 'Logs' . DIRECTORY_SEPARATOR; return realpath($this->getUserDataFolder() . '..' . DIRECTORY_SEPARATOR . 'Logs') . DIRECTORY_SEPARATOR;
} }
/** /**
@ -87,7 +87,7 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getGameDataFolder(){ public function getGameDataFolder(){
return $this->getUserDataFolder() . '..' . DIRECTORY_SEPARATOR . 'GameData' . DIRECTORY_SEPARATOR; return realpath($this->getUserDataFolder() . '..' . DIRECTORY_SEPARATOR . 'GameData') . DIRECTORY_SEPARATOR;
} }
/** /**
@ -96,7 +96,7 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getUserDataFolder() { public function getUserDataFolder() {
return $this->maniaControl->getClient()->gameDataDirectory(); return realpath($this->maniaControl->getClient()->gameDataDirectory()) . DIRECTORY_SEPARATOR;
} }
/** /**
@ -105,7 +105,7 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getScriptsFolder(){ public function getScriptsFolder(){
return $this->getGameDataFolder() . 'Scripts' . DIRECTORY_SEPARATOR; return realpath($this->getGameDataFolder() . 'Scripts') . DIRECTORY_SEPARATOR;
} }
/** /**
@ -121,6 +121,6 @@ class Directory implements CallbackListener, UsageInformationAble {
* @return string * @return string
*/ */
public function getCacheFolder() { public function getCacheFolder() {
return $this->getUserDataFolder() . '..' . DIRECTORY_SEPARATOR . 'CommonData' . DIRECTORY_SEPARATOR . 'Cache' . DIRECTORY_SEPARATOR; return realpath($this->getUserDataFolder() . '..' . DIRECTORY_SEPARATOR . 'CommonData' . DIRECTORY_SEPARATOR . 'Cache') . DIRECTORY_SEPARATOR;
} }
} }