?? pp_dederemote_interface.php
字號:
<?
/*--------------------------------------
本文件用于第三方系統反向整合DedeCms在相關程序調用的接口
調用本文件的接口函數前必須不能輸出任何字符,本API不需要導入被整合系統的數據
使用本接口的系統必須支持 file_get_contents 函數
--------------------------------------*/
//這里請填寫DedeCms系統的cookie加密碼(通行證密鑰)
$cfg_cookie_encode = "HlSCr7676I";
//Cookie主域名(用 "abc.com" 形式,不要加主機名,本地域名留空)
$domain = "dede.com";
//DedeCms通行證接口網址
//如果程序裝在根目錄,一般為 http://localhost/member/passport/pp_dederemote_new.php
//如果你不想讓人知道dedecms這個接口(pp_dederemote.php)的真實網址,你也可以把它改其它名稱
$DedeAPI_Url = "http://www.dede.com/member/passport/pp_dederemote_new.php";
//登錄成功后跳轉的網址 (空按第三方系統默認)
$cfg_loginJumpUrl = "http://www.dede.com/member/index.php";
//注冊成功后跳轉的網址 (空按第三方系統默認)
$cfg_regJumpUrl = "http://www.dede.com/member/index.php";
//更改資料成功后跳轉的網址 (空按第三方系統默認)
$cfg_editJump = "";
//退出后跳轉到的網址 (空按第三方系統默認)
$cfg_exitJump = "";
//----------------------------------
//第三方系統與Dedecms系統同步注冊、登錄、更改密碼、退出接口函數
//SynchDedeCms($userid,$action,$exptime='36000')
//參數說明
/*-------------------------
$userid 用戶登錄的用戶名,必須
$action 動作,必須,選項為:reg edit login exit test(測試用戶ID是否存在)
$exptime='36000' cookie保存時間,單位為秒
返回值:
返回字串前三位為OK!表示操作成功
返回其它則是錯誤提示
--------------------------*/
function SynchDedeCms($userid,$action,$exptime='36000')
{
global $cfg_cookie_encode,$domain,$DedeAPI_Url;
$cpath = '/';
$keys = Array('userid','action','exptime');
$querystr = '';
foreach($keys as $v){
if(!empty($$v)) $querystr .= $v.'='.urlencode($$v).'&';
}
$signstr = substr(md5($userid.$cfg_cookie_encode),0,24);
$querystr .= "signstr=$signstr";
$DedeAPI_Url = $DedeAPI_Url."?rmdata=".base64_encode($querystr);
if(function_exists("file_get_contents")){
$rcdata = file_get_contents($DedeAPI_Url) or die("遠程通信錯誤!");
}else{
require_once(dirname(__FILE__)."/pub_httpdown.php");
$dhd = new DedeHttpDown();
$dhd->OpenUrl($DedeAPI_Url);
$rcdata = $dhd->GetHtml();
$dhd->Close();
}
if(substr($rcdata,0,3)=='OK!'){
$okdata = ereg_replace("^OK!","",$rcdata);
if($okdata!=""){
$headerStr = trim($okdata);
PutCookie("DedeUserID",$headerStr,$exptime,$cpath,$domain);
}
return 'OK';
}else{
return $rcdata;
}
}
//按默認參數設置一個Cookie
function PutCookie($key,$value,$kptime,$pa='/',$dm=''){
global $cfg_cookie_encode;
setcookie($key,$value,time()+$kptime,$pa,$dm);
setcookie($key.'ckMd5',substr(md5($cfg_cookie_encode.$value),0,16),time()+$kptime,$pa,$dm);
}
?>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -