use anonymous function

This commit is contained in:
Jean-Christian Denis 2022-11-26 14:41:12 +01:00
parent c9db3f68cb
commit c73bbf93dd
Signed by: JcDenis
GPG key ID: 1B5B8C5B90B6C951

View file

@ -16,40 +16,20 @@ if (!defined('DC_CONTEXT_ADMIN')) {
dcCore::app()->blog->settings->addNamespace('pacKman');
dcCore::app()->addBehavior('adminDashboardFavoritesV2', ['packmanBehaviors', 'adminDashboardFavorites']);
dcCore::app()->addBehavior('adminDashboardFavoritesV2', function (dcFavorites $favs): void {
$favs->register('pacKman', [
'title' => __('Packages repository'),
'url' => dcCore::app()->adminurl->get('admin.plugin.pacKman') . '#packman-repository-repository',
'small-icon' => [dcPage::getPF('pacKman/icon.svg'), dcPage::getPF('pacKman/icon-dark.svg')],
'large-icon' => [dcPage::getPF('pacKman/icon.svg'), dcPage::getPF('pacKman/icon-dark.svg')],
'permissions' => dcCore::app()->auth->isSuperAdmin(),
]);
});
dcCore::app()->menu[dcAdmin::MENU_PLUGINS]->addItem(
__('Packages repository'),
'plugin.php?p=pacKman#packman-repository-repository',
dcCore::app()->adminurl->get('admin.plugin.pacKman') . '#packman-repository-repository',
[dcPage::getPF('pacKman/icon.svg'), dcPage::getPF('pacKman/icon-dark.svg')],
preg_match(
'/plugin.php\?p=pacKman(&.*)?$/',
$_SERVER['REQUEST_URI']
),
preg_match('/' . preg_quote(dcCore::app()->adminurl->get('admin.plugin.pacKman')) . '(&.*)?$/', $_SERVER['REQUEST_URI']),
dcCore::app()->auth->isSuperAdmin()
);
class packmanBehaviors
{
public static function adminDashboardFavorites(dcFavorites $favs): void
{
$favs->register('pacKman', [
'title' => __('Packages repository'),
'url' => 'plugin.php?p=pacKman#packman-repository-repository',
'small-icon' => [dcPage::getPF('pacKman/icon.svg'), dcPage::getPF('pacKman/icon-dark.svg')],
'large-icon' => [dcPage::getPF('pacKman/icon.svg'), dcPage::getPF('pacKman/icon-dark.svg')],
'permissions' => dcCore::app()->auth->isSuperAdmin(),
'active_cb' => [
'packmanBehaviors',
'adminDashboardFavoritesActive'
]
]);
}
public static function adminDashboardFavoritesActive(string $request, array $params): bool
{
return $request == 'plugin.php'
&& isset($params['p'])
&& $params['p'] == 'pacKman';
}
}