Esempio n. 1
0
 }
 // Count the total number of users first
 $user_total_count = $db->get_value("SELECT count(user_id) AS total FROM mmrpg_users AS users WHERE users.user_id <> 0;", 'total');
 // If the requested page would go over the limit, floor it
 if (ceil($show_limit * $sheet_number) > $user_total_count) {
     $sheet_number = ceil($user_total_count / $show_limit);
     $row_offset = $show_limit * ($sheet_number - 1);
 }
 // Collect a list of all users in the database
 $user_fields = rpg_user::get_fields(true, 'users');
 $user_roles_fields = rpg_user_role::get_fields(true, 'roles');
 $user_query = "SELECT\n        {$user_fields},\n        {$user_roles_fields},\n        (CASE WHEN leaderboard.board_points > 0 THEN 1 ELSE 0 END) AS user_flag_played\n        FROM mmrpg_users AS users\n        LEFT JOIN mmrpg_roles AS roles ON roles.role_id = users.role_id\n        LEFT JOIN mmrpg_leaderboard AS leaderboard ON leaderboard.user_id = users.user_id\n        WHERE users.user_id <> 0\n        ORDER BY {$query_sort}\n        LIMIT {$row_offset}, {$show_limit}\n        ;";
 $user_index = $db->get_array_list($user_query, 'user_id');
 $user_index_count = !empty($user_index) ? count($user_index) : 0;
 // Collect a leaderboard index so we can check if published
 $leaderboard_tokens = rpg_prototype::leaderboard_index_tokens();
 // Collect a list of completed user sprite tokens
 $random_sprite = 'kalinka';
 // Calculate the number of sheets to display
 $num_sheets = ceil($user_total_count / $show_limit);
 // Define a function for generating user sheet links
 $gen_page_link = function ($i, $show_active = true, $show_text = false) use($sort_column, $sort_direction, $show_limit, $sheet_number, $num_sheets) {
     $active = $show_active && $i == $sheet_number ? true : false;
     $visible = $i == 1 || $i == $num_sheets || abs($i - $sheet_number) < 5 ? true : false;
     $link = 'admin/users/sort=' . $sort_column . '-' . $sort_direction . '&amp;show=' . $show_limit . '&amp;sheet=' . $i;
     $class = 'link_inline' . ($active ? ' active' : '') . (!$visible ? ' compact' : '');
     $text = !empty($show_text) ? $show_text : ($visible ? $i : '.');
     return '<a class="' . $class . '" href="' . $link . '">' . $text . '</a>' . PHP_EOL;
 };
 // Generate links for prev, next, and any pages in between
 $sheet_link_markup = '';