. /** * Tiny Link plugin. * * @package tiny_link * @copyright 2022 Huong Nguyen * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace tiny_link; use context; use context_system; use editor_tiny\editor; use editor_tiny\plugin; use editor_tiny\plugin_with_buttons; use editor_tiny\plugin_with_configuration; use editor_tiny\plugin_with_menuitems; /** * Tiny link plugin. * * @package tiny_link * @copyright 2023 Huong Nguyen * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class plugininfo extends plugin implements plugin_with_buttons, plugin_with_menuitems, plugin_with_configuration { /** * Get a list of the buttons provided by this plugin. * * @return string[] */ public static function get_available_buttons(): array { return [ 'tiny_link/tiny_link_link', 'tiny_link/tiny_link_unlink', ]; } /** * Get a list of the menu items provided by this plugin. * * @return string[] */ public static function get_available_menuitems(): array { return [ 'tiny_link/tiny_link_link', ]; } /** * Get a list of the menu items provided by this plugin. * * @param context $context The context that the editor is used within * @param array $options The options passed in when requesting the editor * @param array $fpoptions The filepicker options passed in when requesting the editor * @param editor $editor The editor instance in which the plugin is initialised * @return array */ public static function get_plugin_configuration_for_context( context $context, array $options, array $fpoptions, ?editor $editor = null ): array { // TODO Fetch the actual permissions. $permissions['filepicker'] = true; return [ 'permissions' => $permissions, ]; } }