Skip to content

Commit de7d31e

Browse files
committed
V2 codebase commit
1 parent e2cb98b commit de7d31e

File tree

465 files changed

+49912
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

465 files changed

+49912
-0
lines changed

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# icons and maps files
2+
images/icons/*
3+
images/maps/*
4+
5+
# custom patch files
6+
*.patch
7+
8+
# commit files
9+
commi*
10+
11+
# config file
12+
configs/config.php

.htaccess

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Order Deny,Allow
2+
<FilesMatch "\.(conf|php|tpl|in)$">
3+
Deny from all
4+
</FilesMatch>
5+
<FilesMatch "^(index|ajax|opensearch).php$">
6+
Allow from all
7+
</FilesMatch>
8+
# Запрет просмотра некоторых папок
9+
Options -Indexes
10+
# Поддержка UTF8
11+
DirectoryIndex index.php
12+
AddDefaultCharset utf8
13+
<IfModule mod_charset.c>
14+
CharsetDisable on
15+
CharsetRecodeMultipartForms Off
16+
</IfModule>
17+
php_value default_charset UTF-8

account.php

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<?php
2+
3+
// Загружаем файл перевода для smarty
4+
$smarty->config_load($conf_file, 'account');
5+
6+
// Создание аккаунта
7+
if($_REQUEST['account'] == 'signup' && isset($_POST['username']) && isset($_POST['password']) && isset($_POST['c_password']) && $AoWoWconf['register'] == true)
8+
{
9+
// Совпадают ли введенные пароли?
10+
if($_POST['password'] != $_POST['c_password'])
11+
{
12+
$smarty->assign('signup_error', $smarty->get_config_vars('Different_passwords'));
13+
}
14+
else
15+
{
16+
// Существует ли уже такой пользователь?
17+
if($rDB->selectCell('SELECT Count(id) FROM account WHERE username=? LIMIT 1', $_POST['username']) == 1)
18+
{
19+
$smarty->assign('signup_error', $smarty->get_config_vars('Such_user_exists'));
20+
}
21+
else
22+
{
23+
// Вроде все нормально, создаем аккаунт
24+
$success = $rDB->selectCell('
25+
INSERT INTO account (username, sha_pass_hash, email, joindate, expansion, last_ip)
26+
VALUES (?, ?, ?, NOW(), ?, ?)
27+
',
28+
$_POST['username'],
29+
create_usersend_pass($_POST['username'], $_POST['password']),
30+
(isset($_POST['email']))? $_POST['email'] : '',
31+
$AoWoWconf['expansion'],
32+
(isset($_SERVER["REMOTE_ADDR"]))? $_SERVER["REMOTE_ADDR"] : ''
33+
);
34+
if($success > 0)
35+
// Все отлично, авторизуем
36+
$_REQUEST['account']='signin';
37+
else
38+
// Неизвестная ошибка
39+
$smarty->assign('signup_error', $smarty->get_config_vars('Unknow_error_on_account_create'));
40+
}
41+
}
42+
}
43+
44+
if($_REQUEST['account'] == 'signin' && isset($_POST['username']) && isset($_POST['password']))
45+
{
46+
$usersend_pass = create_usersend_pass($_POST['username'], $_POST['password']);
47+
$user = CheckPwd($_POST['username'], $usersend_pass);
48+
if($user == -1)
49+
{
50+
del_user_cookie();
51+
if(isset($_SESSION['username']))
52+
unset($_SESSION['username']);
53+
$smarty->assign('signin_error', $smarty->get_config_vars('Such_user_doesnt_exists'));
54+
}
55+
elseif($user == 0)
56+
{
57+
del_user_cookie();
58+
if(isset($_SESSION['username']))
59+
unset($_SESSION['username']);
60+
$smarty->assign('signin_error', $smarty->get_config_vars('Wrong_password'));
61+
}
62+
else
63+
{
64+
// Имя пользователя и пароль совпадают
65+
$_SESSION['username'] = $user['name'];
66+
$_SESSION['shapass'] = $usersend_pass;
67+
$_REQUEST['account'] = 'signin_true';
68+
$_POST['remember_me'] = isset($_POST['remember_me']) ? $_POST['remember_me'] : 'no';
69+
if($_POST['remember_me'] == 'yes')
70+
{
71+
// Запоминаем пользователя
72+
$remember_time = time() + 3000000;
73+
SetCookie('remember_me', $_POST['username'].$usersend_pass, $remember_time);
74+
}
75+
else
76+
del_user_cookie();
77+
}
78+
}
79+
80+
81+
switch($_REQUEST['account'])
82+
{
83+
case '':
84+
// TODO: Настройки аккаунта (Account Settings)
85+
break;
86+
case 'signin_false':
87+
case 'signin':
88+
// Вход в систему
89+
$smarty->assign('register', $AoWoWconf['register']);
90+
$smarty->display('signin.tpl');
91+
break;
92+
case 'signup_false':
93+
case 'signup':
94+
// Регистрация аккаунта
95+
$smarty->display('signup.tpl');
96+
break;
97+
case 'signout':
98+
// Выход из пользователя
99+
unset($user);
100+
session_unset();
101+
session_destroy();
102+
$_SESSION = array();
103+
del_user_cookie();
104+
case 'signin_true':
105+
default:
106+
// На предыдущую страницу
107+
// Срабатывает при:
108+
// 1. $_REQUEST['account'] = 'signout' (выход)
109+
// 2. $_REQUEST['account'] = 'signok' (успешная авторизация)
110+
// 3. Неизвестное значение $_REQUEST['account']
111+
$_REQUEST['next'] = (isset($_REQUEST['next']))? $_REQUEST['next'] : '';
112+
if(($_REQUEST['next'] == '?account=signin') or ($_REQUEST['next'] == '?account=signup'))
113+
$_REQUEST['next']='';
114+
header('Location: ?'.$_REQUEST['next']);
115+
break;
116+
}
117+
?>

0 commit comments

Comments
 (0)