Beispiel #1
0
	/**
	 * 登录操作
	 *
	 */
	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;
		}

	}
Beispiel #2
0
 /**
  * 不进行父类的登录验证,所以增加构造方法重写了父类的构造方法
  */
 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');
 }
Beispiel #3
0
 /**
  * 找回密码的发邮件处理
  */
 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);
 }
Beispiel #4
0
 /**
  * 找回密码的(手机处理)
  */
 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');
 }
Beispiel #5
0
	/**
	 * 找回密码的发邮件处理
	 */
	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');
	}