PDA

View Full Version : Email Rules - Require that users' email addresses match a regular expression


Analogpoint
15 Oct 2007, 22:41
This modification simply requires a user's email address to match a regular expression (http://www.php.net/manual-lookup.php?function=preg-match) that you specify in the admin control panel options. vBulletin already has an email banning function where you can ban different emails and email providers. This mod lets you do the opposite-- require a certain type of email address. For example you could require that all users have a .edu address.

Requested here (http://www.vbulletin.org/forum/showthread.php?t=160298).

Installation: Unzip the attached file and import the .XML file in the Product Manager in the Admin Control Panel. Then visit the 'Email Rules' options page in vBulletin Options to set up your regular expression.

This mod add two plugins, that's it.

SMO
16 Oct 2007, 00:17
wow...this is a very good idea. Making it easy for users to register from a certain "realm"

I was trying to think on how to do this with making a military only forum.

yoyoyoyo
16 Oct 2007, 00:31
can you specify more than one rule?

Analogpoint
16 Oct 2007, 21:02
can you specify more than one rule?
Yes, you specify just one regular expression, but you can have unlimited rules within it. If you need help with a regular expression, just post here explaining what you're trying to accomplish, and I'll try to help.

Also, this website will help get you up to speed on regexes http://www.regular-expressions.info/

Crazy Serb
28 Jan 2008, 19:10
ok, so if I want to add a few email addresses into the regex field, how would I do it?

let's say, I only want to allow gmail.com, hotmail.com and yahoo.com as valid emails... how do I write that out?

Crazy Serb
29 Feb 2008, 16:48
ok, so I put the following in the rules field:



Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------



and some users who tried to register with hotmail.com emails still can't get past the script and keep getting error messages... how?! what's wrong here?

MISTER2
23 May 2008, 19:35
Awesome, installed on 3.7.0 tested and it works great!
(Tested with single domain restriction)

biome.pat
19 Sep 2008, 06:29
Alright, so I think I've found a bug.

If you run a board where you want to prevent users from changing their email, either by editing the modifypassword template or by cutting things out of the profile.php file (tried many things, like changing $show['edit_email_field'] to false whether user was on ban list or not, and commenting out whole sections). Anyhow, regardless of how I tried to work it, I couldn't remove the email input fields, because when users tried to change their passwords, they'd be redirected to error pages saying they needed to enter their email (when those spaces didn't exist).

And when I disabled Email Rules, everything worked fine.

Any ideas? Suggestion would be muchly appreciated! :)

biome.pat
19 Sep 2008, 06:32
Ah... and I'm an idiot. If anyone else has this problem, just hack out the fields any way you please, and turn off the plugin at the profile_updatepassword_complete hook... Who needs that when there isn't any way to change it...

Grrr...

Well, so long as others can learn from my mistakes!

IDEASBANK2009
24 Jul 2009, 20:02
HOW SWEET IS THAT!!!! :D
Great job and thanks again!
IDEASBANK2009

ilanyon
23 Jul 2011, 02:38
Hi, has anyone tried this with vB 4?

Or know of anything that does work with such???

Much appreciated,

Ian

bbi
29 Jul 2011, 03:51
I am also curious - does this work with VB 4?
Thanks

BirdOPrey5
29 Oct 2011, 19:04
It works for me on VB 4.1.7. :up:

oldlock
06 Feb 2012, 12:15
Anyone have any insights how one could use this like :

allow any .gov address, but also overseas .gov, like .gov.uk, .gov.ie etc. Basically to ensure that there has to be .gov somewhere in the address ???

BirdOPrey5
06 Feb 2012, 13:00
this should do it:


Code:
---------------
Code is only visible to licensed users, and only when logged into the forums.
---------------