Newer
Older
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
<?php
/*********************************************************************
profile.php
Manage client profile. This will allow a logged-in user to manage
his/her own public (non-internal) information
Peter Rotich <peter@osticket.com>
Jared Hancock <jared@osticket.com>
Copyright (c) 2006-2013 osTicket
http://www.osticket.com
Released under the GNU General Public License WITHOUT ANY WARRANTY.
See LICENSE.TXT for details.
vim: expandtab sw=4 ts=4 sts=4:
$Id: $
**********************************************************************/
require 'client.inc.php';
$inc = 'register.inc.php';
if (!$cfg || !$cfg->isClientRegistrationEnabled()) {
Http::redirect('index.php');
}
elseif ($_POST) {
$errors = array();
$user_form = UserForm::getUserForm()->getForm($_POST);
if (!$user_form->isValid(function($f) { return !$f->get('internal'); }))
$errors['err'] = 'Incomplete client information';
elseif (!$_POST['passwd1'])
$errors['passwd1'] = 'New password required';
elseif ($_POST['passwd2'] != $_POST['passwd1'])
$errors['passwd1'] = 'Passwords do not match';
elseif (!($user=User::fromForm($user_form)))
$errors['err'] = 'Unable to register account. See messages below';
else {
if (!($acct = ClientAccount::createForUser($user)))
$errors['err'] = 'Internal error. Unable to create new account';
elseif (!$acct->update($_POST, $errors))
$errors['err'] = 'Errors configuring your profile. See messages below';
}
if (!$errors) {
switch ($_POST['do']) {
case 'create':
$inc = 'register.confirm.inc.php';
}
}
if ($errors && $user)
$user->delete();
}
include(CLIENTINC_DIR.'header.inc.php');
include(CLIENTINC_DIR.$inc);
include(CLIENTINC_DIR.'footer.inc.php');