The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
I'm working on a plugin where I hook in at register_addmember_process and query against an external datasource.
Based on the results of the query, I need to add the user to multiple secondary usergroups. I can add them to a single secondary usergroup like this, where X is the usergroup. Code:
$userdata->set('membergroupids', X); I'm not quite sure logically how to make this work. If anyone has any tips it would be greatly apprecaited. Regards, Bobbo --------------- Added [DATE]1270569683[/DATE] at [TIME]1270569683[/TIME] --------------- Nevermind, I figured it out. I needed to implode my array result first and ensure the values were comma separated before I set the membergroupids. |
#2
|
|||
|
|||
![]()
Can you please post how you did this. I am trying to do the same and not able to accomplish.
Thanks for sharing. |
#3
|
||||
|
||||
![]()
@reddyink, Well, it might not be the way you are SUPPOSED to do it, but this is how I do it in a lot of my modifications:
PHP Code:
|
#4
|
|||
|
|||
![]()
Sarteck's method probably works.
My code is pretty unique, so I'm not sure it makes sense to post it all here. I've integrated vBulletin with our CRM system. Only authorized customers can register and use our site. I ended up building several plugins. One includes logic that dips into a MS SQL data base and checks to see what active service contracts our customers have. Depending on their contracts, they get assigned to various secondary usergroups. Since they could have contracts for multiple products (and would need to be assigned to multiple usergroups), I create an array and then populate it in a do while loop. So for example, $mygroup=array(); Then in the while loop based on my query results, I add the secondary usergroup to the array with $mygroup[] = 'x'; (where x is the usergroup id) Once the while loop is completed, I convert the array to a normal string with a comma between each of the values with: $mydata = implode(",", $mygroup); And then finally, I write the data to the table with $userdata->set('membergroupids', $mydata); The extent of your specific code will really depend on what you are trying to accomplish. For example, what I do as described above is really for when the customer first registers and is hooked at register_activate_process. I have a different plugin that hooks at other locations that does current real time validation. So basically, if a service contract expires in our CRM system, when they use the site, their usergroup permissions get removed in real time. The code in this plugin removes the expiring usergroup id from an array and writes it back to the vBulletin database. There are also checks upon login, etc... Hope that at least helps a little and gets you thinking. B ![]() |
#5
|
|||
|
|||
![]()
@Sarteck - Thank you. Good information.
|
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|