forked from freddy-mercury/total-invest
-
Notifications
You must be signed in to change notification settings - Fork 1
/
signup.php
110 lines (109 loc) · 4.11 KB
/
signup.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
$ACCESS_LEVEL = ACCESS_LEVEL_GUEST;
include_once(DOC_ROOT.'/includes/authorization.php');
if (isset($_REQUEST['action']) && $_REQUEST['action']=='signup') {
$valid = true;
if (empty($_POST['fullname']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Fullname is empty!');
$valid = false;
}
if (!preg_match('/^[A-z]{1}[0-9A-z]{2,}/', $_POST['login']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Invalid login!');
$valid = false;
}
if (User::loginExist($_POST['login']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'This login is already in use!');
$valid = false;
}
if (!check_pass($_POST['password'], 6) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Password is very simple!');
$valid = false;
}
if ($_POST['password']!=$_POST['repassword'] && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Passwords doesn\'t match!');
$valid = false;
}
if (LOGIN_PIN && !preg_match('/\d{'.$GLOBALS['TPL_CFG']['login_pin']['length'].'}/', $_POST['secpin_signup']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Not valid Login pin!');
$valid = false;
}
if (MASTER_PIN && !preg_match('/\d{'.$GLOBALS['TPL_CFG']['master_pin']['length'].'}/', $_POST['masterpin_signup']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Not valid Security pin!');
$valid = false;
}
if (QUESTIONS && empty($_POST['question_answer']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Answer is empty!');
$valid = false;
}
if ((!check_email($_POST['email']) || User::emailExist($_POST['email'])) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Invalid e-mail address or this email is already used!');
$valid = false;
}
if (empty($_POST['payment_system']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Invalid payment system!');
$valid = false;
}
/**
* LR
*/
if (empty($_POST['pm_member_id']) && $_POST['payment_system'] == 'LR') {
if (!ereg("^(U|X)[0-9]{1,}$", $_POST['account']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Invalid LR account number!');
$valid = false;
}
}
/**
* PM
*/
elseif ($_POST['payment_system'] == 'PM') {
if (!ereg("^[0-9]{1,}$", $_POST['pm_member_id']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Invalid PM member ID!');
$valid = false;
}
if (!ereg("^(U|X)[0-9]{1,}$", $_POST['account']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'Invalid PM account number!');
$valid = false;
}
}
if (empty($_POST['terms']) && $valid) {
Project::getInstance()->getSmarty()->assign('error_message', 'You should accept Terms and Conditions!');
$valid = false;
}
if ($_POST['login'] == $_POST['referral']) {
$_POST['referral'] = '';
}
if ($valid) {
$user = new User();
$_POST['pm_member_id'] = !empty($_POST['pm_member_id']) ? $_POST['pm_member_id'] : '';
$_POST['secpin'] = $_POST['secpin_signup'];
$_POST['masterpin'] = $_POST['masterpin_signup'];
$_POST['reg_date'] = Project::getInstance()->getNow();
$user->setData(sql_escapeArray($_POST));
$user->access = ACCESS_LEVEL_USER;
$user->status = USER_STATUS_ACTIVE;
if ($user_id = $user->save()) {
$page_tpl = 'signup_ok.tpl';
include_once(LIB_ROOT.'/emails.class.php');
$params = array(
'%user_fullname%' => $user->fullname,
'%user_login%' => $user->login,
'%user_password%' => $user->password,
'%user_secpin%' => $user->secpin,
'%user_masterpin%' => $user->masterpin,
'%project_name%' => get_setting('project_name'),
'%project_email%' => get_setting('project_email')
);
$email = new Emails($user_id, 'signup_notify', $params);
$email->send();
}
}
else {
Project::getInstance()->getSmarty()->assign('signup', $_POST);
$page_tpl = 'signup.tpl';
}
}
else {
$page_tpl = 'signup.tpl';
Project::getInstance()->getSmarty()->assign('signup', array($_SESSION['referral']));
}
Project::getInstance()->showPage($page_tpl);