3,'course_flag'=>2); if (!empty($keyword)){ $condition['course_name'] = array('LIKE','%'.$keyword.'%'); } if ($lastId>0){ $condition['course_id'] = array('LT',$lastId); } $orderby = ''; if ($sort==1){ $orderby = 'course_join desc'; }else if($sort==2){ $orderby = 'course_id desc'; } $res = D('Notepad')->getNotepadList($condition, $pageSize, $orderby); if ($res!=NULL){ $userWordsRes = $this->square(); foreach ($res as $key=>$row){ if (in_array($row['course_id'], $userWordsRes) || $row['user_id']==$this->userId){ $res[$key]['is_add'] = 1; }else{ $res[$key]['is_add'] = 0; } } } if ($res==NULL && $lastId>0){ $data = array('code'=>0,'msg'=>'无更多数据','data'=>array()); $this->returnData($data);exit; } $data = array('code'=>0,'msg'=>'','data'=>$res); $this->returnData($data);exit; } //获取已经添加的课程或者自由记 private function square($uwType=0){ $condition = array('user_id'=>$this->userId); if (!empty($uwType)){ $condition['uw_type'] = $uwType; } $res = M('UserWords')->where($condition)->field('course_id')->select(); if ($res==NULL){ return array(); } $arr = array(); foreach ($res as $r){ $arr[] = $r['course_id']; } return $arr; } //添加自由记到我的自由记 public function favorite(){ $courseId = I('course_id'); if (empty($courseId) || $courseId<1000000){ $data = array('code'=>1,'msg'=>'自由记ID错误'); $this->returnData($data);exit; } $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1,'course_status'=>3))->field('course_id,user_id')->find(); if ($courseInfo==NULL){ $data = array('code'=>1,'msg'=>'自由记信息不存在'); $this->returnData($data);exit; } if ($courseInfo['user_id']==$this->userId){ $data = array('code'=>1,'msg'=>'自己添加的自由记无需添加'); $this->returnData($data);exit; } //判断用户是否已经添加过该课程 $userInfo = M('UserWords')->where(array('course_id'=>$courseId,'is_delete'=>1,'user_id'=>$this->userId))->field('uw_id')->find(); if ($userInfo!=NULL){ $data = array('code'=>1,'msg'=>'用户已经添加过该自由记,请勿重复添加'); $this->returnData($data);exit; } M('UserWords')->add(array('course_id'=>$courseId,'user_id'=>$this->userId,'operate_dt'=>time())); M('Course')->where(array('course_id'=>$courseId))->setInc('course_join'); $data = array('code'=>0,'msg'=>'已添加至我的自由记中','data'=>''); $this->returnData($data);exit; } //自由记详情 public function detail(){ $courseId = I('course_id'); if (empty($courseId) || $courseId<1000000){ $data = array('code'=>1,'msg'=>'自由记ID错误'); $this->returnData($data);exit; } //$courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1,'course_status'=>3))->field('course_id,course_name,course_content,operate_dt')->find(); $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('user_id,course_id,course_name,course_content,operate_dt')->find(); if ($courseInfo==NULL){ $data = array('code'=>1,'msg'=>'自由记信息不存在'); $this->returnData($data);exit; } $userWordsRes = $this->square(); if (in_array($courseInfo['course_id'], $userWordsRes) || $courseInfo['user_id']==$this->userId){ $courseInfo['is_add'] = 1; }else{ $courseInfo['is_add'] = 0; } if ($courseInfo['user_id']!=$this->userId){ $fansInfo = M('Fans')->where(array('user_id'=>$this->userId,'fans_user_id'=>$courseInfo['user_id']))->field('fans_id')->find(); $courseInfo['is_fans'] = $fansInfo==NULL?0:1; }else{ $courseInfo['is_fans'] = 2; } $userInfo = M('User')->where(array('user_id'=>$courseInfo['user_id']))->field('user_id,user_name,user_icon')->find(); $courseInfo['user_icon'] = $userInfo['user_icon']; $courseInfo['user_name'] = $userInfo['user_name']; $data = array('code'=>0,'msg'=>'','data'=>$courseInfo); $this->returnData($data);exit; } //添加自由记 public function add(){ $courseId = I('course_id',''); $courseName = I('course_name',''); $courseContent = I('course_content',''); if (mb_strlen($courseName,'UTF8')<2 || mb_strlen($courseName,'UTF8')>40){ $data = array('code'=>1,'msg'=>'自由记名称2到40个汉字',); $this->returnData($data);exit; } if (mb_strlen($courseContent,'UTF8')<2 || mb_strlen($courseContent,'UTF8')>10000){ $data = array('code'=>1,'msg'=>'自由记名称2到10000个汉字',); $this->returnData($data);exit; } if (!empty($courseId)){ $courseInfo = M('Course')->where(array('course_id'=>$courseId))->field('user_id')->find(); if ($courseInfo==NULL || $courseInfo['user_id']!=$this->userId){ $data = array('code'=>1,'msg'=>'暂无权限编辑该自由记',); $this->returnData($data);exit; } } $res = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find(); //新增 if (empty($courseId) && $res!=NULL){ $courseName = $this->getNotepadName($courseName); } //更新 if (!empty($courseId) && $courseId!=$res['course_id']){ $courseName = $this->getNotepadName($courseName); } if (empty($courseId)){ $courseId = M('Course')->add(array('user_id'=>$this->userId,'course_content'=>$courseContent,'course_name'=>$courseName,'course_source'=>2,'course_flag'=>2,'operate_dt'=>time())); }else{ M('Course')->where(array('course_id'=>$courseId))->save(array('course_content'=>$courseContent,'course_name'=>$courseName)); } $noteRes = M('Course')->where(array('course_id'=>$courseId))->field('course_id,course_name,course_content,operate_dt')->find(); $data = array('code'=>0,'msg'=>'','data'=>$noteRes); $this->returnData($data);exit; } //删除自由记 public function del(){ $courseId = I('course_id',''); if (empty($courseId)){ $data = array('code'=>1,'msg'=>'自由记ID错误'); $this->returnData($data);exit; } $courseIds = rtrim($courseIds,','); M('UserWords')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId,))->delete(); M('Course')->where(array('course_id'=>array('IN',$courseId),'user_id'=>$this->userId,'course_status'=>array('neq',3),))->delete(); $data = array('code'=>0,'msg'=>'自由记删除成功','data'=>''); $this->returnData($data);exit; } //上传到单词广场 public function upSquare(){ $courseId = I('course_id',''); if (empty($courseId)){ $data = array('code'=>1,'msg'=>'自由记ID错误'); $this->returnData($data);exit; } $courseId = rtrim($courseId,','); M('Course')->where(array('course_id'=>array('IN',$courseId)))->save(array('course_status'=>2)); $data = array('code'=>0,'msg'=>'上传成功,请等待管理员审核!','data'=>''); $this->returnData($data);exit; } //获取课程名称相同时,新的课程名称 private function getNotepadName($courseName){ $course = M('Course')->where(array('course_name'=>$courseName,'is_delete'=>1))->field('course_id')->find(); $res = M('TitleNum')->where(array('title_name'=>$courseName,'title_source'=>2))->field('title_id,title_num')->find(); if ($res!=NULL){ $courseName = $courseName.'('.($res['title_num']+1).')'; M('TitleNum')->where(array('title_id'=>$res['title_id']))->setInc('title_num'); }else if($course!=NULL){ $courseName = $courseName.'('.($res['title_num']+1).')'; M('TitleNum')->add(array('title_name'=>$courseName,'operate_dt'=>time())); //$courseName = $courseName; } return $courseName; } }