打开e/class/gd.php,查找
$func_output($temp_image, $new_name.$func_exname);
修改为
$func_output($temp_image, $new_name.$func_exname, 100);
红色的100就是缩略图的质量参数,一般默认为75(又或者是80),觉得缩略图质量不够的就用这个控制。
打开e/class/gd.php,查找
$func_output($temp_image, $new_name.$func_exname);
修改为
$func_output($temp_image, $new_name.$func_exname, 100);
红色的100就是缩略图的质量参数,一般默认为75(又或者是80),觉得缩略图质量不够的就用这个控制。
1、如果开启了“关闭前台所有动态页面”选项,二次开发的文件如何能访问?
答:可以在开发的程序代码顶部一行加:define(‘EmpireCMSAdmin’,’1′);
就可以不受此设置影响。
2、LoadLang()导入语言包文件路径是如何表示的
答:导入语言包文件地址是相对于 ../data/language/ 目录,例子:
(1)、如果程序文件在/e/extend/目录,比如:/e/extend/a.php,则导入语言包可以用:
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函数处理,例子:
$page=(int)$_GET[‘page’];
或
$page=intval($_GET[‘page’]);
(2)、带小数点的数字型变量可以用(float)或floatval函数处理,例子:
$money=(float)$money;
或
$money=floatval($money);
(3)、字符型处理:
不带空格或其他特殊符号的,用
RepPostVar()函数过滤
带空格或其他特殊符号的用:
RepPostVar2()函数过滤
写入数据库的用:
RepPostStr()函数过滤
打开 envalve\e\class\connect.php
在371行
//参数处理函数
function RepPostVar($val){
if($val!=addslashes($val))
{
exit();
}
CkPostStrChar($val);
$val=str_replace(” “,””,$val);
$val=str_replace(“%20″,””,$val);
$val=str_replace(“%27″,””,$val);
$val=str_replace(“*”,””,$val);
将 $val=str_replace(” “,””,$val); 更换为 $val=str_replace(“”,””,$val);
update phome_ecms_表 set 字段=concat(字段1,字段2,字段3,字段4) where classid in(栏目ID)
如要在字段之间加字符,则写成
update phome_ecms_表 set 字段=concat(字段1,”字符”,字段2,”字符”,字段3,”字符”,字段4) where classid in(栏目ID)
一、取得栏目ID并添加class
文件e/class/userfun.php添加下面段语句
function currentPage($classid,$thisid){
global $class_r;
$fr=explode(‘|’,$class_r[$classid][featherclass]);
$topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id
if ($topbclassid==$thisid) {
echo “class=’自定'”;
}
else {
}
}
二、用灵动标签调用
[e:loop={‘select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=0 and showclass=0 order by myorder’,0,24,0}]
<li<?=currentPage($GLOBALS[navclassid],$bqr[classid])?>><a href=”<?=$public_r[newsurl]?><?=$bqr[classpath]?>/” title=”<?=$bqr[classname]?>”><?=$bqr[classname]?></a></li>
[/e:loop]
对已采集好或已手工好内容页的,文件名以变量命名形式可执行以下SQL语句:
update 表名 set filename=字段名 where classid in(栏目ID)
多个栏目用“,”隔开。案例:http://www.ninwo.org/Quote/sz_Stocks/
附:某字段批量添加内容
update `表名` set `字段`=CONCAT(字段,’内容’)
当天新闻旁边显示“当天”字样:
[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}]
<?
$newimg=””;
if(time()-$bqr[truetime]<=1*24*3600)
{
$newimg=”当天”;
}
?>
<?=$newimg?>
[/e:loop]
效果如 http://www.ninwo.org
1、标签调用(比如灵魂标签 $bqsr[classname])的是栏目别名;
2、封面模板、列表模板调用栏目别名:
<?=$class_r[$GLOBALS[navclassid]][bname]?>
3、灵动标签调用栏目名称:
<?=$class_r[$bqr[classid]][classname]?>
一、后台系统设置->执行SQL 如下:
#——————————————————————————
ALTER TABLE [!db.pre!]enewsfeedback ADD checked INT( 1 ) NOT NULL DEFAULT ‘0’
#——————————————————————————
二、e/class/userfun.php 加入如下代码:
#——————————————————————————
//审核反馈信息
function CheckFeedback($id,$bid,$userid,$username,$doing){
global $empire,$dbtbpre;
$id=(int)$id;
$bid=(int)$bid;
if(!$id)
{
printerror(“NotChangeFeedbackid”,”history.go(-1)”);
}
//验证权限
//CheckLevel($userid,$username,$classid,”feedback”);
$r=$empire->fetch1(“select id,title,filepath,filename from {$dbtbpre}enewsfeedback where id=’$id’;”);
if(!$r[‘id’])
{
printerror(“NotChangeFeedbackid”,”history.go(-1)”);
}
$sql=$empire->query(“update {$dbtbpre}enewsfeedback set checked=’$doing’ where id=’$id’;”);
if($sql)
{
//操作日志
insert_dolog(“id=”.$id.”<br>title=$r[title]”);
printerror2(‘操作成功’,”,0,0);
}
else
{printerror(“DbError”,”history.go(-1)”);}
}
#——————————————————————————
三、修改文件e/admin/tool/feedback.php
1、加入代码:require(“../../class/userfun.php”);
2、加入代码:
elseif($enews==”CheckFeedback”)
{
$id=$_GET[‘id’];
$bid=$_GET[‘bid’];
CheckFeedback($id,$bid,$logininid,$loginin,1);
}
elseif($enews==”UnCheckFeedback”)
{
$id=$_GET[‘id’];
$bid=$_GET[‘bid’];
CheckFeedback($id,$bid,$logininid,$loginin,0);
}
3、找到$query=”select id,bid,title,saytime,userid,username from {$dbtbpre}enewsfeedback”;这行代码,并插入字段“checked”,即完整代码是“$query=”select id,bid,title,saytime,userid,username from {$dbtbpre}enewsfeedback”;”
4、加入代码:
if($r[checked]){
$check='[<a href=”feedback.php?enews=UnCheckFeedback&id=’.$r[id].’&bid=’.$r[bid].'”>消审</a>]’;
}
else{
$check='[<a href=”feedback.php?enews=CheckFeedback&id=’.$r[id].’&bid=’.$r[bid].'”>审核</a>]’;
}
5、把代码“<?=$check?>”放到适合的位置,
四、调用反馈信息时SQL加一个 “and checked=1”,OK了!。
附注:可参考附件feedback.rar
给反馈表单后台管理加上全选按钮,找到e/admin/tool/feedback.php加入以下代码:
1、JS部份代码
<script>
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.name != ‘chkall’)
e.checked = form.chkall.checked;
}
}
</script>
2、按钮代码
<input type=checkbox name=chkall value=on onClick=CheckAll(this.form)>