7) { $type = null; } $type_url="";$type_sql="";$type_name=""; if ($type) { $type_url = "&type=$type"; $type_name = team_type_name($type); } $offset = get_int("offset", true); if (!$offset) $offset=0; if ($offset % ITEMS_PER_PAGE) $offset = 0; if ($offset < ITEM_LIMIT) { $cache_args = "sort_by=$sort_by&offset=$offset&type=$type"; $cacheddata = get_cached_data(TOP_PAGES_TTL,$cache_args); if ($cacheddata){ //If we have got the data in cache $data = store_to_teams($cacheddata); // use the cached data } else { //if not do queries etc to generate new data db_init(true); $data = get_top_teams($offset,$sort_by,$type); // We need to calculate nusers before storing into the cache $o = 0; while ($team = $data[$o]) { $data[$o]->nusers = team_count_nusers($team->id); $o++; } set_cache_data(teams_to_store($data),$cache_args); //save data in cache } } else { error_page("Limit exceeded - Sorry, first ".ITEM_LIMIT." items only"); } // Now display what we've got (either gotten from cache or from DB) page_head(sprintf(tr(TOP_TEAMS_TITLE),$type_name)); start_table(); team_table_start($sort_by,$type_url); $i = 1 + $offset; $o = 0; while ($team = $data[$o]) { show_team_row($team, $i); $i++; $o++; } echo "\n
"; if ($offset > 0) { $new_offset = $offset - ITEMS_PER_PAGE; echo "Previous ".ITEMS_PER_PAGE." | "; } if ($o==ITEMS_PER_PAGE){ //If we aren't on the last page $new_offset = $offset + ITEMS_PER_PAGE; echo "Next ".ITEMS_PER_PAGE.""; } page_tail(); ?>