mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2026-05-05 20:25:57 +02:00
DEPRECATED onAdminRegisterPermissions event and the corresponding admin methods
This commit is contained in:
@@ -4,6 +4,9 @@
|
||||
* [](#improved)
|
||||
* Improved `permissions` field
|
||||
* Added `field.show_label` and `field.label` display logic from frontend forms
|
||||
* DEPRECATED `onAdminRegisterPermissions` event, use `RegisterPermissionsEvent::class` event instead
|
||||
* DEPRECATED `Admin::setPermissions()` and `Admin::addPermissions()`, use `RegisterPermissionsEvent::class` event instead
|
||||
* DEPRECATED `Admin::getPermissions()`, use `$grav['permissions']->getInstances()` instead
|
||||
1. [](#bugfix)
|
||||
* Fixed user profile when using `Flex Users` only in admin
|
||||
|
||||
|
||||
35
admin.php
35
admin.php
@@ -734,40 +734,6 @@ class AdminPlugin extends Plugin
|
||||
$permissions->addActions($actions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initial stab at registering permissions (WIP)
|
||||
*
|
||||
* @param Event $e
|
||||
*/
|
||||
public function onAdminRegisterPermissions(Event $e)
|
||||
{
|
||||
$grav = Grav::instance();
|
||||
$grav['permissions'];
|
||||
|
||||
/** @var Admin $admin */
|
||||
$admin = $e['admin'];
|
||||
$permissions = [
|
||||
'site.login' => 'boolean',
|
||||
'admin.login' => 'boolean',
|
||||
'admin.super' => 'boolean',
|
||||
'admin.cache' => 'boolean',
|
||||
'admin.configuration' => 'boolean',
|
||||
'admin.configuration_system' => 'boolean',
|
||||
'admin.configuration_site' => 'boolean',
|
||||
'admin.configuration_media' => 'boolean',
|
||||
'admin.configuration_info' => 'boolean',
|
||||
'admin.settings' => 'boolean',
|
||||
'admin.pages' => 'boolean',
|
||||
'admin.maintenance' => 'boolean',
|
||||
'admin.statistics' => 'boolean',
|
||||
'admin.plugins' => 'boolean',
|
||||
'admin.themes' => 'boolean',
|
||||
'admin.tools' => 'boolean',
|
||||
'admin.users' => 'boolean',
|
||||
];
|
||||
$admin->addPermissions($permissions);
|
||||
}
|
||||
|
||||
public function onAdminMenu()
|
||||
{
|
||||
// Dashboard
|
||||
@@ -930,7 +896,6 @@ class AdminPlugin extends Plugin
|
||||
'onTwigTemplatePaths' => ['onTwigTemplatePaths', 1000],
|
||||
'onTwigSiteVariables' => ['onTwigSiteVariables', 1000],
|
||||
'onAssetsInitialized' => ['onAssetsInitialized', 1000],
|
||||
'onAdminRegisterPermissions' => ['onAdminRegisterPermissions', 0],
|
||||
'onOutputGenerated' => ['onOutputGenerated', 0],
|
||||
'onAdminAfterSave' => ['onAdminAfterSave', 0],
|
||||
'onAdminData' => ['onAdminData', 0],
|
||||
|
||||
@@ -25,6 +25,8 @@ use Grav\Common\Uri;
|
||||
use Grav\Common\User\Interfaces\UserCollectionInterface;
|
||||
use Grav\Common\User\User;
|
||||
use Grav\Common\Utils;
|
||||
use Grav\Framework\Acl\Action;
|
||||
use Grav\Framework\Acl\Permissions;
|
||||
use Grav\Framework\Collection\ArrayCollection;
|
||||
use Grav\Framework\Flex\Flex;
|
||||
use Grav\Framework\Flex\Interfaces\FlexObjectInterface;
|
||||
@@ -104,9 +106,6 @@ class Admin
|
||||
/** @var int */
|
||||
protected $pages_count;
|
||||
|
||||
/** @var array */
|
||||
protected $permissions;
|
||||
|
||||
/** @var bool */
|
||||
protected $load_additional_files_in_background = false;
|
||||
|
||||
@@ -136,7 +135,6 @@ class Admin
|
||||
$this->uri = $grav['uri'];
|
||||
$this->session = $grav['session'];
|
||||
$this->user = $grav['user'];
|
||||
$this->permissions = [];
|
||||
|
||||
/** @var Language $language */
|
||||
$language = $grav['language'];
|
||||
@@ -1430,30 +1428,51 @@ class Admin
|
||||
* Gets the entire permissions array
|
||||
*
|
||||
* @return array
|
||||
* @deprecated 1.10 Use $grav['permissions']->getInstances() instead.
|
||||
*/
|
||||
public function getPermissions()
|
||||
{
|
||||
return $this->permissions;
|
||||
user_error(__METHOD__ . '() is deprecated since Admin 1.10, use $grav[\'permissions\']->getInstances() instead', E_USER_DEPRECATED);
|
||||
|
||||
$grav = $this->grav;
|
||||
/** @var Permissions $object */
|
||||
$permissions = $grav['permissions'];
|
||||
|
||||
return array_fill_keys(array_keys($permissions->getInstances()), 'boolean');
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the entire permissions array
|
||||
*
|
||||
* @param array $permissions
|
||||
* @deprecated 1.10 Use RegisterPermissionsEvent::class event instead.
|
||||
*/
|
||||
public function setPermissions($permissions)
|
||||
{
|
||||
$this->permissions = $permissions;
|
||||
user_error(__METHOD__ . '() is deprecated since Admin 1.10, use RegisterPermissionsEvent::class event instead', E_USER_DEPRECATED);
|
||||
|
||||
$this->addPermissions($permissions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a permission to the permissions array
|
||||
*
|
||||
* @param array $permissions
|
||||
* @deprecated 1.10 Use RegisterPermissionsEvent::class event instead.
|
||||
*/
|
||||
public function addPermissions($permissions)
|
||||
{
|
||||
$this->permissions = array_merge($this->permissions, $permissions);
|
||||
user_error(__METHOD__ . '() is deprecated since Admin 1.10, use RegisterPermissionsEvent::class event instead', E_USER_DEPRECATED);
|
||||
|
||||
$grav = $this->grav;
|
||||
/** @var Permissions $object */
|
||||
$object = $grav['permissions'];
|
||||
foreach ($permissions as $name => $type) {
|
||||
if (!$object->hasAction($name)) {
|
||||
$action = new Action($name);
|
||||
$object->addAction($action);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getNotifications($force = false)
|
||||
|
||||
Reference in New Issue
Block a user