function edit($oldnickname, $oldpw = '', $nickname = '', $password = '', $email = '', $username = '', $ignoreoldpw = 0, $inadmin = 0, $email_checked = 0) { $oldmember = array(); if (!$ignoreoldpw) { $rets = $this->login_check($oldnickname, $oldpw); if ($rets['uid'] < 1) { return $rets['uid'] - 10; } else { $oldmember = $rets; } } else { $oldmember = jsg_get_member($oldnickname, 'nickname', 0); } $uc_password = $uc_email = ''; $newmember = array(); if ($nickname && $nickname != $oldmember['nickname'] && (true !== UCENTER || true === UCENTER_MODIFY_NICKNAME || $ignoreoldpw)) { if ($oldmember['nickname'] && !$GLOBALS['_J']['config']['edit_nickname_enable'] && !$ignoreoldpw) { return -8; } $ret = $this->checkname($nickname, 1, 0, $oldmember['uid']); if ($ret < 1) { return $ret; } $newmember['nickname'] = $nickname; } if ($password) { $salt = $oldmember['salt'] ? $oldmember['salt'] : jsg_member_salt(); $password_hash = jsg_member_password($password, $salt); if ($password_hash != $oldmember['password']) { $newmember['password'] = $password_hash; $newmember['salt'] = $salt; } $uc_password = $password; } if ($username && $username != $oldmember['username'] && (!$oldmember['username'] || is_numeric($oldmember['username']) || $ignoreoldpw)) { $ret = $this->checkname($username, 0, 0, $oldmember['uid']); if ($ret < 1) { return $ret; } $newmember['username'] = $username; } if ($email && $email != $oldmember['email']) { $ret = $this->checkemail($email); if ($ret < 1) { return $ret; } if ($GLOBALS['_J']['config']['reg_email_verify'] && !$inadmin) { $newmember['role_id'] = $oldmember['role_id'] && $oldmember['role_id'] != $GLOBALS['_J']['config']['no_verify_email_role_id'] ? $oldmember['role_id'] : $GLOBALS['_J']['config']['no_verify_email_role_id']; jfunc('my'); my_member_validate($oldmember['uid'], $email, (int) ($oldmember['role_id'] != $GLOBALS['_J']['config']['no_verify_email_role_id'] ? $oldmember['role_id'] : $GLOBALS['_J']['config']['normal_default_role_id'])); } if (!$inadmin && $oldmember['email_checked'] > 0) { $newmember['email2'] = $email; } else { $newmember['email'] = $email; } $uc_email = $email; } if ($email && $inadmin) { $newmember['email_checked'] = $email_checked; if ($oldmember['role_id'] == '5' && $email_checked > 0) { $newmember['role_id'] = '3'; } } if ($inadmin && $oldmember['email_checked'] > 0 && $email_checked == 0) { $newmember['email2'] = ''; } if (true === UCENTER && $oldmember['ucuid'] > 0 && ($uc_password || $uc_email)) { $ret = uc_user_edit($oldnickname, $oldpw, $uc_password, $uc_email, $ignoreoldpw); if ($ret < 0 && -7 != $ret && -8 != $ret) { return $ret; } } if ($newmember) { $ret = jtable('members')->update($newmember, $oldmember['uid']); } else { return -7; } #if NEDU if (defined('NEDU_MOYO')) { ndata('sync')->member()->modify($oldmember['uid']); } #endif return 1; }
function updatepw($get, $post) { if (!API_UPDATEPW) { return API_RETURN_FORBIDDEN; } $pwr = md5(microtime(true) . mt_rand() . time()); $username = $get['username']; $password = $get['password'] ? $get['password'] : $pwr; if ($password) { $salt = jsg_member_salt(); $this->db->query("UPDATE `{$this->tablepre}members` SET `password`='" . jsg_member_password($password, $salt) . "', `salt`='{$salt}' WHERE `nickname`='{$username}'"); } return API_RETURN_SUCCEED; }