';
$pg .= 'To change your email, enter a new email address and your password';
$pg .= '
';
$pg .= '
';
$pg .= 'EMail:';
$pg .= '
';
$pg .= "";
$pg .= '
';
$pg .= '
';
$pg .= 'Password:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= '*2nd Authentication:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= "*Leave blank if you haven't enabled it";
$pg .= '
';
$pg .= '
';
$pg .= 'Change: ';
$pg .= '
';
$pg .= '
';
$pg .= '
';
$pg .= '
';
if (!isset($data['info']['u_multiaddr']))
{
$pg .= makeForm('settings');
$pg .= '
';
$pg .= '
';
$pg .= 'To change your payout address, enter a new address and your password. ';
$pg .= 'A payout address can only ever be set to one account';
$pg .= '
';
$pg .= '
';
$pg .= 'BTC Address:';
$pg .= '
';
$pg .= "";
$pg .= '
';
$pg .= '
';
$pg .= 'Password:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= '*2nd Authentication:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= "*Leave blank if you haven't enabled it";
$pg .= '
';
$pg .= '
';
$pg .= 'Change: ';
$pg .= '
';
$pg .= '
';
$pg .= '
';
$pg .= '
';
}
$pg .= makeForm('settings');
$pg .= '
';
$pg .= '
';
$pg .= 'To change your password, enter your old password and new password twice';
$pg .= '
';
$pg .= '
';
$pg .= 'Old Password:';
$pg .= '
';
$pg .= "";
$pg .= '
';
$pg .= '
';
$pg .= 'New Password:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= 'New Password again:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= '*2nd Authentication:';
$pg .= '
';
$pg .= '';
$pg .= '
';
$pg .= '
';
$pg .= "*Leave blank if you haven't enabled it";
$pg .= '
';
$pg .= '
';
$pg .= 'Change: ';
$pg .= '
';
$pg .= '
';
$pg .= '
';
$pg .= '
';
return $pg;
}
#
function dosettings($data, $user)
{
$err = '';
$chg = getparam('Change', false);
$check = false;
switch ($chg)
{
case 'EMail':
$email = getparam('email', false);
$res = bademail($email);
if ($res != null)
$err = $res;
else
{
$pass = getparam('pass', false);
$twofa = getparam('2fa', false);
$ans = userSettings($user, $email, null, $pass, $twofa);
$err = 'EMail changed';
$check = true;
}
break;
case 'Address':
if (!isset($data['info']['u_multiaddr']))
{
$res = emailcheck($user);
if ($res != null)
$err = $res;
else
{
$addr = getparam('baddr', false);
$addrarr = array(array('addr' => $addr));
$pass = getparam('pass', false);
$twofa = getparam('2fa', false);
$ans = userSettings($user, null, $addrarr, $pass, $twofa);
$err = 'Payout address changed';
$check = true;
}
}
break;
case 'Password':
$res = emailcheck($user);
if ($res != null)
$err = $res;
else
{
$oldpass = getparam('oldpass', false);
$pass1 = getparam('pass1', false);
$pass2 = getparam('pass2', false);
$twofa = getparam('2fa', false);
if (!safepass($pass1))
$err = 'Unsafe password. ' . passrequires();
elseif ($pass1 != $pass2)
$err = "Passwords don't match";
else
{
$ans = setPass($user, $oldpass, $pass1, $twofa);
$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 .= ' ';
$err .= 'An error occurred, check your details below';
goto iroiroattanoyo;
}
$emailinfo = getOpts($user, emailOptList());
if ($emailinfo['STATUS'] != 'ok')
{
if ($err != '')
$err .= ' ';
$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);
}
#
?>