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