织梦DedeCMS问答ask匿名提问回答的实现方法
dedecms5.3ask问答系统实现匿名提问和匿名回答问题的方法。
先说一下实现后的效果,首先这个修改后是一个精简版的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;
- }
复制代码
|
|