public function do_register() { //查询用户是否存在 $aqj_id = trim($_POST['reg_aqjid']); $aqj_mobile = trim($_POST['reg_m']); $xlc_user = $GLOBALS['db']->getRow("select id,mobile,user_pwd from " . DB_PREFIX . "user where mobile='" . $aqj_mobile . "'"); if ($xlc_user) { $aqj_user = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "ap_partner_user where user_id=" . $xlc_user['id']); if (!$aqj_user) { $user_ap_partner = array(); $user_ap_partner['user_id'] = $xlc_user['id']; $user_ap_partner['partner_id'] = 2; $user_ap_partner['partner_user_id'] = $aqj_id; $user_ap_partner['create_time'] = time(); $GLOBALS['db']->autoExecute(DB_PREFIX . "ap_partner_user", $user_ap_partner); } else { $GLOBALS['db']->query("update " . DB_PREFIX . "ap_partner_user set partner_user_id = '" . $aqj_id . "' where user_id = " . $xlc_user['id']); } require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($xlc_user['mobile'], $xlc_user['user_pwd']); app_redirect(url("aps")); } else { require_once APP_ROOT_PATH . "system/libs/user.php"; $user_data = array(); $user_data['user_name'] = $aqj_mobile; $user_data['mobile'] = $aqj_mobile; $user_data['user_pwd'] = rand(100000, 999999); //开启邮箱验证 if (app_conf("USER_VERIFY") == 0 || app_conf("USER_VERIFY") == 2) { $user_data['is_effect'] = 1; } else { $user_data['is_effect'] = 0; } $res = save_user($user_data); statistics('register'); $user_ap_partner = array(); $user_ap_partner['user_id'] = $res['data']; $user_ap_partner['partner_id'] = 2; $user_ap_partner['partner_user_id'] = $aqj_id; $user_ap_partner['create_time'] = time(); $GLOBALS['db']->autoExecute(DB_PREFIX . "ap_partner_user", $user_ap_partner); $result = do_login_user($user_data['mobile'], $user_data['user_pwd']); send_auto_register_pwd($aqj_mobile, $user_data['user_pwd']); app_redirect(url("aps")); } }
public function callback() { global_run(); require_once APP_ROOT_PATH . 'system/api_login/sina/saetv2.ex.class.php'; //$sina_keys = es_session::get("sina_keys"); $o = new SaeTOAuthV2($this->api['config']['app_key'], $this->api['config']['app_secret']); if (isset($_REQUEST['code'])) { $keys = array(); $keys['code'] = $_REQUEST['code']; if ($this->api['config']['app_url'] == "") { $app_url = SITE_DOMAIN . APP_ROOT . "/api_callback.php?c=Sina"; } else { $app_url = $this->api['config']['app_url']; } $keys['redirect_uri'] = $app_url; try { $token = $o->getAccessToken('code', $keys); } catch (OAuthException $e) { //print_r($e);exit; showErr("授权失败,错误信息:" . $e->getMessage()); die; } } $c = new SaeTClientV2($this->api['config']['app_key'], $this->api['config']['app_secret'], $token['access_token']); $ms = $c->home_timeline(); // done $uid_get = $c->get_uid(); $uid = $uid_get['uid']; $msg = $c->show_user_by_id($uid); //根据ID获取用户等基本信息 if (intval($msg['error_code']) != 0) { showErr("授权失败,错误代码:" . $msg['error_code']); die; } $msg['field'] = 'sina_id'; $msg['sina_token'] = $token['access_token']; es_session::set("api_user_info", $msg); if (!$msg['name']) { app_redirect(url("index")); exit; } //print_r($msg);die(); $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where sina_id = '" . $msg['id'] . "' and sina_id <> '' and is_effect=1 and is_delete=0"); $is_bind = intval(es_session::get("is_bind")); if ($user_data) { $GLOBALS['db']->query("update " . DB_PREFIX . "user set sina_token = '" . $token['access_token'] . "',login_ip = '" . CLIENT_IP . "',login_time= " . NOW_TIME . " where id =" . $user_data['id']); es_session::delete("api_user_info"); if ($is_bind) { if (intval($user_data['id']) != intval($GLOBALS['user_info']['id'])) { showErr("该帐号已经被别的会员绑定过,请直接用帐号登录", 0, url("index", "uc_account")); } else { require_once APP_ROOT_PATH . "system/model/user.php"; load_user($user_data['id'], true); es_session::set("user_info", $user_data); app_redirect(url("index", "uc_account")); } } else { require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } } elseif ($is_bind == 1 && $GLOBALS['user_info']) { //当有用户身份且要求绑定时 $GLOBALS['db']->query("update " . DB_PREFIX . "user set sina_id= '" . $msg['id'] . "', sina_token ='" . $token['access_token'] . "' where id =" . $GLOBALS['user_info']['id']); require_once APP_ROOT_PATH . "system/model/user.php"; load_user($GLOBALS['user_info']['id'], true); app_redirect(url("index", "uc_account")); } else { $user_info = $this->create_user(); require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_info['user_name'], $user_info['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } }
public function callback() { es_session::start(); require_once APP_ROOT_PATH . 'system/api_login/Tencent/Tencent.php'; OAuth::init($this->api['config']['app_key'], $this->api['config']['app_secret']); $code = trim(addslashes($_REQUEST['code'])); $openid = trim(addslashes($_REQUEST['openid'])); $openkey = trim(addslashes($_REQUEST['openkey'])); if ($this->api['config']['app_url'] == "") { $app_url = get_domain() . APP_ROOT . "/api_callback.php?c=Tencent"; } else { $app_url = $this->api['config']['app_url']; } $token_url = OAuth::getAccessToken($code, $app_url); $result = Http::request($token_url); $result = preg_replace('/[^\\x20-\\xff]*/', "", $result); //清除不可见字符 $result = iconv("utf-8", "utf-8//ignore", $result); //UTF-8转码 parse_str($result, $result_arr); $access_token = $result_arr['access_token']; $refresh_token = $result_arr['refresh_token']; $name = $result_arr['name']; $nick = $result_arr['nick']; $is_bind = intval(es_session::get("is_bind")); es_session::set("t_access_token", $access_token); es_session::set("t_openid", $openid); es_session::set("t_openkey", $openkey); if (es_session::get("t_access_token") || es_session::get("t_openid") && es_session::get("t_openkey")) { $msg['field'] = 'tencent_id'; $msg['id'] = $name; $msg['name'] = $name; $msg['t_access_token'] = $access_token; $msg['t_openid'] = $access_token; $msg['t_openkey'] = $openkey; es_session::set("api_user_info", $msg); if (!$msg['name']) { app_redirect(url("index")); } $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where tencent_id = '" . $name . "' and tencent_id <> ''"); if ($user_data) { $user_current_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where id = " . intval($user_data['group_id'])); $user_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where score <=" . intval($user_data['score']) . " order by score desc"); if ($user_current_group['score'] < $user_group['score']) { $user_data['group_id'] = intval($user_group['id']); } $GLOBALS['db']->query("update " . DB_PREFIX . "user set t_access_token ='" . $access_token . "',t_openkey = '" . $openkey . "',t_openid = '" . $openid . "', login_ip = '" . get_client_ip() . "',login_time= " . get_gmtime() . ",group_id=" . intval($user_data['group_id']) . " where id =" . $user_data['id']); $GLOBALS['db']->query("update " . DB_PREFIX . "deal_cart set user_id = " . intval($user_data['id']) . " where session_id = '" . es_session::id() . "'"); require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); es_session::delete("api_user_info"); app_recirect_preview(); } else { $this->create_user(); app_redirect(url("shop", "user#stepone")); } } }
require_once APP_ROOT_PATH . "app/Lib/modules/" . $module . "Module.class.php"; } if (!method_exists($module . "Module", $action)) { $action = "index"; } define("MODULE_NAME", $module); define("ACTION_NAME", $action); //载入会员登录信息 //会员自动登录及输出 $cookie_uname = es_cookie::get("email") ? es_cookie::get("email") : ''; $cookie_upwd = es_cookie::get("user_pwd") ? es_cookie::get("user_pwd") : ''; if ($cookie_uname != '' && $cookie_upwd != '' && !es_session::get("user_info")) { $cookie_uname = strim($cookie_uname); $cookie_upwd = strim($cookie_upwd); require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($cookie_uname, $cookie_upwd); } $user_info = es_session::get('user_info'); if ($module != "ajax") { if ($user_info) { $user_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . intval($GLOBALS['user_info']['id']) . " and is_effect = 1"); es_session::set('user_info', $user_info); //查询登入用户所对应的user_level $user_level = $GLOBALS['db']->getAll("select level from " . DB_PREFIX . "user_level where id=" . intval($GLOBALS['user_info']['user_level'])); //给前台会员的level值 $GLOBALS['tmpl']->assign("user_level", $user_level); $GLOBALS['tmpl']->assign("user_info", $user_info); } //输出导航菜单 $nav_list = get_nav_list(); $nav_list = init_nav_list($nav_list);
function user_login() { //会员自动登录及输出 if ($GLOBALS['wx_info']) { $userinfo = get_user_has("wx_openid", $GLOBALS['wx_info']['openid']); // print_r($userinfo); $cookie_uname = $userinfo['user_name']; $cookie_upwd = $userinfo['user_pwd']; //logUtils::log_str($cookie_uname); //logUtils::log_str($cookie_upwd); // echo $cookie_uname." ".$cookie_upwd;exit; if ($cookie_uname != '' && $cookie_upwd != '') { //logUtils::log_str("=======1======="); $cookie_uname = addslashes(trim(htmlspecialchars($cookie_uname))); $cookie_upwd = addslashes(trim(htmlspecialchars($cookie_upwd))); require_once APP_ROOT_PATH . "system/model/user.php"; //require_once APP_ROOT_PATH."app/Lib/common.php"; auto_do_login_user($cookie_uname, $cookie_upwd, false); //logUtils::log_str("========2========="); } } else { $cookie_uname = es_cookie::get("user_name") ? es_cookie::get("user_name") : ''; $cookie_upwd = es_cookie::get("user_pwd") ? es_cookie::get("user_pwd") : ''; //logUtils::log_str($cookie_uname); //logUtils::log_str($cookie_upwd); if ($cookie_uname != '' && $cookie_upwd != '' && !es_session::get("user_info")) { //logUtils::log_str("=======1======="); $cookie_uname = addslashes(trim(htmlspecialchars($cookie_uname))); $cookie_upwd = addslashes(trim(htmlspecialchars($cookie_upwd))); require_once APP_ROOT_PATH . "system/model/user.php"; //require_once APP_ROOT_PATH."app/Lib/common.php"; auto_do_login_user($cookie_uname, $cookie_upwd); //logUtils::log_str("========2========="); } } }
$str .= "};"; @file_put_contents(get_real_path() . "public/runtime/app/lang.js", $str); } //会员自动登录及输出 $cookie_uname = es_cookie::get("user_name") ? es_cookie::get("user_name") : ''; $cookie_upwd = es_cookie::get("user_name") ? es_cookie::get("user_pwd") : ''; if ($cookie_uname != '' && $cookie_upwd != '' && !es_session::get("user_info")) { require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($cookie_uname, $cookie_upwd); } if (strim($_REQUEST['ctl']) == "uc_invest" || strim($_REQUEST['ctl']) == "uc_deal") { $r_user_name = strim($_REQUEST['user_name']); $r_user_pwd = strim($_REQUEST['user_pwd']); if ($r_user_name != '' && $r_user_pwd != '') { require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($r_user_name, $r_user_pwd); } } $user_info = es_session::get('user_info'); if (intval($user_info['id']) > 0) { $user_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where is_delete = 0 and is_effect = 1 and id = " . intval($user_info['id'])); if ($user_info) { es_session::set('user_info', $user_info); $GLOBALS['tmpl']->assign("user_info", $user_info); if (check_ipop_limit(get_client_ip(), "auto_send_msg", 30, $user_info['id'])) { //有会员登录状态时,自动创建消息 $msg_systems = $GLOBALS['db']->getAll("select * from " . DB_PREFIX . "msg_system where (end_time = 0 or end_time > " . TIME_UTC . ") and user_ids = '' or user_ids like '%" . $user_info['id'] . "|%'"); foreach ($msg_systems as $msg) { if ($GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "msg_box where to_user_id = " . $user_info['id'] . " and system_msg_id = " . $msg['id']) == 0) { send_user_msg($msg['title'], $msg['content'], 0, $user_info['id'], $msg['create_time'], $msg['id'], true); }
public function index() { $mobile = trim($GLOBALS['request']['mobile']); $code = strim($GLOBALS['request']['code']); /*验证码*/ $ref_uid = intval($GLOBALS['request']['ref_uid']); /*邀请id*/ $is_register = strim($GLOBALS['request']['is_register']); //0:仅验证;1:除验证外,如果用户不存在,则直接创建一个新用户,客户端自动登陆; if ($mobile == '') { $root['status'] = 0; $root['info'] = '手机号码不能为空'; output($root); } if (!check_mobile($mobile)) { $root['status'] = 0; $root['info'] = "请输入正确的手机号码"; output($root); } //print_r($GLOBALS['request']); if ($code == '') { $root['info'] = "请输入验证码!"; $root['status'] = 0; output($root); } $db_code = $GLOBALS['db']->getRow("select id,code,add_time from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = '{$mobile}' order by id desc"); //print_r($db_code['code']); if ($db_code['code'] != $code) { $root['info'] = "请输入正确的验证码!"; $root['status'] = 0; output($root); } $new_time = get_gmtime(); if ($new_time - $db_code['add_time'] > 60 * 30) { $root['info'] = "验证码已失效,请重新获取!"; $root['status'] = 0; $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = " . $mobile . ""); output($root); } //$GLOBALS['db']->query("update ".DB_PREFIX."sms_mobile_verify set status = 1 where id=".$db_code['id'].""); $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where id=" . $db_code['id'] . ""); //is_register 0:仅验证;1:除验证外,如果用户不存在,则直接创建一个新用户,客户端自动登陆; if ($is_register == 1) { $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where mobile = '{$mobile}'"); require_once APP_ROOT_PATH . "/system/model/user.php"; if (!$user_data) { //自动注册一个用户; $pwd = rand(1111, 9999); $user_data = mobile_reg($mobile, $pwd, $ref_uid); $pwd = md5($pwd); } else { $mobile = $user_data['mobile']; $pwd = $user_data['user_pwd']; } //检查用户,用户密码 auto_do_login_user($mobile, $pwd, false); $user = $GLOBALS['user_info']; $user_id = intval($user['id']); if ($user_id > 0) { $root['return'] = 1; $root['user_login_status'] = 1; //用户登陆状态:1:成功登陆;0:未成功登陆 $root['info'] = "用户登陆成功"; $root['uid'] = $user['id']; $root['user_name'] = $user['user_name']; $root['user_email'] = $user['email']; $root['user_money'] = $user['money']; $root['mobile'] = $user['mobile']; $root['user_pwd'] = $user['user_pwd']; $root['user_money_format'] = format_price($user['money']); //用户金额 $root['home_user']['user_avatar'] = get_abs_img_root(get_muser_avatar($user['id'], "big")); $root['user_avatar'] = get_abs_img_root(get_muser_avatar($user['id'], "big")); } else { $root['user_login_status'] = 0; //用户登陆状态:1:成功登陆;0:未成功登陆 $root['info'] = "用户登陆失败!"; $root['status'] = 1; } } else { $root['info'] = "验证成功"; } $root['status'] = 1; output($root); }
public function index() { $root = array(); $mobile = trim($GLOBALS['request']['mobile']); $code = strim($GLOBALS['request']['code']); /*验证码*/ $ref_uid = intval($GLOBALS['request']['ref_uid']); /*邀请id*/ $city_name = strim($GLOBALS['request']['city_name']); //城市名称 if (!empty($mobile)) { if (!check_mobile($mobile)) { $root['status'] = 2; $root['info'] = "请输入正确的手机号码"; output($root); } //print_r($GLOBALS['request']); if ($code == '') { $root['info'] = "请输入验证码!"; $root['status'] = 2; output($root); } $db_code = $GLOBALS['db']->getRow("select id,code,add_time from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = '{$mobile}' order by id desc"); //print_r($db_code['code']); //$root['code']="select id,code,add_time from ".DB_PREFIX."sms_mobile_verify where status=0 and mobile_phone = '$mobile' and type=0 order by id desc"; if ($db_code['code'] != $code) { $root['info'] = "请输入正确的验证码!"; $root['status'] = 2; output($root); } $new_time = get_gmtime(); if ($new_time - $db_code['add_time'] > 60 * 30) { $root['info'] = "验证码已失效,请重新获取!"; $root['status'] = 2; $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = " . $mobile . ""); output($root); } //$GLOBALS['db']->query("update ".DB_PREFIX."sms_mobile_verify set status = 1 where id=".$db_code['id'].""); $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where id=" . $db_code['id'] . ""); $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where mobile = '{$mobile}'"); require_once APP_ROOT_PATH . "/system/model/user.php"; if (!$user_data) { //自动注册一个用户; $pwd = rand(1111, 9999); $pwd = md5($pwd); $user_data = mobile_reg($mobile, $pwd, $ref_uid); } else { $mobile = $user_data['mobile']; $pwd = $user_data['user_pwd']; } //检查用户,用户密码 auto_do_login_user($mobile, $pwd, false); $user = $GLOBALS['user_info']; $user_id = intval($user['id']); if ($user_id > 0) { $root['mobile_user_id'] = $user_id; $root['mobile_user_name'] = $user['user_name']; $root['mobile_user_pwd'] = $user['user_pwd']; } else { $root['info'] = "用户登陆失败!"; $root['status'] = 2; } } else { //检查用户,用户密码 $user = $GLOBALS['user_info']; $user_id = intval($user['id']); } $root['return'] = 1; $root['first_calc'] = $GLOBALS['request']['first_calc']; if ($user_id > 0) { //用户登陆状态:1:成功登陆;0:未成功登陆 $root['user_login_status'] = 1; //第一次计算,主要是处理一些初始化参数,比如:默认配送地址 if ($GLOBALS['request']['first_calc'] == 1) { $delivery = getUserAddr($user_id, false, 1); $root['delivery'] = $delivery; $delivery_region = array('region_lv1' => intval($delivery['region_lv1']), 'region_lv2' => intval($delivery['region_lv2']), 'region_lv3' => intval($delivery['region_lv3']), 'region_lv4' => intval($delivery['region_lv4'])); $root['send_mobile'] = $user['mobile']; //默认填上用户手机号码 $payment_id = intval($GLOBALS['m_config']['select_payment_id']); //默认支付方式 //$payment_id = intval($root['order_parm']['select_payment_id']);//默认支付方式 $delivery_id = intval($GLOBALS['m_config']['delivery_id']); //配送方式; } else { $delivery_region = array('region_lv1' => intval($GLOBALS['request']['region_lv1']), 'region_lv2' => intval($GLOBALS['request']['region_lv2']), 'region_lv3' => intval($GLOBALS['request']['region_lv3']), 'region_lv4' => intval($GLOBALS['request']['region_lv4'])); if ($GLOBALS['request']['payment_id']) { $payment_id = intval($GLOBALS['request']['payment_id']); } else { $payment_id = intval($GLOBALS['m_config']['select_payment_id']); //默认支付方式 } if ($GLOBALS['request']['delivery_id']) { $delivery_id = intval($GLOBALS['request']['delivery_id']); } else { $delivery_id = intval($GLOBALS['m_config']['delivery_id']); //配送方式; } } if ($GLOBALS['request']['from'] == "wap") { //用户信息 $cartdata = unserialize(base64_decode($GLOBALS['request']['cartdata'])); $user_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $user_id); $root['user_info'] = $user_info; $root['delivery_list'] = $GLOBALS['m_config']['delivery_list']; //商品信息 $res = insertCartData($user_id, es_session::id(), $cartdata); $cart_info = $res['data']; foreach ($cart_info as $k => $v) { //查询数据库,获取商品信息 $deal = $GLOBALS['db']->getRow("select img,max_bought from " . DB_PREFIX . "deal where id=" . $v['deal_id']); //单价*数量=总价 $cart_info[$k]['current_price_format'] = format_price($v['unit_price']); $cart_info[$k]['img'] = get_abs_img_root($deal['img']); $cart_info[$k]['max_bought'] = $deal['max_bought']; $cart_info[$k]['current_price'] = round($v['unit_price'], 2); $cart_info[$k]['tech_id'] = $v['tech_id']; $tech_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where id = " . $v['tech_id']); $cart_info[$k]['tech_name'] = $tech_info['user_name']; } $root['cartinfo'] = $cart_info; } else { $cartdata = $GLOBALS['request']['cartdata']; $res = insertCartData($user_id, es_session::id(), $cartdata); } if ($res['info'] != '') { //不可购买 $root['info'] = $res['info']; $root['status'] = 0; } else { //可以购买 $root['status'] = 1; //$delivery_id = intval($requestData['delivery_id']);//配送方式; if ($delivery_id == 0) { $delivery_id = intval($GLOBALS['m_config']['delivery_id']); } //取系统配置 $root['select_delivery_id'] = $delivery_id; $ecvSn = strim($GLOBALS['request']['ecv_sn']); //优惠券 $ecvPassword = strim($GLOBALS['request']['ecv_pwd']); //优惠券密码 require_once APP_ROOT_PATH . "system/model/cart.php"; $region4_id = intval($delivery_region['region_lv4']); $region3_id = intval($delivery_region['region_lv3']); $region2_id = intval($delivery_region['region_lv2']); $region1_id = intval($delivery_region['region_lv1']); if ($region4_id == 0) { if ($region3_id == 0) { if ($region2_id == 0) { $region_id = $region1_id; } else { $region_id = $region2_id; } } else { $region_id = $region3_id; } } else { $region_id = $region4_id; } $goods_list = $res['data']; $GLOBALS['user_info']['id'] = $user_id; $ids = array(); foreach ($goods_list as $cart_goods) { array_push($ids, $cart_goods['deal_id']); } $ids_str = implode(",", $ids); $is_delivery = intval($GLOBALS['db']->getOne("select is_delivery from " . DB_PREFIX . "deal where is_delivery = 1 and id in (" . $ids_str . ")")); if ($is_delivery == 0) { $delivery_id = 0; } $root['is_delivery'] = $is_delivery; $account_pay = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment where class_name = 'Account'"); if ($account_pay) { $data = count_buy_total($region_id, $delivery_id, $payment_id, 0, 1, $ecvSn, $ecvPassword, $goods_list); } else { $data = count_buy_total($region_id, $delivery_id, $payment_id, 0, 0, $ecvSn, $ecvPassword, $goods_list); } $root['use_user_money'] = floatval($data['account_money']); //使用会员余额支付金额 $root['pay_money'] = $data['pay_price']; //还需要支付金额 $root['feeinfo'] = getFeeItem($data); $root['order_parm'] = init_order_parm($GLOBALS['m_config']); $root['order_parm']['delivery_id'] = $delivery_id; $root['order_parm']['payment_id'] = $payment_id; $ecv_payment_id = intval($GLOBALS['db']->getOne("select id from " . DB_PREFIX . "payment where class_name = 'Voucher'")); //重新为order_parm赋值 if ($ecv_payment_id) { $forbid_ecv = $GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "deal_payment where payment_id =" . $ecv_payment_id . " and deal_id in (" . $ids_str . ")"); if ($forbid_ecv) { $root['order_parm']['has_ecv'] = 0; } //无优惠券 } else { $root['order_parm']['has_ecv'] = 0; } //无优惠券 $has_coupon = intval($GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "deal where is_coupon = 1 and id in (" . $ids_str . ")")); if ($has_coupon == 0) { $root['order_parm']['has_moblie'] = 0; $root['order_parm']['has_mcod'] = 1; } else { $root['order_parm']['has_moblie'] = 1; $root['order_parm']['has_mcod'] = 0; //有团购券商品,不能做:货到付款 } //下单时需要绑定手机号码 if (intval($GLOBALS['m_config']['order_has_bind_mobile']) == 1) { //前面已经绑定手机号码了,这时不能再修改手机号码 $root['order_parm']['has_moblie'] = 0; } foreach ($root['order_parm']['payment_list'] as $k => $v) { if ($v['code'] == 'Mcod' && $root['order_parm']['has_mcod'] == 0) { unset($root['order_parm']['payment_list'][$k]); } } $has_delivery = intval($GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "deal where is_delivery = 1 and id in (" . $ids_str . ")")); if (!$has_delivery) { $root['order_parm']['has_delivery'] = 0; } else { $root['order_parm']['has_delivery'] = 1; } //$root['order_parm']['has_mcod'] = 1; $forbid_payment = $GLOBALS['db']->getAll("select payment_id from " . DB_PREFIX . "deal_payment where deal_id in (" . $ids_str . ")"); foreach ($forbid_payment as $forbid_payment_item) { foreach ($root['order_parm']['payment_list'] as $k => $v) { if ($v['id'] == $forbid_payment_item['payment_id']) { unset($root['order_parm']['payment_list'][$k]); } } } $forbid_delivery = $GLOBALS['db']->getAll("select delivery_id from " . DB_PREFIX . "deal_delivery where deal_id in (" . $ids_str . ")"); foreach ($forbid_delivery as $forbid_delivery_item) { foreach ($root['order_parm']['delivery_list'] as $k => $v) { if ($v['id'] == $forbid_payment_item['delivery_id']) { unset($root['order_parm']['delivery_list'][$k]); } } } //数组按顺序排序 $payment_list = array(); foreach ($root['order_parm']['payment_list'] as $k => $v) { $payment_list[] = $v; } $root['order_parm']['payment_list'] = $payment_list; $delivery_list = array(); foreach ($root['order_parm']['delivery_list'] as $k => $v) { $delivery_list[] = $v; } $root['order_parm']['delivery_list'] = $delivery_list; //has_delivery_list //$root['order_parm']['delivery_list'] = $GLOBALS['db']->getAll("select id,name from ".DB_PREFIX."delivery"); } } else { //未登录 $root['user_login_status'] = 0; } $root['page_title'] = '确认订单'; $root['city_name'] = $city_name; output($root); }
public function callback() { require_once APP_ROOT_PATH . 'system/api_login/sina/saetv2.ex.class.php'; es_session::start(); //$sina_keys = es_session::get("sina_keys"); $o = new SaeTOAuthV2($this->api['config']['app_key'], $this->api['config']['app_secret']); if (isset($_REQUEST['code'])) { $keys = array(); $keys['code'] = $_REQUEST['code']; if ($this->api['config']['app_url'] == "") { $app_url = SITE_DOMAIN . APP_ROOT . "/api_callback.php?c=Sina"; } else { $app_url = $this->api['config']['app_url']; } $keys['redirect_uri'] = $app_url; try { $token = $o->getAccessToken('code', $keys); } catch (OAuthException $e) { //print_r($e);exit; showErr("授权失败,错误信息:" . $e->getMessage()); die; } } $c = new SaeTClientV2($this->api['config']['app_key'], $this->api['config']['app_secret'], $token['access_token']); $ms = $c->home_timeline(); // done $uid_get = $c->get_uid(); $uid = $uid_get['uid']; $msg = $c->show_user_by_id($uid); //根据ID获取用户等基本信息 if (intval($msg['error_code']) != 0) { showErr("授权失败,错误代码:" . $msg['error_code']); die; } $msg['field'] = 'sina_id'; $msg['sina_token'] = $token['access_token']; es_session::set("api_user_info", $msg); if (!$msg['name']) { app_redirect(url("index")); exit; } $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where sina_id = '" . $msg['id'] . "' and sina_id <> 0"); //print_r($user_data);die(); if ($user_data) { $user_current_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where id = " . intval($user_data['group_id'])); $user_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where score <=" . intval($user_data['score']) . " order by score desc"); if ($user_current_group['score'] < $user_group['score']) { $user_data['group_id'] = intval($user_group['id']); } $GLOBALS['db']->query("update " . DB_PREFIX . "user set sina_token = '" . $token['access_token'] . "',login_ip = '" . get_client_ip() . "',login_time= " . get_gmtime() . ",group_id=" . intval($user_data['group_id']) . " where id =" . $user_data['id']); es_session::delete("api_user_info"); $is_bind = intval(es_session::get("is_bind")); if ($is_bind) { if (intval($user_data['id']) != intval($GLOBALS['user_info']['id'])) { showErr("该帐号已经被别的会员绑定过,请直接用帐号登录", 0, url("shop", "uc_center#setweibo")); } else { es_session::set("user_info", $user_data); app_redirect(url("index", "uc_center#setweibo")); } } else { require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($user_data['user_name'], md5($user_data['user_pwd'] . "_EASE_COOKIE"), $from_cookie = false); app_recirect_preview(); } } elseif ($is_bind == 1 && $GLOBALS['user_info']) { //当有用户身份且要求绑定时 $GLOBALS['db']->query("update " . DB_PREFIX . "user set sina_id= '" . intval($msg['id']) . "', sina_token ='" . $token['access_token'] . "' where id =" . $GLOBALS['user_info']['id']); app_redirect(url("index", "uc_center#setweibo")); } else { $this->create_user(); app_redirect(get_gopreview()); } }
function synlogin($get, $post) { $uid = intval($get['uid']); $username = $get['username']; if (!API_SYNLOGIN) { return API_RETURN_FORBIDDEN; } require_once APP_ROOT_PATH . "system/model/user.php"; //开始同步o2o会员登录 $user_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where integrate_id = " . $uid); if (!$user_info) { //无会员开始自动注册 include_once APP_ROOT_PATH . 'uc_client/client.php'; if ($uc_data = uc_get_user($username)) { list($uid, $uname, $email) = $uc_data; if (UC_CHARSET != 'utf-8') { $uname = iconv(UC_CHARSET, "utf-8", $uname); $email = iconv(UC_CHARSET, "utf-8", $email); } if (!$GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "user where user_name = '" . $uname . "'") > 0) { $user_info = array(); // $user_info['is_effect'] = intval(app_conf("USER_VERIFY")); // if($GLOBALS['db']->getOne("select count(*) from ".DB_PREFIX."user where email = '".$email."'")>0) //会员邮箱已存在时邮箱留空 // { // $email = ''; // $user_info['is_effect'] = 1; // } $user_info['email'] = $email; $user_info['user_name'] = $uname; // $user_info['user_pwd'] = ''; // $user_info['integrate_id'] = $uid; // $user_info['group_id'] = $GLOBALS['db']->getOne("select id from ".DB_PREFIX."user_group order by score asc limit 1"); // $GLOBALS['db']->autoExecute(DB_PREFIX."user",$user_info); // $user_info['id'] = $GLOBALS['db']->insert_id(); $auto_result = auto_create($user_info, 2); $user_info = $auto_result['user_data']; } } } if (intval($user_info['is_effect']) == 1) { auto_do_login_user($user_info['user_name'], $user_info['user_pwd'], $from_cookie = false); } }
public function callback() { es_session::start(); $aliapy_config['partner'] = $this->api['config']['app_key']; $aliapy_config['key'] = $this->api['config']['app_secret']; $aliapy_config['return_url'] = get_domain() . APP_ROOT . "/api_callback.php?c=Taobao"; $aliapy_config['sign_type'] = 'MD5'; $aliapy_config['input_charset'] = 'utf-8'; $aliapy_config['transport'] = 'http'; require_once APP_ROOT_PATH . "system/api_login/taobao/alipay_notify.class.php"; unset($_GET['c']); $alipayNotify = new AlipayNotify($aliapy_config); $verify_result = $alipayNotify->verifyReturn(); if ($verify_result) { //验证成功 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 $user_id = $_GET['user_id']; //支付宝用户id $token = $_GET['token']; //授权令牌 $real_name = $_GET['real_name']; //执行商户的业务程序 $msg['id'] = $user_id; $msg['name'] = $real_name; $msg['field'] = 'taobao_id'; es_session::set("api_user_info", $msg); if (!$msg['name']) { app_redirect(url("index")); } $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where taobao_id = '" . $msg['id'] . "' and taobao_id <> ''"); if ($user_data) { require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); es_session::delete("api_user_info"); app_recirect_preview(); } else { $this->create_user(); app_redirect(url("shop", "user#stepone")); } //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else { //验证失败 //如要调试,请看alipay_notify.php页面的return_verify函数,比对sign和mysign的值是否相等,或者检查$veryfy_result有没有返回true echo "验证失败"; } }
public function callback() { global_run(); es_session::start(); require_once APP_ROOT_PATH . 'system/api_login/Tencent/Tencent.php'; OAuth::init($this->api['config']['app_key'], $this->api['config']['app_secret']); $code = strim($_REQUEST['code']); $openid = strim($_REQUEST['openid']); $openkey = strim($_REQUEST['openkey']); if ($this->api['config']['app_url'] == "") { $app_url = SITE_DOMAIN . APP_ROOT . "/api_callback.php?c=Tencent"; } else { $app_url = $this->api['config']['app_url']; } $token_url = OAuth::getAccessToken($code, $app_url); $result = Http::request($token_url); $result = preg_replace('/[^\\x20-\\xff]*/', "", $result); //清除不可见字符 $result = iconv("utf-8", "utf-8//ignore", $result); //UTF-8转码 //过滤返回数据 parse_str($result, $result_arr); $is_bind = intval(es_session::get("is_bind")); if (intval($result_arr['errorCode']) != 0) { showErr("授权失败,错误代码:" . $result_arr['errorMsg']); die; } if (!$result_arr['name']) { app_redirect(url("index")); exit; } $msg['field'] = 'tencent_id'; $msg['id'] = $openid; $msg['t_openid'] = $result_arr['openid']; $msg['t_openkey'] = $openkey; $msg['t_access_token'] = $result_arr['access_token']; $msg['refresh_token'] = $result_arr['refresh_token']; $msg['t_name'] = $result_arr['name']; //没有登录用户无绑定情况下,创建用户时候使用到 es_session::set("api_user_info", $msg); $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where tencent_id = '" . $msg['id'] . "' and tencent_id <> 0"); $is_bind = intval(es_session::get("is_bind")); //存在用户直接登录 if ($user_data) { $GLOBALS['db']->query("update " . DB_PREFIX . "user set t_access_token = '" . $msg['t_access_token'] . "',login_ip = '" . CLIENT_IP . "',login_time= " . NOW_TIME . " where id =" . $user_data['id']); es_session::delete("api_user_info"); if ($is_bind) { if (intval($user_data['id']) != intval($GLOBALS['user_info']['id'])) { showErr("该帐号已经被别的会员绑定过,请直接用帐号登录", 0, url("index", "uc_account")); } else { require_once APP_ROOT_PATH . "system/model/user.php"; load_user($user_data['id'], true); es_session::set("user_info", $user_data); app_redirect(url("index", "uc_account")); } } else { require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } } elseif ($is_bind == 1 && $GLOBALS['user_info']) { //登录了站内用户,用户又不存在如果来自绑定就进行绑定 $GLOBALS['db']->query("update " . DB_PREFIX . "user set t_access_token ='" . $msg['t_access_token'] . "',t_openkey = '" . $msg['t_openkey'] . "',tencent_id = '" . $msg['id'] . "',t_name='" . $msg['t_name'] . "' where id =" . $GLOBALS['user_info']['id']); require_once APP_ROOT_PATH . "system/model/user.php"; load_user($GLOBALS['user_info']['id'], true); app_redirect(url("index", "uc_account")); } else { //没有登录站内用户,直接进行创建临时用户 $user_info = $this->create_user(); require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_info['user_name'], $user_info['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } }
/** * 前端全运行函数,生成系统前台使用的全局变量 * 1. 定位城市 GLOBALS['city']; * 2. 加载会员 GLOBALS['user_info']; * 3. 生成语言包 * 4. 加载推荐人与来路 * 5. 更新购物车 */ function global_run() { if (app_conf("SHOP_OPEN") == 0) { app_redirect(url("index", "close")); } //处理城市 global $city; require_once APP_ROOT_PATH . "system/model/city.php"; $city = City::locate_city(); global $geo; $geo = City::locate_geo(floatval($_REQUEST['xpoint']), floatval($_REQUEST['ypoint'])); //输出语言包的js if (!file_exists(get_real_path() . "public/runtime/app/lang.js")) { $str = "var LANG = {"; foreach ($GLOBALS['lang'] as $k => $lang_row) { $str .= "\"" . $k . "\":\"" . str_replace("nbr", "\\n", addslashes($lang_row)) . "\","; } $str = substr($str, 0, -1); $str .= "};"; @file_put_contents(get_real_path() . "public/runtime/app/lang.js", $str); } //会员自动登录及输出 global $user_info; global $user_logined; require_once APP_ROOT_PATH . "system/model/user.php"; $user_info = es_session::get('user_info'); if (empty($user_info)) { $cookie_uname = es_cookie::get("user_name") ? es_cookie::get("user_name") : ''; $cookie_upwd = es_cookie::get("user_pwd") ? es_cookie::get("user_pwd") : ''; if ($cookie_uname != '' && $cookie_upwd != '' && !es_session::get("user_info")) { $cookie_uname = strim($cookie_uname); $cookie_upwd = strim($cookie_upwd); auto_do_login_user($cookie_uname, $cookie_upwd); $user_info = es_session::get('user_info'); } } refresh_user_info(); //刷新购物车 require_once APP_ROOT_PATH . "system/model/cart.php"; refresh_cart_list(); global $ref_uid; //保存返利的cookie if ($_REQUEST['r']) { $rid = intval(base64_decode($_REQUEST['r'])); $ref_uid = intval($GLOBALS['db']->getOne("select id from " . DB_PREFIX . "user where id = " . intval($rid))); es_cookie::set("REFERRAL_USER", intval($ref_uid)); } else { //获取存在的推荐人ID if (intval(es_cookie::get("REFERRAL_USER")) > 0) { $ref_uid = intval($GLOBALS['db']->getOne("select id from " . DB_PREFIX . "user where id = " . intval(es_cookie::get("REFERRAL_USER")))); } } global $referer; //保存来路 // es_cookie::delete("referer_url"); if (!es_cookie::get("referer_url")) { if (!preg_match("/" . urlencode(SITE_DOMAIN . APP_ROOT) . "/", urlencode($_SERVER["HTTP_REFERER"]))) { $ref_url = $_SERVER["HTTP_REFERER"]; if (substr($ref_url, 0, 7) == "http://" || substr($ref_url, 0, 8) == "https://") { preg_match("/http[s]*:\\/\\/[^\\/]+/", $ref_url, $ref_url); $referer = $ref_url[0]; if ($referer) { es_cookie::set("referer_url", $referer); } } } } else { $referer = es_cookie::get("referer_url"); } $referer = strim($referer); }
public function callback() { global_run(); require_once APP_ROOT_PATH . "system/api_login/qqv2/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $use_info_keysArr = array("access_token" => $access_token, "openid" => $openid, "oauth_consumer_key" => $this->api['config']['app_key']); $use_info_url = "https://graph.qq.com/user/get_user_info"; $graph_use_info_url = $qc->urlUtils->combineURL($use_info_url, $use_info_keysArr); $response = $qc->urlUtils->get_contents($graph_use_info_url); if ($response['ret'] != 0) { showErr("授权失败,错误信息:" . $response['msg']); die; } $response = json_decode($response, 1); $msg['field'] = 'qqv2_id'; $msg['id'] = $openid; $msg['name'] = $response["nickname"]; es_session::set("api_user_info", $msg); $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where qqv2_id = '" . $openid . "' and qqv2_id <> '' and is_effect=1 and is_delete=0"); $is_bind = intval(es_session::get("is_bind")); if ($user_data) { $GLOBALS['db']->query("update " . DB_PREFIX . "user set qq_token = '" . $access_token . "',login_ip = '" . CLIENT_IP . "',login_time= " . NOW_TIME . " where id =" . $user_data['id']); es_session::delete("api_user_info"); if ($is_bind) { if (intval($user_data['id']) != intval($GLOBALS['user_info']['id'])) { showErr("该帐号已经被别的会员绑定过,请直接用帐号登录", 0, url("index", "uc_account")); } else { require_once APP_ROOT_PATH . "system/model/user.php"; load_user($user_data['id'], true); es_session::set("user_info", $user_data); app_redirect(url("index", "uc_account")); } } else { require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } } elseif ($is_bind == 1 && $GLOBALS['user_info']) { //当有用户身份且要求绑定时 $GLOBALS['db']->query("update " . DB_PREFIX . "user set qqv2_id= '" . $msg['id'] . "', qq_token ='" . $access_token . "' where id =" . $GLOBALS['user_info']['id']); require_once APP_ROOT_PATH . "system/model/user.php"; load_user($GLOBALS['user_info']['id'], true); app_redirect(url("index", "uc_account")); } else { $user_info = $this->create_user(); require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_info['user_name'], $user_info['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } }
public function ap_login() { $aqj_id = trim($_REQUEST['aqjid']); $aqj_mobile = trim($_REQUEST['m']); if ($aqj_id) { //查询aqj_id是否已绑定过 $aqj_user = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "ap_partner_user where partner_user_id='" . $aqj_id . "'"); //如果已经绑定过自动登录并进入积分商城页面 if ($aqj_user) { $xlc_user = $GLOBALS['db']->getRow("select mobile,user_pwd from " . DB_PREFIX . "user where id=" . $aqj_user['user_id']); require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($xlc_user['mobile'], md5($xlc_user['user_pwd'] . "_EASE_COOKIE")); } else { $GLOBALS['tmpl']->assign("aqj_id", $aqj_id); $GLOBALS['tmpl']->assign("aqj_m", $aqj_mobile); $GLOBALS['tmpl']->display("ap_login.html"); exit; } } }
public function callback() { es_session::start(); //获取token $token = $this->getAccessToken(); //获取openid $opendid = $this->getQqOpenid($token); //获取返回的user $arr = $this->getQqUserInfo($this->api['config']['app_key'], $token, $opendid); $msg['field'] = 'qq_id'; $msg['id'] = $opendid; $msg['name'] = $arr["nickname"]; es_session::set("api_user_info", $msg); if (!$msg['name']) { app_redirect(url("index")); } $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where qq_id = '" . $opendid . "' and qq_id <> ''"); if ($user_data) { require_once APP_ROOT_PATH . "system/libs/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); es_session::delete("api_user_info"); app_recirect_preview(); } else { $this->create_user(); app_redirect(url("shop", "user#stepone")); } }