Added update all button on pluginmenu
This commit is contained in:
parent
b4d131404d
commit
9de5c340c3
@ -39,6 +39,7 @@ class PluginMenu implements CallbackListener, ConfiguratorMenu, ManialinkPageAns
|
|||||||
const ACTION_SETTING_BOOL = 'PluginMenuActionBoolSetting.';
|
const ACTION_SETTING_BOOL = 'PluginMenuActionBoolSetting.';
|
||||||
const ACTION_BACK_TO_PLUGINS = 'PluginMenu.BackToPlugins';
|
const ACTION_BACK_TO_PLUGINS = 'PluginMenu.BackToPlugins';
|
||||||
const ACTION_PREFIX_UPDATEPLUGIN = 'PluginMenu.Update.';
|
const ACTION_PREFIX_UPDATEPLUGIN = 'PluginMenu.Update.';
|
||||||
|
const ACTION_UPDATEPLUGINS = 'PluginMenu.Update.All';
|
||||||
const SETTING_PERMISSION_CHANGE_PLUGIN_SETTINGS = 'Change Plugin Settings';
|
const SETTING_PERMISSION_CHANGE_PLUGIN_SETTINGS = 'Change Plugin Settings';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -334,6 +335,17 @@ class PluginMenu implements CallbackListener, ConfiguratorMenu, ManialinkPageAns
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$numberOfOutdated = $this->maniaControl->updateManager->getNumberOfOutdatedPlugins();
|
||||||
|
$updatePluginsButton = new Label_Button();
|
||||||
|
$frame->add($updatePluginsButton);
|
||||||
|
$updatePluginsButton->setHAlign(Control::RIGHT);
|
||||||
|
$updatePluginsButton->setX($width * 0.1);
|
||||||
|
$updatePluginsButton->setY(-35.5);
|
||||||
|
$updatePluginsButton->setZ(2);
|
||||||
|
$updatePluginsButton->setStyle($updatePluginsButton::STYLE_CardButtonSmall);
|
||||||
|
$updatePluginsButton->setText('Update '.$numberOfOutdated.' plugin(s)');
|
||||||
|
$updatePluginsButton->setAction(self::ACTION_UPDATEPLUGINS);
|
||||||
|
|
||||||
return $frame;
|
return $frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,6 +249,9 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener
|
|||||||
|
|
||||||
if($update) {
|
if($update) {
|
||||||
$pluginClass = substr($actionId, strlen(PluginMenu::ACTION_PREFIX_UPDATEPLUGIN));
|
$pluginClass = substr($actionId, strlen(PluginMenu::ACTION_PREFIX_UPDATEPLUGIN));
|
||||||
|
if($pluginClass == 'All') {
|
||||||
|
$this->checkPluginsUpdate($player);
|
||||||
|
} else {
|
||||||
$newUpdate = $this->checkPluginUpdate($pluginClass);
|
$newUpdate = $this->checkPluginUpdate($pluginClass);
|
||||||
if($newUpdate != false) {
|
if($newUpdate != false) {
|
||||||
$newUpdate->pluginClass = $pluginClass;
|
$newUpdate->pluginClass = $pluginClass;
|
||||||
@ -256,6 +259,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the Build Date of the local Nightly Build Version
|
* Get the Build Date of the local Nightly Build Version
|
||||||
@ -345,6 +349,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if there are outdated plugins active.
|
* Checks if there are outdated plugins active.
|
||||||
|
* @param Player $player
|
||||||
*/
|
*/
|
||||||
public function checkPluginsUpdate(Player $player = null) {
|
public function checkPluginsUpdate(Player $player = null) {
|
||||||
$this->maniaControl->log('[UPDATE] Checking plugins for newer versions ...');
|
$this->maniaControl->log('[UPDATE] Checking plugins for newer versions ...');
|
||||||
@ -376,6 +381,22 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the number of outdated plugins active.
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getNumberOfOutdatedPlugins() {
|
||||||
|
$number = 0;
|
||||||
|
foreach ($this->maniaControl->pluginManager->getPluginClasses() as $pluginClass) {
|
||||||
|
$pluginData = $this->checkPluginUpdate($pluginClass);
|
||||||
|
if ($pluginData != false) {
|
||||||
|
$number++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $number;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check given Plugin Class for Update
|
* Check given Plugin Class for Update
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user