function getAminStats($adminSortBy, $adminSortDirection, $adminSearchText) { $adminSortBy = addslashes($adminSortBy); // Prevent SQL Injection $adminSortDirection = addslashes($adminSortDirection); // Prevent SQL Injection $adminSearchText = addslashes($adminSearchText); // Prevent SQL Injection $sql = "SELECT\r\n\t\t\t\tb.banner AS Admin,\r\n\t\t\t\tCount(b.ban_id) AS NumBaneados,\r\n\t\t\t\tCount(eb.ban_id) AS NumCumplidos,\r\n\t\t\t\tCount(vb.ban_id) AS NumCumpliendose,\r\n\t\t\t\tCount(pb.steam_id) AS NumPermanentes\r\n\t\t\tFROM\r\n\t\t\t\tgban_ban AS b\r\n\t\t\t\tLeft Join gban_ban AS eb ON b.ban_id = eb.ban_id AND (b.expire_date < NOW()) AND b.`length` <> '0' \r\n\t\t\t\tLeft Join gban_ban AS vb ON b.ban_id = vb.ban_id AND (b.expire_date > NOW()) AND b.`length` <> '0'\r\n\t\t\t\tLeft Join gban_ban AS pb ON b.ban_id = pb.ban_id AND b.time_scale = 'minutes' AND b.`length` = 0\r\n\r\n\t\t\tWHERE\r\n\t\t\t\tb.active = '1'\r\n\t\t\t AND\r\n\t\t\t\tb.pending = '0'\r\n\r\n\t\t\tGROUP BY\r\n\t\t\t\tb.banner\r\n\r\n\t\t\tORDER BY "; $sql .= "" . $adminSortBy . " " . $adminSortDirection . ",NumCumpliendose DESC, NumCumplidos DESC"; $this->db->sql_query($sql); $adminStatsArray = $this->db->get_array(); $adminStats = array(); for ($i = 0; $i < count($adminStatsArray); $i++) { $adminStat = new AdminStats(); $admin = $adminStatsArray[$i]['Admin']; if ($admin == "") { $admin = "Unknown"; } $adminStat->setAdmin($admin); $adminStat->setNumBaneados(stripslashes($adminStatsArray[$i]['NumBaneados'])); $adminStat->setNumCumplidos($adminStatsArray[$i]['NumCumplidos']); $adminStat->setNumCumpliendose($adminStatsArray[$i]['NumCumpliendose']); $adminStat->setNumPermanentes($adminStatsArray[$i]['NumPermanentes']); array_push($adminStats, $adminStat); // Add the reason stats object to the array } return $adminStats; }