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'); } ?>