Exemplo n.º 1
0
    $cookie_uname = strim($request['email']);
    //用户名或邮箱
    $cookie_upwd = strim($request['pwd']);
    //密码
    if ($cookie_uname != '' && $cookie_upwd != '') {
        $cookie_uname = strim($cookie_uname);
        if (strlen($cookie_upwd) != 32) {
            $cookie_upwd = md5($cookie_upwd);
        }
        $cookie_upwd = md5($cookie_upwd . "_EASE_COOKIE");
        auto_do_login_user($cookie_uname, $cookie_upwd);
        $GLOBALS['user_info'] = es_session::get('user_info');
    }
}
require_once APP_ROOT_PATH . "app/Lib/main/core/main_lib.php";
refresh_user_info();
//刷新购物车
require_once APP_ROOT_PATH . "system/model/cart.php";
refresh_cart_list();
require APP_ROOT_PATH . 'app/Lib/common.php';
require APP_ROOT_PATH . 'sjmapi/lib/functions.php';
//缓存的名称以MAPI_开头
require APP_ROOT_PATH . 'sjmapi/lib/logUtils.php';
define('AS_LOG_DIR', APP_ROOT_PATH . 'sjmapi/log/');
define('AS_DEBUG', true);
//$domain = app_conf("PUBLIC_DOMAIN_ROOT")==''?get_domain().APP_ROOT:app_conf("PUBLIC_DOMAIN_ROOT");
//file_put_contents(APP_ROOT_PATH. "sjmapi/log/bm_".strftime("%Y%m%d%H%M%S",time()).".txt",print_r($domain,true));
$m_config = getMConfig();
//初始化手机端配置
define('VERSION', 1);
//接口版本号,float 类型
Exemplo n.º 2
0
 public function dophlogin()
 {
     $user_mobile = strim($_POST['user_mobile']);
     $sms_verify = strim($_POST['sms_verify']);
     if (app_conf("SMS_ON") == 0) {
         $data['status'] = false;
         $data['info'] = "短信功能未开启";
         ajax_return($data);
     }
     if ($user_mobile == "") {
         $data['status'] = false;
         $data['info'] = "请输入手机号";
         $data['field'] = "user_mobile";
         ajax_return($data);
     }
     if ($sms_verify == "") {
         $data['status'] = false;
         $data['info'] = "请输入收到的验证码";
         $data['field'] = "sms_verify";
         ajax_return($data);
     }
     $sql = "DELETE FROM " . DB_PREFIX . "sms_mobile_verify WHERE add_time <=" . (NOW_TIME - SMS_EXPIRESPAN);
     $GLOBALS['db']->query($sql);
     $mobile_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = '" . $user_mobile . "'");
     if ($mobile_data['code'] == $sms_verify) {
         //开始登录
         //1. 有用户使用已有用户登录
         //2. 无用户产生一个用户登录
         require_once APP_ROOT_PATH . "system/model/user.php";
         if (check_ipop_limit(CLIENT_IP, "user_dophlogin", intval(app_conf("SUBMIT_DELAY")))) {
             $user_info = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where mobile = '" . $user_mobile . "'");
             $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = '" . $user_mobile . "'");
             if ($user_info) {
                 //使用已有用户
                 $result = do_login_user($user_info['user_name'], $user_info['user_pwd']);
                 if ($result['status']) {
                     $s_user_info = es_session::get("user_info");
                     if (strim($_REQUEST['form_prefix']) == "ajax") {
                         $GLOBALS['user_info'] = $s_user_info;
                         refresh_user_info();
                         if ($GLOBALS['user_info']) {
                             $msg_count = $GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "msg_box where user_id = " . intval($GLOBALS['user_info']['id']) . " and is_read = 0 and is_delete = 0");
                             $GLOBALS['tmpl']->assign("msg_count", intval($msg_count));
                             $GLOBALS['tmpl']->assign("user_info", $GLOBALS['user_info']);
                             //输出签到结果
                             $signin_result = es_session::get("signin_result");
                             if ($signin_result['status']) {
                                 $GLOBALS['tmpl']->assign("signin_result", json_encode($signin_result));
                                 es_session::delete("signin_result");
                             }
                         }
                         $tip = $GLOBALS['tmpl']->fetch("inc/insert/load_user_tip.html");
                     }
                     if (intval($_REQUEST['save_mobile']) == 1) {
                         es_cookie::set("fanwe_mobile", $user_mobile, 3600 * 24 * 7);
                     }
                     $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = '" . $user_mobile . "'");
                     $return['status'] = true;
                     $return['info'] = "登录成功";
                     $return['data'] = $result['msg'];
                     $return['jump'] = get_gopreview();
                     $return['tip'] = $tip;
                     ajax_return($return);
                 } else {
                     if ($result['data'] == ACCOUNT_NO_EXIST_ERROR) {
                         $field = "";
                         $err = $GLOBALS['lang']['USER_NOT_EXIST'];
                     }
                     if ($result['data'] == ACCOUNT_PASSWORD_ERROR) {
                         $field = "";
                         $err = $GLOBALS['lang']['PASSWORD_ERROR'];
                     }
                     if ($result['data'] == ACCOUNT_NO_VERIFY_ERROR) {
                         $field = "";
                         $err = $GLOBALS['lang']['USER_NOT_VERIFY'];
                     }
                     $data['status'] = false;
                     $data['info'] = $err;
                     $data['field'] = $field;
                     ajax_return($data);
                 }
             } else {
                 //ip限制
                 $ip = CLIENT_IP;
                 $ip_nums = $GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "user where login_ip = '" . $ip . "'");
                 if ($ip_nums > intval(app_conf("IP_LIMIT_NUM")) && intval(app_conf("IP_LIMIT_NUM")) > 0) {
                     $data['status'] = false;
                     $data['info'] = $GLOBALS['lang']['IP_LIMIT_ERROR'];
                     ajax_return($data);
                 }
                 global_run();
                 if ($GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "user where user_name = '" . $user_mobile . "' or mobile = '" . $user_mobile . "' or email = '" . $user_mobile . "'") > 0) {
                     $data['status'] = false;
                     $data['info'] = "手机号已被抢占";
                     ajax_return($data);
                 }
                 //生成新用户
                 $user_data = array();
                 $user_data['mobile'] = $user_mobile;
                 /*
                 $user_data['user_pwd'] = md5(rand(100000,999999));
                 $user_data['is_effect'] = 1;
                 $user_data['pid'] = $GLOBALS['ref_uid'];
                 $user_data['create_time'] = NOW_TIME;
                 $user_data['update_time'] = NOW_TIME;
                 $user_data['login_time'] = NOW_TIME;
                 $user_data['login_ip'] = CLIENT_IP;
                 $user_data['is_tmp'] = 1;
                 $GLOBALS['db']->autoExecute(DB_PREFIX."user",$user_data,"INSERT","","SILENT");
                 $user_id = intval($GLOBALS['db']->insert_id());
                 if($user_id==0)
                 {
                 	$data['status'] = false;
                 	$data['info']	=	"手机号已被抢占";
                 	ajax_return($data);
                 }
                 $user_name = "游客_".$user_id;
                 $GLOBALS['db']->query("update ".DB_PREFIX."user set user_name = '".$user_name."' where id = ".$user_id,"SILENT");	
                 $result = do_login_user($user_name,$user_data['user_pwd']);
                 */
                 $rs_data = auto_create($user_data, 1);
                 if (!$rs_data['status']) {
                     $data['status'] = false;
                     $data['info'] = $rs_data['info'];
                     ajax_return($data);
                 }
                 $result = do_login_user($rs_data['user_data']['user_name'], $rs_data['user_data']['user_pwd']);
                 if ($result['status']) {
                     $s_user_info = es_session::get("user_info");
                     if (strim($_REQUEST['form_prefix']) == "ajax") {
                         $GLOBALS['user_info'] = $s_user_info;
                         refresh_user_info();
                         if ($GLOBALS['user_info']) {
                             $msg_count = $GLOBALS['db']->getOne("select count(*) from " . DB_PREFIX . "msg_box where user_id = " . intval($GLOBALS['user_info']['id']) . " and is_read = 0 and is_delete = 0");
                             $GLOBALS['tmpl']->assign("msg_count", intval($msg_count));
                             $GLOBALS['tmpl']->assign("user_info", $GLOBALS['user_info']);
                             //输出签到结果
                             $signin_result = es_session::get("signin_result");
                             if ($signin_result['status']) {
                                 $GLOBALS['tmpl']->assign("signin_result", json_encode($signin_result));
                                 es_session::delete("signin_result");
                             }
                         }
                         $tip = $GLOBALS['tmpl']->fetch("inc/insert/load_user_tip.html");
                     }
                     if (intval($_REQUEST['save_mobile']) == 1) {
                         es_cookie::set("fanwe_mobile", $user_mobile, 3600 * 24 * 7);
                     }
                     $GLOBALS['db']->query("delete from " . DB_PREFIX . "sms_mobile_verify where mobile_phone = '" . $user_mobile . "'");
                     $return['status'] = true;
                     $return['info'] = "登录成功";
                     $return['data'] = $result['msg'];
                     $return['jump'] = get_gopreview();
                     $return['tip'] = $tip;
                     ajax_return($return);
                 }
             }
         } else {
             showErr("提交太快了", 1);
         }
     } else {
         $data['status'] = false;
         $data['info'] = "验证码错误";
         $data['field'] = "sms_verify";
         ajax_return($data);
     }
 }
Exemplo n.º 3
0
/**
 * 前端全运行函数,生成系统前台使用的全局变量
 * 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);
}