order('ordid asc')->select(); $this->assign("typelist",$typelist); $this->assign('key_word',$key_word); $this->assign('pagenum',$pagenum); $this->assign('type',$type); $this->assign('cur_page',$cur_page); return $this->fetch(); } public function ajaxtemplateList(){ $type=I('type'); $type_id=I('type_id'); $key_word=I('key_word'); $key_word = I('key_word') ? trim(I('key_word')) : ''; // 关键词搜索 $cur_page=I('p/d',0);//当前页数 if ($cur_page<=0) { $cur_page=1; } $pagenum=I('pagenum/d',10); $where = ' a.type <> 0 and a.type<>3 and a.type<>4'; // 搜索条件 if($type){ $where.=" and a.type=".$type; } if($type_id){ $where.=" and a.type_id=".$type_id; } if($key_word) { $where .= " and (a.page_title like '%$key_word%' or a.page_describe like '%$key_word%' or a.template_sn like '%$key_word%')" ; } $model = M('store_module'); $count = $model->alias('a')->join('module_type b','a.type_id=b.id','left') ->where($where)->count(); $Page = new AjaxPage($count,$pagenum); $show = $Page->show(); $List = $model->alias('a')->join('module_type b','a.type_id=b.id','left') ->join('(select count(1) as countbuynum,module_id from wxd_store_renew_module group by module_id) c','a.id=c.module_id','left') ->join('(select count(1) as usercount,from_id from wxd_store_module group by from_id) d','a.id=d.from_id','left') ->where($where)->order("a.billdate desc") ->field('a.*,b.typename,ifnull(c.countbuynum,0) as countbuynum,ifnull(d.usercount,0) as usercount ') ->limit($Page->firstRow.','.$Page->listRows)->select(); $oldurl=U('manager/template/templatelist',array( "type"=>$type, "key_word"=>$key_word, "pagenum"=>$pagenum, "p"=>$cur_page, )); $this->assign('oldurl',urlencode($oldurl)); $this->assign('key_word',$key_word); $this->assign('pagenum',$pagenum); $this->assign('type',$type); $this->assign('type_id',$type_id); $this->assign('cur_page',$cur_page); $this->assign('temList',$List); $this->assign('page',$show);// 赋值分页输出 $this->assign('pager',$Page); return $this->fetch(); } /*--模板添加和修改页--*/ public function templatehandle(){ /*-------模块读取-------*/ $rs=M("module")->select(); //元素 {"content":citem,"ename":data.data.eng_name,"name":"","icon":}; foreach ($rs as $k=>$v){ $str=file_get_contents(ROOT_PATH.$v['controljson']); $jdata=json_decode($str,true); $data[]=[ "content"=>$jdata['content'], "ename"=>$v['eng_name'], "name"=>$v['name'], "icon"=>getimg($v['module_icon'],NOIMG), "type"=>0 ]; } $typelist=M('module_type')->order('ordid asc')->select(); $this->assign("typelist",$typelist); if(empty($data)) $data=-1; $this->assign("module",json_encode($data)); $id=I('id'); if(!empty($id)){ /*--模板读取--*/ $temdata=M("store_module")->where('id',$id)->find(); /*--要读取content--*/ $p=ROOT_PATH."/public/template/feature/".$temdata['template_sn'].".json"; if(file_exists($p)) { $str = file_get_contents($p); $jjdata = json_decode($str, true); }else{ $this->assign("err","未找到模板文件"); return $this->fetch(); } $this->assign("temdata1",$temdata); $this->assign("temdata",json_encode($jjdata)); /*--config--{"title":"","descr":"","istop":0,"isright":0,"money":0};*/ $data=[ "title"=>$temdata['page_title'], "descr"=>$temdata['page_describe'], "istop"=>$temdata['istop'], "isright"=>$temdata['isright'], "isshow"=>$temdata['isshow'], "type_id"=>$temdata['type_id'], "money"=>$temdata['money'], "days"=>$temdata['days'], "bkcolor"=>$temdata['bkcolor'], ]; $this->assign("config",json_encode($data)); }else{ $this->assign("temdata",-1); $this->assign("config",-1); } $this->initEditor(); return $this->fetch(); } /*-------模板的保存------------*/ public function temlatesave(){ mlog("0","temlatesave"); /*--删除手机展示缓存--*/ delFile(TEMP_PATH."/manager_template"); $data=I("post."); $id=I('temid'); /*---创建模板存放目录---*/ if (!is_dir(ROOT_PATH.'/public/template/feature/')) mkdir(ROOT_PATH.'/public/template/feature/'); /*----页面基础配置----*/ $conf = $data[1]; /*----json文件保存----*/ $str = json_encode($data[0]); mlog("1".$id,"temlatesave"); /*----------------新增-----------------*/ if(empty($id)) { mlog("2","temlatesave"); $mr=get_total_millisecond(); $sn = date('YmdHis').$mr.rand(1000, 9999); /*--json文件操作--*/ $filename='/public/template/feature/'.$sn.'.json'; if(file_exists(ROOT_PATH.$filename) && $filename){ mdelFile(ROOT_PATH.$filename); } file_put_contents(ROOT_PATH.$filename,$str); /*---调用风格表存储手机端显示文件---*/ $filename2='/public/template/feature/'.$sn.'.html'; if(file_exists(ROOT_PATH.$filename2) && $filename2){ mdelFile(ROOT_PATH.$filename2); } /*---手机前端要显示保存的内容---*/ $htm=""; foreach ($data[0] as $k=>$v){ /*--风格类型--*/ $type=$v['content']['style']; $r0=M("module")->where('eng_name',$v['ename'])->find(); $r1=M("module_list")->where('parent_id',$r0['id'])->where('type',$type)->find(); /*--获取手机前端要显示html--*/ $htmlfile="/public/template/html/". $r0['eng_name'] . "/mobliehtm".$r1['class_eng_name'].".html"; if(file_exists(ROOT_PATH.$htmlfile)){ $cstr=file_get_contents(ROOT_PATH.$htmlfile); } else{ return json(['code'=>-1,'msg'=>'未找到手机端展示文件']); } /*--根据字段替换--*/ $fields=explode(",",$r1['fields']); foreach ($fields as $kk=>$vv) { $val=$v['content'][$vv]; if($vv=='no'){ $val=uniqid(); } if($vv=='scoll_length'){ $val=$v['content']['length']; if(count($v['content']['data'])<$val){ $val=count($v['content']['data']); } } if (gettype($val)=='boolean'){ $val=(int)$val; } $replacestr="{{".$vv."}}"; $cstr=str_replace($replacestr,$val."",$cstr); } /*--如果有循环体--*/ if(!empty($v['content']['data'])) { $rhtm=""; $width=100/count($v['content']['data']); /*--截取循环里面的循环体--*/ $start1=strpos($cstr,'',0); /*--如果有进行循环--*/ if($start1) { $end1 = strpos($cstr, '', 0); /* $str = "{{name}}"; */ $repeat = substr($cstr, $start1 + 9, $end1 - $start1 - 9); $cstr = str_replace('', "", $cstr); $cstr = str_replace('', "", $cstr); $cstr = str_replace($repeat, "{{the_repeat}}", $cstr); foreach ($v['content']['data'] as $kk => $vv) { $vv['width'] = $width; $rp = $repeat; foreach ($vv as $mk => $mv) { $replacestr = "{{" . $mk . "}}"; $rp = str_replace($replacestr, $mv . "", $rp); } $rhtm .= $rp; } $cstr = str_replace("{{the_repeat}}", $rhtm, $cstr); }else{ /*--如果有按数组替换的--*/ if(strpos($cstr,'{{data[0]',0)) { /*--根据字段替换--*/ foreach ($v['content']['data'] as $kk => $vv) { foreach ($vv as $km => $vm) { $replacestr = "{{data[" . $kk . "]." . $km . "}}"; $cstr = str_replace($replacestr, $vm . "", $cstr); } } }else{ /*---如果是商品分组的手动选择商品---*/ if( $v['content']['classstyle']==1 || $v['content']['moudletype']==2 || $v['content']['moudletype']==3 || $v['content']['moudletype']==4 ){ $idlist=""; foreach ($v['content']['data'] as $kk => $vv) { $idlist.=$vv['goodsid'].","; } $idlist=substr($idlist,0,strlen($idlist)-1); $replacestr = "{{idlist}}"; $val0="".$idlist.""; $cstr = str_replace($replacestr, $val0, $cstr); } } } } $htm.=$cstr; } /*---写入文件---*/ file_put_contents(ROOT_PATH.$filename2,$htm); $type=1; if(empty($conf['money'])) $conf['money']=0; if($conf['money']>0) $type=2; /*--存储数据--*/ $sdata = [ "type" => $type,//默认免费模板 "page_title" => $conf['title'], "page_describe" => $conf['descr'], "bkcolor" => $conf['bkcolor'], "istop" => $conf['istop'], "isright" => $conf['isright'], "isshow" => $conf['isshow'], "type_id" => $conf['type_id'], "money" => $conf['money'], "days" => $conf['days'], "template_sn" => $sn, "billdate" => time(), ]; $u=M('store_module')->save($sdata); if($u) return json(['code'=>1]); else return json(['code'=>-1,'msg'=>'保存失败']); } /*----------------编辑-----------------*/ else{ mlog("3","temlatesave"); $rs=M('store_module')->where('id',$id)->find(); $sn=$rs['template_sn']; /*--json文件操作--*/ $filename='/public/template/feature/'.$sn.'.json'; if(file_exists(ROOT_PATH.$filename) && $filename){ mdelFile(ROOT_PATH.$filename); } file_put_contents(ROOT_PATH.$filename,$str); /*---调用风格表存储手机端显示文件---*/ $filename2='/public/template/feature/'.$sn.'.html'; if(file_exists(ROOT_PATH.$filename2) && $filename2){ mdelFile(ROOT_PATH.$filename2); } /*---手机前端要显示保存的内容---*/ $htm=""; foreach ($data[0] as $k=>$v){ /*--风格类型--*/ $type=$v['content']['style']; $r0=M("module")->where('eng_name',$v['ename'])->find(); $r1=M("module_list")->where('parent_id',$r0['id'])->where('type',$type)->find(); /*--获取手机前端要显示html--*/ $htmlfile="/public/template/html/". $r0['eng_name'] . "/mobliehtm".$r1['class_eng_name'].".html"; if(file_exists(ROOT_PATH.$htmlfile)){ $cstr=file_get_contents(ROOT_PATH.$htmlfile); } else{ return json(['code'=>-1,'msg'=>'未找到手机端展示文件']); } /*--根据字段替换--*/ $fields=explode(",",$r1['fields']); foreach ($fields as $kk=>$vv) { $val=$v['content'][$vv]; if($vv=='no'){ $val=uniqid(); } if($vv=='scoll_length'){ $val=$v['content']['length']; if(count($v['content']['data'])<$val){ $val=count($v['content']['data']); } } if (gettype($val)=='boolean'){ $val=(int)$val; } $replacestr="{{".$vv."}}"; $cstr=str_replace($replacestr,$val."",$cstr); } /*--如果有循环体--*/ if(!empty($v['content']['data'])) { $rhtm=""; $width=100/count($v['content']['data']); /*--截取循环里面的循环体--*/ $start1=strpos($cstr,'',0); /*--如果有进行循环--*/ if($start1) { $end1 = strpos($cstr, '', 0); /* $str = "{{name}}"; */ $repeat = substr($cstr, $start1 + 9, $end1 - $start1 - 9); $cstr = str_replace('', "", $cstr); $cstr = str_replace('', "", $cstr); $cstr = str_replace($repeat, "{{the_repeat}}", $cstr); foreach ($v['content']['data'] as $kk => $vv) { $vv['width'] = $width; $rp = $repeat; foreach ($vv as $mk => $mv) { $replacestr = "{{" . $mk . "}}"; $rp = str_replace($replacestr, $mv . "", $rp); } $rhtm .= $rp; } $cstr = str_replace("{{the_repeat}}", $rhtm, $cstr); }else{ /*--如果有按数组替换的--*/ if(strpos($cstr,'{{data[0]',0)) { /*--根据字段替换--*/ foreach ($v['content']['data'] as $kk => $vv) { foreach ($vv as $km => $vm) { $replacestr = "{{data[" . $kk . "]." . $km . "}}"; $cstr = str_replace($replacestr, $vm . "", $cstr); } } }else{ /*---如果是商品分组的手动选择商品---*/ if( $v['content']['classstyle']==1 || $v['content']['moudletype']==2 || $v['content']['moudletype']==3 || $v['content']['moudletype']==4 ){ $idlist=""; foreach ($v['content']['data'] as $kk => $vv) { $idlist.=$vv['goodsid'].","; } $idlist=substr($idlist,0,strlen($idlist)-1); $replacestr = "{{idlist}}"; $val0="".$idlist.""; $cstr = str_replace($replacestr, $val0, $cstr); } } } } $htm.=$cstr; } /*---写入文件---*/ file_put_contents(ROOT_PATH.$filename2,$htm); $mid= session('manager_id'); $type=1; if(empty($conf['money'])) $conf['money']=0; if($conf['money']>0) $type=2; $rr=M("manager_admin")->where("manager_id",$mid)->find(); /*--存储数据--*/ $sdata = [ "type" => $type,//默认免费模板 "page_title" => $conf['title'], "page_describe" => $conf['descr'], "bkcolor" => $conf['bkcolor'], "istop" => $conf['istop'], "isright" => $conf['isright'], "isshow" => $conf['isshow'], "type_id" => $conf['type_id'], "money" => $conf['money'], "days" => $conf['days'], "editdate" => time(), "editip"=>getIP(), "editman"=>$rr['manager_name'], ]; $u=M('store_module')->where('id',$id)->save($sdata); if($u) return json(['code'=>1]); else return json(['code'=>-1]); } } /*--模板拷贝--*/ public function copytemplate(){ delFile(TEMP_PATH."/manager"); $mr=get_total_millisecond(); $id=I("id"); $rs=M('store_module')->where('id',$id)->find(); $oldsn= $rs['template_sn']; $newsn=date('YmdHis').$mr.rand(1000, 9999); /*--复制json--*/ $file=ROOT_PATH.'/public/template/feature/'.$oldsn.'.json'; $newfile=ROOT_PATH.'/public/template/feature/'.$newsn.'.json'; if(file_exists($file)) { $str = file_get_contents($file); file_put_contents($newfile,$str); }else{ return json(['code'=>-1,"msg"=>'未找到原文件']); } /*--复制html--*/ $file=ROOT_PATH.'/public/template/feature/'.$oldsn.'.html'; $newfile=ROOT_PATH.'/public/template/feature/'.$newsn.'.html'; if(file_exists($file)) { $str = file_get_contents($file); file_put_contents($newfile,$str); }else{ return json(['code'=>-1,"msg"=>'未找到原文件']); } $rs['template_sn']=$newsn; $rs['billdate']=time(); unset($rs['id']); unset($rs['editdate']); unset($rs['editip']); unset($rs['editman']); $u=M('store_module')->save($rs); if($u) return json(['code'=>1]); else return json(['code'=>-1,"msg"=>'复制失败']); } /*--删除模板--*/ public function deltemplate(){ delFile(TEMP_PATH."/manager"); $id=I("id"); $r=M("store_module")->where('id',$id)->find(); $sn=$r['template_sn']; $file=ROOT_PATH.'/public/template/feature/'.$sn.'.json'; $file2=ROOT_PATH.'/public/template/feature/'.$sn.'.html'; mdelFile($file); mdelFile($file2); $r=M("store_module")->where('id',$id)->delete(); if($r) return json(['code'=>1]); else return json(['code'=>-1]); } /*--------------------------模块------------------------*/ public function moduleList(){ $key_word = I('key_word') ? trim(I('key_word')) : ''; // 关键词搜索 $cur_page=I('p/d',0);//当前页数 if ($cur_page<=0) { $cur_page=1; } $pagenum=I('pagenum/d'); $this->assign('key_word',$key_word); $this->assign('pagenum',$pagenum); $this->assign('cur_page',$cur_page); return $this->fetch(); } public function ajaxmoduleList(){ $key_word = I('key_word') ? trim(I('key_word')) : ''; // 关键词搜索 $cur_page=I('p/d',0);//当前页数 if ($cur_page<=0) { $cur_page=1; } $pagenum=I('pagenum/d'); $where = ' 1 = 1 '; // 搜索条件 if($key_word) { $where .= " and (name like '%$key_word%' or eng_name like '%$key_word%')" ; } $model = M('module'); $count = $model->where($where)->count(); $Page = new AjaxPage($count,$pagenum); $show = $Page->show(); $List = $model->where($where)->order("sort")->limit($Page->firstRow.','.$Page->listRows)->select(); $oldurl=U('manager/template/modulelist',array( "key_word"=>$key_word, "pagenum"=>$pagenum, "p"=>$cur_page, )); $this->assign('oldurl',urlencode($oldurl)); $this->assign('key_word',$key_word); $this->assign('pagenum',$pagenum); $this->assign('cur_page',$cur_page); $this->assign('List',$List); $this->assign('page',$show);// 赋值分页输出 $this->assign('pager',$Page); return $this->fetch(); } /*--模块处理--*/ public function modulehandle(){ $isjax=I("is_ajax"); $id=I('id'); if(!empty($id)){ $info=M('module')->where('id',$id)->find(); } if($isjax){ $data=I("post."); /*--如果原文件存在,要删除原文件--*/ $filename='/public/template/html/'.$data['eng_name'].'/controlhtm.html'; $filename2='/public/template/html/'.$data['eng_name'].'/controljson.json'; $filename3='/public/template/html/'.$data['eng_name'].'/showhtm.html'; if(file_exists(ROOT_PATH.$filename) && $filename){ mdelFile(ROOT_PATH.$filename); } if(file_exists(ROOT_PATH.$filename2) && $filename2){ mdelFile(ROOT_PATH.$filename2); } if(file_exists(ROOT_PATH.$filename3) && $filename3){ mdelFile(ROOT_PATH.$filename3); } if($id){ $where="name='".$data['name']."' or eng_name='".$data['eng_name']."'"; $rs=M('module')->where('id','neq',$id)->where($where)->find(); if($rs){ return json(['code'=>-1,'msg'=>'模块名称,英文名称不能重复']); } /*---创建目录---*/ if (!is_dir(ROOT_PATH.'/public/template/html/'.$data['eng_name'].'/')) mkdir(ROOT_PATH.'/public/template/html/'.$data['eng_name'].'/'); $str=$data['controlhtm']; file_put_contents(ROOT_PATH.$filename,$str); $data['controlhtm']=$filename; $str=$data['controljson']; file_put_contents(ROOT_PATH.$filename2,$str); $data['controljson']=$filename2; $str=$data['showhtm']; file_put_contents(ROOT_PATH.$filename3,$str); $data['showhtm']=$filename3; $mid= session('manager_id'); $rr=M("manager_admin")->where("manager_id",$mid)->find(); $data['editdate']=time(); $data['editip']=getIP(); $data['editman']=$rr['manager_name']; unset($data['id']); unset($data['is_ajax']); M('module')->where('id',$id)->save($data); }else{ $where="name='".$data['name']."' or eng_name='".$data['eng_name']."'"; $rs=M('module')->where($where)->find(); if($rs){ return json(['code'=>-1,'msg'=>'模块名称,英文名称不能重复']); } /*---创建目录---*/ if (!is_dir(ROOT_PATH.'/public/template/html/'.$data['eng_name'].'/')) mkdir(ROOT_PATH.'/public/template/html/'.$data['eng_name'].'/'); $str=$data['controlhtm']; file_put_contents(ROOT_PATH.$filename,$str); $data['controlhtm']=$filename; $str=$data['controljson']; file_put_contents(ROOT_PATH.$filename2,$str); $data['controljson']=$filename2; $str=$data['showhtm']; file_put_contents(ROOT_PATH.$filename3,$str); $data['showhtm']=$filename3; $data['billdate']=time(); M('module')->save($data); } return json(['code'=>1]); } /*----*/ if(!empty($info)) { $filename = $info['controlhtm']; $filename2 = $info['controljson']; $filename3 = $info['showhtm']; if(file_exists(ROOT_PATH.$filename) && $filename) { $str = file_get_contents(ROOT_PATH.$filename);//将整个文件内容读入到一个字符串中 $info['controlhtm']=$str; }else{ $info['controlhtm'] = ""; } if(file_exists(ROOT_PATH.$filename2) && $filename2) { $str = file_get_contents(ROOT_PATH.$filename2);//将整个文件内容读入到一个字符串中 $info['controljson']=$str; }else{ $info['controljson'] = ""; } if(file_exists(ROOT_PATH.$filename3) && $filename3) { $str = file_get_contents(ROOT_PATH.$filename3);//将整个文件内容读入到一个字符串中 $info['showhtm']=$str; }else{ $info['showhtm'] = ""; } }else{ $info['controlhtm'] = ""; $info['controljson'] = ""; $info['showhtm'] = ""; } $this->assign('info',$info); return $this->fetch(); } /*--获取MODULE--*/ public function getmodule(){ $id=I("id"); $rs=M("module")->where('id',$id)->find(); $molist=M("module_list")->where('parent_id',$id)->select(); $rs[$k]['molist']=$molist; return json(['code'=>1,"data"=>$rs]); } /*---模块删除---*/ public function delmodule(){ $id=I("id"); $mr=M("module")->where('id',$id)->find(); $rs=M("store_module")->select(); foreach ($rs as $kl=>$vl) { $p = ROOT_PATH . "/public/template/feature/" . $vl['template_sn'] . ".json"; if (file_exists($p)) { $str = file_get_contents($p); $jjdata = json_decode($str, true); foreach ($jjdata as $k=>$v){ if($mr['eng_name']==$v['ename']){ return json(['code'=>-1,"msg"=>'有模板使用了该模块,不能删除']); } } } } //模块删除 delFile(ROOT_PATH."/public/template/html/".$mr['eng_name']."/"); $r0=M("module_list")->where('parent_id',$id)->delete(); $r=M("module")->where('id',$id)->delete(); if($r) return json(['code'=>1]); else return json(['code'=>-1,"msg"=>'删除失败']); } /*--------------模块风格--------------*/ public function moduletypeList(){ $key_word = I('key_word') ? trim(I('key_word')) : ''; // 关键词搜索 $cur_page=I('p/d',0);//当前页数 $pid=I('pid/d',0); //父ID if ($cur_page<=0) { $cur_page=1; } $pagenum=I('pagenum/d',10); $this->assign('cur_page', $cur_page); $this->assign('key_word',urlencode($key_word)); $this->assign('pagenum',$pagenum); $this->assign('pid',$pid); return $this->fetch(); } public function ajaxmoduletypeList(){ $key_word = I('key_word') ? trim(I('key_word')) : ''; // 关键词搜索 $cur_page=I('p/d',0);//当前页数 $pid=I('pid/d',0); //父ID if ($cur_page<=0) { $cur_page=1; } $pagenum=I('pagenum/d',10); $where = 'parent_id='.$pid; // 搜索条件 if($key_word) { $where .= " and (class_name like '%$key_word%' or class_eng_name like '%$key_word%')"; } $model = M('module_list'); $count = $model->where($where)->count(); $Page = new AjaxPage($count,$pagenum); $show = $Page->show(); $List = $model->where($where)->order("sort")->limit($Page->firstRow.','.$Page->listRows)->select(); $oldurl=U('manager/template/moduletypelist',array( "key_word"=>$key_word, "pagenum"=>$pagenum, "p"=>$cur_page, "pid"=>$pid, )); $this->assign('oldurl',urlencode($oldurl)); $this->assign('key_word',$key_word); $this->assign('pagenum',$pagenum); $this->assign('cur_page',$cur_page); $this->assign('List',$List); $this->assign('page',$show);// 赋值分页输出 $this->assign('pager',$Page); return $this->fetch(); } /*--------模板风格处理--------*/ public function moduletypehandle(){ $isjax=I("is_ajax"); $id=I('id'); $pid=I('pid'); $mo=M('module_list')->where('id',$id)->find(); $pmo=M('module')->where('id',$pid)->find(); if(empty($pmo)){ $this->error("未找到模板", U('manager/template/moduletypeList',array("pid"=>$pid))); } /*---创建目录---*/ if (!is_dir(ROOT_PATH.'/public/template/html/'.$pmo['eng_name'].'/')) mkdir(ROOT_PATH.'/public/template/html/'.$pmo['eng_name'].'/'); if($isjax){ $data=I("post."); $data['parent_id']=$pid; $filename2='/public/template/html/'.$pmo['eng_name'].'/mobliehtm'.$data['class_eng_name'].'.html'; if(file_exists(ROOT_PATH.$filename2) && $filename2){ mdelFile(ROOT_PATH.$filename2); } if($id){ $where="class_name='".$data['class_name']."' or class_eng_name='".$data['class_eng_name']."'"; $rs=M('module_list')->where('id','neq',$id)->where($where)->find(); if($rs){ return json(['code'=>-1,'msg'=>'风格名称,英文名称不能重复']); } /*---生成手机端展示html---*/ $str=$data['mobilehtm']; file_put_contents(ROOT_PATH.$filename2,$str); $data['mobilehtm']=$filename2; $mid= session('manager_id'); $rr=M("manager_admin")->where("manager_id",$mid)->find(); $data['editdate']=time(); $data['editip']=getIP(); $data['editman']=$rr['manager_name']; unset($data['id']); unset($data['is_ajax']); M('module_list')->where('id',$id)->save($data); }else{ $where="class_name='".$data['class_name']."' or class_eng_name='".$data['class_eng_name']."'"; $rs=M('module_list')->where('parent_id',$pid)->where($where)->find(); if($rs){ return json(['code'=>-1,'msg'=>'风格名称,英文名称不能重复']); } /*---生成手机端展示html---*/ $str=$data['mobilehtm']; file_put_contents(ROOT_PATH.$filename2,$str); $data['mobilehtm']=$filename2; $data['billdate']=time(); M('module_list')->save($data); } return json(['code'=>1]); } /*--编辑展示--*/ if(!empty($mo)) { $info=$mo; $filename = $info['mobilehtm']; if(file_exists(ROOT_PATH.$filename) && $filename) { $str = file_get_contents(ROOT_PATH.$filename);//将整个文件内容读入到一个字符串中 $info['mobilehtm']=$str; }else{ $info['mobilehtm'] = ""; } }else{ $info['showhtm'] = ""; $info['mobilehtm'] = ""; } $this->assign('info',$info); return $this->fetch(); } /*--------模板风格删除--------*/ public function delmoduletype(){ $id=I("id"); $mr=M("module_list")->where('id',$id)->find(); $r=M("module")->where('id',$mr['parent_id'])->find(); /*--删除风格文件--*/ $p = ROOT_PATH . "/public/template/html/" . $r['eng_name'] . "/mobliehtm".$mr['class_eng_name'].".html"; mdelFile($p); $rs=M('module_list')->where("id",$id)->delete(); if($rs) return json(['code'=>1]); else return json(['code'=>-1,"msg"=>"删除失败"]); } /*---编辑默认导航,读取默认导航的json---*/ public function defnav(){ $path="/public/template/footer/footer.json"; if(file_exists(ROOT_PATH.$path)){ $cstr=file_get_contents(ROOT_PATH.$path); $mdata = json_decode($cstr, true); $this->assign("temdata",json_encode($mdata)); }else{ $this->assign("temdata","-1"); $this->assign("err","未找到导航json文件"); } return $this->fetch(); } /*---编辑默认导航保存事件---*/ public function defnavsave(){ $data=I("post."); /*---创建模板存放目录---*/ if (!is_dir(ROOT_PATH.'/public/template/footer/')) mkdir(ROOT_PATH.'/public/template/footer/'); /*----json文件保存----*/ $ccstr = json_encode($data); /*--json文件操作重新保存--*/ $filename='/public/template/footer/footer.json'; if(file_exists(ROOT_PATH.$filename) && $filename){ mdelFile(ROOT_PATH.$filename); } file_put_contents(ROOT_PATH.$filename,$ccstr); /*--获取手机前端要显示html--*/ $htmlfile="/public/template/footer/footer.html"; if(file_exists(ROOT_PATH.$htmlfile)){ $cstr=file_get_contents(ROOT_PATH.$htmlfile); } else{ return json(['code'=>-1,'msg'=>'未找到手机端展示文件']); } /*---调用风格表存储手机端显示文件---*/ $filename2='/public/template/footer/sfooter.html'; if(file_exists(ROOT_PATH.$filename2) && $filename2){ mdelFile(ROOT_PATH.$filename2); } $htm=""; /*--根据字段替换--*/ foreach ($data as $kk=>$vv) { if($kk=="data") continue; if($vv=='no'){ $val=uniqid(); } $replacestr="{{".$kk."}}"; $cstr=str_replace($replacestr,$vv."",$cstr); } /*--如果有循环体--*/ if(!empty($data['data'])) { $rhtm = ""; $width = 100 / count($data['data']); $cstr = str_replace('{{width}}', $width . "", $cstr); /*--截取循环里面的循环体--*/ $start1 = strpos($cstr, '', 0); /*--如果有进行循环--*/ if ($start1) { $end1 = strpos($cstr, '', 0); /* $str = "{{name}}"; */ $repeat = substr($cstr, $start1 + 9, $end1 - $start1 - 9); $cstr = str_replace('', "", $cstr); $cstr = str_replace('', "", $cstr); $cstr = str_replace($repeat, "{{the_repeat}}", $cstr); foreach ($data['data'] as $kk => $vv) { $ind=$kk+1; $rp = $repeat; $rp = str_replace("{{index}}", $ind . "", $rp); foreach ($vv as $mk => $mv) { $replacestr = "{{" . $mk . "}}"; $rp = str_replace($replacestr, $mv . "", $rp); } $rhtm .= $rp; } $cstr = str_replace("{{the_repeat}}", $rhtm, $cstr); } $htm.=$cstr; } /*---写入文件---*/ file_put_contents(ROOT_PATH.$filename2,$htm); return json(['code'=>1,'msg'=>'保存成功']); } /*----添加图片---*/ public function img(){ return $this->fetch(); } /** * 模板类型列表 * @return wxsendtype */ public function templatetype(){ $model = M('module_type'); $list = array(); $pagenum=20;//每页显示多少条 if ((int)I('pagenum/s')>0) { $pagenum=I('pagenum/s'); } $keywords = I('keywords/s'); if ($keywords) { $where['typename']=array(['like','%'.$keywords.'%']);; } $count = $model->where($where)->count(); $Page = $pager = new Page($count,$pagenum); $list = $model->where($where)->limit($Page->firstRow.','.$Page->listRows)->order('ordid asc')->select(); $show = $Page->show(); $this->assign('keywords',$keywords); $this->assign('list',$list);// 赋值数据集 $this->assign('page',$show);// 赋值分页输出 $this->assign('pager',$pager); $this->assign('pagenum',$pagenum); $this->assign('oldurl',urlencode(curPageURL())); return $this->fetch(); } //添加微信模板 public function addtemplatetype(){ $oldurl = I('oldurl/s'); if($oldurl){ $oldurl = urldecode(urldecode($oldurl)); } $getstoid=getAdmStoId(); $id = I('id'); $wxsend = M('module_type')->where(array('id' => $id))->find(); if (empty($wxsend)) { $getmaxordid=1; $maxordid=M('module_type')->max('ordid'); if ($maxordid) { $getmaxordid=$maxordid+1; } $wxsend['ordid']=$getmaxordid; } if(IS_POST){ $data = input('post.'); if ($id) { $data['id']=$id; M("module_type")->update($data); } else { $sendlist = M('module_type')->where(array('id' => $id))->find(); if ($sendlist) { $this->error('该分类已存在!', U('Manager/Template/addtemplatetype')); exit(); } else { M("module_type")->insert($data); } } if ($oldurl) { $this->success("操作成功!!!", $oldurl); } else { $this->success("操作成功!!!", U('Manager/Template/templatetype')); } exit; } $this->assign('wxsend',$wxsend); return $this->fetch('',getAdmStoId()); } //删除推送消息 public function deltemplatetype() { $getid=I('id/d'); $modelist=M('store_module')->where(array('type_id' => $getid))->count(); if ($modelist>0) { $return_arr = array('status' => -1,'msg' => '删除失败,此类型已存在记录','data' =>'',); //$return_arr = array('status' => -1,'msg' => '删除失败','data' =>'',); $this->ajaxReturn($return_arr); } else { $deltype = M("module_type")->where(array('id' => $getid))->delete(); if ($deltype) { $return_arr = array('status' => 1, 'msg' => '操作成功', 'data' => '',); //$return_arr = array('status' => -1,'msg' => '删除失败','data' =>'',); } else { $return_arr = array('status' => -1, 'msg' => '删除失败', 'data' => '',); } $this->ajaxReturn($return_arr); } } /** * 初始化编辑器链接 * 本编辑器参考 地址 http://fex.baidu.com/ueditor/ */ private function initEditor() { $this->assign("URL_upload", U('admin/Ueditor/imageUp',array('savepath'=>'goods','savepath1'=>getERPId()))); // 图片上传目录 $this->assign("URL_imageUp", U('admin/Ueditor/imageUp',array('savepath'=>'goods','savepath1'=>getERPId()))); // 不知道啥图片 $this->assign("URL_fileUp", U('admin/Ueditor/fileUp',array('savepath'=>'goods','savepath1'=>getERPId()))); // 文件上传s $this->assign("URL_scrawlUp", U('admin/Ueditor/scrawlUp',array('savepath'=>'goods','savepath1'=>getERPId()))); // 图片流 $this->assign("URL_getRemoteImage", U('admin/Ueditor/getRemoteImage',array('savepath'=>'goods','savepath1'=>getERPId()))); // 远程图片管理 $this->assign("URL_imageManager", U('admin/Ueditor/imageManager',array('savepath'=>'goods','savepath1'=>getERPId()))); // 图片管理 $this->assign("URL_getMovie", U('admin/Ueditor/getMovie',array('savepath'=>'goods','savepath1'=>getERPId()))); // 视频上传 $this->assign("URL_Home", ""); } }