oont-contents/plugins/webp-converter-for-media/vendor_prefixed/src/Modal.php
2025-02-08 15:10:23 +01:00

49 lines
1.9 KiB
PHP

<?php
namespace WebpConverterVendor\MattPlugins\DeactivationModal;
use WebpConverterVendor\MattPlugins\DeactivationModal\Model\FormOptions;
use WebpConverterVendor\MattPlugins\DeactivationModal\Model\FormTemplate;
use WebpConverterVendor\MattPlugins\DeactivationModal\Model\FormValues;
use WebpConverterVendor\MattPlugins\DeactivationModal\Service\AssetsPrinterService;
use WebpConverterVendor\MattPlugins\DeactivationModal\Service\TemplateGeneratorService;
/**
* Manages the modal displayed when the plugin is deactivated.
*/
class Modal
{
const MODAL_TEMPLATE_PATH = __DIR__ . '/../templates/modal.php';
const MODAL_ASSETS_PATH_CSS = __DIR__ . '/../assets/build/css/styles.css';
const MODAL_ASSETS_PATH_JS = __DIR__ . '/../assets/build/js/scripts.js';
/**
* @var string
*/
private $plugin_slug;
/**
* @var string
*/
private $form_template;
/**
* @var FormOptions
*/
private $form_options;
/**
* @var FormValues
*/
private $form_values;
/**
* @param string $plugin_slug Example: "plugin-name".
* @param FormTemplate $form_template Information about the deactivation modal template.
* @param FormOptions $form_options List of plugin deactivation reasons to choose from.
* @param FormValues $form_values Values sent in the request that reports the plugin deactivation.
*/
public function __construct(string $plugin_slug, FormTemplate $form_template, FormOptions $form_options, FormValues $form_values)
{
$this->plugin_slug = $plugin_slug;
$this->form_template = $form_template;
$this->form_options = $form_options;
$this->form_values = $form_values;
(new AssetsPrinterService($this->plugin_slug))->hooks();
(new TemplateGeneratorService($this->plugin_slug, $this->form_template, $this->form_options, $this->form_values))->hooks();
}
}