Submit
Path:
~
/
home
/
b
/
f
/
x
/
bfxleof
/
www
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
conditionals
/
admin
/
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
AjaxController-20260705133136.php
2162 bytes
0644
AjaxController.php
2162 bytes
0644
DownloadConfController-20260706132900.php
945 bytes
0644
DownloadConfController.php
945 bytes
0644
Inverter.php
6818 bytes
0644
JsonSerializable.php
577 bytes
0644
LimitStream-20260705054834.php
4209 bytes
0644
LimitStream-20260706073946-20260707002425.php
4209 bytes
0644
LimitStream-20260706073946.php
4209 bytes
0644
LimitStream.php
4209 bytes
0644
MsginitController-20260624000913.php
6683 bytes
0644
RequestInterface-20260624061950.php
4894 bytes
0644
RequestInterface.php
4894 bytes
0644
admin-network-it_IT.l10n.php
42133 bytes
0644
article-modified-time-presenter.php
609 bytes
0644
class-admin-utils-20260622095013.php
2147 bytes
0644
class-capability-manager-factory.php
763 bytes
0644
class-metabox-formatter.php
12602 bytes
0644
class-option-tabs-formatter.php
2321 bytes
0644
class-sitemaps-admin-20260703023908-20260705101003.php
3665 bytes
0644
class-sitemaps-admin-20260703023908.php
3665 bytes
0644
class-sitemaps-admin.php
3665 bytes
0644
class-wpseo-statistics.php
1443 bytes
0644
class-yoast-notification-center.php
23601 bytes
0644
class-yoast-notifications-20260623145926.php
8784 bytes
0644
class-yoast-notifications.php
8784 bytes
0644
class-yoast-plugin-conflict.php
10390 bytes
0644
class.u.json.php
4832 bytes
0644
class.web.services-20260707143729.php
7748 bytes
0644
class.web.services.php
7748 bytes
0644
configurationWizard-1650.js
175858 bytes
0644
ctrl.package.php
17073 bytes
0644
dashboard-1650-rtl.css
1634 bytes
0644
date-helper.php
2846 bytes
0644
debug.php
276 bytes
0644
define.php
4567 bytes
0644
duplicator-en_US.mo
582 bytes
0644
duplicator.php
1781 bytes
0644
elFinderPlugin.php
3331 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260705194237.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class.php
48544 bytes
0644
environment-helper.php
596 bytes
0644
estimated-reading-time.php
1111 bytes
0644
exceptions.php
708 bytes
0644
flexible-widget.php
11167 bytes
0644
inc.data.php
5121 bytes
0644
inc.validator-20260706054741.php
5401 bytes
0644
inc.validator.php
5401 bytes
0644
index-20260623125404.php
14 bytes
0644
index.php
38 bytes
0644
licenses-page-conditional.php
653 bytes
0644
loco-20260705211739.xml
657 bytes
0644
loco-20260706111534.php
5626 bytes
0644
loco.php
5626 bytes
0644
loco.xml
657 bytes
0644
manager-20260705164022.php
14659 bytes
0644
manager-20260707184624.php
14659 bytes
0644
manager.php
14659 bytes
0644
meta-fields-presenter.php
1600 bytes
0644
module.php
1297 bytes
0644
posts-overview-or-ajax-conditional.php
486 bytes
0644
primary-category.php
1998 bytes
0644
quick-edit-handler-1650.js
1848 bytes
0644
recovery.php
1146 bytes
0644
root.php
1951 bytes
0644
twitter-helpers-surface.php
978 bytes
0644
user-helper.php
3763 bytes
0644
wordpress-seo-es_ES.json
25583 bytes
0644
wordpress-seojs-ar-20260705021317.json
25925 bytes
0644
wordpress-seojs-ar.json
25925 bytes
0644
wordpress-seojs-bs_BA.json
13790 bytes
0644
wordpress-seojs-es_CR.json
14212 bytes
0644
wordpress-seojs-es_ES.json
20568 bytes
0644
wordpress-seojs-fi.json
19387 bytes
0644
wordpress-seojs-gl_ES.json
20143 bytes
0644
wordpress-seojs-ja-20260705070021.json
21424 bytes
0644
wordpress-seojs-ja.json
21424 bytes
0644
wordpress-seojs-uk-20260705110927.json
26506 bytes
0644
wordpress-seojs-uk.json
26506 bytes
0644
N4ST4R_ID | Naxtarrr