summaryrefslogtreecommitdiff
path: root/registration.php
blob: d609f2259110bc3b9a4252408d2ea437ba1d6b68 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?php

	require_once('recaptcha-php/recaptchalib.php');
	$publickey = "6LexmAQAAAAAAJD-07K2pF5RvTfIdRrlE4lKbUZ2"; // you got this from the signup page
	$privatekey = ":::";

  	include("includes/common.php");
	placeHeader("Registration");
	$showform = true;
  
	if (isset($_POST['register']) && $_POST['register'] == "true")
	{
		// handle registration
		if (!isset($_POST['username']) || strlen($_POST['username']) < 4)
		{
			$err = "Username is not given or too short!"; $showform = true;
    }
		else if (!isset($_POST['password1']) || strlen($_POST['password1']) < 4)
		{
			$err = "Password is not given or too short!"; $showform = true;
		}
		else if (!isset($_POST['password2']) || strlen($_POST['password2']) < 4)
		{
			$err = "Password is not given or too short!"; $showform = true;
		}
    else if (!ctype_alnum($_POST['username']))
    {
      $err = 'Username contains invalid characters. Only alphanumeric characters are allowed.'; $showform = true;
    }
    else if (!ctype_alnum($_POST['password1']))
    {
      $err = 'Password contains invalid characters. Only alphanumeric characters are allowed.'; $showform = true;
    }
		else if ($_POST['password2'] != $_POST['password1'])
		{
			$err = "The given passwords don't match!"; $showform = true;
    }
    else if ($_POST['gender'] != 1 && $_POST['gender'] != 2)
    {
      $err = 'Please select your preferred gender.'; $showform = true;
    }
		else
		{
			// check captcha
			$resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

			if (!$resp->is_valid)
			{
				$err = "The captcha was incorrect!"; $showform = true;
			}
			else
			{
		        $username = escapeshellarg($_POST['username']);
		        $password = escapeshellarg($_POST['password1']);
		        $gender = ($_POST['gender'] == 1) ? "Male" : "Female";
 
    		    // create a new account
		        $handle = popen('/home/eathena/webexec/makeaccount', "w");
		        fputs($handle, "$username $gender $password");
		        $retval = pclose($handle);
		        
		        if ($retval == 0)
		        {
	   				// everything was fine, create account
					$showform = false;
		        }
		        else
		        {
		        	$err = "There was an unknown error while creating account.";
		        	$showform = true;
		        }
			}
		}
	}
  
  	if ($showform)
  	{
  
?>

<p>With this form you can register for a new account.</p>

<form action="registration.php" method="post">

	<input type="hidden" name="register" value="true" />
	<table>
		<?php if (isset($err))
		{
			echo "<tr><td colspan=\"2\" style=\"border: 1px solid red; color: red;\">" . 
				$err . "</td></tr>";
		}
		?>
		<tr>
			<td>Username:</td>
			<td><input type="text" size="20" name="username" /></td>
		</tr>
		<tr>
			<td>Password:</td>
			<td><input type="password" size="20" name="password1" /></td>
		</tr>
		<tr>
			<td>Retype password:</td>
			<td><input type="password" size="20" name="password2" /></td>
		</tr>
		<tr>
			<td>Gender:</td>
      <td>
       <select name="gender">
         <option value="0" selected></option>
         <option value="1">Male</option>
         <option value="2">Female</option>
       </select>
      </td>
		</tr>
		<tr>
			<td colspan="2">
				<?php echo recaptcha_get_html($publickey); ?>
			</td>
		</tr>
		<tr>
			<td colspan="2" style="text-align:right">
				<input type="submit" value="Register" />
			</td>
		</tr>
	</table>
</form>


<?php

	} // end of showform
	else
	{
	?>
		<p>Your account has been created!</p>
	<?php }
	placeFooter();
?>