Skip to content
Snippets Groups Projects
Commit 00b0a955 authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

move sorting to plugin administration and use it in both register actions, fixes #4993

Closes #4993

Merge request !3747
parent 2d0c796a
No related branches found
No related tags found
No related merge requests found
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
class Admin_PluginController extends AuthenticatedController class Admin_PluginController extends AuthenticatedController
{ {
private $plugin_admin; private PluginAdministration $plugin_admin;
/** /**
* Common tasks for all actions. * Common tasks for all actions.
...@@ -509,10 +509,7 @@ class Admin_PluginController extends AuthenticatedController ...@@ -509,10 +509,7 @@ class Admin_PluginController extends AuthenticatedController
public function unregistered_action() public function unregistered_action()
{ {
$plugins = $this->plugin_admin->scanPluginDirectory(); $plugins = $this->plugin_admin->scanPluginDirectory(true);
usort($plugins, function ($a, $b) {
return $a['pluginname'] <=> $b['pluginname'];
});
$this->unknown_plugins = $plugins; $this->unknown_plugins = $plugins;
} }
...@@ -525,7 +522,7 @@ class Admin_PluginController extends AuthenticatedController ...@@ -525,7 +522,7 @@ class Admin_PluginController extends AuthenticatedController
public function register_action($number) public function register_action($number)
{ {
CSRFProtection::verifyUnsafeRequest(); CSRFProtection::verifyUnsafeRequest();
$unknown_plugins = $this->plugin_admin->scanPluginDirectory(); $unknown_plugins = $this->plugin_admin->scanPluginDirectory(true);
$plugin = $unknown_plugins[$number]; $plugin = $unknown_plugins[$number];
try { try {
......
...@@ -399,7 +399,7 @@ class PluginAdministration ...@@ -399,7 +399,7 @@ class PluginAdministration
* *
* @return array with manifest meta data * @return array with manifest meta data
*/ */
public function scanPluginDirectory() public function scanPluginDirectory(bool $sort = false)
{ {
$found = []; $found = [];
$basepath = Config::get()->PLUGINS_PATH; $basepath = Config::get()->PLUGINS_PATH;
...@@ -423,6 +423,14 @@ class PluginAdministration ...@@ -423,6 +423,14 @@ class PluginAdministration
$found[] = $manifest; $found[] = $manifest;
} }
} }
if ($sort) {
usort(
$found,
fn($a, $b) => $a['pluginname'] <=> $b['pluginname']
);
}
return $found; return $found;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment