/** * 登录操作 * */ public function indexOp(){ $lang = Language::getLangContent(); $model_member = Model('member'); //检查登录状态 $model_member->checkloginMember(); $script="document.getElementsByName('codeimage')[0].src='".APP_SITE_URL."/index.php?act=seccode&op=makecode&nchash='+NC_HASH+'&t=' + Math.random();"; $result = chksubmit(true,true,'num'); if ($result !== false){ if ($result === -11){ showDialog(L('login_index_login_illegal'),'','error',$script,2); }elseif ($result === -12){ showDialog(L('login_index_wrong_checkcode'),'','error',$script,2); } if (process::islock('login')) { showDialog(L('login_index_op_repeat'),APP_SITE_URL); } $array = array(); $array['member_name'] = $_POST['user_name']; $array['member_passwd'] = md5($_POST['password']); $member_info = $model_member->infoMember($array); if(is_array($member_info) and !empty($member_info)) { if(!$member_info['member_state']){ showDialog($lang['login_index_account_stop']); } } else { process::addprocess('login'); showDialog($lang['login_index_login_fail'],'','error',$script,2); } $model_member->createSession($member_info); process::clear('login'); // cookie中的cart存入数据库 Model('cart')->mergecart($member_info,$_SESSION['store_id']); // cookie中的浏览记录存入数据库 Model('goods_browse')->mergebrowse($_SESSION['member_id'],$_SESSION['store_id']); //添加会员积分 $model_member->addPoint($member_info); showDialog(L('login_index_login_success'),'reload','succ','',2); } if(empty($_GET['ref_url'])) $_GET['ref_url'] = getReferer(); Tpl::output('html_title',C('site_name').' - '.$lang['login_index_login']); Tpl::output('nchash',getNchash()); if ($_GET['inajax'] == 1){ Tpl::showpage('login_inajax','null_layout'); }else{ return false; } }
/** * 不进行父类的登录验证,所以增加构造方法重写了父类的构造方法 */ public function __construct() { Language::read('common,layout,login'); $result = chksubmit(true, true, 'num'); if ($result) { if ($result === -11) { showMessage('非法请求'); } // if ($result === -12){ // showMessage(L('login_index_checkcode_wrong')); // } //var_dump($_POST['captcha']); if (process::islock('admin')) { showMessage('您的操作过于频繁,请稍后再试'); } $obj_validate = new Validate(); $obj_validate->validateparam = array(array("input" => $_POST["user_name"], "require" => "true", "message" => L('login_index_username_null')), array("input" => $_POST["password"], "require" => "true", "message" => L('login_index_password_null')), array("input" => $_POST["captcha"], "require" => "true", "message" => L('login_index_checkcode_null'))); $error = $obj_validate->validate(); if ($error != '') { showMessage(L('error') . $error); } else { $model_admin = Model('admin'); $array = array(); $array['admin_name'] = $_POST['user_name']; $array['admin_password'] = md5(trim($_POST['password'])); $admin_info = $model_admin->infoAdmin($array); if (is_array($admin_info) and !empty($admin_info)) { $this->systemSetKey(array('name' => $admin_info['admin_name'], 'id' => $admin_info['admin_id'], 'gid' => $admin_info['admin_gid'], 'sp' => $admin_info['admin_is_super'])); $update_info = array('admin_id' => $admin_info['admin_id'], 'admin_login_num' => $admin_info['admin_login_num'] + 1, 'admin_login_time' => TIMESTAMP); $model_admin->updateAdmin($update_info); $this->log(L('nc_login'), 1); process::clear('admin'); @header('Location: index.php'); exit; } else { process::addprocess('admin'); showMessage(L('login_index_username_password_wrong'), 'index.php?act=login&op=login'); } } } Tpl::output('html_title', L('login_index_need_login')); Tpl::showpage('login', 'login_layout'); }
/** * 找回密码的发邮件处理 */ public function find_passwordOp() { Language::read('home_login_register'); $lang = Language::getLangContent(); $result = chksubmit(true, true, 'num'); if ($result !== false) { if ($result === -11) { showDialog('非法提交'); } elseif ($result === -12) { showDialog('验证码错误'); } } if (empty($_POST['username'])) { showDialog($lang['login_password_input_username']); } if (process::islock('forget')) { showDialog($lang['nc_common_op_repeat'], 'reload'); } $member_model = Model('member'); $member = $member_model->getMemberInfo(array('member_name' => $_POST['username'])); if (empty($member) or !is_array($member)) { process::addprocess('forget'); showDialog($lang['login_password_username_not_exists'], 'reload'); } if (empty($_POST['email'])) { showDialog($lang['login_password_input_email'], 'reload'); } if (strtoupper($_POST['email']) != strtoupper($member['member_email'])) { process::addprocess('forget'); showDialog($lang['login_password_email_not_exists'], 'reload'); } process::clear('forget'); //产生密码 $new_password = random(15); if (!$member_model->editMember(array('member_id' => $member['member_id']), array('member_passwd' => md5($new_password)))) { showDialog($lang['login_password_email_fail'], 'reload'); } $model_tpl = Model('mail_templates'); $tpl_info = $model_tpl->getTplInfo(array('code' => 'reset_pwd')); $param = array(); $param['site_name'] = C('site_name'); $param['user_name'] = $_POST['username']; $param['new_password'] = $new_password; $param['site_url'] = SHOP_SITE_URL; $subject = ncReplaceText($tpl_info['title'], $param); $message = ncReplaceText($tpl_info['content'], $param); $email = new Email(); $result = $email->send_sys_email($_POST["email"], $subject, $message); showDialog('新密码已经发送至您的邮箱,请尽快登录并更改密码!', '', 'succ', '', 5); }
/** * 找回密码的(手机处理) */ public function find_password_mobileOp() { Language::read('home_login_register'); $lang = Language::getLangContent(); $result = chksubmit(true, true, 'num'); if ($result !== false) { if ($result === -11) { showDialog('非法提交'); } elseif ($result === -12) { showDialog('验证码错误'); } } $username = trim($_POST['username']); $password = trim($_POST['password']); $member_mobile = trim($_POST['mobile']); $mobile_code = trim($_POST['mobile_code']); if (empty($username)) { showDialog($lang['login_password_input_username']); } if (process::islock('forget')) { showDialog($lang['nc_common_op_repeat'], 'reload'); } //zmr>>> if (!$_SESSION['mobile_auth_code']) { showDialog('手机验证码未获取到', '', 'error'); } $new_code = $_SESSION['mobile_auth_code']; if ($mobile_code == '') { showDialog('手机验证码不能为空', '', 'error'); } if ($new_code != $mobile_code) { showDialog('手机验证码不正确', '', 'error'); } $_SESSION['mobile_auth_code'] = ''; //zmr<<< $member_model = Model('member'); $member = $member_model->getMemberInfo(array('member_name' => $username)); if (empty($member) or !is_array($member)) { process::addprocess('forget'); showDialog($lang['login_password_username_not_exists'], 'reload'); } if (empty($member_mobile)) { showDialog('请输入手机号码', 'reload'); } if (strtoupper($member_mobile) != strtoupper($member['member_mobile'])) { process::addprocess('forget'); showDialog('此用户名绑定的手机号码不是' . $member_mobile, 'reload'); } process::clear('forget'); //产生密码 $new_password = $password; if (!$member_model->editMember(array('member_id' => $member['member_id']), array('member_passwd' => md5($new_password)))) { showDialog('更新会员密码时出错', 'reload'); } showDialog('更新密码成功', 'index.php?act=member&op=home', 'succ'); }
/** * 找回密码的发邮件处理 */ public function find_passwordOp(){ Language::read('home_login_register'); $lang = Language::getLangContent(); $result = chksubmit(true,true,'num'); if (!$result){ showDialog('非法提交'); }elseif ($result === -11){ showDialog('非法提交'); }elseif ($result === -12){ showDialog('验证码错误'); } if(empty($_POST['username'])){ showDialog($lang['login_password_input_username']); } if (process::islock('forget')) { showDialog($lang['nc_common_op_repeat'],'reload'); } $member_model = Model('member'); $member = $member_model->infoMember(array('member_name'=>$_POST['username'])); if(empty($member) or !is_array($member)){ process::addprocess('forget'); showDialog($lang['login_password_username_not_exists'],'reload'); } if(empty($_POST['email'])){ showDialog($lang['login_password_input_email'],'reload'); } if(strtoupper($_POST['email'])!=strtoupper($member['member_email'])){ process::addprocess('forget'); showDialog($lang['login_password_email_not_exists'],'reload'); } process::clear('forget'); //产生密码 $new_password = random(15); if(!($member_model->updateMember(array('member_passwd'=>md5($new_password)),$member['member_id']))){ showDialog($lang['login_password_email_fail'],'reload'); }else{ if(C('ucenter_status')) { /** * Ucenter处理 */ $model_ucenter = Model('ucenter'); $model_ucenter->userEdit(array('login_name'=>$_POST['username'],'','password'=>trim($new_password))); } } $cron_data = array('exetime'=>TIMESTAMP,'exeid'=>$member['member_id'],'type'=>2,'code'=>'email_touser_find_password', 'content'=>array(array( 'site_name' => $GLOBALS['setting_config']['site_name'], 'site_url' => SHOP_SITE_URL, 'user_name' => $_POST['username'], 'new_password' => $new_password ),false)); $this->addcron($cron_data,true); // $extend_js = "<script src='".SHOP_SITE_URL."/index.php?act=login&op=send_email'></script>"; // showMessage($lang['login_password_email_success'].$extend_js,SHOP_SITE_URL); //$this->send_emailOp(); $this->send_notice($member['member_id'],'email_touser_find_password',array( 'site_name' => $GLOBALS['setting_config']['site_name'], 'site_url' => SHOP_SITE_URL, 'user_name' => $_POST['username'], 'new_password' => $new_password ),false); showDialog($lang['login_password_email_success'],SHOP_SITE_URL,'succ'); }