X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fregister.php;h=75ec309e98664158c52abca1332ddf87c7278283;hp=7f3266bba19d0fa4885a60d73f3758a5d6f038ac;hb=a57cfa3be6ee0fbce336dc98e2862ac39f2b1add;hpb=4cbc3848a891ac9addf10264d24a9f4273c5e355
diff --git a/include/register.php b/include/register.php
index 7f3266b..75ec309 100644
--- a/include/register.php
+++ b/include/register.php
@@ -6,7 +6,7 @@ if(!isset($HOST))
exit;
/* new user wants to register */
-if(myisset("Rfullname","Remail","Rpassword","Rtimezone") )
+if(myisset("Rfullname","Remail","Rtimezone") )
{
global $HOST,$INDEX;
@@ -23,6 +23,13 @@ if(myisset("Rfullname","Remail","Rpassword","Rtimezone") )
echo "this email address is already used ?!
";
$ok=0;
}
+ /* need either openid or password */
+ if(!myisset('Rpassword') && !myisset('Ropenid'))
+ {
+ echo "I need either a Password or an Openid url.
";
+ $ok=0;
+ }
+
/* check against robots */
$robots=0; /* at least one anti-robot question needs to be answered */
if(myisset('Robotproof0'))
@@ -65,15 +72,34 @@ if(myisset("Rfullname","Remail","Rpassword","Rtimezone") )
echo "You answered the math question wrong.
\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 */
@@ -94,29 +120,50 @@ if(myisset("Rfullname","Remail","Rpassword","Rtimezone") )
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 ;)
";
+
+ /* 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 "
IMPORTANT: passwords are going over the net as clear text, so pick an easy password. ".
+ "No need to pick anything complicated here ;)
";
echo "N.B. Your email address will be exposed to other players whom you play games with. ";
echo "