0 ? $current_page - 5: 0;
$navi_page_range_count = max(0, min(9, $last_page - $navi_page_range_start));
$navi_page_list = range($navi_page_range_start, $navi_page_range_start + $navi_page_range_count);
$pageinfo['current'] = $current_page;
$pageinfo['last'] = $last_page;
$pageinfo['navi_list'] = $navi_page_list;
$pageinfo['total_data_count'] = $total_data_count;
$pageinfo['data_count_per_page'] = $data_count_per_page;
return $pageinfo;
}
/**
* ページナビゲーションテーブルを表示する
*
* @param array $pageinfo calc_page_info()関数で取得したページ情報を保持する連想配列
*/
function print_navi_page_table($pageinfo)
{
if (count($pageinfo['navi_list']) <= 1) return;
$href_base = preg_replace('/(&?start=\w+)/', '', filter_input(INPUT_SERVER, 'REQUEST_URI'));
if (strpos($href_base, "?") === FALSE) {
$href_base .= "?";
}
echo "
\n"
."";
if ($pageinfo['current'] > 0) {
$href = $href_base . "&start=". ($pageinfo['current'] - 1) * $pageinfo['data_count_per_page'];
echo "< 前へ | ";
}
foreach ($pageinfo['navi_list'] as $page) {
$page_num = $page + 1;
$href = $href_base . "&start=". $page * $pageinfo['data_count_per_page'];
if ($page === $pageinfo['current']) {
echo "$page_num | ";
} else {
echo "$page_num | ";
}
}
if ($pageinfo['current'] < $pageinfo['last']) {
$href = $href_base . "&start=". ($pageinfo['current'] + 1) * $pageinfo['data_count_per_page'];
echo "次へ > | ";
}
echo "
\n"
."
\n";
}
/**
* スコアランキングテーブルを表示する
*
* @param array $scores スコア
* @param integer $rank_start 順位の開始番号(0オリジン)
*/
function print_score_table($scores, $rank_start)
{
echo <<
順位 |
スコア |
日付 |
名前 |
種族 |
職業 |
性別 |
死因 |
EOM;
foreach($scores as $idx => $score) {
$rank = $rank_start + $idx + 1;
$score_id = $score['score_id'];
$date = substr($score['date'], 0, 10);
$sex_str = $score['sex'] ? "男" : "女";
$death_reason = get_death_reason($score['killer']);
$depth = !$score['winner'] ? $score['depth']."階, " : "";
$realms = isset($score['realms_name']) ? "(".$score['realms_name'].")" : "";
$dumpfile = new DumpFile($score_id);
echo "\n";
if ($dumpfile->exists('dumps', 'txt')) {
$name = "{$score['personality_name']}{$score['name']}\n";
} else {
$name = "{$score['personality_name']}{$score['name']}";
}
echo <<$rank
{$score['score']} |
$date |
$name |
{$score['race_name']} |
{$score['class_name']}$realms |
$sex_str |
EOM;
if ($dumpfile->exists('screens', 'html')) {
echo "{$death_reason}";
} else {
echo " | {$death_reason}";
}
echo " ({$depth}{$score['version']}) | \n";
echo "
\n";
}
echo "\n";
}
$db = new ScoreDB();
$start_num = filter_input(INPUT_GET, 'start', FILTER_VALIDATE_INT) ?: 0;
$search_result = $db->search_score($start_num, 50);
$pageinfo = calc_page_info($search_result['total_data_count'], $start_num, 50);
?>
変愚蛮怒 スコア ランキング
変愚蛮怒 歴代スコア (get_sort_mode_name(); ?>)