【UCHome二次开发】全局变量
来源:
发布时间:2010/5/12
浏览次数:1179
UCHome定义了一些全局变量保存常用信息,了解这些变量存放的内容将大大方便我们的二次开发。
以下依次罗列各全局变量所保存的内容:
- $_SC:系统全局配置
- $_SBLOCK:未知
- $_SCONFIG:个人空间配置
- $_SCOOKIE:Cookie信息
- $_SGLOBAL:各类全局信息
- $_SN:昵称信息
- $_TPL:未知
- 举例说明
以上个别全局变量在不同页面的值会有所不同,使用前最好先测试一下值是否存在。
下面是用print_r函数打印出来的各全局变量信息,方便参考(为节省篇幅,删除了部分结构重复的数据):
$_SC:系统全局配置
12 |
[cookiepre] => uchome_ |
15 |
[attachdir] => ./attachment/ |
16 |
[attachurl] => attachment/ |
$_SCONFIG:个人空间配置
004 |
[sitelogo] => image/logo.gif |
005 |
[template] => default |
006 |
[adminemail] => webmaster@localhost |
012 |
[cachemode] => database |
017 |
[allowwatermark] => 0 |
019 |
[holddomain] => www|*blog*|*space*|x |
023 |
[feedfilternum] => 10 |
032 |
[networkupdate] => 300 |
033 |
[seccode_register] => 1 |
035 |
[manualmoderator] => 1 |
042 |
[name_allowfriend] => 1 |
043 |
[name_allowpoke] => 1 |
044 |
[name_allowdoing] => 1 |
045 |
[name_allowblog] => 1 |
046 |
[name_allowalbum] => 1 |
047 |
[name_allowthread] => 1 |
048 |
[name_allowshare] => 1 |
049 |
[name_allowcomment] => 1 |
050 |
[name_allowpost] => 1 |
051 |
[showallfriendnum] => 10 |
052 |
[feedtargetblank] => 1 |
054 |
[uc_tagrelatedtime] => 86400 |
088 |
[cronnextrun] => 1254829800 |
090 |
[sitekey] => 2a37854626AdS662 |
100 |
[feeddefaultfilter] => all |
101 |
[my_closecheckupdate] => 0 |
102 |
[spacebarusername] => |
103 |
[defaultfusername] => |
106 |
[login_action] => 1812d4b322672381d1dc7396a8a52ef7 |
107 |
[register_action] => 0d7f87d7c19770cac7d20679586b362f |
$_SCOOKIE:Cookie信息
7 |
[auth] => 61087Cgwu3hoB35cDmXGpe3juvbjJQC2e+wlWJ79GPejIYhB1j/d9VwyKGy8DPYcKQCHUYvYg+EBqJoQS5Vc |
$_SGLOBAL:各类全局信息
003 |
[timestamp] => 1254829664 |
004 |
[supe_starttime] => 1254829664.1719 |
005 |
[db] => dbstuff Object |
008 |
[link] => Resource id #7 |
043 |
[supe_username] => admin |
051 |
[password] => 8ae86ee69cba169f8691011ea3c5691f |
052 |
[lastactivity] => 1254829662 |
061 |
[my_userapp] => Array |
148 |
[dateline] => 1245599521 |
152 |
[lastlogin] => 1254829560 |
168 |
[space_1_uid] => Array |
237 |
[dateline] => 1245599521 |
241 |
[lastlogin] => 1254831926 |
243 |
&, nbsp; [attachsize] => 0 |
268 |
[manualmoderator] => 0 |
282 |
[manualmoderator] => 0 |
295 |
[grouptitle] => 站点管理员 |
302 |
[searchinterval] => 0 |
320 |
[icon] => image/group/admin.gif |
323 |
[manageprofilefield] => 1 |
324 |
[manageprofield] => 1 |
325 |
[manageusergroup] => 1 |
339 |
[managesitefeed] => 1 |
342 |
[managetemplate] => 1 |
359 |
[maxfriendnum] => 100 |
360 |
[maxattachsize] => 20971520 |
363 |
[searchinterval] => 60 |
384 |
[manageprofilefield] => 0 |
385 |
[manageprofield] => 0 |
386 |
[manageusergroup] => 0 |
400 |
[managesitefeed] => 0 |
403 |
[managetemplate] => 0 |
$_SN:昵称信息
举例:
在UCHome上增加一个功能,希望某些群组类别下只允许有群组管理的人才能新建群组,其他人无法新建这些类别的群组。只需修改模板中的cp_mtag.htm文件,将如下代码:
1 |
<div class = "l_status" >1. <strong>请选择一个群组分类</strong></div> |
4 |
<!--{loop $fields $value }--> |
5 |
<td><input type= "radio" id= "fieldid_$value[fieldid]" name= "fieldid" value= "$value[fieldid]" onclick= "fieldselect(this.value)" ><label for = "fieldid_$value[fieldid]" > $value [title]</label></td> |
6 |
<!--{ if $i %3==2}--></tr><tr><!--{/ if }--> |
更改为:
01 |
<div class = "l_status" >1. <strong>请选择一个群组分类</strong></div> |
04 |
<!--{loop $fields $value }--> |
06 |
<!--{ eval if (!( $_SGLOBAL [ 'usergroup' ][ $_SGLOBAL [ 'member' ][ 'groupid' ]][ 'manageprofield' ])){ }--> |
07 |
<!--{ eval if (in_array( $value [fieldid], array (1,4,5,6))) continue ; }--> |
10 |
<td><input type= "radio" id= "fieldid_$value[fieldid]" name= "fieldid" value= "$value[fieldid]" onclick= "fieldselect(this.value)" ><label for = "fieldid_$value[fieldid]" > $value [title]</label></td> |
11 |
<!--{ if $i %3==2}--></tr><tr><!--{/ if }--> |
简单说明一下:$_SGLOBAL['member']['groupid']返回当前用户的用户组编号,$_SGLOBAL['usergroup'][用户组编号]['manageprofield']返回特定用户组是否有群组管理权限,结合起来判断当前用户是否有群组管理权限。
效果就是当管理员登陆后,新建群组可选择所有分类。
管理员新建群组界面
而普通会员登录后,新建群组只能选个别分类。
普通会员新建群组界面