[ext_manager] don't disable hidden extensions
This commit is contained in:
@ -4,24 +4,6 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Shimmie2;
|
namespace Shimmie2;
|
||||||
|
|
||||||
function __extman_extcmp(ExtensionInfo $a, ExtensionInfo $b): int
|
|
||||||
{
|
|
||||||
if ($a->beta === true && $b->beta === false) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if ($a->beta === false && $b->beta === true) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return strcmp($a->name, $b->name);
|
|
||||||
}
|
|
||||||
|
|
||||||
function __extman_extactive(ExtensionInfo $a): bool
|
|
||||||
{
|
|
||||||
return Extension::is_enabled($a->key);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class ExtensionAuthor
|
class ExtensionAuthor
|
||||||
{
|
{
|
||||||
public string $name;
|
public string $name;
|
||||||
@ -110,15 +92,24 @@ class ExtManager extends Extension
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* #return ExtensionInfo[]
|
* @return ExtensionInfo[]
|
||||||
*/
|
*/
|
||||||
private function get_extensions(bool $all): array
|
private function get_extensions(bool $all): array
|
||||||
{
|
{
|
||||||
$extensions = ExtensionInfo::get_all();
|
$extensions = ExtensionInfo::get_all();
|
||||||
if (!$all) {
|
if (!$all) {
|
||||||
$extensions = array_filter($extensions, "Shimmie2\__extman_extactive");
|
$extensions = array_filter($extensions, fn ($x) => Extension::is_enabled($x->key));
|
||||||
}
|
}
|
||||||
usort($extensions, "Shimmie2\__extman_extcmp");
|
usort($extensions, function ($a, $b) {
|
||||||
|
if ($a->beta === true && $b->beta === false) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if ($a->beta === false && $b->beta === true) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return strcmp($a->name, $b->name);
|
||||||
|
});
|
||||||
return $extensions;
|
return $extensions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,6 +86,18 @@ class ExtManagerTheme extends Themelet
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($editable) {
|
||||||
|
foreach ($extensions as $extension) {
|
||||||
|
if ($extension->visibility === ExtensionVisibility::HIDDEN && !$extension->core) {
|
||||||
|
$form->appendChild(INPUT([
|
||||||
|
"type" => 'hidden',
|
||||||
|
"name" => "ext_{$extension->key}",
|
||||||
|
"value" => ($extension->is_enabled() === true) ? "on" : "off"
|
||||||
|
]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$page->set_title("Extensions");
|
$page->set_title("Extensions");
|
||||||
$page->set_heading("Extensions");
|
$page->set_heading("Extensions");
|
||||||
$page->add_block(new NavBlock());
|
$page->add_block(new NavBlock());
|
||||||
|
Reference in New Issue
Block a user