function_grouplog.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: function_grouplog.php 30465 2012-05-30 04:10:03Z zhengqingpeng $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. function updategroupcreditlog($fid, $uid) {
  12. global $_G;
  13. if(empty($fid) || empty($uid)) {
  14. return false;
  15. }
  16. $today = date('Ymd', TIMESTAMP);
  17. $updategroupcredit = getcookie('groupcredit_'.$fid);
  18. if($updategroupcredit < $today) {
  19. $status = C::t('forum_groupcreditslog')->check_logdate($fid, $uid, $today);
  20. if(empty($status)) {
  21. C::t('forum_forum')->update_commoncredits($fid);
  22. C::t('forum_groupcreditslog')->insert(array('fid' => $fid, 'uid' => $uid, 'logdate' => $today), false, true);
  23. if(empty($_G['forum']) || empty($_G['forum']['level'])) {
  24. $forum = C::t('forum_forum')->fetch($fid);
  25. $forum = array('name' => $forum['name'], 'level' => $forum['level'], 'commoncredits' => $forum['commoncredits']);
  26. } else {
  27. $_G['forum']['commoncredits'] ++;
  28. $forum = &$_G['forum'];
  29. }
  30. if(empty($_G['grouplevels'])) {
  31. loadcache('grouplevels');
  32. }
  33. $grouplevel = $_G['grouplevels'][$forum['level']];
  34. if($grouplevel['type'] == 'default' && !($forum['commoncredits'] >= $grouplevel['creditshigher'] && $forum['commoncredits'] < $grouplevel['creditslower'])) {
  35. $levelinfo = C::t('forum_grouplevel')->fetch_by_credits($forum['commoncredits']);
  36. $levelid = $levelinfo['levelid'];
  37. if(!empty($levelid)) {
  38. C::t('forum_forum')->update_group_level($levelid, $fid);
  39. $query = C::t('forum_forumfield')->fetch($fid);
  40. $groupfounderuid = $query['founderuid'];
  41. notification_add($groupfounderuid, 'system', 'grouplevel_update', array(
  42. 'groupname' => '<a href="forum.php?mod=group&fid='.$fid.'">'.$forum['name'].'</a>',
  43. 'newlevel' => $_G['grouplevels'][$levelid]['leveltitle'],
  44. 'from_id' => 0,
  45. 'from_idtype' => 'changeusergroup'
  46. ));
  47. }
  48. }
  49. }
  50. dsetcookie('groupcredit_'.$fid, $today, 86400);
  51. }
  52. }