Migration to PDO database abstraction layer
[mirrors/Kyberia-bloodline.git] / wwwroot / inc / eventz / register.inc
index de0c368f794bfb911d59094e5f5e55e85195c3de..9ea7fe7bf3ab5a733bfa06e2367e3d5c57639ea8 100644 (file)
@@ -1,7 +1,102 @@
-<?php
-function register() {
-    global $error;
-    $error = 'Registracie su docasne pozastavene.';
-    return false;
-}
-?>
\ No newline at end of file
+<?php\r
+function register() {\r
+    global $db, $error;\r
+\r
+    $guild_id = db_escape_string(strip_tags(trim($_POST['guild_id'])));\r
+    $content = db_escape_string(strip_tags(trim($_POST['reg_content'])));\r
+    $email   = db_escape_string(strip_tags(trim($_POST['reg_email'])));\r
+    $login   = db_escape_string(strip_tags(trim($_POST['reg_login'])));\r
+    $xmpp    = db_escape_string(strtolower(strip_tags(trim($_POST['reg_login']))));\r
+    $pass    = db_escape_string($_POST['reg_pass']);\r
+    $pass2   = db_escape_string($_POST['reg_pass2']);\r
+    \r
+    if (empty($login)) {\r
+        $error = 'please enter your nick name';\r
+        return false;\r
+    }\r
+    elseif (empty($email)) {\r
+        $error = 'please enter your email address';\r
+        return false;\r
+    }\r
+    elseif (preg_match('/^(.+?)@(.+?)\.([a-z]{2,4})$/', $email) == false) {\r
+        $error = 'please enter correct mail';\r
+        return false;\r
+    }\r
+    elseif (empty($content)) {\r
+        $error = 'please write something about you';\r
+        return false;\r
+    }\r
+    elseif (strlen($pass) < 5) {\r
+        $error = 'password toooooooo short, (<5)';\r
+        return false;\r
+    }\r
+    elseif ($pass != $pass2) {\r
+        $error = 'passwords do not match';\r
+        return false;\r
+    }\r
+\r
+    $set = $db->query(sprintf('select login from users where \r
+                               login = "%s" or email = "%s" or xmpp = "%s"', $login, $email, $xmpp));\r
+    if ($set->getNumRows() > 0) {\r
+        $error = sprintf('No-no, user with this nick/email is already registered');\r
+        return false;\r
+    }\r
+\r
+    // registration clause  // XXX hard coded, registration text\r
+    $qr_rc = $db->query('select node_content from nodes where node_id = '.REGISTRATION_TEXT_NODE);\r
+    $qr_rc->next();\r
+\r
+    $params['node_content'] = sprintf('<i>%s</i><br />%s<br />\r
+                                       E-mail address:: %s',\r
+                                      $qr_rc->getString('node_content'),\r
+                                      $content,\r
+                                      $email);\r
+    // XXX hard-coded\r
+    $params['node_parent']  = UNVERIFIED_REGISTRATIONS_NODE; // registrations_noverified forum\r
+    $params['node_name'] = 'request for access';\r
+       $params['node_creator']=UBIK_ID;\r
+    $params['flag'] = 'registration';\r
+    $user_id = nodes::addNode($params);\r
+\r
+       \r
+       //puttin in the guild node is realized only after email verification\r
+       //nodes::putNode($user_id,$guild_id);\r
+\r
+    $q = sprintf('update nodes set node_system_access = "private",node_creator=%d where node_id = %d', $user_id,$user_id);\r
+    $db->update($q);\r
+\r
+       $pass = md5($pass);\r
+       $vercode = substr( md5( uniqid( rand() ) ), rand(0, 7), 23);\r
+       $q = sprintf('insert into users set password = "%s", user_id = %d,\r
+               header_id = 2091520, login = "%s", email = "%s",\r
+               hash = "%s", xmpp="%s", guild_id="%s"',\r
+               $pass, $user_id, $login, $email, $vercode, $xmpp, $guild_id);\r
+       $db->query($q); // XXX rewrite\r
+       $emailtext = sprintf(\r
+'Vitaj %s! Prave som sa s radostou dozvedel, ze si vyplnil(a)\r
+registracny formular na stranke '.SYSTEM_URL.' a chces sa stat\r
+clenom tejto komunity.\r
+Budem sa snazit urobit tento pokec trosku dlhsi,\r
+lebo v povodnej kratkej forme ho pohlcuju spamfiltre, takze\r
+ospravedln nasledujuce blabla a moj typicky atypicky zmysel\r
+pre cierny humor, kedze sluzi ku dobrej veci :)\r
+Pri registracii ti bol prideleny verifikacny kod.\r
+Ten kod znie "%s" [bez uvodzoviek].\r
+Ten musis zadat na adresu '.SYSTEM_URL.'/id/1976899/, kde \r
+vyplnis formular s tvojim nickom a verifkacnym kodom.\r
+Od tej chvile bude tvoja ziadost volne pristupna\r
+uz zaregistrovanym clenom, ktori o nej budu hlasovat.\r
+Pocet hlasov aby sa ziadosti vyhovelo je x.\r
+Deadline na nazbieranie je 1 tyzden.\r
+Takze fakticky dufam ze si o sebe napisal(a) nieco inteligentne :)\r
+\r
+Prajem pekny zvysok dna',\r
+                         $login, $vercode);\r
+    // edit by br\r
+    $headers = 'From: kyberia@'. SYSTEM_URL . "\r\n" . 'X-Mailer: PHP';\r
+    mail($email, SYSTEM_URL.' verification code', $emailtext, $headers);\r
+    $error = '<h2>Request saved, verification code sent, please check your e-mail.<h2>';\r
+\r
+    return false;\r
+}\r
+?>\r
This page took 0.149313 seconds and 4 git commands to generate.