/**
  * Process GET and POST requests
  *
  * Related Action Hooks:
  * - add_admin_bar_menus
  *
  * @since  1.0.0
  */
 public function admin_bar_manager()
 {
     $redirect = false;
     lib3()->array->equip_get('membership_id');
     if ($this->verify_nonce('ms_simulate', 'any')) {
         /*
          * Check for memberhship id simulation GET request.
          * - Any valid Membership_id will simulate that membership.
          * - An ID of "0" will exit simulation mode.
          */
         $new_id = absint($_REQUEST['membership_id']);
         if ($new_id != $this->simulate->membership_id) {
             // Change the simulated membership.
             $this->simulate->membership_id = $new_id;
             $target = wp_get_referer();
             if ($this->simulate->is_simulating() && false !== strpos($target, 'wp-admin')) {
                 $redirect = admin_url();
             }
         }
         if (!empty($_POST['simulate_date'])) {
             // Change the simulation date.
             $this->simulate->date = $_POST['simulate_date'];
         }
         $this->simulate->save();
         if (!$redirect) {
             if (!empty($_GET['redirect_to'])) {
                 $redirect = $_GET['redirect_to'];
             } else {
                 $redirect = wp_get_referer();
             }
         }
         if (!$redirect) {
             $redirect = lib3()->net->current_url();
         }
     }
     if ($redirect) {
         wp_safe_redirect($redirect);
         exit;
     }
 }