12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238 |
- <?php
- namespace Api\Controller;
- use Common\Controller\ApiController;
- class WordsController extends ApiController {
- public function __construct(){
- parent::__construct();
- }
- public function test2(){
- M('User')->where(array('user_id'=>0))->setInc('sys_notice');
- }
- //获取单词列表
- public function index(){
- $sort = I('sort',1);
- $lastId = I('last_id',0);
- $courseId = I('course_id');
- $pageSize = I('page_size',20);
- $keyword = I('keyword','');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $condition = array('is_delete'=>1,'course_id'=>$courseId);
- if (!empty($keyword)){
- $condition['words_name'] = array('LIKE','%'.$keyword.'%');
- }
- $orderby = '';
- if ($sort==1){
- $orderby = 'words_id asc';
- }else if($sort==2){
- $wordsSortInfo = M('WordsSort')->where(array('course_id'=>$courseId,'user_id'=>$this->userId,'sort_status'=>1))->field('word_ids')->find();
- if ($wordsSortInfo==NULL){
- $data = array('code'=>0,'msg'=>'占未设置乱序','data'=>array());
- $this->returnData($data);exit;
- }
- }
- if ($lastId>0 && $sort==1){
- $condition['words_id'] = array('LT',$lastId);
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_show'=>1))->field('course_id,user_id,course_name,course_source,operate_dt')->find();
- if ($courseInfo['course_name']=='易错单词'){
- if ($lastId>0){
- $data = array('code'=>0,'msg'=>'无更多数据','data'=>array());
- $this->returnData($data);exit;
- }
- $errorInfo = M('Test')->where(array('user_id'=>$this->userId))->order('test_id desc')->field('words_error')->find();
- if ($errorInfo==NULL){
- $data = array('code'=>0,'msg'=>'暂无错误单词','data'=>array());
- $this->returnData($data);exit;
- }
- $res = M('Words')->where(array('words_id'=>array('IN',$errorInfo['words_error'])))->order($orderby)->select();
- }else{
- //$join = 'w LEFT JOIN t_words_notepad wn ON w.words_id=wn.words_id';
- if ($sort==1){
- $res = M('Words')->where($condition)->order($orderby)->limit($pageSize)->select();
- }else if($sort==2){
- $wordIdArr = explode(',', $wordsSortInfo['word_ids']);
- if ($lastId!=0){
- $key = array_search($lastId,$wordIdArr);
- $key = $key+1;
- }else{
- $key = 0;
- }
- $wordsIdPage = array_slice($wordIdArr,$key,$pageSize);
- if (empty($wordsIdPage)){
- $data = array('code'=>0,'msg'=>'无更多数据','data'=>array());
- $this->returnData($data);exit;
- }
- $wordsIdpageStr = implode(',', $wordsIdPage);
- $condition['words_id'] = array('IN',$wordsIdPage);
- $orderby = 'field(words_id,'. $wordsIdpageStr .')';
- $res = M('Words')->where($condition)->order($orderby)->select();
- //echo M('Words')->getLastSql();exit;
- }
- }
- $wordsList = array();
- foreach ($res as $row){
- $wnRes = M('WordsNotepad')->where(array('words_id'=>$row['words_id'],'user_id'=>$this->userId))->field('wn_content')->find();
- $wnContent = '';
- if ($wnRes!=NULL){
- $wnContent = $wnRes['wn_content'];
- }
- unset($row['is_delete']);
- unset($row['words_source']);
- $row['wn_content'] = $wnContent;
- $row['annotation_cn']=html_entity_decode($row['annotation_cn']);
- $row['words_name']=html_entity_decode($row['words_name']);
- $wordsList[] = $row;
- /* $wordsList[] = array(
- 'words_id' => $row['words_id'],
- 'course_id' => $row['course_id'],
- 'words_name' => $row['words_name'],
- 'wn_content'=>$wnContent,
- 'operate_dt' => $row['operate_dt'],
- 'words_text' => $this->getWordsText($row),
- ); */
- }
- if ($res==NULL&&$lastId>0){
- $data = array('code'=>0,'msg'=>'无更多数据','data'=>array());
- $this->returnData($data);exit;
- }
- if ($lastId==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;
- /* if ($courseInfo['course_source']==1){
- $courseInfo['user_name'] = '系统课程';
- $courseInfo['user_icon'] = C('DOMAIN').'/Public/img/admin_icon.png';
- }else{
- $userInfo = M('User')->where(array('user_id'=>$courseInfo['user_id']))->field('user_name,user_icon,user_sex')->find();
- $courseInfo['user_name'] = $userInfo['user_name'];
- $courseInfo['user_icon'] = $userInfo['user_icon'];
- } */
- }else{
- $courseInfo['is_fans'] = 2;
- }
- $userInfo = M('User')->where(array('user_id'=>$courseInfo['user_id']))->field('user_id,user_name,user_icon,user_sex')->find();
- $courseInfo['user_id'] = $userInfo['user_id'];
- $courseInfo['user_sex'] = $userInfo['user_sex'];
- $courseInfo['user_icon'] = $userInfo['user_icon'];
- $courseInfo['user_name'] = $userInfo['user_name'];
- }else{
- $courseInfo = new \stdClass();
- }
- $data = array('code'=>0,'msg'=>'','data'=>$wordsList);
- if ($lastId==0){
- $data['info'] = $courseInfo;
- }
- $this->returnData($data);exit;
- }
-
- //获取指定章节单词列表
- public function part(){
- $sort = I('sort',1);
- $courseId = I('course_id');
- $partNum = I('part_num');
- if (empty($partNum) || $partNum<=0){
- $data = array('code'=>10,'msg'=>'章节ID错误');
- $this->returnData($data);exit;
- }
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $partInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('uw_id,user_part,part_num')->find();
- if ($partInfo==NULL){
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_num')->find();
- $partInfo['user_part'] = 15;
- $partInfo['part_num'] = ceil($courseInfo['course_num']/$partInfo['user_part']);
- }
- if (empty($partInfo['part_num'])){
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_num')->find();
- $partInfo['user_part'] = 15;
- $partInfo['part_num'] = ceil($courseInfo['course_num']/$partInfo['user_part']);
- M('UserWords')->where(array('uw_id'=>$partInfo['uw_id']))->save(array('part_num'=>$partInfo['part_num']));
- }
- if ($partNum>$partInfo['part_num']){
- $data = array('code'=>10,'msg'=>'章节ID错误');
- $this->returnData($data);exit;
- }
- $wordsSortInfo = M('WordsSort')->where(array('course_id'=>$courseId,'user_id'=>$this->userId,'sort_status'=>1))->field('word_ids')->find();
- if ($wordsSortInfo==NULL){
- $condition = array('is_delete'=>1,'course_id'=>$courseId);
- $orderby = '';
- if ($sort==1){
- $orderby = 'words_id asc';
- }
- $condition['user_id'] = $this->userId;
- //$join = 'w LEFT JOIN t_words_notepad wn ON w.words_id=wn.words_id';
- $res =M('Words')->where($condition)->order($orderby)->limit(($partNum-1)*$partInfo['user_part'], $partInfo['user_part'])->select();
- }else{
- $wordIdArr = explode(',', $wordsSortInfo['word_ids']);
- $wordsIdPage = array_slice($wordIdArr,($partNum-1)*$partInfo['user_part'], $partInfo['user_part']);
- if (empty($wordsIdPage)){
- $data = array('code'=>0,'msg'=>'章节ID错误','data'=>array());
- $this->returnData($data);exit;
- }
- $wordsIdpageStr = implode(',', $wordsIdPage);
- $condition['words_id'] = array('IN',$wordsIdPage);
- $orderby = 'field(words_id,'. $wordsIdpageStr .')';
- $res = M('Words')->where($condition)->order($orderby)->select();
- }
- $wordsList = array();
- foreach ($res as $k=>$row){
- $wnRes = M('WordsNotepad')->where(array('words_id'=>$row['words_id'],'user_id'=>$this->userId))->field('wn_content')->find();
- $wnContent = '';
- if ($wnRes!=NULL){
- $wnContent = $wnRes['wn_content'];
- }
- unset($row['is_delete']);
- unset($row['words_source']);
- $row['wn_content'] = $wnContent;
- //判断读音是否空
- if (empty($row['words_read1'])){
- $row['words_read1'] = $row['words_read2'];
- $row['words_voice1'] = $row['words_voice2'];
- }
- $row['annotation_cn']=html_entity_decode($row['annotation_cn']);
- $row['words_name']=html_entity_decode($row['words_name']);
- $wordsList[] = $row;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$wordsList);
- $this->returnData($data);exit;
- }
-
- //获取特殊课程指定章节单词列表
- public function specialPart(){
- $sort = I('sort',1);
- $courseId = I('course_id');
- $partNum = I('part_num');
- $wordsArr = array();
- $wordsRes = M('Words')->where(array('course_id'=>$courseId))->group('operate_dt')->order('operate_dt')->field('operate_dt')->select();
- if (function_exists('array_column')){
- $wordsArr = array_column($wordsRes, 'operate_dt');
- }else{
- foreach ($wordsRes as $row){
- $wordsArr[] = $row['operate_dt'];
- }
- }
- if (empty($partNum)){
- if ($wordsRes!=NULL){
- $partNum = $wordsArr[0];
- }else{
- $data = array('code'=>1,'msg'=>'章节ID错误');
- $this->returnData($data);exit;
- }
- }
-
- $partData = array('current_part'=>$partNum,'pre_part'=>'','next_part'=>'');
- $key = array_search($partNum,$wordsArr);
- //获取上一章
- if ($key-1>0){
- $partData['pre_part'] = isset($wordsArr[$key-1])?$wordsArr[$key-1]:'';
- }
- //下一章
- if (isset($wordsArr[$key+1])){
- $partData['next_part'] = $wordsArr[$key+1];
- }
-
-
- $wordsSortInfo = M('WordsSort')->where(array('course_id'=>$courseId,'user_id'=>$this->userId,'sort_status'=>1))->field('word_ids')->find();
- if ($wordsSortInfo==NULL){
- $orderby = '';
- if ($sort==1){
- $orderby = 'words_id asc';
- }
- //$join = 'w LEFT JOIN t_words_notepad wn ON w.words_id=wn.words_id';
- $res =M('Words')->where(array('course_id'=>$courseId,'operate_dt'=>$partNum))->order($orderby)->select();
- }else{
- $wordIdArr = explode(',', $wordsSortInfo['word_ids']);
- $wordsIdpageStr = implode(',', $wordIdArr);
- $condition['words_id'] = array('IN',$wordIdArr);
- $orderby = 'field(words_id,'. $wordsIdpageStr .')';
- $res = M('Words')->where($condition)->order($orderby)->select();
- }
- $wordsList = array();
- foreach ($res as $k=>$row){
- $wnRes = M('WordsNotepad')->where(array('words_id'=>$row['words_id'],'user_id'=>$this->userId))->field('wn_content')->find();
- $wnContent = '';
- if ($wnRes!=NULL){
- $wnContent = $wnRes['wn_content'];
- }
- unset($row['is_delete']);
- unset($row['words_source']);
- $row['wn_content'] = $wnContent;
- //判断读音是否空
- if (empty($row['words_read1'])){
- $row['words_read1'] = $row['words_read2'];
- $row['words_voice1'] = $row['words_voice2'];
- }
- $wordsList[] = $row;
- }
- $data = array('code'=>0,'msg'=>'','data'=>$wordsList,'partData'=>$partData);
- $this->returnData($data);exit;
- }
-
- //添加编辑单词
- public function edit(){
- $courseId = I('course_id');
- $wordsId = I('words_id','');
- $wordsName = I('words_name','');
- $Type = I('type','0');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
-
- //判断单词是否重复
- if (empty($wordsId)){
- $wordsInfo = M('Words')->where(array('course_id'=>$courseId,'words_name'=>$wordsName))->field('words_id,words_name')->find();
- if ($wordsInfo!=NUll){
- $data = array('code'=>1,'msg'=>'该课程已经添加过该单词,请勿重复添加!');
- $this->returnData($data);exit;
- }
- }
-
- if (!empty($wordsId)){
- $wordsInfo = M('Words')->where(array('course_id'=>$courseId,'words_name'=>$wordsName))->field('words_id,words_name')->find();
- if ($wordsInfo!=NUll && $wordsInfo['words_id']!=$wordsId){
- $data = array('code'=>1,'msg'=>'该课程已经添加过该单词,请勿重复添加!');
- $this->returnData($data);exit;
- }
- $wordsOldInfo = M('Words')->where(array('words_id'=>$wordsId))->field('course_id')->find();
- if($wordsOldInfo['course_id']!=$courseId){
- $data = array('code'=>1,'msg'=>'单词和课程不匹配!');
- $this->returnData($data);exit;
- }
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source,s_course_id')->find();
- if ($courseInfo==NULL){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- if (in_array($courseInfo['course_name'], array('易错单词','重点单词'))){
- $data = array('code'=>1,'msg'=>'不能编辑特殊课程单词');
- $this->returnData($data);exit;
- }
- $oldCourseInfo = $courseInfo;
-
- if ($courseInfo['course_status']==3 || $courseInfo['user_id']!=$this->userId){
- //创建新课程,并把就课程里面的所有的单词添加到新创建的课程中
- $userCourseInfo = M('Course')->where(array('user_id'=>$this->userId))->field('operate_dt')->find();
- if($userCourseInfo!=NULL){
- $time = time() - $userCourseInfo['operate_dt'];
- if ($time<C('COURSE_TIME')){
- $data = array('code'=>1,'msg'=>'3分钟内无法连续创建课程');
- $this->returnData($data);exit;
- }
- }
- $oldCourseId = $courseInfo['course_id'];
- if ($courseInfo['user_id']==$this->userId){
- M('Course')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('is_show'=>2));
- }else if($courseInfo['course_source']==1){
- //系统课程
- $sysCourse = M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($sysCourse==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $sysCourseInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'is_show'=>2,
- 'operate_dt'=>time(),
- );
- M('UserWords')->add($sysCourseInfo);
- }else{
- M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('is_show'=>2));
- }
- }
- //创建课程
- $courseInfo['s_course_id']=$courseInfo['course_id'];
- unset($courseInfo['course_id']);
- $courseInfo['course_status'] = 1;
- $courseInfo['operate_dt'] = time();
- $courseInfo['user_id'] = $this->userId;
- $courseInfo['course_source']=2;
- $courseInfo['course_name'] = $courseInfo['course_name'];//$this->getCourseName($courseInfo['course_name']);
- $courseId = M('Course')->add($courseInfo);
- $userWordsInfo = M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($userWordsInfo==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $saveCourseWordsInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'operate_dt'=>time(),
- );
- M('UserWords')->add($saveCourseWordsInfo);
- }else{
- M('UserWords')->where(array('uw_id'=>$userWordsInfo['uw_id']))->save(array('course_id'=>$courseId));
- //M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('course_id'=>$courseId));
- }
- //复制单词
- $this->copyWords($oldCourseId,$courseId);
- }else{
- $userWordsInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($userWordsInfo==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $saveCourseWordsInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'operate_dt'=>time(),
- );
- M('UserWords')->add($saveCourseWordsInfo);
- }
- }
-
- $wordsKeys = array('n'=>'words_n','pron'=>'words_pron','adj'=>'words_adj','num'=>'words_num','v'=>'words_v','adv'=>'words_adv','art'=>'words_art',
- 'prep'=>'words_prep','conj'=>'words_conj','int'=>'words_int','vt'=>'words_vt','vi'=>'words_vi','other'=>'words_other',);
- $saveData['course_id'] = $courseId;
- $saveData['words_name'] = I('words_name','');
- /* $wordsVoice = I('words_voice','');
- $wordsRead = I('words_read','');
- if (substr($wordsVoice,-1)==','){
- $wordsVoice = substr($wordsVoice, 0, -1);
- }
- $wordsVoiceArr = explode(',', $wordsVoice);
- $wordsReadArr = explode(',', $wordsRead);
- for ($i=0;$i<count($wordsVoiceArr);$i++){
- $j = $i+1;
- $saveData['words_read'.$j] = $wordsReadArr[$i];
- $saveData['words_voice'.$j] = $wordsVoiceArr[$i];
- } */
- if(I('words_voice1','')){
- $saveData['words_voice1'] = I('words_voice1','');
- }
- if(I('words_read1','')){
- $saveData['words_read1'] = I('words_read1','');
- }
- if(I('words_voice2','')){
- $saveData['words_voice2'] = I('words_voice2','');
- }
- if(I('words_read2','')){
- $saveData['words_read2'] = I('words_read2','');
- }
- if(I('words_voice3','')){
- $saveData['words_voice3'] = I('words_voice3','');
- }
- if(I('words_read3','')){
- $saveData['words_read3'] = I('words_read3','');
- }
- $wordsVals = array_values($wordsKeys);
- $checkWords = true;
- foreach ($wordsVals as $keys){
- $saveData[$keys] = I($keys,'');
- if (!empty($saveData[$keys])){
- $checkWords = false;
- }
- }
- if (empty($saveData['words_name'])){
- $data = array('code'=>1,'msg'=>'单词不能为空');
- $this->returnData($data);exit;
- }
- /*
- if (empty($saveData['words_voice1'])){
- $data = array('code'=>1,'msg'=>'读音不能为空');
- $this->returnData($data);exit;
- }
- if (empty($saveData['words_read1'])){
- $data = array('code'=>1,'msg'=>'音标不能为空');
- $this->returnData($data);exit;
- }
- */
- if ($checkWords){
- $data = array('code'=>1,'msg'=>'中文释义不能为空');
- $this->returnData($data);exit;
- }
- $saveData['jz_en1'] = I('jz_en1','');
- $saveData['jz_cn1'] = I('jz_cn1','');
- $saveData['jz_en2'] = I('jz_en2','');
- $saveData['jz_cn2'] = I('jz_cn2','');
- $saveData['jz_en3'] = I('jz_en3','');
- $saveData['jz_cn3'] = I('jz_cn3','');
- $saveData['words_img'] = I('words_img','');
- $saveData['similar_cn'] = I('similar_cn','');
- $saveData['similar_en'] = I('similar_en','');
- $saveData['words_similar'] = I('words_similar');
- $saveData['annotation_cn'] = I('annotation_cn','');
- if (!empty($saveData['jz_en1']) && strpos(strtolower($saveData['jz_en1']), strtolower($saveData['words_name']))===FALSE){
- $data = array('code'=>1,'msg'=>'您添加的例句1不包含对应单词,请仔细核对后提交');
- $this->returnData($data);exit;
- }
- if (!empty($saveData['jz_en2']) && strpos(strtolower($saveData['jz_en2']), strtolower($saveData['words_name']))===FALSE){
- $data = array('code'=>1,'msg'=>'您添加的例句2不包含对应单词,请仔细核对后提交交');
- $this->returnData($data);exit;
- }
- if (!empty($saveData['jz_en3']) && strpos(strtolower($saveData['jz_en3']), strtolower($saveData['words_name']))===FALSE){
- $data = array('code'=>1,'msg'=>'您添加的例句3不包含对应单词,请仔细核对后提交');
- $this->returnData($data);exit;
- }
- if (!empty($saveData['jz_en1']) && empty($saveData['jz_cn1'])){
- $data = array('code'=>1,'msg'=>'您添加的例句1释义不能为空,请仔细核对后提交');
- $this->returnData($data);exit;
- }
- if (!empty($saveData['jz_en2']) && empty($saveData['jz_cn2'])){
- $data = array('code'=>1,'msg'=>'您添加的例句1释义不能为空,请仔细核对后提交');
- $this->returnData($data);exit;
- }
- if (!empty($saveData['jz_en3']) && empty($saveData['jz_cn3'])){
- $data = array('code'=>1,'msg'=>'您添加的例句1释义不能为空,请仔细核对后提交');
- $this->returnData($data);exit;
- }
-
- if (!empty($saveData['words_similar']) && strlen($saveData['words_similar'])>50){
- $data = array('code'=>1,'msg'=>'近义词不能大于50个字节');
- $this->returnData($data);exit;
- }
-
- if (!empty($data['similar_cn']) && strlen($data['similar_cn'])>500){
- $data = array('code'=>1,'msg'=>'英文释义不能大于500个字节');
- $this->returnData($data);exit;
- }
- $saveData['operate_dt'] = time();
-
- if ($wordsId){
-
- if ($oldCourseInfo['course_status']==3 || $oldCourseInfo['user_id']!=$this->userId){
- //$wordsId = M('Words')->add($saveData);
- $wordsOldInfo = M('Words')->where(array('words_id'=>$wordsId,))->field('words_id,words_name')->find();
- $wordsNewInfo = M('Words')->where(array('course_id'=>$saveData['course_id'],'words_name'=>$wordsOldInfo['words_name'],))->field('words_id')->find();
- M('Words')->where(array('words_id'=>$wordsNewInfo['words_id']))->save($saveData);
- $returnWordsId = $wordsNewInfo['words_id'];
-
- }else{
- M('Words')->where(array('words_id'=>$wordsId))->save($saveData);
- $returnWordsId = $wordsId;
- }
- //提交审核
- if($Type){
- if($oldCourseInfo['s_course_id']){
- $oldCourseId=$oldCourseInfo['s_course_id'];
- $oldCourseInfo = M('Course')->where(array('course_id'=>$oldCourseInfo['s_course_id'],'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source,s_course_id')->find();
- $wordsNewInfo = M('Words')->where(array('words_id'=>$wordsId,))->field('*')->find();
- if($wordsNewInfo['s_words_id']==0){
- $data = array('code'=>1,'msg'=>'原单词不存在');
- $this->returnData($data);exit;
- }
- $wordsId=$wordsNewInfo['s_words_id'];
- }
- $arr=array();
- $wc_text=I('msg','');
- $arr['user_id']=$this->userId;
- $arr['user_course_id']=$saveData['course_id'];
- $arr['course_id']=$oldCourseId;
- $arr['user_words_id']=$wordsNewInfo['words_id'];
- $arr['words_id']=$wordsId;
- $ttt=$saveData;
- unset($ttt['course_id']);
- $arr['wc_json']=json_encode($ttt);
- $arr['wc_text']=$wc_text;
- $arr['operate_dt'] = time();
- M('words_check')->add($arr);
- if($wordsNewInfo['words_id']){
- M('Words')->where(array('words_id'=>$wordsNewInfo['words_id']))->save($saveData);
- }
-
- $checkinfo=M('words_check')->where($arr)->field('wc_id')->find();
- //推送
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_name')->find();
- $temp=array();
- $temp['wc_id']=$checkinfo['wc_id'];
- $Content="您上传到单词广场的课程《".$oldCourseInfo['course_name']."》,用户".$userInfo['user_name']."提交修改审核,".($wc_text?"并留言:".$wc_text.",":'')."点击直接查看修改内容";
- M('Notice')->add(array('ref_user_id'=>$oldCourseInfo['user_id'],'user_id'=>$this->userId,'notice_flag'=>5,'notice_status'=>1,'notice_type'=>0,'notice_title'=>'课程修改审核','notice_content'=>$Content,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$oldCourseInfo['user_id']))->setInc('sys_notice');
- $data = json_encode(array('type'=>0,'msg'=>$Content,'data'=>array('title'=>"课程修改审核",'wc_id'=>$checkinfo['wc_id'],'course_id'=>$saveData['course_id'],'words_id'=>$wordsId,'content'=>$Content)));
- $this->umengPush($oldCourseInfo['user_id'], $data);
- //$data = array('code'=>0,'msg'=>'单词提交审核成功','data'=>array());
- //$this->returnData($data);exit;
- }
- }else{
- $wordsId = M('Words')->add($saveData);
- $wordsSortInfo = M('WordsSort')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->field('sort_id,word_ids')->find();
- if ($wordsSortInfo != NULL){
- $wordsSortInfo['word_ids'] = $wordsSortInfo['word_ids'].','.$wordsId;
- M('WordsSort')->where(array('sort_id'=>$wordsSortInfo['sort_id']))->save(array('word_ids'=>$wordsSortInfo['word_ids']));
- }
- M('Course')->where(array('course_id'=>$courseId))->setInc('course_num');
- $returnWordsId = $wordsId;
- }
-
- //重新计算章节信息
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->save(array('part_num'=>$partNum));
-
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $resUserWords = M('UserWords')->join($join)->where(array('c.course_id'=>$saveData['course_id'],'uw.user_id'=>$this->userId,))->field('uw.course_id,uw.user_id,course_join,course_num,course_name,uw_id,uw.user_part,uw.part_num')->find();
- $resUserWords['words_id'] = $returnWordsId;
- $data = array('code'=>0,'msg'=>'单词操作成功','data'=>$resUserWords);
- $this->returnData($data);exit;
- /* $data = array('code'=>0,'msg'=>'单词操作成功','data'=>array('words_id'=>$wordsId,'course_id'=>$courseId));
- $this->returnData($data);exit; */
- }
-
- //把其他课程里面的单词添加到指定课程中
- public function addWordsToCourse(){
- $wordsId = I('words_id');
- $courseId = I('course_id');
- if (empty($wordsId)){
- $data = array('code'=>1,'msg'=>'单词ID错误');
- $this->returnData($data);exit;
- }
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $wordsInfo = M('Words')->where(array('words_id'=>$wordsId,'is_delete'=>1))->find();
- if ($wordsInfo!=NULL && $wordsInfo['course_id']==$courseId){
- $data = array('code'=>1,'msg'=>'已是该课程单词');
- $this->returnData($data);exit;
- }
- $wordsCourseInfo = M('Words')->where(array('words_name'=>$wordsInfo['words_name'],'course_id'=>$courseId))->field('words_id')->find();
- if ($wordsCourseInfo!=NULL){
- $data = array('code'=>1,'msg'=>'已是该课程单词');
- $this->returnData($data);exit;
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source')->find();
- if ($courseInfo==NULL){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
-
- if (in_array($courseInfo['course_name'], array('易错单词','重点单词'))){
- $data = array('code'=>1,'msg'=>'不能编辑特殊课程单词');
- $this->returnData($data);exit;
- }
-
- $oldCourseId = 0;
- if ($courseInfo['course_status']==3 || $courseInfo['user_id']!=$this->userId){
- //创建新课程,并把就课程里面的所有的单词添加到新创建的课程中
- $userCourseInfo = M('Course')->where(array('user_id'=>$this->userId))->field('operate_dt')->find();
- if($userCourseInfo!=NULL){
- $time = time() - $userCourseInfo['operate_dt'];
- if ($time<C('COURSE_TIME')){
- $data = array('code'=>1,'msg'=>'3分钟内无法连续创建课程');
- $this->returnData($data);exit;
- }
- }
- $oldCourseId = $courseInfo['course_id'];
- if ($courseInfo['user_id']==$this->userId){
- M('Course')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('is_show'=>2));
- }else if($courseInfo['course_source']==1){
- //系统课程
- $sysCourse = M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($sysCourse==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $sysCourseInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'is_show'=>2,
- 'operate_dt'=>time(),
- );
- M('UserWords')->add($sysCourseInfo);
- }else{
- M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('is_show'=>2));
- }
- }
- //创建课程
- unset($courseInfo['course_id']);
- $courseInfo['course_status'] = 1;
- $courseInfo['operate_dt'] = time();
- $courseInfo['user_id'] = $this->userId;
- $courseInfo['course_source']=2;
- $courseInfo['course_name'] = $this->getCourseName($courseInfo['course_name']);
- $courseId = M('Course')->add($courseInfo);
- //复制单词
- $this->copyWords($oldCourseId,$courseId);
- }
- $wordsInfo['operate_dt'] = time();
- $wordsInfo['course_id'] = $courseId;
- $wordsInfo['words_source'] = 2;
- unset($wordsInfo['words_id']);
- M('Words')->add($wordsInfo);
- M('Course')->where(array('course_id'=>$courseId))->setInc('course_num');
- $data = array('code'=>0,'msg'=>'单词添加成功','data'=>'');
- if (empty($oldCourseId)){
- $data['data']['new_course'] = 0;
- }else{
- $data['data']['new_course'] = 1;
- }
- $this->returnData($data);exit;
- }
-
- //删除单词
- public function del(){
- $wordsId = I('words_id');
- $courseId = I('course_id');
- if (empty($wordsId)){
- $data = array('code'=>1,'msg'=>'单词ID错误');
- $this->returnData($data);exit;
- }
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- $wordsInfo = M('Words')->where(array('words_id'=>$wordsId,'is_delete'=>1))->find();
- if ($wordsInfo!=NULL && $wordsInfo['course_id']!=$courseId){
- $data = array('code'=>1,'msg'=>'不是该课程单词');
- $this->returnData($data);exit;
- }
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source')->find();
- if ($courseInfo==NULL){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
-
- if (in_array($courseInfo['course_name'], array('易错单词','重点单词'))){
- $data = array('code'=>1,'msg'=>'不能编辑特殊课程单词');
- $this->returnData($data);exit;
- }
-
- $oldCourseInfo = $courseInfo;
- if ($courseInfo['course_status']==3 || $courseInfo['user_id']!=$this->userId){
- //创建新课程,并把就课程里面的所有的单词添加到新创建的课程中
- $userCourseInfo = M('Course')->where(array('user_id'=>$this->userId))->field('operate_dt')->find();
- if($userCourseInfo!=NULL){
- $time = time() - $userCourseInfo['operate_dt'];
- if ($time<C('COURSE_TIME')){
- $data = array('code'=>1,'msg'=>'3分钟内无法连续创建课程');
- $this->returnData($data);exit;
- }
- }
- $oldCourseId = $courseInfo['course_id'];
- if ($courseInfo['user_id']==$this->userId){
- M('Course')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('is_show'=>2));
- }else if($courseInfo['course_source']==1){
- //系统课程
- $sysCourse = M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId,'is_show'=>1))->field('uw_id')->find();
- if ($sysCourse==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $sysCourseInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'is_show'=>2,
- 'operate_dt'=>time(),
- );
- M('UserWords')->add($sysCourseInfo);
- }else{
- M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('is_show'=>2));
- }
- }
- //创建课程
- unset($courseInfo['course_id']);
- $courseInfo['course_status'] = 1;
- $courseInfo['operate_dt'] = time();
- $courseInfo['user_id'] = $this->userId;
- $courseInfo['course_source']=2;
- $courseInfo['course_name'] = $courseInfo['course_name'];//$this->getCourseName($courseInfo['course_name']);
- $courseId = M('Course')->add($courseInfo);
- $userWordsInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($userWordsInfo==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $userOldWordsInfo = M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->field('current_course')->find();
- $saveCourseWordsInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'operate_dt'=>time(),
- );
- if ($userOldWordsInfo!=NULL && $userOldWordsInfo['current_course']==2){
- $saveCourseWordsInfo['current_course'] = 2;
- }
- M('UserWords')->add($saveCourseWordsInfo);
- }else{
- M('UserWords')->where(array('uw_id'=>$userWordsInfo['uw_id']))->save(array('course_id'=>$courseId));
- //M('UserWords')->where(array('course_id'=>$oldCourseId,'user_id'=>$this->userId))->save(array('course_id'=>$courseId));
- }
- //复制单词
- $this->copyWords($oldCourseId,$courseId,$wordsId);
- }else{
- $userWordsInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('uw_id')->find();
- if ($userWordsInfo==NULL){
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- $saveCourseWordsInfo = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'user_part'=>$userPart,
- 'part_num'=>$partNum,
- 'operate_dt'=>time(),
- );
- M('UserWords')->add($saveCourseWordsInfo);
- }
- M('Words')->where(array('words_id'=>array('IN',$wordsId)))->delete();
- }
- $wordsIdArr = explode(',', $wordsId);
- $num = count($wordsIdArr);
- M('Course')->where(array('course_id'=>$courseId))->setDec('course_num',$num);
- $wordsSortInfo = M('WordsSort')->where(array('course_id'=>$oldCourseInfo['course_id'],'user_id'=>$this->userId))->field('sort_id,word_ids')->find();
- if ($wordsSortInfo != NULL){
- $wordsSortIdArr = explode(',', $wordsSortInfo['word_ids']);
- $wordsSortInfo['word_ids'] = array_shift($wordsSortIdArr,$wordsIdArr);
- M('WordsSort')->where(array('sort_id'=>$wordsSortInfo['sort_id']))->save(array('word_ids'=>$wordsSortInfo['word_ids']));
- }
- //重新计算章节信息
- $userWordsInfo = M('UserWords')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->field('uw_id')->find();
- $userInfo = M('User')->where(array('user_id'=>$this->userId))->field('user_part')->find();
- $courseInfo = M('Course')->where(array('course_id'=>$courseId,'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source')->find();
- if ($userInfo==NULL || empty($userInfo['user_part'])){
- $userPart = 15;
- $partNum =ceil($courseInfo['course_num']/15);
- }else{
- $userPart = $userInfo['user_part'];
- $partNum =ceil($courseInfo['course_num']/$userInfo['user_part']);
- }
- M('UserWords')->where(array('uw_id'=>$userWordsInfo['uw_id']))->save(array('part_num'=>$partNum));
- $join = 'uw LEFT JOIN t_course c ON uw.course_id=c.course_id';
- $resUserWords = M('UserWords')->join($join)->where(array('c.course_id'=>$courseId,'uw.user_id'=>$this->userId,))->field('uw.course_id,uw.user_id,course_join,course_num,course_name,uw_id,uw.user_part,uw.part_num')->find();
- $data = array('code'=>0,'msg'=>'单词删除成功','data'=>$resUserWords);
- $this->returnData($data);exit;
- /*$data = array('code'=>0,'msg'=>'单词删除成功','data'=>'');
- $this->returnData($data);exit;*/
- }
-
- //添加单词笔记
- public function notepad(){
- $wordsId = I('words_id');
- $courseId = I('course_id');
- $wnContent = I('wn_content');
- if(empty($wordsId)){
- $data = array('code'=>1,'msg'=>'单词ID错误');
- $this->returnData($data);exit;
- }
- if(empty($courseId)){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- if (mb_strlen($wnContent,'UTF8')<2 || mb_strlen($wnContent,'UTF8')>300){
- $data = array('code'=>1,'msg'=>'单词笔记2到300个汉字');
- $this->returnData($data);exit;
- }
- $res = M('WordsNotepad')->where(array('words_id'=>$wordsId,'user_id'=>$this->userId))->field('wn_id')->find();
- if ($res==NULL){
- $saveData = array('user_id'=>$this->userId,'words_id'=>$wordsId,'course_id'=>$courseId,'wn_content'=>$wnContent,'operate_dt'=>time());
- $wnId = M('WordsNotepad')->add($saveData);
- $msg = '单词笔记添加成功';
- }else{
- $wnId = $res['wn_id'];
- M('WordsNotepad')->where(array('wn_id'=>$wnId))->save(array('wn_content'=>$wnContent));
- $msg = '单词笔记修改成功';
- }
- $info = M('WordsNotepad')->where(array('wn_id'=>$wnId))->field('user_id,words_id,course_id,wn_content')->find();
- $data = array('code'=>0,'msg'=>$msg,'data'=>$info);
- $this->returnData($data);exit;
- }
-
- //添加错误单词到易错单词课程中
- private function addErrorWords($wordsId){
- $wordsId = rtrim(I('words_id'),',');
- if (empty($wordsId)){
- return false;
- }
- $courseInfo = M('Course')->where(array('user_id'=>$this->userId,'course_name'=>'易错单词','course_flag'=>1))->field('course_id,course_name')->find();
- if ($courseInfo==NULL){
- $courseId = M('Course')->add(array('course_type'=>0,'course_name'=>'易错单词','course_source'=>2,'user_id'=>$this->userId,'operate_dt'=>time()));
- }else if($courseInfo['course_name']=='易错单词'){
- return false;
- }else{
- $courseId = $courseInfo['course_id'];
- }
- $wordsList = M('Words')->where(array('words_id'=>array('IN',$wordsId),'is_delete'=>1))->order('words_id asc')->select();
- //var_dump($wordsList);exit;
- foreach ($wordsList as $words){
- unset($words['words_id']);
- $words['course_id'] = $courseId;
- $words['words_source'] = 2;
- //$words['operate_dt'] = time();
- $words['operate_dt'] = strtotime(date('Y-m-d'));
- M('Words')->add($words);
- }
- return false;
- }
-
- //测试模式上报
- public function test(){
- $testType = I('test_type');
- $wordsId = rtrim(I('words_id'),',');
- //$wordsTotal = I('words_total');
- $wordsError = rtrim(I('words_error'),',');
- //$wordsSuccess = rtrim(I('words_success'));
- //$testNum = I('test_num');
- //$testScore = I('test_score');
- if (!in_array($testType, array(1,2,3,4,5,6))){
- $data = array('code'=>1,'msg'=>'测试模式错误');
- $this->returnData($data);exit;
- }
- if (empty($wordsId)){
- $data = array('code'=>1,'msg'=>'测试单词id错误');
- $this->returnData($data);exit;
- }
-
- $wordsTotal = substr_count($wordsId,',')+1;
- if (empty($wordsError)){
- $wordsErrLen = 0;
- }else{
- $wordsErrLen = substr_count($wordsError,',')+1;
- }
- $wordsSucLen = $wordsTotal-$wordsErrLen;
- $score = round($wordsSucLen/$wordsTotal*100);
- $wordsIdArr = explode(',', $wordsId);
- $wordsErrorArr = explode(',', $wordsError);
- $wordsSuccess = implode(',', array_diff($wordsIdArr, $wordsErrorArr));
- //var_dump($wordsId,$wordsError,$wordsSuccess,$wordsSucLen,$wordsTotal);exit;
- $saveData = array(
- 'user_id'=>$this->userId,'test_type'=>$testType,'words_ids'=>$wordsId,
- 'words_total'=>$wordsTotal,'words_error'=>$wordsError,'words_success'=>$wordsSuccess,
- 'test_num'=>$wordsTotal,'test_score'=>$score,'operate_dt'=>time(),
- );
- M('Test')->add($saveData);
- $this->addErrorWords($wordsError);
-
- $data = array('code'=>0,'msg'=>'单词测试上报成功','data'=>array('score'=>$score));
- $this->returnData($data);exit;
- }
-
- //获取单词信息接口
- public function dict(){
- $wordsName = I('words_name','');
- if (empty($wordsName)){
- $data = array('code'=>1,'msg'=>'单词不能为空');
- $this->returnData($data);exit;
- }
- $wordsKeys = array('n'=>'words_n','pron'=>'words_pron','adj'=>'words_adj','num'=>'words_num','v'=>'words_v','adv'=>'words_adv','art'=>'words_art','prep'=>'words_prep','conj'=>'words_conj','int'=>'words_int','vt'=>'words_vt','vi'=>'words_vi',);
- $httpCurl = new \Org\Net\HttpCurl();
- $url = C('TRANS').'&w='.$wordsName;
- $res = $httpCurl->get($url,'xml');
- $res = json_decode(json_encode(simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
- /* $url = C('TRANS').'&type=json&w='.$wordsName;
- $res = $httpCurl->get($url); */
- if (!isset($res['key'])){
- $data = array('code'=>1,'msg'=>'单词翻译出错');
- echo json_encode($data);
- }
- $saveData = array();
- if (isset($res['ps'])){
- if (is_array($res['ps'])){
- for ($i=0;$i<count($res['ps']);$i++){
- $j = $i+1;
- $saveData['words_read'.$j] = $res['ps'][$i];
- $saveData['words_voice'.$j] = $res['pron'][$i];
- }
- }else{
- $saveData['words_read1'] = $res['ps'];
- $saveData['words_voice1'] = $res['pron'];
- }
- }else{
- $saveData['words_read1'] = '';
- $saveData['words_voice1'] = '';
- }
- if (isset($res['pos'])){
- if (is_array($res['pos'])){
- foreach ($res['pos'] as $k=>$v){
- if (isset($wordsKeys[str_replace('.', '', $v)])){
- $saveData[$wordsKeys[str_replace('.', '', $v)]] = trim($res['acceptation'][$k]);
- }
- }
- }else{
- if (isset($wordsKeys[str_replace('.', '', $res['pos'])])){
- $saveData[$wordsKeys[str_replace('.', '', $res['pos'])]] = trim($res['acceptation']);
- }else{
- $saveData['words_other'] = trim($res['acceptation']);
- }
- }
- }
- if (isset($res['sent'])){
- for ($i=0;$i<count($res['sent']);$i++){
- $j = $i+1;
- if ($j>3){
- continue;
- }
- $saveData['jz_en'.$j] = trim($res['sent'][$i]['orig']);
- $saveData['jz_cn'.$j] = trim($res['sent'][$i]['trans']);
- }
- }
- $data = array('code'=>0,'msg'=>'','data'=>$saveData);
- $this->returnData($data);exit;
- }
-
- //删除单词笔记
- public function delNote(){
- $wordsId = I('words_id','');
- if (empty($wordsId)){
- $data = array('code'=>1,'msg'=>'单词ID出错');
- echo json_encode($data);
- }
- M('WordsNotepad')->where(array('words_id'=>$wordsId,'user_id'=>$this->userId))->delete();
- $data = array('code'=>0,'msg'=>'删除成功','data'=>'');
- $this->returnData($data);exit;
- }
-
- //单词乱序
- public function sort(){
- $courseId = I('course_id');
- if (empty($courseId) || $courseId<1000000){
- $data = array('code'=>1,'msg'=>'课程ID错误');
- $this->returnData($data);exit;
- }
- //1:乱序,0:取消乱序
- $type = I('type',1);
- if (!in_array($type, array(0,1))){
- $data = array('code'=>0,'msg'=>'类型错误');
- $this->returnData($data);exit;
- }
- $info = M('WordsSort')->where(array('course_id'=>$courseId,'user_id'=>$this->userId))->find();
- if ($type==1){
- if ($info!=NULL){
- if ($info['sort_status']==2){
- M('WordsSort')->where(array('sort_id'=>$info['sort_id']))->save(array('sort_status'=>1));
- }
- $data = array('code'=>0,'msg'=>'设置乱序成功');
- echo json_encode($data);
- }else{
- $wordsInfo = M('Words')->where(array('course_id'=>$courseId))->order('RAND()')->field('words_id')->select();
- if (function_exists('array_column')){
- $wordsIdArr = array_column($wordsInfo, 'words_id');
- }else{
- foreach ($wordsInfo as $row){
- $wordsIdArr[] = $row['words_id'];
- }
- }
- $saveData = array(
- 'user_id'=>$this->userId,
- 'course_id'=>$courseId,
- 'word_ids'=>implode(',', $wordsIdArr),
- 'operate_dt'=>time(),
- );
- M('WordsSort')->add($saveData);
- $data = array('code'=>0,'msg'=>'设置乱序成功');
- echo json_encode($data);
- }
- }else if($type==0){
- if ($info==NULL){
- $data = array('code'=>0,'msg'=>'设置默认排序成功');
- $this->returnData($data);exit;
- }else{
- M('WordsSort')->where(array('sort_id'=>$info['sort_id']))->save(array('sort_status'=>2));
- $data = array('code'=>0,'msg'=>'设置默认排序成功');
- $this->returnData($data);exit;
- }
- }
- }
-
- //添加重点单词课程
- public function addImportantWords(){
- $wordsId = rtrim(I('words_id'),',');
- if (empty($wordsId)){
- return false;
- }
- $courseInfo = M('Course')->where(array('user_id'=>$this->userId,'course_name'=>'重点单词','course_flag'=>1))->field('course_id')->find();
- if ($courseInfo==NULL){
- $courseId = M('Course')->add(array('course_type'=>0,'course_name'=>'重点单词','course_source'=>2,'user_id'=>$this->userId,'operate_dt'=>time()));
- }else{
- $courseId = $courseInfo['course_id'];
- }
- $wordsList = M('Words')->where(array('words_id'=>array('IN',$wordsId),'is_delete'=>1))->order('words_id asc')->select();
- foreach ($wordsList as $words){
- $wordsInfo = M('Words')->where(array('words_name'=>$words['words_name'],'course_id'=>$courseId))->field('words_id')->find();
- if ($wordsInfo){
- continue;
- }
- unset($words['words_id']);
- $words['course_id'] = $courseId;
- $words['words_source'] = 2;
- $words['operate_dt'] = strtotime(date('Y-m-d'));
- M('Words')->add($words);
- M('Course')->where(array('course_id'=>$courseId))->setInc('course_num');
- }
- $data = array('code'=>0,'msg'=>'添加成功');
- $this->returnData($data);exit;
- }
- //获得单词审核信息
- public function check_info(){
- $words_id = I('words_id','0');
- $course_id = I('course_id','0');
- $wc_id = I('wc_id','0');
- if($wc_id||($words_id&&$course_id)){
-
- }else{
- return;
- }
- $where=array();
- if($wc_id){
- $where['wc_id']=$wc_id;
- }else{
- $where['course_id']=$course_id;
- $where['words_id']=$words_id;
- }
- $checkinfo = M('words_check')->where($where)->field('*')->select();
- if ($checkinfo==NULL){
- $data = array('code'=>1,'msg'=>'获取信息错误');
- $this->returnData($data);exit;
- }
-
-
-
- $data = array('code'=>0,'msg'=>'信息获取成功','data'=>$checkinfo);
- $this->returnData($data);exit;
- }
-
- //审核数量
- public function check_num(){
- $words_id = I('words_id','0');
- $course_id = I('course_id','0');
-
- if($words_id&&$course_id){
-
- }else{
- return;
- }
- $where=array();
-
- $where['course_id']=$course_id;
- $where['words_id']=$words_id;
- $where['wc']=$words_id;
- $checkinfo = M('words_check')->where("course_id=".$course_id." and words_id=".$words_id." and wc_status=0")->field('count(*) as num')->find();
- if ($checkinfo==NULL){
- $data = array('code'=>1,'msg'=>'获取信息错误');
- $this->returnData($data);exit;
- }
-
- $data = array('code'=>0,'msg'=>'信息获取成功','data'=>$checkinfo);
- $this->returnData($data);exit;
- }
- //审核信息
- public function check_done(){
- $wc_id = I('wc_id','0');
- $wc_status = I('wc_status','0');
- $wc_content = I('wc_content','');
-
- if(!$wc_id||!$wc_status){
- $data = array('code'=>1,'msg'=>'传参错误');
- $this->returnData($data);exit;
- }
- $checkinfo = M('words_check')->where(array('wc_id'=>$wc_id))->field('*')->find();
- if ($checkinfo==NULL){
- $data = array('code'=>1,'msg'=>'获取信息错误');
- $this->returnData($data);exit;
- }
- M('words_check')->where(array('wc_id'=>$wc_id))->save(array('wc_status'=>$wc_status,'wc_content'=>$wc_content));
- $saveData=json_decode($checkinfo['wc_json'],1);
- $courseInfo = M('Course')->where(array('course_id'=>$checkinfo['course_id'],'is_delete'=>1))->field('course_id,user_id,course_name,course_num,course_status,course_source')->find();
-
- if($wc_status==1){
- if($checkinfo['words_id']){
- M('Words')->where(array('words_id'=>$checkinfo['words_id']))->save($saveData);
- }
- $Content="亲爱的小主,您提交的关于课程《".$courseInfo['course_name']."》的修改,作者已同意修改,并已更新课程内容";
- $temp=array();
- $temp['wc_id']=$checkinfo['wc_id'];
- M('Notice')->add(array('ref_user_id'=>$checkinfo['user_id'],'user_id'=>$this->userId,'notice_flag'=>6,'notice_status'=>1,'notice_type'=>0,'notice_title'=>'课程修改审核通过','notice_content'=>$Content,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$checkinfo['user_id']))->setInc('sys_notice');
- $data = json_encode(array('type'=>0,'msg'=>$Content,'data'=>array('title'=>"课程修改审核通过",'wc_id'=>$checkinfo['wc_id'],'course_id'=>$saveData['course_id'],'words_id'=>$saveData['words_id'],'content'=>$Content)));
- $this->umengPush($checkinfo['user_id'], $data);
- }else{
- $Content="亲爱的小主,您提交的关于课程《".$courseInfo['course_name']."》的修改,作者拒绝修改,拒绝原因:".$wc_content;
- $temp=array();
- $temp['wc_id']=$checkinfo['wc_id'];
- M('Notice')->add(array('ref_user_id'=>$checkinfo['user_id'],'user_id'=>$this->userId,'notice_flag'=>7,'notice_status'=>1,'notice_type'=>0,'notice_title'=>'课程修改审核不通过','notice_content'=>$Content,'operate_dt'=>time(),'extra'=>json_encode($temp)));
- M('User')->where(array('user_id'=>$checkinfo['user_id']))->setInc('sys_notice');
- $data = json_encode(array('type'=>0,'msg'=>$Content,'data'=>array('title'=>"课程修改审核不通过",'wc_id'=>$checkinfo['wc_id'],'course_id'=>$saveData['course_id'],'words_id'=>$saveData['words_id'],'content'=>$Content)));
- $this->umengPush($checkinfo['user_id'], $data);
- }
-
- $data = array('code'=>0,'msg'=>'审核成功','data'=>array());
- $this->returnData($data);exit;
- }
- //获得单词审核信息
- public function words_info(){
- $words_id = I('words_id','0');
- $course_id = I('course_id','0');
-
- if(($words_id&&$course_id)){
-
- }else{
- return;
- }
- $where=array();
- $where['course_id']=$course_id;
- $where['words_id']=$words_id;
-
- $checkinfo = M('Words')->where($where)->field('*')->select();
- if ($checkinfo==NULL){
- $data = array('code'=>1,'msg'=>'获取信息错误');
- $this->returnData($data);exit;
- }
-
-
-
- $data = array('code'=>0,'msg'=>'信息获取成功','data'=>$checkinfo);
- $this->returnData($data);exit;
- }
- }
|