UCHOMe重要函数

来源:互联网 发布:剑灵捏脸数据导入图片 编辑:程序博客网 时间:2024/05/22 15:08
UCHome作为一个完备可扩展的开源SNS,给大家带来很多方便。但是要想彻底玩转UCHome,摆脱UC系列规定和约束,那么就要深度探讨研究下他的框架核心与代码结构了。
1、UCenter Home核心三剑客。
function_common.php、function_template.php、function_cache.php
这三个文件都在uchome的source文件夹下,是三个最基本的常用库。
function_common.php 提供常用uchome封装的常用函数,例如获取post过来的字符串,获取用户身份,插入数据,更新数据,日志,模板调用接口,其中 getstr,insertable,updatetable几个函数非常实用和方便。
function_template.php模板函数文件,提供模板文件的解析方法,被function_common文件中的template调用,用 以将template目录下xxx.htm文件解析成xxx.php文件,将模板语法的代码转义为,用 loop 来指代 foreach,解析的代码也不复杂,主要是对preg_replace进行正则表达式替换。通过这种方式我们就不需要在嵌入内容的时候显示php与 html的混合编码了,而是用标准的html标注文件替换。
function_cache.php提供缓存的写入与更新,最重要的方法是cache_write方法,声明如下:
function cache_write($name, $var, $values)
如果想把员工数据缓存,那么对于
$staff = array('name'=>'hankshuang','age'=>25);
就调用方法cache_write('staffcache','staff',$staff);想读取缓存内容则直接include下的这个data_staffcache.php文件就得到$staff对象了,是不是很简单O(∩_∩)O~。
以上是UCenter Home三剑客的简单描述,如果你运用好,则足够打造一个快捷实用的系统了。当然UCenter Home中还有一些非常好的函数:比如图像处理,邮件发送,定时任务这些,设计都很巧妙,对于提高php开发技能很有帮助。
下面我们来逐步分析下三剑客内函数功能。
打开function_common.php文件,我们会看到
if(!defined('IN_UCHOME')) {
exit('Access Denied');
}
其实这个代码在所有的source文件行首存在,是用来判断代码是否定义了IN_UCHOME常量,如果没有定义则禁止访问该库。该常量在UCHome根目录下的common.php文件最开始定义:
@define('IN_UCHOME', TRUE);
用来防止被恶意用户直接调用其他的PHP文件,而非是common.php中调用。其实这只是一个君子协定,我们如果在自己的代码调用UCHome库时定义IN_UCHOME,则可以绕开检测程序。代码如下:
!defined('IN_UCHOME')&&@define('IN_UCHOME', TRUE);

为了文章不罗嗦,我列出了function_common.php中所有的函数声明,并注解参数:
(1)function saddslashes($string); //将字符串对象或数组对象中出现的单引号(')、双引号(")以及反斜杠(\)变成转义符
(2)function shtmlspecialchars($string); //将字符串中的html标签去除,输入字符串,返回 经过处理后的字符串
(3)function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0);//字符串加密解密
(4)function clearcookie() ;//清空cookie
(5)function ssetcookie($var, $value, $life=0);//cookie设置,输入参数 cookie名,cookie值以及生存周期(0表示无限制)
(6)function dbconnect(); //连接数据库 实例化dbstuff 对象,可以针对该对象对数据库进行相关操作
(7)function getonlineip($format=0); //获取用户IP 输入参数无 返回参数ip字符串 也可以再$_SGLOBAL['onlineip']获取
(8)function checkauth(); //判断当前用户的登录状态 (session表和member表)
(9)function getuserapp(); //获取用户app列表 输入参数无
(10)function tname($name);//获取到表名 输入参数 表名 返回 带前缀的表全称,例如 入口是'member' 输出为'uchome_member'
(11)function showmessage($msgkey, $url_forward='', $second=1, $values=array()); //跳转对话框 输入参数 消息显示参数,如果系统不存在则作为消息内容显示,显示后跳转地址,跳转延迟时间,$values数组不详。
(12)function submitcheck($var);//判断提交是否正确
(13)function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0);//添加数据到指定表中
(14)function updatetable($tablename, $setsqlarr, $wheresqlarr, $silent=0); //更新指定表的数据
(15)function getspace($key, $indextype='uid', $auto_open=0);//获取用户空间信息
(16)function getuid($name);//获得用户UID,输入参数 用户名
(17)function getmember();//获取当前用户信息
(18)function ckprivacy($type, $feedmode=0);//检查隐私
(19)function app_ckprivacy($privacy);//检查APP隐私
(20)function getgroupid($experience, $gid=0);//获取用户组
(21)function checkperm($permtype);//检查权限
(22)function runlog($file, $log, $halt=0);//写运行日志
(23)function getstr($string, $length, $in_slashes=0, $out_slashes=0, $censor=0, $bbcode=0, $html=0);//获取字符串
(24)function sgmdate($dateformat, $timestamp='', $format=0);//时间格式化
(25)function sstrtotime($string);//字符串时间化
(26)function multi($num, $perpage, $curpage, $mpurl, $ajaxdiv='', $todiv='');//分页
(27)function smulti($start, $perpage, $count, $url, $ajaxdiv='');//分页处理
(28)function obclean();//ob
(29)function template($name);//模板调用
(30)function subtplcheck($subfiles, $mktime, $tpl);//子模板更新检查
(31)function block($param);//模块
(32)function getcount($tablename, $wherearr=array(), $get='COUNT(*)');//获取数目
(33)function ob_out(); //调整输出
(34)function xml_out($content); //??
(25)function rewrite_url($pre, $para);//rewrite连接
(26)function iframe_url($url);//外链
(27)function stripsearchkey($string);//处理搜索关键字
(28)function cksearch($theurl);//检查搜索
(29)function isholddomain($domain);//是否屏蔽二级域名
(30)function simplode($ids);//连接字符
(31)function debuginfo();//显示进程处理时间
(32)function formatsize($size);//格式化大小函数
(33)function sreadfile($filename);//获取文件内容
(34)function swritefile($filename, $writetext, $openmod='w');//写入文件
(35)function random($length, $numeric = 0);//产生随机数
(36)function strexists($haystack, $needle);//判断字符串是否存在
(37)function data_get($var, $isarray=0);//获取数据
(38)function data_set($var, $datavalue, $clean=0);//更新数据
(39)function checkclose();//检查站点是否关闭
(40)function getsiteurl();//站点链接
(41)function fileext($filename);//获取文件后缀
(42)function sstripslashes($string);//去掉slassh
(43)function adshow($pagetype);//显示广告
(44)function siconv($str, $out_charset, $in_charset='');//编码转换
(45)function getpassport($username, $password);//获取用户数据
(46)function interval_check($type);//用户操作时间间隔检查
(47)function pic_get($filepath, $thumb, $remote, $return_thumb=1);//处理上传图片连接
(48)function pic_cover_get($pic, $picflag);//获得封面图片链接
(49)function getstar($experience);//处理积分星星
(50)function getfriendstatus($uid, $fuid);//获取好友状态
(60)function renum($array);//重新组建
(61)function ckfriend($touid, $friend, $target_ids='');//检查定向
(62)function mkfeed($feed, $actors=array());//整理feed
(63)function mktarget($html);//整理feed的链接
(64)function mkshare($share);////整理分享
(65)function ipaccess($ipaccess);//ip访问允许
(66)function ipbanned($ipbanned);//ip访问禁止
(67)function ckstart($start, $perpage);//检查start
(68)function avatar($uid, $size='small', $returnsrc = FALSE);//处理头像
(69)function avatar_file($uid, $size);//得到头像
(70)function checklogin();//检查是否登录
(71)function lang($key, $vars=array());//获得前台语言
(72)function cplang($key, $vars=array()); //获得后台语言
(73)function lang_replace($text, $vars);//语言替换
(74)function getfriendgroup();//获得用户组名
(75)function sub_url($url, $length);//截取链接
(76)function realname_set($uid, $username, $name='', $namestatus=0);//获取用户名
(77)function realname_get();//获取实名
(78)function getmtag($id);//群组信息
(79)function sarray_rand($arr, $num=1);//取数组中的随机个
(80)function space_key($space, $appid=0);//获得用户唯一串
(81)function space_domain($space);//获得用户URL
(82)function formhash();//产生form防伪码
(83)function isemail($email);//检查邮箱格式是否有效
(84)function question();//验证提问
(85)function my_checkupdate();//输出MYOP升级信息脚本
(86)function g_icon($gid);//获得用户组图标
(87)function g_color($gid);//获得用户颜色
(88)function ckfounder($uid);//检查是否操作创始人
(89)function sreaddir($dir, $extarr=array());//获取目录
(90)function getreward($action, $update=1, $uid=0, $needle='', $setcookie = 1);//获取指定动作能获得多少积分
(91)function checkcheating($creditlog, $needle, $norepeat);//防积分重复奖励同个人或同信息
(92)function topic_get($topicid);//获得热点
(93)function mob_perpage($perpage);//自定义分页
(94)function ckspacelog();//检查用户的特殊身份

function_template.php函数列表如下:
(1)function parse_template($tpl);//模板转换函数,该函数将模板内容中UCHome自定义嵌入代码转换为标准的PHP代码,并保存为相应的php文件到data/tpl_cache/ 中。输入函数:模板名称
(2)function addquote($var); //将转义字符\\\'编程\'转义符
(3)function striptagquotes($expr); //处理
(4)function evaltags($php); //处理eval标记
(5)function blocktags($parameter);//处理块标记
(6)function adtags($pagetype);//转换成广告显示代码
(7)function datetags($parameter);//将日期标记转换为
(8)function avatartags($parameter);//将会员头像标记转为
(9)function stripvtags($expr, $statement='');//不详
(10)function readtemplate($name);//读取模板内容,输入模板名称或者路径,返回模板内容

function_cache.php函数列表如下:
(1)function config_cache($updatedata=true); //更新uchome的配置文件
(2)function network_cache(); //更新network配置文件
(3)function usergroup_cache();//更新用户组cache
(4)function profilefield_cache();//更新用户栏目cache
(5)function profield_cache();//更新群组栏目缓存
(6)function censor_cache();//更新词语屏蔽
(7)function creditrule_cache();//更新积分规则
(8)function ad_cache(); //更新广告缓存
(9)function task_cache();//更新用户向导任务
(10)function click_cache();//更新点击器
(11)function block_cache();//更新模块
(12)function tpl_cache();//更新模板文件
(13)function block_data_cache();//更新模块缓存
(14)function userapp_cache();//更新MYOP默认应用
(15)function app_cache();//更新应用名
(16)function eventclass_cache();// 更新活动分类
(17)function magic_cache();//更新道具信息
(18)function deltreedir($dir);//递归清空目录
(19)function arrayeval_r($array, $level = 0);//数组转换成字串
(20)function cache_write($name, $var, $values);//写入缓存
原创粉丝点击