dedecms5.7问答模板只允许管理员回答

2013-05-06 08:33 阅读 689 次 评论关闭

一:找到dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码并增加以下代码:

<?php if($cfg_ml->isAdmin == 1) { ?>

<div>
<form method="post" name="answer" action="?ct=question&ac=answer&askaid=<?php echo $question['id']; ?>">
<h3><span>我来回答这个问题</span></h3>
<div><?php GetFck("content","",400);?></div>
<div><span>回答即可得<?php echo $cfg_ask_answerscore;?>分,回答被采纳则获得悬赏分以及奖励<?php echo $cfg_ask_bestanswer;?>分。</span><span><label>
<?php
if($GLOBALS['cfg_ask_guestanswer'] == 'Y')
{
?>
<input name="anonymous" type="checkbox" value="1"/>匿名回答</label><?php
}
?></span><button type="submit">提交回答</button></div>
</form>
</div>

<?php }  ?>

二:允许游客提问
找到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;
}

删除以上一段代码后可进入提问页面,但是依然发布不了,提示:“您尚未登录,请先登录”

三:解决 “您尚未登录,请先登录”
找到找到并删除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;
}

删除以上一部分之后 可进入发布了,可是发不后又提示:“请勿重复回复同一问题”

四:游客问答,提示“请勿重复回复同一问题”:
同样找到并删除dedecms5.7的/ask/control目录下的question.php文件,找到其中的这样一段代码:

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

if($rs){
ShowMsg('请不要重复发布同一问题,请耐心等待解答..', "index.php");
exit;
}

到此,想要实现的功能都已经基本上实现了。最后在附送其他几个问题的解决办法,如果有用到可以参考。

五:问题已过期、提问者自己不能回答自己的问题
同样找到找到并删除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_timesasdp']){
ShowMsg('问题已经过期','-1');
exit;
}
$data['tid'] = $question['tid'];
$data['tid2'] = $question['tid2'];
$data['userip'] = getip();
}else{
ShowMsg('回答的问题不存在','-1');
exit;
}

六:“验证码错误!”“验证问题答案错误”
找到找到并删除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();
}
}

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:dedecms5.7问答模板只允许管理员回答 | 猎微网

评论已关闭!