Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
How make PM available only to certain roles or groups?
BVX
New
I need to give PM rights to only such people who have attained a certain Karma score on my vanilla forum. How best to achieve this?
Thanks in advance for caring to help.
Tagged:
0
Comments
I have not used the karma plugin by x00, but I would infer that the way to do this would be to grab the karma score via simple MYSQL statement, check if higher than set amount, if so, show PM link.
This would only be hiding the link. If you want to truly disable PM until a score is reached, you may have to put in extra code in the conversations plugin.
Since MarketPlace plugin can help members purchase a special role (let's call it Private Messaging Rights), the requirement then becomes:
How to show Send Private Message link to only those who have "Private Messaging Rights" role.
So where exactly is the code for links-on-top of messages (flag, like, thanks, etc.) generated?
and
What code to put in so "Send {user} a Private Message" gets shown only to a specific role?
The function on line 27 in
class.pm.plugin.php
is where you want to put your logic. You will have to see in the database where the marketplace plugin keeps tracks of the roles. Then a simple MYSQL that returns "Yay or Nay" permission to show the link or not.I am sorry, but I am not that much of a coder .. specific code to inject from anyone will help. Am slightly conscious for mcu_hq already coming this far to help me out .. and thanks for doing that mcu_hq!
We need to show "send pm" link to only such members who are into a special role/category.
all you need is a permission, with associated logic.
they you can use KarmaBank, Marketplace + PurchasePremiumRoles.
set up a role with the permission, then create a PurchasePremiumRoles product in Marketplace, and assign your role to it. Set the expiry period appropriately.
I don't have time to help further sorry.
grep is your friend.
It is no good that the Conversations application lacks permission settings for say, unverified users. You should be able to disable Conversations for certain users, and this should be a default option. Maybe this was fixed in 2.1. Who knows.
see
http://vanillaforums.org/discussion/comment/169912/#Comment_169912
I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.