';
$res = db('wechat_material')->insert($data);
if($res){
exit(json_encode(array('status'=>1,'reg'=>'添加成功')));
}else{
exit(json_encode(array('status'=>2,'reg'=>'添加失败')));
}
}
}
// 修改素材页面
public function editshow(){
$id = input('id');
$wxid = input('wxid');
if($id){
$i = db('wechat_material')->where('id',$id)->find();
$upwx = db('wechat_material_list')->where('id',$i['mid'])->value('upwx');
$wxname = db('wxopen_account')->where('id',$wxid)->value('title');
$this->assign('upwx',$upwx);
$this->assign('data',$i);
$this->setMeta($wxname);
return $this->fetch();
}
}
// 修改素材
public function edit(){
$data = input();
if($data){
$id = $data['id'];
unset($data['id']);
//上传内容里的图片到微信 然后获取地址 在拼接到内容
import("Wechatpush.Wechatpush", EXTEND_PATH,'.php');
$wx_config = db('wxopen_account')->field('appid,appsecret')->where('id',$data['wxid'])->find();
$appid = $wx_config['appid'];
$secret= $wx_config['appsecret'];
$wx = new \Wechatpush($appid,$secret);
$botimg_path = parse_url($data['bot_url']);
$botimg = $botimg_path['path'];
$botimg = config('server_path').$botimg;
$wximgurl = $wx->getimg($botimg);
$topimgdiv = '';
if($data['top_url']){
$topimg_path = parse_url($data['top_url']);
$topimg = $topimg_path['path'];
$topimg = config('server_path').$topimg;
$topimg = $wx->getimg($topimg);
$topimgdiv = '
';
$data['wx_top_url'] = $topimg;
}
$data['wximgurl'] = $wximgurl;
//替换原来的底部图片内容
$ybotimg = db('wechat_material')->where('id',$id)->value('wximgurl');
$data['content'] = str_replace($ybotimg,$wximgurl,$data['content']);
//替换原来的TOP插图
if($topimgdiv){
$ytopimg = db('wechat_material')->where('id',$id)->value('wx_top_url');
$data['content'] = str_replace($ytopimg,$topimg,$data['content']);
}
$data['content'] = '
'.$data['content'].'
';
$res = db('wechat_material')->where('id',$id)->update($data);
if($res){
exit(json_encode(array('status'=>1,'reg'=>'成功')));
}else{
exit(json_encode(array('status'=>2,'reg'=>'失败')));
}
}
}
// 删除素材
public function del(){
$id = input('id');
if($id){
$img_url = db('wechat_material')->field('thumb_url,bot_url')->where('id',$id)->find();
//删除图片
//@unlink(parseurl($img_url['thumb_url']));
//@unlink(parseurl($img_url['bot_url']));
$res = db('wechat_material')->delete($id);
if($res){
exit(json_encode(array('status'=>1,'reg'=>'成功')));
}else{
exit(json_encode(array('status'=>2,'reg'=>'失败')));
}
}
}
// 删除整个模板素材 同步删除到微信
public function delmd(){
$id = input('id');
if($id){
$list = db('wechat_material')->where('mid',$id)->select();
foreach($list as $k=>$v){
//@unlink(parseurl($v['thumb_url']));
//@unlink(parseurl($v['bot_url']));
db('wechat_material')->delete($v['id']);
}
$wxid = db('wechat_material_list')->where('id',$id)->value('wxid');
db('wechat_material_list')->delete($id);
$tcpurl = "http://127.0.0.1:9505";
$tcparr = array(
'id'=>$id,
'type'=>'delmd',
'wxid'=>$wxid
);
pushMessageToClient($tcpurl,json_encode($tcparr));
exit(json_encode(array('status'=>1,'reg'=>'删除成功')));
}
}
// 上传图片返回 图片 media_id 然后入库
public function upthumb($wx,$file,$wxid,$mid,$sid){
$file = parseurl($file);
$res = $wx->uploadImage($file);
// db('thumb_media_id')->insert(array(
// 'thumb_media_id'=>$res,
// 'wxid'=>$wxid,
// 'mid'=>$mid,
// 'sid'=>$sid
// ));
return $res;
}
// 返回素材media_id 然后入库
public function GetmaterialMediaid($wx,$data,$wxid,$mid){
$media_id = $wx->upMaterial($data);
if(!empty($media_id)){
db('media_id')->insert(array(
'media_id'=>$media_id,
'wxid'=>$wxid,
'mid'=>$mid
));
return true;
}
return false;
}
// 把图文素材上传到公众号 原来是用swoole上传的
// public function upMaterial(){
// $mid = input('mid');
// if($mid){
// $wxid = db('wechat_material_list')->where('id',$mid)->value('wxid');
// $tcpurl = "http://127.0.0.1:9505";
// $tcparr = array(
// 'mid'=>$mid,
// 'type'=>'upMaterial',
// 'wxid'=>$wxid
// );
// pushMessageToClient($tcpurl,json_encode($tcparr));
// exit(json_encode(array('status'=>1,'reg'=>'成功,将同步到公众号')));
// }
// }
public function upMaterial(){
$mid = input('mid');
if($mid){
// 更新模板状态是否同步到公众号
db('wechat_material_list')->where('id',$mid)->update(['upwx'=>1]);
$material = db('wechat_material')->where('mid',$mid)->order('id asc')->select();
// 公众号
$wxid = db('wechat_material_list')->where('id',$mid)->value('wxid');
$wx_configs = db('wxopen_account')->where('id',$wxid)->find();
$appid = $wx_configs['appid'];
$secret= $wx_configs['appsecret'];
import("Wechatpush.Wechatpush", EXTEND_PATH,'.php');
$wx = new \Wechatpush($appid,$secret);
$data = array();
// 先上传图片拿到标识 拼接数据
$index = 0;
foreach($material as $k2=>$v2){
$data[$k2]['title'] = urlencode(mb_substr($v2['title'],0,60,'utf8'));
$data[$k2]['thumb_media_id'] = $this->upthumb($wx,$v2['thumb_url'],$wxid,$mid,$v2['id']);
$data[$k2]['show_cover_pic'] = $v2['show_cover_pic'];
$data[$k2]['content'] = urlencode(htmlspecialchars(str_replace("\"", "'", $v2['content'])));
$data[$k2]['content_source_url'] = $v2['content_source_url'];
db('wechat_material')->where('id',$v2['id'])->update(['index'=>$index]);
$index++;
}
$is = $this->GetmaterialMediaid($wx,$data,$wxid,$mid);
if($is==false){
exit(json_encode(array('status'=>2,'reg'=>'同步失败')));
}else{
db('wechat_material_list')->where('id',$mid)->update(['status'=>2]);
exit(json_encode(array('status'=>1,'reg'=>'同步公众号成功')));
}
}
}
// 更新公众号素材 对应栏目
public function renewNews(){
$mid = input('mid');
$id = input('id');
$wxid = input('wxid');
$tcpurl = "http://127.0.0.1:9505";
$tcparr = array(
'id'=>$id,
'mid'=>$mid,
'type'=>'renewNews',
'wxid'=>$wxid
);
db('wechat_material_list')->where('id',$mid)->update(['status'=>1]);
pushMessageToClient($tcpurl,json_encode($tcparr));
exit(json_encode(array('status'=>1,'reg'=>'成功,将同步到公众号')));
}
// 高级群页面
public function pushshow(){
$mid = input('mid');
$list_time = db('wechat_material_time')->where('mid',$mid)->order('id desc')->select();
$minfo = db('wechat_material_list')->field('wxid,status')->where('id',$mid)->find();
$this->assign('list_time',$list_time);
$this->assign('wxid',$minfo['wxid']);
$this->assign('status',$minfo['status']);
$this->assign('mid',$mid);
$this->setMeta('高级群发');
return $this->fetch();
}
// 高级群发测试推送
public function ceshiPush(){
$data = input('');
if($data){
import("Wechatpush.Wechatpush", EXTEND_PATH,'.php');
$wxid = $data['wxid'];
if($wxid!=0){
$wx_config = db('wxopen_account')->field('appid,appsecret')->where('id',$wxid)->find();
$appid = $wx_config['appid'];
$secret= $wx_config['appsecret'];
$wx = new \Wechatpush($appid,$secret);
$media_id = db('media_id')->where(array(
'wxid'=>$wxid,
'mid'=>$data['mid']
))->value('media_id');
$openid = db('member_userapi')->where('uid',$data['cid'])->value('wxmpid');
$res = $wx->ceshiPush($openid,$media_id);
if($res=='发送成功'){
exit(json_encode(array('status'=>1,'reg'=>'推送成功')));
}else{
exit(json_encode(array('status'=>2,'reg'=>$res)));
}
}else{
exit(json_encode(array('status'=>2,'reg'=>'未绑定公众号')));
}
}
}
// 高级群发开始
public function advanced(){
$data = input('');
if($data){
// $is = db('wxpushhistory')->where('mid',$data['mid'])->value('id');
// if($is){
// exit(json_encode(array('status'=>2,'reg'=>'该公众号已经发过此素材不能在发')));
// }
$tcpurl = "http://127.0.0.1:9505";
$tcparr = array(
'mid'=>$data['mid'],
'type'=>'pushAll',
'wxid'=>$data['wxid'],
'pushtype'=>$data['pushtype']
);
if($data['intime']!=0){
//时间段内注册用户
$tcparr['intime'] = 86400 * $data['intime'];
}
pushMessageToClient($tcpurl,json_encode($tcparr));
exit(json_encode(array('status'=>1,'reg'=>'开始群发,耗时较久')));
}
}
// 高级群发定时推送
public function advancedtime(){
$data = input('');
if($data){
//var_dump($data);exit;
// $is = db('wxpushhistory')->where('mid',$data['mid'])->value('id');
// if($is){
// exit(json_encode(array('status'=>2,'reg'=>'该公众号已经发过此素材不能在发')));
// }
if($data['tasktime']