$sort_by = isset($_SESSION["sort_by"]) ? $_SESSION["sort_by"] : "rank"; } $_SESSION["sort_by"] = $sort_by; $filter = isset($_POST['filter']) ? $_POST['filter'] : "default"; if ($filter != "default") { $query = process_filter_to_query($filter); $_SESSION['filter'] = $_POST['filter']; } else { if ($filter == "default") { $query = isset($_SESSION['filter']) ? process_filter_to_query($_SESSION['filter']) : process_filter_to_query($filter); } } echo "<table style='text-align:center;'>" . fetch_table_header($sort_by); $statement = $connection->query("select * from achievements " . $query . fetch_order_query($sort_by)); while ($achievement = $statement->fetchObject()) { echo fetch_listing_row($achievement); } echo "</table>"; list_completed_achievements(); echo "<h3 style='text-align:center;'>\n <span id='show_abandoned' class='h-normal hand text-button' style='float:left;'>[ Show ] </span>\n <span id='hide_abandoned' class='h-normal hand text-button' style='display:none;float:left;'>[ Hide ] </span>\n Abandoned Achievements</h3>\n \n <div id='abandoned_achievements_list' style='display:none;'>"; list_abandoned_achievements(); echo "</div>"; function fetch_order_query($sort_by) { $order_by = ["default" => " order by quality asc, rank asc", "power" => " order by power asc", "powerrev" => " order by power desc, rank asc", "adjusted" => " order by power_adj asc", "adjusted_rev" => " order by power_adj desc, rank asc", "rank" => " order by rank asc", "rankrev" => " order by rank desc", "created" => " order by created asc", "createdrev" => " order by created desc", "name" => " order by name asc", "namerev" => " order by name desc", "work" => " order by work", "workrev" => " order by work desc"]; return $order_by[$sort_by]; } function fetch_table_header($sort_by) { $headers = ["Rank", "Power", "Adjusted", "Name"]; $string = "<tr>";
function list_children($id) { $connection = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME, DB_USER, DB_PWD); $statement = $connection->prepare("select count(*) from achievements where deleted=0 and parent=? limit 1"); $statement->bindValue(1, $id, PDO::PARAM_INT); $statement->execute(); if ($statement->fetchColumn() == 0) { echo "<div style=' font-style:italic;'>This achievement has no children.</div>"; return; } $statement = $connection->prepare("select * from achievements where deleted=0 and parent=? order by rank"); $statement->bindValue(1, $id, PDO::PARAM_INT); $statement->execute(); echo "<table>"; while ($achievement = $statement->fetchObject()) { echo fetch_listing_row($achievement); } echo "</table>"; }