www.gusucode.com > mcms手机网站系统 v3.1源码程序 > mcms_v3.1.0/upload/app/user/address.php

    <?php
/*
 * MCMS Copyright (c) 2012-2013 ZhangYiYeTai Inc.
 *
 *  http://www.mcms.cc
 *
 * The program developed by loyjers core architecture, individual all rights reserved,
 * if you have any questions please contact loyjers@126.com
 */

require_once(dirname(__FILE__) . "/../../init.php"); //公用引导启动文件
check_login($ajax=0,$url='/app/user/login.php');

$time_start = H :: getmicrotime(); //开始时间
$_GET['tpl'] = isset($_GET['tpl']) ? $_GET['tpl'] : '';
// 动作处理
call_mfunc();
// 模板处理
if($_GET['tpl']) {
	require_once(assign_tpl($_GET['tpl'].'.php', 'user'));
}else{
	require_once(assign_tpl(basename(__FILE__), 'user'));
}

// ******************************************************* 函数方法 *******************************************************
function m__list(){
    global $dbm,$V,$C,$U,$T,$result;
	$_GET['addr_id'] = isset($_GET['addr_id']) ? intval($_GET['addr_id']) : 0;
    if($_GET['addr_id']>0) {
        $sql = "select * from ".TB_PRE."address where addr_id='{$_GET['addr_id']}' and uid='{$_SESSION['user']['uid']}'";
        $rs = $dbm->query($sql);
        if(count($rs['list'])==1) $result = $rs['list'][0];
    }elseif($_GET['tpl'] == '') {
		$result = $dbm->query("select *  from ".TB_PRE."address where uid='{$_SESSION['user']['uid']}'");
	}
	//获取类别信息
    $result['cates']=$T->tree_json();
}

//获取单条地址
function m__get(){
    global $dbm,$result;
    $_POST['addr_id'] = isset($_POST['addr_id']) ? intval($_POST['addr_id']) : 0;
    if($_POST['addr_id'] > 0) {
       $result = $dbm->query("select * from ".TB_PRE."address where uid='{$_SESSION['user']['uid']}' and addr_id='{$_POST['addr_id']}'");
       die(json_encode($result['list']));
    }
    die('{"code":"1","msg":"addr_id error!"}');
}

//设置默认收货地址
function m__set_def(){
	global $dbm;
	$addr_id=isset($_POST['addr_id'])?intval($_POST['addr_id']):0;
	if($addr_id > 0){
		$where = "uid='".intval($_SESSION['user']['uid'])."'";
		$resq=$dbm->single_update(TB_PRE."address",array('is_default'=>0),$where);
		$res=$dbm->single_update(TB_PRE."address",array('is_default'=>1)," $where and addr_id='$addr_id'");
		if(empty($res['error'])) die('{"code":"0","msg":"设置成功!"}');
	} else {
		die('{"code":"1","msg":"aid error!"}');
	}
}

//添加收货地址
function m__save(){
    global $dbm,$T;
    $_POST = H::sqlxss($_POST);
    if(1==1) {
        $uid = isset($_SESSION['user']['uid']) ? intval($_SESSION['user']['uid']) : 0;
        $_POST['addr_id'] = isset($_POST['addr_id']) ? intval($_POST['addr_id']) : 0;
        $fields['province']=isset($_POST['province']) ? intval($_POST['province']) : 0;
        $fields['district']=isset($_POST['district']) ? intval($_POST['district']) : 0;
        $fields['address']=isset($_POST['address']) ? trim($_POST['address']) : '';
        $fields['longitude']=isset($_POST['longitude']) ? trim($_POST['longitude']) : '';
        $fields['latitude']=isset($_POST['latitude']) ? trim($_POST['latitude']) : '';
        $fields['addr_postcode']=isset($_POST['addr_postcode']) ? trim($_POST['addr_postcode']) : '';
        $fields['true_name']=isset($_POST['true_name']) ? trim($_POST['true_name']) : '';
        $fields['addr_phone']=isset($_POST['addr_phone']) ? trim($_POST['addr_phone']) : '';
        $fields['is_default']=isset($_POST['is_default']) ? intval($_POST['is_default']) : 0;
        
    }

    if($fields['province']==0) die('{"code":1,"msg":"请选择收货地区","id":""}');
    if($fields['district']==0) die('{"code":1,"msg":"请选择行政区域","id":""}');
    if($fields['address'] == '') die('{"code":1,"msg":"请输入祥细地址","id":""}');
    //if($fields['addr_postcode']=='') die('{"code":1,"msg":"请输入邮编","id":""}');
    if($fields['true_name']=='')   die('{"code":1,"msg":"请输入收货人姓名","id":""}');
    if($fields['longitude']=='' || $fields['latitude']=='') {
        $province = $T->trees[$fields['province']]['txt'];
        $district = $T->trees[$fields['district']]['txt'];
        $get_geo = H::get_geo($province.$district.$fields['address']);
        $fields['longitude'] = $get_geo['longitude'];
        $fields['latitude']  = $get_geo['latitude'];
    }

    
    if(defined('REGION_SIZE') && REGION_SIZE>0) {
        $lgt = explode(',',CENTER_COORDINATE);
        $latitude1 = $lgt[0];
        $longitude1 = $lgt[1];
        $latitude2  = $fields['latitude'];
        $longitude2 = $fields['longitude'];
        $a = H::get_baidu_gps_dis($latitude2, $longitude2, $latitude1,  $longitude1);
        if($a>REGION_SIZE) die('{"code":1,"msg":"收货地址请选择'.REGION_SIZE.'米范围内的区域","id":""}');
    }
    
    
     //验证手机号格式
    if(verify::verify_phone($fields['addr_phone'])!='' && verify::verify_mobile($fields['addr_phone'])!='') {
        die('{"code":1,"msg":"联系电话请输入正确手机或电话号码格式!"}');
    }
    if($_POST['addr_id']=='' || $_POST['addr_id']==0) {
        $addr_num = get_addr_num();
        if($addr_num>9) die('{"code":1,"msg":"会员最多只能添加10个地址","id":""}');
        $fields['uid'] = $uid;
        $rs = $dbm->single_insert(TB_PRE."address",$fields);
		if($fields['is_default']) {
			$dbm->single_update(TB_PRE."address",array('is_default'=>0),"uid='$uid'");
			$dbm->single_update(TB_PRE."address",array('is_default'=>1)," addr_id='{$rs['autoid']}' and uid='$uid'");
		}
        die('{"code":0,"msg":"添加成功","id":""}');
    } else {
        $dbm->single_update(TB_PRE."address",$fields," addr_id='{$_POST['addr_id']}' and uid='$uid'");
		if($fields['is_default']) {
			$dbm->single_update(TB_PRE."address",array('is_default'=>0),"uid='$uid'");
			$dbm->single_update(TB_PRE."address",array('is_default'=>1)," addr_id='{$_POST['addr_id']}' and uid='$uid'");
		}
        die('{"code":0,"msg":"修改成功","id":""}');
    }
    die('{"code":1,"msg":"参数出错,"请检查数据完整性,"id":""}');
}

function m__del(){
    global $dbm;
    $_POST['addr_id'] = isset($_POST['addr_id']) ? intval($_POST['addr_id']) : 0;
    $uid = isset($_SESSION['user']['uid']) ? intval($_SESSION['user']['uid']) : 0;
    if($_POST['addr_id']>0) {
        $result = $dbm->query_update("delete from ".TB_PRE."address where addr_id='{$_POST['addr_id']}' and uid='$uid'");
        if($result['error']=='') die('{"code":0,"msg":"删除成功","id":""}');
    }
    die('{"code":0,"msg":"删除失败","id":""}');
}


/**
* 计算两个经纬度之间的距离
*/
function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) {
    $theta = $longitude1 - $longitude2;
    $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
    $miles = acos($miles);
    $miles = rad2deg($miles);
    $miles = $miles * 60 * 1.1515;
    $feet = $miles * 5280;
    $yards = $feet / 3;
    $kilometers = $miles * 1.609344;
    $meters = $kilometers * 1000;
    return compact('miles','feet','yards','kilometers','meters');
}

?>