X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fcore%2Fmodules%2Fsettings_tray%2Fsrc%2FAccess%2FBlockPluginHasSettingsTrayFormAccessCheck.php;fp=web%2Fcore%2Fmodules%2Fsettings_tray%2Fsrc%2FAccess%2FBlockPluginHasSettingsTrayFormAccessCheck.php;h=01a99a07918541e010bde9fb9e6b04185bed5f29;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=0000000000000000000000000000000000000000;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/web/core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php b/web/core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php new file mode 100644 index 000000000..01a99a079 --- /dev/null +++ b/web/core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php @@ -0,0 +1,48 @@ +getPlugin(); + return $this->accessBlockPlugin($block_plugin); + } + + /** + * Checks access for accessing a block plugin's 'settings_tray' form. + * + * @param \Drupal\Core\Block\BlockPluginInterface $block_plugin + * The block plugin whose 'settings_tray' form is being accessed. + * + * @return \Drupal\Core\Access\AccessResultInterface + * The access result. + * + * @see settings_tray_preprocess_block() + */ + public function accessBlockPlugin(BlockPluginInterface $block_plugin) { + return AccessResult::allowedIf($block_plugin instanceof PluginWithFormsInterface && $block_plugin->hasFormClass('settings_tray')); + } + +}