cron_medal_daily.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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: cron_medal_daily.php 24698 2011-10-08 08:36:47Z monkey $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. $medalnewarray = $medalsnew = $uids = array();
  12. foreach(C::t('forum_medallog')->fetch_all_by_expiration(TIMESTAMP) as $medalnew) {
  13. $uids[] = $medalnew['uid'];
  14. $medalnews[] = $medalnew;
  15. }
  16. $membermedals = array();
  17. foreach(C::t('common_member_field_forum')->fetch_all($uids) as $member) {
  18. $membermedals[$member['uid']] = $member['medals'];
  19. }
  20. foreach($medalnews as $medalnew) {
  21. $medalnew['medals'] = empty($medalnewarray[$medalnew['uid']]) ? explode("\t", $membermedals[$medalnew['uid']]) : explode("\t", $medalnewarray[$medalnew['uid']]);
  22. foreach($medalnew['medals'] as $key => $medalnewid) {
  23. list($medalid, $medalexpiration) = explode("|", $medalnewid);
  24. if($medalnew['medalid'] == $medalid) {
  25. unset($medalnew['medals'][$key]);
  26. }
  27. }
  28. $medalnewarray[$medalnew['uid']] = implode("\t", $medalnew['medals']);
  29. C::t('forum_medallog')->update($medalnew['id'], array('status' => 0));
  30. C::t('common_member_field_forum')->update($medalnew['uid'], array('medals' => $medalnewarray[$medalnew['uid']]), 'UNBUFFERED');
  31. C::t('common_member_medal')->delete_by_uid_medalid($medalnew['uid'], $medalnew['medalid']);
  32. }
  33. ?>