function fetch_nav_menu($id, $rank, $parent) { $prev_achievement = fetch_achievement_by_rank_and_parent($rank - 1, $parent); $next_achievement = fetch_achievement_by_rank_and_parent($rank + 1, $parent); $string = $rank > 1 ? " <div title = '{$prev_achievement->name}' style = 'float:left'>\n<a href = '" . SITE_ROOT . "/?rla={$prev_achievement->id}'>Previous</a>\n</div>" : " <div style = 'float:left;'>Previous</div>"; $string = $string . generate_select_achievement_menu($parent, $id); $string = $rank < fetch_highest_rank($parent) ? $string . " <div title = '{$next_achievement->name}' style = 'float:right'>\n<a href = '" . SITE_ROOT . "/?rla={$next_achievement->id}'>Next</a>\n</div>" : $string . " <div style = 'float:right;margin-right:8px;'>Next</div>"; return $string; }
function restore_achievement($id) { if (!user_owns_achievement($id)) { //BAD return; } $achievement = fetch_achievement($id); if (!$achievement->abandoned && !$achievement->deleted) { error_log("Line #" . __LINE__ . ":" . __FUNCTION__ . "({$id}) Achievement doesn't need to be undeleted."); return; } if ($achievement->deleted) { undelete_achievement($id); } if ($achievement->abandoned) { unabandon_achievement($id); } update_rank($id, fetch_highest_rank($achievement->parent) + 1); }