dedecms實現(xiàn)游客可以提問回答及查看的方法

字號:


    dedecms中有些情況下我們需要給予游客一定的權(quán)限,如提問、回答及查看等,本文就此給出如下解決方法:
    1、游客提問:
    找到dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼并刪除:
    復(fù)制代碼代碼如下:if(empty($this->cfg_ml->M_ID))
    {
    ShowMsg('您尚未登錄,請先登錄',$GLOBALS['cfg_ask_member']);
    exit;
    }
    if($this->cfg_ml->M_Spacesta < 0)
    {
    ShowMsg('您還沒有通過審核,暫時不能提問,請耐心等....','-1');
    exit;
    }
    2、游客問答,提示“請勿重復(fù)回復(fù)同一問題”:
    同樣找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼:
    復(fù)制代碼代碼如下:if($rs)
    {
    ShowMsg('請勿重復(fù)回復(fù)同一問題!','-1');
    exit;
    }
    3、問題已過期、提問者自己不能回答自己的問題
    同樣找到找到并刪除dedecms5.7的/ask/control目錄下的question.php文件,找到其中的這樣一段代碼
    復(fù)制代碼代碼如下:if($question)
    {
    if($question['uid'] == $this->cfg_ml->M_ID)
    {
    ShowMsg('提問者自己不能回答自己的問題', '-1');
    exit;
    }else if($question['expiredtime'] < $GLOBALS['cfg_ask_timestamp']){
    ShowMsg('問題已經(jīng)過期','-1');
    exit;
    }
    $data['tid'] = $question['tid'];
    $data['tid2'] = $question['tid2'];
    $data['userip'] = getip();
    }else{
    ShowMsg('回答的問題不存在','-1');
    exit;
    }
    4、“您尚未登錄,請先登錄”
    找到找到并刪除dedecms5.7的/ask/control目錄下的myask.php文件
    復(fù)制代碼代碼如下:if(empty($this->cfg_ml->M_ID))
    {
    ShowMsg('您尚未登錄,請先登錄',$GLOBALS['cfg_ask_member']);
    exit;
    }
    找到找到并刪除dedecms5.7的/ask/control目錄下的search.php文件
    復(fù)制代碼代碼如下: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文件
    復(fù)制代碼代碼如下: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();
    }
    }