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", "");
}
}