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