1 | <?php
|
---|
2 |
|
---|
3 | error_reporting(2039);
|
---|
4 | set_time_limit(600);
|
---|
5 |
|
---|
6 | require_once 'configs/config.php';
|
---|
7 | require_once 'includes/db.php';
|
---|
8 | require_once 'includes/smarty.php';
|
---|
9 |
|
---|
10 | // Таблица соответствия номеров переводов
|
---|
11 | global $languages;
|
---|
12 | $languages = array(
|
---|
13 | 0 => 'enus',
|
---|
14 | 1 => 'czcs',
|
---|
15 | 8 => 'ruru',
|
---|
16 |
|
---|
17 | );
|
---|
18 | function str_normalize($str)
|
---|
19 | {
|
---|
20 | return str_replace("'", "\'", $str);
|
---|
21 | }
|
---|
22 |
|
---|
23 | // Функция разделения строки по точке, например
|
---|
24 | // 15.12 -> {15,12}
|
---|
25 | function point_delim(&$str, &$a, &$b)
|
---|
26 | {
|
---|
27 | @list($a, $b) = explode('.', $str, 2);
|
---|
28 | return;
|
---|
29 | }
|
---|
30 |
|
---|
31 | function CheckPwd($username, $shapass)
|
---|
32 | {
|
---|
33 | // Проверка пароля пользователя
|
---|
34 | // -1: пользователя не существует
|
---|
35 | // 0: пароли не совпадают
|
---|
36 | // >0: id пользователя
|
---|
37 | require_once 'includes/DbSimple/Generic.php';
|
---|
38 | global $rDB;
|
---|
39 | global $AoWoWconf;
|
---|
40 | $user_row = $rDB->selectRow('SELECT id, sha_pass_hash, gmlevel FROM account WHERE username=? LIMIT 1', $username);
|
---|
41 | if ($user_row)
|
---|
42 | {
|
---|
43 | if ($shapass==$user_row['sha_pass_hash'])
|
---|
44 | {
|
---|
45 | $user = array();
|
---|
46 | $user['id'] = $user_row['id'];
|
---|
47 | $user['name'] = $username;
|
---|
48 | $user['roles'] = ($user_row['gmlevel']>0)? 2: 0;
|
---|
49 | /*
|
---|
50 | roles:
|
---|
51 | 0 - Обычный пользователь (gmlevel=0)
|
---|
52 | 1 - Tester
|
---|
53 | 2 - Администратор (синий, -25:25, 5, ред+уд)
|
---|
54 | 3 - (синий, -25:25, 5, ред+уд)
|
---|
55 | 4 - Editor (белый, ------, 1, ------)
|
---|
56 | 5 - (белый, ------, 1, ------)
|
---|
57 | 6 - (синий, -25:25, 5, ред+уд)
|
---|
58 | 7 - (синий, -25:25, 5, ред+уд)
|
---|
59 | 8 - Модератор (белый, -5:5 , 5, ред+уд)
|
---|
60 | 9 - (белый, -5:5 , 5, ред+уд)
|
---|
61 | 10 - (синий, -25:25, 5, ред+уд)
|
---|
62 | 11 - (синий, -25:25, 5, ред+уд)
|
---|
63 | 12 - Editor, Moderator (белый, -5:5 , 5, ред+уд)
|
---|
64 | 13 - (белый, -5:5 , 5, ред+уд)
|
---|
65 | 14 - (синий, -25:25, 5, ред+уд)
|
---|
66 | 15 - (синий, -25:25, 5, ред+уд)
|
---|
67 | 16 - Бюрократ (белый, -15:15, 5, ред+уд)
|
---|
68 | 17 - (белый, -15:15, 5, ред+уд)
|
---|
69 | 18 - (синий, -25:25, 5, ред+уд)
|
---|
70 | 19 - (синий, -25:25, 5, ред+уд)
|
---|
71 | 20 - (белый, -15:15, 5, ред+уд)
|
---|
72 | 21 - (белый, -15:15, 5, ред+уд)
|
---|
73 | 22 - (синий, -25:25, 5, ред+уд)
|
---|
74 | 23 - (синий, -25:25, 5, ред+уд)
|
---|
75 | 24 - (белый, -15:15, 5, ред+уд)
|
---|
76 | 25 - (белый, -15:15, 5, ред+уд)
|
---|
77 | 26 - (синий, -25:25, 5, ред+уд)
|
---|
78 |
|
---|
79 | */
|
---|
80 | $user['perms'] = 1;
|
---|
81 | return $user;
|
---|
82 | } else {
|
---|
83 | return 0;
|
---|
84 | }
|
---|
85 | } else {
|
---|
86 | // такого пользователя не существует
|
---|
87 | return -1;
|
---|
88 | }
|
---|
89 | }
|
---|
90 |
|
---|
91 | function create_usersend_pass($user, $pass)
|
---|
92 | {
|
---|
93 | // Хеш-код в зависимости от имени аккаунта и пароля
|
---|
94 | return sha1(strtoupper($user).':'.strtoupper($pass));
|
---|
95 | }
|
---|
96 |
|
---|
97 | function del_user_cookie()
|
---|
98 | {
|
---|
99 | setcookie ('remember_me', '', time() - 3600);
|
---|
100 | }
|
---|
101 | ?>
|
---|