DEDE问答(ask)模块游客匿名提问和解答

DEDE问答(ask)模块游客匿名提问和解答

  •  到期时间:
  •  到期时间:
  •  到期时间:
  •  到期时间:
  •  到期时间:
  •  到期时间:
  •  到期时间:
  •  到期时间:
  •  到期时间:
  • 建站学院讯 先说一下实现后的效果,首先这个修改后是一个精简版的Dedecms问答系统,会取消采纳答案等功能,因取消会员功能后不再有答案的等级之分,如对答案的平分功能等将被取消。

    最后不建议使用匿名提问功能,建议使用会员功能来实现问答。这里是给大家提供一个学习的思路!

    下面说一下方法:

    post.PHP文件

    if(empty($uid) && $action != ‘rate’)
      {
      showmsgs(‘no_login’,’../member/login.PHP?gourl=../ask/’);
      exit;
      }

    1,修改成 或注释掉

     if(empty($uid) && $action != ‘rate’)
      {
      if($action!=’ask’ & $action!=”)
      {
      showmsgs(‘no_login’,’../member/login.PHP?gourl=../ask/’);
      exit;
      }
      }

    2,注释掉

    /*if($question[‘uid’] == $uid)
      {
      showmsgs(‘asker_cannot_answer’,’-1′);
      }else*/

    3,然后

     if($answer[‘uid’] != $uid)
      {
      showmsgs(‘unallowed_action’,$backurl);
      }else

    替换成

    if($question[‘uid’] == $uid)
      {
      showmsgs(‘asker_cannot_answer’,’-1′);
      }else

    这样就不能修改答案了,不过这个提示是不会回答自己的问题。

    或者直接注释掉:修改答案部分的PHP代码。

    else if($action == ‘modifyanswer’)
      {
      $answer = $dsql->getone("SELECT answer.id,answer.uid,ask.dateline,ask.solvetime,ask.status,ask.expiredtime FROM `dede_askanswer` answer left join dede_ask ask on ask.id=answer.askid WHERE answer.id=’$id’");
      if($answer)
      {
      if($answer[‘uid’] != $uid)
      {
      showmsgs(‘unallowed_action’,$backurl);
      }elseif($answer[‘status’] != 0)
      {
      showmsgs(‘question_solved’,$backurl);
      }elseif($answer[‘expiredtime’] < $timestamp)
      {
      showmsgs(‘question_expired’,$backurl);
      }
      } else
      {
      showmsgs(‘question_nonexistence’);
      }
      
      if(trim($content) == ”)
      {
      showmsgs(‘post_answer_isnull’);
      }
      if(strlen($content) > 10000)
      {
      showmsgs(‘post_answer_toolong’);
      }
      if(strlen($brief) > 200)
      {
      showmsgs(‘post_brief_toolong’,’-1′);
      }
      if($dsql->ExecuteNoneQuery("update dede_askanswer set content=’$content’,brief=’$brief’ where id=’$id’"))
      {
      showmsgs(‘modifyanswer_success’,$backurl);
      }else
      {
      showmsgs(‘modifyanswer_Failed’,$backurl);
      }
      }
      

    question.PHP
    注释

    if($question[‘uid’] == $uid)
      {
      $publisher = 1;
      }
    分享到 :
    相关推荐

    发表评论

    登录... 后才能评论