Skip to content
Snippets Groups Projects
signup.php 3.8 KiB
Newer Older
//ob_start();
//include("../member/signup.php");
//$output = ob_get_contents();
//ob_end_clean();
//set defaults
$mode = 'login';

//login
if(isset($_REQUEST['signupid'])&&isset($_REQUEST['signuppw'])){
    //set signup details
    $signupid = $_REQUEST['signupid'];
    $signuppw = $_REQUEST['signuppw'];
    // connect to sucs database
    $sucsDB = NewADOConnection('postgres8');

    // -------------------------------------------------
    // TODO: CHANGE THIS TO dbname=sucs BEFORE DEPLOYING
    // -------------------------------------------------
    $sucsDB->Connect('dbname=eclipse');


    $sucsDB->SetFetchMode(ADODB_FETCH_ASSOC);
    // get row(s)
    $query = "SELECT * FROM signup WHERE id=? AND password=?";
    $array = array($signupid,$signuppw);
    $data = $sucsDB->GetAll($query,$array);
    // if data was returned and it was exactly 1 row
    if(is_array($data)&&sizeof($data)==1){
	$row=$data[0];
	// if the id hasnt already been used
	if(!(isset($row[activated])&&isset($row[username]))){
	    // pass on the id and passwd
	    $smarty->assign("signupid",$signupid);
	    $smarty->assign("signuppw",$signuppw);
	    $smarty->assign("usertype",$row[type]);
	    // if accepting the form
	    if(isset($_REQUEST['username']) && isset($_REQUEST['realname']) && isset($_REQUEST['email']) && isset($_REQUEST['phone'])){
		require_once("../lib/validation.php");
		$valid=true;
		$errors=array();
		$fields=array();
		if(!validUsername($_REQUEST['username'])){
		    $valid=false;
		    $errors['username']=$error;
		}
		$fields['username']=$_REQUEST['username'];
		if(!validSignupEmail($_REQUEST['email'])){
		    $valid=false;
		    $errors['email']=$error;
		}
		$fields['email']=$_REQUEST['email'];
		if(!validPhone($_REQUEST['phone'])){
		    $valid=false;
		    $errors['phone']=$error;
		}
		$fields['phone']=$_REQUEST['phone'];
		if($row[type]!=2){
		    if(!validAddress($_REQUEST['address'])){
			$valid=false;
			$errors['address']=$error;
		    }
		    $fields['address']=$_POST['address'];
		    if(!validRealName($_REQUEST['realname'])){
			$valid=false;
			$errors['realname']=$error;
		    }
		    $fields['realname']=$_REQUEST['realname'];
		}
		else{
		    if(!validRealName($_REQUEST['contact'])){
			$valid=false;
			$errors['contact']=$error;
		    }
		    $fields['contact']=$_REQUEST['contact'];
		    if(!validSocName($_REQUEST['realname'])){
			$valid=false;
			$errors['realname']=$error;
		    }
		    $fields['realname']=$_REQUEST['realname'];
		}
		if($row[type]==1){
			if(!validSID($_REQUEST['studentid'])){
			    $valid=false;
			    $errors['studentid']=$error;
			}
			$fields['studentid']=$_REQUEST['studentid'];
		}

		if($valid){
		    $mode='result';
		    //TODO: add membership add code here
		    $smarty->assign("post",$_POST);
		}
		else{
		    //re-show form
		    $script = "<script language='javascript' type='text/javascript' src='".$baseurl."/js/jquery.js'></script>\n";
		    $script .= "<script language='javascript' type='text/javascript' src='$baseurl/js/signup.js'></script>\n";
		    $smarty->assign("fields",$fields);
		    $smarty->assign("errors",$errors);
        	    $smarty->append('extra_scripts', $script);
                    $mode='re-form';	
		}
	    }
	    else{
		// display the form
                $script = "<script language='javascript' type='text/javascript' src='".$baseurl."/js/jquery.js'></script>\n";
		$script .= "<script language='javascript' type='text/javascript' src='$baseurl/js/signup.js'></script>\n";
		$smarty->append('extra_scripts', $script);
		$mode='form';
	    }
	}
	else trigger_error("Signup ID already used",E_USER_WARNING);
    }
    else trigger_error("Invalid ID or Password", E_USER_WARNING);

}
//Set smarty Variables
$smarty->assign("mode", $mode);
$output =  $smarty->fetch("signup.tpl");

$smarty->assign("title", "Sign Up");
$smarty->assign("body", $output);

?>