403Webshell
Server IP : 162.253.224.18  /  Your IP : 216.73.217.81
Web Server : Apache
System : Linux s18.infinitysrv.com 3.10.0-962.3.2.lve1.5.89.el7.x86_64 #1 SMP Thu Jul 9 15:55:31 UTC 2026 x86_64
User : dejavumk ( 1184)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/dejavumk/perbec.com/wp-content/plugins/duplicator-pro/ctrls/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/dejavumk/perbec.com/wp-content/plugins/duplicator-pro/ctrls/class.web.services.recovery.php
<?php
defined("ABSPATH") or die("");

class DUP_PRO_Web_Services_recovery extends DUP_PRO_Web_Services
{

    public function init()
    {
        $this->add_class_action('wp_ajax_duplicator_pro_get_recovery_widget', 'get_widget');
        $this->add_class_action('wp_ajax_duplicator_pro_set_recovery', 'set_recovery');
        $this->add_class_action('wp_ajax_duplicator_pro_reset_recovery', 'reset_recovery');
    }

    protected static function getRecoveryDetailsOptions($fromPageTab)
    {
        switch ($fromPageTab) {
            case 'duplicator-pro_page_duplicator-pro-tools_recovery':
            case 'duplicator-pro_page_duplicator-pro-tools-network_recovery':
                $detailsOptions = array(
                    'selector'   => true,
                    'copyLink'   => true,
                    'copyButton' => true,
                    'launch'     => true,
                    'download'   => false,
                    'info'       => true
                );
                break;
            case 'duplicator-pro_page_duplicator-pro-import':
            case 'duplicator-pro_page_duplicator-pro-import-network':
                $detailsOptions = array(
                    'selector'   => true,
                    'launch'     => false,
                    'download'   => false,
                    'copyLink'   => true,
                    'copyButton' => true,
                    'info'       => true
                );
                break;
            default:
                $detailsOptions = array();
        }

        return $detailsOptions;
    }

    public static function set_recovery_callback()
    {
        if (DUP_PRO_CTRL_recovery::actionSetRecoveryPoint() === false) {
            throw new Exception(DUP_PRO_CTRL_recovery::getErrorMessage());
        }

        $recoverPackage = DUP_PRO_Package_Recover::getRecoverPackage();
        if (!$recoverPackage instanceof DUP_PRO_Package_Recover) {
            throw new Exception(DUP_PRO_U::esc_html__('Can\'t get recover package'));
        }

        $fromPageTab    = filter_input(INPUT_POST, 'fromPageTab', FILTER_SANITIZE_STRING, array('options' => array('default' => false)));
        $detailsOptions = self::getRecoveryDetailsOptions($fromPageTab);

        switch ($fromPageTab) {
            case 'duplicator-pro_page_duplicator-pro-tools_recovery':
            case 'duplicator-pro_page_duplicator-pro-tools-network_recovery':
                $subtitle = DUP_PRO_U::__('Copy the link and keep it in case of need.');
                break;
            case 'duplicator-pro_page_duplicator-pro-import':
            case 'duplicator-pro_page_duplicator-pro-import-network':
                $subtitle = DUP_PRO_U::__('Copy the link and keep it in case of need.');
                break;
            default:
                $subtitle = DUP_PRO_U::__('Copy the link and keep it in case of need.');
                $subtitle .= ' '.sprintf(DUP_PRO_U::__('For full details see <a href="%s">[Recovery Point]</a> settings.'), esc_url(DUP_PRO_CTRL_recovery::getRecoverPageLink()));
        }

        $result = array(
            'id'             => $recoverPackage->getPackageId(),
            'name'           => $recoverPackage->getPackageName(),
            'recoveryLink'   => $recoverPackage->getInstallLink(),
            'adminMessage'   => DUP_PRO_CTRL_recovery::renderRecoveryWidged(array(
                'selector'   => false,
                'subtitle'   => $subtitle,
                'copyLink'   => false,
                'copyButton' => false,
                'launch'     => false,
                'download'   => false,
                'info'       => false
                ), false),
            'packageDetails' => DUP_PRO_CTRL_recovery::renderRecoveryWidged($detailsOptions, false)
        );

        return $result;
    }

    public function set_recovery()
    {
        self::ajax_json_wrapper(array(__CLASS__, 'set_recovery_callback'), 'duplicator_pro_set_recovery', $_POST['nonce'], 'export');
    }

    public static function get_widget_callback()
    {
        $fromPageTab    = filter_input(INPUT_POST, 'fromPageTab', FILTER_SANITIZE_STRING, array('options' => array('default' => false)));
        $detailsOptions = self::getRecoveryDetailsOptions($fromPageTab);

        return array(
            'widget' => DUP_PRO_CTRL_recovery::renderRecoveryWidged($detailsOptions, false)
        );
    }

    public function get_widget()
    {
        self::ajax_json_wrapper(array(__CLASS__, 'get_widget_callback'), 'duplicator_pro_get_recovery_widget', $_POST['nonce'], 'export');
    }

    public static function reset_recovery_callback()
    {
        if (DUP_PRO_CTRL_recovery::actionResetRecoveryPoint() === false) {
            throw new Exception(DUP_PRO_CTRL_recovery::getErrorMessage());
        }

        $fromPageTab    = filter_input(INPUT_POST, 'fromPageTab', FILTER_SANITIZE_STRING, array('options' => array('default' => false)));
        $detailsOptions = self::getRecoveryDetailsOptions($fromPageTab);

        $result = array(
            'adminMessage'   => DUP_PRO_CTRL_recovery::renderRecoveryWidged(array(), false),
            'packageDetails' => DUP_PRO_CTRL_recovery::renderRecoveryWidged($detailsOptions, false)
        );

        return $result;
    }

    public function reset_recovery()
    {
        self::ajax_json_wrapper(array(__CLASS__, 'reset_recovery_callback'), 'duplicator_pro_reset_recovery', $_POST['nonce'], 'export');
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit