phpcms 整合 discuz!

第一步,進入discuz後臺,點擊UCenter菜單,而後點擊應用管理,接着點擊右側的添加新應用按鈕

而後填寫應用相關信息:
        一、應用類型選擇「其餘」
        二、應該名稱填寫「phpcms」                //此處能夠本身定義名稱
        三、應用的主URL填 http://你的域名/phpsso_server         //個人是http://localhost/hi0556/phpsso_server
        四、通信密鑰如今不填寫,保存的時候會自動生成,後面會用到此密鑰
        五、是否開啓同步登陸選擇「是」
        六、是否接受通知選擇「是」

接着點擊提交,此時看到應用列表,可是通信狀態是失敗

解決辦法,進入第二步操做。
第二步,登陸phpcms的phpsso ――>系統設置――>UCenter配置

API地址能夠在DZ――->站長――>UCenter設置中查看

數據庫信息按照你的實際狀況進行填寫,數據庫密碼不能爲空哦,不然測試會失敗的!!!!
UCenter表前綴不能直接寫表名前綴,必須使用格式爲:`數據庫名`.表名前綴
提交後進DZ的應用列表能夠看到新增的應用通訊成功了!

第三步,你會發現如下幾種狀況:
1)        phpcms登陸的用戶能夠同步到discuz
2)        phpcms退出時沒法同步到discuz
3)        discuz登陸沒法同步到phpcms
4)        discuz退出沒法同步到phpcms
解決辦法:
Phpcms退出沒法同步到discuz的緣由是因爲phpcms\phpsso_server\phpcms\modules\phpsso \classes\ phpsso.class.php文件中的__construct函數解析出post[data]爲空狀況下直接exit操做致使Javascript語 句沒法輸出,簡單作法是註釋掉exit便可

經過以上操做就可使用phpcms退出可以同步到discuz了
第四步,處理discuz登陸沒法同步到phpcms的狀況
        Discuz登陸沒法同步到phpcms
        Discuz退出沒法同步到phpcms
解決辦法:
修改discuz的登陸代碼
一、        修改 template\default\member\login.htm 第 40行 行,刪除

onsubmit="{if $this->setting['pwdsafety']}pwmd5('password3_$loginhash');{/if}pwdclear = 1;ajaxpost('loginform_$loginhash', 'returnmessage_$loginhash', 'returnmessage_$loginhash', 'onerror');return false;"

二、        修改 template\default\member\login_s imple.htm 第 3 行,刪除

onsubmit="return lsSubmit()"

三、        修改 /source/function/function_message.php 第 78 行,查找

$param['header'] = true;
替換爲:
$param['header'] = false;

找到DZ文件夾下的uc_client\data\cache\apps.php,找到該文件下是否存在咱們新增的應用phpcms,若是不存在,則須要新增,複製uc_server\data\cache\apps.php中的項目信息數組到該文件中

2 =>
  array (
    'appid' => '2',
    'type' => 'OTHER',
    'name' => 'phpcms',
    'url' => 'http://localhost/hi0556/phpsso_server',
    'authkey' => 'a97cvX78Rg/OtVswGhVBXxa7MUcyWgI4aZghoUI',
    'ip' => '',
    'viewprourl' => '',
    'apifilename' => 'uc.php',
    'charset' => '',
    'dbcharset' => '',
    'synlogin' => '1',
    'recvnote' => '1',
    'extra' =>
    array (
      'apppath' => '',
      'extraurl' =>
      array (
      ),
    ),
    'tagtemplates' => '<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
        <item id="template"><![CDATA[]]></item>
</root>',
    'allowips' => '',
  ),
Phpcms註冊的會有在第一次登陸discuz時須要激活一次,這問題能夠在discuz後臺裏面解決:
Discuz後臺――>站長――>UCenter設置,拉到最後有個「是否容許其餘應用的會有在站點激活」和「是否容許直接激活」,兩個都選擇「是」而後提交,便可解決此問題php

 

此帖爲轉帖,原帖地址爲:http://bbs.phpcms.cn/forum.php?mod=viewthread&tid=923323&highlight=%BD%CC%B3%CCajax

相關文章
相關標籤/搜索