exit;
/* new user wants to register */
-if(myisset("Rfullname","Remail","Rpassword","Rtimezone") )
+if(myisset("Rfullname","Remail","Rtimezone") )
{
global $HOST,$INDEX;
/* is this name already in use/ */
$ok=1;
- if(DB_get_userid('name',$_REQUEST["Rfullname"]))
+ if(DB_get_userid('name',$_REQUEST['Rfullname']))
{
echo "please chose another name<br />";
$ok=0;
}
/* check if email address is already used */
- if(DB_get_userid('email',$_REQUEST["Remail"]))
+ if(DB_get_userid('email',$_REQUEST['Remail']))
{
echo "this email address is already used ?!<br />";
$ok=0;
}
+ /* need either openid or password */
+ if(!myisset('Rpassword') && !myisset('Ropenid'))
+ {
+ echo "I need either a Password or an Openid url.<br />";
+ $ok=0;
+ }
+ /* check against robots */
+ $robots=0; /* at least one anti-robot question needs to be answered */
+ if(myisset('Robotproof0'))
+ {
+ if($_REQUEST['Robotproof0']!=42)
+ $ok=0;
+ else
+ $robot=1;
+ }
+ else if(myisset('Robotproof1'))
+ {
+ if($_REQUEST['Robotproof1']!=35)
+ $ok=0;
+ else
+ $robot=1;
+ }
+ else if(myisset('Robotproof2'))
+ {
+ if($_REQUEST['Robotproof2']!=28)
+ $ok=0;
+ else
+ $robot=1;
+ }
+ else if(myisset('Robotproof3'))
+ {
+ if($_REQUEST['Robotproof3']!=21)
+ $ok=0;
+ else
+ $robot=1;
+ }
+ else if(myisset('Robotproof4'))
+ {
+ if($_REQUEST['Robotproof4']!=14)
+ $ok=0;
+ else
+ $robot=1;
+ }
+ if($robot==0)
+ {
+ echo "You answered the math question wrong. <br />\n";
+ $ok=0;
+ }
/* everything ok, go ahead and create user */
if($ok)
{
- $r=DB_query("INSERT INTO User VALUES(NULL,".DB_quote_smart($_REQUEST["Rfullname"]).
- ",".DB_quote_smart($_REQUEST["Remail"]).
- ",".DB_quote_smart(md5($_REQUEST["Rpassword"])).
- ",".DB_quote_smart($_REQUEST["Rtimezone"]).",NULL,NULL)");
-
+ if(myisset('Rpassword'))
+ {
+ $r=DB_query("INSERT INTO User VALUES(NULL,".DB_quote_smart($_REQUEST["Rfullname"]).
+ ",".DB_quote_smart($_REQUEST["Remail"]).
+ ",".DB_quote_smart(md5($_REQUEST["Rpassword"])).
+ ",".DB_quote_smart($_REQUEST["Rtimezone"]).",NULL,NULL)");
+ }
+ else if(myisset('Ropenid'))
+ {
+ $password = $_REQUEST["Rfullname"].preg_replace('/([ ])/e', 'chr(rand(33,122))', ' ');
+ $r=DB_query("INSERT INTO User VALUES(NULL,".DB_quote_smart($_REQUEST["Rfullname"]).
+ ",".DB_quote_smart($_REQUEST["Remail"]).
+ ",".DB_quote_smart(md5($password)).
+ ",".DB_quote_smart($_REQUEST["Rtimezone"]).",NULL,NULL)");
+ if($r)
+ {
+ include_once('openid.php');
+ $myid = DB_get_userid('email',$_REQUEST['Remail']);
+ DB_AttachOpenID($_REQUEST['Ropenid'], $myid);
+ }
+ }
+ else
+ {
+ echo 'Error during registration, please contact '.$ADMIN_NAME.' at '.$ADMIN_EMAIL;
+ }
if($r)
{
/* Set session, so that new user doesn't need to log in */
else
echo " something went wrong, couldn't add you to the database, please contact $ADMIN_NAME at $ADMIN_EMAIL.";
}
+ else
+ {
+ echo "Couldn't register you. Please <a href=\"index.php?action=register\">try again</a>! </br />\n";
+ }
}
else
{
/* No information for new user given, ouput a page for registration */
- echo "IMPORTANT: passwords are going over the net as clear text, so pick an easy password. No need to pick anything complicated here ;)<br /><br />";
- ?>
- <form action="index.php?action=register" method="post">
- <fieldset>
- <legend>Register</legend>
- <table>
- <tr>
- <td><label for="Rfullname">Full name:</label></td>
- <td><input type="text" id="Rfullname" name="Rfullname" size="20" maxsize="30" /> </td>
- </tr><tr>
- <td><label for="Remail">Email:</label></td>
- <td><input type="text" id="Remail" name="Remail" size="20" maxsize="30" /></td>
+
+ /* check for openid information */
+ $openid_url = '';
+ $name = '';
+ $email = '';
+ if(myisset('openid_url'))
+ $openid_url = $_REQUEST['openid_url'];
+ if(myisset('openidname'))
+ $name = $_REQUEST['openidname'];
+ if(myisset('openidemail'))
+ $email = $_REQUEST['openidemail'];
+
+ if($openid_url=='')
+ echo "<p><br /><strong> IMPORTANT: passwords are going over the net as clear text, so pick an easy password. ".
+ "No need to pick anything complicated here ;)<br />";
+ echo "N.B. Your email address will be exposed to other players whom you play games with. ";
+ echo "<br /><br /></strong></p>";
+ echo ' <form action="index.php?action=register" method="post">';
+ echo ' <fieldset>';
+ echo ' <legend>Register</legend>';
+ echo ' <table>';
+ echo ' <tr>';
+ echo ' <td><label for="Rfullname">Full name:</label></td>';
+ echo " <td><input type=\"text\" id=\"Rfullname\" name=\"Rfullname\" size=\"20\" maxlength=\"30\" value=\"$name\" /> </td>";
+ echo ' </tr><tr>';
+ echo ' <td><label for="Remail">Email:</label></td>';
+ echo " <td><input type=\"text\" id=\"Remail\" name=\"Remail\" size=\"20\" maxlength=\"30\" value=\"$email\" /></td>";
+ echo ' </tr><tr>';
+ if($openid_url=='')
+ {
+ echo ' <td><label for="Rpassword">Password(will be displayed in cleartext on the next page):</label></td>';
+ echo ' <td><input type="password" id="Rpassword" name="Rpassword" size="20" maxlength="30" /></td>';
+ echo ' </tr><tr>';
+ }
+ else
+ {
+ echo ' <td><label for="Ropenid">OpenId:</label></td>';
+ echo ' <td><input type="text" id="Ropenid" name="Ropenid" size="20" maxlength="50" value="'.htmlentities($openid_url).'" /></td>';
+ echo ' </tr><tr>';
+ }
+ echo ' <td><label for="Rtimezone">Timezone:</label></td>';
+ echo ' <td>';
+
+ output_select_timezone("Rtimezone");
+?>
+ </td>
</tr><tr>
- <td><label for="Rpassword">Password(will be displayed in cleartext on the next page):</label></td>
- <td><input type="password" id="Rpassword" name="Rpassword" size="20" maxsize="30" /></td>
</tr><tr>
- <td><label for="Rtimezone">Timezone:</label></td>
- <td>
<?php
- output_select_timezone("Rtimezone");
+ /* random number to select robotproof question */
+ $rand_number = mt_rand(0,3); /* to get numbers between 0 and 4 */
+ $Robotproof = "Robotproof".$rand_number;
+?>
+ <td><label for="Robotproof">Please answer this question: <?php echo output_robotproof($rand_number); ?></label></td>
+<?php
+ echo "<td><input type=\"text\" id=\"$Robotproof\" name=\"$Robotproof\" size=\"20\" maxlength=\"30\" /></td>\n";
?>
- </td>
</tr><tr>
<td colspan="2"> <input type="submit" value="register" /></td>
+ </tr>
</table>
</fieldset>
</form>