<?php
require_once('user.php');
require_once('common.php');
$next=$_GET['next'];
if ( $session->loggedIn() ) {
  redirect_to("profile.php");
}

require('commonheader.php');



$action = $_POST['action'];
if( $action=="signup" ) {
  $username = $_POST['username'];
  $passwd1 = $_POST['passwd1'];
  $passwd2 = $_POST['passwd2'];
  $email = $_POST['email'];
  $name = $_POST['name'];
  $organization = $_POST['organization'];

  $captcha = $_POST['g-recaptcha-response'];
  $captcha_valid = check_captcha($captcha);
  if( !$captcha_valid) {
    $recaptcha_error="The reCAPTCHA wasn't entered correctly. Please try again. (For user from China, reCAPTCHA might be blocked.)";
  }

  $signup_ok = false;

  //check username:

  if( !$username ) {
    $username_error = "This field is required";
  } else {
    $username_error = $userdb->checkUserNameValid($username);
  }

  //password
  if( !$passwd1 ) {
    $passwd1_error = "This field is required";
  } else if ( strlen($passwd1) < 5 ) {
    $passwd1_error = "Password is too short. Must be at least 5 characters.";
  }

  if( !$passwd2 ) {
    $passwd2_error = "This field is required";
  } else if( $passwd1 != $passwd2 ) {
    $passwd2_error = "The two passwords do not match";
  }

  //email
  if( !$email ) {
    $email_error = "This field is required";
  } else if( !validEmail($email)) {
    $email_error = "Not a valid email address.";
  } else {
    // Disable of using same email to register. Added by Wei Liu (wliu@cs.unc.edu) on 05/29/2015
    $email_error = $userdb->checkUserEmailValid($email);
  }

  $check_ok = !isset($username_error) && !isset($passwd1_error) && !isset($passwd2_error) && !isset($email_error) && !isset($recaptcha_error);

  //all check passed
  //add user
  if($check_ok) {
    $userid = $userdb->addNewUser($username, $passwd1, $email);
    if(!$userid) {
      $username_error = "Username is already taken. Please try another one.";
    }
  }

  $signup_ok = $check_ok && !isset($username_error);
  if($signup_ok) {

    //$session->login($username, $passwd1);
    if( $name ) {
      $userdb->updateUserInfo($userid, 'userrealname',$name);
    }
    if( $organization) {
      $userdb->updateUserInfo($userid, 'userorganization',$organization);
    }

	$userid =  $session->login($username, $passwd1);
  }

}

?>
<div id="wrap">
  <div id="main">
    <h3>
    My ImageNet Account
    </h3>
		<br clear="all">
		<div class="hr"></div>

    <div id="about_content" class="aboutoverview">
      <ul id="about_menu">
      <?php
      print_accountmenu_notloggedin("signup");
      ?>
      </ul>


      <div id="about_content_border_fixed">
      <h5> Sign up </h5>

      <?php
      if( $signup_ok ) {
        echo "Your account with username '$username' has been created.";
        if($next) {
      	echo " Jump to download page in 3 seconds...";
        ?>
      	  <meta http-equiv="refresh" content="3;url=<?php echo $next?>" />
        <?php
        }
      } else {
        require('signupform.php');
      }


      ?>

      </div>
    </div><!--/about_content-->
  </div><!--/main-->
</div><!--/wrap-->
<br clear="all">

<p>

<?php
require('commonfooter.php');
?>
