| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 | <?php defined('BASEPATH') OR exit('No direct script access allowed');class Study extends Start_Controller {	public function __construct(){		parent::__construct();		$this->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 "<pre>";        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));		}    }}
 |