{php $rank_year = date('Y');}
{php $rank_from = strtotime($rank_year.'-01-01 00:00:00');}
{php $rank_to = strtotime($rank_year.'-12-31 23:59:59');}
{php $rank_count = $_CMS['db']->get_all("SELECT g.member_id, COUNT(*) AS v, MAX(g.igc_id) AS any_igc_id, m.nickname, m.username, m.name, m.face, mw.weixin_avatarurl FROM #@_gps_igc AS g LEFT JOIN #@_member AS m ON g.member_id=m.member_id LEFT JOIN #@_member_weixin AS mw ON g.member_id=mw.member_id WHERE g.takeoff_time >= '$rank_from' AND g.takeoff_time <= '$rank_to' GROUP BY g.member_id ORDER BY v DESC LIMIT 10");}
{php $rank_distance = $_CMS['db']->get_all("SELECT g.member_id, SUM(g.distance_km) AS v, MAX(g.igc_id) AS any_igc_id, m.nickname, m.username, m.name, m.face, mw.weixin_avatarurl FROM #@_gps_igc AS g LEFT JOIN #@_member AS m ON g.member_id=m.member_id LEFT JOIN #@_member_weixin AS mw ON g.member_id=mw.member_id WHERE g.takeoff_time >= '$rank_from' AND g.takeoff_time <= '$rank_to' GROUP BY g.member_id ORDER BY v DESC LIMIT 10");}
{php $rank_xcscore = $_CMS['db']->get_all("SELECT g.member_id, SUM(g.score) AS v, m.nickname, m.username, m.name, m.face, mw.weixin_avatarurl FROM #@_gps_igc AS g LEFT JOIN #@_member AS m ON g.member_id=m.member_id LEFT JOIN #@_member_weixin AS mw ON g.member_id=mw.member_id WHERE g.takeoff_time >= '$rank_from' AND g.takeoff_time <= '$rank_to' GROUP BY g.member_id ORDER BY v DESC LIMIT 10");}
{php $rank_farthest = $_CMS['db']->get_all("SELECT t.member_id, t.v, t.any_igc_id, m.nickname, m.username, m.name, m.face, mw.weixin_avatarurl FROM (SELECT member_id, MAX(distance_km) AS v, SUBSTRING_INDEX(GROUP_CONCAT(igc_id ORDER BY distance_km DESC), ',', 1) AS any_igc_id FROM #@_gps_igc WHERE takeoff_time >= '$rank_from' AND takeoff_time <= '$rank_to' GROUP BY member_id ORDER BY v DESC LIMIT 10) AS t LEFT JOIN #@_member AS m ON t.member_id=m.member_id LEFT JOIN #@_member_weixin AS mw ON t.member_id=mw.member_id ORDER BY t.v DESC");}
{php $base_step_default = 0.2;}
{php $ground_list = $_CMS['db']->get_all("SELECT ground_id, ground_name, heat_grid_id, heat_step, off_lat, off_lng FROM #@_ground WHERE status=1 ORDER BY ground_id ASC");}
飞行排名
统计年度:{php echo $rank_year;}(1月1日-12月31日)
{if $ground_list}
{php $bk_i = 0;}
{loop $ground_list $g}
{php $bk_i = $bk_i + 1;}
{if $bk_i<=6}
{php $grid_id = trim($g['heat_grid_id']);}
{php $step = floatval($g['heat_step']);}
{php if ($step <= 0) $step = $base_step_default;}
{php $b_name = '';}
{php $b_face = '';}
{php $b_alt = 0;}
{php $b_igc_id = 0;}
{php $parts = array();}
{php $step2 = 0;}
{php if ($grid_id != '') $parts = explode('_', $grid_id);}
{php if ($grid_id != '' && count($parts) >= 3) $step2 = floatval($parts[2]);}
{php if ($grid_id != '' && count($parts) >= 3 && $step2 > 0) $minLon = intval($parts[0]) * $step2;}
{php if ($grid_id != '' && count($parts) >= 3 && $step2 > 0) $maxLon = (intval($parts[0]) + 1) * $step2;}
{php if ($grid_id != '' && count($parts) >= 3 && $step2 > 0) $minLat = intval($parts[1]) * $step2;}
{php if ($grid_id != '' && count($parts) >= 3 && $step2 > 0) $maxLat = (intval($parts[1]) + 1) * $step2;}
{php if ($grid_id != '' && count($parts) >= 3 && $step2 > 0) $king = $_CMS['db']->get_one("SELECT igc_id, member_id, max_gps_altitude FROM #@_gps_igc WHERE takeoff_time>0 AND takeoff_longitude BETWEEN '$minLon' AND '$maxLon' AND takeoff_latitude BETWEEN '$minLat' AND '$maxLat' ORDER BY max_gps_altitude DESC, takeoff_time DESC LIMIT 1");}
{php if (!empty($king)) $m = $_CMS['db']->get_one("SELECT nickname, username, name, face FROM #@_member WHERE member_id='".intval($king['member_id'])."'");}
{php if (!empty($king)) $wx = $_CMS['db']->get_field("SELECT weixin_avatarurl FROM #@_member_weixin WHERE member_id='".intval($king['member_id'])."'");}
{php if (!empty($king)) $b_name = (!empty($m['nickname'])) ? $m['nickname'] : ((!empty($m['username'])) ? $m['username'] : ((!empty($m['name'])) ? $m['name'] : '匿名用户'));}
{php if (!empty($king)) $b_face = (!empty($m['face'])) ? $m['face'] : $wx;}
{php if (!empty($king)) $b_alt = intval($king['max_gps_altitude']);}
{php if (!empty($king)) $b_igc_id = intval($king['igc_id']);}
{if $b_face}

{else}

{/if}
{if $b_name}{php echo $b_name;}{else}-{/if}
{if $b_alt}{php echo $b_alt;} m{/if}
{if $b_igc_id}
回放
{else}
-
{/if}
{/if}
{/loop}
{else}
暂无基地数据
{/if}
全国排名(飞行次数 TOP10)
{if $rank_count}
{loop $rank_count $r}
{php $rname = ($r['nickname']!='') ? $r['nickname'] : (($r['username']!='') ? $r['username'] : (($r['name']!='') ? $r['name'] : '匿名用户'));}
{php $rface = ($r['face']!='') ? $r['face'] : $r['weixin_avatarurl'];}
{if $rface}

{else}

{/if}
$rname
$r[v] 次
回放
{/loop}
{else}
暂无数据
{/if}
全国排名(飞行里程 TOP10)
{if $rank_distance}
{loop $rank_distance $r}
{php $rname = ($r['nickname']!='') ? $r['nickname'] : (($r['username']!='') ? $r['username'] : (($r['name']!='') ? $r['name'] : '匿名用户'));}
{php $rface = ($r['face']!='') ? $r['face'] : $r['weixin_avatarurl'];}
{if $rface}

{else}

{/if}
$rname
{php echo number_format(floatval($r['v']), 1);} km
{/loop}
{else}
暂无数据
{/if}
全国排名(单次最远 TOP10)
{if $rank_farthest}
{loop $rank_farthest $r}
{php $rname = ($r['nickname']!='') ? $r['nickname'] : (($r['username']!='') ? $r['username'] : (($r['name']!='') ? $r['name'] : '匿名用户'));}
{php $rface = ($r['face']!='') ? $r['face'] : $r['weixin_avatarurl'];}
{if $rface}

{else}

{/if}
$rname
{php echo number_format(floatval($r['v']), 1);} km
回放
{/loop}
{else}
暂无数据
{/if}
全国排名(越野得分 TOP10)
{if $rank_xcscore}
{loop $rank_xcscore $r}
{php $rname = ($r['nickname']!='') ? $r['nickname'] : (($r['username']!='') ? $r['username'] : (($r['name']!='') ? $r['name'] : '匿名用户'));}
{php $rface = ($r['face']!='') ? $r['face'] : $r['weixin_avatarurl'];}
{if $rface}

{else}

{/if}
$rname
{php echo number_format(floatval($r['v']), 1);} 分
{/loop}
{else}
暂无数据
{/if}