【UCHOME二次开发】资料整理<下>

【UCHome二次开发】全局变量  

 

UCHome定义了一些全局变量保存常用信息,了解这些变量存放的内容将大大方便我们的二次开发。 

以下依次罗列各全局变量所保存的内容: 

以上个别全局变量在不同页面的值会有所不同,使用前最好先测试一下值是否存在。 

下面是用print_r函数打印出来的各全局变量信息,方便参考(为节省篇幅,删除了部分结构重复的数据): 

$_SC:系统全局配置  

$_SC: Array

(

  [dbhost] => localhost

  [dbuser] => root

  [dbpw] => root

  [dbcharset] => utf8

  [pconnect] => 0

  [dbname] => uchome

  [tablepre] => uchome_

  [charset] => utf-8

  [gzipcompress] => 0

  [cookiepre] => uchome_

  [cookiedomain] =>

  [cookiepath] => /

  [attachdir] => ./attachment/

  [attachurl] => attachment/

  [siteurl] => http://localhost/uchome/

  [tplrefresh] => 0

  [founder] => 1

  [allowedittpl] => 0

)

$_SCONFIG:个人空间配置  

$_SCONFIG: Array

(

  [sitename] => 我的空间

  [sitelogo] => image/logo.gif

  [template] => default

  [adminemail] => webmaster@localhost

  [onlinehold] => 1800

  [timeoffset] => 8

  [maxpage] => 50

  [starcredit] => 100

  [starlevelnum] => 5

  [cachemode] => database

  [cachegrade] => 0

  [allowcache] => 1

  [allowdomain] => 0

  [allowrewrite] => 0

  [allowwatermark] => 0

  [allowftp] => 0

  [holddomain] => www|*blog*|*space*|x

  [mtagminnum] => 5

  [feedday] => 15

  [feedmaxnum] => 50

  [feedfilternum] => 10

  [importnum] => 100

  [singlesent] => 50

  [groupnum] => 8

  [closeregister] => 0

  [closeinvite] => 0

  [close] => 0

  [networkpublic] => 1

  [networkpage] => 1

  [networkupdate] => 300

  [seccode_register] => 1

  [uc_tagrelated] => 1

  [manualmoderator] => 1

  [linkguide] => 1

  [showall] => 1

  [sendmailday] => 0

  [realname] => 0

  [namecheck] => 0

  [namechange] => 0

  [name_allowfriend] => 1

  [name_allowpoke] => 1

  [name_allowdoing] => 1

  [name_allowblog] => 1

  [name_allowalbum] => 1

  [name_allowthread] => 1

  [name_allowshare] => 1

  [name_allowcomment] => 1

  [name_allowpost] => 1

  [showallfriendnum] => 10

  [feedtargetblank] => 1

  [feedread] => 1

  [uc_tagrelatedtime] => 86400

  [privacy] => Array

    (

      [view] => Array

        (

          [index] => 0

          [profile] => 0

          [friend] => 0

          [wall] => 0

          [feed] => 0

          [doing] => 0

          [blog] => 0

          [album] => 0

          [share] => 0

          [mtag] => 0

        )

 

      [feed] => Array

        (

          [doing] => 1

          [blog] => 1

          [album] => 1

          [upload] => 1

          [share] => 1

          [thread] => 1

          [post] => 1

          [mtag] => 1

          [friend] => 1

          [comment] => 1

          [trace] => 1

        )

 

    )

 

  [cronnextrun] => 1254829800

  [my_status] => 0

  [sitekey] => 2a37854626AdS662

  [siteallurl] => http://localhost/uchome/

  [licensed] => 0

  [debuginfo] => 0

  [miibeian] =>

  [headercharset] => 0

  [avatarreal] => 0

  [uc_dir] =>

  [my_ip] =>

  [closereason] =>

  [feeddefaultfilter] => all

  [my_closecheckupdate] => 0

  [spacebarusername] =>

  [defaultfusername] =>

  [domainroot] =>

  [ftpurl] =>

  [login_action] => 1812d4b322672381d1dc7396a8a52ef7

  [register_action] => 0d7f87d7c19770cac7d20679586b362f

)

$_SCOOKIECookie信息  

$_SCOOKIE:

Array

(

  [loginuser] => admin

  [checkpm] => 1

  [synfriend] => 1

  [sendmail] => 1

  [auth] => 61087Cgwu3hoB35cDmXGpe3juvbjJQC2e+wlWJ79GPejIYhB1j/d9VwyKGy8DPYcKQCHUYvYg+EBqJoQS5Vc

)

$_SGLOBAL:各类全局信息  

 

$_SGLOBAL: Array

(

  [timestamp] => 1254829664

  [supe_starttime] => 1254829664.1719

  [db] => dbstuff Object

    (

      [querynum] => 3

      [link] => Resource id #7

      [charset] => utf8

    )

 

  [app] => Array

    (

      [1] => Array

        (

          [name] => 枫芸志

          [url] => http://localhost/bbs

          [type] => DISCUZ

          [open] => 1

          [icon] => discuz

        )

 

      [2] => Array

        (

          [name] => 个人家园

          [url] => http://localhost/uch

          [type] => UCHOME

          [open] => 0

          [icon] => uchome

        )

 

    )

 

  [userapp] => Array

    (

    )

 

  [ad] => Array

    (

    )

 

  [supe_uid] => 1

  [supe_username] => admin

  [inajax] => 0

  [ajaxmenuid] =>

  [refer] => http://localhost/uchome/space.php?do=mtag

  [session] => Array

    (

      [uid] => 1

      [username] => admin

      [password] => 8ae86ee69cba169f8691011ea3c5691f

      [lastactivity] => 1254829662

      [ip] => 127000000

    )

 

  [username] => admin

  [my_menu] => Array

    (

    )

 

  [my_userapp] => Array

    (

    )

 

  [my_menu_more] => 0

  [appmenu] => Array

    (

      [name] => 枫芸志

      [url] => http://localhost/bbs

      [type] => DISCUZ

      [open] => 1

      [icon] => discuz

    )

 

  [appmenus] => Array

    (

    )

 

  [member] => Array

    (

      [uid] => 1

      [sex] => 0

      [email] =>

      [emailcheck] => 0

      [qq] =>

      [msn] =>

      [birthyear] => 0

      [birthmonth] => 0

      [birthday] => 0

      [blood] =>

      [marry] => 0

      [birthprovince] =>

      [birthcity] =>

      [resideprovince] =>

      [residecity] =>

      [note] =>

      [spacenote] =>

      [authstr] =>

      [theme] =>

      [nocss] => 0

      [menunum] => 0

      [css] =>

      [privacy] => Array

        (

          [view] => Array

            (

              [index] => 0

              [profile] => 0

              [friend] => 0

              [wall] => 0

              [feed] => 0

              [doing] => 0

              [blog] => 0

              [album] => 0

              [share] => 0

              [mtag] => 0

            )

 

          [feed] => Array

            (

              [doing] => 1

              [blog] => 1

              [album] => 1

              [upload] => 1

              [share] => 1

              [thread] => 1

              [post] => 1

              [mtag] => 1

              [friend] => 1

              [comment] => 1

              [trace] => 1

            )

 

        )

 

      [friend] =>

      [feedfriend] =>

      [sendmail] =>

      [groupid] => 1

      [credit] => 0

      [username] => admin

      [name] =>

      [namestatus] => 0

      [domain] =>

      [viewnum] => 0

      [notenum] => 0

      [friendnum] => 0

      [dateline] => 1245599521

      [updatetime] => 0

      [lastsearch] => 0

      [lastpost] => 0

      [lastlogin] => 1254829560

      [lastsend] => 0

      [attachsize] => 0

      [addsize] => 0

      [flag] => 1

      [newpm] => 0

      [avatar] => 0

      [ip] => 127000000

      [mood] => 0

      [self] => 1

      [friends] => Array

        (

        )

 

    )

 

  [space_1_uid] => Array

    (

      [uid] => 1

      [sex] => 1

      [email] =>

      [emailcheck] => 0

      [qq] =>

      [msn] =>

      [birthyear] => 0

      [birthmonth] => 0

      [birthday] => 0

      [blood] =>

      [marry] => 0

      [birthprovince] =>

      [birthcity] =>

      [resideprovince] =>

      [residecity] =>

      [note] =>

      [spacenote] =>

      [authstr] =>

      [theme] => t10

      [nocss] => 0

      [menunum] => 0

      [css] =>

      [privacy] => Array

        (

          [view] => Array

            (

              [index] => 0

              [profile] => 0

              [friend] => 0

              [wall] => 0

              [feed] => 0

              [doing] => 0

              [blog] => 0

              [album] => 0

              [share] => 0

              [mtag] => 0

            )

 

          [feed] => Array

            (

              [doing] => 1

              [blog] => 1

              [album] => 1

              [upload] => 1

              [share] => 1

              [thread] => 1

              [post] => 1

              [mtag] => 1

              [friend] => 1

              [comment] => 1

              [trace] => 1

            )

 

        )

 

      [friend] =>

      [feedfriend] =>

      [sendmail] =>

      [groupid] => 1

      [credit] => 0

      [username] => admin

      [name] => 晴枫

      [namestatus] => 1

      [domain] =>

      [viewnum] => 0

      [notenum] => 0

      [friendnum] => 0

      [dateline] => 1245599521

      [updatetime] => 0

      [lastsearch] => 0

      [lastpost] => 0

      [lastlogin] => 1254831926

      [lastsend] => 0

      [attachsize] => 0

      [addsize] => 0

      [flag] => 1

      [newpm] => 0

      [avatar] => 0

      [ip] => 127000000

      [mood] => 0

      [self] => 1

      [friends] => Array

        (

        )

 

    )

 

  [profield] => Array

    (

      [1] => Array

        (

          [fieldid] => 1

          [title] => 自由联盟

          [note] =>

          [formtype] => text

          [inputnum] => 100

          [choice] =>

          [mtagminnum] => 0

          [manualmoderator] => 0

          [manualmember] => 1

          [displayorder] => 0

        )

 

      [2] => Array

        (

          [fieldid] => 2

          [title] => 地区联盟

          [note] =>

          [formtype] => text

          [inputnum] => 100

          [choice] =>

          [mtagminnum] => 0

          [manualmoderator] => 0

          [manualmember] => 1

          [displayorder] => 0

        )

 

    )

 

  [usergroup] => Array

    (

 

      [1] => Array

        (

          [gid] => 1

          [grouptitle] => 站点管理员

          [system] => -1

          [creditlower] => 0

          [maxfriendnum] => 0

          [maxattachsize] => 0

          [allowhtml] => 1

          [allowcomment] => 1

          [searchinterval] => 0

          [postinterval] => 0

          [allowblog] => 1

          [allowdoing] => 1

          [allowupload] => 1

          [allowshare] => 1

          [allowmtag] => 1

          [allowthread] => 1

          [allowpost] => 1

          [allowcss] => 1

          [allowpoke] => 1

          [allowfriend] => 1

          [allowtrace] => 1

          [edittrail] => 0

          [domainlength] => 1

          [closeignore] => 1

          [seccode] => 0

          [color] => red

          [icon] => image/group/admin.gif

          [manageconfig] => 1

          [managenetwork] => 1

          [manageprofilefield] => 1

          [manageprofield] => 1

          [manageusergroup] => 1

          [managefeed] => 1

          [manageshare] => 1

          [managedoing] => 1

          [manageblog] => 1

          [managetag] => 1

          [managetagtpl] => 0

          [managealbum] => 1

          [managecomment] => 1

          [managemtag] => 1

          [managethread] => 1

          [managespace] => 1

          [managecensor] => 1

          [managead] => 1

          [managesitefeed] => 1

          [managebackup] => 1

          [manageblock] => 1

          [managetemplate] => 1

          [managestat] => 1

          [managecache] => 1

          [managecredit] => 1

          [managecron] => 1

          [managename] => 1

          [manageapp] => 1

          [managetask] => 1

          [managereport] => 1

        )

 

      [5] => Array

        (

          [gid] => 5

          [grouptitle] => 普通会员

          [system] => 0

          [creditlower] => 0

          [maxfriendnum] => 100

          [maxattachsize] => 20971520

          [allowhtml] => 0

          [allowcomment] => 1

          [searchinterval] => 60

          [postinterval] => 60

          [allowblog] => 1

          [allowdoing] => 1

          [allowupload] => 1

          [allowshare] => 1

          [allowmtag] => 1

          [allowthread] => 1

          [allowpost] => 1

          [allowcss] => 0

          [allowpoke] => 1

          [allowfriend] => 1

          [allowtrace] => 1

          [edittrail] => 0

          [domainlength] => 0

          [closeignore] => 0

          [seccode] => 0

          [color] =>

          [icon] =>

          [manageconfig] => 0

          [managenetwork] => 0

          [manageprofilefield] => 0

          [manageprofield] => 0

          [manageusergroup] => 0

          [managefeed] => 0

          [manageshare] => 0

          [managedoing] => 0

          [manageblog] => 0

          [managetag] => 0

          [managetagtpl] => 0

          [managealbum] => 0

          [managecomment] => 0

          [managemtag] => 0

          [managethread] => 0

          [managespace] => 0

          [managecensor] => 0

          [managead] => 0

          [managesitefeed] => 0

          [managebackup] => 0

          [manageblock] => 0

          [managetemplate] => 0

          [managestat] => 0

          [managecache] => 0

          [managecredit] => 0

          [managecron] => 0

          [managename] => 0

          [manageapp] => 0

          [managetask] => 0

          [managereport] => 0

          [credithigher] => 99

        )

    )

)

$_SN:昵称信息

$_SN: Array

(

  [1] => 晴枫

)

举例:

UCHome上增加一个功能,希望某些群组类别下只允许有群组管理的人才能新建群组,其他人无法新建这些类别的群组。只需修改模板中的cp_mtag.htm文件,将如下代码:

<div class="l_status">1. <strong>请选择一个群组分类</strong></div>

<table><tr>

<!--{eval $i=0;}-->

<!--{loop $fields $value}-->

<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>

<!--{if $i%3==2}--></tr><tr><!--{/if}-->

<!--{eval $i++;}-->

<!--{/loop}-->

</tr></table>

更改为:

<div class="l_status">1. <strong>请选择一个群组分类</strong></div>

<table><tr>

<!--{eval $i=0;}-->

<!--{loop $fields $value}-->

 

<!--{eval if(!($_SGLOBAL['usergroup'][$_SGLOBAL['member']['groupid']]['manageprofield'])){ /*判断当前用户是否有群组管理权限*/}-->

<!--{eval if(in_array($value[fieldid], array(1,4,5,6))) continue;/*过滤不允许普通用户创建的群组*/}-->

<!--{eval } }-->

 

<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>

<!--{if $i%3==2}--></tr><tr><!--{/if}-->

<!--{eval $i++;}-->

<!--{/loop}-->

</tr></table>

简单说明一下:$_SGLOBAL['member']['groupid']返回当前用户的用户组编号,$_SGLOBAL['usergroup'][用户组编号]['manageprofield']返回特定用户组是否有群组管理权限,结合起来判断当前用户是否有群组管理权限。

效果就是当管理员登陆后,新建群组可选择所有分类。

2010年08月02日 - 守望者 - wyoojune的博客
 

管理员新建群组界面

而普通会员登录后,新建群组只能选个别分类。

2010年08月02日 - 守望者 - wyoojune的博客
 

普通会员新建群组界面

以上为个人实践的总结,如有不对之处,敬请指出!

本文链接:http://witmax.cn/uchome-global-variables.html

UCHome二次开发】与UCenter的交互解析

UCHome中的一些信息是调用UCenter中的数据,比如说用户密码信息、站内消息、好友信息等。因而对UChome进行二次开发过程中免不了需要了解与UCenter的交互机制。

1、文件说明

UCHome中与UCenter交互的源码文件位于/uc_client/目录下。相关的数据调用函数都位于client.php中,因而在UCHome的代码中只需加入以下代码之后便可使用uc_client中的函数:

include_once S_ROOT.'./uc_client/client.php';

2、函数说明

函数功能及参数说明在源码中已给出,请参看源码。

函数名都是以uc_开头的,所以在UCHome中遇到以uc_开头的函数,便知道是在调用UCenter的数据。

3、配置说明

/config.php有一系列配置与UCenter有关,如未正确配置将使系统运行不正常。相关配置如下:

//应用的UCenter配置信息(可以到UCenter后台->应用管理->查看本应用->复制里面对应的配置信息进行替换)

define('UC_CONNECT', 'mysql');      // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fsocketopen(), mysql 是直接连接的数据库, 为了效率, 建议采用 mysql

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

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

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

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

define('UC_DBCHARSET', 'gbk');      // UCenter 数据库字符集

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

define('UC_DBCONNECT', '0');        // UCenter 数据库持久连接 0=关闭, 1=打开

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

define('UC_API', 'http://127.0.0.1/ucenter'); // UCenter URL 地址, 在调用头像时依赖此常量

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

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

define('UC_APPID', '1');            // 当前应用的 ID, 对应UCenter中的应用 ID

UCenter的数据交互有两种方式,mysql直连数据库方式和socket端口连接方式,建议采用mysql直连数据库方式。

UCHome应用】增加sns人气的客服秘籍

UCHome做为康盛创想推出的新产品受到站长们的普遍欢迎,安装量逐日增高,正加速覆盖地方网站和专业垂直领域的大小网站。伴随着这种普及,有一些站长 发现注册用户虽然已经有几千人了,但是活跃会员却不多。而UCHome这种模式尤其是是各种好玩的游戏,偏偏需要通过很多人之间的互动来提高网站粘性,除 了继续从其他地方拉人过来之外,在站内该怎样努力才好呢?

其实,在我之前写的很多文章里面都提到过网站当中一个重要的角色--客服(客户服务帐号的简称),对于网站来说,除了从技术角度不断打磨和优化页面和代码之外,我们在运营中更多的要依靠客服来发挥作用。

我们可以利用网站管理员或者通过灵活的授权让热心会员,活跃会员担任起客服的职责。下面就来介绍一下UCH客服的秘籍吧!

秘籍一:基本功——设置客服为站点默认好友用户
<!--[if !vml]-->

2010年08月02日 - 守望者 - wyoojune的博客
 

设置,站点默认好友用户后,新注册用户会在第一时间自动加客服为好友,而且会自动接收到系统用客服帐号发出的一个简单的招呼——“打个招呼。这样的好处 是系统帮你完成,起码让网友在第一次登录时发现有人接待。当然,这种默认好友也不宜设置过多,副作用是,用户会发现这样的好友是系统硬推过来的,感觉比较生硬。

秘籍二:批量打招呼提醒新注册用户更换头像;

2010年08月02日 - 守望者 - wyoojune的博客
 

用有用户管理权限的帐号登录后台,点用户,选择没有头像的用户,按照建立时间由近到远排序,就会轻松的找到刚刚注册,但是还没有更新头像的用户,全选之后选择

2010年08月02日 - 守望者 - wyoojune的博客
 

向其打招呼。打招呼的时候选择的语气不妨轻松随意一些,避免过于生硬。

例如,用一个漂亮妹妹的帐号,对他们说:你好啊~换个头像呗~”
虽然UCHome有换头像的任务,但是打招呼就更加人性化一些。

秘籍三:给在线会员打招呼,增加网站活跃气氛;

同样的道理,我们把用户按照更新时间递减排序,就会搜索出最近在线的用户,给这些用户打招呼的效率很高,几乎是一呼百应,可以立刻活跃网站气 氛,也方便做一些即时的通知。也比较适合站长或者网站管理员和活跃会员进行沟通,让活跃会员感觉到站长的存在和好客。而且通过打招呼会有很多网友主动加客服为好友,这个过程要比系统硬推给的好友要舒服而且自然的多。需要说明的是,用谁的帐号登录后台打招呼,这个招呼就是谁发出的。

秘籍四:客服留言的技巧

客服的留言的意义和普通会员的招呼不太一样,因为客服主要应付几种情况:

一、接待新注册用户;
二、适当的回应鼓励用户发表内容;
三、处理站内用户遇到的疑难问题;
四、代表网站官方发布信息,裁定争议;

但是,如果刻意的显示客服的存在会让用户感到受监视和不舒服的感觉,所以,在给普通用户留言的时候,应该尽量的采用网友之间常用的网络语言,例如下面这些:

给没有换模板的会员空间留言:
我换新模板了,来看看吧
你的主页什么都没有哦,来看看我的吧哈哈

给没有任何更新但是有登录的会员空间留言
最近什么都没弄?0..0….

一般性质的互踩:
路过帮你踩踩////
好啊 我来串串门 回啊
来看你啦
记得有时间来我空间看看哦!也帮我涨涨人气嘛!

给没有更换头像或者没有上传照片的会员留言
我怎么看不到你照片呀?
你好啊~换个头像呗~

这些基本上都是提醒和互踩性质的留言,而对于适当回应和鼓励用户发表内容的留言,其实在论坛或其他领域都有很多,比如,女孩上传照片,只要过得去都可以说漂亮”“挺有气质的;有人写一些对爱情的感受,可以根据情况说一些不痛不痒的话,例如爱情就是这样”“究竟什么才是爱,这些都可以自由发挥了,总之要让作者有受重视的感觉。

秘籍五:客服批量邮件

首先,系统内置了类似功能,我们可以设置一个时间段,当用户超过该时间段没有登陆时,系统会自动的发送通知邮件以此提醒用户登录,通知的内容一般为某某某加你为好友某某某给你打招呼
<!--[if !vml]-->

2010年08月02日 - 守望者 - wyoojune的博客
 

同样的在批量管理中的用户栏目,我们可以自定义的针对特定的用户,批量的发送一些有意思的邮件,以此来通知暂时离开的会员回来继续参与互动。如下图
<!--[if !vml]-->

2010年08月02日 - 守望者 - wyoojune的博客
 

类似的还可以借鉴开心网病毒式的邮件通知:

我是你的宠物,我有新情况汇报
你已经有15天不来开心了,敢来看看吗?
你已经有16天不来开心了,是去拯救金融危机了?
你已经17天不来开心了,你是不是怕了?
注意,有人去了你的开心农场
几天不见,太阳晒得地都干了,去经营一下我的农场
有人想在开心网上明确你俩之间的关系,点击下面链接查看

另外,有一些特殊活动的通知,也适合用邮件通知。但是由于这种大量的邮件发送会加重网站的负担,在执行是要注意避开上网高峰时段和掌握发送的频率。

posted on 2011-05-30 11:50  文淇的技术日记  阅读(409)  评论(0)    收藏  举报

导航