public function update()
{
$result = array("error" => 1, "message" => "Request failed");
if ($_POST['user_uid'] != null) {
$us = UserModel::getUserByUserId(trim($_POST['user_uid']));
if ($us) {
if ($_POST['user_email'] != null) {
$us->email = $_POST['user_email'];
}
if ($_POST['user_nickname'] != null) {
$us->nickname = $_POST['user_nickname'];
}
if ($_POST['user_port'] != null) {
$us->port = $_POST['user_port'];
}
if ($_POST['user_sspwd'] != null) {
$us->sspwd = $_POST['user_sspwd'];
}
if ($_POST['user_plan'] != null) {
$us->plan = $_POST['user_plan'];
}
if ($_POST['user_invite_num'] != null) {
$us->invite_num = $_POST['user_invite_num'];
}
if ($_POST['user_transfer'] != null) {
$us->transfer = floatval($_POST['user_transfer']) * Utils::GB;
}
if ($_POST['user_flow_down'] != null) {
$us->flow_down = floatval($_POST['user_flow_down']) * Utils::GB;
$us->flow_up = 0;
}
if ($_POST['user_enable'] != null) {
$us->enable = intval($_POST['user_enable']);
}
// 是否启用该用户。该字段会强制用户无法链接到所有服务器!
if ($_POST['user_payTime'] != null) {
$us->payTime = strtotime($_POST['user_payTime']);
}
if ($_POST['user_expireTime'] != null) {
$us->expireTime = strtotime($_POST['user_expireTime']);
}
if ($us->enable != 0 && $us->enable != 1) {
$us->enable = 0;
}
if ($us->port != null && $us->port != 0) {
$rs = UserModel::checkUserPortIsAvailable($us->port, $us->uid);
if ($rs) {
$result = array("error" => 1, "message" => "端口{$rs->port}已被占用,请更换");
return $result;
}
}
if ($_POST['user_password'] != null && $_POST['user_password'] != '') {
// change password
$us->setPassword(trim($_POST['user_password']));
}
$us->save();
if ($_POST['user_isAdmin'] != null) {
// 如果选中了管理员,设置管理员的值
$us->setAdmin($_POST['user_isAdmin']);
}
$result['error'] = 0;
$result['message'] = '更新信息成功';
$us->plan = Utils::planAutoShow($us->plan);
$us->transfer = Utils::flowAutoShow($us->transfer);
$us->flow_down = ($us->flow_up + $us->flow_down) / Utils::GB;
$us->payTime = date('Y-m-d H:i:s', $us->payTime);
$us->expireTime = date('Y-m-d H:i:s', $us->expireTime);
$result['user'] = $us;
}
}
return $result;
}