| 1 | <?php\r |
| 2 | function register() {\r |
| 3 | global $db, $error;\r |
| 4 | \r |
| 5 | $guild_id = mysql_real_escape_string(strip_tags(trim($_POST['guild_id'])));\r |
| 6 | $content = mysql_real_escape_string(strip_tags(trim($_POST['reg_content'])));\r |
| 7 | $email = mysql_real_escape_string(strip_tags(trim($_POST['reg_email'])));\r |
| 8 | $login = mysql_real_escape_string(strip_tags(trim($_POST['reg_login'])));\r |
| 9 | $xmpp = mysql_real_escape_string(strtolower(strip_tags(trim($_POST['reg_login']))));\r |
| 10 | $pass = mysql_real_escape_string($_POST['reg_pass']);\r |
| 11 | $pass2 = mysql_real_escape_string($_POST['reg_pass2']);\r |
| 12 | \r |
| 13 | if (empty($login)) {\r |
| 14 | $error = 'please enter your nick name';\r |
| 15 | return false;\r |
| 16 | }\r |
| 17 | elseif (empty($email)) {\r |
| 18 | $error = 'please enter your email address';\r |
| 19 | return false;\r |
| 20 | }\r |
| 21 | elseif (preg_match('/^(.+?)@(.+?)\.([a-z]{2,4})$/', $email) == false) {\r |
| 22 | $error = 'please enter correct mail';\r |
| 23 | return false;\r |
| 24 | }\r |
| 25 | elseif (empty($content)) {\r |
| 26 | $error = 'please write something about you';\r |
| 27 | return false;\r |
| 28 | }\r |
| 29 | elseif (strlen($pass) < 5) {\r |
| 30 | $error = 'password toooooooo short, (<5)';\r |
| 31 | return false;\r |
| 32 | }\r |
| 33 | elseif ($pass != $pass2) {\r |
| 34 | $error = 'passwords do not match';\r |
| 35 | return false;\r |
| 36 | }\r |
| 37 | \r |
| 38 | $set = $db->query(sprintf('select login from users where \r |
| 39 | login = "%s" or email = "%s" or xmpp = "%s"', $login, $email, $xmpp));\r |
| 40 | if ($set->getNumRows() > 0) {\r |
| 41 | $error = sprintf('No-no, user with this nick/email is already registered');\r |
| 42 | return false;\r |
| 43 | }\r |
| 44 | \r |
| 45 | // registration clause // XXX hard coded, registration text\r |
| 46 | $qr_rc = $db->query('select node_content from nodes where node_id = '.REGISTRATION_TEXT_NODE);\r |
| 47 | $qr_rc->next();\r |
| 48 | \r |
| 49 | $params['node_content'] = sprintf('<i>%s</i><br />%s<br />\r |
| 50 | E-mail address:: %s',\r |
| 51 | $qr_rc->getString('node_content'),\r |
| 52 | $content,\r |
| 53 | $email);\r |
| 54 | // XXX hard-coded\r |
| 55 | $params['node_parent'] = UNVERIFIED_REGISTRATIONS_NODE; // registrations_noverified forum\r |
| 56 | $params['node_name'] = 'request for access';\r |
| 57 | $params['node_creator']=UBIK_ID;\r |
| 58 | $params['flag'] = 'registration';\r |
| 59 | $user_id = nodes::addNode($params);\r |
| 60 | \r |
| 61 | \r |
| 62 | //puttin in the guild node is realized only after email verification\r |
| 63 | //nodes::putNode($user_id,$guild_id);\r |
| 64 | \r |
| 65 | $q = sprintf('update nodes set node_system_access = "private",node_creator=%d where node_id = %d', $user_id,$user_id);\r |
| 66 | $db->update($q);\r |
| 67 | \r |
| 68 | $pass = md5($pass);\r |
| 69 | $vercode = substr( md5( uniqid( rand() ) ), rand(0, 7), 23);\r |
| 70 | $q = sprintf('insert into users set password = "%s", user_id = %d,\r |
| 71 | header_id = 2091520, login = "%s", email = "%s",\r |
| 72 | hash = "%s", xmpp="%s", guild_id="%s"',\r |
| 73 | $pass, $user_id, $login, $email, $vercode, $xmpp, $guild_id);\r |
| 74 | $db->query($q); // XXX rewrite\r |
| 75 | $emailtext = sprintf(\r |
| 76 | 'Vitaj %s! Prave som sa s radostou dozvedel, ze si vyplnil(a)\r |
| 77 | registracny formular na stranke '.SYSTEM_URL.' a chces sa stat\r |
| 78 | clenom tejto komunity.\r |
| 79 | Budem sa snazit urobit tento pokec trosku dlhsi,\r |
| 80 | lebo v povodnej kratkej forme ho pohlcuju spamfiltre, takze\r |
| 81 | ospravedln nasledujuce blabla a moj typicky atypicky zmysel\r |
| 82 | pre cierny humor, kedze sluzi ku dobrej veci :)\r |
| 83 | Pri registracii ti bol prideleny verifikacny kod.\r |
| 84 | Ten kod znie "%s" [bez uvodzoviek].\r |
| 85 | Ten musis zadat na adresu '.SYSTEM_URL.'/id/1976899/, kde \r |
| 86 | vyplnis formular s tvojim nickom a verifkacnym kodom.\r |
| 87 | Od tej chvile bude tvoja ziadost volne pristupna\r |
| 88 | uz zaregistrovanym clenom, ktori o nej budu hlasovat.\r |
| 89 | Pocet hlasov aby sa ziadosti vyhovelo je x.\r |
| 90 | Deadline na nazbieranie je 1 tyzden.\r |
| 91 | Takze fakticky dufam ze si o sebe napisal(a) nieco inteligentne :)\r |
| 92 | \r |
| 93 | Prajem pekny zvysok dna',\r |
| 94 | $login, $vercode);\r |
| 95 | // edit by br\r |
| 96 | $headers = 'From: kyberia@'. SYSTEM_URL . "\r\n" . 'X-Mailer: PHP';\r |
| 97 | mail($email, SYSTEM_URL.' verification code', $emailtext, $headers);\r |
| 98 | $error = '<h2>Request saved, verification code sent, please check your e-mail.<h2>';\r |
| 99 | \r |
| 100 | return false;\r |
| 101 | }\r |
| 102 | ?>\r |