<?php
// +----------------------------------------------------------------------
// | yershop网店管理系统
// +----------------------------------------------------------------------
// | Copyright (c) 2017 http://www.yershop.com All rights reserved.
// +----------------------------------------------------------------------
// | 版权申明：yershop网店管理系统不是一个自由软件，是贝云网络官方推出的商业源码，严禁在未经许可的情况下
// | 拷贝、复制、传播、使用yershop网店管理系统的任意代码，如有违反，请立即删除，否则您将面临承担相应
// | 法律责任的风险。如果需要取得官方授权，请联系官方http://www.yershop.com
// +----------------------------------------------------------------------
namespace app\admin\controller;
use think\Controller;
use think\Db;

class ShopMenu extends Admin{
    public function index(){     
       
		$list=$this->getCategory();
	    $this->assign('list', $list);
		$this->meta_title="模块管理";
		$this->assign('meta_title', $this->meta_title);
	    return $this->fetch("ShopMenu/index"); 
	}
	
		 		/**商品分类菜单调用**/
 public function getCategory(){
	  
		$field = 'id,pid,title,status,sort,url';
		$category =Db::name( 'ShopMenu' )->field($field)->order('sort asc,id asc')->select( );
		$list = $this->unlimitedForLevel($category);
		return $list;
		}
 public function unlimitedForLevel($cate,$name = 'child',$pid = 0){
		$arr = array( );
		foreach ( $cate as $key => $v ) {
		//判断，如果$v['pid'] == $pid的则压入数组Child
		if ($v['pid'] == $pid) {
		//递归执行
		$v[$name] = self::unlimitedForLevel($cate,$name,$v['id']);
		$arr[] = $v;
		}
		}
		return $arr;
		}

	public function edit($id){   
	    if($_POST){
		   $ShopMenu = new \app\admin\model\ShopMenu;
           $res=$ShopMenu->validate(true)->allowField(true)->save($_POST,['id' => $_POST['id']]);
	       if($res){
			  addUserLog("edit_ShopMenu",session_uid());
		      $this->success("更新成功！",cookie("__forward__"));
		   }else{
			    $error=$ShopMenu->getError()?$ShopMenu->getError():"更新失败！";
			    $this->error($error);
		   } 
	  }
	  else{
		 cookie("__forward__",input('server.HTTP_REFERER'));
		 $map['id']=$id;
		 $info=Db::name("ShopMenu")->where($map)->find();
	     $this->assign('info', $info);
		 unset($map);
		 $list =Db::name('ShopMenu')->select(); 
	     $this->assign('list', getHtmlList($list,0));;
		 $group_list =Db::name('ShopGroup')->select(); 
            /* 获取模块信息 */
         $this->assign('group_list', $group_list);
		 $this->meta_title="编辑模块-".$info["title"];
		 $this->assign('meta_title', $this->meta_title);
	     return $this->fetch("ShopMenu/edit");
	   }
	}
	  public function add($pid=""){  
	  if($_POST){
		   $ShopMenu = new \app\admin\model\ShopMenu;
        // 过滤post数组中的非数据表字段数据
       $res=$ShopMenu->validate(true)->allowField(true)->save($_POST);
	   if($res){
		    addUserLog("add_ShopMenu",session_uid());
		   $this->success("新增成功！",cookie("__forward__"));
		}else{
			 $error=$ShopMenu->getError()?$ShopMenu->getError():"新增失败！";
			 $this->error($error);
		} 
	}
	  else{
		if($pid){
             $info['pid']=$pid;
			 $this->assign('info', $info);
         }
		 cookie("__forward__",input('server.HTTP_REFERER'));
	     $list =Db::name('ShopMenu')->select(); 
	     $this->assign('list', getHtmlList($list,0));
		 $this->meta_title="新增模块"; 
		 $group_list =Db::name('group')->select(); 
            /* 获取模块信息 */
         $this->assign('group_list', $group_list);
		 $this->assign('meta_title', $this->meta_title);
	     return $this->fetch("ShopMenu/edit");
	  }
	}
	 public function del(){   
	    $id=input("id");
	    $map['id']=array("in",$id);
		if(!$map["id"]){
			 $this->error("未选择数据！");
		}
		
		$res=Db::name("ShopMenu")->where($map)->delete();
		if($res){
		   addUserLog("del_ShopMenu",session_uid());
		   $this->success("删除成功！");
		}else{
			 $this->error("删除失败！");
		}
	}
	
}
