
|
Server : Apache System : Linux 182.49.167.72.host.secureserver.net 4.18.0-553.92.1.el8_10.x86_64 #1 SMP Wed Jan 14 06:31:58 EST 2026 x86_64 User : kikai ( 1014) PHP Version : 8.3.30 Disable Function : NONE Directory : /home/kikai/public_html/wp-content/plugins/duplicator/src/Ajax/ |
Upload File : |
<?php
/**
* @package Duplicator
* @copyright (c) 2022, Snap Creek LLC
*/
namespace Duplicator\Ajax;
use Duplicator\Ajax\AjaxWrapper;
use Duplicator\Utils\ExtraPlugins\ExtraPluginsMng;
class ServicesExtraPlugins extends AbstractAjaxService
{
/**
* Init ajax calls
*
* @return void
*/
public function init()
{
$this->addAjaxCall('wp_ajax_duplicator_install_extra_plugin', 'extraPluginInstall');
}
/**
* Install and activate or just activate plugin
*
* @return string
*/
public static function extraPluginInstallCallback()
{
$slug = filter_input(INPUT_POST, 'plugin', FILTER_SANITIZE_STRING);
$message = '';
if (!ExtraPluginsMng::getInstance()->install($slug, $message)) {
throw new \Exception($message);
}
return $message;
}
/**
* Addon plugin install action callback
*
* @return void
*/
public function extraPluginInstall()
{
AjaxWrapper::json(
array(__CLASS__, 'extraPluginInstallCallback'),
'duplicator_install_extra_plugin',
$_POST['nonce'],
'install_plugins'
);
}
}