mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-05-29 18:55:53 -04:00
- Add getConfigViewData() to BasePlugin.php - Add function to plugin interface Signed-off-by: objec <objecttothis@gmail.com>
64 lines
1.7 KiB
PHP
64 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Libraries\Plugins;
|
|
|
|
interface PluginInterface
|
|
{
|
|
public function getPluginId(): string;
|
|
|
|
public function getPluginName(): string;
|
|
|
|
public function getPluginDescription(): string;
|
|
|
|
public function getVersion(): string;
|
|
|
|
/**
|
|
* Register event listeners for this plugin.
|
|
*
|
|
* Use Events::on() to register callbacks for OSPOS events.
|
|
* This method is called when the plugin is loaded and enabled.
|
|
*
|
|
* Example:
|
|
* Events::on('item_sale', [$this, 'onItemSale']);
|
|
* Events::on('item_change', [$this, 'onItemChange']);
|
|
*/
|
|
public function registerEvents(): void;
|
|
|
|
/**
|
|
* Install the plugin.
|
|
*
|
|
* Called when the plugin is first enabled. Use this to create database tables,
|
|
* set default configuration values, and run any setup required.
|
|
*/
|
|
public function install(): bool;
|
|
|
|
/**
|
|
* Uninstall the plugin.
|
|
*
|
|
* Called when the plugin is being removed. Use this to remove database tables,
|
|
* clean up configuration, etc.
|
|
*/
|
|
public function uninstall(): bool;
|
|
|
|
public function isEnabled(): bool;
|
|
|
|
/**
|
|
* Get the path to the plugin's configuration view file.
|
|
* Returns null if the plugin has no configuration UI.
|
|
*
|
|
* Example: 'Plugins/mailchimp/config'
|
|
*/
|
|
public function getConfigView(): ?string;
|
|
|
|
public function getSettings(): array;
|
|
|
|
public function saveSettings(array $settings): bool;
|
|
|
|
/**
|
|
* Return extra data merged into the config view alongside $settings and $plugin.
|
|
* Override in a plugin to pass view-only data (e.g. dropdown option lists) without
|
|
* polluting getSettings() with non-persisted values.
|
|
*/
|
|
public function getConfigViewData(): array;
|
|
}
|