Submit
Path:
~
/
home
/
b
/
f
/
x
/
bfxleof
/
www
/
wp-content
/
plugins
/
duplicator
/
ctrls
/
File Content:
class.web.services.php
<?php defined('ABSPATH') || defined('DUPXABSPATH') || exit; class DUP_Web_Services { /** * init ajax actions */ public static function init() { add_action('wp_ajax_duplicator_reset_all_settings', array(__CLASS__, 'ajax_reset_all')); add_action('wp_ajax_duplicator_set_admin_notice_viewed', array(__CLASS__, 'set_admin_notice_viewed')); add_action('wp_ajax_duplicator_admin_notice_to_dismiss', array(__CLASS__, 'admin_notice_to_dismiss')); add_action('wp_ajax_duplicator_download_installer', array(__CLASS__, 'duplicator_download_installer')); } /** * * @param DUP_Package $package */ public static function package_delete_callback($package) { $package->delete(); } /** * reset all ajax action * * the output must be json */ public static function ajax_reset_all() { ob_start(); try { DUP_Handler::init_error_handler(); if (!check_ajax_referer('duplicator_reset_all_settings', 'nonce', false)) { DUP_LOG::Trace('Security issue'); throw new Exception('Security issue'); } DUP_Util::hasCapability('export', DUP_Util::SECURE_ISSUE_THROW); /** Execute function * */ $error = false; $result = array( 'data' => array(), 'html' => '', 'message' => '' ); DUP_Package::by_status_callback(array(__CLASS__, 'package_delete_callback'), array( array('op' => '<', 'status' => DUP_PackageStatus::COMPLETE) )); /** reset active package id * */ DUP_Settings::Set('active_package_id', -1); DUP_Settings::Save(); /** Clean tmp folder * */ DUP_Package::not_active_files_tmp_cleanup(); //throw new Exception('force error test'); } catch (Exception $e) { $error = true; $result['message'] = $e->getMessage(); } /** Intercept output * */ $result['html'] = ob_get_clean(); /** check error and return json * */ if ($error) { wp_send_json_error($result); } else { wp_send_json_success($result); } } public static function duplicator_download_installer() { check_ajax_referer('duplicator_download_installer', 'nonce'); $isValid = true; $inputData = filter_input_array(INPUT_GET, array( 'id' => array( 'filter' => FILTER_VALIDATE_INT, 'flags' => FILTER_REQUIRE_SCALAR, 'options' => array( 'default' => false ) ), 'hash' => array( 'filter' => FILTER_SANITIZE_STRING, 'flags' => FILTER_REQUIRE_SCALAR, 'options' => array( 'default' => false ) ) )); $packageId = $inputData['id']; $hash = $inputData['hash']; if (!$packageId || !$hash) { $isValid = false; } try { DUP_Util::hasCapability('export', DUP_Util::SECURE_ISSUE_THROW); if (!$isValid) { throw new Exception(__("Invalid request")); } if (($package = DUP_Package::getByID($packageId)) == null) { throw new Exception(__("Invalid request.")); } if ($hash !== $package->Hash) { throw new Exception(__("Invalid request.")); } $fileName = $package->getInstDownloadName(); $filepath = DUP_Settings::getSsdirPath().'/'.$package->Installer->File; // Process download if (!file_exists($filepath)) { throw new Exception(__("Invalid request.")); } // Clean output buffer if (ob_get_level() !== 0 && @ob_end_clean() === FALSE) { @ob_clean(); } header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$fileName.'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: '.filesize($filepath)); flush(); // Flush system output buffer try { $fp = @fopen($filepath, 'r'); if (false === $fp) { throw new Exception('Fail to open the file '.$filepath); } while (!feof($fp) && ($data = fread($fp, DUPLICATOR_BUFFER_READ_WRITE_SIZE)) !== FALSE) { echo $data; } @fclose($fp); } catch (Exception $e) { readfile($filepath); } exit; } catch (Exception $ex) { //Prevent brute force sleep(2); wp_die($ex->getMessage()); } } public static function set_admin_notice_viewed() { DUP_Handler::init_error_handler(); try{ DUP_Util::hasCapability('export', DUP_Util::SECURE_ISSUE_THROW); if (!wp_verify_nonce($_REQUEST['nonce'], 'duplicator_set_admin_notice_viewed')) { DUP_Log::trace(__('Security issue', 'duplicator')); throw new Exception('Security issue'); } $notice_id = DupLiteSnapLibUtil::filterInputRequest('notice_id', FILTER_SANITIZE_STRING); if (empty($notice_id)) { throw new Exception(__('Invalid Request', 'duplicator')); } $notices = get_user_meta(get_current_user_id(), DUPLICATOR_ADMIN_NOTICES_USER_META_KEY, true); if (empty($notices)) { $notices = array(); } if (!isset($notices[$notice_id])) { throw new Exception(__("Notice with that ID doesn't exist.", 'duplicator')); } $notices[$notice_id] = 'true'; update_user_meta(get_current_user_id(), DUPLICATOR_ADMIN_NOTICES_USER_META_KEY, $notices); } catch (Exception $ex) { wp_die($ex->getMessage()); } } public static function admin_notice_to_dismiss() { try { DUP_Util::hasCapability('export', DUP_Util::SECURE_ISSUE_THROW); $nonce = filter_input(INPUT_POST, 'nonce', FILTER_SANITIZE_STRING); if (!wp_verify_nonce($nonce, 'duplicator_admin_notice_to_dismiss')) { DUP_Log::trace('Security issue'); throw new Exception('Security issue'); } $noticeToDismiss = filter_input(INPUT_POST, 'notice', FILTER_SANITIZE_STRING); switch ($noticeToDismiss) { case DUP_UI_Notice::OPTION_KEY_ACTIVATE_PLUGINS_AFTER_INSTALL: case DUP_UI_Notice::OPTION_KEY_NEW_NOTICE_TEMPLATE: delete_option($noticeToDismiss); break; case DUP_UI_Notice::OPTION_KEY_IS_PRO_ENABLE_NOTICE_DISMISSED: case DUP_UI_Notice::OPTION_KEY_IS_MU_NOTICE_DISMISSED: update_option($noticeToDismiss, true); break; default: throw new Exception('Notice invalid'); } } catch (Exception $e) { wp_send_json_error($e->getMessage()); } wp_send_json_success(); } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
.DS_Store
10234 bytes
0644
20200616130143_ReplacePermalinkHashIndex.php
2293 bytes
0644
DownloadConfController.php
945 bytes
0644
JsonSerializable.php
577 bytes
0644
LimitStream-20260707162816.php
4209 bytes
0644
LimitStream.php
4209 bytes
0644
README.md
2555 bytes
0644
Revisions.php
6508 bytes
0644
class-admin-utils-20260623161956.php
2147 bytes
0644
class-admin-utils.php
2147 bytes
0644
class-collector-20260707073754.php
984 bytes
0644
class-collector.php
984 bytes
0644
class-helpscout.php
6972 bytes
0644
class-metabox-formatter.php
12602 bytes
0644
class-option-tabs-formatter-20260704171040.php
2321 bytes
0644
class-option-tabs-formatter.php
2321 bytes
0644
class-premium-upsell-admin-block.php
3631 bytes
0644
class-sitemaps-admin-20260703023908.php
3665 bytes
0644
class-sitemaps-admin.php
3665 bytes
0644
class-tracking-server-data-20260706064343-20260707003656.php
1989 bytes
0644
class-tracking-server-data-20260706064343.php
1989 bytes
0644
class-tracking-server-data.php
1989 bytes
0644
class-wpseo-statistics.php
1443 bytes
0644
class-yoast-notification-center.php
23601 bytes
0644
class-yoast-plugin-conflict.php
10390 bytes
0644
class.archive.config.php
1364 bytes
0644
class.pack.database-20260705133709.php
30838 bytes
0644
class.pack.database.php
30838 bytes
0644
class.password.php
6377 bytes
0644
class.snaplib.u.net.php
1831 bytes
0644
class.u.shell.php
1322 bytes
0644
class.web.services-20260622005117-20260622034908.php
7748 bytes
0644
class.web.services-20260622005117.php
7748 bytes
0644
class.web.services.php
7748 bytes
0644
controller.php
2441 bytes
0644
ctrl.base-20260622091235.php
3869 bytes
0644
ctrl.package-20260622170118.php
17073 bytes
0644
ctrl.package.php
17073 bytes
0644
ctrl.tools-20260622110042.php
4388 bytes
0644
ctrl.ui-20260622095049.php
5346 bytes
0644
dashboard-1650-rtl.css
1634 bytes
0644
deactivation.php
21118 bytes
0644
define.php
4567 bytes
0644
duplicator-20260622023227-20260703062123.php
1781 bytes
0644
duplicator-20260622023227.php
1781 bytes
0644
duplicator-20260622115142.php
1781 bytes
0644
duplicator-main-20260623075307.php
26907 bytes
0644
duplicator-main.php
26907 bytes
0644
duplicator.php
1781 bytes
0644
elFinderPlugin.php
3331 bytes
0644
elFinderSession.php
8764 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260705194237.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260706065050.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class.php
48544 bytes
0644
exceptions.php
708 bytes
0644
flexible-widget.php
11167 bytes
0644
helper.php
6192 bytes
0644
image-helper-20260704124927.php
10231 bytes
0644
image-helper.php
10231 bytes
0644
inc.validator.php
5401 bytes
0644
index.php
157663 bytes
0644
javascript.php
11782 bytes
0644
loco-20260622141322.php
5626 bytes
0644
loco.php
5626 bytes
0644
loco.xml
657 bytes
0644
manager-20260705035639.php
14659 bytes
0644
manager.php
14659 bytes
0644
meta-fields-presenter.php
1600 bytes
0644
module-20260705180729-20260707003540.php
1297 bytes
0644
module-20260705180729.php
1297 bytes
0644
module.php
1297 bytes
0644
quick-edit-handler-1650.js
1848 bytes
0644
recovery.php
1146 bytes
0644
root.php
1951 bytes
0644
setup.php
2699 bytes
0644
social.php
725 bytes
0644
uninstall-20260622162039.php
4401 bytes
0644
uninstall.php
4401 bytes
0644
wordpress-seo-es_ES-20260708002629.json
25583 bytes
0644
wordpress-seo-es_ES.json
25583 bytes
0644
wordpress-seojs-ar.json
25925 bytes
0644
wordpress-seojs-bs_BA.json
13790 bytes
0644
wordpress-seojs-es_ES.json
20568 bytes
0644
wordpress-seojs-fi.json
19387 bytes
0644
wordpress-seojs-ja.json
21424 bytes
0644
wordpress-seojs-uk.json
26506 bytes
0644
N4ST4R_ID | Naxtarrr