function DoSend() { if ($this->Config['seccode_enable'] == 1 && $this->Config['seccode_password']) { if (!ckseccode(@$_POST['seccode'])) { $this->Messager("验证码输入错误", -1); } } elseif ($this->Config['seccode_enable'] > 1 && $this->Config['seccode_password'] && $this->yxm_title && $this->Config['seccode_pub_key'] && $this->Config['seccode_pri_key']) { $YinXiangMa_response = jlogic('seccode')->CheckYXM(@$_POST['add_YinXiangMa_challenge'], @$_POST['add_YXM_level'][0], @$_POST['add_YXM_input_result']); if ($YinXiangMa_response != "true") { $this->Messager("验证码输入错误", -1); } } $to = trim($this->Post['to']); if (!$to) { $this->Messager('内容不能为空', -1); } if (false === strpos($to, '@')) { $member = jsg_get_member($to, 'nickname', 0); if (!$member) { $this->Messager('用户不存在,请返回重试或者与管理员取得联系。', -1); } $to = $member['email']; } $sql = "\r\n\t\tSELECT\r\n\t\t\tM.uid,M.username,M.nickname,M.email,MF.authstr\r\n\t\tFROM\r\n\t\t\t" . TABLE_PREFIX . 'members' . " M LEFT JOIN " . TABLE_PREFIX . 'memberfields' . " MF ON(M.uid=MF.uid)\r\n\t\tWHERE\r\n\t\t\tM.email='{$to}'"; $query = $this->DatabaseHandler->Query($sql); $member = $query->GetRow(); if ($member == false) { $this->Messager("用户已经不存在", -1); } $timestamp = time(); if ($member['authstr']) { list($dateline, $operation, $idstring) = explode("\t", $member['authstr']); $inteval = 1800; if ($dateline + $inteval > $timestamp) { $this->Messager("邮件刚刚已经发送了,请稍候。如果长时间都没有收到邮件,请半小时后再发送一次或者与管理员取得联系。", -1, null); } } $idstring = random(7); $member['authstr'] = "{$timestamp}\t1\t{$idstring}"; $result = jtable('memberfields')->update($member, array('uid' => $member['uid'])); if (!$result) { jtable('memberfields')->insert($member, 0, 1); } $onlineip = $GLOBALS['_J']['client_ip']; $email_message = "您好:\r\n您收到这封邮件,是因为Email地址在{$this->Config['site_name']}上被登记为用户邮箱,\r\n且用户请求使用 Email 密码重置功能所致。\r\n----------------------------------------------------------------------\r\n重要:如果您没有提交密码重置的请求或不是{$this->Config['site_name']}的注册用户,请立即忽略\r\n并删除这封邮件。\r\n----------------------------------------------------------------------\r\n如果是您发起了找回密码申请,请在一天之内,通过点击下面的链接重置您的密码:\r\n{$this->Config['site_url']}/index.php?mod=get_password&code=reset&uid={$member['uid']}&id={$idstring}\r\n(如果上面不是链接形式,请将地址手工粘贴到浏览器地址栏再访问)\r\n\r\n上面的页面打开后,输入新的密码后提交,之后您即可使用新的密码登录\r\n{$this->Config['site_name']}了。您可以在个人设置中随时修改您的密码。\r\n\r\n本请求提交者的 IP 为 {$onlineip}\r\n此致\r\n{$this->Config['site_name']} 管理团队.\r\n{$this->Config['site_url']}"; $subject = "[{$this->Config['site_name']}] 取回密码说明"; send_mail($member['email'], $subject, $email_message, $this->Config['site_name'], $this->Config['site_admin_email'], array(), 3, $html = false); $email_head = $member['email'][0] . $member['email'][1] . $member['email'][2]; $mail_service = strstr($member['email'], '@'); $message = array("标题为\"<b>{$subject}</b>\"的邮件已经发送到您<b>\"{$email_head}******\"</b>开头且后缀为<b>\"{$mail_service}\"</b>的信箱中,请在 1 天之内修改您的密码。", "邮件发送可能会延迟几分钟,请耐心等待。", "部分邮件提供商会将本邮件当成垃圾邮件来处理,您或许可以进垃圾箱找到此邮件。"); $this->Messager($message, null, null); }
public function search_order() { $goods_name = jget("goods_name"); $order_sn = jget("order_sn"); $user_nickname = jget("user_nickname"); $order_status = jget("order_state", 'int'); if ($goods_name) { $goods_info = jtable('mall_goods')->info(array('name' => trim($goods_name))); $sql_str['goods_id'] = $goods_info['id']; } if ($order_sn) { $sql_str['sn'] = $order_sn; } if ($user_nickname) { $members = jsg_get_member(trim($user_nickname)); $sql_str['uid'] = $members['uid']; } if ($order_status >= 0) { $sql_str['status'] = $order_status; } $sql_str['sql_order'] = 'id desc'; $sql_str['page_num'] = 20; $list = jtable('mall_order')->get($sql_str); foreach ($list['list'] as $k => $one) { $list['list'][$k]['add_time'] = date('Y-m-d H:i:m', $one['add_time']); } include template('admin/mall_order_list'); }
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; }