1 | <?php
|
---|
2 |
|
---|
3 | include('includes/global.php');
|
---|
4 |
|
---|
5 | function ShowForm()
|
---|
6 | {
|
---|
7 | global $System;
|
---|
8 |
|
---|
9 | if(array_key_exists('sc', $_POST)) $Human = true;
|
---|
10 | else $Human = false;
|
---|
11 | if(array_key_exists('user', $_POST)) $UserName = $_POST['user'];
|
---|
12 | else $UserName = '';
|
---|
13 | if(array_key_exists('Email', $_POST)) $Email = $_POST['Email'];
|
---|
14 | else $Email = '';
|
---|
15 | if(array_key_exists('Team', $_POST)) $Team = $_POST['Team'];
|
---|
16 | else $Team = '';
|
---|
17 | if(array_key_exists('Language', $_POST)) $Language = $_POST['Language'];
|
---|
18 | else $Language = 1;
|
---|
19 |
|
---|
20 | $Output = '<form action="?" method="post">
|
---|
21 | <fieldset><legend>Registrace nového uživatele</legend>
|
---|
22 | <table>
|
---|
23 | <tr><td colspan="2">Pozorně si přečtěte <a href="info.php">pokyny k překladu</a> a řiďte se jimi. Překládat je nutno včetně háčků a čárek!<br/><br/></td></tr>
|
---|
24 | <tr>
|
---|
25 | <td>Jsi člověk? </td>';
|
---|
26 | if($Human) $Checked = ' checked="checked"';
|
---|
27 | else $Checked = '';
|
---|
28 | $Output .= '<td><input type="checkbox" name="sc" '.$Checked.'/></td>
|
---|
29 | </tr>
|
---|
30 | <tr>
|
---|
31 | <td>Jméno:</td>
|
---|
32 | <td><input type="text" name="user" value="'.$UserName.'"/></td>
|
---|
33 | </tr>
|
---|
34 | <tr>
|
---|
35 | <td>Heslo:</td>
|
---|
36 | <td><input type="password" name="pass" /></td>
|
---|
37 | </tr>
|
---|
38 | <tr>
|
---|
39 | <td>Potvrzení Hesla: </td>
|
---|
40 | <td><input type="password" name="pass2" /></td>
|
---|
41 | </tr>
|
---|
42 | <tr>
|
---|
43 | <td>Email: </td>
|
---|
44 | <td><input type="text" name="Email" value="'.$Email.'"/></td>
|
---|
45 | </tr>
|
---|
46 | <tr>
|
---|
47 | <td>Normálně budu překládat do: </td>
|
---|
48 | <td>'.WriteLanguages($Language).'</td>
|
---|
49 | </tr>
|
---|
50 | <tr>
|
---|
51 | <td>Patřím do týmu: </td>';
|
---|
52 | if($Team == '') $Selected = ' selected="selected"';
|
---|
53 | else $Selected = '';
|
---|
54 | $Output .= '<td><select name="Team"><option value="0"'.$Selected.'>Žádného</option>
|
---|
55 | ';
|
---|
56 | $DbResult = $System->Database->query('SELECT `Name`, `Id` FROM `Team`');
|
---|
57 | while($Line = $DbResult->fetch_assoc())
|
---|
58 | {
|
---|
59 | if($Team == $Line['Id']) $Selected = ' selected="selected"';
|
---|
60 | else $Selected = '';
|
---|
61 | $Output .= '<option value="0'.$Line['Id'].'"'.$Selected.'>'.$Line['Name'].'</option>';
|
---|
62 | }
|
---|
63 | $Output .= '</select></td>
|
---|
64 | </tr>
|
---|
65 | <tr>
|
---|
66 | <th><input type="submit" value="Registrovat" /></th>
|
---|
67 | </tr>
|
---|
68 | </table></fieldset></form>';
|
---|
69 | return($Output);
|
---|
70 | }
|
---|
71 |
|
---|
72 | $ForbiddedNames = array('Addon', 'admin', 'administrator');
|
---|
73 |
|
---|
74 | $Output = '';
|
---|
75 | if(array_key_exists('user', $_POST))
|
---|
76 | {
|
---|
77 | $ShowForm = true;
|
---|
78 |
|
---|
79 | $UserName = $_POST['user'];
|
---|
80 | $Pass = $_POST['pass'];
|
---|
81 | $Pass2 = $_POST['pass2'];
|
---|
82 | $Email = $_POST['Email'];
|
---|
83 | $Team = $_POST['Team'];
|
---|
84 | $Language = $_POST['Language'];
|
---|
85 | if(array_key_exists('sc', $_POST)) $SpamCheck = $_POST['sc'];
|
---|
86 | else $SpamCheck = '';
|
---|
87 |
|
---|
88 | if($SpamCheck != '')
|
---|
89 | {
|
---|
90 | if($UserName != '')
|
---|
91 | {
|
---|
92 | if(!in_array($UserName, $ForbiddedNames))
|
---|
93 | {
|
---|
94 | if($Pass == $Pass2)
|
---|
95 | {
|
---|
96 | $DbResult = $System->Database->query('SELECT * FROM `User` WHERE LOWER(`Name`) = LOWER("'.$UserName.'")');
|
---|
97 | $Line = $DbResult->fetch_row();
|
---|
98 | if(!$Line)
|
---|
99 | {
|
---|
100 | $Salt = $User->GetPasswordSalt();
|
---|
101 | if($Team == 0) $Team = 'NULL';
|
---|
102 | $System->Database->query('INSERT INTO `User` (`Name` , `Pass` , `Salt`, `LastIP` , `LastLogin` , `Email` , `Language` , `Team` , `NeedUpdate`, `RegistrationTime` ) '.
|
---|
103 | 'VALUES ("'.$UserName.'", '.$User->CryptPasswordSQL('"'.$Pass.'"', '"'.$Salt.'"').', "'.$Salt.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
|
---|
104 | $Output .= ShowMessage('Registrace proběhla úspěšně.');
|
---|
105 | $Output .= 'Přečtěte si pozorně <a href="'.$System->Link('/info.php').'">pokyny pro překladání</a> a můžete pak hned začít překládat.';
|
---|
106 | $User->Login($UserName, $Pass);
|
---|
107 | WriteLog('Uživatel se zaregistroval: '.$UserName, LOG_TYPE_USER);
|
---|
108 | $ShowForm = false;
|
---|
109 | } else $Output = ShowMessage('Uživatel se zadanou přezdívkou již existuje.', MESSAGE_CRITICAL);
|
---|
110 | } else $Output = ShowMessage('Hesla se neshodují.', MESSAGE_CRITICAL);
|
---|
111 | } else $Output = ShowMessage('To jméno uživatele nemůžete použít.', MESSAGE_CRITICAL);
|
---|
112 | } else $Output = ShowMessage('Nelze použít prázdné jméno.', MESSAGE_CRITICAL);
|
---|
113 | } else $Output = ShowMessage('Nejsi člověk. Strojům není dovoleno se registrovat.', MESSAGE_CRITICAL);
|
---|
114 |
|
---|
115 | if($ShowForm) $Output .= ShowForm();
|
---|
116 | } else $Output .= ShowForm();
|
---|
117 |
|
---|
118 | ShowPage($Output);
|
---|
119 |
|
---|
120 | ?>
|
---|