load->library('session'); $this->load->_model('Model_study','study'); $this->load->_model('Model_studyclass','studyclass'); $this->load->_model('Model_typeclass','typeclass'); $this->load->_model('Model_shop','shop'); $this->load->_model("Model_studytype","studytype"); } //定义方法的调用规则 获取URI第二段值 public function _remap($arg,$arg_array) { if($arg == 'add')//添加 { $this->_add(); } else if($arg == 'edit')//修改 { $this->_edit($arg_array); } else if($arg == 'see') { $this->_see($arg_array); } else if($arg == 'del') { $this->_del($arg_array); } else { $this->_index($arg_array); } } protected function getUserPlat(){ $user = $this->user->get_api($_SESSION['api']); $this->data['user'] = $user;//登录的用户信息 $usersp = explode('|',trim($user['shop'],'|'));$sid = ''; foreach ($usersp as $v) { $sid .= " id = ".$v." or"; } $result = $this->shop->find_all(rtrim($sid,'or'),'*',null,0,120); $plat_ids = array_column($result,'type'); $plat_ids = array_unique($plat_ids); $plat_list = $this->typeclass->find_all("id in (".implode(",",$plat_ids).")"); foreach ($plat_list as $k=>$v){ if($v['id'] == 269){ $plat_list[$k]['title'] = "独立站"; } } $this->data['plat_list'] = array_column($plat_list,'title','id'); } public function dd($data){ echo "
";
        print_r($data);
        die;
    }

	//管理
	public function _index($arg_array)
	{
	    $this->getUserPlat();
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['page']))  
		{
		    $page = $this->input->post('page',true);
		    $perpage = $this->input->post('perpage',true);
			$title = $this->input->post('title',true);
			$count = $this->input->post('count',true);
			$type = $this->input->post('type',true);
			$class = $this->input->post("studyclass",true);
			$where = "1=1 ";
            //数据排序
            $order_str = "id desc";
            if(empty($page))
		    {
                $start = 0;
		    	$perpage = 1;
            }
		    else
		    {
                $start = ($page - 1)*$perpage;
            }
			if($title)
			{
				$where .= " and s.title like '%$title%'";
			}
			if($count)
			{
				$where .= " and s.content like '%$count%'";
			}
			if($class){
			    $where .= " and s.class = ".$class;
			}
			
			if($type)
			{
				$where .= " and st.type = '$type'";
				$info_list = $this->studytype->query("select * from crowd_study as s left join crowd_studytype as st on s.id = st.article_id where ".$where." order by s.id desc" );
			}
			
// 			if($type)
// 			{
// 				$where .= " and type = '$type'";
// 				$info_list = $this->studytype->query("select * from crowd_study as s left join crowd_studytype as st on s.id = st.article_id where ".$where." order by s.id desc" );
// 			}else{
// 			    //取得信息列表
//                 $info_list = $this->study->find_all($where,'id,class,title,addtime',$order_str,$start,$perpage);
// 			}
		
			$info_list = $this->studytype->query("select s.*,st.article_id from crowd_study as s left join crowd_studytype as st on s.id = st.article_id where ".$where." group by s.id  order by s.id desc limit ".$perpage." offset ".$start );
			$info_list = $info_list->result_array();
            
            $final_list = [];
            $all_plat = $this->data['plat_list'];
            foreach($info_list as $k=>$v){
                $tmp_plat_list = $this->studytype->find_all("article_id = ".$v['id']);
                $plat_list_arr = [];
                foreach($tmp_plat_list as $val){
                    if(isset($all_plat[$val['type']])){
                        $plat_list_arr[] = $all_plat[$val['type']];
                    }
                }
                $classtype = $this->studyclass->find("id = " . $v['class']);
                $final_list[] = [
                        'id'=>$v['id'],
                        'title'=>$v['title'],
                        'class'=>$classtype['title'],
                        'plat'=> implode("|",$plat_list_arr),
                        'addtime'=>($v['edittime'] != 0)?date("Y-m-d H:i:s",$v['edittime']):date("Y-m-d H:i:s",$v['addtime'])
                    
                    ];
            }
			 //格式化数据
    //         foreach ($info_list as $key=>$value) 
		  //  {
				// // $type = $this->typeclass->read($value['type']);
				// // $info_list[$key]['type'] = $type['title'];
				
				// $f = $this->studyclass->read($value['class']);
				// $info_list[$key]['class'] = $f['title'];
				// $d = $this->study->read($value['id']);
				// if($d['edittime'] != 0)
				// {
				// 	$info_list[$key]['addtime'] = date("Y-m-d H:i:s",$d['edittime']);
				// }
				// else
				// {
				//     $info_list[$key]['addtime'] = date("Y-m-d H:i:s",$value['addtime']);
				// }
            //}
            
		    $total = $this->studytype->query("select count(*) from crowd_study as s left join crowd_studytype as st on s.id = st.article_id where ".$where." group by s.id ")->num_rows();
		    $pagenum = ceil($total/$perpage);
		    $over = $total-($start+$perpage);
		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($final_list));
		    echo json_encode($rows);exit;
		}
		//$this->dd($this->data);
		$studyclass = $this->studyclass->find_all();
		$this->data['see'] = (isset($arg_array[0]))?'see':'';
		$this->data['studyclass'] = $studyclass;
		$this->_Template('study',$this->data);
	}
	//添加
	public function _add()
	{
	    $this->getUserPlat();
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['title']))
		{
		    
		
			$type_ids = $post['type'];
			$type_ids = explode(",",$type_ids);
			unset($post['type']);
			$post['addtime'] = time();
			$article_id = $this->study->insert($post);
			if($article_id)
        	{
        	    $insert_arr = [];
        	    foreach($type_ids as $v){
        	        if(!empty($v)){
        	            $this->studytype->insert(
        	                    [
        	                        'type'=>$v,
        	                        'article_id'=>$article_id,
        	                        'addtime'=>time(),
        	                    ]
        	                );
        	        }
        	    }
         		echo json_encode(array('msg'=>'添加成功','success'=>true));exit;
       	 	}
       		else
        	{
           		echo json_encode(array('msg'=>'添加失败,请重试','success'=>false));exit;
        	}
		}
		$studyclass = $this->studyclass->find_all();
		$this->data['studyclass'] = $studyclass;
		$this->_Template('study_add',$this->data);
	}
	//修改
	public function _edit($arg_array)
	{
	    $this->getUserPlat();
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['id']))
		{
			$id = $this->input->post('id',true);
			$post['title'] = $this->input->post('title',true);
			$post['edittime'] = time();
// 			$f = $this->studyclass->read($post['class']);
// 			$post['type'] = $f['type'];
            $type_ids = $post['type'];
			$type_ids = explode(",",$type_ids);
			unset($post['type']);
			$post['addtime'] = time();
			if($this->study->save($post,$id))
        	{
        	    $this->studytype->query("delete from crowd_studytype where article_id = ".$id);
        	    $insert_arr = [];
        	    foreach($type_ids as $v){
        	        if(!empty($v)){
        	            $this->studytype->insert(
        	                    [
        	                        'type'=>$v,
        	                        'article_id'=>$id,
        	                        'addtime'=>time(),
        	                    ]
        	                );
        	        }
        	    }
         		echo json_encode(array('msg'=>'修改成功','success'=>true));exit;
       	 	}
       		else
        	{
           		echo json_encode(array('msg'=>'修改失败,请重试','success'=>false));exit;
        	}
		}
		
		$arg_array = $arg_array[0];
		$study = $this->study->read($arg_array);
		$this->data['study'] = $study;
		$studyclass = $this->studyclass->find_all();
		$this->data['studyclass'] = $studyclass;
		$plat_list = $this->studytype->find_all("article_id = ".$arg_array);
		$plat_ids = array_column($plat_list,'type');
		$this->data['plat_ids'] = $plat_ids;
		$this->_Template('study_edit',$this->data);
	}
	
	public function _see($arg_array)
	{
	    $this->getUserPlat();
		$arg_array = $arg_array[0];
		$study = $this->study->read($arg_array);
		$this->data['study'] = $study;
		$studyclass = $this->studyclass->find_all();
		$this->data['studyclass'] = $studyclass;
		$this->_Template('study_see',$this->data);
	}
	//删除
	public function _del()
	{
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['s']))  
		{
            $id_arr = $this->input->post('s');
            $id_arr =  explode(',',$id_arr);
            if(!$id_arr)
            {
                echo json_encode(array('msg'=>'参数错误!','success'=>false));exit;
            }
            //循环删除记录
            foreach ($id_arr as $v) 
		    {
                $this->study->remove($v);
                if(!empty($v)){
                    $this->studytype->query("delete from crowd_studytype where article_id = ".$v);
                }
            }
            echo json_encode(array('del'=>$id_arr,'msg'=>'删除记录成功!','success'=>true));
		}
    }
}