<?php declare(strict_types=1); use Modules\Plugins\Core\Plugins; if (! function_exists('plugins')) { function plugins(): Plugins { return service('plugins'); } } if (! function_exists('get_plugin_option')) { /** * @param ?array{'podcast'|'episode',int} $additionalContext */ function get_plugin_option(string $pluginKey, string $option, array $additionalContext = null): mixed { $key = sprintf('Plugins.%s', $option); $context = sprintf('plugin:%s', $pluginKey); if ($additionalContext !== null) { $context .= sprintf('+%s:%d', ...$additionalContext); } return setting()->get($key, $context); } } if (! function_exists('set_plugin_option')) { /** * @param ?array{'podcast'|'episode',int} $additionalContext */ function set_plugin_option( string $pluginKey, string $option, mixed $value = null, array $additionalContext = null ): void { $key = sprintf('Plugins.%s', $option); $context = sprintf('plugin:%s', $pluginKey); if ($additionalContext !== null) { $context .= sprintf('+%s:%d', ...$additionalContext); } setting() ->set($key, $value, $context); } }