大理石 发表于 2012-11-7 18:11 
我接触时间不长 十一才接触discuz插件制作的 按理说应该是有的,还望各位高手指点一下哈 - function roo_setusercoin($uid,$coin,$do,$number){//设置积分数量 roo_setprofile(UID,积分几,动作,数量)动作=1 加= 2减少 =3 等于
- $uid=intval($uid);
- $do=intval($do);
- $coin=trim(strval($coin));
- $number=intval($number);
- $type='extcredits'.$coin;
- $sql = "SELECT $type FROM " . DB::table ( 'common_member_count' ) . " WHERE `uid` = $uid";
- $row = DB::fetch_first ( $sql );
- $con = $row [$type];
- if($do==1){
- $con=$number+$con;
- }elseif($do==2){
- $con=$con-$number;
- }elseif($do==3){
- $con=$number;
- }
- if($con>-1){
- $sql = "UPDATE " . DB::table ( 'common_member_count' ) . " SET $type=$con WHERE `uid` = $uid";
- DB::query ( $sql );
- updatemembercount($uid,array($cons => 0));
- $sql = "SELECT * FROM " . DB::table ( 'common_member_count' ) . " WHERE `uid` = $uid";
- $row = DB::fetch_first ( $sql );
- $getcon = intval($row [$type]);
- $extcredits1= intval($row ['extcredits1']);
- $extcredits2= intval($row ['extcredits2']);
- $extcredits3= intval($row ['extcredits3']);
- $extcredits4= intval($row ['extcredits4']);
- $extcredits5= intval($row ['extcredits5']);
- $extcredits6= intval($row ['extcredits6']);
- $extcredits7= intval($row ['extcredits7']);
- $extcredits8= intval($row ['extcredits8']);
- $posts=intval($row ['posts']);
- $threads= intval($row ['threads']);
- $digestposts= intval($row ['digestposts']);
- $oltime= intval($row ['oltime']);
- $friends= intval($row ['friends']);
- $doings= intval($row ['doings']);
- $blogs= intval($row ['blogs']);
- $albums= intval($row ['albums']);
- $sharings= intval($row ['sharings']);
- $sql = "SELECT `svalue` FROM " . DB::table ( 'common_setting' ) . " WHERE `skey` = 'creditsformula'";
- $row = DB::fetch_first ( $sql );
- $strr=$row['svalue'];
- $arrr=array('extcredits1','extcredits2','extcredits3','extcredits4','extcredits5','extcredits6','extcredits7','extcredits8','posts','threads','digestposts','oltime','friends','doings','blogs','albums','sharings');
- $arrs=array($extcredits1,$extcredits2,$extcredits3,$extcredits4,$extcredits5,$extcredits6,$extcredits7,$extcredits8,$posts,$threads,$digestposts,$oltime,$friends,$doings,$blogs,$albums,$sharings);
- $crs=str_replace($arrr,$arrs,$strr);
- $s= eval("return {$crs};");
- $sql = "UPDATE " . DB::table ( 'common_member' ) . " SET `credits`=$s WHERE `uid` = $uid";
- DB::query ( $sql );
- if($getcon=$con){
- $sql = "SELECT `credits` FROM " . DB::table ( 'common_member' ) . " WHERE `uid` = $uid";
- $row = DB::fetch_first ( $sql );
- $cr=intval($row['credits']);
- $grid=intval(roo_getuserinfo1($uid,'groupid'));
- $sql = "SELECT `type` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `groupid` = $grid";
- $row = DB::fetch_first( $sql );
- if($row['type']=='member'){
- $sql = "SELECT `groupid` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `type` = 'member' ORDER BY `groupid` ";
- $row=DB::fetch_first($sql);
- $samll=intval($row['groupid']);
- $sql = "SELECT `groupid` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `type` = 'member' ORDER BY `groupid` DESC ";
- $row=DB::fetch_first($sql);
- $big=intval($row['groupid']);
- $for=$big-$samll+1;
- for($i=0;$i<$for;$i++){
- $setgid=$samll+$i;
- $sql = "SELECT `creditshigher`,`creditslower` FROM " . DB::table ( 'common_usergroup' ) . " WHERE `groupid` = $setgid";
- $row=DB::fetch_first($sql);
- if($row['creditshigher']<= $cr && $cr< $row['creditslower'])
- {
- $sql = "UPDATE " . DB::table ( 'common_member' ) . " SET `groupid`=$setgid WHERE `uid` = $uid";
- DB::query ( $sql );
- break;
- }
- }
- return true;
- }else{
- return true;
- }
- }else{
- return false;
- }
- }else{
- return false;
- }
- }
- function roo_getuserinfo1($uid,$field){//获取资料 roo_getuserinfo(UID,字段值) 可以获取common_member表中字段 例如 $field='username' 用户组id
- $uid=intval($uid);
- $field=strval(trim($field));
- $sql = "SELECT $field FROM " . DB::table ( 'common_member' ) . " WHERE `uid` = $uid ";
- $row = DB::fetch_first ( $sql );
- $con = $row [$field];
- return $con;
- }
复制代码 我自己写的函数 roo_setusercoin($uid,$coin,$do,$number) 例如你要操作UID99的积分2增加3
roo_setusercoin(99,2,1,3)
本函数可以自动修改并更新积分 同时 更新用户组
|