X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fregister.php;h=7e569ff21752b155cc1253f78658ab0ee0d41e1f;hp=03be8038cda9a04c02403fc253e3f78446a1426a;hb=2bd1c94dd7e712bb2cc8e2c16fb317bd0169c59c;hpb=880dfb2e715a3770de56fb525f5c90d28a6ccb4c
diff --git a/include/register.php b/include/register.php
index 03be803..7e569ff 100644
--- a/include/register.php
+++ b/include/register.php
@@ -1,79 +1,149 @@
+ *
+ * This file is part of e-DoKo.
+ *
+ * e-DoKo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * e-DoKo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with e-DoKo. If not, see
";
$ok=0;
}
- if(DB_get_userid('email',$_REQUEST["Remail"]))
+ /* check if email address is already used */
+ if(DB_get_userid('email',$_REQUEST['Remail']))
{
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 for password length */
+ if(myisset('Rpassword') && strlen(trim($_REQUEST['Rpassword']))==0 )
+ {
+ echo "Password can't be empty!
";
+ $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.
\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 */
$myname = DB_get_name('email',$_REQUEST['Remail']);
$_SESSION["name"] = $myname;
-
- echo "myname $myname --";
-
+
echo " Welcome to e-DoKo, you are now registered, please visit the".
" homepage to continue.";
}
else
echo " something went wrong, couldn't add you to the database, please contact $ADMIN_NAME at $ADMIN_EMAIL.";
}
- }
-/* page for registration */
- else
- {
- echo "IMPORTANT: passwords are going over the net as clear text, so pick an easy password. No need to pick anything complicated here ;)
";
- ?>
-