load->database(); $this->load->library('session'); } /* return maptoon category list @param (numeric) primary key of category table @return array or FALSE */ public function get_category($idx='') { $idx = trim($idx); if(is_numeric($idx)==TRUE && $idx>0) { $query = $this->db->get_where($this->tb_name_category,['idx' => $idx]); return $query->row_array(); } else { return FALSE; } } /* return episodes data by category id @param (numeric|string with comma separated) primary key of category table @return array or FALSE */ public function get_episodes_by_category($cid) { if(is_numeric($cid)==TRUE && $cid>0) { $query = $this->db->get_where( $this->tb_name_episode, ['mt_categories_idx' => $cid]); $ret = $query->result_array(); // echo $this->db->last_query(); } else if(is_string($cid)==TRUE && strpos($cid,',')>0) { $arr = explode(',',$cid); $this->db->where_in('idx', $arr); $this->db->order_by('Field(idx, '.$cid.')'); $query = $this->db->get($this->tb_name_episode); $ret = $query->result_array(); // echo $this->db->last_query(); } else { $ret = FALSE; } return $ret; } /* get episodes info by sql query @param (array) episode idx @param (string) return data format @return (array or string | FALSE) */ public function get_widget_info_by_episode_idx($arr, $format='') { if(is_array($arr)==FALSE) { return FALSE; } $len = count($arr); if(is_numeric($len)==FALSE || $len<=0) { return FALSE; } $where_in = implode(',',$arr); $where_in = "'".str_replace(',',"','",$where_in)."'"; $sql = "SELECT a.idx as epi_idx, a.mt_list_idx, a.title, a.main_img, a.ep_no,". "a.display_date, a.view_count, a.grade, a.reg_date,". "b.idx as mt_idx, b.name, b.mt_cartoonists_idx ". "FROM ".$this->tb_name_episode." a, ".$this->tb_name_maptoon_list." b ". "WHERE a.mt_list_idx=b.idx ". "AND a.idx IN ($where_in) ". "ORDER BY FIELD(a.idx,$where_in)"; $query = $this->db->query($sql); $row = $query->result_array(); $len_row = count($row); $where_in2 = []; if($len_row<=0) { return FALSE; } foreach($row as $k=>$v) { if(is_numeric($v['mt_cartoonists_idx'])==TRUE && $v['mt_cartoonists_idx'] > 0) { $where_in2[] = $v['mt_cartoonists_idx']; } } $this->db->select('idx, name'); $this->db->where_in('idx',$where_in2); $where_in2_str = implode(',',$where_in2); $this->db->order_by('Field(idx, '.$where_in2_str.')'); $query = $this->db->get($this->tb_name_cartoonist); $row2 = $query->result_array(); // echo $this->db->last_query(); for($i=0; $i<$len_row; $i++) { $row[$i]['cartoonist'] = $this->get_cartoonist_name_from_data($row2,$row[$i]['mt_cartoonists_idx']); $row[$i]['episode_url'] = '/web/maptoon/article?mtId='.$row[$i]['mt_idx'].'&no='.$row[$i]['ep_no']; $row[$i]['maptoon_url'] = $this->get_maptoon_url($row[$i]['mt_idx']); $row[$i]['display_date_timestamp'] = strtotime($row[$i]['display_date']); } if($format=='json') { return json_encode($row); } else { return $row; } } function get_cartoonist_name_from_data($arr,$idx) { if(is_array($arr)==TRUE && is_numeric($idx)==TRUE && $idx>0) { foreach($arr as $v) { if($v['idx']==$idx) { return $v['name']; } } } else { return FALSE; } } /* get today maptoon; presented on ongoing maing page */ public function get_today_maptoon() { $sql = "SELECT * FROM ".$this->tb_name_maptoon_list. " WHERE status=0 ORDER BY recommend ASC"; $qry = $this->db->query($sql); $row = $qry->result_array(); $len_row = count($row); if($len_row<=0) { return FALSE; } $result = ['mon' => [], 'tue' => [], 'wed' => [], 'thu' => [], 'fri' => [], 'sat' => []]; $cartoonist = $this->get_cartoonist_list(); foreach($row as $v) { $v['maptoon_url'] = $this->get_maptoon_url($v['idx']); $v['description'] = str_replace('\n',' ',$v['description']); foreach($cartoonist as $val) { if($v['mt_cartoonists_idx']==$val['idx']) { $v['cartoonist'] = $val['name']; } } // if($v['date_sun']==1) { // $result['sun'] = $v; // } if($v['date_mon']==1) { array_push($result['mon'],$v); } if($v['date_tue']==1) { array_push($result['tue'],$v); } if($v['date_wed']==1) { array_push($result['wed'],$v); } if($v['date_thu']==1) { array_push($result['thu'],$v); } if($v['date_fri']==1) { array_push($result['fri'],$v); } if($v['date_sat']==1) { array_push($result['sat'],$v); } } return $result; } /* return maptoon url @param (numeric) idx of mt_list table @return (string | NULL) */ public function get_maptoon_url($mt_idx) { if(is_numeric($mt_idx)==TRUE && $mt_idx>0) { return '/web/maptoon/list?mtId='.$mt_idx; } else { return NULL; } } /* update episodes' idx in category @param (numeric) idx of category table @param (string) idx of episodes separated with comma @return (boolean) */ public function update_episodes_by_category($cid, $str) { if(is_numeric($cid)==TRUE && $str!='') { //1.find all episodes in the category $ret1 = $this->get_episodes_by_category($cid); $len_ret1 = count($ret1); $prev_idxs = []; if($len_ret1>0) { foreach($ret1 as $v) { $prev_idxs[] = $v['idx']; } } //2.remove some episode in case those are not in the updated idx from db table mt_episodes $new_idxs = explode(',',$str); $idxs_deleted = array_diff($prev_idxs,$new_idxs); $len_idxs_deleted = count($idxs_deleted); if($len_idxs_deleted>0) { // echo '-----
'.$idxs_deleted.'
-----'; exit; $this->db->where_in('idx',$idxs_deleted); $this->db->update($this->tb_name_episode, ['mt_categories_idx' => 0]); // echo $this->db->last_query(); } //3.update $this->db->where('idx',$cid); $ret = $this->db->update($this->tb_name_category, ['mt_episodes_idx' => $str]); // echo $this->db->last_query(); return $ret; } else { return FALSE; } } /* get episode thumbnail, title, idx @param (string) search keyword @return (array) or NULL */ public function get_episodes_by_search_keyword($str) { $str = trim($str); if($str!='') { $this->db->select(['idx','title','main_img']); $this->db->like('title',$str); $query = $this->db->get($this->tb_name_episode); $row = $query->result_array(); // echo $this->db->last_query(); return $row; } else { return NULL; } } /* return list of maptoon @param (array) search keywords keys & values @return array or FALSE */ public function get_maptoon_list($arr='') { if(is_array($arr)==TRUE && count($arr)>0) { $query = $this->db->get_where($this->tb_name_maptoon_list, $arr); } else { $query = $this->db->get($this->tb_name_maptoon_list); } $row = $query->result_array(); return $row; } /* insert maptoon data @return (boolean) */ public function insert_maptoon($arr) { if(is_array($arr)==TRUE) { return $this->db->insert($this->tb_name_maptoon_list,$arr); } else { return FALSE; } } /* update maptoon data @param (numeric) idx of mt_list table @param (array) maptoon data @return (boolean) */ public function update_maptoon($idx, $arr) { if(is_numeric($idx)==TRUE && is_array($arr)==TRUE) { $this->db->where('idx',$idx); return $this->db->update($this->tb_name_maptoon_list, $arr); } else { return FALSE; } } public function delete_maptoon($idx) { if(is_numeric($idx)==TRUE && $idx>0) { $ret = $this->db->delete($this->tb_name_maptoon_list, ['idx'=>$idx]); return $this->db->last_query(); return $ret; } else { return FALSE; } } public function get_cartoonist_list() { $this->db->order_by('name','ASC'); $query = $this->db->get($this->tb_name_cartoonist); return $query->result_array(); } /* return num of episodes by maptoon idx @param (numeric) idx of mt_list table @return (numeric) */ public function get_num_of_episodes($mt_idx) { if(is_numeric($mt_idx)==TRUE && $mt_idx>0) { $query = $this->db->get_where($this->tb_name_episode,['mt_list_idx' => $mt_idx]); return $query->num_rows(); } else { return 0; } } /* get announcement list @return array or FALSE */ public function get_announcement_list($mt_idx){ $this->db->order_by($this->tb_name_notice.'.reg_date','DESC'); $this->db->select($this->tb_name_notice.'.*'); $this->db->select($this->tb_name_maptoon_list.'.name'); $this->db->from($this->tb_name_notice); $this->db->join($this->tb_name_maptoon_list, $this->tb_name_maptoon_list.'.idx = '.$this->tb_name_notice.'.mt_list_idx'); if($mt_idx!=0)$this->db->where($this->tb_name_notice.'.mt_list_idx',$mt_idx); $query = $this->db->get(); return $query->result_array(); } /* get number of announcement by maptoon @param (numeric) pk of tb_name_maptoon_list @return (numeric) */ public function get_num_of_announcement_by_maptoon($mt_idx) { if(is_numeric($mt_idx)==TRUE && $mt_idx>0) { $query = $this->db->get_where($this->tb_name_notice,['mt_list_idx'=>$mt_idx]); return $query->num_rows(); } else { return 0; } } /* get name of mt_list @return array or FALSE */ public function get_mt_title(){ $this->db->order_by("name","ASC"); $this->db->select("idx"); $this->db->select("name"); $query = $this->db->get($this->tb_name_maptoon_list); return $query->result_array(); } /* get_episode_list @return array or FALSE */ public function get_episode_list($req_data){ $sort_list = $req_data['sort_list']; // 최신 조회 $date_reg = $req_data['date_reg']; // 등록 날짜별 $mt_categories_idx = $req_data['category']; // 카테고리 $mt_list_idx = $req_data['mt_name']; // 맵툰 이름 $title = $req_data['ep_title']; // 맵툰 제목 $sdate = $req_data['sdate']; // 시작일 $edate = $req_data['edate']; // 종료일 $author = $req_data['author']; // 작가 $offset = $req_data['offset']; $limit = $req_data['limit']; $this->db->select('a.*'); $this->db->select('b.mt_cartoonists_idx'); $this->db->select('b.name'); $this->db->from($this->tb_name_episode.' AS a'); $this->db->join($this->tb_name_maptoon_list.' AS b', 'b.idx = a.mt_list_idx'); if($mt_categories_idx!='') $this->db->where('mt_categories_idx',$mt_categories_idx); if($mt_list_idx!='') $this->db->where('mt_list_idx',$mt_list_idx); if($title!='')$this->db->where('title',$title); //작가 번호로 조회 if(is_array($author)){ if(count($author)>0){ for($i=0;$idb->where('b.mt_cartoonists_idx',$author[$i]['idx']); }else{ $this->db->or_where('b.mt_cartoonists_idx',$author[$i]['idx']); } }}} //등록날짜별 조회 if(isset($date_reg)){ switch ($date_reg) { case 'td' : $this->db->where('DATE(a.reg_date) =',date("Y-m-d")); break; case 'yd' : $this->db->where('DATE(a.reg_date) =',date("Y-m-d", strtotime("-1 days"))); break; case 'w' : $this->db->where('DATE(a.reg_date) >=',date("Y-m-d", strtotime("-7 days"))); break; case '30d' : $this->db->where('DATE(a.reg_date) >=',date("Y-m-d", strtotime("-30 days"))); break; case 'lm' : $this->db->where('DATE(a.reg_date) >=',date("Y-m-d", strtotime("-1 months"))); break; case 'sel' : $this->db->where('DATE(a.reg_date) <=',$sdate); $this->db->where('DATE(a.reg_date) >=',$edate); break; }} $this->db->limit($limit, $offset); if($sort_list=="up"||$sort_list=="") $this->db->order_by("reg_date","DESC"); if($sort_list=="vi") $this->db->order_by("view_count","DESC"); $res = $this->db->get(); return $res->result_array(); } /* get_episode_list @return array or FALSE */ public function get_episode_list_search_count($req_data){ $sort_list = $req_data['sort_list']; // 최신 조회 $date_reg = $req_data['date_reg']; // 등록 날짜별 $mt_categories_idx = $req_data['category']; // 카테고리 $mt_list_idx = $req_data['mt_name']; // 맵툰 이름 $title = $req_data['ep_title']; // 맵툰 제목 $sdate = $req_data['sdate']; // 시작일 $edate = $req_data['edate']; // 종료일 $author = $req_data['author']; // 작가 $this->db->from($this->tb_name_episode.' AS a'); $this->db->join($this->tb_name_maptoon_list.' AS b', 'b.idx = a.mt_list_idx'); if($mt_categories_idx!='') $this->db->where('mt_categories_idx',$mt_categories_idx); if($mt_list_idx!='') $this->db->where('mt_list_idx',$mt_list_idx); if($title!='')$this->db->where('title',$title); //작가 번호로 조회 if(is_array($author)){ if(count($author)>0){ for($i=0;$idb->where('b.mt_cartoonists_idx',$author[$i]['idx']); }else{ $this->db->or_where('b.mt_cartoonists_idx',$author[$i]['idx']); } }}} //등록날짜별 조회 if(isset($date_reg)){ switch ($date_reg) { case 'td' : $this->db->where('DATE(a.reg_date) =',date("Y-m-d")); break; case 'yd' : $this->db->where('DATE(a.reg_date) =',date("Y-m-d", strtotime("-1 days"))); break; case 'w' : $this->db->where('DATE(a.reg_date) >=',date("Y-m-d", strtotime("-7 days"))); break; case '30d' : $this->db->where('DATE(a.reg_date) >=',date("Y-m-d", strtotime("-30 days"))); break; case 'lm' : $this->db->where('DATE(a.reg_date) >=',date("Y-m-d", strtotime("-1 months"))); break; case 'sel' : $this->db->where('DATE(a.reg_date) <=',$sdate); $this->db->where('DATE(a.reg_date) >=',$edate); break; }} if($sort_list=="up"||$sort_list=="") $this->db->order_by("reg_date","DESC"); if($sort_list=="vi") $this->db->order_by("view_count","DESC"); $res = $this->db->count_all_results(); return $res; } /* get cartoonist idx by_name @return array or FALSE */ public function get_cartoonist_idx_by_name($name) { //test $this->db->select("idx"); $this->db->where('name',$name); $query = $this->db->get($this->tb_name_cartoonist); return $query->result_array(); } /* return episode data by maptoon id and idx @param array (mt_idx, episode_idx) @return array or FALSE */ public function get_episode_by_mt_idx_episode_no($arr){ $query = $this->db->get_where($this->tb_name_episode,$arr); $result= $query -> row(); $data = (array)$result; if(count($data)==0 || ($data['is_display']==0)){ return false; }else{ return $data; } } /* return num of episodes by maptoon idx @param (numeric) idx of mt_list table @return (numeric) */ public function get_display_episodes($req_data) { $mt_idx = $req_data['idx']; isset($req_data['offset'])?$offset= $req_data['offset']:$offset=0; isset($req_data['limit'])?$limit=$req_data['limit']:$limit=0; isset($req_data['div'])?$div=$req_data['div']:$div=0; if($limit!=0){ if($div=='main'){//메인페이지 $this->db->select($this->tb_name_episode.'.*'); $this->db->select('b.name'); $this->db->join($this->tb_name_maptoon_list.' as b', 'b.idx = '.$this->tb_name_episode.'.mt_list_idx'); $this->db->order_by("reg_date","DESC"); } $this->db->limit($limit, $offset); $this->db->order_by("ep_no","DESC"); }else{ $this->db->order_by("ep_no","ASC"); } if($mt_idx==0){ $_where = "is_display=1"; }else{ $_where = "mt_list_idx=".$mt_idx." AND is_display=1"; } $query = $this->db->get_where($this->tb_name_episode,$_where); return $query->result_array(); } /* return toal count of display episodes by maptoon idx @param (numeric) idx of mt_list table @return (numeric) */ public function get_totalcount_episodes($mt_idx){ if($mt_idx==0){ $num = $this->db->count_all($this->tb_name_episode); }else{ $_where = "mt_list_idx=".$mt_idx." AND is_display=1"; $this->db->where($_where); $num = $this->db->count_all_results($this->tb_name_episode); } return $num; } /* find like data and insert or delete return String message */ public function like($req_data){ $member_id=$req_data['user_id']; $this->db->where('member_id',$member_id); $query=$this->db->get('member'); $ep_idx=$req_data['ep_idx']; $mt_list_idx=$req_data['mt_list_idx']; $mb_idx=$query->result_array()[0]['idx']; $data=array('ep_idx'=>$ep_idx, 'mb_idx'=>$mb_idx); //where $query = $this->db->get_where($this->tb_name_ep_like,$data); $num=$query->num_rows(); $message; if($num==0){ //Insert $message="좋아요를 선택하셨습니다."; $this->db->insert($this->tb_name_ep_like, $data); $this->db->set("recommend_count","recommend_count+1",false); $this->db->where("idx",$ep_idx); $this->db->update($this->tb_name_episode); $this->db->set("recommend","recommend+1",false); $this->db->where("idx",$mt_list_idx); $this->db->update($this->tb_name_maptoon_list); $state=1; }else{ //Delete $message="좋아요를 해지하셨습니다."; $this->db->delete($this->tb_name_ep_like, $data); $this->db->set("recommend_count","recommend_count-1",false); $this->db->where("idx",$ep_idx); $this->db->update($this->tb_name_episode); $this->db->set("recommend","recommend-1",false); $this->db->where("idx",$mt_list_idx); $this->db->update($this->tb_name_maptoon_list); $state=2; } $return_data=array('message'=>$message,'state'=>$state); return $return_data; } /* return grade insert and return grade @param (array) idx of mt_episodes table AND user id @return (array) */ public function star_score($req_data){ $member_id = $req_data['user_id']; $this->db->where('member_id',$member_id); $query=$this->db->get('member'); $mb_idx=$query->result_array()[0]['idx']; $ep_idx = $req_data['ep_idx']; $grade = $req_data['score']; //중복 조회 // $where_data=array( // 'mb_idx'=>$mb_idx, // 'ep_idx'=>$ep_idx); $this->db->where('mb_idx',$mb_idx); $this->db->where('ep_idx',$ep_idx); $query = $this->db->get($this->tb_name_grade); $is_date=$query->result_array(); if(count($is_date)==0){ $insert_data=array( 'mb_idx'=>$mb_idx, 'ep_idx'=>$ep_idx, 'grade'=>$grade ); $this->db->insert($this->tb_name_grade, $insert_data); $this->db->select('grade, grade_total'); $query =$this->db->get_where($this->tb_name_episode,array('idx'=>$ep_idx)); $grade_data = $query->result_array(); $c_grade=$grade_data[0]['grade']; $c_grade_total=$grade_data[0]['grade_total']; $u_grade= ($c_grade*$c_grade_total+$grade)/($c_grade_total+1); $u_grade_total= $c_grade_total+1; $update_data=array( 'grade'=>$u_grade, 'grade_total'=>$u_grade_total ); $this->db->where('idx',$ep_idx); $this->db->update($this->tb_name_episode,$update_data); if ($this->db->affected_rows() > 0) { $res_data['grade']=$u_grade; $res_data['grade_total']=$u_grade_total; $res_data['message']="참여하였습니다."; $res_data['state']=1; return $res_data; } else { return "실패하였습니다. 관리자에게 문의바랍니다."; } }else{ return "이미 참여하였습니다."; } } /* return confirm like and grade @param (array) idx of mt_episodes table AND user id @return (array) */ function ep_is_like_grade($req_data){ $member_id = $req_data['user_id']; $this->db->where('member_id',$member_id); $query=$this->db->get('member'); $mb_idx=$query->result_array()[0]['idx']; $ep_idx=$req_data['ep_idx']; // echo $ep_idx; $query = $this->db->get_where($this->tb_name_ep_like,array('mb_idx'=>$mb_idx,'ep_idx'=>$ep_idx)); $is_data=$query->num_rows(); // echo $is_data; $res_data=array(); if($is_data==0){ $res_data['is_like']=0; }else{ $res_data['is_like']=1; // echo 1; } $query = $this->db->get_where($this->tb_name_grade,array('mb_idx'=>$mb_idx,'ep_idx'=>$ep_idx)); $is_data=$query->num_rows(); if($is_data==0){ $res_data['is_grade']=0; }else{ $res_data['is_grade']=1; } return $res_data; } /* return episodes list for article page @param (array) idx of mt_episodes ep_no AND mt_idx @return (array) */ function get_article_ep_list($req_data){ $ep_no=$req_data['ep_no']; $mt_list_idx=$req_data['mt_list_idx']; if($ep_no<8){ $offset=0; $limit=14; }else{ $p_limit=7; // 페이지에 표시 되는 에피소드 수 $c_page=$ep_no/$p_limit; $offset=($c_page-1)*$p_limit+1; $limit=21; } $this->db->select(['idx','title','main_img','ep_no']); $this->db->where('is_display',1); $_where=[ 'mt_list_idx' => $mt_list_idx, 'is_display' => 1, 'DATE(display_date)<=' => date("Y-m-d H:i:s") ]; $this->db->limit($limit, $offset); $query = $this->db->get_where($this->tb_name_episode,$_where); return $query->result_array(); } /* insert view count And not return @param (array) idx of mt_episodes member mb_idx @INSERT hit log AND UPDATE mt_episodes view_count */ function ep_hit_count($req_data){ $member_id=$req_data['user_id']; if($member_id){ $this->db->where('member_id',$member_id); $query=$this->db->get('member'); $mb_idx=$query->result_array()[0]['idx']; }else{ $mb_idx=NULL; } $ep_idx=$req_data['ep_idx']; $insert_data=array( 'mb_idx'=>$mb_idx, 'ep_idx'=>$ep_idx ); $this->db->insert($this->tb_name_ep_hit,$insert_data); $this->db->where('idx',$ep_idx); $this->db->set("view_count","view_count+1",false); $this->db->update($this->tb_name_episode); } /* get episodes view ranking @param() @return(array) */ function get_ep_view_rank(){ $this->db->select('a.*, b.mt_list_idx, b.ep_no, b.title, c.name'); // $this->db->where("a.reg_date>=",date("Y-m-d H:00:00", strtotime("+1 hours"))); $this->db->order_by('a.reg_date', 'desc'); $this->db->order_by('a.rank', 'asc'); $this->db->limit(10); $this->db->join($this->tb_name_episode.' as b', 'b.idx = a.ep_idx'); $this->db->join($this->tb_name_maptoon_list.' as c', 'b.mt_list_idx = c.idx'); $query=$this->db->get($this->tb_name_ep_rank.' as a'); return $query->result_array(); } /* get episodes view ranking @param() @return(array) */ function get_mt_pop_rank(){ $this->db->select('a.idx, a.main_img, a.name as mt_name, a.recommend, b.name as ct_name'); $this->db->order_by('a.recommend','desc'); $this->db->limit(5); $this->db->where('recommend !=',0); $this->db->join($this->tb_name_cartoonist.' as b', 'b.idx = a.mt_cartoonists_idx'); $query=$this->db->get($this->tb_name_maptoon_list.' as a'); $rank_list=$query->result_array(); $count_list=$query->num_rows(); if($count_list<5){ $_limit=5-$count_list; $this->db->select('a.idx, a.main_img, a.name as mt_name, a.recommend, b.name as ct_name'); $this->db->order_by('rand()'); $this->db->limit($_limit); $this->db->where('recommend',0); $this->db->join($this->tb_name_cartoonist.' as b', 'b.idx = a.mt_cartoonists_idx'); $query_1=$this->db->get($this->tb_name_maptoon_list.' as a'); $rank_list_1=$query_1->result_array(); $rank_list=array_merge($rank_list,$rank_list_1); } return $rank_list; } /* update mt_recommend table And return array @param (array) member id, mt_idx @return (array) message, state */ function mt_recommend($res_data){ $member_id=$res_data['user_id']; $this->db->where('member_id',$member_id); $query=$this->db->get('member'); $mb_idx=$query->result_array()[0]['idx'];//member idx $mt_idx=$res_data['mt_idx']; $data=array('mt_list_idx'=>$mt_idx, 'mb_idx'=>$mb_idx); //where $query = $this->db->get_where($this->tb_name_mt_recommend,$data); $num=$query->num_rows(); $message; if($num==0){ //Insert $this->db->insert($this->tb_name_mt_recommend, $data); $this->db->set("recommend","recommend+1",false); $this->db->where("idx",$mt_idx); $this->db->update($this->tb_name_maptoon_list); $message="추천하셨습니다."; $state=1; }else{ //Delete $this->db->delete($this->tb_name_mt_recommend, $data); $this->db->set("recommend","recommend-1",false); $this->db->where("idx",$mt_idx); $this->db->update($this->tb_name_maptoon_list); $message="추천을 취소했습니다."; $state=2; } $return_data=array('message'=>$message,'state'=>$state); return $return_data; } /* return reserved idx of epsiodes list @param () @return (array) idx */ function get_epsiodes_reservation_list(){ $now_date = date("Y-m-d H:i:s"); $this->db->select('idx'); $this->db->where('display_date <=', $now_date); $this->db->where('display_date !=', '0000-00-00 00:00:00'); $this->db->where('is_display', '0'); $this->db->from($this->tb_name_episode); $res = $this->db->get(); $row = $res->result_array(); return $row; } /* update reserved episodes and return update count @param (array) reserved episodes array @return (numeric) update_count */ function episodes_is_display_update_batch($req_data){ $arr_update_data = array(); foreach($req_data as $key=>$val) { $arr_update_data[$key]['idx'] = $val['idx']; $arr_update_data[$key]['is_display'] = 1; } $row = $this->db->update_batch($this->tb_name_episode, $arr_update_data, 'idx'); return $row; } }