Discuz Ucenter整合自己应用程序代码

 更新时间:2016年9月20日 19:01  点击:1628

Discuz Ucenter整合自己应用程序代码

安装(这个不用说详了吧)

安装官方安装后,会自动把ucenter和dz打通的,如图

Discuz Ucenter整合自己应用程序代码




3、添加自己的新的应用

点添加新应用,然后选自定义,然后如图(根据你自己的更改)输入
Discuz Ucenter整合自己应用程序代码



4、创建自己的测试环境

把UCenter_1.5.0_SC_UTF8(1)advancedexamples拷贝到你的测试目录,并把advanced中的uc_client放到examples目录下~~

(1)修改config.inc.php为自己本机的配置,如下是我的,可参考


<?php

define
('UC_CONNECT''mysql');    
// 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()

           // mysql 是直接连接的数据库, 为了效率, 建议采用 mysql

//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)

define('UC_DBHOST''localhost');   
// UCenter 数据库主机

define('UC_DBUSER''root');    
// UCenter 数据库用户名

define('UC_DBPW''');     
// UCenter 数据库密码

define('UC_DBNAME''ps_ucenter');    
// UCenter 数据库名称

define('UC_DBCHARSET''utf8');    
// UCenter 数据库字符

define('UC_DBTABLEPRE''ps_ucenter.uc_');   
// UCenter 数据库表前缀

//通信相关

define('UC_KEY''example2');    
// 与 UCenter 的通信密钥, 要与 UCenter 保持一致

define('UC_API''http://localhost/project/passport/ucenter_1.5.0_sc_utf8(1)/upload');
// UCenter 的 URL 地址, 在调用头像时依赖此常量

define('UC_CHARSET''utf8');    
// UCenter 的字符集

define('UC_IP''');     
// UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名问题时, 请设置此值

define('UC_APPID'4);     
// 当前应用的 ID

//ucexample_2.php 用到的应用程序数据库连接参数

$dbhost 'localhost';   
// 数据库服务器

$dbuser 'root';   
// 数据库用户名

$dbpw '';    
// 数据库密码

$dbname 'ps_example';   
// 数据库名

$pconnect 0;    
// 数据库持久连接 0=关闭, 1=打开

$tablepre 'example_';     
// 表名前缀, 同一数据库安装多个论坛请修改此处

$dbcharset 'utf8';   
// MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定

//同步登录 Cookie 设置

$cookiedomain '';    
// cookie 作用域

$cookiepath '/';   // cookie 作用路径

复制代码

这个是我的,注意,其中的数据库配置,还有UC_KEY之类的,一定要和自定义的相同。。。

这时再去Ucenter的应用管理去看一下,如果出现如下,说明配置正确,然后再进行下面的步骤

Discuz Ucenter整合自己应用程序代码



(2)创建测试数据库ps_example,并建立如下表

CREATE TABLE `example_members` (

   `
uidint(11NOT NULL COMMENT 'UID',

   `
usernamechar(15) default NULL COMMENT '用户名',

   `
admintinyint(1) default NULL COMMENT '是否为管理员',

   
PRIMARY KEY  (`uid`)

TYPE=MyISAM;
复制代码

(3)然后进入example目录中,打开ucexample_1.php,ucexample_2.php进行测试吧~~~!

如果顺利,应该可以看到如下(一下是运行ucexample_2.php的截图)

Discuz Ucenter整合自己应用程序代码

 

1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下。

 iis 伪静态设置

 

2、在“IIS管理器”里选择网站,右键,属性。

 iis 伪静态设置

3、选择“ISAPI”,点击“添加”。

 iis 伪静态设置

4、填入筛选器名称,如“rewrite”。

 iis 伪静态设置

5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。

 iis 伪静态设置

6、确认选择正确后,点击“确定”。

 iis 伪静态设置

7、点击“确定”,完成筛选器添加。

 iis 伪静态设置

8、重启IIS。

 iis 伪静态设置

 iis 伪静态设置

9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。

 iis 伪静态设置

IIS Rewrite 规则设置

解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。

 

1. 安装重写插件Rewrite.dll 

如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。 

Rewrite.dll文件:http://blog.hxxsh.com/UploadFiles/2006-10/1013525016.rar 

加载 Rewrite.dll 

在 IIS 的 Isapi 上添加筛选器 

筛选器名称为:re 

可执行文件选择 Rewrite.dll 就可以了! 

2. 配置 httpd.ini 
打开你的httpd.ini,找到 

[ISAPI_Rewrite] 

# 3600 = 1 hour 
CacheClockRate 3600 

RepeatLimit 32 

# Protect httpd.ini and httpd.parse.errors files 
# from accessing through HTTP 
RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2 
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3 
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 
RewriteRule ^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3 

  

以上是 Discuz!官方提供的配置代码,注意正则格式。 

3. 应用 
比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html 

可以这样写: 

RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3 点击收藏:“IIS下下伪静态html(URL Rewrite)设置方法”

要使你的IIS服务器支持伪静态重写,按以下步骤来:

1. 安装重写插件Rewrite.dll

如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。

加载 Rewrite.dll

在 IIS 的 Isapi 上添加筛选器

筛选器名称为:re

可执行文件选择 Rewrite.dll 就可以了!

2. 配置 httpd.ini
打开你的httpd.ini,找到

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3
RewriteRule ^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3


以上是 Discuz!官方提供的配置代码,注意正则格式。

3. 应用
比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html

可以这样写:

RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3


PW的规则:[ISAPI_Rewrite]
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2

js计算时分秒代码
<script>
function b(n){
 return n>=10 ? n :  "0"+n;
}
function getNow(){
 var d=new Date();
 var s = d.getFullYear() + "-" +b((d.getMonth()+1)) + "-" + b(d.getDate()) + " " + b(d.getHours()) + ":" + b(d.getMinutes()) + ":" + b(d.getSeconds());
 return s;
}
alert(getNow());
</script>

Discuz! 与 UCenter 连接的一些信息,本设置在论坛安装时自动生成,一般情况下请不要修改,修改前请备份 config.inc.php 文件,以防止修改错误导致论坛无法运行。

设置的位置在:Discuz! 后台 => 全局 => UCenter 设置,如下图所示:

请根据 UCenter 中的对应信息,详细设置下面的信息即可。

UCenter 应用 ID:该值为当前论坛在 UCenter 的应用 ID,一般情况请不要改动。

UCenter 通信密钥:通信密钥用于在 UCenter 和 Discuz! 之间传输信息的加密,可包含任何字母及数字,请在 UCenter 与 Discuz! 设置完全相同的通讯密钥,以确保两套系统能够正常通信。

UCenter 访问地址:该值在您安装完 UCenter 后会被初始化,在您 UCenter 地址或者目录改变的情况下,修改此项,一般情况请不要改动。例如: http://www.sitename.com/uc_server (最后不要加'/')

UCenter IP 地址:如果您的服务器无法通过域名访问 UCenter,可以输入 UCenter 服务器的 IP 地址。

UCenter 连接方式:请根据您的服务器网络环境选择适当的连接方式。如果您的 UCenter 和 Discuz! 在同一台服务器则可以选择数据库方式,同时会看到上图中的设置项目;如果您的 UCenter 和 Discuz! 不在同一台服务器则可以选择接口方式,接口方式无需设置其他的选项。

UCenter 数据库服务器:可以是本地也可以是远程数据库服务器,如果 MySQL 端口不是默认的 3306,请填写如下形式:127.0.0.1:6033。

UCenter 数据库用户名、密码、数据库名、表前缀请根据 UCenter 实际的数据库信息填写即可。

是否允许在论坛激活:在其他应用注册的用户,是否允许在论坛激活。

当您的 UCenter 系统中安装了 UCenter Home 应用,则会看到下图的设置项目

将哪种类型的帖子加入到 UCHome 的动态:如果有人发起、回复或者参与选中类型的主题,这个动作将会发布到 UCHome ,显示到 UCHome 的站点动态。如果不选“回复主题”,那么只有发起主题的动作发布到 UCHome。

 

这里的通信密钥要和 config.pnp 里的 define('UC_KEY',后面的数字对应

UC通信情况一直显示正在连接...,怎么办?

上回我也是这样的。不过修改了CONFIG里的KEY通信密钥就好啦

js 浏览器环境检查代码
<html>
<head>
<title>浏览器环境检查</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script>
<!--
  function ignoreError(){
    return true;
  }
  window.onerror = ignoreError;
 
  document.cookie = "Suport=" + escape("Session");
//-->
</script>
<style type="text/css">
<!--
table {
 font-size: 12px;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<p align="center"><font color="#FF0000">检查结果: </font><span id="vsport"><font color=red>本机浏览器不能正常访问中国WEB第一站</font></span></p>
<table width="720" border="0" cellspacing="1" cellpadding="5" align="center" bgcolor="#999999" bordercolor="#999999">
  <tr bgcolor="#EEEEEE">
    <th height="32" align="center" nowrap>项

[!--infotagslink--]

相关文章

  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • php导出csv格式数据并将数字转换成文本的思路以及代码分享

    php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07
  • ecshop商品无限级分类代码

    ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
  • 几种延迟加载JS代码的方法加快网页的访问速度

    本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
  • IDEA插件之快速删除Java代码中的注释

    这篇文章主要介绍了IDEA插件之快速删除Java代码中的注释,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-18