<?php

namespace Admin\Controller;
use User\Api\UserApi as UserApi;
/**
 * 后台首页控制器
 * @author 麦当苗儿 <zuojiazi@vip.qq.com>
 */
class SiteController extends ThinkController {

    public function config_index(){
				$this->m_title = '网站设置';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/config_index','status'=>1])->find());
				
			
        R('Config/group');
    }
    
     // 获取某个标签的配置参数
    public function group($cate_id=0,$group_id=0,$type="PC_CONFIG_GROUP_LIST") {
        $type   =   C($type);
        $map['status'] = 1;
        $map['category'] = $cate_id;
        $map['group'] = $group_id;
        $list   =   M("Config")->where($map)->field('id,name,title,extra,value,remark,type')->order('sort')->select();
        if($list) {
            $this->assign('list',$list);
        }
        $this->assign('id',$group_id);
        $this->meta_title = $type[$group_id].'设置';
        $this->display();
    }


    /**
    *保存设置
    */
    public function saveTool($value='')
    {
        $name   = $_POST['name'];
        $config = I('config');
        $data   = array('config'=>json_encode($config),'template'=>$_POST['template'],'status'=>$_POST['status']);
        $map['name']=$name;
        if($_POST['status']==1&&$name=="weixin_app"){
            $map_['name']=array("in",'wei_xin_apps');
            M('tool','tab_')->where($map_)->setField('status','0');
        }
        if($_POST['status']==1&&$name=="wei_xin_apps"){
            $map_['name']="weixin_app";
            M('tool','tab_')->where($map_)->setField('status','0');
        }
        $flag   = M('Tool','tab_')->where($map)->setField($data);
        if($flag !== false){
            $this->set_config($name,$config);
            $this->success('保存成功');
        }else{
            $this->error('保存失败');
        }

    }

  /**
    *显示扩展设置信息
    */
    protected function BaseConfig($name='')
    {   
        $map['name'] = array('in',$name);
        $tool = M('tool',"tab_")->where($map)->select();
        if(empty($tool)){$this->error('没有此设置');}
        foreach ($tool as $key => $val) {
            $this->assign($tool[$key]['name'],json_decode($tool[$key]['config'],true));
            unset($tool[$key]['config']);
            $this->assign($tool[$key]['name']."_data",$tool[$key]);
        }
    }

    /**
    *支付设置
    */
    public function app_pay($value='')
    {
        $str = "weixin_app,wei_xin_apps";
        $this->BaseConfig($str);
        $this->meta_title = '支付设置';
				
				$this->m_title = '站点设置(游戏盒子APP)';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/app','status'=>1])->find());
				
				
        $this->display();
    }


    /**
     * 批量保存配置
     * @author 麦当苗儿 <zuojiazi@vip.qq.com>
     */
    public function save($config){
        if($config && is_array($config)){
            $Config = M('Config');
            foreach ($config as $name => $value) {
                $map = array('name' => $name);
                if($name=='CACHE_TYPE' && $value!=0 ){
                    $res=$this->check_cache($value,$config['CACHE_TYPE_HOST']);
                    if($res){
                        $this->set_config($name,$value);
                    }else{
                        $this->error('缓存服务器连接不上,开启缓存失败');
                    }
                }elseif ($name=='CACHE_TYPE_HOST'||$name=='CACHE_TYPE_TIME') {
                    $this->set_config($name,$value);
                }
                $Config->where($map)->setField('value', $value);
            }
        }
        S('DB_CONFIG_DATA',null);
        $this->success('保存成功!');
    }
    /**
     * 判断是否可以连接上缓存
     * type    1:redis    2:memcache
     * host    服务器ip
     * @author chenbin <zuojiazi@vip.qq.com>
     */
    public function check_cache($type,$host){
        if($type==1){
            if(!class_exists('\Redis')){ 
                $this->error('未开启redis拓展,开启缓存失败');
            }
            $redis = new \Redis();
            $res= $redis->connect($host,'6379');
        }elseif ($type==2) {
            if(!class_exists('\Memcache')){ 
                $this->error('未开启memcache拓展,开启缓存失败');
            }
            $memcache = new \Memcache();
            $res= $memcache->connect($host,'11211');
        }
        return $res?true:false;            
    }
    /**
    *设置config
    */
    private function set_config($name="",$config=""){
        $config_file ="./Application/Common/Conf/pay_config.php";
        if(file_exists($config_file)){
            $configs=include $config_file;
        }else {
            $configs=array();
        }
        #定义一个数组
        $data = array();
        #给数组赋值
        $data[$name] = $config;
        $configs=array_merge($configs,$data);
        $result = file_put_contents($config_file, "<?php\treturn " . var_export($configs, true) . ";");
    }

    public function media($cate_id=0,$group_id=0){
        $cate_id  = I('cate_id',1);
        $group_id = I('group_id',1);
				
				$this->m_title = '站点设置(PC官网)';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/media','status'=>1])->find());
				
				
        $this->group($cate_id,$group_id);
    }

    public function channel(){
        $cate_id = I('cate_id',2);
        $group_id = I('group_id',1);
        $type = "CHANNEL_CONFIG_GROUP_LIST";
				
				$this->m_title = '站点设置(推广员后台)';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/channel','status'=>1])->find());
				
				
        $this->group($cate_id,$group_id,$type);
    }

    public function app(){
        $cate_id = I('cate_id',3);
        $group_id = I('group_id',1);
        $type = "APP_CONFIG_GROUP_LIST";
				
				$this->m_title = '站点设置(游戏盒子APP)';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/app','status'=>1])->find());
				
        $this->group($cate_id,$group_id,$type);
    }
    public function wap(){
        $cate_id = I('cate_id',5);;
        $group_id = I('group_id',1);
				
				$this->m_title = '站点设置(WAP站)';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/wap','status'=>1])->find());
				
				
        $this->group($cate_id,$group_id);
    }

    public function security(){
        $cate_id = I('cate_id',6);;
        $group_id = I('group_id',1);
        $type = "APP_CONFIG_GROUP_LIST";
				
				$this->m_title = '站点设置(商务专员)';
				$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/security','status'=>1])->find());
				
				
        $this->group($cate_id,$group_id,$type);
    }

    public function open(){
	    $cate_id = I('cate_id',7);;
	    $group_id = I('group_id',1);
	    $type = "APP_CONFIG_GROUP_LIST";
			
			$this->m_title = '站点设置(开发者平台)';
			$this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Site/open','status'=>1])->find());
				
			
	    $this->group($cate_id,$group_id,$type);
    }

    //友情链接
    /**
     * 编辑配置
     * @author 麦当苗儿 <zuojiazi@vip.qq.com>
     */
    public function edit($id = 0){
        if(IS_POST){
            $Config = D('Config');
            $data = $Config->create();
            if($data){
                if($Config->save()){
                    S('DB_CONFIG_DATA',null);
                    //记录行为
                    action_log('update_config','config',$data['id'],UID);
                    $this->success('更新成功', Cookie('__forward__'));
                } else {
                    $this->error('更新失败');
                }
            } else {
                $this->error($Config->getError());
            }
        } else {
            $info = array();
            /* 获取数据 */
            $info = M('Config')->field(true)->find($id);

            if(false === $info){
                $this->error('获取配置信息错误');
            }
            $this->assign('info', $info);
            $this->meta_title = '编辑配置';
            $this->display();
        }
    }
		
		
		//交流群生成步骤弹出层
    public function creatGroup(){


        $this->display();
    }
		
		
}