欢迎来到抓润网

帝国CMS二次开发引用函数文件

来源: 互联网 日期: 2020-07-13 20:32:54

  

PHP Code复制内容到剪贴板
  1. <?php  
  2. define('EmpireCMSAdmin','1');  
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
  7. require(ECMS_PATH."e/class/com_functions.php");  
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
  13. $link=db_connect();  
  14. $empire=new mysqlquery();  
  15. $editor=1;  
  16. //-------- 分页参数 --------  
  17. $page=(int)$_GET['page'];  
  18. $start=0;  
  19. $line=30; //每页显示记录数  
  20. $page_line=8; //每页显示分页链接数  
  21. $offset=$page*$line//总偏移量  
  22. //-------- 查询SQL --------  
  23. //取得信息总数  
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
  25. $num=$empire->gettotal($totalquery);  
  26. //select查询SQL  
  27. $query="select * from {$dbtbpre}release_money";  
  28. $query.=" order by id desc limit $offset,$line";  
  29. $sql=$empire->query($query);  
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
  31. ?>  
  32. <html>  
  33. <head>  
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  35.     <title>用户消费记录预览</title>  
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
  37. </head>
  38.     <body>  
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
  40.             <tbody>  
  41.                 <tr>   
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
  43.                 </tr>  
  44.             </tbody>  
  45.         </table>  
  46.         <form name="form1" method="get" action="?act=a">  
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
  48.             <tbody><tr>   
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
  51.                 <input type="submit" name="Submit" value="搜索">  
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
  53.             </tr>  
  54.         </tbody>  
  55.     </table>  
  56. </form>  
  57. <table width="800" class="tableborder" cellpadding="3">  
  58.     <tbody>  
  59.       <tr class="header" height="30">   
  60.         <td>ID</td>  
  61.         <td>用户名/用户ID</td>  
  62.         <td>信息</td>  
  63.         <td>扣款</td>  
  64.         <td>时间</td>  
  65.     </tr>  
  66.     <?php  
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
  68.     {  
  69.         ?>  
  70.         <tr height="30" bgcolor="#FFFFFF">  
  71.           <td><?=$row['id']?></td>  
  72.           <td><?=$row['userid']?></td>  
  73.           <td><?=$row['infoid']?></td>  
  74.           <td><?=$row['money']?></td>  
  75.           <td><?=$row['time']?></td>  
  76.       </tr>  
  77.       <?php  
  78.   }  
  79.   ?>  
  80.     <tr bgcolor="#FFFFFF">  
  81.         <td colspan="5"><?=$listpage?></td>  
  82.     </tr>  
  83. </table>
  84. </body>  
  85. </html>  
  86. <?  
  87. db_close();  
  88. $empire=null;  
  89. ?>  

 

CMS COOKIE 及其 管理员/会员 登陆信息获取方式

PHP Code复制内容到剪贴板
  1. <?php  
  2. include("./e/class/connect.php");    
  3.     
  4. //后端Back-End    
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    
  12. $loginusername      = getcvar('loginusername',1);     //用户名    
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    
  14.     
  15. //前端Front-End    
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    
  17. $rnd      =getcvar('mlrnd');       //认证码加密    
  18. $userid   =getcvar('mluserid');    //会员ID    
  19. $username =getcvar('mlusername');  //会员用户名  
  20. echo $username.'<br/>';    
  21. ?>  

 

例:

PHP Code复制内容到剪贴板
  1. <?php  
  2. //会员信息  
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
  6. if($tmgetuserid)    //已登录  
  7. {  
  8. }else{//未登录  
  9. };  
  10. ?>  

 

 


 

PHP Code复制内容到剪贴板
  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7));  

 

 

帝国CMS封装后的增、删、改、查语句:

PHP Code复制内容到剪贴板
  1. //修改  
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
  3.   
  4. //插入  
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
  6.   
  7. //删除  
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
  9.   
  10. //查询单条数据  
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
  12.   
  13. //查询多条数据  
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
  15. while($praise=$empire->fetch($sql)){  
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
  17.   if($res){  
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
  19.   }  
  20. }  

 

设置指定表的索引字段,增加查询效率

PHP Code复制内容到剪贴板
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )  

 

FIND_IN_SET(str,strlist)函数

PHP Code复制内容到剪贴板
  1. //筛选包含product的,并且对question_id去重  
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
  3.   
  4.   
  5. //筛选不包含product的,并且对question_id去重  
  6. SELECT * FROM `mcc_service_question_options` GROUP BY question_id HAVING !FIND_IN_SET('product', GROUP_CONCAT(TYPE))  

 

str 要查询的字符串

strlist 字段名 参数以”,”分隔 如 (1,2,6,8)

查询字段(strlist)中包含(str)的结果,返回结果为null或记录

DEMO:

 

PHP Code复制内容到剪贴板
  1. //查询area中包含”1″这个参数的记录  
  2. SELECT * from test where FIND_IN_SET('1',area)  
  3.   
  4. //查询btype字段中包含”15″这个参数的值  
  5. SELECT * from test where FIND_IN_SET('15',btype)  

 

FIND_IN_SET和like的区别

like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。

 

读取单条数据库记录函数:(不循环)

PHP Code复制内容到剪贴板
  1. $empire->fetch1("SQL语句")  
  2.    
  3. 使用范例:  
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
  5. echo"标题:".$r['title'];  
  6.    
  7. 4、统计SQL查询记录数函数:  
  8. $empire->num("SQL语句")  
  9. $empire->num1($sql)  
  10.    
  11. 说明:  
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
  13.    
  14. 使用范例:  
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
  16. echo"新闻表共有 ".$num." 条新闻";  

 

统计SQL查询记录数函数2:(相对于num更高效的函数)

PHP Code复制内容到剪贴板
  1. $empire->gettotal("统计SQL语句");  
  2.    
  3. 说明:  
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
  6.    
  7. 使用范例:  
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
  9. echo"新闻表共有 ".$num." 条新闻";  

 

 

 

取得刚插入表的自增ID值函数

PHP Code复制内容到剪贴板
  1. 使用范例:  
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
  3. $lastid=$empire->lastid();  
  4. echo"刚插入的信息ID为:".$lastid;  

 

移动SQL查询结果记录指针

PHP Code复制内容到剪贴板
  1. $empire->seek($sql,$pit)  
  2.    
  3. 说明:  
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
  5.    
  6. 使用范例:  
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
  8. $empire->seek($sql,2);  

 

释放SQL查询结果函数:(一般不需要使用)

PHP Code复制内容到剪贴板
  1. $empire->free($sql)  
  2.    
  3. 说明:  
  4. $sql为query执行SQL返回的结果。  
  5.    
  6. 使用范例:  
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
  8. $empire->free($sql);  

 

帝国CMS常用函数介绍

一、esub()截取字段函数
语法:esub(字符串,截取字数,后缀)
说明:后缀为截取字符后附带内容,此参数可以省略。
使用范例:
<?=esub('12345678',6)?>,返回结果为:123456
<?=esub('12345678',6,'...')?>,返回结果为:123456...



二、date()转换时间格式函数
语法:date(时间格式,时间戳)
说明:PHP本身函数,使用说明可以参考:http://cn2.php.net/manual/en/function.date.php
使用范例:
<?=date('Y-m-d H:i:s',1277865010)?>,返回结果为:2010-06-30 10:30:10



三、format_datetime()转换时间格式函数2
语法:format_datetime(正常时间,时间格式)
说明:和date()的区别是format_datetime是转换正常时间,而date是转换unix时间戳。
使用范例:
<?=format_datetime('2010-06-30 10:30:10','m/d')?>,返回结果为:06/30



四、通过ID取得栏目地址函数
语法:sys_ReturnBqClassname($r,9)
说明:$r为含栏目ID的数组,变量名可任意命名。
使用范例:取得栏目ID=2的栏目地址。
<?php
$cr['classid']=2;
$classurl=sys_ReturnBqClassname($cr,9);
echo $classurl;
?>

通过ID取得栏目地址的其他方法:
(1)、/e/public/ClassUrl/?classid=栏目ID
(2)、/<?=$class_r[栏目ID]['classpath']?>



五、取得信息内容页地址函数
语法:sys_ReturnBqTitleLink($r)
说明:$r为含“id,classid,newspath,filename,groupid,titleurl”字段内容的数组,变量名可任意命名。
使用范例:取得信息ID=8的新闻页面地址
<?php
$nr=$empire->fetch1("select id,classid,newspath,filename,groupid,titleurl from {$dbtbpre}ecms_news where id='8' limit 1");
$titleurl=sys_ReturnBqTitleLink($nr);
echo $titleurl;
?>


通过ID取得信息内容页地址的其他方法:
/e/public/InfoUrl/?classid=栏目ID&id=信息ID



六、提示信息函数1
语法:printerror($error,$gotourl,$ecms,$noautourl,$novar)
说明:
$error:提示信息内容,可以为语言包变量,也可以直接提示内容。
$gotourl:提示信息转向链接地址
$ecms:0为后台提示信息、1为前台提示信息、8为后台提示信息(alert方式)、9为前台提示信息(alert方式)
$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0
$novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0
使用范例:
printerror('DbError','http://www.phome.net',1),前台提示,提示信息内容为语言包DbError变量内容,转向帝国网站
printerror('数据库出错','http://www.phome.net',1,0,1),前台提示,提示信息内容为“数据库出错”,转向帝国网站
附加说明:
此函数需结合$editor变量来确定目录层次。默认$editor变量为0。
当程序文件在/e/path/目录,$editor不用设置,也就是用默认0。
当程序文件在/e/path/path2/目录,$editor=1。
当程序文件在/e/path/path2/path3/目录,$editor=2。
当程序文件在/e/path/path2/path3/path4/目录,$editor=3。



七、提示信息函数2 (直接提示内容)
语法:printerror2($error,$gotourl,$ecms,$noautourl)
说明:
$error:直接提示信息的内容。
$gotourl:提示信息转向链接地址
$ecms:0为默认提示信息方式、9为弹出提示信息方式(alert方式)。此参数可省略,默认为0
$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0
使用范例:
printerror2('添加完毕','http://www.phome.net'),提示信息内容为“添加完毕”,转向帝国网站
附加说明:
此函数不需要结合其他变量,可以在任意目录层次使用。不支持使用语言包变量。



八、设置系统COOKIE变量函数
语法:esetcookie($var,$val,$life,$ecms)
说明:
$var:为变量名
$val:为变量值
$life:为COOKIE有效时间,单位秒,0为不保存。此参数可省略,默认为不保存。(设置变量名用 双引号;    设置过期时间,用当前时间戳+要过期的秒数
$ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。
使用范例:
esetcookie('mybody','帝国'),定义前台“COOKIE前缀+mybody”变量,变量内容为“帝国”
esetcookie('mybody','帝国',0,1),定义后台“COOKIE前缀+mybody”变量,变量内容为“帝国”
附加说明:
此设置COOKIE函数会给变量名加上COOKIE前缀,你可也可以直接用PHP本身的setcookie来定义。



九、取得系统COOKIE变量函数
语法:getcvar($var,$ecms)
说明:
$var:为变量名
$ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。
使用范例:
getcvar('mlusername'),取得前台登陆会员的用户名
getcvar('loginusername',1),取得后台登陆管理员的用户名
附加说明:
此取得COOKIE函数是取得变量名加上COOKIE前缀的变量,你可也可以直接用PHP本身的$_COOKIE['变量名']来取得。



十、取得IP地址函数
语法:egetip()
使用范例:
<?php
$ip=egetip();
echo $ip;
?>



十一、动态页面显示分页函数
语法:page1($num,$line,$page_line,$start,$page,$search)
说明:
$num:总记录数
$line:每页显示数量
$page_line:每页显示分页链接数
$start:预设变量,设置0即可。
$page:当前页码(0为起始页码)
$search:链接附加参数



十二、通过栏目ID取得栏目名和栏目别名方法:
栏目名:<?=$class_r[栏目ID]['classname']?>
栏目别名:<?=$class_r[栏目ID]['bname']?>
 


1、如果开启了“关闭前台所有动态页面”选项,二次开发的文件如何能访问?
答:可以在开发的程序代码顶部一行加:

PHP Code复制内容到剪贴板
  1. define('EmpireCMSAdmin','1');  


就可以不受此设置影响。


2、LoadLang()导入语言包文件路径是如何表示的
答:导入语言包文件地址是相对于 ../data/language/ 目录,例子:
(1)、如果程序文件在/e/extend/目录,比如:/e/extend/a.php,则导入语言包可以用:

PHP Code复制内容到剪贴板
  1. require LoadLang('pub/fun.php');  


(2)、如果程序文件在/e/extend/helloworld/目录,比如:/e/extend/helloworld/a.php,则导入语言包可以用:
require '../'.LoadLang('pub/fun.php'); 
(3)、如果程序文件在根目录,比如:/a.php,则导入语言包可以用:
require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');


3、$editor声明目录层次变量是如何表示的:
答:此变量如果没有使用printerror()等函数可以不设置。
默认$editor变量为0。
当程序文件在/e/path/目录,$editor不用设置,也就是用默认0。
当程序文件在/e/path/path2/目录,$editor=1。
当程序文件在/e/path/path2/path3/目录,$editor=2。
当程序文件在/e/path/path2/path3/path4/目录,$editor=3。


4、导入文件介绍:
导入栏目、专题、标题分类缓存文件:/e/data/dbcache/class.php
导入会员组缓存文件:/e/data/dbcache/MemberLevel.php
导入标签函数文件:/e/class/t_functions.php
导入编译标签文件:/e/class/functions.php


5、推荐变量过滤处理
(1)、数字型变量可以用(int)或intval函数处理,例子:

PHP Code复制内容到剪贴板
  1. $page=(int)$_GET['page'];  
  2. 或  
  3. $page=intval($_GET['page']);  


(2)、带小数点的数字型变量可以用(float)或floatval函数处理,例子:

PHP Code复制内容到剪贴板
  1. $money=(float)$money;  
  2. 或  
  3. $money=floatval($money);  


(3)、字符型处理:
不带空格或其他特殊符号的,用

PHP Code复制内容到剪贴板
  1. RepPostVar()  


带空格或其他特殊符号的用:

PHP Code复制内容到剪贴板
  1. RepPostVar2()  


写入数据库的用:

PHP Code复制内容到剪贴板
  1. RepPostStr()  

 

 

 


 

帝国CMS栏目缓存是存放帝国每个栏目的设置信息 合理利用可以极大减少制作模板的工作量
帝国CMS系统缓存存放地址:edatadbcacheclass1.php
调用方法:$class_r[栏目ID][变量名]

引入栏目缓存

PHP Code复制内容到剪贴板
  1. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件    
  2.   
  3. print_r($class_r[2]);//打印栏目ID为2的所有缓存记录  
  4.   
  5.   
  6. Array  
  7. (  
  8.     [classid] => 2  
  9.     [bclassid] => 0  
  10.     [classname] => 女仆  
  11.     [sonclass] =>   
  12.     [featherclass] =>   
  13.     [islast] => 1  
  14.     [classpath] => maid  
  15.     [classtype] => .html  
  16.     [down_num] => 2  
  17.     [online_num] => 2  
  18.     [islist] => 0  
  19.     [tid] => 9  
  20.     [tbname] => maid  
  21.     [modid] => 9  
  22.     [lencord] => 25  
  23.     [link_num] => 10  
  24.     [newstempid] => 10  
  25.     [listtempid] => 9  
  26.     [filetype] => .html  
  27.     [openadd] => 1  
  28.     [checked] => 1  
  29.     [bname] => 女仆  
  30.     [reorder] => newstime DESC  
  31.     [dtlisttempid] => 9  
  32. )  

 

'classid'=>栏目ID
'bclassid'=>父栏目id, 
'classname'=>'栏目名', 
'sonclass'=>'子栏目集合', 
'featherclass'=>'父栏目集合', 
'islast'=>是否终极栏目 1为终极栏目,0为非终极栏目 , 
'classpath'=>'栏目目录', 
'classtype'=>'栏目首页扩展名', 
'down_num'=>每行下载地址数, 
'online_num'=>每行在线观看地址数, 
'islist'=>页面显示模式:0为封面式,1为列表式,2为页面内容式, 
'tbname'=>栏目对应模型数据表, 
'modid'=>栏目对应模型ID, 
'lencord'=>每页显示信息数, 
'link_num'=>相关链接数, 
'newstempid'=>内容模板ID, 
'listtempid'=>列表模板ID, 
'filetype'=>'内容页文件扩展名', 
'checked'=> 信息默认是否审核 1为直接审核,0为未审核 , 
'bname'=>栏目别名, 
'reorder'=>'列表式页面排序方式',

 

global $ecms_config;

PHP Code复制内容到剪贴板
  1. Array  
  2. (  
  3.     [db] => Array  
  4.         (  
  5.             [usedb] => mysql  
  6.             [dbver] => 5.0  
  7.             [dbserver] => localhost  
  8.             [dbport] =>   
  9.             [dbusername] => demo14  
  10.             [dbpassword] => m123456,  
  11.             [dbname] => demo14  
  12.             [setchar] => utf8  
  13.             [dbchar] => utf8  
  14.             [dbtbpre] => phome_  
  15.             [showerror] => 1  
  16.         )  
  17.   
  18.     [sets] => Array  
  19.         (  
  20.             [pagechar] => utf-8  
  21.             [setpagechar] => 1  
  22.             [elang] => gb  
  23.             [txtpath] => /www/web/demo14/public_html/d/txt/  
  24.             [saveurlimgclearurl] => 0  
  25.             [deftempid] => 0  
  26.             [selfmoreportid] => 0  
  27.             [tranpicturetype] => ,.jpg,.gif,.png,.bmp,.jpeg,  
  28.             [tranflashtype] => ,.swf,.flv,.dcr,  
  29.             [mediaplayertype] => ,.wmv,.asf,.wma,.mp3,.asx,.mid,.midi,  
  30.             [realplayertype] => ,.rm,.ra,.rmvb,.mp4,.mov,.avi,.wav,.ram,.mpg,.mpeg,  
  31.         )  
  32.   
  33.     [esafe] => Array  
  34.         (  
  35.             [openonlinesetting] => 3  
  36.             [openeditdttemp] => 1  
  37.             [loginauth] =>   
  38.             [ecookiernd] => VyoesTyryHcy0NIdw8LW042dojB5Zt  
  39.             [ckhloginip] => 0  
  40.             [ckhsession] => 0  
  41.             [ckhanytime] => 0  
  42.             [theloginlog] => 0  
  43.             [thedolog] => 0  
  44.             [ckfromurl] => 2  
  45.             [ckhash] => 0  
  46.         )  
  47.   
  48.     [epassport] => Array  
  49.         (  
  50.             [open] => 0  
  51.         )  
  52.   
  53.     [member] => Array  
  54.         (  
  55.             [tablename] => phome_enewsmember  
  56.             [changeregisterurl] => ChangeRegister.php  //多会员组中转注册地址
  57.             [registerurl] =>    //会员注册地址
  58.             [loginurl] =>        //会员登录地址
  59.             [quiturl] =>          //会员退出地址
  60.             [chmember] => 0  
  61.             [pwtype] => 2                 //密码保存形式,0为md5,1为明码,2为双重加密,3为16位md5
  62.             [regtimetype] => 1         //注册时间保存格式,0为正常时间,1为数值型
  63.             [regcookietime] => 0    //注册后登录保存时间(秒)
  64.             [defgroupid] => 0  
  65.             [saltnum] => 6  
  66.             [utfdata] => 0  
  67.         )  
  68.   
  69.     [memberf] => Array  
  70.         (  
  71.             [userid] => userid  
  72.             [username] => username  
  73.             [password] => password  
  74.             [rnd] => rnd  
  75.             [email] => email  
  76.             [registertime] => registertime  
  77.             [groupid] => groupid  
  78.             [userfen] => userfen  
  79.             [userdate] => userdate  
  80.             [money] => money  
  81.             [zgroupid] => zgroupid  
  82.             [havemsg] => havemsg  
  83.             [checked] => checked  
  84.             [salt] => salt  
  85.             [userkey] => userkey  
  86.         )  
  87.   
  88.     [cks] => Array  
  89.         (  
  90.             [ckdomain] =>   
  91.             [ckpath] => /  
  92.             [ckvarpre] => kxnbd  
  93.             [ckadminvarpre] => fuecm  
  94.             [ckrnd] => v9Amlxzj6oJIDtZGBMfj9Et63AEi9j  
  95.             [ckrndtwo] => l1ouovVZBqoypoZVxuUSu98ZyrePWo  
  96.         )  
  97.   
  98.     [fw] => Array  
  99.         (  
  100.             [eopen] => 0  
  101.             [epass] =>   
  102.             [adminloginurl] =>   
  103.             [adminhour] =>   
  104.             [adminweek] =>   
  105.             [adminckpassvar] =>   
  106.             [adminckpassval] =>   
  107.             [cleargettext] =>   
  108.         )  
  109.   
  110. )  

 

 


 

获取会员用户信息:

PHP Code复制内容到剪贴板
  1. $UserAdd = getAllUserInfo($tmgetuserid);  
  2. $userpic = $UserAdd['userpic']?$UserAdd['userpic']:$public_r['newsurl'].'e/data/images/nouserpic.gif';  
  3. //获取会员全部信息  
  4. function getAllUserInfo($userId,$field = '*'){  
  5.     global $empire,$dbtbpre,$class_r;  
  6.     $info = $empire->fetch1("select ".$field." from {$dbtbpre}enewsmember a left join {$dbtbpre}enewsmemberadd b on a.userid=b.userid left join {$dbtbpre}enewsmembergroup c on a.groupid=c.groupid where a.userid=$userId");  
  7.     return $info;  
  8. };  

 

 随机调用五个终极栏目的信息(非栏目下的文章信息)

PHP Code复制内容到剪贴板
  1. <?php  
  2. function IslastClassid(){  
  3.     global $class_r;  
  4.     foreach ($class_r as $k => $v) {  
  5.         if ($v['islast'] == 1) {  
  6.             $all[]= $v['classid'];  
  7.         }  
  8.     }  
  9.     $rand_key = array_rand($all , 5);//随机取5个  
  10.     foreach ($rand_key as $k => $v) {  
  11.             $classall.= $v.',';  
  12.     }  
  13.     $classall = trim($classall , ',');  
  14.     $classall = $classall ? $classall : 0 ;  
  15.     return $classall;  
  16. }  
  17.   
  18. $class_sql=$empire->query('select * from '.$dbtbpre.'enewsclass where classid in ('.IslastClassid().') order by myorder');  
  19. while($class_row=$empire->fetch($class_sql)){  
  20. $classurl=sys_ReturnBqClassUrl($class_r[$class_row['classid']]); //栏目链接地址  
  21. ?>  
  22. <li><a href="<?=$classurl?>"><?=$class_row['classname']?></a></li>  
  23. <?  
  24. }  
  25. ?>  

 

远程保存文件(url,栏目ID):

PHP Code复制内容到剪贴板
  1. function DoTranUrl($url,$classid)  

 

截取图片,可以是指定的文本中的远程保存所有图片

$copyimg 是否保存该文本中的图片地址到本地,是传1

$copyflash 是否保存该文本中的flash到本地,是传1

$classid 栏目ID

$qz 可为空

$theid 会员ID

$cjid 文件临时识别编号

$mark 是否需要水印,是传1

$fstb 附件表 在调用copyimg函数的最上面有一个global $class_r,$empire,$public_r,$dbtbpre,$emod_r;,所以这里可以传$public_r['filedeftb']

PHP Code复制内容到剪贴板
  1. //截取图片  
  2. function CopyImg($text,$copyimg,$copyflash,$classid,$qz,$username,$theid,$cjid,$mark,$fstb=1)  

 


 

与bootstrap结合后的分页:

PHP Code复制内容到剪贴板
  1. //-------- 分页参数 --------  
  2. $page=(int)$_GET['page'];  
  3. $start=0;  
  4. $line=10; //每页显示记录数  
  5. $page_line=8; //每页显示分页链接数  
  6. $offset=$page * $line//总偏移量  
  7.   
  8. //-------- 查询SQL --------  
  9. //取得信息总数  
  10. $totalquery="select count(*) as total from `extend_tags_management` order by tag_id asc";  
  11. $num=$empire->gettotal($totalquery);  
  12. //select查询SQL  
  13. $query="select * from `extend_tags_management`";  
  14. $query.=" order by tag_id desc limit $offset,$line";  
  15. $search = $ecms_hashur['ehref'];  
  16. $sql=$empire->query($query);  
  17. $listpage=yoyo_page1($num,$line,$page_line,$start,$page,$search);//取得分页导航  
  18.   
  19.   
  20.   
  21.   
  22.         <?php  
  23.         while($row = $empire->fetch($sql))  //循环获取查询记录  
  24.         {  
  25.         ?>  
  26.             <tr>  
  27.                 <td width="100">  
  28.                     <input type="hidden" name="tag_id" value="<?=$row['tag_id']?>">  
  29.                     <?php  
  30.                         if($row['parent_tag_id']){  
  31.                             $parent_tag = $tagApi->getTag(array('tagId'=>$row['parent_tag_id']));  
  32.                             echo $parent_tag['data']['tag_name'];  
  33.                         }else{  
  34.                             echo '一级类目';  
  35.                         }  
  36.                     ?>  
  37.                       
  38.                 </td>  
  39.                 <td>  
  40.                     <?=$row['tag_name']?>  
  41.                 </td>  
  42.                 <td width="400">  
  43.                     <?=$row['tag_note']?>  
  44.                 </td>  
  45.                 <td>  
  46.                     <?php   
  47.                     if($row['tag_pic']){  
  48.                     ?>  
  49.                         <img layer-src="<?=sys_ResizeImg($row['tag_pic'],300,100,3)?>" src="<?=$row['tag_pic']?>" width="200">  
  50.                     <?      
  51.                     }else{  
  52.                         echo '未上传';  
  53.                     }                      
  54.                     ?>     
  55.                 </td>  
  56.                 <td>  
  57.                     <?=$row['add_time']?>  
  58.                 </td>  
  59.             </tr>  
  60.         <?  
  61.         }  
  62.         ?>  
  63.         <tr>  
  64.             <td colspan="5"><?=$listpage?></td>  
  65.         </tr>  
  66.         </table>  

 

 

 

PHP Code复制内容到剪贴板
  1. function yoyo_page1($num,$line,$page_line,$start,$page,$search){    
  2.     global $empire,$class_r,$dbtbpre,$public_r,$fun_r;    
  3.     if($num<=$line)    
  4.     {    
  5.         return '';    
  6.     }    
  7.     $search=RepPostStr($search,1);    
  8.     $url=eReturnSelfPage(0).'?page';    
  9.     $snum=2;//最小页数    
  10.     $totalpage=ceil($num/$line);//取得总页数    
  11.     $firststr = '<nav><ul class="pagination">';    
  12.     
  13.     //上一页    
  14.     if($page<>0)    
  15.     {    
  16.         //这个是跳到首页    
  17.         $toppage='<li><a href="'.$url.'=0'.$search.'">首页</a></li>';    
  18.             
  19.         $pagepr=$page-1;    
  20.         $prepage='<li><a href="'.$url.'='.$pagepr.$search.'" aria-label="Previous"><span aria-hidden="true">«</span></a></li>';   //这个是上一页    
  21.     }    
  22.     
  23.     //下一页    
  24.     if($page!=$totalpage-1)    
  25.     {    
  26.         //下一页    
  27.         $pagenex = $page+1;    
  28.         $nextpage = '<li class="2"><a href="'.$url.'='.$pagenex.$search.'" aria-label="Next"><span aria-hidden="true">»</span></a></li>';    
  29.             
  30.         //跳到尾页    
  31.         $lastpage = '<li><a href="'.$url.'='.($totalpage-1).$search.'">尾页</a></li>';    
  32.     }    
  33.     
  34.     $firststr .= '<li><a title="'.$fun_r['trecord'].'">共 '.$num.' 条</a></li>';    
  35.         
  36.     $starti=$page-$snum<0?0:$page-$snum;    
  37.     $no=0;    
  38.     for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)    
  39.     {    
  40.         $no++;    
  41.         if($page==$i)    
  42.         {    
  43.             $is_1="<li class='active'><a href='javascript:void(0);'>";    
  44.             $is_2="</a></li>";    
  45.         }    
  46.         else    
  47.         {    
  48.             $is_1='<li><a href="'.$url.'='.$i.$search.'">';    
  49.             $is_2="</a></li>";    
  50.         }    
  51.         $pagenum=$i+1;    
  52.         $returnstr.=$is_1.$pagenum.$is_2;    
  53.     }    
  54.     //toppage上一页 prepage下一页    
  55.     $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;    
  56.     // $returnstr=$firststr.$toppage.$returnstr.$lastpage;    
  57.     $returnstr .= '</ul></nav>';    
  58.     return $returnstr;    
  59. }    

 

帝国CMS 二次开发 函数


上一篇:帝国CMS内容页模板多个作者的调用方法

下一篇:解决帝国CMS设置关键词与内容图片链接冲突问题

  • 在线客服

    点击这里给我发消息 点击这里给我发消息

    官方微信

    仅处理投诉、举报及平台使用问题;
    商品问题请咨询商家客服!

浏览记录