织梦DedeCMS5.7问答模块实现游客匿名提问、问答和查看的方法

织梦DedeCMS5.7问答模块实现游客匿名提问、问答和查看的方法;在新版本中问答模块有很多局限性,我们可以通过自己调整来实现我们所需要的游客匿名提问、问答和查看等功能。

 

1、游客提问:

找到dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码并删除:
if(empty($this->cfg_ml->M_ID))
{
ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']);
exit;
}
if($this->cfg_ml->M_Spacesta < 0)
{
ShowMsg('您还没有通过审核,暂时不能提问,请耐心等....','-1');
exit;
}

2、游客问答,提示“请勿重复回复同一问题”:

同样找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码:
if($rs)
{

ShowMsg('请勿重复回复同一问题!','-1');
exit;
}

if($rs){
            ShowMsg('请不要重复发布同一问题,请耐心等待解答..', "index.php");
      exit;
  }
3、问题已过期、提问者自己不能回答自己的问题

同样找到找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码

if($question)
  {
   if($question['uid'] == $this->cfg_ml->M_ID)
   {
    ShowMsg('提问者自己不能回答自己的问题', '-1');
    exit;
   }else if($question['expiredtime'] < $GLOBALS['cfg_ask_timestamp']){
    ShowMsg('问题已经过期','-1');
    exit;
   }
   $data['tid'] = $question['tid'];
   $data['tid2'] = $question['tid2'];
   $data['userip'] = getip();
  }else{
   ShowMsg('回答的问题不存在','-1');
   exit;
  }

4、“您尚未登录,请先登录”

找到找到并删除dedecms5.7的/ask/control目录下的myask.php文件

  if(empty($this->cfg_ml->M_ID))
  {
   ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']);
   exit;
  }

找到找到并删除dedecms5.7的/ask/control目录下的search.php文件

  if(empty($cfg_ml->M_ID))
  {
   ShowMsg('您尚未登录,请先登录',$GLOBALS['cfg_ask_member']);
   exit;
  }
  if($cfg_ml->M_Spacesta = 0)
  {
   ShowMsg('您还没有通过审核,暂时不能提问,请耐心等....','-1');
   exit;
  }

5、“验证码错误!”“验证问题答案错误”

找到找到并删除dedecms5.7的/ask/control目录下的question.php文件

  if(preg_match("#7#",$GLOBALS['safe_gdopen'])){
      $svali = GetCkVdValue();
            if(strtolower($data['vdcode']) != $svali || $svali=='')
            {
                ResetVdValue();
                ShowMsg('验证码错误!', '-1');
                exit();
            }
        }
        //检查验证问题
        $faqkey = isset($data['faqkey']) && is_numeric($data['faqkey']) ? $data['faqkey'] : 0;
        if($GLOBALS['gdfaq_ask'] == 'Y')
        {
            global $safefaqs;
            if($safefaqs[$faqkey]['answer'] != $data['safeanswer'] || $data['safeanswer'] =='')
            {
                ShowMsg('验证问题答案错误', '-1');
                exit();
            }
        }

 

好了。问题都已经解决了!