導讀:本人使用的是dedecms5.3,由于做了很多二次開發,所以現在雖然dedecms新版出來了,但是不能升級,不然對應的二次開發工作量太大了.因此,...
本人使用的是dedecms5.3,由于做了很多二次開發,所以現在雖然dedecms新版出來了,但是不能升級,不然對應的二次開發工作量太大了.因此,一直堅持使用dedecms5.3版本.
? ? ? ?由于我的網站是個學術網站B5教程網?cms教程,是dede5.3和pw8.7整合的,會員間實現了無縫賬號互通和登錄,由于dedecms5.3沒有控制會員注冊的設置,因此,為了控制網站會員注冊的數量和質量,增加會員賬號的重要性,監測人網站采用二次開發來控制會員注冊.
? ? ? ? ? ? ? 我的思路主要是每月對外開放4天供網站會員進行注冊,其余時間關閉注冊功能,但登錄等其他功能不受影響.主要是修改index_do.php和添加系統變量.
? ? ? ? ?
? ? ? ?下面為本人原創的開發步驟:
? ? ? ? ? ? ?
1、index_do.php中找到?
//引入注冊頁面
else if($dopost=="regnew")
{
在后面添加:
?
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 開始***************************
// $zhuceriqi獲取允許注冊日期,指的是日,比如5月4日、14日和24日可以注冊,即設置為4/14/24
//$zhuceriqi為0時表示任何時段均可注冊,為字符串時則只能規定的時間段內注冊.
$zhuceriqi =$cfg_zhucerq;//"4/14/16/13";//即此處要么為0,表示不受限制;要么為限制字符串."4/14/3/17"
?
$flag_kz=0;//0表示不能注冊,1表示能注冊
if ($zhuceriqi==0){ //表示不收限制,任何時段均可注冊. ?
? ? ?$flag_kz=1;
? ? }
else if ($zhuceriqi!=0){//表示受限制,需要在規定時間內才能注冊. ? ? ? // 取得今天的時間
? ? ? ? ? $arr = getdate();
? ? ? ? ? $jtr= $arr['mday'];//取得今天是多少日,判斷今天是否開放注冊
? ? ? ? ? ?$rq=explode("/",$zhuceriqi);// 將所有允許注冊日期全部存儲到rq數組中.
? ? ? ? ? ? for($i=0; $i<count($rq); $i++){?
? ? ? ? ? ? ? ? ? if($jtr==$rq[$i]){
? ? ? ? ? ? ? ? ? ? ? ? ?$flag_kz=1;
? ? ? ? ? ? ? ? ? ? ? ? ?break;}
? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?else
? ? ? ? ? ? ? ? ? {$flag_kz=0;}
? ? ? ? ? ? ? ?}//for end
}//if endif ($flag_kz==1){//表示能注冊
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 結束***************************
? ?
?
2、緊接著找到:
? require_once(dirname(__FILE__)."/reg_new.php");
? exit();
并在后面添加:
?
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 開始***************************
}
else if ($flag_kz==0){//表示不能注冊
ShowMsg("您好!今日不對外開放注冊!","/noreg.html");
exit();
}
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 結束***************************
?
這樣子index_do.PHP的修改就完成了.?
3、創建系統變量:
?
? 在系統設置里面增加變量cfg_zhucerq,放到會員設置分組下,此變量為0表示任何時段均可注冊,4/14/16/13表每月開放注冊的時間段.
? ? ? 以上為wbsky6本人此次二次開發的總結,希望大家多多支持wbsky6,后續將有更多二次開發的心得總結分享給大家!
? ? ? ? ? ? ? ?