diff --git a/upload/includes/datastore/build_stats.php b/upload/includes/datastore/build_stats.php index 73fc3cf85..b9fbd7a8f 100644 --- a/upload/includes/datastore/build_stats.php +++ b/upload/includes/datastore/build_stats.php @@ -29,23 +29,49 @@ $data['leechers'] = number_format($row['leechers']); $data['peers'] = number_format($row['seeders'] + $row['leechers']); $data['speed'] = $row['speed']; -// gender + birthday stat -$sql = DB()->fetch_rowset("SELECT user_gender, user_id, username, user_birthday, user_level, user_rank FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .") ORDER BY user_level DESC, username"); -$birthday = array(); +global $bb_cfg, $lang; + +// gender stat +$sql = DB()->fetch_rowset("SELECT user_gender FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .")"); $data['male'] = $data['female'] = $data['unselect'] = 0; foreach($sql as $row) { if($row['user_gender'] == 1) $data['male']++; if($row['user_gender'] == 2) $data['female']++; if(!$row['user_gender']) $data['unselect']++; - if($row['user_birthday']) $birthday[] = array( - 'username' => $row['username'], - 'user_id' => $row['user_id'], - 'user_rank' => $row['user_rank'], - 'user_level' => $row['user_level'], - 'user_birthday' => $row['user_birthday'], - ); } -$data['birthday'] = $birthday; + +// birthday stat +if($bb_cfg['birthday']['check_day'] && $bb_cfg['birthday']['enabled']) +{ + $sql = DB()->fetch_rowset("SELECT user_id, username, user_birthday, user_birthday, user_level, user_rank FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .") ORDER BY user_level DESC, username"); + $this_year = bb_date(TIMENOW, 'Y', '', false); + $date_today = bb_date(TIMENOW, 'Ymd', '', false); + $date_forward = bb_date(TIMENOW + ($bb_cfg['birthday']['check_day']*86400), 'Ymd', '', false); + + $birthday_today_list = $birthday_week_list = array(); + + foreach ($sql as $row) + { + $user_birthday = realdate($row['user_birthday'], 'md'); + $user_birthday2 = $this_year . $user_birthday; + + if ($user_birthday2 < $date_today) $user_birthday2 += 10000; + + if ($user_birthday2 > $date_today && $user_birthday2 <= $date_forward) + { + // user are having birthday within the next days + $birthday_week_list[] = ''. wbr($row['username']) .' ('. birthday_age($row['user_birthday'], 1) .')'; + } + elseif ($user_birthday2 == $date_today) + { + //user have birthday today + $birthday_today_list[] = ''. wbr($row['username']) .' ('. birthday_age($row['user_birthday'], 1) .')'; + } + } + + $data['birthday_today_list'] = ($birthday_today_list) ? $lang['BIRTHDAY_TODAY'] . join(', ', $birthday_today_list) : $lang['NOBIRTHDAY_TODAY']; + $data['birthday_week_list'] = ($birthday_week_list) ? sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday']['check_day'], join(', ', $birthday_week_list)) : sprintf($lang['NOBIRTHDAY_WEEK'], $bb_cfg['birthday']['check_day']); +} $this->store('stats', $data); diff --git a/upload/index.php b/upload/index.php index 693bf646b..693ad984f 100644 --- a/upload/index.php +++ b/upload/index.php @@ -339,37 +339,9 @@ if ($bb_cfg['show_latest_news']) if($bb_cfg['birthday']['check_day'] && $bb_cfg['birthday']['enabled']) { - $this_year = bb_date(TIMENOW, 'Y', '', false); - $date_today = bb_date(TIMENOW, 'Ymd', '', false); - $date_forward = bb_date(TIMENOW + ($bb_cfg['birthday']['check_day']*86400), 'Ymd', '', false); - - $birthday_today_list = $birthday_week_list = array(); - - foreach ($stats['birthday'] as $birthdayrow) - { - $user_birthday = realdate($birthdayrow['user_birthday'], 'md'); - $user_birthday2 = $this_year . $user_birthday; - - if ($user_birthday2 < $date_today) $user_birthday2 += 10000; - - if ($user_birthday2 > $date_today && $user_birthday2 <= $date_forward) - { - // user are having birthday within the next days - $birthday_week_list[] = ''. wbr($birthdayrow['username']) .' ('. birthday_age($birthdayrow['user_birthday'], 1) .')'; - } - elseif ($user_birthday2 == $date_today) - { - //user have birthday today - $birthday_today_list[] = ''. wbr($birthdayrow['username']) .' ('. birthday_age($birthdayrow['user_birthday'], 1) .')'; - } - } - - $birthday_today_list = ($birthday_today_list) ? $lang['BIRTHDAY_TODAY'] . join(', ', $birthday_today_list) : $lang['NOBIRTHDAY_TODAY']; - $birthday_week_list = ($birthday_week_list) ? sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday']['check_day'], join(', ', $birthday_week_list)) : sprintf($lang['NOBIRTHDAY_WEEK'], $bb_cfg['birthday']['check_day']); - $template->assign_vars(array( - 'WHOSBIRTHDAY_WEEK' => $birthday_week_list, - 'WHOSBIRTHDAY_TODAY' => $birthday_today_list, + 'WHOSBIRTHDAY_WEEK' => $stats['birthday_week_list'], + 'WHOSBIRTHDAY_TODAY' => $stats['birthday_today_list'], )); }