source: trunk/registrace.php@ 405

Last change on this file since 405 was 376, checked in by george, 15 years ago
  • Upraveno: Informace o přihlášeném uživateli nově pročištěny a sjednoceny do třídy User. SQL pro kontrolu a generovány hesel dostupné přímo přes metodu CryptPasswordSQL. Přístup k Id přihlášeného uživatele přes globální proměnnou $User a vlastnost Id ($User->Id). Podobně přístup k dalším vlastnostem uživatele.
  • Opraveno: Některé chyby z předchozích předělávek.
  • Property svn:executable set to *
File size: 2.7 KB
Line 
1<?php
2
3include('includes/global.php');
4
5if(array_key_exists('user', $_POST))
6{
7 $UserName = $_POST['user'];
8 $Pass = $_POST['pass'];
9 $Pass2 = $_POST['pass2'];
10 $Email = $_POST['Email'];
11 $Team = $_POST['Team'];
12 $Language = $_POST['Language'];
13
14 if($UserName != '')
15 {
16 if($UserName != 'Addon')
17 {
18
19 if($Pass == $Pass2)
20 {
21 $Line = mysql_fetch_row($Database->SQLCommand('SELECT * FROM `User` WHERE `Name` = "'.$UserName.'"'));
22 if(!$Line)
23 {
24 $Salt = $User->GetPasswordSalt();
25 $Database->SQLCommand('INSERT INTO `User` (`Name` , `Pass` , `Salt`, `LastIP` , `LastLogin` , `Email` , `Language` , `Team` , `NeedUpdate`, `RegistrationTime` )
26 VALUES ("'.$UserName.'", '.$User->CryptPasswordSQL('"'.$Pass.'"', '"'.$Salt.'"').', "'.$Salt.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
27 $Message = 'Registrace proběhla úspěšně.<br />';
28 $User->Login($UserName, $Pass);
29 WriteLog('Uživatel se zaregistroval: '.$UserName, LOG_TYPE_USER);
30 } else $Message = 'Uživatel se zadanou přezdívkou již existuje. <a href="?">Zpět</a>';
31 } else $Message = 'Hesla se neshodují. <a href="?">Zpět</a>';
32 } else $Message = 'To jméno uživatele nemůžete použít';
33 } else $Message = 'Nelze použít prázdné jméno';
34 ShowPage();
35 echo($Message);
36 ShowFooter();
37} else
38{
39 ShowPage();
40 echo('<form action="?" method="post">
41 <fieldset><legend>Registrace nového uživatele</legend>
42 <table>
43 <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!</td></tr>
44 <tr>
45 <td>Jméno:</td>
46 <td><input type="text" name="user" /></td>
47 </tr>
48 <tr>
49 <td>Heslo:</td>
50 <td><input type="password" name="pass" /></td>
51 </tr>
52 <tr>
53 <td>Potvrzení Hesla: </td>
54 <td><input type="password" name="pass2" /></td>
55 </tr>
56 <tr>
57 <td>Email: </td>
58 <td><input type="text" name="Email" /></td>
59 </tr>
60 <tr>
61 <td>Normálně budu překládat do: </td>
62 <td>'); WriteLanguages(1); echo('</td>
63 </tr>
64 <tr>
65 <td>Patřím do týmu: </td>
66 <td><select name="Team"><option value="0">Žádného</option>
67 ');
68 $ID = $Database->SQLCommand('SELECT `Name`, `Id` FROM `Team`');
69 while($Line = mysql_fetch_assoc($ID))
70 {
71 echo('<option value="0'.$Line['Id'].'">'.$Line['Name'].'</option>');
72 }
73 echo('</select></td>
74 </tr>
75 <tr>
76 <th><input type="submit" value="Registrovat" /></th>
77 </tr>
78 </table></fieldset></form>');
79}
80
81ShowFooter();
82
83?>
Note: See TracBrowser for help on using the repository browser.