- 积分
- 75
- 贡献
- 47 点
- 体力
- 75 点
- 阅读权限
- 20
- 注册时间
- 2007-6-10
注册会员
- 积分
- 75
- 帖子
- 304
- 精华
- 2
- 体力
- 75 点
- 蓝豆
- 8 点
- 注册时间
- 2007-6-10
|
功能说明: 等级提升时,会由系统自动发出升级通知 并会说名拥有的权限,下一个等级所许欠的积分 打开include/post.func.php 查找代码:
在上面加入:
引用:
function updatemember($operator, $uid, $credits) { global $db, $tablepre, $Discuz_uid, $adminid, $groupid, $credit, $timestamp; $addcredit = $addpost = $newcredit = $newpost =0; if(!$uid ) return; if($uid == $discuz_uid) { $oldgroup=$db->result($db->query(\"SELECT groupid FROM {$tablepre}members WHERE uid=\'$uid\'\"),0 ); // <---- add for【等级提升通知】by BTaoto $groupidadd = NULL; $newcredit = $credit + intval(\"$operator$credits\"); if($adminid == 0 && $credits <> 0 && !($newcredit % 1)) { $query = $db->query(\"SELECT groupid FROM {$tablepre}usergroups WHERE type=\'member\' AND \'$newcredit\'>=creditshigher AND \'$newcredit\'$groupidadd = \", groupid=\'\".$db->result($query, 0).\"\'\"; } $db->query(\"UPDATE {$tablepre}members SET postnum=postnum$operator(1), credit=$newcredit, lastpost=\'$timestamp\' $groupidadd WHERE uid=\'$uid\'\"); $newgroup=substr($groupidadd,11,-1); // <---- add for【等级提升通知】by BTaoto if ($newgroup > $oldgroup) levelup($newgroup,$uid,$newcredit); // <---- add for【等级提升通知】by BTaoto } else { $member = array(); foreach(explode(\',\', $uid) as $id) { $member[trim($id)]++; } foreach($member as $uid => $posts) { if($credits) { $oldgroup=$db->result($db->query(\"SELECT groupid FROM {$tablepre}members WHERE uid=\'$uid\'\"),0 ); // <---- add for【等级提升通知】by BTaoto $query = $db->query(\"SELECT m.adminid, u.groupid FROM {$tablepre}members m LEFT JOIN {$tablepre}usergroups u ON (u.creditshigher<>\'0\' || u.creditslower<>\'0\') AND m.credit$operator$credits*$posts>=u.creditshigher AND m.credit$operator$credits*$postsWHERE uid=\'$uid\'\");
if($member2 = $db->fetch_array($query)) { $groupidadd = $member2[\'adminid\'] == 0 ? \", groupid=\'$member2[groupid]\'\" : NULL; $db->query(\"UPDATE {$tablepre}members SET postnum=postnum$operator$posts, credit=credit$operator($credits*$posts) $groupidadd WHERE uid=\'$uid\'\", \'UNBUFFERED\'); $newgroup=substr($groupidadd,11,-1); // <---- add for【等级提升通知】by BTaoto $newcredit=$db->result($db->query(\"SELECT credit FROM {$tablepre}members WHERE uid=\'$uid\'\"),0 ); // <---- add for【等级提升通知】by BTaoto if (($newgroup > $oldgroup)) levelup($newgroup,$uid,$newcredit); // <---- add for【等级提升通知】by BTaoto } } else { $db->query(\"UPDATE {$tablepre}members SET postnum=postnum$operator$posts WHERE uid=\'$uid\'\", \'UNBUFFERED\'); } } } }
// 插件【等级提升通知】by BTaoto 开始 function levelup($group,$uid,$credit) { global $db,$timestamp; include DISCUZ_ROOT.\'forumdata/cache/usergroup_\'.$group.\'.php\'; include language(\'admincp\'); $pm = \"恭喜您!你的等级已提升为【\".$grouptitle.\"】,\\n从现在开始,您将获得以下权限:\\n\"; $pm .=\"================================================= \\n\"; if ($allowview) $pm .= \" ◎ \".substr($lang[usergroups_edit_view_thread],0,-1).\"\\n\"; if ($allowviewstats) $pm .= \" ◎ \".substr($lang[usergroups_edit_view_stats],0,-1).\"\\n\"; if ($allowinvisible) $pm .= \" ◎ \".substr($lang[usergroups_edit_invisible],0,-1).\"\\n\"; if ($allowsearch==1) $pm .= \" ◎ \".$lang[usergroups_edit_search].\' \'.$lang[usergroups_edit_search_thread].\" \\n\"; if ($allowsearch==2) $pm .= \" ◎ \".$lang[usergroups_edit_search].\' \'.$lang[usergroups_edit_search_post].\" \\n\"; if ($allowavatar==1) $pm .= \" ◎ \".$lang[usergroups_edit_avatar].\' \'.$lang[usergroups_edit_avatar_board].\" \\n\"; if ($allowavatar==2) $pm .= \" ◎ \".$lang[usergroups_edit_avatar].\' \'.$lang[usergroups_edit_avatar_custom].\" \\n\"; if ($allowavatar==3) $pm .= \" ◎ \".$lang[usergroups_edit_avatar].\' \'.$lang[usergroups_edit_avatar_upload].\" \\n\"; if ($allowcstatus) $pm .= \" ◎ \".substr($lang[usergroups_edit_cstatus],0,-1).\"\\n\"; if ($allowkarma) $pm .= \" ◎ \".substr($lang[usergroups_edit_karma],0,-1).\"\\n\"; if ($maxkarmarate) $pm .= \" ◎ \".$lang[usergroups_edit_max_karma_rate].\' \'.$maxkarmarate.\"\\n\"; if ($maxrateperday) $pm .= \" ◎ \".$lang[usergroups_edit_max_rpd].\' \'.$maxrateperday.\"\\n\"; if ($maxpmnum) $pm .= \" ◎ \".$lang[usergroups_edit_max_pm_num].\' \'.$maxpmnum.\"\\n\"; if ($allowpost) $pm .= \" ◎ \".substr($lang[usergroups_edit_post],0,-1).\"\\n\"; if ($allowpostpoll) $pm .= \" ◎ \".substr($lang[usergroups_edit_post_poll],0,-1).\"\\n\"; if ($allowsetviewperm) $pm .= \" ◎ \".substr($lang[usergroups_edit_set_view_perm],0,-1).\"\\n\"; if ($allowhidecode) $pm .= \" ◎ \".substr($lang[usergroups_edit_hide_code],0,-1).\"\\n\"; if ($allowvote) $pm .= \" ◎ \".substr($lang[usergroups_edit_vote],0,-1).\"\\n\"; if ($allowsigbbcode) $pm .= \" ◎ \".substr($lang[usergroups_edit_sig_bbcode],0,-1).\"\\n\"; if ($allowsigimgcode) $pm .= \" ◎ \".substr($lang[usergroups_edit_sig_img_code],0,-1).\"\\n\"; if ($maxsigsize) $pm .= \" ◎ \".$lang[usergroups_edit_max_sig_size].\' \'.$maxsigsize.\"\\n\"; if ($allowgetattach) $pm .= \" ◎ \".substr($lang[usergroups_edit_get_attach],0,-1).\"\\n\"; if ($allowpostattach) $pm .= \" ◎ \".substr($lang[usergroups_edit_post_attach],0,-1).\"\\n\"; if ($allowsetattachperm) $pm .= \" ◎ \".substr($lang[usergroups_edit_set_attach_perm],0,-1).\"\\n\"; if ($maxattachsize) $pm .= \" ◎ \".$lang[usergroups_edit_max_attach_size].\' \'.$maxattachsize.\"\\n\"; if ($attachextensions) $pm .= \" ◎ \".$lang[usergroups_edit_attach_ext].\' \'.$attachextensions.\"\\n\"; $pm .=\"================================================= \\n\"; $nextlv=$db->result($db->query(\"SELECT creditslower FROM {$tablepre}usergroups WHERE groupid=\'$group\'\"),0)-$credit; $pm .=\"升级到再下一级需要\".$nextlv.\"积分,请再接再励!\";
$db->query(\"INSERT INTO {$tablepre}pms (msgtoid, msgfrom, msgfromid, folder, new, subject, dateline, message) VALUES(\'$uid\', \'System Message\', \'0\', \'inbox\', \'1\', \'★等级提升通知★\', \'$timestamp\',\'\".addslashes($pm).\"\')\"); $db->query(\"UPDATE {$tablepre}members SET newpm=\'1\' WHERE uid=\'$uid\'\"); } // 插件【等级提升通知】by BTaoto 完结 后台更新缓存 完成! |
|