Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
VSa - Advanced Registration Details »»
VSa - Advanced Registration
Version: 2.0.3, by Valter Valter is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 4.x.x Rating:
Released: 02-16-2010 Last Update: 04-21-2013 Installs: 1338
DB Changes Uses Plugins Auto-Templates
 
No support by the author.

Info:
This product adds several advanced options to control new registrations, like:

- 'Random Questions' - User must answer random question to continue with the registration (can be on/off)
- 'Invitations System' - Let users invite their friends to join community
- You can choose to accept only invited people to register
- 'moderated users' management (accept/edit/contact/delete)
- e-mail users automatically when their accounts are accepted (can be on/off)
- 'non-activated users' management (accept/edit/contact/delete)
- Option to delete inactive accounts automatically if not confirmed X days after registration

All these features are controlled from one single page.

Notes:
- Don't forget to check/update product options after installation
- Only Admins can access mentioned product options/logs
- Inviter is automatically marked as referral when invited user registers using invitation code

Installation:
1. Import XML file (as product): AdminCP > Plugin System > Manage Products > [Add/Import Product]

To set options:
Go to: AdminCP > vBulletin Options > VSa - Advanced Registration

Versions:
v1.0 - Nov 29. 2008.
-Initial Version
v1.7 - Feb 08. 2009.
-Latest vB 3.x version
v2.0 - Feb 17. 2010.
-Updated for vB 4
-Done some code cleanup, minor bugs fixed
v2.0.1 - Feb 19. 2010.
-Fixed: Multiple invitations not sent properly
-Fixed: JS error if there are whitespaces in email address list
-New: Exclude groups from sending invites
v2.0.2 - May 22. 2012.
-Compatible with vBulletin 4.2
v2.0.3 - Apr 22. 2013.
-Compatible with vBulletin 4.2.1

Download Now

File Type: zip VSa - Advanced Registration v2.0.3.zip (12.7 KB, 1933 views)

Screenshots

File Type: jpg navbar.jpg (47.2 KB, 0 views)
File Type: jpg invite.jpg (110.2 KB, 0 views)
File Type: jpg register.jpg (121.4 KB, 0 views)
File Type: jpg manage1.jpg (129.1 KB, 0 views)
File Type: jpg manage2.jpg (88.4 KB, 0 views)
File Type: jpg acp.jpg (208.8 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
10 благодарности(ей) от:
bluebare, DDIG, EliasAlucard, Insta-Gator, josner, K4GAP, SamSteve, yin9, Zakalway

Comments
  #162  
Old 10-30-2010, 09:05 PM
Alibass's Avatar
Alibass Alibass is offline
 
Join Date: Mar 2007
Posts: 615
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@valter

Seems this error start when I updated to 4.0.8
Attached Images
File Type: jpg invite_error.jpg (62.0 KB, 0 views)
Reply With Quote
  #163  
Old 10-31-2010, 07:07 AM
Valter Valter is offline
 
Join Date: Aug 2005
Location: Sarajevo
Posts: 2,432
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ensure that product templates are up to date.

I've just tested this on two 4.0.8 forums and it worked fine.
Reply With Quote
  #164  
Old 10-31-2010, 04:34 PM
Alibass's Avatar
Alibass Alibass is offline
 
Join Date: Mar 2007
Posts: 615
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Alibass View Post
@valter

Seems this error start when I updated to 4.0.8
Quote:
Originally Posted by Valter View Post
Ensure that product templates are up to date.

I've just tested this on two 4.0.8 forums and it worked fine.
Valter,

There is an conflict with mod 'Movie Of The Week' and your mod that is causing the problem. No problems with 4.0.8, all templates clear and working properly.
I can disable MOTW and your mod works fine.
Reply With Quote
  #165  
Old 11-01-2010, 01:00 PM
stwan stwan is offline
 
Join Date: Feb 2009
Posts: 159
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not valid code in template vsa_areg_invite:
HTML Code:
<script language="Javascript" type="text/javascript">
				function VSaAReg_CheckMail(email_field,error_field,target){
					emailRegExp = /^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.([A-Za-z]){2,4})$/;
					error_address = '{vb:rawphrase vsaareg_invitation_mailerror}: ';
					error_blank = '{vb:rawphrase vsaareg_invitation_missingmail}';
					error_number = '{vb:rawphrase vsaareg_invitation_limit}: {vb:raw vboptions.vsaareg_invite_oncelimit}';
					wait_message = '{vb:rawphrase vsaareg_wait}';
					target_clean = target.replace(" ",""); 
					email = target_clean.split(","); 
					errmail = "";

					if (target_clean=='')
					{
						document.getElementById(error_field).innerHTML=error_blank;
						document.vsaareg_invite.vsaareg_invite_email.focus();
						return false;
					}
					else if (email.length>{vb:raw vboptions.vsaareg_invite_oncelimit})
					{
						document.getElementById(error_field).innerHTML=error_number;
						document.vsaareg_invite.vsaareg_invite_email.focus();
						return false;
					}
					else
					{
						for (var i in email)
						{
							if (!emailRegExp.test(email[i]))
							{
								errmail += "; " + email[i];
							}
						} 
						if (errmail)
						{	
							document.vsaareg_invite.vsaareg_invite_email.focus();
							document.getElementById(error_field).innerHTML=error_address + "<span class=\"smallfont\">" + errmail.substr(1) + "</span>";
							return false;
						} else {
							document.getElementById(error_field).innerHTML=wait_message;
							return true;
						}
					}
				}
				function VSaAReg_UpdName(name){
					if (name=='')
					{
						vsaareg_name = "";
					}
					else
					{
						vsaareg_name = "&nbsp;(" + name + ")";
					}
					document.getElementById('vsaareg_nameupd').innerHTML = vsaareg_name;
				}
			</script>

Fix:
HTML Code:
<script language="Javascript" type="text/javascript">
<!--
				function VSaAReg_CheckMail(email_field,error_field,target){
					emailRegExp = /^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.([A-Za-z]){2,4})$/;
					error_address = '{vb:rawphrase vsaareg_invitation_mailerror}: ';
					error_blank = '{vb:rawphrase vsaareg_invitation_missingmail}';
					error_number = '{vb:rawphrase vsaareg_invitation_limit}: {vb:raw vboptions.vsaareg_invite_oncelimit}';
					wait_message = '{vb:rawphrase vsaareg_wait}';
					target_clean = target.replace(" ",""); 
					email = target_clean.split(","); 
					errmail = "";

					if (target_clean=='')
					{
						document.getElementById(error_field).innerHTML=error_blank;
						document.vsaareg_invite.vsaareg_invite_email.focus();
						return false;
					}
					else if (email.length>{vb:raw vboptions.vsaareg_invite_oncelimit})
					{
						document.getElementById(error_field).innerHTML=error_number;
						document.vsaareg_invite.vsaareg_invite_email.focus();
						return false;
					}
					else
					{
						for (var i in email)
						{
							if (!emailRegExp.test(email[i]))
							{
								errmail += "; " + email[i];
							}
						} 
						if (errmail)
						{	
							document.vsaareg_invite.vsaareg_invite_email.focus();
							document.getElementById(error_field).innerHTML=error_address + "<span class=\"smallfont\">" + errmail.substr(1) + "</span>";
							return false;
						} else {
							document.getElementById(error_field).innerHTML=wait_message;
							return true;
						}
					}
				}
				function VSaAReg_UpdName(name){
					if (name=='')
					{
						vsaareg_name = "";
					}
					else
					{
						vsaareg_name = "&nbsp;(" + name + ")";
					}
					document.getElementById('vsaareg_nameupd').innerHTML = vsaareg_name;
				}
//-->
			</script>

And not valid code in template vsa_areg_manage:
HTML Code:
<script language="Javascript" type="text/javascript">
<!--
				function VSaChAregAll(obj) {
					arrInput = document.getElementsByTagName("input");
					for (i=0; i<arrInput.length; i++) {
						if (arrInput[i].type == 'checkbox') {
							arrInput[i].checked = obj.checked;
						}
					}
				}
				function VSa_SwitchAreg(target)
				{
					if (target=="users_mod")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "block";
						document.getElementById("vsaareg_tu_act").style.display = "none";
						document.getElementById("vsaareg_tu_inv").style.display = "none";
						document.getElementById("vsaareg_tq").style.display = "none";
					}
					if (target=="users_act")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "none";
						document.getElementById("vsaareg_tu_act").style.display = "block";
						document.getElementById("vsaareg_tu_inv").style.display = "none";
						document.getElementById("vsaareg_tq").style.display = "none";
					}
					if (target=="users_inv")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "none";
						document.getElementById("vsaareg_tu_act").style.display = "none";
						document.getElementById("vsaareg_tu_inv").style.display = "block";
						document.getElementById("vsaareg_tq").style.display = "none";
					}
					if (target=="questions")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "none";
						document.getElementById("vsaareg_tu_act").style.display = "none";
						document.getElementById("vsaareg_tu_inv").style.display = "none";
						document.getElementById("vsaareg_tq").style.display = "block";
					}
				}
//-->
			</script>
Fix:
HTML Code:
<script language="Javascript" type="text/javascript">
				function VSaChAregAll(obj) {
					arrInput = document.getElementsByTagName("input");
					for (i=0; i<arrInput.length; i++) {
						if (arrInput[i].type == 'checkbox') {
							arrInput[i].checked = obj.checked;
						}
					}
				}
				function VSa_SwitchAreg(target)
				{
					if (target=="users_mod")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "block";
						document.getElementById("vsaareg_tu_act").style.display = "none";
						document.getElementById("vsaareg_tu_inv").style.display = "none";
						document.getElementById("vsaareg_tq").style.display = "none";
					}
					if (target=="users_act")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "none";
						document.getElementById("vsaareg_tu_act").style.display = "block";
						document.getElementById("vsaareg_tu_inv").style.display = "none";
						document.getElementById("vsaareg_tq").style.display = "none";
					}
					if (target=="users_inv")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "none";
						document.getElementById("vsaareg_tu_act").style.display = "none";
						document.getElementById("vsaareg_tu_inv").style.display = "block";
						document.getElementById("vsaareg_tq").style.display = "none";
					}
					if (target=="questions")
					{
						document.getElementById("vsaareg_tu_mod").style.display = "none";
						document.getElementById("vsaareg_tu_act").style.display = "none";
						document.getElementById("vsaareg_tu_inv").style.display = "none";
						document.getElementById("vsaareg_tq").style.display = "block";
					}
				}
			</script>
And bug on screenshot:
Attachment 123297
Reply With Quote
  #166  
Old 11-01-2010, 01:30 PM
Krusty1231's Avatar
Krusty1231 Krusty1231 is offline
 
Join Date: Jul 2010
Location: Canada
Posts: 366
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is awesome if your site is invite only (which mine happens to be) I keep seeing a lot of spammers trying to sign up - but without the invite code - it's a no go for them.

Thanks for this.
Reply With Quote
  #167  
Old 11-01-2010, 04:36 PM
Alibass's Avatar
Alibass Alibass is offline
 
Join Date: Mar 2007
Posts: 615
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@stwan

Is your fix regarding my posts (161 & 163) or for something else? I don't quite follow your post.
Reply With Quote
  #168  
Old 11-03-2010, 05:31 PM
ryancooper ryancooper is offline
 
Join Date: Jul 2002
Posts: 433
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello I am sorry to post this here but I am running 3.8 and this hack stopped working. I have posted in the 3.8 hack topic but got no response. Hoping someone here can help out..

Thank you for you time and any help!

This worked fine for the longest time but all of a sudden when I enter a email then hit submit and this comes above in red

Error: e-mail address(es) incorrect: [object Object]; function forEach() { [native code] }; function (){ return this.filter($defined); }; function (keys){ var obj = {}, length = Math.min(this.length, keys.length); for (var i = 0; i < length; i++) obj[keys[i]] = this[i]; return obj; }; function (object){ var result = {}; for (var i = 0, l = this.length; i < l; i++){ for (var key in object){ if (object[key](this[i])){ result[key] = this[i]; delete object[key]; break; } } } return result; }; function (item, from){ return this.indexOf(item, from) != -1; }; function (array){ for (var i = 0, j = array.length; i < j; i++) this.push(array[i]); return this; }; function (){ return (this.length) ? this[this.length - 1] : null; }; function (){ return (this.length) ? this[$random(0, this.length - 1)] : null; }; function (item){ if (!this.contains(item)) this.push(item); return this; }; function (array){ for (var i = 0, l = array.length; i < l; i++) this.include(array[i]); return this; }; function (item){ for (var i = this.length; i--; i){ if (this[i] === item) this.splice(i, 1); } return this; }; function (){ this.length = 0; return this; }; function (){ var array = []; for (var i = 0, l = this.length; i < l; i++){ var type = $type(this[i]); if (!type) continue; array = array.concat((type == 'array' || type == 'collection' || type == 'arguments') ? Array.flatten(this[i]) : this[i]); } return array; }; function (array){ if (this.length != 3) return null; var rgb = this.map(function(value){ if (value.length == 1) value += value; return value.toInt(16); }); return (array) ? rgb : 'rgb(' + rgb + ')'; }; function (array){ if (this.length < 3) return null; if (this.length == 4 && this[3] == 0 && !array) return 'transparent'; var hex = []; for (var i = 0; i < 3; i++){ var bit = (this[i] - 0).toString(16); hex.push((bit.length == 1) ? '0' + bit : bit); } return (array) ? hex : '#' + hex.join(''); }; function (){ return JSON.encode(this); }

Again I realize this is the wrong version forum but this is my last ditch effort to get it working!
Reply With Quote
  #169  
Old 11-03-2010, 06:46 PM
RobbieZ RobbieZ is offline
 
Join Date: Jul 2008
Posts: 1,117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Alibass View Post
@stwan

Is your fix regarding my posts (161 & 163) or for something else? I don't quite follow your post.
I tried stwan's fix but it still didnt accomplish anything.

This has stopped working on 4.0.6 so it's not 4.0.8 related and MOTW is also disabled so its not that.

@ryancooper.. same problem bud all round.
Reply With Quote
  #170  
Old 11-03-2010, 06:56 PM
ryancooper ryancooper is offline
 
Join Date: Jul 2002
Posts: 433
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@ RobbieZ Thanks!
Reply With Quote
  #171  
Old 11-06-2010, 11:30 PM
Alibass's Avatar
Alibass Alibass is offline
 
Join Date: Mar 2007
Posts: 615
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@RobbieZ

I had this mod working good on 4.0.7 and 4.0.8 then I installed MOTW and the mod stopped. I can disable MOTW and the mod will work. You may have another mod conflicting.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:54 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07574 seconds
  • Memory Usage 2,377KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_html
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (9)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (8)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete