You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
5.4 KiB
212 lines
5.4 KiB
<?php |
|
# |
|
include_once('email.php'); |
|
# |
|
function settings($data, $user, $email, $addr, $err) |
|
{ |
|
$pg = '<h1>Account Settings</h1>'; |
|
|
|
if ($err != '') |
|
$pg .= "<span class=err>$err<br><br></span>"; |
|
|
|
$pg .= '<table cellpadding=20 cellspacing=0 border=1>'; |
|
$pg .= '<tr class=dc><td><center>'; |
|
|
|
$_SESSION['old_set_email'] = $email; |
|
|
|
$pg .= makeForm('settings'); |
|
$pg .= '<table cellpadding=5 cellspacing=0 border=0>'; |
|
$pg .= '<tr class=dc><td class=dr colspan=2>'; |
|
$pg .= 'To change your email, enter a new email address and your password'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr>'; |
|
$pg .= 'EMail:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= "<input type=text name=email value='$email' size=20>"; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr>'; |
|
$pg .= 'Password:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= '<input type=password name=pass size=20>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr colspan=2>'; |
|
$pg .= 'Change: <input type=submit name=Change value=EMail>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '</table></form>'; |
|
|
|
$pg .= '</center></td></tr>'; |
|
$pg .= '<tr class=dc><td><center>'; |
|
|
|
if (!isset($data['info']['u_multiaddr'])) |
|
{ |
|
$pg .= makeForm('settings'); |
|
$pg .= '<table cellpadding=5 cellspacing=0 border=0>'; |
|
$pg .= '<tr class=dc><td class=dr colspan=2>'; |
|
$pg .= 'To change your payout address, enter a new address and your password'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr>'; |
|
$pg .= 'BTC Address:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= "<input type=text name=baddr value='$addr' size=42>"; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr>'; |
|
$pg .= 'Password:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= '<input type=password name=pass size=20>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr colspan=2>'; |
|
$pg .= 'Change: <input type=submit name=Change value=Address>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '</table></form>'; |
|
|
|
$pg .= '</center></td></tr>'; |
|
$pg .= '<tr class=dc><td><center>'; |
|
} |
|
|
|
$pg .= makeForm('settings'); |
|
$pg .= '<table cellpadding=5 cellspacing=0 border=0>'; |
|
$pg .= '<tr class=dc><td class=dr colspan=2>'; |
|
$pg .= 'To change your password, enter your old password and new password twice'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr nowrap>'; |
|
$pg .= 'Old Password:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= "<input type=password name=oldpass size=20>"; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr nowrap>'; |
|
$pg .= 'New Password:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= '<input type=password name=pass1 size=20>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr nowrap>'; |
|
$pg .= 'New Password again:'; |
|
$pg .= '</td><td class=dl>'; |
|
$pg .= '<input type=password name=pass2 size=20>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '<tr class=dc><td class=dr colspan=2>'; |
|
$pg .= 'Change: <input type=submit name=Change value=Password>'; |
|
$pg .= '</td></tr>'; |
|
$pg .= '</table></form>'; |
|
|
|
$pg .= '</center></td></tr>'; |
|
$pg .= '</table>'; |
|
|
|
return $pg; |
|
} |
|
# |
|
function dosettings($data, $user) |
|
{ |
|
$err = ''; |
|
$chg = getparam('Change', false); |
|
$check = false; |
|
switch ($chg) |
|
{ |
|
case 'EMail': |
|
$email = getparam('email', false); |
|
$pass = getparam('pass', false); |
|
$ans = userSettings($user, $email, null, $pass); |
|
$err = 'EMail changed'; |
|
$check = true; |
|
break; |
|
case 'Address': |
|
if (!isset($data['info']['u_multiaddr'])) |
|
{ |
|
$addr = getparam('baddr', false); |
|
$addrarr = array(array('addr' => $addr)); |
|
$pass = getparam('pass', false); |
|
$ans = userSettings($user, null, $addrarr, $pass); |
|
$err = 'Payout address changed'; |
|
$check = true; |
|
} |
|
break; |
|
case 'Password': |
|
$oldpass = getparam('oldpass', false); |
|
$pass1 = getparam('pass1', false); |
|
$pass2 = getparam('pass2', false); |
|
if (!safepass($pass1)) |
|
{ |
|
$err = "Password is unsafe - requires 6 or more characters, including<br>" . |
|
"at least one of each uppercase, lowercase and digits, but not Tab"; |
|
} |
|
elseif ($pass1 != $pass2) |
|
$err = "Passwords don't match"; |
|
else |
|
{ |
|
$ans = setPass($user, $oldpass, $pass1); |
|
$err = 'Password changed'; |
|
$check = true; |
|
} |
|
break; |
|
} |
|
$doemail = false; |
|
if ($check === true) |
|
{ |
|
if ($ans['STATUS'] != 'ok') |
|
{ |
|
$err = $ans['STATUS']; |
|
if ($ans['ERROR'] != '') |
|
$err .= ': '.$ans['ERROR']; |
|
} |
|
else |
|
$doemail = true; |
|
} |
|
$ans = userSettings($user); |
|
if ($ans['STATUS'] != 'ok') |
|
dbdown(); // Should be no other reason? |
|
if (isset($ans['email'])) |
|
$email = $ans['email']; |
|
else |
|
$email = ''; |
|
// Use the first one - updating will expire all others |
|
if (isset($ans['rows']) and $ans['rows'] > 0) |
|
$addr = $ans['addr:0']; |
|
else |
|
$addr = ''; |
|
|
|
if ($doemail) |
|
{ |
|
if ($email == '') |
|
{ |
|
if ($err != '') |
|
$err .= '<br>'; |
|
$err .= 'An error occurred, check your details below'; |
|
goto iroiroattanoyo; |
|
} |
|
|
|
$emailinfo = getOpts($user, emailOptList()); |
|
if ($emailinfo['STATUS'] != 'ok') |
|
{ |
|
if ($err != '') |
|
$err .= '<br>'; |
|
$err .= 'An error occurred, check your details below'; |
|
goto iroiroattanoyo; |
|
} |
|
|
|
switch ($chg) |
|
{ |
|
case 'EMail': |
|
if (isset($_SESSION['old_set_email'])) |
|
$old = $_SESSION['old_set_email']; |
|
else |
|
$old = null; |
|
emailAddressChanged($email, zeip(), $emailinfo, $old); |
|
break; |
|
case 'Address': |
|
payoutAddressChanged($email, zeip(), $emailinfo); |
|
break; |
|
case 'Password': |
|
passChanged($email, zeip(), $emailinfo); |
|
break; |
|
} |
|
} |
|
iroiroattanoyo: |
|
$pg = settings($data, $user, $email, $addr, $err); |
|
return $pg; |
|
} |
|
# |
|
function show_settings($info, $page, $menu, $name, $user) |
|
{ |
|
gopage($info, NULL, 'dosettings', $page, $menu, $name, $user); |
|
} |
|
# |
|
?>
|
|
|