Initial commit
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
namespace Member\Model;
|
||||
use Think\Model;
|
||||
|
||||
class MemberAddressModel extends Model{
|
||||
|
||||
/**
|
||||
* 验证字段
|
||||
* @var array
|
||||
*/
|
||||
protected $_validate=array(
|
||||
array("username","require","收件人名称不能为空"),
|
||||
array("mobile","require","手机号码不能为空"),
|
||||
array("province","require","请选择省"),
|
||||
array("city","require","请选择市"),
|
||||
array("area","require","请选择区"),
|
||||
array("detail","require","请输入详细地址"),
|
||||
);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function save($data = '', $options = array())
|
||||
{
|
||||
$data["member_id"] = session("member.member_id");
|
||||
$data["create_time"] = time();
|
||||
if($data[sh_status]){
|
||||
$this->is_sh_status($data);
|
||||
}else{
|
||||
$data[sh_status]=0;
|
||||
}
|
||||
if($data[sp_status]){
|
||||
$this->is_sp_status($data);
|
||||
}else{
|
||||
$data[sp_status]=0;
|
||||
}
|
||||
if(!$data["id"]){
|
||||
return $this->add($data);
|
||||
}
|
||||
return parent::save($data, $options); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否保存默认地址 修改原本的默认地址
|
||||
* @param $data 保存的数据
|
||||
*/
|
||||
private function is_sh_status($data){
|
||||
// 判断是否存在默认地址
|
||||
$where["sh_status"] = 1;
|
||||
$where["member_id"] = $data["member_id"];
|
||||
|
||||
$res = $this->where($where)->select();
|
||||
if(!empty($res)){
|
||||
// 去除默认地址
|
||||
$datas["sh_status"] = 0;
|
||||
$where = array();
|
||||
$where["member_id"] = $data["member_id"];
|
||||
$this->where($where);
|
||||
parent::save($datas);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否保存收票地址
|
||||
*/
|
||||
private function is_sp_status($data){
|
||||
// 判断是否存在默认地址
|
||||
$where["sp_status"] = 1;
|
||||
$where["member_id"] = $data["member_id"];
|
||||
|
||||
$res = $this->where($where)->select();
|
||||
if(!empty($res)){
|
||||
// 去除默认地址
|
||||
|
||||
$datas["sp_status"] = 0;
|
||||
$where = array();
|
||||
$where["member_id"] = $data["member_id"];
|
||||
$this->where($where);
|
||||
parent::save($datas);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置默认地址
|
||||
* @param $shid 设置的收货地址id
|
||||
* @param $spid 设置的收票地址id
|
||||
*/
|
||||
public function setDefault($shid,$spid){
|
||||
$member_id = session("member.member_id");
|
||||
if($shid){
|
||||
$data = array(
|
||||
"id" => $shid,
|
||||
'member_id' => $member_id
|
||||
);
|
||||
$this->is_sh_status($data);
|
||||
$where["member_id"] = $member_id;
|
||||
$where["id"] = $shid;
|
||||
$save_data["sh_status"] = 1;
|
||||
$this->where($where);
|
||||
parent::save($save_data);
|
||||
}
|
||||
if($spid){
|
||||
$data = array(
|
||||
"id" => $spid,
|
||||
'member_id' => $member_id
|
||||
);
|
||||
$this->is_sp_status($data);
|
||||
$where["member_id"] = $member_id;
|
||||
$where["id"] = $spid;
|
||||
$save_data["sp_status"] = 1;
|
||||
$this->where($where);
|
||||
parent::save($save_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
namespace Member\Model;
|
||||
use Think\Model;
|
||||
|
||||
class MemberInvoiceModel extends Model{
|
||||
|
||||
/**
|
||||
* 验证字段
|
||||
* @var array
|
||||
*/
|
||||
protected $_validate=array(
|
||||
array("type","require","请确定发票类型"),
|
||||
array("company_name","require","请填写公司姓名"),
|
||||
array("taxpayer_number","require","请填写纳税人识别号"),
|
||||
array("registration_address","require","请填写注册单位地址"),
|
||||
array("registration_mobile","require","请填写注册人手机号"),
|
||||
array("opening_bank","require","请填写开户银行"),
|
||||
array("bank_account","require","请填写银行账号"),
|
||||
);
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function save($data = '', $options = array())
|
||||
{
|
||||
$data["member_id"] = session("member.member_id");
|
||||
$data["create_time"] = time();
|
||||
$this->is_status($data);
|
||||
if(!$data["id"]){
|
||||
return $this->add($data);
|
||||
}
|
||||
return parent::save($data, $options); // TODO: Change the autogenerated stub
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否保存默认发票信息 修改原本的默认发票信息
|
||||
* @param $data 保存的数据
|
||||
*/
|
||||
private function is_status($data){
|
||||
// 判断是否存在默认地址
|
||||
$where["status"] = 1;
|
||||
$where["member_id"] = $data["member_id"];
|
||||
|
||||
$res = $this->where($where)->select();
|
||||
if(!empty($res)){
|
||||
// 去除默认地址
|
||||
$datas["status"] = 0;
|
||||
$where = array();
|
||||
$where["member_id"] = $data["member_id"];
|
||||
$this->where($where);
|
||||
parent::save($datas);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 设置默认发票头
|
||||
* @param $id 设置的发票头id
|
||||
*/
|
||||
public function setDefault($id){
|
||||
$member_id = session("member.member_id");
|
||||
if($id){
|
||||
$data = array(
|
||||
"id" => $id,
|
||||
'member_id' => $member_id
|
||||
);
|
||||
$this->is_status($data);
|
||||
$where["member_id"] = $member_id;
|
||||
$where["id"] = $id;
|
||||
$save_data["status"] = 1;
|
||||
$this->where($where);
|
||||
return parent::save($save_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
namespace Member\Model;
|
||||
use Think\Model;
|
||||
use Org\MobileVerify\MobileVerifyCode;
|
||||
|
||||
class MemberModel extends Model{
|
||||
protected $tableName="member";
|
||||
|
||||
/**
|
||||
* 验证字段
|
||||
* @var array
|
||||
*/
|
||||
protected $_validate=array(
|
||||
//array("字段","验证规则","错误提示",["验证条件","附加条件","验证时间"]),
|
||||
array("truename","require","企业名称不能为空"),
|
||||
array("guhua","require","固定电话不能为空"),
|
||||
array("zhuyinghangye","require","请选择主营行业"),
|
||||
array("kehuxingzhi","require","请选择客户性质"),
|
||||
array("lianxiren","require","联系人不能为空"),
|
||||
array("lianxiren_mobile","require","联系人手机号不能为空"),
|
||||
array("email","require","邮箱不能为空"),
|
||||
array("province","require","请选择省"),
|
||||
array("city","require","请选择市"),
|
||||
array("area","require","请选择区"),
|
||||
);
|
||||
|
||||
/**
|
||||
* 修改密码
|
||||
*/
|
||||
public function updatePassword(){
|
||||
$rule = array(
|
||||
array("oldpassword","require","请输入当前密码"),
|
||||
array("password","require","请输入密码"),
|
||||
array("password","6,40","密码长度需要6位以上",2,"length"),
|
||||
array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
|
||||
);
|
||||
$this->_validate = $rule;
|
||||
$data = parent::create();
|
||||
if(!$data){
|
||||
return false;
|
||||
}
|
||||
$oldpassword = I('post.oldpassword');
|
||||
$password = I('post.password');
|
||||
if($oldpassword == $password){
|
||||
$this->error = '当前密码和新密码不能相同';
|
||||
return false;
|
||||
}
|
||||
$where['password'] = md6(I('post.oldpassword'));
|
||||
$where['member_id'] = session("member.member_id");
|
||||
$memberInfo = $this->where($where)->field("member_id")->find();
|
||||
if(!$memberInfo){
|
||||
$this->error = '请输入正确密码';
|
||||
return false;
|
||||
}
|
||||
$memberInfo['password'] = md6($password);
|
||||
$this->error = '密码修改成功';
|
||||
return parent::save($memberInfo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 发送修改绑定手机号短信验证码
|
||||
* @param $mobile
|
||||
* @return bool
|
||||
*/
|
||||
public function sendCode($mobile){
|
||||
$mVC = new MobileVerifyCode();
|
||||
return $mVC->send_code($mobile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送修改绑定手机号短信验证码
|
||||
* @param $mobile
|
||||
* @return bool
|
||||
*/
|
||||
public function checkCode(){
|
||||
$mVC = new MobileVerifyCode();
|
||||
if(!$mVC->check(session('member.mobile'),I('post.verifycode'))){
|
||||
$this->error = $mVC->error;
|
||||
return false;
|
||||
}
|
||||
$this->error = "验证码正确";
|
||||
session("update_mobile",1);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改手机号
|
||||
* @param $mobile
|
||||
* @return bool
|
||||
*/
|
||||
public function checkCodeAndSaveMobile(){
|
||||
$mobile = I("post.mobile");
|
||||
$rules = array(
|
||||
array("mobile","require","手机号码不能为空"),
|
||||
array('mobile','/^1[3|4|5|7|8][0-9]\d{4,8}$/','手机号码错误!','0','regex',1),
|
||||
array('mobile','','手机号码已存在!',0,'unique',1), // 在新增的时候验证手机号码字段是否唯一
|
||||
array("verifycode","require","请输入短信验证码"),
|
||||
array("verifycode","6","短信验证码为6位",2,'length'),
|
||||
);
|
||||
$this->_validate = $rules;
|
||||
$datas = parent::create();
|
||||
if(!$datas){
|
||||
return false;
|
||||
}
|
||||
|
||||
$mVC = new MobileVerifyCode();
|
||||
if(!$mVC->check($mobile,I('post.verifycode'))){
|
||||
$this->error = $mVC->error;
|
||||
return false;
|
||||
}
|
||||
|
||||
session("update_mobile",null);
|
||||
$data["member_id"] = session("member.member_id");
|
||||
$data['mobile'] = $mobile;
|
||||
//更换mobile session
|
||||
$session_data=session("member");
|
||||
$session_data["mobile"]=$mobile;
|
||||
session("member",$session_data);
|
||||
//
|
||||
return parent::save($data);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
<?php
|
||||
namespace Member\Model;
|
||||
use Think\Model;
|
||||
use Org\MobileVerify\MobileVerifyCode;
|
||||
|
||||
class PublicModel extends Model{
|
||||
protected $tableName="member";
|
||||
/**
|
||||
* 验证字段
|
||||
* @var array
|
||||
*/
|
||||
protected $_validate=array(
|
||||
//array("字段","验证规则","错误提示",["验证条件","附加条件","验证时间"]),
|
||||
array("mobile","require","手机号码不能为空"),
|
||||
array('mobile','/^1[3|4|5|7|8][0-9]\d{8}$/','手机号码错误!','0','regex',1),
|
||||
array('mobile','','手机号码已存在!',0,'unique',1), // 在新增的时候验证手机号码字段是否唯一
|
||||
array("verifycode","require","请输入短信验证码"),
|
||||
array("verifycode","6","短信验证码为6位",2,'length'),
|
||||
array("password","require","密码不能为空"),
|
||||
array("password","6,40","密码长度需要6位以上",2,"length"),
|
||||
array("agree","require","请同意《服务条款》",1),
|
||||
array('repassword','password','确认密码不正确',0,'confirm'), // 验证确认密码是否和密码一致
|
||||
);
|
||||
public function checkTruename(){
|
||||
$member_type=I("member_type");
|
||||
$truename=I("truename");
|
||||
if($member_type=="person"&&!$truename){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 重写save
|
||||
* @param $data 保存的数据,默认为空
|
||||
*/
|
||||
public function save($data=null){
|
||||
// 判断短信验证码是否正确
|
||||
$verifycode = I('post.verifycode');
|
||||
$mobile = I('post.mobile');
|
||||
$mVC = new MobileVerifyCode();
|
||||
if(!$mVC->check($mobile,$verifycode)){
|
||||
$this->error = $mVC->error;
|
||||
return false;
|
||||
}
|
||||
$data['register_time'] = time();
|
||||
$data['checked'] =1;
|
||||
$data['status'] =1;
|
||||
$data['password'] = md6($data['password']);
|
||||
if($data['member_id']){
|
||||
return parent::save($data);
|
||||
}else{
|
||||
$mVC = new MobileVerifyCode();
|
||||
$mVC->clear();//清空验证码
|
||||
$this->error = "注册成功";
|
||||
return $this->add($data);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户登陆
|
||||
* @return array or false
|
||||
*/
|
||||
public function checkLogin(){
|
||||
$username = I("mobile");
|
||||
$password = md6(I("password"));
|
||||
$member_r = $this->where(array("mobile" => $username))->find();
|
||||
if (!$member_r) {
|
||||
$this->error = "用户名或密码错误";
|
||||
return false;
|
||||
}
|
||||
if ($member_r["password"] === $password) {
|
||||
if (!$member_r[status]) {
|
||||
$this->error = "用户已被禁用";
|
||||
return false;
|
||||
}elseif (!$member_r[checked]) {
|
||||
$this->error = "用户未审核通过";
|
||||
return false;
|
||||
}else{
|
||||
return $this->setLogin($member_r);
|
||||
}
|
||||
}
|
||||
$this->error = "用户名或密码错误";
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $member_r 用户信息
|
||||
* @return bool [true or false] 保存登陆信息
|
||||
*/
|
||||
public function setLogin($member_r){
|
||||
$session_data = array(
|
||||
"member_id" => $member_r["member_id"],
|
||||
"truename" => $member_r["truename"],
|
||||
"zhizhao" => $member_r["zhizhao"],
|
||||
"mobile" => $member_r["mobile"],
|
||||
);
|
||||
session("member",$session_data);
|
||||
$newdata["member_id"]=$member_r['member_id'];
|
||||
$newdata["login_num"]=$member_r['login_num']+1;
|
||||
$newdata['last_login_ip']= get_client_ip();
|
||||
$newdata['last_login_time']=time();
|
||||
return parent::save($newdata);
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用create
|
||||
* @return array or false
|
||||
*/
|
||||
public function create2(){
|
||||
$rules = array(
|
||||
array("mobile", "require", "手机号不能为空"),
|
||||
array('mobile','/^(1(([35789][0-9])|(47)))\d{8}$/','手机号码错误!','0','regex',1),
|
||||
array("password", "require", "密码不能为空"),
|
||||
);
|
||||
$this->validate($rules);
|
||||
return parent::create();
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送注册短信验证码
|
||||
* @param $mobile
|
||||
* @return bool
|
||||
*/
|
||||
public function sendCode($mobile){
|
||||
if(!self::check_phone($mobile)){
|
||||
$this->error = "请输入正确手机号码";
|
||||
return false;
|
||||
}
|
||||
if(self::exists_phone($mobile)){
|
||||
$this->error = "手机号码已存在";
|
||||
return false;
|
||||
}
|
||||
|
||||
$mVC = new MobileVerifyCode();
|
||||
return $mVC->send_code($mobile);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断手机号码数据库是否存在
|
||||
* @param $phone 手机号
|
||||
* @return bool [true or false]
|
||||
*/
|
||||
public static function exists_phone($phone)
|
||||
{
|
||||
$where["mobile"] = $phone;
|
||||
return M("member")->where($where)->find() ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用正则判断手机号码格式是否正确
|
||||
* @param $phone 手机号
|
||||
* @return bool [true or false]
|
||||
*/
|
||||
public static function check_phone($phone)
|
||||
{
|
||||
$check = '/^(1(([35789][0-9])|(47)))\d{8}$/';
|
||||
if (preg_match($check, $phone)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存签名的密码
|
||||
* @param $phone 手机号
|
||||
* @return bool [true or false]
|
||||
*/
|
||||
public static function md5_sign($password)
|
||||
{
|
||||
return md5(md5($password.'jijin'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 推出登陆 清空客户端登陆session
|
||||
*/
|
||||
public static function logout()
|
||||
{
|
||||
session("member",null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -0,0 +1,195 @@
|
||||
<?php
|
||||
namespace Member\Model;
|
||||
use Think\Model\RelationModel;
|
||||
class TougaoModel extends RelationModel{
|
||||
protected $tableName,$_validate,$_link,$modelinfo,$modelid,$fieldarr;
|
||||
|
||||
public function __construct(){
|
||||
//模型id
|
||||
$modelid=I("modelid",0,"int");
|
||||
$this->modelid=$modelid;
|
||||
//模型信息
|
||||
$modelinfo=$GLOBALS['model'][$modelid];
|
||||
if(!$modelinfo){
|
||||
return false;//
|
||||
}
|
||||
$this->modelinfo=$modelinfo;
|
||||
//
|
||||
//$this->_validate[]=array("catid","require","请选择分类",1);
|
||||
//对应数据表
|
||||
$this->tableName="cms_".$modelinfo['table_name'];
|
||||
//关联模型
|
||||
$this->_link = array(
|
||||
//对应栏目表
|
||||
"cat"=>array(
|
||||
'mapping_type' => self::BELONGS_TO,
|
||||
'foreign_key' => 'catid',
|
||||
),
|
||||
//【对应副表】
|
||||
$this->tableName."_data"=>array(
|
||||
'mapping_type' => self::HAS_ONE,
|
||||
'foreign_key' => 'id',
|
||||
),
|
||||
);
|
||||
//录入项
|
||||
$is_enter=$this->modelinfo["is_contribute"];
|
||||
$is_enter_arr=explode(",",trim($is_enter,","));
|
||||
$this->fieldarr=M("table_field")->where(array("table_id"=>$this->modelinfo["table_id"],"field"=>array('in',$is_enter_arr)))->select();
|
||||
//必填项
|
||||
$must_enter=$this->modelinfo["must_enter"];
|
||||
$must_enter_arr=explode(",",trim($must_enter,","));
|
||||
$this->must_enter_arr=M("table_field")->where(array("table_id"=>$this->modelinfo["table_id"],"field"=>array('in',$must_enter_arr)))->select();
|
||||
foreach($this->must_enter_arr as $v){
|
||||
//自动验证=======================================================================
|
||||
//array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])
|
||||
//必填项(不能为空验证)
|
||||
if(strstr($this->modelinfo["is_enter"],",".$v[field].",")){
|
||||
$error_tips=$v[name]."必须填写!";
|
||||
//判断是不是checkbox,如果是执行函数验证
|
||||
if($v[formtype]=="checkbox"){
|
||||
$error_tips=$v[name]."必须勾选!";
|
||||
$this->_validate[]=array($v[field],'validate_checkbox',$error_tips,1,"callback");
|
||||
}
|
||||
//判断是不是多图上传
|
||||
elseif($v[formtype]=="morepic"){
|
||||
$error_tips="请上传".$v[name]."!";
|
||||
$this->_validate[]=array($v[field]."_smallimg",'validate_checkbox',$error_tips,1,"callback");
|
||||
}
|
||||
else{
|
||||
$this->_validate[]=array($v[field],'require',$error_tips,1);
|
||||
}
|
||||
}
|
||||
//正则验证
|
||||
if($v[pattern]){
|
||||
$p_error_tips=$v[errortips]?$v[errortips]:$v[name]."验证不通过!";
|
||||
$this->_validate[]=array($v[field],$v[pattern],$p_error_tips,1,"regex");
|
||||
}
|
||||
//函数验证
|
||||
if($v[savefun]){
|
||||
$p_error_tips=$v[errortips]?$v[errortips]:$v[name]."验证不通过!";
|
||||
$this->_validate[]=array($v[field],$v[savefun],$p_error_tips,1,"function");
|
||||
}
|
||||
//值维一验证
|
||||
if($v[isunique]){
|
||||
$p_error_tips=$v[name]."对应的记录已存在!";
|
||||
$this->_validate[]=array($v[field],"",$p_error_tips,0,"unique");
|
||||
}
|
||||
}
|
||||
//注意,这里父类析构函数一定要放到最下面,否则框架自带的方法不能使用
|
||||
parent::__construct();
|
||||
}
|
||||
//自动验证的时候 验证checkbox
|
||||
protected function validate_checkbox($arr){
|
||||
if(count($arr)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//数据完成
|
||||
protected function data_create(){
|
||||
$data=$this->create();
|
||||
if($data[id]){
|
||||
$data[editortime]=time();
|
||||
}else{
|
||||
$data[addtime]=time();
|
||||
$data[modelid]=$this->modelid;
|
||||
$data[userid]=$_SESSION['user_id'];
|
||||
$data[username]=$_SESSION['user_name'];
|
||||
}
|
||||
$data["catid"]=intval($data["catid"]);
|
||||
foreach ($this->fieldarr as $v){
|
||||
//检测是不是副表字段,如果是副表时间,数据用I方法获取(因为create方法只能获取主表数据)
|
||||
if(!$v[issystem]){
|
||||
$data[$v[field]]=I($v[field]);
|
||||
}//
|
||||
//复选框
|
||||
if($v[formtype]=="checkbox"){
|
||||
$data[$v[field]]=implode("|",$data[$v[field]]);
|
||||
if($data[$v[field]]){
|
||||
$data[$v[field]]="|".$data[$v[field]]."|";
|
||||
}
|
||||
}
|
||||
//多图上传
|
||||
if($v[formtype]=="morepic"){
|
||||
$morepic_str="";
|
||||
$smallimg=$_POST[$v[field]."_smallimg"];
|
||||
$bigimg=$_POST[$v[field]."_bigimg"];
|
||||
$imgname=$_POST[$v[field]."_imgname"];
|
||||
foreach($smallimg as $key=>$val){
|
||||
$morepic_str.=$smallimg[$key]."||".$bigimg[$key]."||".$imgname[$key]."\r\n";
|
||||
}
|
||||
$morepic_str=trim($morepic_str,"\r\n");
|
||||
$data[$v[field]]=$morepic_str;
|
||||
}
|
||||
//如果开启了魔术棒的话去掉转义字符
|
||||
if(get_magic_quotes_gpc()){ //如果get_magic_quotes_gpc()是打开的
|
||||
$data[$v[field]]=stripslashes($data[$v[field]]);//将字符串进行处理
|
||||
}
|
||||
//如果是编辑器字段截取内容做为简介
|
||||
if($v[formtype]=="editor"){
|
||||
if(!$data[description]){
|
||||
$data[description]= mb_substr(strip_tags(htmlspecialchars_decode($data[$v[field]])),0,C("display.description_len"),'utf-8');
|
||||
}
|
||||
}
|
||||
//日期
|
||||
if($v[formtype]=="date"){
|
||||
$data[$v[field]]=$data[$v[field]]?strtotime($data[$v[field]]):"";
|
||||
}
|
||||
//未定义的数据设为空【否则mysql会报 cannot be null错误】
|
||||
$data[$v[field]]=isset($data[$v[field]])?$data[$v[field]]:"";
|
||||
//判断是否为 int smallint tinyint bigint
|
||||
if(in_array($v[fieldtype],array("tinyint","smallint","int","bigint"))){
|
||||
$data[$v[field]]=abs($data[$v[field]]);//禁止出现负数
|
||||
}
|
||||
//将副表的数据提取出来[这里用到了关联模型]
|
||||
if(!$v[issystem]){
|
||||
$data[$this->tableName."_data"][$v[field]]=$data[$v[field]];
|
||||
unset($data[$v[field]]);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
//增加
|
||||
public function data_add(){
|
||||
$data=$this->data_create();
|
||||
//是否开启自动审核
|
||||
$data['checked']=0;
|
||||
//
|
||||
$data['id']=$this->relation(true)->add($data);
|
||||
if($data['id']){
|
||||
//如果副表字段为空,需要插入id数据
|
||||
if(!$data[$this->tableName."_data"]){
|
||||
$data[$this->tableName."_data"][id]=$data['id'];
|
||||
M($this->tableName."_data")->add($data[$this->tableName."_data"]);
|
||||
}
|
||||
return $data;
|
||||
}else{
|
||||
$this->error = '缺少字段id!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//修改
|
||||
public function data_editor(){
|
||||
$data=$this->data_create();
|
||||
$this->relation(true)->save($data);
|
||||
return $data;
|
||||
}
|
||||
//删除字段
|
||||
public function data_delete($ids) {
|
||||
if(!$ids){
|
||||
$this->error = '请选择信息!';
|
||||
return false;
|
||||
}
|
||||
if(is_array($ids)){
|
||||
foreach($ids as $id){
|
||||
$this->relation(true)->delete($id);
|
||||
}
|
||||
}else{
|
||||
$this->relation(true)->delete($ids);
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user