"is_recom", "name" => '是否推荐', "value" => array("1" => "已推荐", "2" => "未推荐"));
$search_list[] = array ("param" => "status", "name" => '审核状态', "value" => array ("0" => "未审核", "1" => "已审核", "2" => "未通过"));
$ad_time = array ('1' => '今天', '3' => '最近三天', '7' => '最近七天', '15' => '最近半月', '30' => '最近一个月');
$search_list[] = array("param" => "end", "name" => '提问时间', "value" => $ad_time);
$this -> yunset("search_list",$search_list);
}
function index_action(){
$this -> set_search();
$AskM = $this -> MODEL('ask');
if($_GET['id']){//举报页传递参数
$where['id'] = $_GET['id'];
$urlarr['id'] = $_GET['id'];
}
if($_GET['is_recom']){
if($_GET['is_recom'] == 2){
$where['is_recom'] = 0;
}elseif($_GET['is_recom'] ==1 ){
$where['is_recom'] = 1;
}
$urlarr['is_recom'] = $_GET['is_recom'];
}
if($_GET['status']>-1){
$where['state'] = $_GET['status'];
$urlarr['status'] = $_GET['status'];
}
if($_GET['end']){
if($_GET['end']==1){
$where['add_time'] = array('>=',strtotime(date("Y-m-d 00:00:00")));
}else{
$where['add_time'] = array('>=',strtotime('-'.(int)$_GET['end'].'day'));
}
$urlarr['end'] = $_GET['end'];
}
if(trim($_GET['keyword'])){
if ($_GET['type']=='1'){
$where['title'] = array('like',trim($_GET['keyword']));
}elseif($_GET['type'] == "2"){
$userinfoM=$this->MODEL('userinfo');
$members = $userinfoM -> getList(array('username'=>array('like',trim($_GET['keyword']))),array('field'=>'uid'));
if($members){
foreach($members as $v){
$uids[] = $v['uid'];
}
$where['uid'] = array('in',pylode(',', $uids));
}
}
$urlarr["keyword"] = $_GET["keyword"];
$urlarr["type"] = $_GET["type"];
}
$urlarr = $_GET;
$urlarr['page']="{{page}}";
$pageurl=Url($_GET['m'],$urlarr,'admin');
$pageM = $this -> MODEL('page');
$pages = $pageM -> pageList('question',$where,$pageurl,$_GET['page']);
if($pages['total'] > 0){
if($_GET['order']){
$where['orderby'] = $_GET['t'].','.$_GET['order'];
$urlarr['order'] = $_GET['order'];
$urlarr['t'] = $_GET['t'];
}else{
$where['orderby'] = 'id';
}
$where['limit'] = $pages['limit'];
$question = $AskM -> getList($where, array('utype'=>'admin'));
}
$this -> yunset("get_type", $_GET);
$this -> yunset("question",$question);
$this -> yuntpl(array('admin/admin_question_list'));
}
// 是否推荐
function recommend_action(){
$AskM = $this -> Model('ask');
$nid = $AskM -> upRecommend(array('id'=>$_GET['id']),array(''.$_GET['type'].''=>$_GET['rec']));
echo $nid?1:0;die;
}
function add_action(){
$AskM = $this -> Model('ask');
if($_GET['id']){
$id = intval($_GET['id']);
$question_show = $AskM -> getInfo($id);
$this -> yunset("question_show",$question_show);
}
$all_class = $AskM -> getQclassList(array('orderby'=>'sort,desc'),array('field'=>'id,name,pid'));
foreach($all_class as $k=>$v){
if($v['id'] == $question_show['cid']){
$pid = $v['pid'];
$all_class[$k]['is_select'] = '1';
}
if($v['pid'] == '0'){
$p_class[] = $v;
}
}
$this -> yunset("class_list",$p_class);
$this -> yunset("pid",$pid);
$s_class = $AskM -> getQclassList(array('pid'=>$pid,'orderby'=>'sort,desc'),array('field'=>'id,name,pid'));
$this -> yunset("s_class",$s_class);
$this -> yuntpl(array('admin/admin_question_add'));
}
function get_class_action(){
$AskM = $this -> Model('ask');
if($_POST['pid']){
$q_class = $AskM -> getQclassList(array('pid'=>$_POST['pid'],'orderby'=>'sort,desc'),array('field'=>'id,name,pid'));
if($q_class[0]){
$html = '';
foreach($q_class as $v){
$html.= '';
}
echo $html;
}else{
echo $html = "
该分类下暂无子类!
";
}
}
}
function save_action(){
$AskM = $this -> Model('ask');
if($_POST['update']){
$_POST['content'] = str_replace("&","&",$_POST['content']);
$nbid = $AskM -> upAskInfo(array('id'=>intval($_POST['id'])),$_POST);
if($_POST['back_url']){
$url = "index.php?m=report&type=1";
}else{
$url = "index.php?m=admin_question";
}
isset($nbid)?$this->ACT_layer_msg("问答(ID:".$_POST['id'].")更新成功!",9,$url,2,1):$this->ACT_layer_msg("更新失败!",8,$url);
}
}
function del_action(){
$this -> check_token();
if($_GET['del']){
$del = $_GET['del'];
if($del){
$this -> delquestion($del,array('utype'=>'admin'));
$this -> layer_msg( "问答(ID:".pylode(',',$del).")删除成功!",9,1,$_SERVER['HTTP_REFERER']);
}else{
$this -> layer_msg( "请选择您要删除的信息!",8,1,$_SERVER['HTTP_REFERER']);
}
}
if(isset($_GET['id'])){
$this -> delquestion(array($_GET['id']),array('utype'=>'admin'));
$this -> layer_msg('问答(ID:'.$_GET['id'].')删除成功!',9,0,$_SERVER['HTTP_REFERER']);
}else{
$this -> layer_msg('非法操作!',8,0,$_SERVER['HTTP_REFERER']);
}
}
function delquestion($ids = array()){
$AskM = $this -> MODEL('ask');
$id = pylode(',',$ids);
$AskM -> delquestion($id,array('utype'=>'admin'));
}
//获取该提问的所有回答
function getanswer_action(){
$AskM = $this->MODEL('ask');
$id = intval($_GET['id']);
$awhere = array('orderby' => 'add_time,desc' );
if($id){
$ques = $AskM -> getInfo($id);
$this -> yunset("ques",$ques);
$awhere['qid'] = $id;
}
if(isset($_GET['status'])){
$awhere['status'] = $_GET['status'];
}
if($_GET['aid']){
$awhere['id'] = $_GET['aid'];
$all_answer = $AskM -> getAnswersList($awhere,array('utype'=>'admin'));
}else{
$all_answer = $AskM -> getAnswersList($awhere,array('utype'=>'admin'));
}
$this -> yunset("all_answer",$all_answer);
$this -> yunset("qid",$_GET['id']);
$this -> yuntpl(array('admin/admin_answer_list'));
}
// 返回审核原因
function lockinfoAnswer_action(){
$askM = $this -> MODEL('ask');
$info = $askM -> getCommentBackQuestion(intval($_POST['id']), array('field'=>'`statusbody`'));
echo $info['statusbody'];die;
}
/**
* 审核
*/
function statusAnswer_action()
{
$askM = $this->MODEL('ask');
$url = "index.php?m=admin_question&c=getanswer&id=".$_POST['qid'];
$statusData = array(
'status' => intval($_POST['status']),
'statusbody' => trim($_POST['statusbody'])
);
$return = $askM -> statusAnswer($_POST['pid'], $statusData);
$this->ACT_layer_msg($return['msg'], $return['errcode'],$url, 2, 1);
}
//更新 回答
function save_answer_action(){
$AskM=$this->MODEL('ask');
$url = "index.php?m=admin_question&c=getanswer&id=".$_POST['qid'];
if($_POST['update']){
$_POST['content'] = str_replace("&","&",$_POST['content']);
$a_id = $AskM -> upAnswerInfo(array('id'=>intval($_POST['id'])),$_POST);
isset($a_id)?$this->ACT_layer_msg("回答(ID:".$_POST['id'].")更新成功!",9,$url):$this->ACT_layer_msg("更新失败!",8,$url);
}
}
function delanswer_action(){//删除用户回答
$this->check_token();
$AskM = $this->MODEL('ask');
if($_GET['del']){
$a_del=$_GET['del'];
if($a_del){
$result = $AskM -> delAnswer('',$a_del);
$AskM -> upStatusInfo($_GET['qid'],'',array('answer_num'=>array('-',count($a_del))));
$this->layer_msg($result['msg'],$result['errcode'],$result['layertype'],$_SERVER['HTTP_REFERER']);
}else{
$this->layer_msg( "请选择您要删除的信息!",8,1,$_SERVER['HTTP_REFERER']);
}
}
// 删除 回答
if(isset($_GET["id"])){
$result = $AskM -> delAnswer('',$_GET['id']);
$AskM -> upStatusInfo($_GET['qid'],'',array('answer_num'=>array('-','1')));
$this->layer_msg($result['msg'],$result['errcode'],$result['layertype'],$_SERVER['HTTP_REFERER']);
}else{
$this->layer_msg('非法操作!',3,0,$_SERVER['HTTP_REFERER']);
}
}
//获取回答的内容
function contentAnswer_action(){
$askM = $this -> MODEL('ask');
$info = $askM -> getCommentBackQuestion($_POST['id'],array('field'=>'content'));
echo json_encode($info);die;
}
//获得 针对某一提问回答的评论
function getcomment_action(){
$AskM = $this->MODEL('ask');
$cwhere = array('orderby'=>'id,desc');
if($_GET['aid']){
$cwhere['aid'] = intval($_GET['aid']);
}else if($_GET['id']){
$cwhere['id'] = intval($_GET['id']);
}
if(isset($_GET['status'])){
$cwhere['status'] = $_GET['status'];
}
$rows = $AskM -> getCommentsList($cwhere);
$this -> yunset("answer_review",$rows);
if($_GET['id']){
$aid = intval($_GET['id']);
$qid = $AskM -> getCommentBackQuestion($aid);
$this -> yunset("qid",$qid);
}
$this -> yuntpl(array('admin/admin_answer_review'));
}
// 返回审核原因
function lockinfoAnswerReview_action(){
$askM = $this -> MODEL('ask');
$info = $askM -> getReviewInfo(intval($_POST['id']), array('field'=>'`statusbody`'));
echo $info['statusbody'];die;
}
/**
* 审核
*/
function statusAnswerReview_action()
{
$askM = $this->MODEL('ask');
$url = "index.php?m=admin_question&c=getcomment&id=".$_POST['aid'];
$statusData = array(
'status' => intval($_POST['status']),
'statusbody' => trim($_POST['statusbody'])
);
$return = $askM -> statusAnswerReview($_POST['pid'], $statusData);
$this->ACT_layer_msg($return['msg'], $return['errcode'],$url, 2, 1);
}
function save_review_action(){
$AskM = $this -> MODEL('ask');
$url = "index.php?m=admin_question&c=getcomment&id=".$_POST['aid'];
if($_POST['update']){
$r_id = $AskM -> upReview(array('id' => intval($_POST['id'])),$_POST);
isset($r_id)?$this -> ACT_layer_msg("问答评论(ID:".$_POST['id'].")更新成功!",9,$url,2,1):$this->ACT_layer_msg("更新失败!",8,$url);
}
}
//删除针对某回答的评论
function delreview_action(){
$this -> check_token();
$AskM = $this -> MODEL('ask');
$delID = $_GET['id']?intval($_GET['id']):$_GET['del'];
$return = $AskM->delReview($delID);
$this -> layer_msg($return['msg'],$return['errcode'],$return['layertype'],$_SERVER['HTTP_REFERER'],2,1);
}
//修改审核状态
function status_action(){
extract($_POST);
$AskM = $this->MODEL('ask');
$id = @explode(",",$pid);
if(is_array($id)){
$data['state'] = $_POST['status'];
$data['lastupdate'] = time();
$nid = $AskM -> upStatusInfo($id, $where = array(), $data);
$List = $AskM ->getList(array('id'=>array('in',pylode(',',$id))) , array('field'=>'`id`,`uid`,`title`'));
/* 消息前缀 */
$tagName = '问答';
if(!empty($List)){
foreach($List as $v){
$uids[] = $v['uid'];
/* 处理审核信息 */
if ($_POST['status'] == 2){
$statusInfo = $tagName.':'.$v['title'].',审核未通过';
if($_POST['statusbody']){
$statusInfo .= ' , 原因:'.$_POST['statusbody'];
}
$msg[$v['uid']][] = $statusInfo;
}elseif($_POST['status'] == 1){
$msg[$v['uid']][] = $tagName.':'.$v['title'].',已审核通过';
}
}
//发送系统通知
if(!empty($_POST['status'])){
$sysmsgM = $this->MODEL('sysmsg');
$sysmsgM -> addInfo(array('uid'=>$uids,'content'=>$msg));
}
}
$nid?$this -> ACT_layer_msg("问答审核(ID:".$pid.")设置成功!",9,$_SERVER['HTTP_REFERER'],2,1):$this -> ACT_layer_msg("设置失败!",8,$_SERVER['HTTP_REFERER']);
}else{
$this -> ACT_layer_msg("非法操作!",8,$_SERVER['HTTP_REFERER']);
}
}
//问答设置
function config_action(){
$configM = $this->MODEL('config');
if($_POST['config']){
unset($_POST["config"]);
foreach($_POST as $key => $v){
$config = $configM -> getNum(array('name' => $key));
if($config == false){
$configM -> addInfo(array('name' => $key,'config' => $v));
}else{
$configM -> upInfo(array('name' => $key),array('config' => $v));
}
}
$this -> web_config();
$this -> ACT_layer_msg("配置修改成功!",9,1,2,1);
}
$this -> yuntpl(array('admin/admin_question_config'));
}
}
?>