WILL PAY !!! Need urgent modification done to Membership Premium

Hi All.... have a big question. I bought and installed Membership Premium on a WP/BP multisite, and the client now wants additional functionality, I have looked at various other options like S2Member and Wishlist Member and was happy that Membership Premium was the best for us... well now I have a real problem, as they want additional functionality.

The experts live here in this forum, so I ask the experts. I need a cost from anyone please to build the following functionality into Members. I have tried looking at using affiliates to "get closer to the goal" and even looked at (and don't laugh) geneology plugins e.g. http://wordpress.org/extend/plugins/rootspersona/ and http://wordpress.org/extend/plugins/genealogy/ hoping that somehow between the lot we could have some already half way there bits of functionality that could be incorporated.

These guys run almost like a Multi Level membership system or are now going to

Member A joins on Level 1 > he can recruit max 10 members, who each in return can return 5 members and they again 5 more up to 5 levels only. Then membership for that Group is full, groups will be limited too.

Top Guy Group A - 10 members
Generation 1 - 5 members
Generation 2 - 25 members
Generation 3 - 125 members
Generation 4 - 625 members

780 members

> i need to be able to put a commission figure in for each member....
> after member does his normal WP join up he then gets to build his downline, by emailing (Invite Anyone??) someone or selecting from existing users on site (as long as they are NOT in any other of these group already
> They can do the same
> The guys above each level will be able to see his "geneology" downtree
> Any sales sold by any member in tree via Membership Premium Subs or MarketPress will "post" their "affiliate commissions" to each in the tree's accounts (as in "virtual account")

Affiliates could do some of this, I guess (with a tweak), and to add a "tree", a bastardized geneology plugin framework could be used - in this ONE parent, 5 kids, who again have 5 kids... except the kids are all registered members after receiving an invite from a member.

AS i said, I am stuck here BIG time, I will pay for any assistance PLEASE folks. My skype is greg.mcewan.marriott


  • greg_mcewan_marriott

    in typical greg fashion, this had my mind working overtime till the early hours of the morning. The idea would be to use as much of the native functionality currently in BP/WP and membership premium and possibly that of affiliate.

    Members joins, buys say a premium membership subscription which allows him to build his "down tribe". We know each user allready has an unique ID, say in this case 2609. We know that we can set the affilate payment in membership for each level of subscription under membership >> subscription plans (image 001). What would be nice offcourse is if we could add MULTIPLE affilate payment settings (see image 001b below)

    We also know that currently, in Premium membership it can be set to allow members to create (x amount) of groups under Access levels >> Blog Creation (image 002). So we allow a premium member to create 1 group blog. In my case this would on a multisite subdomain scenario.

    OK so user 2609 signs up to Premium, he then sets up his group[blog) (under groups >> create a site) (or would be nice to autocreate this offcourse and he is redirected to a preformatted blog, requiring no extra change the menu, change the logo etc etc, anyway that is something for later.

    The group is configured to either a private or a hidden group settings being, Only users who request membership and are accepted can join the group, This group will be listed in the group directory and in search results, Group content and activity will only be visible to members of the group.

    So far so good.

    A user will go to MarketPress and pay a registration fee (limited stock of say 1000). Once done I will redirect him to choose a subscription package (monthly using Membership Pro).

    NOW, the issues... we somehow need to flag (or I guess BP does allready) the fact that user 2609 has set up his ONE allowed group, and he won't be able to set up another group. The TRICK comes now... currently I run Invite Anyone (see image 003) which allows the group owner to invite existing or new members to his group. I also have the Group Hierachy plugin installed which allows sub groups to be created from a root group.

    At his group's "root level" and based on the original requirement, this premium member can only invite 10 members, that is going to be the tricky bit, can i use an affilate invite to handle the invite here? I need to track his "parentID" as any new member he recruits will need to bear his parentID as he was the "recruiter". Now once again in Invite Anyone, you can see the status of your invites and who joined and when they joines, so it does keep rudimentary audit info. see pics 004 and 005

    The tricky bit as mentioned is going to be to limit the size of his group in membership to 10 on "level 1" each level below, to 5 each down to 4 levels, i think if my ageing brain is still functioning alltogether to 625 members per "group" ot tribes as we call them. If the group is full it is full, if a member in group is dormant for say 3 months he is demoted to being a visitor and his slot becomes available to the admin of that group or his level "moderators" and his level 3 "sub moderators ???) -

    So to be able to set the levels within a group is paramount, to be able to limit each of those levels to X amount of members is paramount.

    In essence I think it could work.

    In typical MLM fashion (yuk) i guess, the geneology is important, as when member level 1A recruits level2A and 2B, he earns commission ob their monthly subs, if any, and any other marketpress related purchases they do.

    Last but not least would be have all this info show in affiliates i guess as in stats, commissions earned etc etc.

    It would be greedy but nice to have a collapsable "AJAX styled" tree that shows the geneology maybe reworking some of the gen plugins available code.

    So recap

    >> plugin to set levels within a group, and set max amount of members on each level

    >> Expand Invite Anyone (to Invite Member) to invite with a parent ID/affiliate link and store successful sign up info with some added info

    >> Membership plugin or BP standard member meta fields to store required info such as parent/child ID's and other relevant info

    >> rework gen plugin to provide ajax type frontend or expandable tree of the tribe, with click thru to each member and stats on that person's sales, location and activity

    heheheh - ok Greg - time for coffee now ok... relax boy!!!

  • greg_mcewan_marriott

    hehehe thanks for the support Tim ... starting to feel like I def NEED it, ... not sure if I must laugh or cry at this stage... am in a tough spot here, I have a reward of up to S1000 USD on this, but no takers... pre launch is looming 5 weeks away

    Sad thing is ... i WANT to stay with WPMUDEV plugins... I looked at S2 Members again, and they plug in to an affiliate system called iDEVaffiliate, which could do the job... i went out and bought WP MLM Pro, and wasted another 150USD on trying other plugins.. as i SAID, i really like it here at WPMUDEV, and not keen to switch, but i must admit I am running scared now, all i need is some tweaks to affilates, and possibly to marketpress/membership.

    I had a long good hard look at MU Secure Invite... and that plug in alone brings a better outlook as it provides quite a bit of functionality allready, just need to plug that in to affiliates and some tweaks to membership...

    Starting to think I should have stayed home in my old ASP bed, and not ventured out into the PHP lounge...

    I ask with a more croaky voice... HELP

  • greg_mcewan_marriott

    Secure Invites for WordPress MU

    This plugin stops access to your signup page, except where the visitor has been invited and clicked the link in their invitation email. Your users invite people, and you can see who has sent the most invitations, and how many resulting signups have occurred. Other features:

    Restrict the ability to invite people to users who have been registered only for a certain number of days or more
    View the number of invites sent and resulting signups per month
    View the users who have sent the most invites, and the number of resulting signups
    Browse all invitations sent (auto paginated)
    Change the default email text
    Set after how many days an invitation will expire
    Works with different locations of signup page (default: /wp-signup.php)
    Set the message to show if someone tries to sign up with no valid invitation
    Turn off security on signup form, allowing anyone to sign up (this does not affect the ability to invite people)
    Show an invitation form on the dashboard
    Show best inviters on your site with a shortcode
    Set any number of special codes with which people can sign up without being invited
    View reports on the number of people who have signed up with each code

    Introducer points system

    Each time somebody (Person A) invites a friend (Person B), and Person B signs up, Person A is awarded 5 points. If Person B invites someone (Person C) and they sign up, Person A is awarded 2 points. And if Person C invites someone (Person D) and they sign up, Person A is awarded 1 point (and, of course, Person B is awarded 2 points). Using this pyramid-like system you can see who is inviting not just the most people, but the best kind of people.

    The introducer points are stored in the users meta table with the key secure_invite_points. You can retrieve a persons points using this function: get_usermeta( [user ID], "secure_invite_points" ) substituting [user ID] for their actual user ID.

    mmmmmmmmmmmmmm can this be made to award "commission or a fixed fee" rather than points DIRECTLY into Affiliates?

  • greg_mcewan_marriott

    would the changes below do what i want this to do (based on the drawing)?

    // when a user is registered
    function secure_invite_user_registered($user_id) {
    	// get the email of the new user
    	$user = get_userdata($user_id);
    	$email = $user->user_email;
    	// save the invite code, if one is set
    	if ($_SESSION["invite_code"] != ""){
    		update_user_meta($user_id, "secure_invite_invitation_code", $_SESSION["invite_code"]);
    	// check if this is an invited email address
    	$invited = secure_invites_is_valid_email($email);
    	if ($invited) {
    		// get the id of MEMBER A inviter
    		$inviterid_1 = secure_invite_get_inviter_id($email);
    		// increase MEMBER A points by 20 *************GREG***************
    		$points_1 = (int)secure_invite_get_user_meta($inviterid_1, "secure_invite_points");
    		update_user_meta($inviterid_1, "secure_invite_points", ($points_1+20));
    		// get the MEMBER A email
    		$inviter_1 = get_userdata($inviterid_1);
    		$email_1 = $inviter_1->user_email;
    		// get the id of MEMBER B inviter
    		$inviterid_2 = secure_invite_get_inviter_id($email_1);
    		// if they were invited
    		if ($inviterid_2 != "") {
    			// increase MEMBER B points by 5 *************GREG***************
    			$points_2 = (int)secure_invite_get_user_meta($inviterid_2, "secure_invite_points");
    			update_user_meta($inviterid_2, "secure_invite_points", ($points_2+5));
    			// get the MEMBER B email
    			$inviter_2 = get_userdata($inviterid_2);
    			$email_2 = $inviter_2->user_email;
    				// get the id of MEMBER C inviter
    				$inviterid_3 = secure_invite_get_inviter_id($email_2);
    				// if they were invited
    				if ($inviterid_3 != "") {
    				// increase MEMBER C points by 5  *************GREG***************
    				$points_3 = (int)secure_invite_get_user_meta($inviterid_3, "secure_invite_points");
    				update_user_meta($inviterid_3, "secure_invite_points", ($points_3+5));
                    // get the MEMBER C email
                    $inviter_3 = get_userdata($inviterid_3);
    				$email_3 = $inviter_3->user_email;
                    	// get the MEMBER D inviter
    					$inviterid_4 = secure_invite_get_inviter_id($email_3);
    					// if they were invited
    					if ($inviterid_4 != "") {
    					// increase MEMBER D points by 20  *************GREG***************
    					$points_4 = (int)secure_invite_get_user_meta($inviterid_4, "secure_invite_points");
    					update_user_meta($inviterid_4, "secure_invite_points", ($points_4+20));
    	return $user_id;

  • greg_mcewan_marriott

    okidoki... that code worked ok, it allowed be to add another 2 levels to the "down tree" in MLM fashion. I just tested it and below are pics of the results i wanted according to the fancy pic I made in the post above (20,5,5,20) ... I set up a new user "smeak" and got him to invite memberA, who invited memberB etc... you will see the "commission" lol under the smeakels column posting correctly, the last memberE's 20% going to memberA and not the smeak user as I wanted, basically users earn commission on 4 levels only, then the entire commission "steps down" one member down....

    now what would be nice is to have this data somehow post to the affiliates plugin tables... or would that not be necessary? I will post some next steps to be looked at later. This old ASP programmer and c++ (loved my SAAFOPS - ANgolan Theater flight sim project based on good old Falcon4 code)..... STILL needs PLENTY help... c'mon lets make this a WPMUDEV plugin... I will sponsor as much as I can financially

  • greg_mcewan_marriott

    by the way the "balance" must go to the company or website --- would it be best to set up a "admin user" that receives the balance of the commission??? or would that nOt be necessary?


    on 1st invite comm to recruiter 20% .. comm to "admin" user 80%
    on 2nd invite comm to recruiter 20%, 5% to his "parent" .. comm to "admin" user 75%
    on 3rd invite comm to recruiter 20%, 5% to his "parent", 5% to HIS parent .. comm to "admin" user 70%
    on 4th invite comm to recruiter 20%, 5% to his "parent", 5% to HIS parent, 20% to HIS parent .. comm to "admin" user 50%

    i guess i can just add line of code e.g.

    update_user_meta($inviterid_1, "secure_invite_points", ($points_1+20));
    		update_user_meta($inviterid_0, "secure_invite_points", ($points_1+80)); // master acc / website
  • greg_mcewan_marriott

    ok, brain is tired... need help . I added some code to the Secure Invites plugin to allow 4 levels of commission to be set by the admin as explained above. So far so good, it works fine and the 4 input fields are posting nicely to the db see pic 1 and 2 below...

    What I am trying to do now is replace the "hardcoded" variable

    // if they were invited
    				if ($inviterid_3 != "") {
    				// increase MEMBER C points by 5  *************GREG***************
    				$points_3 = (int)secure_invite_get_user_meta($inviterid_3, "secure_invite_points");
    				update_user_meta($inviterid_3, "secure_invite_points", ($points_3+5));
                    // get the MEMBER C email
                    $inviter_3 = get_userdata($inviterid_3);
    				$email_3 = $inviter_3->user_email;

    in the code above $points_3+5 i want to replace the 5 with my new variable $secure_invite_commission_rate_2

    but i tried the following

    $points_1 = (int)secure_invite_get_user_meta($inviterid_1, "secure_invite_points");
    		$comm2 = (int)get_site_option($secure_invite_commission_rate_2, "secure_invite_points"); 	
    		update_user_meta($inviterid_1, "secure_invite_points", ($points_1+$comm2));

    I want to use $comm2 to replace the 5, (I know the data is written to the DB as I can see it in the wp_sitemeta table....

    what am i doing wrong?

  • greg_mcewan_marriott

    necessity... the mother of all invention... of soos hulle in suid-afrika se, 'n boer maak 'n plan....

    sorted the problem above with

    $points_1 = (int)secure_invite_get_user_meta($inviterid_1, "secure_invite_points");
    		$comm1 = stripslashes( get_site_option("secure_invite_commission_rate_1") );
    		update_user_meta($inviterid_1, "secure_invite_points", $points_1+$comm1);

    next steps

    >> see if I can get this hooked into MarketPress (post value of sale, to this and let it do its calcs)
    >> Work on BuddyPress pages for this, need to do a profile menu tab, with stats and invite form

    Wish me luck, as I wave myself goodbye... or as the Goons use to say "I talk to da trees, that's why they put me away"

  • greg_mcewan_marriott

    Last but not least... would like to integrate data (as it really is just a parent>>child environment) into a visual AJAX/JQuery admin area... would be nice if you could drag and drop "existing members" into a box, and it sends them a "Secure Invite" or you click on an empty box and it pops up the invite form...

    Once done you can drill down the tree visually and visit your signed up members' profiles by clicking on them.... Where there is a will there is way


  • greg_mcewan_marriott

    have added secure invite parent to user meta table, so that we can use this ID to build and track parent>child relationship easier...

    // get the id of MEMBER A inviter
    		$inviterid_1 = secure_invite_get_inviter_id($email);
    		// increase MEMBER A points by commission rate 1 *************GREG***************
    		$points_1 = (int)secure_invite_get_user_meta($inviterid_1, "secure_invite_points");
    		$comm1 = stripslashes( get_site_option("secure_invite_commission_rate_1") );
    		update_user_meta($inviterid_1, "secure_invite_points", $points_1+$comm1);

  • greg_mcewan_marriott

    Next Steps

    1. Build user report screens - admin has some nice screens to display stats, if we can create a user report screen that shows

    > Invitations for the month for him, and his "downline"
    > Best Inviter by signups but just for his downline
    > Best inviter by commission, for him and his downline
    > Invitation List for him and his downline
    > Tier Stats
    > click to open navigable jquery screen that shows geneology, users signed up appears with avatar and you can click to access their stats, or if "box" is empty you click to invite a new user > takes you to invite form

    as I said 90% of tables allready exist to show admin user all the stats, but each user should be able to view "his" stats and his downline stats.

    I attach sample screens to explain

  • william_bronson

    I know you're way down the road with plugins, but it seems you're using a bunch of plugins just to get pieces of the puzzle and to get closer to your goal, when what it seems you really wanted is a 5x5 forced matrix pay plan.
    You might consider taking the pay plan out of wordpress and just use wordpress for the user functionality and experience.
    Then you could use something like JROX JAM (Jrox affiliate manager) to run the matrix etc. I had a 5x5 matrix set up on my site before I decided to not go that direction. And I used JAM by Jrox.

    Here's the reason. It is designed to run an MLM structure with geneology reports, email team, see sales graphs, etc. It's designed for that purpose only.
    But it also has codes you can place in product order process, and a protection code you can protect certain pages or directories with. Plus, it might be simple to get a coder to integrate that protection module with anything you like, or develop the code you can use for a shortcode.
    And since it's not inside wordpress, you won't need to worry about all the heavy load of plugins it seems you're adding to the mix.

    Here's the link for jam. http://jam.jrox.com/

  • greg_mcewan_marriott

    tx william.... appreciate the heads up.... have looked at quite a few, including iDevaffiate and SANKALP (http://www.sankalptech.com/mlm-software-features.asp)... as I said I even bought a few.... in essence I agree with you, totally so I appreciate your input.

    For me, and with our dev project, WordPress/BuddyPress etc is open source, and I fully support open source development, I also like the community at this site (and others)... I have tried S2membership, tried WP Member Wishlist etc etc...

    As for MarketPress, I bought JigoShop, I have run quite a few "other" shop systems very very effectively, but here I am running MarketPress... YES, it lacks in "bells and whistles" does not have all the eye candy ok... but it does sort of what I want it to do, If by using it, and complaining about quirky bits, and questioning, and asking for enhancements, some of these systems get "updated", improved and enhanced, well then so much the better for EVERY one else.

    I don't want "freebies" always, thats why I am prepared to pay, so that all can use whatever functionality was introduced... that is why I am posting my trials and errors here, so maybe someone can help, another can learn, and together we find a solution.

    NOW, affiliates, I admit, sincerely and do not mean to offend, looks nice, but I have no clue how to use it, its a mystery to me, totally, as for me the idea of selling clicks is as old as bulletin boards...

    Unfortunately as I mentioned I am an ASP programmer and I was a good one, some of the systems I wrote in 2006 e.g an ISO9001 accredited DMS system for Anglo American, are still running today.... but thats old tech today... my PHP is scratchy yes....I admit, but I am learning.

    In a nutshell I am prepared to pay for a solution, and if it can be added "to the stable of products here" one day to fill a gap (YES there is a GAP for a WP based MLM system, that is for sure), then I have full filled a small dream for myself.

    So again, please do not read me wrong, I am under huge pressure to come up with a solution, but I am determined to see this through, and guess "want" it to run on WP and BP... CRAZY huh!!!

  • greg_mcewan_marriott

    Hey Joe

    nope and yes.... i had affilates from WPMUDEV installed, but unplugged it as it wont do anything i really want it to do, tried the other affilates system (IX something)... which integrates with WooCommerce pretty well but still does not allow multilevel marketing environment... so we have been working on customising the Secure Invite Plugin as mentioned above to do the job

    I will hopefully share the proof of our endeavours will the community here soon, it essence we have it working well with multilevels of commission and have managed to do an elementary "drill down" for people to see their downline.... It works with BuddyPress well, basically shuts the entire site down from sign up's unless you have an invite to join....

    Then you go via normal BP/Membership sign up routine, which i currently do via Membership plugin to set the access levels to content. Because membership cannot do one off payments and custom redirects on payment complete, I use WooCommerce to do once off buy, also with Account Funds plugin to create an e-wallet which i will use to pay commissions into (which they also top up with paypal), and then use another WooCommerce plugin to auto add them to a Buddypress Support Group and Forum (called Product Support)

    I was then trying to use Pro Sites to actually set up their blog, (which BP can do as well)... BUT Pro Sites allows me to auto install the Secure Invite plugin, which then allows them to invite people to join

    Anyway... still plenty development needed to finish it off properly, and want to do integration into Membership and Pro Sites, and WooCommerce, pity I had to drop MarketPress, cause i liked it, but would have required too much dev to get it working with Secure Invite, and I have 5 days left to launch

    So in next few days will share development changes here in this thread with people who might me interested in a ML plugin

  • aecnu

    Greetings Greg,

    Thank you for the additional input here and for your detailed explanation of what you folks have going on there.

    I asked about the affiliate program and prior to today I could not remember what its name was - Ultimate Affiliate - in which I know goes or used to go up to twelve levels deep.

    It is also not a WordPress product, but I remember in previous versions it would integrate with just about anything.

    Look forward to hearing from you as you progress with your development and site.

    Cheers, Joe

  • william_bronson

    I got a request to comment on the JROX JAM product. So here it is.
    JAM JROX had the potential to be a great pick for me. However, they have horrible customer service and I couldn't get done what I needed to get done. The problem came when I tried to get a merchant hooked up for payment of more than a unilevel pay plan. Mybizpower.com started out as a 5x5 matrix with automatic spillover. I did some research and decided not to do it because it breeds complacency. People get lazy and don't actively promote it like I had hoped. Anyway, JAM JROX had good potential until I realized they really only support their new JEM product instead of JAM. JEM can do what JAM does, mostly, but seemed to be more geared towards ecommerce product selling. Like online stores. My purpose was a simple membership, which is not tangible and didn't need JEM. I bought JAM and ended up not using it at all. I switched to a unilevel plan with WPMU DEV membership plugin. If you're doing an MLM, JROX JEM or JAM is fine. I'd check into JEM first because they support it better. But make sure you have a merchant that allows MLM and one that can be used with the JROX product. That's the deciding factor.
    Plus, when working with membership, you can do this with JAM pretty easily.
    All you do is use WPMU DEV membership to allow for serving up your website content, and use JAM for the affiliate program, outside your wordpress install. As a separate piece, it opens up many possibilities. You could have a free membership to your site, and then offer the affiliate piece afterwards, which is always nice to prove the membership has meat behind it. Most people are wary of joining things when they can't see behind the curtain.
    That's my two cents.

    William B. Bronson
    CEO/Wealth Strategist
    1st Choice Family Financial

    I love WPMU DEV!

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.