Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[求助] 请问discuz 有可以直接调用的积分消费函数吗

[复制链接]
大理石 发表于 2012-11-7 17:59:51 | 显示全部楼层 |阅读模式
我想做某种积分买一种虚拟货物(那是自己新建的表),买的行为要自己写插件扩展,

请问discuz 有可以直接调用的积分消费函数吗?

还请各位大大指点一下m(_ _)m
回复

使用道具 举报

woyunsi001 发表于 2012-11-7 18:08:37 | 显示全部楼层
貌似不行。。


http://android.8miu.com  http://symbian.8miu.com  http://xiaomi.8miu.com  http://dnf.8miu.com  http://cf.8miu.com http://lol.8miu.co http://wow.8miu.com  http://xyq.8miu.com  http://speed.8miu.com  http://x5.8miu.com  http://dn.8miu.com  http://zh.8miu.com  http://wh.8miu.com  http://mir.8miu.com
回复

使用道具 举报

 楼主| 大理石 发表于 2012-11-7 18:11:06 | 显示全部楼层
我接触时间不长 十一才接触discuz插件制作的 按理说应该是有的,还望各位高手指点一下哈
回复

使用道具 举报

〖囧〗筱峰 发表于 2012-11-7 18:41:09 | 显示全部楼层
大理石 发表于 2012-11-7 18:11
我接触时间不长 十一才接触discuz插件制作的 按理说应该是有的,还望各位高手指点一下哈
  1. function roo_setusercoin($uid,$coin,$do,$number){//设置积分数量 roo_setprofile(UID,积分几,动作,数量)动作=1 加= 2减少 =3 等于
  2.     $uid=intval($uid);
  3.         $do=intval($do);
  4.     $coin=trim(strval($coin));
  5.         $number=intval($number);
  6.         $type='extcredits'.$coin;
  7.         $sql = "SELECT $type FROM " . DB::table ( 'common_member_count' ) . " WHERE `uid` = $uid";
  8.         $row = DB::fetch_first ( $sql );
  9.         $con = $row [$type];
  10.         if($do==1){
  11.         $con=$number+$con;
  12.         }elseif($do==2){
  13.         $con=$con-$number;
  14.         }elseif($do==3){
  15.         $con=$number;
  16.         }
  17.                         if($con>-1){
  18.                                 $sql = "UPDATE " . DB::table ( 'common_member_count' ) . " SET $type=$con WHERE `uid` = $uid";
  19.                                 DB::query ( $sql );
  20.                                 updatemembercount($uid,array($cons => 0));
  21.                                 $sql = "SELECT * FROM " . DB::table ( 'common_member_count' ) . " WHERE `uid` = $uid";
  22.                                 $row = DB::fetch_first ( $sql );
  23.                                 $getcon = intval($row [$type]);
  24.                                 $extcredits1= intval($row ['extcredits1']);
  25.                                 $extcredits2= intval($row ['extcredits2']);
  26.                                 $extcredits3= intval($row ['extcredits3']);
  27.                                 $extcredits4= intval($row ['extcredits4']);
  28.                                 $extcredits5= intval($row ['extcredits5']);
  29.                                 $extcredits6= intval($row ['extcredits6']);
  30.                                 $extcredits7= intval($row ['extcredits7']);
  31.                                 $extcredits8= intval($row ['extcredits8']);
  32.                                 $posts=intval($row ['posts']);
  33.                                 $threads= intval($row ['threads']);
  34.                                 $digestposts= intval($row ['digestposts']);
  35.                                 $oltime= intval($row ['oltime']);
  36.                                 $friends= intval($row ['friends']);
  37.                                 $doings= intval($row ['doings']);
  38.                                 $blogs= intval($row ['blogs']);
  39.                                 $albums= intval($row ['albums']);
  40.                                 $sharings= intval($row ['sharings']);
  41.                                 $sql = "SELECT `svalue` FROM " . DB::table ( 'common_setting' ) . " WHERE `skey` = 'creditsformula'";
  42.                                 $row = DB::fetch_first ( $sql );
  43.                                 $strr=$row['svalue'];
  44.                                 $arrr=array('extcredits1','extcredits2','extcredits3','extcredits4','extcredits5','extcredits6','extcredits7','extcredits8','posts','threads','digestposts','oltime','friends','doings','blogs','albums','sharings');
  45.                                 $arrs=array($extcredits1,$extcredits2,$extcredits3,$extcredits4,$extcredits5,$extcredits6,$extcredits7,$extcredits8,$posts,$threads,$digestposts,$oltime,$friends,$doings,$blogs,$albums,$sharings);
  46.                                 $crs=str_replace($arrr,$arrs,$strr);
  47.                                 $s= eval("return {$crs};");
  48.                                 $sql = "UPDATE " . DB::table ( 'common_member' ) . " SET `credits`=$s WHERE `uid` = $uid";
  49.                                 DB::query ( $sql );
  50.                         if($getcon=$con){
  51.                                 $sql = "SELECT `credits` FROM " . DB::table ( 'common_member' ) . " WHERE `uid` = $uid";
  52.                                 $row = DB::fetch_first ( $sql );
  53.                                 $cr=intval($row['credits']);
  54.                                 $grid=intval(roo_getuserinfo1($uid,'groupid'));
  55.                                 $sql = "SELECT `type` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `groupid` = $grid";
  56.                                 $row = DB::fetch_first( $sql );
  57.                                 if($row['type']=='member'){
  58.                                         $sql = "SELECT `groupid` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `type` = 'member'  ORDER BY `groupid` ";
  59.                                         $row=DB::fetch_first($sql);
  60.                                         $samll=intval($row['groupid']);
  61.                                         $sql = "SELECT `groupid` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `type` = 'member'  ORDER BY `groupid` DESC  ";
  62.                                         $row=DB::fetch_first($sql);
  63.                                         $big=intval($row['groupid']);
  64.                                         $for=$big-$samll+1;
  65.                                         for($i=0;$i<$for;$i++){
  66.                                                 $setgid=$samll+$i;
  67.                                                 $sql = "SELECT `creditshigher`,`creditslower` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `groupid` = $setgid";
  68.                                                 $row=DB::fetch_first($sql);
  69.                                                         if($row['creditshigher']<= $cr && $cr< $row['creditslower'])
  70.                                                         {
  71.                                                                 $sql = "UPDATE " . DB::table ( 'common_member' ) . " SET `groupid`=$setgid WHERE `uid` = $uid";
  72.                                                                 DB::query ( $sql );
  73.                                                                 break;
  74.                                                         }        
  75.                                         }
  76.                                         return true;
  77.                                 }else{
  78.                                         return true;
  79.                                 }
  80.                         }else{
  81.                                 return false;
  82.                         }
  83.                         }else{
  84.                                 return false;
  85.                         }
  86. }
  87. function roo_getuserinfo1($uid,$field){//获取资料  roo_getuserinfo(UID,字段值) 可以获取common_member表中字段 例如 $field='username' 用户组id
  88.         $uid=intval($uid);
  89.         $field=strval(trim($field));
  90.     $sql = "SELECT $field FROM " . DB::table ( 'common_member' ) . " WHERE `uid` = $uid ";
  91.         $row = DB::fetch_first ( $sql );
  92.         $con = $row [$field];
  93.         return $con;
  94. }
复制代码
我自己写的函数 roo_setusercoin($uid,$coin,$do,$number) 例如你要操作UID99的积分2增加3

roo_setusercoin(99,2,1,3)
本函数可以自动修改并更新积分 同时 更新用户组



回复

使用道具 举报

 楼主| 大理石 发表于 2012-11-7 19:08:53 | 显示全部楼层
太帅了~~ 顺便 上面函数 会把消耗写进积分记录吗
回复

使用道具 举报

尹兰爱我 发表于 2012-11-10 22:11:08 | 显示全部楼层
研究下看看设计的很特别,谢谢分享
回复

使用道具 举报

wjzhhr 发表于 2014-1-9 11:35:50 | 显示全部楼层
官方的东西,我也没有找到
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-23 13:36 , Processed in 0.112170 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表