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

@ -8,6 +8,7 @@ use ManiaControl\Bills\BillManager;
use ManiaControl\Callbacks\CallbackListener;
use ManiaControl\Callbacks\CallbackManager;
use ManiaControl\Callbacks\Callbacks;
use ManiaControl\Callbacks\CallQueueManager;
use ManiaControl\Callbacks\EchoManager;
use ManiaControl\Callbacks\TimerListener;
use ManiaControl\Callbacks\TimerManager;
@ -52,7 +53,7 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener,
/*
* Constants
*/
const VERSION = '0.240';
const VERSION = '0.250';
const API_VERSION = '2013-04-16';
const MIN_DEDIVERSION = '2017-05-03_21_00';
const SCRIPT_TIMEOUT = 40;
@ -84,6 +85,10 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener,
* @see getCallbackManager()
*/
private $callbackManager = null;
/** @var CallQueueManager $callQueueManager
* @see getCallQueueManager()
*/
private $callQueueManager = null;
/** @var Chat $chat
* @see getChat()
*/
@ -180,6 +185,7 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener,
// Load ManiaControl Modules
$this->callbackManager = new CallbackManager($this);
$this->callQueueManager = new CallQueueManager($this);
$this->modeScriptEventManager = new ModeScriptEventManager($this);
$this->echoManager = new EchoManager($this);
$this->communicationManager = new CommunicationManager($this);
@ -298,6 +304,15 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener,
return $this->callbackManager;
}
/**
* Return the call queue manager
*
* @return CallQueueManager
*/
public function getCallQueueManager() {
return $this->callQueueManager;
}
/**
* Return the echo manager
*
@ -705,6 +720,9 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener,
// Manage callbacks
$this->getCallbackManager()->manageCallbacks();
// Manage queued calls
$this->getCallQueueManager()->manageCallQueue();
// Manage async file reader
$this->getFileReader()->appendData();