Jump to content

Community

Promote Members by Reputation Points/Likes


Recommended Posts

%7Boption%7D



File Name: Promote Members by Reputation Points/Likes

File Submitter: Adriano Faria

File Submitted: 25 Feb 2013

File Category: Promotion

Supported Versions: IP.Board 3.4.x



This hook will promote members when they reach the number of reputation points/likes set for each group on Manage Member Groups.

A new tab will be (named Promote) added on Manage Member Groups. There you can choose for which group those users will be promoted and you will type the number of reputation points/likes that each user must gain in order to be promoted.

Compatibility:

  • IP.Board 3.4.X
  • IP.Board 3.3.X



here to download this file

Link to post
Share on other sites
  • 3 weeks later...
  • 1 month later...

Hey, Adriano - I just purchased this and it is not working... I uploaded into the root folder and it is not showing into the "Applications Not Installed". Can you check if you included everything needed into the zip file? Thanks.

Edit: Never mind - it is a hook not an app. You should update the installation instructions. It seems to work as intended.

Link to post
Share on other sites
  • 2 months later...

This plugin isn't quite working. It seems to be also including secondary groups when deciding to promote users. So let's say I have three levels of users A > B > C that promote in this order. A requires a min of 0 rep, B requires 500 rep, and C requires 1000 rep..

If C happens to have A as a secondary group C will be *switched* to B even though it already has enough reputation to remain at C. Also it doesn't seem as though the second level of promotion even works. If A is promoted to B that's where it ends.. the B to C never happens.

Link to post
Share on other sites

It doesn't check secondary groups. It works exacly like reputation thingy (by posts) from IP.Board:

            if ( $user['g_promotion_reps'] != '' )
            {
                list( $gid, $reps ) = explode( '&', $user['g_promotion_reps'] );
                        
                if ( $gid > 0 and $reps > 0 )
                {
                    if ( $user['pp_reputation_points'] >= $reps )
                    {
                        IPSMember::save( $member_id, array( 'core' => array( 'member_group_id' => $gid ) ) );
                    }
                }
            }

It creates a new column on groups table and compare everytime a like/positive reputation point is given, it checks with that column to change the member_group_id.

Link to post
Share on other sites
  • 1 month later...

Yes, it will work, since they are different stuff. I just don't think it's a good thing to do. You can mess things. Example: you set Group X to 50 posts and Group Y to 100 posts. But if you set 100 likes to Group X, user will come back to Group X.... And when he posts again, will go to Group Y again. Next reputation point, Group X.

The ideal is user one OR another.

Link to post
Share on other sites
  • 5 months later...
  • 2 months later...

Yes but like this lets say this is what i really want to do:
I have rank Newbie and rank Member now
I put on newbie 25 posts to promote to member
And i put on your hook 50 rep to promote newbie to member

So it will work then to promote newbie to member on 25 posts and 50 reps or it will promote it directly when it hits 25 posts? :S

Link to post
Share on other sites

Nope... one thing works regardless the other. So if you use 25 POSTS to go from newbie to members and 50 LIKES from members to something else, it will work... UNLESS you allow newbie to receive reputation and the user got 50 likes before 25 posts... that's what I say that can confuse you... in this case, he'll go from newbie to something else, skipping MEMBERS. Do you understand ?

Link to post
Share on other sites
if ( $user['pp_reputation_points'] >= $reps )
                    {
                        IPSMember::save( $member_id, array( 'core' => array( 'member_group_id' => $gid ) ) );

to something like

if ( $user['pp_reputation_points'] >= $reps && $user['pp_posts'] >= $posts )
                    {
                        IPSMember::save( $member_id, array( 'core' => array( 'member_group_id' => $gid ) ) );

this is not correct for sure $user['pp_posts'] idk how is it managed in ipb :smile:

And users could just ignore default feature or remove it or edit it idk ?

Link to post
Share on other sites
  • 8 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy