From 689e572c62ef3d431073ab0d29283a42fff0d8e4 Mon Sep 17 00:00:00 2001 From: kremsy Date: Wed, 12 Mar 2014 13:53:21 +0100 Subject: [PATCH] karma setting recgoniation --- application/plugins/Karma.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/application/plugins/Karma.php b/application/plugins/Karma.php index 7057f426..64e6b2f7 100644 --- a/application/plugins/Karma.php +++ b/application/plugins/Karma.php @@ -14,6 +14,7 @@ use ManiaControl\Maps\MapManager; use ManiaControl\Players\Player; use ManiaControl\Players\PlayerManager; use ManiaControl\Plugins\Plugin; +use ManiaControl\Settings\SettingManager; /** * ManiaControl Karma Plugin @@ -100,6 +101,7 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { $this->maniaControl->callbackManager->registerCallbackListener(MapManager::CB_ENDMAP, $this, 'sendMxKarmaVotes'); $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERCONNECT, $this, 'handlePlayerConnect'); $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERCHAT, $this, 'handlePlayerChat'); + $this->maniaControl->callbackManager->registerCallbackListener(SettingManager::CB_SETTINGS_CHANGED, $this, 'updateSettings'); // Define player stats $this->maniaControl->statisticManager->defineStatMetaData(self::STAT_PLAYER_MAPVOTES); @@ -555,6 +557,23 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { $this->manialink = $manialink; } + + /** + * Update Settings + * @param $class + * @param $settingName + * @param $value + */ + public function updateSettings($class, $settingName, $value){ + if(!$class = get_class()) + return; + + $serverLogin = $this->maniaControl->server->login; + if($settingName == '$l[http://karma.mania-exchange.com/auth/getapikey?server=' . $serverLogin . ']MX Karma Code for ' . $serverLogin . '$l'){ + $this->mxKarmaOpenSession(); + } + } + /** * Open a Mx Karma Session */ @@ -564,8 +583,8 @@ class KarmaPlugin implements CallbackListener, TimerListener, Plugin { } $serverLogin = $this->maniaControl->server->login; - $mxKarmaCode = $this->maniaControl->settingManager->getSetting($this, '$l[http://karma.mania-exchange.com/auth/getapikey?server=' . $serverLogin . ']MX Karma Code for ' . $serverLogin . '$l'); + if ($mxKarmaCode == '') { return; }