这个项目本来承诺在国庆期间发布的,但后来发现,joomla1.5 Native已经是主流,而研究表明CB1.2已经直接采用joomla1.5框架本身的验证插件进行验证,因此,CB组件不再需要——不少呼吁不装CB的朋友们有福了:-)。
因业余时间完成了Wordpress for Ucenter桥接器并应用于公司站点后,感叹于WP代码的清晰和扩展开发的轻松(将在以后介绍思路),我在今天晚上复核了Joomla1.5框架库的所有代码,重新发现了系统架构设计者的伟大,然后完全重写这个方案(将逐步在blog.treeber.com发布)。
当前已经完成/api/uc.php及附带函数文件,应该能够做到在其他应用中的登录、注销、改名、删除用户等动作均反馈到Joomla1.5中。
而从Joomla1.5中同步至应用中,则将以Joomla1.5自动化插件(bot)及CB插件的形式发布(当前在kolidon本地机器的测试版本尚需修改Authenticate插件中内容,正在设法解决。
如上,今天先放出api/uc.php文件,以供急需的朋友调试后使用(即,用户的登录、注册等均应在其他ucenter支持的应用中完成),api目录中尚需要另一个文件func_joomla_cb_user.inc.php,请在http://blog.treeber.com版本2安装说明一文中下载。
安装办法
在configuration.php相同的目录中新增configuration_ucenter.php文件,加一些预定义常量(不推荐在configuration.php中直接加);
注意事项亦主要在保证joomla中用户最大ID小于Ucenter中最大用户ID(Joomla新安装最佳)。
× 特别注意1:
当前代码仅供试验,使用此方案后,您的joomla中的用户密码极可能与实际密码不符!此问题将在此方案的完整版和安装说明放出后得到解决。
× 特别注意2:
目前需要修改源码,文件plugins/authentication/joomla.php中
约88行,将
$testcrypt = JUserHelper::getCryptedPassword($credentials['password'], $salt);
改为
if($options['checkpassword']=='skip')
$testcrypt = $crypt;
else
$testcrypt = JUserHelper::getCryptedPassword($credentials['password'], $salt);
<!--p
/**
* UCenter 应用程序接口 for joomla1.5.x版(discuz, xspace等comsenz系程序社区化功能与joomla1.0.x的完美整合)
* ucenter for joomla,KOLIDON version 3.1
ucenter支持的各类应用程序中的用户、站内短消息、好友、积分、头像,可自动同步到joomla1.5.x中。
本程序基于comsenz 提供的ucenter开放的API接口进行开发,安装请参见作者个人站点。
* @Author: kolidon@gmail.com
* @Site: http://blog.treeber.com
* licensing under CCA3.0
**/
define('UC_VERSION', '1.0.0'); //UCenter 版本标识
define('API_DELETEUSER', 1); //用户删除 API 接口开关
define('API_RENAMEUSER', 1); //用户改名 API 接口开关
define('API_UPDATEPW', 1); //用户改密码 API 接口开关
define('API_GETTAG', 0); //获取标签 API 接口开关
define('API_SYNLOGIN', 1); //同步登录 API 接口开关
define('API_SYNLOGOUT', [...]
已经证明,IIS平台上无法对启用FASTCGI模式之PHP的应用程序池启用CPU限制,这将可能导致大问题。
若错误的配置http rewrite,则可能导致循环转向20次,对firefox来说,这似乎是最大值,而IE将一直会工作到超时。
结果是,对某些PHP页面大概会是30-50倍,而这导致Mysql的CPU占用率惊人,最终死锁,全部玩完。
而在apache上,限制流量,限制并发数,限制CPU占用总时间,均有较简单的解决方案,甚至,虚拟主机管理系统也有一些不错的免费版本,主机商会比较轻松。
那么,这个事实是否也能证明,WIN平台确非PHP的最佳平台呢?
将继续寻找能使fastcgi进程CPU占用率被限制的办法,或者更仔细一些研究IIS提供的fastcgi文档。
数年前始就有一套相当便宜的系统DirectAdmin,我曾在三年前试用,当时即已不错。此问题在五年前即有人在其论坛中详细讨论,能大概说明解决此问题的基本思路:
http://www.directadmin.com/forum/showthread.php?s=&threadid=1523&highlight=load+limit
此文已经更新于2008.07.18 22:45。
注意,本文是针对Joomla!1.0的版本,这个版本的实际运行例子可参见http://www.feminist.cn
近日发现有人提供了drupal模块用于整合discuz。
而大家对joomla与discuz的整合呼声越来越高(数年前即有mambochina站长开发的整合组件)。作者近日开始某个项目,顺带完成了此整合功能,近一个月以来测试运行良好。
感谢comsenz推出的Ucenter,代码非常短,亦无需修改任何现有核心代码。从今天凌晨三点到现在,对这些程序作了简单整理,现放出以利诸Joo友。
主要特点:
1. 采用Ucenter API接口,标准化用户操作,代码简洁;
2. 支持与所有其他基于Ucenter的应用互操作,如Discuz,Supesite, EcShop等,各类操作均可通过Ucenter自动同步至Joomla;
3. 采用Joomla常用组件CB提供的插件功能,实现用户注册、登录、注销、改名、改密全站同步到Ucenter应用。
4. 以此为基础,站内短消息、积分系统、头像同步等仅需三至五小时的编码工作;
5. 未来将完善对Joomla1.5的支持;
6. 永久免费并将因应需求制作更多周边扩展。
安装简单至数步:
1. 请常规安装Discuz (Ucenter版本),Ucenter服务器端(参照comsenz.com站点ucenter安装配置说明),Joomla1.0.x + CB1.0.x组件;
2. 确保joomla与ucenter中用户名, 用户id不重复,确保ucenter/discuz当前可能的最大id大于joomla最大id;
3. 在configuration.php相同的目录中新增configuration_ucenter.php文件,加一些预定义常量(不推荐在configuration.php中直接加);
define('UC_CONNECT', 'mysql'); // 连接 UCenter 的方式
define('UC_DBHOST', 'localhost'); // UCenter 数据库主机
define('UC_DBUSER', 'dbuser'); // UCenter 数据库用户名
define('UC_DBPW', 'dbpass'); // UCenter 数据库密码
define('UC_DBNAME', 'dbname'); // UCenter 数据库名称
define('UC_DBCHARSET', 'utf8'); // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'dbname.uc_'); // UCenter 数据表前缀
define('UC_DBCONNECT', '1'); // UCenter 数据库持久连接
define('UC_KEY', 'dsafasdfwer42141235fgvgd'); // 与 UCenter 的通信密钥
define('UC_API', [...]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
<?php
/**
* Ucenter Class for handling CB user info
* ucenter for joomla,KOLIDON version 2.1
* @version $Id: ucenter_treeber.php 79 2008-08-31 03:16 kolidon $
* @package Community Builder1.0.x
* @author kolidon
* @copyright (C) blog.treeber.com
* @license CCA3.0
*/
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
define('UC_VERSION', '1.0.0'); //UCenter 版本标识
define('API_DELETEUSER', 1); //用户删除 API 接口开关
define('API_RENAMEUSER', 1); //用户改名 API 接口开关
define('API_UPDATEPW', 1); //用户改密码 API 接口开关
define('API_GETTAG', [...]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<?php
/**
* UCenter 应用程序接口 for joomla1.0.x + CB1.0.x版(discuz, xspace等comsenz系程序社区化功能与joomla1.0.x的完美整合)
* ucenter for joomla,KOLIDON version 1.1
ucenter支持的各类应用程序中的用户、站内短消息、好友、积分、头像,可自动同步到joomla1.0.x中。
本程序基于comsenz 提供的ucenter开放的API接口进行开发,安装请参见作者个人站点。
版本1有如下注意事项:
* 1. 主要实现用户数据自动同步至joomla(comprofiler组件),已用于实际站点zhonghuayixue.com并运行良好;
* 2. 用户在discuz或supesite中注册、登录、更改用户名、更改密码,joomla数据表及comprofiler组件数据表中数据均能同步;
* 3. 请确保joomla中用户最大id小于discuz中最小id(在ucenter中多添几个用户,添至比joomla多即可);
版本2:joomla内即可直接完成整站登录、注册及修改密码功能(已完成,当前正在测试Ucenter for joomla1.5.x + CB1.2RC2版);
版本3:积分系统 (即将开始,经测试稳定后,预定于月末放出)
版本4:支持站内短消息、头像的全站同步、支持旧有joomla用户数据一键同步至ucenter(国庆期间放出)
版本5:支持comprofiler兼容版本joomla1.0及joomla1.5
* @Author: kolidon@gmail.com
* @Site: http://blog.treeber.com
* licensing under CCA3.0
**/
define('UC_VERSION', '1.0.0'); //UCenter 版本标识
define('API_DELETEUSER', 1); //用户删除 API 接口开关
define('API_RENAMEUSER', 1); //用户改名 API 接口开关
define('API_UPDATEPW', [...]

关注WEB应用系统架构,侧重效能、可用性研究。欢迎访问treeber.com查看本站整理自网络的非原创精华(筹建中)。