So I found an interesting bug in Membership.

So I found an interesting bug in Membership. This I have to imagine is a very unique bug.
My theme has its own 2 user roles that it uses to differentiate functions from freelancers and consumers.

I use the membership plugin to manage the subscriptions and also to show only the appropriate role based content.

My theme needed membership to pass the role to the theme upon registration because the theme itself has its own registration form that assigned those 2 specific roles (service_provider and business_owner). Once people chose a subscription from membership it redirected them to a page where they had to confirm the user role to be passed to the theme.

In order to accomplish this I used some of your shortcodes in that php file that handled passing the user role:

<?php
if(!is_user_logged_in()) { wp_redirect(get_bloginfo('siteurl')."/wp-login.php"); exit; }
//-----------

	//----------

	global $wpdb,$wp_rewrite,$wp_query;

//---------------------------------

	global $current_user;
	get_currentuserinfo();
	$uid = $current_user->ID;

	if(isset($_POST['submit']))
	{

		update_user_meta($uid, 'user_tp', $_POST['user_tp']);		

		$user = new WP_User($uid);
		$user->set_role($_POST['user_tp']);

		wp_redirect(get_permalink(get_option('ProjectTheme_my_account_payments_id')));
		exit;
	}

//==========================

get_header();

?>
<div class="clear10"></div>

			<div class="my_box3">
            	<div class="padd10">

            	<div class="box_title"><?php  printf(__("Confirm Your Account Type",'ProjectTheme')); ?></div>
                <div class="box_content">
               <?php

			   printf(__("Confirm Your Account Type",'ProjectTheme'));

			   ?> 

                <div class="clear10"></div>

               <form method="post" > 

               <?php if (current_user_on_subscription(6)): ?>
               <input type="radio" class="do_input" name="user_tp" id="user_tp" value="service_provider" /> <?php _e('VIP Business', 'ProjectTheme'); ?><br/>
			   <?php elseif (current_user_on_subscription(5)): ?>
			   <input type="radio" class="do_input" name="user_tp" id="user_tp" value="basic_business" /> <?php _e('Basic Business','ProjectTheme'); ?><br/>
			   <?php elseif (current_user_on_subscription(4)): ?>
               <input type="radio" class="do_input" name="user_tp" id="user_tp" value="business_owner" /> <?php _e('Consumer','ProjectTheme'); ?><br/>
                <br/>
                <?php endif; ?>
                <input type="submit" value="Confirm" name="submit" />

               </form>
    </div>
			</div>
			</div>

        <div class="clear100"></div>

<?php

get_footer();

?>

that works perfectly, but only if i use the membership plugin pop registration option. If i do not and I instead use the registration page, Memebrship does not pass the sub user role chosen to this file for the user to confirm, and instead of the user being able to click a radio and confirm, the radio and subscription text are missing and only the confirm button is showing. This is due to membership NOT passing the sub id to this page when the reg page is used instead of the popup.

I can live with the popup but would rather not, as it is the ONLY one on my site, i despise popups and squeeze pages as do 99% of the people who use the internet.

Just thought id bring this bug to your attention.

Lines 49-61 contain the relevant form and shortcodes.