Example #1
0
 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();
 }
Example #2
0
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);
}
Example #3
0
File: init.php Project: juslee/e27
 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();
 }