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