卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章11179本站已运行3223

帝国CMS二次开发扣除会员积分置顶,到期后取消置顶

帝国CMS计入会员积分置顶修改方法:

1、在所需的系统模型中添加int字段 top  单选按钮0,1(0为否,1为就是)

2、修改e/class/qinfofun.php 在文件中找出

esetcookie("lastaddinfotime",time(),time()+3600*24);

//-------------

全部替换为:

//置顶处罚
$t=$empire->fetch1("select top from {$dbtbpre}ecms_".$tbname." where userid='$muserid' and id='$id' and classid='$classid' limit 1");
if($t[top])
{
$w=$empire->fetch1("select userfen from {$dbtbpre}enewsmember where userid='$muserid'");
if($w[userfen]>=10)
{
$sql3=$empire->query("update {$dbtbpre}enewsmember set userfen=userfen-10where userid='$muserid'");
printerror("AddQinfoSuccess",$reurl,1);
}
else
{
$sql4=$empire->query("update {$dbtbpre}ecms_".$tbname." set top=0 where userid='$muserid' and id='$id' and classid='$classid' limit 1");
printerror("jifenbugou",$reurl,1);
}
}
else{printerror("AddQinfoSuccess",$reurl,1);}
}
else
{printerror("DbError","history.go(-1)",1);}
}

3、修改e/class/qinfofun.php 在文件中找出

if($sql)
{
$reurl=DoingReturnUrl("ListInfo.php?mid=$mid",$add['ecmsfrom']);
if($add['editgotoinfourl']&&$infor['checked'])//回到内容页
{
if($cr['showdt']==1)
{
$reurl=$public_r[newsurl]."e/action/ShowInfo/?classid=$classid&id=$id";
}
elseif($cr['showdt']==2)
{
$reurl=$public_r[newsurl]."e/action/ShowInfo.php?classid=$classid&id=$id";
}
else
{
$reurl=$titleurl;
}
}

至 

//---------------

替代为:

//置顶扣分
$t=$empire->fetch1("select top from {$dbtbpre}ecms_".$tbname." where userid='$muserid' and id='$id' and classid='$classid' limit 1");
if($t[top])
{
$w=$empire->fetch1("select userfen from {$dbtbpre}enewsmember where userid='$muserid'");
if($w[userfen]>=10)
{
$sql3=$empire->query("update {$dbtbpre}enewsmember set userfen=userfen-10where userid='$muserid'");
printerror("EditQinfoSuccess",$reurl,1);
}
else
{
$sql4=$empire->query("update {$dbtbpre}ecms_".$tbname." set top=0 where userid='$muserid' and id='$id' and classid='$classid' limit 1");
printerror("jifenbugou",$reurl,1);
}
}
else{printerror("EditQinfoSuccess",$reurl,1);}        
}
else
{printerror("DbError","history.go(-1)",1);}
}

特别注意代码部分的10为扣除的积分自行设置,除了可以该为自己须要的提示信息在e/data/language/gb/pub/q_message.php中添加(gb2312版)
又添加这个字段主要是防止与老大的那个firsttitle起至冲突,避免以后升级带来的麻烦
假如会员积分不足提示分数严重不足但信息仍使可以提交只是无法置顶。。。。。。
在列表模板中调用方法:

[e:loop={"select * from phome_ecms_house where top=1 and checked=1 and classid='$GLOBALS[navclassid]'  limit 3",3,24,0}]

<?=$bqr[myarea]?>
[置顶]
" title="<?=$bqr[title]?>" target="_blank"><?=$bqr[xiangxidizhi]?>
<?=$bqr[shi]?>室<?=$bqr[ting]?>厅
<?=$bqr[size]?>㎡
<?=$bqr[money]?>
<?=date('Y-m-d',$bqr[newstime])?>

[/e:loop]

//01.23日更新功能添加到期时间字段date到期之后置顶功能违宪
上面的列表模板sql中添加 and (unix_timestamp(youxiaoqi)-UNIX_TIMESTAMP(NOW()))>0
模板大家自己修正,如有什么问题大家跟帖我会尽量解答 
上载以下图片:

帝国CMS二次开发计入会员分数置顶,到期后取消置顶

卓越飞翔博客
上一篇: 帝国CMS推广赠送点数方法
下一篇: 帝国CMS新手教程调用栏目别名
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏