‘Uchome分析’ 的分类列表

开始写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分析的文章

Uchome2.0 AJAX框架分析(一)注册模块——验证码功能分析

《Uchome2.0 AJAX框架分析》系列教程有两个目的,

一是为了帮助那些进行Uchome二次开发的朋友们更好的理解Uchome的源代码

二是为了从Uchome2.0中剥离出一套AJAX框架,方便大家在日后的WEB程序开发中能够轻松的使用来自康盛的框架开发出更加标准的更加符合用户体验的产品出来

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积分机制分析

A:管理员在后台修改积分规则
B:数据被写入数据表creditrule 中,其中rewardtype=1表示奖励措施rewardtype=0表示处罚措施

并将数据写入缓存文件data/data_creditrule.php 中
C:用户发表文章或者进行其他操作的时候,通过getreward函数来获取奖罚积分

D:然后通过SQL语句将数据写入用户数据库表space中,从而增加或减少用户积分

E:getreward函数部分通过包含data/data_creditrule.php 缓存文件来调用积分规则

UCHOME2.0缓存机制分析

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

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

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

UCHOME2.0架构

整体架构:

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

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