Multiple Features to improve ManiaControl usability (#234)

* ServerUIPropertiesMenu for Configurator to edit builtin UIProperties of MP

* fixed unregister-functions of CallbackManager

* Reducing menuItemHeight in Configurator to avoid overlapping of the menu items

* Fully rebuild the admins menu after a player rights changed

* Added function to FileUtil to improve realpath, so symbolic links can be resolved

* Fixed indentation

* Update FileUtil.php

Fixed error in case of an absolute path on Unix-like systems.

* New CallQueue which runs once inbetween the MC-loops

* Added important queued call to be executed earlier

* ErrorMethod made optional, as in some cases, there might be nothing to fail

* Clean up repository from unnecessary files

* Added easy installation script for DB on Unix-like systems

* Replaced deprecated is_real by is_float

* Add milliseconds with dot instead of double colon

* Resolved deprecated curly braces error

* gitignore all hidden files (except git and gitignore)

* Update MC-update-check-interval, so that a restart is not required

* Update gitignore to not ignore changes in MCTeam-Plugins

* Update gitignore again

* And another try

* fixed MasterAdmin //delrec, added personal /delrec-command with permission-setting

* Increase version number of local records plugin

* Add Permission to delete any record

* Reworked notifications of locals, removed private only, added private at rank

* Fix formatting

* Allow AuthenticationManager to store Plugin Permissions

* Method to check, if a named function call is already queued

* Added command disable feature

* Reset timer if DeltaTime updated, so it does not try to catch up missed timings

* Added private notification setting

* To reduce load of multiple records (especially in rounds), queue call chat notifications

* Added internal function to plugin manager to return plugin menu

* restore .idea codestyle files

* Update MC-Version number to 0.250
This commit is contained in:
axelalex2
2020-02-24 17:20:51 +01:00
committed by GitHub
parent 9252605be0
commit fa7ea9f4f3
18 changed files with 700 additions and 91 deletions

View File

@ -16,6 +16,8 @@ use ManiaControl\Logger;
use ManiaControl\ManiaControl;
use ManiaControl\Players\Player;
use ManiaControl\Players\PlayerManager;
use ManiaControl\Settings\Setting;
use ManiaControl\Settings\SettingManager;
/**
* Manager checking for ManiaControl Core Updates
@ -72,6 +74,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener,
$this->maniaControl->getTimerManager()->registerTimerListening($this, 'hourlyUpdateCheck', 1000 * 60 * 60 * $updateInterval);
$this->maniaControl->getCallbackManager()->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerJoined');
$this->maniaControl->getCallbackManager()->registerCallbackListener(PlayerManager::CB_PLAYERDISCONNECT, $this, 'handlePlayerDisconnect');
$this->maniaControl->getCallbackManager()->registerCallbackListener(SettingManager::CB_SETTING_CHANGED, $this, 'handleSettingChanged');
// Permissions
$this->maniaControl->getAuthenticationManager()->definePermissionLevel(self::SETTING_PERMISSION_UPDATE, AuthenticationManager::AUTH_LEVEL_ADMIN);
@ -455,6 +458,15 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener,
$this->checkAutoUpdate();
}
public function handleSettingChanged(Setting $setting) {
if (!$setting->setting != self::SETTING_UPDATECHECK_INTERVAL) {
return;
}
$updateInterval = $setting->value;
$this->maniaControl->getTimerManager()->updateTimerListening($this, 'hourlyUpdateCheck', 1000 * 60 * 60, $updateInterval);
}
/**
* Handle //checkupdate command
*