select_all('member', $where, $field); return $members; } /** * @desc 获取问答管理列表 * @Desc 查训 question 表数据 ,多条数据查询 * @param $whereData :查询条件 * @param $data :自定义处理数组 * @return array|bool|false|string|void */ public function getList($whereData,$data=array()) { $select = $data['field'] ? $data['field'] : '*'; $List = $this -> select_all('question', $whereData, $select); if(is_array($List) && $List ){ if (isset($data['utype']) && $data['utype']=='admin') { $qids = array(); foreach ($List as $v) { $qids[] = $v['id']; $uids[] = $v['uid']; //作者id $cids[] = $v['cid']; //类别id } $awhere = array('qid'=>array('in', pylode(',', $qids)),'groupby'=>'qid'); if($data['utype']!='admin'){ $awhere['status'] = 1; } $alist = $this->select_all('answer',$awhere,'qid,count(*) as num'); $memberList = $this->select_all('member',array('uid'=>array('in',pylode(',',$uids)))); $qclassList = $this->getQclassList(array('id'=>array('in',pylode(',',$cids)))); foreach($List as $key => $val){ $List[$key]['answer_num'] = 0; if(!empty($alist)){ foreach($alist as $av){ if($av['qid'] == $val['id']){ $List[$key]['answer_num'] = $av['num']; // 参会企业 } } } $List[$key]['pic']=checkpic($val['pic'],$this->config['sy_friend_icon']); foreach($memberList as $v){ if($val['uid'] == $v['uid']){ $List[$key]['username'] = $v['username']; } } foreach($qclassList as $value){ if($val['cid'] == $value['id']){ $List[$key]['classname'] = $value['name']; } } } } if(isset($data['utype']) && $data['utype'] == 'hot'){ // 推荐达人 $recUser = $recUids = array(); foreach ($List as $k => $v){ $v['pic'] = checkpic($v['pic'], $this->config['sy_friend_icon']); if(!in_array($v['uid'], $recUids)){ $recUids[] = $v['uid']; $recUser[] = $v; } } $List['recUser'] = $recUser; } return $List; } } /** * @desc 获取问答详情;查询 question 单条记录查询 * @param $id * @param array $data * @return array|bool|false|string|void */ public function getInfo($id, $data = array()) { if (!empty($id)) { $where['id'] = intval($id); } elseif ($data['where']) { $where = $data['where']; } $select = $data['field'] ? $data['field'] : '*'; $question = $this->select_once('question', $where, $select); if ($question && is_array($question)) { $question['pic'] = checkpic($question['pic'], $this->config['sy_friend_icon']); } return $question; } /** * @desc 修改问答详情;修改question表数据 * @param $whereData * @param array $data * @return bool */ public function upAskInfo($whereData, $data = array()) { if (!empty($whereData)) { $PostData = array( 'title' => $data['title'], 'cid' => $data['cid'], 'visit' => $data['visit'], 'is_recom' => $data['is_recom'], 'content' => $data['content'], 'ip' => fun_ip_get() ); $result = $this->update_once('question', $PostData, array('id' => $whereData['id'])); return $result; }else{ return false; } } /** * @desc 修改问答审核状态 * @param $id * @param array $data * @return bool */ public function upStatusInfo($id,$where='', $data = array()) { if (!empty($id)) { if (is_array($id)) { $where['id'] = array('in', pylode(',', $id)); } else { $where['id'] = intval($id); } $result = $this->update_once('question', $data, $where); return $result; }else{ return false; } } public function upRecommend($whereData, $data = array()) { if (!empty($whereData)) { $result = $this->update_once('question', $data, $whereData); return $result; }else{ return false; } } /** * @desc 发布问答 * @param array $data * @return mixed */ public function addAskInfo($data = array()) { $return = array(); if (!empty($data)) { if ($data['title'] == "") { $return['msg'] = "标题不能为空!"; $return['errcode'] = 8; return $return; } include_once('notice.model.php'); $noticeM = new notice_model($this->db, $this->def); $result = $noticeM->jycheck($_POST['authcode'], '职场提问'); if (!empty($result)) { $return['errcode'] = 8; $return['msg'] = $result['msg'] ? $result['msg'] : ''; if ($result['error'] == 107) { $return['waperrcode'] = 4; } else { $return['waperrcode'] = 0; } return $return; } //判断每日最多发布问答数配置项,判断当日已发布问答数 if (isset($this->config['sy_day_ask_num']) && (int)$this->config['sy_day_ask_num'] > 0) { $dayWhere = array( 'uid' => $data['uid'], 'PHPYUNBTWSTART_A' => '', 'add_time' => array( 0 => array('>=', strtotime(date('Y-m-d')), ''), 1 => array('<', time(), '') ), 'PHPYUNBTWEND_A' => '', ); $dayAskNum = $this->getQuestionNum($dayWhere); if ($dayAskNum >= $this->config['sy_day_ask_num']) { $return['msg'] = "您今天已发布" . $dayAskNum . "个问答了,请明日再发!"; $return['errcode'] = 8; return $return; } } if (isset($this->config['sy_ip_ask_num']) && (int)$this->config['sy_ip_ask_num'] > 0) { $ip = fun_ip_get(); $ipWhere = array( 'PHPYUNBTWSTART_A' => '', 'ip' => array( 0 => array('<>', '', ''), 1 => array('=', $ip, '') ), 'PHPYUNBTWEND_A' => '', 'PHPYUNBTWSTART_B' => '', 'add_time' => array( 0 => array('>=', strtotime(date('Y-m-d')), ''), 1 => array('<', time(), '') ), 'PHPYUNBTWEND_B' => '', ); $dayIpAskNum = $this->getQuestionNum($ipWhere); if ($dayIpAskNum >= $this->config['sy_ip_ask_num']) { $return['msg'] = "今日已发布".$dayIpAskNum."个问答了,请明日再发!"; $return['errcode'] = 8; return $return; } } $auto = true; if ($data['usertype'] && $data['uid']) { include_once('userinfo.model.php'); $userInfoM = new userinfo_model($this->db, $this->def); $mInfo = $userInfoM->getUserInfo(array("uid" => $data['uid']), array("usertype" => $data['usertype'])); $addData['nickname'] = trim($data['username']); if ($data['usertype'] == 2 || $data['usertype'] == 4) { $addData['nickname'] = $mInfo['name']; $addData['pic'] = $mInfo['logo']; } elseif ($data['usertype'] == 1 || $data['usertype'] == 5) { $addData['nickname'] = $mInfo['name']; $addData['pic'] = $mInfo['photo']; } elseif ($data['usertype'] == 3) { $addData['nickname'] = $mInfo['realname']; $addData['pic'] = $mInfo['photo']; } } $addData['title'] = $data['title']; $addData['cid'] = $data['cid']; $addData['content'] = str_replace(array("&", "background-color:#ffffff", "background-color:#fff", "white-space:nowrap;"), array("&", '', '', ''), $data["content"]); $addData['content'] = strip_tags(trim($addData['content']), "


"); $addData['uid'] = $data['uid']; $addData['add_time']= time(); $addData['ip'] = fun_ip_get(); //后台开启问答审核,则默认为未审核;关闭审核,则默认为审核通过 $addData['state'] = $this->config['ask_check'] == 1 ? 0 : 1; //审核未通过的企业用户,发布问答为“未审核”状态 if ($addData['state'] != 0 && $data['usertype'] == 2) { $member = $this->select_once('member', array('uid' => $data['uid']), '`status`'); if ($member['status'] != 1) { $addData['state'] = 0; } } $return['id'] = $this->insert_into('question', $addData); if ($return['id']) { include_once('integral.model.php'); $integralM = new integral_model($this->db, $this->def); $result = $integralM->max_time('发布问题', $data['uid'], $data['usertype']); if ($result == true || $auto == false) { $integralM->company_invtal($data['uid'], $data['usertype'], $this->config['integral_question'], $auto, "发布问题", true, 2, 'integral'); } include_once('friend.model.php'); $this->addMemberLog($data['uid'], $data['usertype'], "发布了问答《" . $data['title'] . "》", 19, 1); unset($_SESSION['authcode']); if ($data['state'] == 0) { require_once('admin.model.php'); $adminM = new admin_model($this->db, $this->def); $adminM->sendAdminMsg(array('first' => '有新的问答需要审核,用户《' . $data['username'] . "》发布了问答《" . $data['title'] . "》", 'type' => 11)); $return['msg'] = "已发布,正在审核中!"; $return['errcode'] = 9; } else { $return['msg'] = "发布成功!"; $return['errcode'] = 9; } } else { $return['msg'] = "提问失败!"; $return['errcode'] = 8; } } return $return; } /** * @desc 查询问答类别表 * @param array $where * @param array $data * @return array|bool|false|string|void */ public function getQclassList($where = array(), $data = array()) { $select = $data['field'] ? $data['field'] : '*'; $q_class = $this->select_all('q_class', $where, $select); return $q_class; } /** * @desc 获取问答类别详情 */ public function getQclassInfo($id, $data = array()) { if (!empty($id)) { $select = $data['field'] ? $data['field'] : '*'; $QclassInfo = $this->select_once('q_class', array('id' => intval($id)), $select); if ($QclassInfo['pic']) { $QclassInfo['pic'] = checkpic($QclassInfo['pic']); } } return $QclassInfo; } /** * @desc 修改问答类别 * @param $whereData * @param array $data * @return bool */ public function upQclassInfo($whereData,$data = array()) { if(!empty($whereData)) { $PostData = array( 'name' => $data['name'], 'pid' => $data['pid'], 'sort' => $data['sort'], 'intro' => $data['intro'], 'content' => $data['content'], ); if($data['pic']){ $PostData['pic'] = $data['pic']; } if ($data && is_array($data)){ $nid = $this -> update_once('q_class', $PostData, array('id'=>$whereData['id'])); } } return $nid; } /** * @desc 添加问答类别 * @param array $data * @return bool */ public function addQclassInfo($data = array()) { $PostData = array( 'name' => $data['name'], 'pid' => $data['pid'], 'sort' => $data['sort'], 'intro' => $data['intro'], 'content' => $data['content'], ); if ($data['pic']) { $PostData['pic'] = $data['pic']; } if ($data && is_array($data)) { $nid = $this->insert_into('q_class', $PostData); } return $nid; } /** * @desc 查询问答话题 */ public function getAnswersList($where = array(), $data=array()){ $field = empty($data['field']) ? '*' : $data['field']; $answers = $this -> select_all('answer', $where, $field); if(is_array($answers) && $answers ){ $aids = array(); foreach($answers as $v){ $aids[] = $v['id']; $a_uid[] = $v['uid']; $qid[] = $v['qid']; } $arwhere = array('aid'=>array('in', pylode(',', $aids)),'groupby'=>'aid'); if($data['utype']!='admin'){ $arwhere['status'] = 1; } $arlist = $this->select_all('answer_review',$arwhere,'aid,count(*) as num'); $awhere['uid'] = array('in',pylode(',',$a_uid)); $member = $this -> select_all('member',$awhere); $resume = $this -> select_all('resume',$awhere,'`uid`,`photo`'); $company = $this -> select_all('company',$awhere,'`uid`,`logo`'); $ltinfo = $this -> select_all('lt_info',$awhere,'`uid`,`photo`'); $question = $this -> getList(array('id'=>array('in',pylode(',',$qid))),array('field'=>'`id` as `qid`, `title`')); foreach($answers as $key => $val){ $answers[$key]['comment'] = 0; if(!empty($arlist)){ foreach($arlist as $arv){ if($arv['aid']==$val['id']){ $answers[$key]['comment'] = $arv['num']; } } } if(strlen($val['nickname'])>10){ $answers[$key]['nickname'] = mb_substr($val['nickname'],0,10,'utf-8').'...'; } foreach($member as $v){ if($val['uid'] == $v['uid']){ $answers[$key]['username'] = $v['username']; if(!$val['nickname']){ $answers[$key]['nickname'] = $v['username']; } } } foreach($question as $v){ if($val['qid']==$v['qid']){ $answers[$key]['title'] = $v['title']; $answers[$key]['qid'] = $v['qid']; } } $answers[$key]['content'] = str_replace("\r\n","
",$val["content"]); if($val['pic']){ $pic=checkpic($val['pic']); }else{ foreach($resume as $va){ if($va['uid']==$val['uid']){ $pic=checkpic($va['photo']); } } foreach($company as $va){ if($va['uid']==$val['uid']){ $pic=checkpic($va['logo']); } } foreach($ltinfo as $va){ if($va['uid']==$val['uid']){ $pic=checkpic($va['photo']); } } } if($pic){ $answers[$key]['pic']=$pic; }else{ $answers[$key]['pic']=checkpic('',$this->config['sy_friend_icon']); } } } return $answers; } /** * @desc 修改回答 */ public function upAnswerInfo($whereData ,$data = array()){ if(!empty($whereData)) { if ($data && is_array($data)){ $nid = $this -> update_once('answer', $data, $whereData); } } return $nid; } /** * @desc 发布回答 */ public function addAnswerInfo($data = array()){ if(!empty($data)) { if($data['content']&&$data['id']){ if($data['utype']=='wap'){ session_cache_limiter('private, must-revalidate'); session_start(); $authcode=md5(strtolower($data['authcode'])); if($authcode!=$_SESSION['authcode'] || empty($_SESSION['authcode'])){ unset($_SESSION['authcode']); $arr['msg'] = "验证码错误!"; return $arr; } } $auto=true; $info = $this -> getInfo($data['id'],array('field'=>'`id`,`uid`,`title`,`content`')); $content = $data["content"]; $content = str_replace(array("&","background-color:#ffffff","background-color:#fff","white-space:nowrap;"),array("&",'','',''),$content); $addData=array(); if($data['usertype']&&$data['uid']){ include_once ('userinfo.model.php'); $userinfoM = new userinfo_model($this->db, $this->def); $minfo = $userinfoM -> getUserInfo(array("uid"=>$data['uid']),array("usertype"=>$data['usertype'])); if($data['usertype']==2||$data['usertype']==4){ $addData['nickname'] = $minfo['name']; $addData['pic'] = $minfo['logo']; }elseif($data['usertype']==1){ $addData['nickname'] = $minfo['name']; $addData['pic'] = $minfo['photo']; }elseif($data['usertype']==3){ $addData['nickname'] = $minfo['realname']; $addData['pic'] = $minfo['photo']; } } $addData['usertype'] = $data['usertype']; $addData['qid'] = $data['id']; $addData['content'] = trim(strip_tags($content)); $addData['uid'] = $data['uid']; $addData['comment'] = 0; $addData['support'] = 0; $addData['oppose'] = 0; $addData['status'] = isset($data['status']) ? $data['status'] : $this->config['answer_check']; $addData['add_time']= time(); $arr['id']=$this -> insert_into('answer', $addData); if($arr['id']){ include_once ('integral.model.php'); $integralM = new integral_model($this->db, $this->def); $result = $integralM->max_time('回答问题',$data['uid'],$data['usertype']); if($result==true||$auto==false){ $integralM->company_invtal($data['uid'],$data['usertype'],$this->config['integral_answer'],$auto,"回答问题",true,2,'integral'); } if($addData['status']=='1'){ $this -> update_once('question',array('answer_num'=>array('+','1'),"lastupdate"=>time()),array('id'=>$info['id'])); } include_once ('friend.model.php'); $this -> addMemberLog($data['uid'],$data['usertype'],"回答了问答《".$info['title']."》",19,1); $arr['msg'] = "回答成功!"; $arr['errcode'] = 9; }else{ $arr['msg'] = "回答失败!"; $arr['errcode'] = 8; } }else{ $arr['msg'] = "非法操作!"; $arr['errcode'] = 8; } return $arr; } } /** * @desc 评论列表 */ public function getCommentsList ($whereData,$data=array()) { $select = $data['field'] ? $data['field'] : '*'; $CommentList = $this -> select_all('answer_review',$whereData,$select); if(is_array($CommentList) && $CommentList ){ foreach($CommentList as $v){ $uids[] = $v['uid']; } $where['uid'] = array('in',pylode(',',$uids)); $memberList = $this -> select_all('member',$where,"`username`,`uid`"); $userList = $this -> select_all('resume',$where,"`photo`,`uid`,`name`"); $comList = $this -> select_all('company',$where,"`logo`,`uid`,`name`"); $ltList = $this -> select_all('lt_info',$where,"`photo`,`uid`,`realname`"); $trainList = $this -> select_all('px_train',$where,"`logo`,`uid`,`name`"); foreach($CommentList as $key => $val){ if($val['usertype']==1){ foreach($memberList as $v){ if($v['uid']==$val['uid']){ $CommentList[$key]['username'] = $v['username']; // $CommentList[$key]['nickname'] = $v['username']; } } foreach($userList as $v){ if($v['uid']==$val['uid']){ $CommentList[$key]['nickname'] = $v['name']; $v['photo']?$CommentList[$key]['pic']=$v['photo']:$CommentList[$key]['pic']=$this->config['sy_friend_icon']; } } } if($val['usertype']==2){ foreach($comList as $v){ if($v['uid']==$val['uid']){ $CommentList[$key]['nickname'] = $v['name']; $v['logo']?$CommentList[$key]['pic']=$v['logo']:$CommentList[$key]['pic']=$this->config['sy_friend_icon']; } } } if($val['usertype']==3){ foreach($ltList as $v){ if($v['uid']==$val['uid']){ $CommentList[$key]['nickname'] = $v['realname']; $v['photo']?$CommentList[$key]['pic']=$v['photo']:$CommentList[$key]['pic']=$this->config['sy_friend_icon']; } } } if($val['usertype']==4){ foreach($trainList as $v){ if($v['uid']==$val['uid']){ $CommentList[$key]['nickname'] = $v['name']; $v['logo']?$CommentList[$key]['pic']=$v['logo']:$CommentList[$key]['pic']=$this->config['sy_friend_icon']; } } } } } return $CommentList; } /** * @desc 评论返回回答列表 */ public function getCommentBackQuestion($id,$data=array()){ if(!empty($id)){ $select = $data['field'] ? $data['field'] : '*'; $QuestionInfo = $this -> select_once('answer', array('id'=>intval($id)), $select); } return $QuestionInfo; } public function statusAnswer($id, $upData = array()) { $ids = @explode(',', trim($id)); $return = array('msg' => '非法操作!', 'errcode' => 8); if (!empty($id)) { $idstr = pylode(',', $ids); $upData = array( 'status' => intval($upData['status']), 'statusbody'=> trim($upData['statusbody']), ); $result = $this -> update_once('answer', $upData, array('id' => array('in', $idstr))); if ($result) { if($upData['status'] == 1 || $upData['status'] == 2){ $msg = array(); $uids = array(); $answers = $this -> select_all('answer',array('id' => array('in', $idstr)),'`id`,`uid`'); foreach ($answers as $v){ $uids[] = $v['uid']; } foreach ($answers as $k => $v){ if ($upData['status'] == 2) { $statusInfo = '您的问答回复审核未通过'; if ($upData['statusbody']) { $statusInfo .= ',原因:'.$upData['statusbody']; } $msg[$v['uid']][] = $statusInfo; }elseif ($upData['status'] == 1){ $msg[$v['uid']][] = '您的问答回复审核通过'; } } //发送系统通知 require_once 'sysmsg.model.php'; $sysmsgM = new sysmsg_model($this->db, $this->def); $sysmsgM -> addInfo(array('uid' => $uids,'usertype'=>2,'content'=>$msg)); } $return['msg'] = '问答回复审核成功!'; $return['errcode'] = 9; }else{ $return['msg'] = '审核回复(ID:'.$idstr.')设置失败'; $return['errcode'] = 8; } }else { $return['msg'] = '请选择需要审核的问答回复!'; $return['errcode'] = 8; } return $return; } public function statusAnswerReview($id, $upData = array()) { $ids = @explode(',', trim($id)); $return = array('msg' => '非法操作!', 'errcode' => 8); if (!empty($id)) { $idstr = pylode(',', $ids); $upData = array( 'status' => intval($upData['status']), 'statusbody'=> trim($upData['statusbody']), ); $result = $this -> update_once('answer_review', $upData, array('id' => array('in', $idstr))); if ($result) { if($upData['status'] == 1 || $upData['status'] == 2){ $msg = array(); $uids = array(); $answers = $this -> select_all('answer_review',array('id' => array('in', $idstr)),'`id`,`uid`'); foreach ($answers as $v){ $uids[] = $v['uid']; } foreach ($answers as $k => $v){ if ($upData['status'] == 2) { $statusInfo = '您的回复评论审核未通过'; if ($upData['statusbody']) { $statusInfo .= ',原因:'.$upData['statusbody']; } $msg[$v['uid']][] = $statusInfo; }elseif ($upData['status'] == 1){ $msg[$v['uid']][] = '您的回复评论审核通过'; } } //发送系统通知 require_once 'sysmsg.model.php'; $sysmsgM = new sysmsg_model($this->db, $this->def); $sysmsgM -> addInfo(array('uid' => $uids,'usertype'=>2,'content'=>$msg)); } $return['msg'] = '回复评论审核成功!'; $return['errcode'] = 9; }else{ $return['msg'] = '审核回复评论(ID:'.$idstr.')设置失败'; $return['errcode'] = 8; } }else { $return['msg'] = '请选择需要审核的回复评论!'; $return['errcode'] = 8; } return $return; } /** * @desc 评论数量 */ public function getAnswersNum($where=array()){ return $this -> select_num('answer', $where); } /** * @desc 获取评论详细信息 */ public function getReviewInfo($id,$data=array()){ if(!empty($id)){ $select = $data['field'] ? $data['field'] : '*'; $ReviewInfo = $this -> select_once('answer_review', array('id'=>intval($id)), $select); } return $ReviewInfo; } /** * @desc 修改评论 */ public function upReview($whereData ,$data = array()){ if(!empty($whereData)) { $PostData = array( 'content' => $data['content'], ); if ($data && is_array($data)){ $nid = $this -> update_once('answer_review', $PostData, array('id'=>$whereData['id'])); } } return $nid; } /** * @desc 发布评论 */ public function addReview($addData = array()){ if(!empty($addData)) { $auto=true; $data['aid'] = (int)$addData['aid']; $data['qid'] = (int)$addData['qid']; $data['content'] = str_replace(array("&","background-color:#ffffff","background-color:#fff","white-space:nowrap;"),array("&",'background-color:','background-color:','white-space:'),$addData['content']); $data['uid'] = $addData['uid']; $data['add_time'] = time(); $data['status'] = isset($addData['status'])?$addData['status']:$this->config['answer_review_check']; $data['usertype'] = $addData['usertype']; $new_id=$this -> insert_into('answer_review', $data); if($new_id){ include_once ('integral.model.php'); $integralM = new integral_model($this->db, $this->def); $result = $integralM -> max_time('评论问答',$addData['uid'],$data['usertype']); if($result==true||$auto==false){ $integralM->company_invtal($data['uid'],$data['usertype'],$this->config['integral_answerpl'],$auto,"评论问答",true,2,'integral'); } $this -> addMemberLog($addData['uid'],$addData['usertype'],"评论问答",19,1); if($data['status']=='1'){ $this -> upAnswerInfo(array('id'=>$addData['aid']),array('comment'=>array('+','1'))); } return '1'; }else{ return '0'; } } } /** * @desc 删除评论 */ public function delReview($delId){ if(empty($delId)){ return array( 'errcode' => 8, 'msg' => '请选择要删除的数据!', ); }else{ if(is_array($delId)){ $delId = pylode(',',$delId); $return['layertype'] = 1; }else{ $return['layertype'] = 0; } $nid = $this -> delete_all('answer_review',array('id' => array('in',$delId)),''); if($nid){ $delNum = count(explode(',', $delId)); $this -> update_once("answer",array('comment'=>array('-', $delNum)),array('id'=>$_GET['aid'])); $return['errcode'] = $nid?'9':'8'; $return['msg'] = $nid ?'问答评论删除成功!' : '问答评论删除失败!'; } } return $return; } /** * @desc 删除试卷 */ public function delquestion($delId,$data = array()){ if($delId){ if($data['utype'] = 'admin'){ $delQuesWhere = array('id' => array('in',$delId)); $delAnWhere = array('qid' => array('in',$delId)); }else{ $delQuesWhere = array('uid'=>$data['uid'],'id' => array('in',$delId)); $delAnWhere = array('uid'=>$data['uid'],'qid' => array('in',$delId)); } $result=$this -> delete_all('question' , $delQuesWhere,''); $this -> delete_all('answer_review' , $delAnWhere,''); $this -> delete_all('answer' , $delAnWhere,''); } return $result; } /** * @desc 删除问答类别 */ public function delQclass($delId){ if(empty($delId)){ return array( 'errcode' => 8, 'msg' => '请选择要删除的数据!', ); }else{ if(is_array($delId)){ $delId = pylode(',',$delId); $return['layertype'] = 1; }else{ $return['layertype'] = 0; } $nid = $this -> delete_all('q_class',array('id' => array('in',$delId)),''); if($nid){ $return['msg'] = '问答分类'; $return['errcode'] = $nid ? '9' :'8'; $return['msg'] = $nid ? $return['msg'].'删除成功!' : $return['msg'].'删除失败!'; } } return $return; } public function delquestiongroups($delId){ if($delId){ $this -> delete_all('question' , array('id' => array('in',$delId)),''); $this -> delete_all('answer' , array('qid' => array('in',$delId)),''); $this -> delete_all('answer_review' , array('qid' => array('in',$delId)),''); } } /** * @desc 删除回答 */ public function delAnswer($where=array(),$delId=''){ if($where){ $result = $this -> delete_all('answer' , $where,''); }else{ $result['layertype'] = 0; if(is_array($delId)){ $delId = pylode(',',$delId); $result['layertype'] = 1; } $result['id'] = $this -> delete_all('answer' , array('id'=>array('in',$delId)),''); $this -> delete_all("answer_review",array('aid'=>array('in',$delId)),''); $result['msg'] = '用户回答(ID:'.$delId.')'; $result['errcode'] = $result['id']?9:8; $result['msg'] = $result['id']?'删除成功!':'删除失败!'; } return $result; } /** * @desc 获取问答数量 * @desc 查询 question 数量 */ public function getQuestionNum($wheredata = array()){ return $this -> select_num('question',$wheredata); } /** * @desc 查询关注信息表单条记录 * */ public function getAtnInfo($whereData = array(), $data = array()){ $select = $data['field'] ? $data['field'] : '*'; $atnInfo = $this -> select_once('attention', $whereData, $select); return $atnInfo; } /** * @desc attention 表数据删除 * @param array $whereData * @return boolean */ function delAttention($whereData = array() ,$data = array()){ if($data['type']=='one'){//单个删除 $limit = 'limit 1'; } if($data['type']=='all'){//多个删除 $limit = ''; } $result = $this -> delete_all('attention', $whereData, $limit); return $result; } /** * @desc 修改attention表数据 * @param array $whereData * @param array $data * @return boolean */ function upAttention( $data = array(), $whereData = array()){ if(!empty($whereData) && !empty($data)){ $nid = $this -> update_once('attention', $data, $whereData); } return $nid; } /** * @desc 添加attention表数据 * @param array $whereData * @param array $data * @return boolean */ function addAttention($data = array()){ if(!empty($data)){ $nid = $this -> insert_into('attention', $data); } return $nid; } function setAttention($data = array()){ $isset = $this->getAtnInfo(array('uid'=>$data['uid'],'type'=>$data['type'])); $ids = @explode(',',$isset['ids']); if($data['type']=='1'){ $info = $this -> getInfo($data['id'],array('field'=>"`id`,`title`,`uid`,`atnnum`")); $gourl = Url('ask',array("c"=>"content","id"=>$info['id'])); $content = "关注了《".$info['title']."》。"; $n_contemt = "取消了对《".$info['title']."》的关注。"; $log = "关注了《".$info['title']."》"; $n_log = "取消了对《".$info['title']."》的关注"; }else{ $info = $this -> getQclassInfo($data['id'],array('field'=>"`id`,`name`,`atnnum`")); $content = "关注了《".$info['name']."》。"; $n_contemt = "取消了《".$info['name']."》。"; $log = "关注了".$info['name']; $n_log = "取消了对".$info['name']."的关注。"; } if($info['uid']==$data['uid']){ $return['msg'] = '不能关注自己发布的问题!'; $return['errcode'] = 8; return $return; }else{ $adata['uid'] = $data['uid']; $adata['type'] = $data['type']; $arr['isadd'] = 1; if($ids[0]==''||$ids[0]=='0'){ $adata['ids']= $data['id']; if(is_array($isset)&&$isset){ $nid = $this -> upAttention($adata,array("id"=>$isset['id'])); }else{ $nid = $this -> addAttention($adata); } $this -> addMemberLog($data['uid'],$data['usertype'],$log,5,1);//会员日志 } else if(in_array($data['id'],$ids)&&$ids[0]){ $nids=array(); foreach($ids as $val){ if($val!=$data['id'] && $val && in_array($val,$nids)==false){ $nids[]=$val; } } $arr['isadd'] = 0; $adata['ids'] = pylode(',',$nids); $nid = $this -> upAttention($adata,array("id"=>$isset['id'])); $this -> addMemberLog($data['uid'],$data['usertype'],$n_log,5,1);//会员日志 }else if(in_array($data['id'],$ids)==false&&$ids[0]>0){ $ids[] = $data['id']; $adata['ids'] = pylode(',',$ids); $nid = $this -> upAttention($adata,array("id"=>$isset['id'])); $this -> addMemberLog($data['uid'],$data['usertype'],$log,5,1);//会员日志 }else if(in_array($data['id'],$ids)==false&&$ids[0]<1){ $nid = $this -> upAttention(array("ids"=>$ids),array("id"=>$isset['id'])); $this -> addMemberLog($data['uid'],$data['usertype'],$log,5,1);//会员日志 } if($nid){ if($data['type']=='1'){ if($arr['isadd']){ $atnnum = $info['atnnum']+1; $this -> upStatusInfo($info['id'], array("atnnum" => $atnnum)); $sql['content'] = $content; }else{ $atnnum = $info['atnnum']-1; $this -> upStatusInfo($info['id'], array("atnnum" => $atnnum)); $sql['content'] = $n_contemt; } } if($data['type']=='2'){ include(LIB_PATH."cache.class.php"); $cacheclass = new cache(PLUS_PATH,$this->obj); $makecache = $cacheclass->ask_cache("ask.cache.php"); } if($atnnum<0){ $atnnum=0; } $return['id'] = $nid; $return['msg'] = '操作成功!'; $return['errcode'] = 9; $return['atnnum'] = $atnnum; $return['isadd'] = $arr['isadd']; return $return; }else{ $return['msg'] = '操作失败!'; $return['errcode'] = 8; return $return; } } } function upSupportInfo($data=array()){ if(!empty($data)){ $cookid = explode(',', $_COOKIE['support']); if(in_array($data['aid'],$cookid)){ echo '2';die; }else{ $id = $this -> upAnswerInfo(array('id'=>$data['aid']),array('support'=>array('+','1'))); if($id){ $this -> addMemberLog($data['uid'],$data['usertype'],"给问题回答点赞",19,1); $sendid = array(); $sendid[] = $data['aid']; if($_COOKIE['support']){ $support= $_COOKIE['support'].','.pylode(',',$sendid); }else{ $support= pylode(',',$sendid); } require_once ('cookie.model.php'); $cookieM = new cookie_model($this->db, $this->def); $cookieM -> SetCookie("support",$support,time() + 86400); echo '1'; }else{ echo '0';die; } } } } /** * @desc 引用log类,添加用户日志 */ private function addMemberLog($uid,$usertype,$content,$opera='',$type='') { require_once ('log.model.php'); $LogM = new log_model($this->db, $this->def); return $LogM -> addMemberLog($uid,$usertype,$content,$opera,$type); } } ?>