Concluído

vBulletin registration [login to view URL] SMS (text) process

Hi All,

I have a vBulletin forum that has currently few modifications and I'm looking to add a new functionality to it:

We have a very close and tight registration process.

You can only register if you have a PAID ISP email account.

The registration page checks your email domain name and denies your from registereting unless your email

is part of the list of email domain/providers listed in: "isp_mail.xml".

This works great!

But, we have a limited base of people who can register.

As such, the new modification that I'm seeking will allow users to register with any email they desire, but they will have to pay.

Note, we are not seeking to get rich by registration. The purpose of this is to eliminate double-registrations.

So the project should allow for the following:

Register FREE with an approved domain/provider that is listed in "isp_mail.xml".

OR

Register with any email (or change your existing email to any other email) by sending a TEXT (SMS) message

to our "Bill by text messaging" service.

IMPORTANT DATA THAT NEEDS TO BE COLLECTED:

With the user profile, we will now add a "Cellular Phone Number" where the user's cellular number will be kept.

This MUST NOT be editable field by the user. This should be only visible to Administrators.

Cellular numbers are UNIQUE, so the same number cannot be entered twice.

I will require few more fields, such as: Date of approved SMS, Number of Retries (failed or approved) and the Code Used to register.

The process of the NEW registration will be as follow:

Registration page --> Free or Paid

If you user chooses Free -> verify against the "isp_mail.xml" registration.

If the user chooses PAID--> He will be routed to a "THIS WILL COST YOU MONEY ALERT" page and then move to the:

Buy a registration credit page. After they confirm the terms, they will be asked to send an SMS (text) message with the word: "registerMeString" to some

number.

I don't care how many Registration credits the user may have, meaning, they can only use ONE credit per a cellular number and it is not transferrable.

If the users are stupid to try and re-register again, they will be charged, and be denied a second registration.

Once they send the text message, we will have their phone number in the SMS Billing Service.

Process:

The user sends an SMS (text) message with the code" RegisterMe" to *6161 (as an example of course).

The user is immediatly being charged.

The user then gets an auto-reply SMS back with a special-code.

Now, the user can proceed to the registeration process.

He enters the PAID registration page.

Here he will populate the regular username and password of the vBulletin for normal registration AND the ADDITIONAL fields of:

His Cellular Number and the special-code (from the auto-reply).

When the user hits the Submit button, he will then be checked:

1. Confirm that the EMAIL used for registration is not already in the vBulletin database.

2. Confirm that the Username used for registration is not already in the vBulletin database.

3. Confirm and verify that his special-code is valid and was not in previous check/use in the micropay system.

4. Confirm and check that his PHONE number is not already in the vBulletin database.

An example of calling the check function: mpCheckPass("10", "5656", "123456789")

uid== my seller code in micropay.

cid== my seller content code in micropay (identifying my specific campain in micropay)

pass== the auto-reply value the user recieved.

//*******************************************************************************

// Function: mpCheckPass

// Author: MicroPay

// Parameters:

// userId - the user id you have in MicroPay

// contentId - the content id the user want

// password - the password you want to check

// Return: <0 - error, >0 - ok

//*******************************************************************************

function mpCheckPass($userId, $contentId, $password)

{

$request = "[url removed, login to view];uid=".$userId."&cid=".$contentId."&pass=".$password&retp=1;

$curlSend = curl_init();

curl_setopt($curlSend, CURLOPT_URL, $request);

curl_setopt($curlSend, CURLOPT_RETURNTRANSFER, 1);

$curlResult = curl_exec ($curlSend);

curl_close ($curlSend);

if (isset($curlResult) && preg_match ("/^[-]?\d*$/", $curlResult))

return $curlResult;

else

return 0;

}

05269891[]replyanswer

Notice the Delimiter of [] ('[' + ']') put together.

This gives the "PhoneNumber[]ReplyCode"

You need to parse the reply to separate the number from the reply code.

MicroPay system will check the password and returns one of the following answers:

0 >> password incorrect hardened

-1 >> Password times the maximum allowable

-2 >> expired password hardened

-4 >> mobile phone company rejected the request collection of your phone number

Otherwise, the answer will receive the number of times this user Password (including this time), for example,

If he used this password 4 times, the answer will receive 5 (4 times he used up to now + current time).

If this is the first time he used the password is the answer will receive 1

Assuming the check came back VALID, (>0), then move on to registration in vBulletin.

AFTER the user confirmed and VALIDATED the code, we need to confirm that the number he enters in the vBulletin is the same value that

he used to send the SMS (text message) initially.

4. If the Phone-Number is already in the vBulletin database, REJECT his registration and send a "Sorry, you cannot register with the information you provided".

It should NOT show if his phone-number is in the database. We do not want to disclose this information. Just a general 'you cannot register with this info'.

5. If the phone-number is NOT in the database, then continue with the registration.

Their phone number needs to be first VERIFIED that it is not in the database.

Yes, if they were stupid to send an SMS (text) message from a number that is already in the database, they will be charged first,

and then denied registration.

If they got confirmed that their number is NOT in the database, then they can proceed to register in vBulletin.

This will give them a 'Credit' to continue to register in vBulletin.

===============================

Project terms:

1. You must know vBulletin and have a sample test to show me that the code works.

2. I will provide you with the codes to actually use for the registration of the SMS.

3. Payment will be done via the Escrow service here on (getA)[url removed, login to view]

4. The code must work on vBulletin 3.84 and above (now moving to 4.x). You will be required to show proof that it works ON BOTH.

5. The code/files need to be listed and shown so that they will be easily installed on our system, with specific code line numbers.

6. Estimated time to complete is up to 7 days.

7. I will provide you with the "isp_mail.xml" setup instructions so that you will see how we implemented on our system. (very easy minor code change).

Payment terms:

10% upfront as a good faith on my part.

70% once you demonstrate that the system is up and working on YOUR server.

20% once the system is setup correctly on my server with detailed explanation on how to install it.

P-L-E-A-S-E do not contact me outside of GetAFreelancer system to offer any outside bids.

GetAFreelancer gives me a great place to offer work projects and they deserve their minimal fees.

Good luck.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Today's code is simple, and is shown as below:

Use these instructions to add the isp_email validator.
Once you install these instructions, you will understand what I have today.


guide to add the email address validation:

got to includes directory

Edit: class_dm.php

Search for:

/**
* Verifies that an email address is valid
*
* @param string Email address
*
* @return boolean
*/
function verify_email(&$email)
{
return is_valid_email($email);
}


Below that block, add the following:

//start shay ISP//
/**
* Verifies that an ISP email address is valid
*
* @param string Email address
*
* @return boolean
*/
function verify_ISP_email(&$email)
{
if(!file_exists(DIR.'/includes/xml/isp_mail.xml'))
return true;
require_once(DIR.'/includes/class_xml.php');
$xmlobj = new vB_XML_Parser(false,DIR.'/includes/xml/isp_mail.xml');
$ISP = $xmlobj->parse();
$check=explode("@",$email);
return in_array($check[1],$ISP['ISP']);
}
//end shay ISP//


Save the file.

Now Edit: class_dm_user.php

Search for:


// check valid email address
if (!$this->verify_email($email))
{
$this->error('bademail');
return false;
}


Below that block, add the following lines:



//start shay ISP//
//check vaild ISP email address
if (!$this->verify_ISP_email($email) AND !$this->adminoverride)
{
$this->error('badISPmail', $this->registry->options['contactuslink']);
return false;
}
//end shay ISP//


Save the file.

Now Create (and later edit) the following file:

includes/xml/isp_mail.xml

Insert the follwing lines in it:

<?xml version="1.0" encoding="ISO-8859-1"?>

<validISP>
<ISP>netvision.net.il</ISP>
<ISP>017.net.il</ISP>
<ISP>zahav.net.il</ISP>
<ISP>inter.net.il</ISP>
<ISP>bezeqint.net</ISP>
<ISP>actcom.co.il</ISP>
<ISP>actcom.net.il</ISP>
<ISP>013.net.il</ISP>
<ISP>013.net</ISP>
<ISP>barak.net.il</ISP>
<ISP>bark-online.net.il</ISP>
<ISP>icoolnet.net</ISP>
<ISP>az2.net.il</ISP>
<ISP>222.net.il</ISP>
<ISP>galla.co.il</ISP>
<ISP>012.net.il</ISP>
<ISP>israsrv.net.il</ISP>
<ISP>smile.net.il</ISP>
<ISP>015.net.il</ISP>
</validISP>

<!-- CVS: $RCSfile$ - $Revision: 12068 $ -->



And Save.

That's it for the validation.
As for "alerting the users that their email must be in the 'allowed ISP list'", you need to edit the template: register and provide some explanation of the new limitation / feature.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Habilidades: MySQL, PHP, SQL, vBulletin, XML

Veja mais: sms registration, vbulletin sms registration, vbulletin registration sms, www m freelancer com, www freelancer in contact number, www freelancer id, www freelancer com l, www freelancer com forum, www freelancer care com, www escrow com fees, www escrow co, www easy work great pay com, working as a seller in a company, word cost freelancer, who gets the escrow money, where to see my bids freelancer, where to register for being a freelancer, where to register as freelancer, where is freelancer com, where i change my name on freelancer, where can i see the project i got on freelancer, want to works as freelancer, via our escrow system, verify freelancer account, verify freelancer

Acerca do Empregador:
( 36 comentários ) New York, United States

ID do Projeto: #626249

Concedido a:

zethon

rebid on project

$250 USD em 10 dias
(1 Comentário)
0.0
zhukaster

I can do this for you, feel free to contact me.

$250 USD em 7 dias
(25 Comentários)
4.7

4 freelancers estão ofertando em média $375 para esse trabalho

SigmaVisual

We can help in your project, please check PMB to see our related experience.

$750 USD in 7 dias
(229 Comentários)
7.8
Georgia

Thanks for invitation. The project is interesting and I accept your terms.

$250 USD in 8 dias
(87 Comentários)
7.2