开始写Uchome API

最近要做一个Uchome的本地小插件,于是去Uchome的API目录看了下,其中有个my.php的文件。看起来非常像Uchome提供的API。于是就花了点时间看代码,谁知道看了半天才发现原来是漫友的API,所以想自己写一个完善点的功能强大点的API,包含前后台的操作调用的API

UCHOME商业授权

本来想搞个UCHOME的商业版插件的,于是去问了问康盛的客服,看一下需要怎样操作,下面是聊天内容:希望能够给同样需要了解的朋友一点帮助

Uchome2.0 AJAX框架分析(二)注册模块——用户名验证分析

接着上面的注册模块来,下面来说说Uchome2.0注册模块中运用Ajax来验证用户名的合法性。

用户名的合法性包含下列几种情况

文章被收录在PHPer第23期

今天登陆PHPCHINA发现管理员在27号给我发了个站内短信,要我写上个人简介,说是收录了我两篇关于uchome2.0分析的文章

UC Home后台管理,功能模块添加流程

此方法针对的是Uchome1.5版
打开 admincp.php,如下图所示,添加一个数组

在下列代码处添加入新加入的数组的信息,否则会跳转到 admincp.php?ac=info

根据上述 array 的数量,更改下图中 $i 的值

在 admin/tpl/header.htm文件中加入第一步添加的数组的值的显示内容

在 admin/tpl/side.htm文件,复制如下内容,并做相应修改,因为包含 info 和 infoclass 的数组在 $acs 数组中的索引值是4,所以要显示该版块,将下图标注值更改为 4即可

添加版块中的链接的形式为 admincp.php?ac=info,该地址会调用相应的 admin/ admin_info.php 和 admin/tpl/info.htm 文件(这两个文件需要自行创建)

为避免用户使用链接地址直接访问管理页面,需要在 admin_info.php 页面中加入以下代码,只允许有配置权限的用户调用相应的管理页面

//权限

if(!checkperm(‘manageconfig’)) {

cpmessage(‘no_authority_management_operation’);

}

UCHOME2.0登录验证机制分析

Uchome2.0采用cookie+数据库的方式来进行用户登录验证的

1:登录

A:用户填好登录表单之后数据被提交给source\do_login.php 处理

B:在do_login.php中下面这些语句接收传递来的用户名密码与cookie生效时间

UCHOME2.0权限机制分析

1:隐私机制

全站用户默认隐私

A:管理员在后台设置全站默认的隐私规则,数据被储存在config表中,以如下方式储存

B:更新config缓存文件data\data_config.php将数据存于$_SCONFIG[privacy][view]数组中

C:在space.php入口文件里通过ckprivacy($type, $feedmode=0)函数来检查是否具有某权限

UCHOME2.0动态机制分析

1:全局动态设置

A:管理员在后台设置全站默认的动态规则,数据被储存在config表中,以如下方式储存

UCHOME2.0道具机制分析

Uchome中的道具不是在一个地方统一使用的,而是分散在文章,空间,图片,好友等处

A:道具设定

管理员在后台设定某个道具的功能与参数,然后更新magic数据表

B:道具功能是由magic.php 文件转发(路由)的

C:道具购买:

UCHOME2.0缓存机制分析

缓存分为“模板文件缓存”、“模块数据缓存”、“系统配置缓存”以及“其他缓存”

模板文件缓存机制(采用从顶向下的方法来分析)

1:在要显示的页面通过include template($name) 语句来包含被编译后的模板文件

UCHOME2.0架构

整体架构:

UCHOME2.0并不是基于跟Ucenter一样的MVC模式来开发的,而是采用多点入口模式开发的。

什么叫做多点入口呢?就是说整个程序只有固定的几个入口,这几个入口文件作为调度文件,他们就像一个传达室,根据传递不同的参数,他们调用不同的文件来处理你的请求