codeigniter整合discuz之ucenter用戶同步

2013-02-22 23:39:09來(lái)源:光源之眼作者:

UCenter 是國(guó)內(nèi)Discuz公司開(kāi)發(fā)的一個(gè)用戶管理中心,應(yīng)該說(shuō)現(xiàn)在是騰訊公司的。早年被騰訊收購(gòu)。現(xiàn)在國(guó)內(nèi)對(duì)于UCenter使用還是非常多的。只要是國(guó)內(nèi)使用Discuz產(chǎn)品的,基本沒(méi)有不適用UCenter的。

UCenter 是國(guó)內(nèi)Discuz公司開(kāi)發(fā)的一個(gè)用戶管理中心,應(yīng)該說(shuō)現(xiàn)在是騰訊公司的。早年被騰訊收購(gòu)。現(xiàn)在國(guó)內(nèi)對(duì)于UCenter使用還是非常多的。只要是國(guó)內(nèi)使用Discuz產(chǎn)品的,基本沒(méi)有不適用UCenter的。

今天研究了下,如何與UCenter實(shí)現(xiàn)通信,并且用戶同步.

首先下載UCenter安裝包 :去官網(wǎng)下載最新版本的包 http://www.comsenz.com/downloads/install/ucenter#down_open

解壓后會(huì)有4個(gè)文件夾

  • advanced
  • readme
  • upload
  • utilities

upload文件夾,顧名思義,需要我們上傳,其實(shí)這個(gè)就是用戶中心的安裝包。自己安裝吧。直接訪問(wèn)首頁(yè), 按照提示就能安裝了。這個(gè)很簡(jiǎn)單,不用說(shuō)。

然后訪問(wèn)advanced文件夾,可以看到3個(gè)文件夾。我們需要的是uc_client 和examples目錄下的api文件夾,將uc_client和examples目錄下的api文件夾 拷貝至codeigniter 根目錄下.

\

 

\

 

\

填好需要填寫(xiě)的信息后,

然后將滾動(dòng)條拉到也蠻底部.

將 第三張圖片中,紅色框框里面的代碼復(fù)制到api目錄下的uc.php文件中.

然后將30行和79行的代碼替換成

<?php
if(!defined('IN_UC')) {
   error_reporting(0);
   set_magic_quotes_runtime(0); 
   defined('MAGIC_QUOTES_GPC') || define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
   // require_once DISCUZ_ROOT.'./config.inc.php'; 
   $_DCACHE = $get = $post = array(); 
   $code = @$_GET['code'];
   parse_str(_authcode($code, 'DECODE', UC_KEY), $get);
   if(MAGIC_QUOTES_GPC) {
     $get = _stripslashes($get);
   } 
   $timestamp = time();
   if($timestamp - $get['time'] > 3600) {
     exit('Authracation has expiried');
   }
   if(empty($get)) {
     exit('Invalid Request');
   }
   $action = $get['action']; 
   require_once DISCUZ_ROOT.'./uc_client/lib/xml.class.php';
   $post = xml_unserialize(file_get_contents('php://input')); 
   if(in_array($get['action'], array('test', 'deleteuser', 'renameuser', 'gettag', 'synlogin', 'synlogout', 'updatepw', 'updatebadwords', 'updatehosts', 'updateapps', 'updateclient', 'updatecredit', 'getcredit', 'getcreditsettings', 'updatecreditsettings', 'addfeed'))) {
     $uc_note = new uc_note();
     echo $uc_note->$get['action']($get, $post); exit();
   } else {
     exit(API_RETURN_FAILED);
   } 
   //note include 通知方式 } else { exit(); }
?>

\

刷新下用戶中心的頁(yè)面.通信成功了~!
 

關(guān)鍵詞:codeignitercidiscuzucenter

贊助商鏈接: