Username Scripts
NATS can query your local database or password file with a PHP script to see
if a particular username exists in your database. This script should take two variables: a site ID number and a username. If the username in question exists, the script should return "*exists*"; if the username doesn't exist, the script should return
"*available*". For example:
<?php
//pull variables out of query string;
$siteid = $_GET['siteid'];
$username = $_GET['username'];
//initialize password file
$passwordfile = ' ';
//set password file based on site id
switch($siteid)
{
//if siteid = 1, passwordfile = path to password file for site 1
case 1:
$passwordfile='/home/web/onesite/.htpasswd';
break;
case 2:
$passwordfile='/home/web/differentsite/.htpasswd';
break;
}
//now that we know what file to open, open that file to read
$openfile = fopen($passwordfile, 'r');
//get the contents of the open file
$filecontents = fread($openfile, filesize($passwordfile));
//search file contents for username
if(strpos($filecontents, $username)===0) { echo '*available*'; }
else { echo '*exists*';}
?>
Email Scripts
NATS can also query your local database or password file with a PHP script that checks if a particular email address exists in your database. This is particularly useful for sites that only allow one member account per email address. If the email address in question exists, the script should return "*exists*" and if the email address does not exist, the script should return "*available*".
If you want to use the user post feature to return an email error, you can return *exists*,email in the response string of your PHP code and NATS will assign the following error:
"Sorry, Email address already taken. Please Choose Another." to the Smarty variable $errors['email'].
Implementing Your Script
To use your script, go to the Sites Admin and edit the tour you want the script to take effect on. On the Edit Tour page, go to Postback URLs and click Show/Hide Advanced Settings to expand the category. Under Username Post URL, enter your script's URL to make it take effect.