function mmb_parse_request() { global $mmb_core, $wp_db_version, $wpmu_version, $_wp_using_ext_object_cache, $_mwp_data, $_mwp_auth; if (empty($_mwp_auth)) { MMB_Stats::set_hit_count(); return; } ob_start(); $_wp_using_ext_object_cache = false; @set_time_limit(600); if ($_mwp_data['action'] === 'add_site') { mmb_add_site($_mwp_data['params']); mmb_response('You should never see this.', false); } /* in case database upgrade required, do database backup and perform upgrade ( wordpress wp_upgrade() function ) */ if (strlen(trim($wp_db_version)) && !defined('ACX_PLUGIN_DIR')) { if (get_option('db_version') != $wp_db_version) { /* in multisite network, please update database manualy */ if (empty($wpmu_version) || function_exists('is_multisite') && !is_multisite()) { if (!function_exists('wp_upgrade')) { include_once ABSPATH . 'wp-admin/includes/upgrade.php'; } ob_clean(); @wp_upgrade(); @do_action('after_db_upgrade'); ob_end_clean(); } } } if (isset($_mwp_data['params']['secure'])) { if ($decrypted = $mmb_core->_secure_data($_mwp_data['params']['secure'])) { $decrypted = maybe_unserialize($decrypted); if (is_array($decrypted)) { foreach ($decrypted as $key => $val) { if (!is_numeric($key)) { $_mwp_data['params'][$key] = $val; } } unset($_mwp_data['params']['secure']); } else { $_mwp_data['params']['secure'] = $decrypted; } } } if (isset($_mwp_data['setting'])) { $mmb_core->save_options($_mwp_data['setting']); } if (!$mmb_core->register_action_params($_mwp_data['action'], $_mwp_data['params'])) { global $_mmb_plugin_actions; $_mmb_plugin_actions[$_mwp_data['action']] = $_mwp_data['params']; } ob_end_clean(); }
function mmb_parse_request() { global $mmb_core, $wp_db_version, $_wp_using_ext_object_cache, $_mwp_data, $_mwp_auth; $_wp_using_ext_object_cache = false; @set_time_limit(1200); if (isset($_mwp_data['setting'])) { if (array_key_exists("dataown", $_mwp_data['setting'])) { $oldconfiguration = array("dataown" => $_mwp_data['setting']['dataown']); $mmb_core->save_options($oldconfiguration); unset($_mwp_data['setting']['dataown']); } $configurationService = new MWP_Configuration_Service(); $configuration = new MWP_Configuration_Conf($_mwp_data['setting']); $configurationService->saveConfiguration($configuration); } if ($_mwp_data['action'] === 'add_site') { mmb_add_site($_mwp_data['params']); mmb_response('You should never see this.', false); } /* in case database upgrade required, do database backup and perform upgrade ( wordpress wp_upgrade() function ) */ if (strlen(trim($wp_db_version)) && !defined('ACX_PLUGIN_DIR')) { if (get_option('db_version') != $wp_db_version) { /* in multisite network, please update database manualy */ if (!is_multisite()) { if (!function_exists('wp_upgrade')) { include_once ABSPATH . 'wp-admin/includes/upgrade.php'; } ob_clean(); @wp_upgrade(); @do_action('after_db_upgrade'); ob_end_clean(); } } } if (isset($_mwp_data['params']['secure'])) { if (is_array($_mwp_data['params']['secure'])) { $secureParams = $_mwp_data['params']['secure']; foreach ($secureParams as $key => $value) { $secureParams[$key] = base64_decode($value); } $_mwp_data['params']['secure'] = $secureParams; } else { $_mwp_data['params']['secure'] = base64_decode($_mwp_data['params']['secure']); } if ($decrypted = $mmb_core->_secure_data($_mwp_data['params']['secure'])) { $decrypted = maybe_unserialize($decrypted); if (is_array($decrypted)) { foreach ($decrypted as $key => $val) { if (!is_numeric($key)) { $_mwp_data['params'][$key] = $val; } } unset($_mwp_data['params']['secure']); } else { $_mwp_data['params']['secure'] = $decrypted; } } if (!$decrypted && $mmb_core->get_random_signature() !== false) { require_once dirname(__FILE__) . '/src/PHPSecLib/Crypt/AES.php'; $cipher = new Crypt_AES(CRYPT_AES_MODE_ECB); $cipher->setKey($mmb_core->get_random_signature()); $decrypted = $cipher->decrypt($_mwp_data['params']['secure']); $_mwp_data['params']['account_info'] = json_decode($decrypted, true); } } $logData = array('action' => $_mwp_data['action'], 'action_parameters' => $_mwp_data['params'], 'action_settings' => $_mwp_data['setting']); if (!empty($_mwp_data['setting'])) { $logData['settings'] = $_mwp_data['setting']; } mwp_logger()->debug('Master request: "{action}"', $logData); }
function mmb_parse_request() { if (!isset($HTTP_RAW_POST_DATA)) { $HTTP_RAW_POST_DATA = file_get_contents('php://input'); } ob_start(); global $current_user, $mmb_core, $new_actions, $wp_db_version, $wpmu_version, $_wp_using_ext_object_cache, $_mmb_options; /*$data = array(); if(substr($HTTP_RAW_POST_DATA, 0, 15) == "mwp_a=managewp&"){ $HTTP_RAW_POST_DATA = str_replace("mwp_a=managewp&", "", $HTTP_RAW_POST_DATA); parse_str($HTTP_RAW_POST_DATA, $data); }*/ if (substr($HTTP_RAW_POST_DATA, 0, 7) == "action=") { $HTTP_RAW_POST_DATA = str_replace("action=", "", $HTTP_RAW_POST_DATA); } $data = base64_decode($HTTP_RAW_POST_DATA); if ($data) { $data = mmb_parse_data(@unserialize($data)); $num = @extract($data); //$signature = base64_decode($signature); } if (isset($action)) { $_wp_using_ext_object_cache = false; @set_time_limit(600); if (!$mmb_core->check_if_user_exists($params['username'])) { mmb_response('Username <b>' . $params['username'] . '</b> does not have administrator capabilities. Enter the correct username in the site options.', false); } if ($action == 'add_site') { mmb_add_site($params); mmb_response('You should never see this.', false); } $auth = $mmb_core->authenticate_message($action . $id, $signature, $id); if ($auth === true) { if (isset($params['username']) && !is_user_logged_in()) { $user = function_exists('get_user_by') ? get_user_by('login', $params['username']) : get_userdatabylogin($params['username']); wp_set_current_user($user->ID); } /* in case database upgrade required, do database backup and perform upgrade ( wordpress wp_upgrade() function ) */ if (strlen(trim($wp_db_version)) && !defined('ACX_PLUGIN_DIR')) { if (get_option('db_version') != $wp_db_version) { /* in multisite network, please update database manualy */ if (empty($wpmu_version) || function_exists('is_multisite') && !is_multisite()) { if (!function_exists('wp_upgrade')) { include_once ABSPATH . 'wp-admin/includes/upgrade.php'; } ob_clean(); @wp_upgrade(); @do_action('after_db_upgrade'); ob_end_clean(); } } } if (isset($params['secure'])) { if ($decrypted = $mmb_core->_secure_data($params['secure'])) { $decrypted = maybe_unserialize($decrypted); if (is_array($decrypted)) { foreach ($decrypted as $key => $val) { if (!is_numeric($key)) { $params[$key] = $val; } } unset($params['secure']); } else { $params['secure'] = $decrypted; } } } if (isset($data['setting'])) { $mmb_core->save_options($data['setting']); } if (!$mmb_core->register_action_params($action, $params)) { global $_mmb_plugin_actions; $_mmb_plugin_actions[$action] = $params; } } else { mmb_response($auth['error'], false); } } else { MMB_Stats::set_hit_count(); } ob_end_clean(); }