第一章:【UCHome二次开发】uchome文件体系介绍

来源:互联网 发布:linux系统移植 刘刚 编辑:程序博客网 时间:2024/06/04 08:38

站点结构图


UCHOME安装后的主要目录与文件介绍

目录

文件介绍

admin/

管理后台

api/ 

API函数[插件开发与模板等的修改不需要动此文件]

attachment/

附件目录

data/

缓存目录,此目录要有777权限,系统相关缓存基本上都在这里了

data/tpl_cache/

模板缓存目录,注意,如果你的UCH白屏了,无法进入后台跟新缓存,通过FTP手工删除此目录下的所有文件即可相当于模板缓存的更新

image/

图片目录

language/

语言目录 ,跳转提示语言等

source/

PHP源程序目录,类文件,分步处理文件

template/

模板目录

theme/

个人主页目录

uc_client/ucenter

客户端 [插件开发与模板等的修改不需要动此文件]

Install/

安装时用到,安装完毕建议删除

common.php

通用文件,所有的文件都要包含这个文件

config.php

基本配置文件  定义了$_SC数组和ucenter通讯的常量

editor.php

编辑器的入口文件,强烈建议您不用动他

network.php

随便看看等入口文件  调用source文件夹下的 network.php文件


文件入口参数列表及详细介绍

文件入口

文件详细动作

admincp.php?ac=*

 

后台管理入口文件

调用admin文件夹下的php文件

    │   ├─admincp_ad.php             广告设置

    │   ├─admincp_album.php          相册

    │   ├─admincp_app.php            UCenter应用

    │   ├─admincp_backup.php         数据备份

    │   ├─admincp_block.php          数据调用

    │   ├─admincp_blog.php           日志

    │   ├─admincp_cache.php          缓存更新

    │   ├─admincp_censor.php         词语屏蔽

    │   ├─admincp_click.php          表态动作

    │   ├─admincp_comment.php        评论/留言

    │   ├─admincp_config.php         站点设置

    │   ├─admincp_credit.php         积分规则

    │   ├─admincp_cron.php           系统计划任务

    │   ├─admincp_doing.php          记录

    │   ├─admincp_event.php          活动

    │   ├─admincp_eventclass.php     活动分类

    │   ├─admincp_feed.php           动态(feed)

    │   ├─admincp_hotuser.php        推荐成员设置  默认好友设置

    │   ├─admincp_index.php          管理首页

    │   ├─admincp_ip.php             访问IP设置

    │   ├─admincp_log.php            系统log记录

    │   ├─admincp_magic.php          道具设置

    │   ├─admincp_magiclog.php       道具记录

    │   ├─admincp_mtag.php           群组

    │   ├─admincp_network.php        随便看看

    │   ├─admincp_pic.php            图片

    │   ├─admincp_poll.php           投票

    │   ├─admincp_post.php           回帖

    │   ├─admincp_privacy.php        隐私设置

    │   ├─admincp_profield.php       群组栏目

    │   ├─admincp_profilefield.php   用户栏目

    │   ├─admincp_report.php         举报

    │   ├─admincp_share.php          分享

    │   ├─admincp_space.php          用户管理

    │   ├─admincp_spam.php           防灌水设置

    │   ├─admincp_stat.php           统计更新

    │   ├─admincp_tag.php            标签

    │   ├─admincp_task.php           有奖任务

    │   ├─admincp_thread.php         话题

    │   ├─admincp_userapp.php        MYOP应用

    │   ├─admincp_usergroup.php      用户组

cp.php?ac=*

编辑日志、相册、活动等等相关编辑操作基本上都从这个文件入口

 

调用source文件夹下的操作文件

    │   ├─cp_advance.php     高级管理

    │   ├─cp_album.php       相册管理

    │   ├─cp_avatar.php      我的头像

    │   ├─cp_blog.php        日志管理 包含日志的编辑删除等信息

    │   ├─cp_class.php       日志分类管理

    │   ├─cp_click.php       表态动作的处理

    │   ├─cp_comment.php     评论的操作

    │   ├─cp_common.php      举报违规,在好友的面板上,还有屏蔽通知

    │   ├─cp_credit.php      我的积分

    │   ├─cp_doing.php       删除记录,回复spacenote

    │   ├─cp_domain.php

    │   ├─cp_event.php       事件管理,活动管理

    │   ├─cp_feed.php

    │   ├─cp_friend.php      好友管理

    │   ├─cp_import.php      日志导入

    │   ├─cp_invite.php      邀请好友

    │   ├─cp_magic.php       道具的赠送购买

    │   ├─cp_mtag.php        群组

    │   ├─cp_password.php    修改密码

    │   ├─cp_pm.php          短消息操作

    │   ├─cp_poke.php        打招呼

    │   ├─cp_poll.php        投票

    │   ├─cp_privacy.php     隐私筛选

    │   ├─cp_profile.php     个人资料

    │   ├─cp_relatekw.php

    │   ├─cp_sendmail.php    发送邮件

    │   ├─cp_share.php       分享

    │   ├─cp_space.php       应用隐藏

    │   ├─cp_task.php        任务

    │   ├─cp_theme.php       个性化设置

    │   ├─cp_thread.php      群组处理

    │   ├─cp_top.php

    │   ├─cp_topic.php

    │   ├─cp_upload.php

    │   ├─cp_userapp.php

    │   ├─cp_videophoto.php

do.php?ac=*

登录、注册、找回密码、相册批量上传、在需要密码的情况下才能查看日志相册、验证码、发送邮件、统计、邮件验证等行为的入口文件

调用source文件夹下的操作文件

    │   ├─do_ajax.php

    │   ├─do_emailcheck.php

    │   ├─do_inputpwd.php

    │   ├─do_login.php               登陆

    │   ├─do_lostpasswd.php          找回密码

    │   ├─do_register.php            注册

    │   ├─do_seccode.php

    │   ├─do_sendmail.php

    │   ├─do_stat.php

    │   ├─do_swfupload.php

magic.php?mid=*

道具入口文件

调用source文件夹下的操作文件

    │   ├─magic_anonymous.php

    │   ├─magic_attachsize.php

    │   ├─magic_bgimage.php

    │   ├─magic_call.php

    │   ├─magic_color.php

    │   ├─magic_detector.php

    │   ├─magic_doodle.php

    │   ├─magic_downdateline.php

    │   ├─magic_flicker.php

    │   ├─magic_frame.php

    │   ├─magic_friendnum.php

    │   ├─magic_gift.php

    │   ├─magic_hot.php

    │   ├─magic_icon.php

    │   ├─magic_invisible.php

    │   ├─magic_reveal.php

    │   ├─magic_superstar.php

    │   ├─magic_thunder.php

    │   ├─magic_updateline.php

    │   ├─magic_viewmagic.php

    │   ├─magic_viewmagiclog.php

    │   ├─magic_viewvisitor.php

    │   ├─magic_visit.php

space.php?do=*

 

个人空间、日志、相册、活动等入口文件

 

调用source文件夹下的相关文件

    │   ├─space_album.php

    │   ├─space_blog.php

    │   ├─space_doing.php

    │   ├─space_event.php

    │   ├─space_feed.php

    │   ├─space_friend.php

    │   ├─space_index.php

    │   ├─space_info.php

    │   ├─space_mood.php

    │   ├─space_mtag.php

    │   ├─space_notice.php

    │   ├─space_pm.php

    │   ├─space_poll.php

    │   ├─space_share.php

    │   ├─space_tag.php

    │   ├─space_thread.php

    │   ├─space_top.php

    │   ├─space_topic.php

    │   ├─space_videophoto.php

    │   ├─space_wall.php


数据调用图示

我们一般修改UCH主要涉及的入口文件有space.php  network.php  do.php  cp.php这四个,那么我们如何根据你访问的URL判断涉及到那些PHP文件和模板文件,方便您的进一步修改!

do.php入口文件分析

举个例子,如果我们使用找回密码功能,通常链接如下:do.php?ac=lostpasswd,而注册的链接一般分两种,一种是do.php?ac=后台自定义登录识别名
另一种是do.php?ac=随机
好了,我们进入do.php文件中继续看看:

//这个是公用文件,在上篇已详细解释了内容include_once(’./common.php’); //获取方法  获取do.php?ac中ac的值$ac = empty($_GET['ac'])?”:$_GET['ac']; //自定义登录if($ac == $_SCONFIG['login_action']) {//这里的全局变量$_SCONFIG['login_action']就是ac=自定义标示名或那个随机串,如果相同则把原来的do.php?ac=XXXX抓换成类似效果do.php?ac=login$ac = ‘login’;} elseif($ac == ‘login’) {ac = ‘’;}if($ac == $_SCONFIG['register_action']) {//这里的全局变量$_SCONFIG['register_action']//就是ac=就是后面的自定义标示名或那个随机串,如果相同则把原来的do.php?ac=XXXX抓换成类似效果do.php?ac=register$ac = ‘register’;} elseif($ac == ‘register’) {$ac = ”;}//允许的方法//这里很重要,login对应的是登录,register定义的是注册,lostpasswd定义的是找回密码,与上面访问的URL是否是对应上了//对应上面的do.php?ac=login,do.php?ac=register,do.php?ac=lostpasswd,其他类似!如果ac后的参数不在下面的数组中,则为非法。跳转到首页$acs = array(’login’, ‘register’, ‘lostpasswd’, ’swfupload’, ‘inputpwd’,‘ajax’, ’seccode’, ’sendmail’, ’stat’, ‘emailcheck’);if(empty($ac) || !in_array($ac, $acs)) {showmessage(’enter_the_space’, ‘index.php’, 0);}//链接$theurl = ‘do.php?ac=’.$ac;//这是包含文件的意思,继续执行一下文件的意思,//其中S_ROOT是UCHOME安装目录的常量//根据下面的语句,我们可以这样判断,如果链接是do.php?ac=lostpasswd的话,程序继续执行source/do_lostpasswd.php文件!include_once(S_ROOT.’./source/do_’.$ac.’.php’);

不知道大家是否能理解,不理解多看几遍!

好了,我们找到source/do_lostpasswd.php文件看下,这个文件代码较多,我们不用管他,最主要的是我们要找到其对应的模板,
查找下include template这个语句【注:在其他php文件中可能有多个结果,那是因为不同条件下包含不同的模板】。你就会发现在末尾找到

include template(’do_lostpasswd’);

这就是模板名,这个记住规则,do_lostpasswd对应的模板是do_lostpasswd.htm名。那么这个文件在哪个位置呢?
我们系统目录template/下有 默认的default,blue,green这三个文件夹,对应不同的风格,如果你安装了其他风格,可能还有其他目录。
系统是如何查找do_lostpasswd.htm呢?
大家记得在后台有一个模板选择的下拉表吗?系统会在你选择的模板风格文件夹下查找do_lostpasswd.htm,如果找不到则在去default目录下查找。

注意: 为了提供效率,模板并不是每次都编译的,严格的来说,UCHOME会先判断对应的模板是否被解析过了【查找data/tpl_cache/目录下是否有对应的模板缓存】
如果没有的话才会去按上面的规则去查找。

基本上,按照以上思路就可以根据链接找到匹配的程序文件和模板文件了


所有章节下载:http://download.csdn.net/source/3579636

文章摘自:http://wenku.baidu.com/view/ffd8a5c14028915f804dc2e0.html


原创粉丝点击