/** * 登录操作 * */ public function indexOp() { $lang = Uk86Language::uk86_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 = uk86_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 (Uk86process::uk86_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 { Uk86process::uk86_addprocess('login'); showDialog($lang['login_index_login_fail'], '', 'error', $script, 2); } $model_member->createSession($member_info); Uk86process::uk86_clear('login'); // cookie中的cart存入数据库 Model('cart')->mergecart($member_info, $_SESSION['store_id']); // cookie中的浏览记录存入数据库 Model('goods_browse')->mergebrowse($_SESSION['member_id'], $_SESSION['store_id']); //添加会员U币 $model_member->addPoint($member_info); showDialog(L('login_index_login_success'), 'reload', 'succ', '', 2); } if (empty($_GET['ref_url'])) { $_GET['ref_url'] = uk86_getReferer(); } Tpl::output('html_title', C('site_name') . ' - ' . $lang['login_index_login']); Tpl::output('nchash', uk86_getNchash()); if ($_GET['inajax'] == 1) { Tpl::showpage('login_inajax', 'null_layout'); } else { return false; } }
/** * 不进行父类的登录验证,所以增加构造方法重写了父类的构造方法 */ public function __construct() { Uk86Language::uk86_read('common,layout,login'); $result = uk86_chksubmit(true, true, 'num'); if ($result) { if ($result === -11) { uk86_showMessage('非法请求'); } elseif ($result === -12) { uk86_showMessage(L('login_index_checkcode_wrong')); } if (Uk86process::uk86_islock('admin')) { uk86_showMessage('您的操作过于频繁,请稍后再试'); } $obj_validate = new Uk86Validate(); $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->uk86_validate(); if ($error != '') { uk86_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); Uk86process::uk86_clear('admin'); @header('Location: index.php'); exit; } else { Uk86process::uk86_addprocess('admin'); uk86_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() { Uk86Language::uk86_read('home_login_register'); $lang = Uk86Language::uk86_getLangContent(); $result = uk86_chksubmit(true, true, 'num'); if ($result !== false) { if ($result === -11) { showDialog('非法提交'); } elseif ($result === -12) { showDialog('验证码错误'); } } if (empty($_POST['email'])) { showDialog($lang['login_password_input_email']); } if (Uk86process::uk86_islock('forget')) { showDialog($lang['nc_common_op_repeat'], 'reload'); } $member_model = Model('member'); $member = $member_model->getMemberInfo(array('member_email' => $_POST['email'])); if (empty($member) or !is_array($member)) { Uk86process::uk86_addprocess('forget'); showDialog($lang['login_password_email_not_exists'], 'reload'); } // if(empty($_POST['email'])){ // showDialog($lang['login_password_input_email'],'reload'); // } // if(strtoupper($_POST['email'])!=strtoupper($member['member_email'])){ // Uk86process::uk86_addprocess('forget'); // showDialog($lang['login_password_email_not_exists'],'reload'); // } Uk86process::uk86_clear('forget'); //产生密码 // $new_password = uk86_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'); // } $temp = uk86_random(14); $_SESSION['temp_identifying_code'] = $temp; $_SESSION['temp_identifying_time'] = time(); // 当然这种机制是有缺陷的,可以扩展uuid等构建缓存等。 $_SESSION['temp_user_id'] = $member['member_id']; $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'] = $member['member_name']; $param['site_url'] = SHOP_SITE_URL . '/index.php?act=login&op=forget_password_identify&identity_code=' . $temp; $subject = uk86_ncReplaceText($tpl_info['title'], $param); $message = uk86_ncReplaceText($tpl_info['content'], $param); $email = new Uk86Email(); $result = $email->uk86_send_sys_email($_POST["email"], $subject, $message); showDialog('修改密码链接已经发送至您的邮箱,请在三十分钟内尽快更改密码!', '', 'succ', '', 5); }
/** * 商品咨询添加 */ public function save_consultOp() { //检查是否可以评论 if (!C('guest_comment') && !$_SESSION['member_id']) { showDialog(L('goods_index_goods_noallow')); } $goods_id = intval($_POST['goods_id']); if ($goods_id <= 0) { showDialog(L('wrong_argument')); } //咨询内容的非空验证 if (trim($_POST['goods_content']) == "") { showDialog(L('goods_index_input_consult')); } //表单验证 $result = uk86_chksubmit(true, C('captcha_status_goodsqa'), 'num'); if (!$result) { showDialog(L('invalid_request')); } elseif ($result === -11) { showDialog(L('invalid_request')); } elseif ($result === -12) { showDialog(L('wrong_checkcode')); } if (Uk86process::uk86_islock('commit')) { showDialog(L('nc_common_op_repeat')); } else { Uk86process::uk86_addprocess('commit'); } if ($_SESSION['member_id']) { //查询会员信息 $member_model = Model('member'); $member_info = $member_model->getMemberInfo(array('member_id' => $_SESSION['member_id'])); if (empty($member_info) || $member_info['is_allowtalk'] == 0) { showDialog(L('goods_index_goods_noallow')); } } //判断商品编号的存在性和合法性 $goods = Model('goods'); $goods_info = $goods->getGoodsInfoByID($goods_id, 'goods_name,store_id'); if (empty($goods_info)) { showDialog(L('goods_index_goods_not_exists')); } //判断是否是店主本人 if ($_SESSION['store_id'] && $goods_info['store_id'] == $_SESSION['store_id']) { showDialog(L('goods_index_consult_store_error')); } //检查店铺状态 $store_model = Model('store'); $store_info = $store_model->getStoreInfoByID($goods_info['store_id']); if ($store_info['store_state'] == '0' || intval($store_info['store_state']) == '2' || intval($store_info['store_end_time']) != 0 && $store_info['store_end_time'] <= time()) { showDialog(L('goods_index_goods_store_closed')); } //接收数据并保存 $input = array(); $input['goods_id'] = $goods_id; $input['goods_name'] = $goods_info['goods_name']; $input['member_id'] = intval($_SESSION['member_id']) > 0 ? $_SESSION['member_id'] : 0; $input['member_name'] = $_SESSION['member_name'] ? $_SESSION['member_name'] : ''; $input['store_id'] = $store_info['store_id']; $input['store_name'] = $store_info['store_name']; $input['ct_id'] = intval($_POST['consult_type_id']); $input['consult_addtime'] = TIMESTAMP; if (strtoupper(CHARSET) == 'GBK') { $input['consult_content'] = Uk86Language::uk86_getGBK($_POST['goods_content']); } else { $input['consult_content'] = $_POST['goods_content']; } $input['isanonymous'] = $_POST['hide_name'] == 'hide' ? 1 : 0; $consult_model = Model('consult'); if ($consult_model->addConsult($input)) { showDialog(L('goods_index_consult_success'), 'reload', 'succ'); } else { showDialog(L('goods_index_consult_fail')); } }
/** * 注册 重复注册验证 优康商城-b10 */ public function registerOp() { if (Uk86process::uk86_islock('reg')) { output_error('您的操作过于频繁,请稍后再试'); } $model_member = Model('member'); $register_info = array(); $register_info['username'] = $_POST['username']; $register_info['password'] = $_POST['password']; $register_info['password_confirm'] = $_POST['password_confirm']; $register_info['email'] = $_POST['email']; $member_info = $model_member->register($register_info); if (!isset($member_info['error'])) { Uk86process::uk86_addprocess('reg'); $token = $this->_get_token($member_info['member_id'], $member_info['member_name'], $_POST['client']); if ($token) { output_data(array('username' => $member_info['member_name'], 'key' => $token)); } else { output_error('注册失败'); } } else { output_error($member_info['error']); } }