Phase 6: WebP image conversion - Converter for Media plugin with Nginx rewrite rules

This commit is contained in:
Hanson.xyz Dev
2025-11-28 17:16:24 -06:00
parent 91de533da4
commit 78a744ef06
260 changed files with 21138 additions and 5 deletions
@@ -0,0 +1,55 @@
<?php
namespace WebpConverterVendor\MattPlugins\DeactivationModal\Service;
use WebpConverterVendor\MattPlugins\DeactivationModal\Hookable;
use WebpConverterVendor\MattPlugins\DeactivationModal\Modal;
/**
* Prints the needed contents of CSS and JS files on the plugin list page.
*/
class AssetsPrinterService implements Hookable
{
const PLUGIN_NAME_VARIABLE = '{__PLUGIN_SLUG__}';
/**
* @var string
*/
private $plugin_slug;
public function __construct(string $plugin_slug)
{
$this->plugin_slug = $plugin_slug;
}
/**
* {@inheritdoc}
*/
public function hooks()
{
add_action('admin_print_styles-plugins.php', [$this, 'load_styles']);
add_action('admin_print_footer_scripts-plugins.php', [$this, 'load_scripts']);
}
public function load_styles()
{
?>
<style id="deactivation-modal-css_<?php
echo esc_attr($this->plugin_slug);
?>">
<?php
$plugin_slug = $this->plugin_slug;
include_once Modal::MODAL_ASSETS_PATH_CSS;
?>
</style>
<?php
}
public function load_scripts()
{
?>
<script id="deactivation-modal-js_<?php
echo esc_attr($this->plugin_slug);
?>">
<?php
$plugin_slug = $this->plugin_slug;
include_once Modal::MODAL_ASSETS_PATH_JS;
?>
</script>
<?php
}
}
@@ -0,0 +1,52 @@
<?php
namespace WebpConverterVendor\MattPlugins\DeactivationModal\Service;
use WebpConverterVendor\MattPlugins\DeactivationModal\Hookable;
use WebpConverterVendor\MattPlugins\DeactivationModal\Modal;
use WebpConverterVendor\MattPlugins\DeactivationModal\Model\FormOptions;
use WebpConverterVendor\MattPlugins\DeactivationModal\Model\FormTemplate;
use WebpConverterVendor\MattPlugins\DeactivationModal\Model\FormValues;
/**
* Prints the deactivation modal template on the plugin list page.
*/
class TemplateGeneratorService implements Hookable
{
/**
* @var string
*/
private $plugin_slug;
/**
* @var FormTemplate
*/
private $form_template;
/**
* @var FormOptions
*/
private $form_options;
/**
* @var FormValues
*/
private $form_values;
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;
}
/**
* {@inheritdoc}
*/
public function hooks()
{
add_action('admin_print_footer_scripts-plugins.php', [$this, 'load_template'], 0);
}
public function load_template()
{
$params = ['plugin_slug' => $this->plugin_slug, 'form_template' => $this->form_template, 'form_options' => $this->form_options, 'form_values' => $this->form_values];
\extract($params);
// phpcs:ignore WordPress.PHP.DontExtract.extract_extract
require_once Modal::MODAL_TEMPLATE_PATH;
}
}