帝国CMS置顶扣除积分机制

仅供参考的一个积分扣除程序
服务器君一共花费了162.699 ms进行了4次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

首先在所需的系统模型中添加int字段 top,单选按钮0,1(0为否,1为是)。主要修改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-10 where 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);
}
}

找到

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-10 where 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为扣除的积分自行设置,还有jifenbuzhu自己可以该为自己需要的提示在e/data/language/gb/pub/q_message.php中添加。

又添加这个字段主要是避免与老大的那个firsttitle起冲突,避免以后升级带来的麻烦,假如会员积分不足提示积分不足但信息仍让可以提交只是不能置顶。

在列表模板中调用方法:

[e:loop={"select * from phome_ecms_house where top=1 and checked=1 and classid='$GLOBALS[navclassid]'  limit 3",3,24,0}]
<tr onmouseout="this.style.backgroundColor='#ffffff'" onmouseover="this.style.backgroundColor='#F1F5FC'">
        <td><?=$bqr[myarea]?></td>
        <td class="tx"><font color="red">[置顶]</font>
<a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank"><?=$bqr[xiangxidizhi]?></a></td>
        <td><?=$bqr[shi]?>室<?=$bqr[ting]?>厅</td>
        <td><?=$bqr[size]?><span class="m">㎡</span></td>
        <td><?=$bqr[money]?></td>
        <td align="right"><?=date('Y-m-d',$bqr[newstime])?></td>
    </tr>
[/e:loop]

//01.23日更新功能添加到期时间字段date 到期之后置顶功能无效,上面的列表模板sql中添加 and (unix_timestamp(youxiaoqi)-UNIX_TIMESTAMP(NOW()))>0

仅供参考。

本文地址:http://www.nowamagic.net/librarys/veda/detail/1270,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1270

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《C程序设计语言(第2版新版)》 克尼汉 (作者), 等 (作者, 译者), 徐宝文 (译者)

《C程序设计语言》(第2版新版)是由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。

更多计算机宝库...