From a0602f9af6d2a66113377119ad76c1bac86956a3 Mon Sep 17 00:00:00 2001 From: Quackster Date: Tue, 25 Oct 2022 14:27:17 +1000 Subject: [PATCH 01/10] Update README.md --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e6b2105..696a9e3 100644 --- a/README.md +++ b/README.md @@ -198,13 +198,9 @@ Download the [havana_www.zip](https://www.mediafire.com/file/x94neh4qbu3l2s2/hav *(This is the default directory for static content within the Havana-Web project, but the directory where it looks for static images can be configured in the Housekeeping settings).* -Open Havana-Web.jar via +Start Havana-Web via start_web.sh (Unix/Linux distros) or start_web.bat (Windows) -``` -java -jar Havana-Web.jar -``` - -Open Havana-Server.jar via +Start Havana-Server via start_server.sh (Unix/Linux distros) or start_server.bat (Windows) ``` java -jar Havana-Server.jar From 0ed9b7c9ae4fc120d104c426e3e744049feb2f7b Mon Sep 17 00:00:00 2001 From: Quackster Date: Tue, 25 Oct 2022 14:28:14 +1000 Subject: [PATCH 02/10] Update README.md --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 696a9e3..2e5eb57 100644 --- a/README.md +++ b/README.md @@ -202,10 +202,6 @@ Start Havana-Web via start_web.sh (Unix/Linux distros) or start_web.bat (Windows Start Havana-Server via start_server.sh (Unix/Linux distros) or start_server.bat (Windows) -``` -java -jar Havana-Server.jar -``` - Your server should be up and running and accessible via http://localhost/ I highly recommend [this browser](https://forum.ragezone.com/f353/portable-browser-with-flash-shockwave-1192727/) to be able to play Adobe Shockwave movies in the present day. From 2775f3d843157b0835303c1aa743e540ae5c21bb Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Sun, 13 Nov 2022 14:55:39 +0100 Subject: [PATCH 03/10] Replace asset url from webserver to cdn --- tools/www-tpl/default-en/housekeeping/base/header.tpl | 4 ++-- tools/www-tpl/default-en/housekeeping/login.tpl | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/www-tpl/default-en/housekeeping/base/header.tpl b/tools/www-tpl/default-en/housekeeping/base/header.tpl index 34ac923..7cf5c36 100644 --- a/tools/www-tpl/default-en/housekeeping/base/header.tpl +++ b/tools/www-tpl/default-en/housekeeping/base/header.tpl @@ -6,8 +6,8 @@ {{ site.siteName }}: {{ pageName }} - - + + diff --git a/tools/www-tpl/default-en/housekeeping/login.tpl b/tools/www-tpl/default-en/housekeeping/login.tpl index 2cec47b..32c8f3f 100644 --- a/tools/www-tpl/default-en/housekeeping/login.tpl +++ b/tools/www-tpl/default-en/housekeeping/login.tpl @@ -7,9 +7,9 @@ {{ site.siteName }}: Housekeeping - - - + + + @@ -40,6 +40,6 @@ © Copyright 2018 - Alex Miller - + From 8fa86cfb2b4df6f928299fd00938f7f7b6a20ac0 Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Sun, 13 Nov 2022 17:29:20 +0100 Subject: [PATCH 04/10] Add pagination to housekeeping ban overview page --- .../org/alexdev/havana/dao/mysql/BanDao.java | 42 +++++++++++-------- .../HousekeepingBansController.java | 22 +++++++++- .../default-en/housekeeping/users_bans.tpl | 8 ++++ 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java b/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java index 47c52f6..daec830 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java @@ -115,28 +115,36 @@ public class BanDao { } } - public static List getActiveBans() { + public static List getActiveBans(int page, String sortBy) { List banList = new ArrayList<>(); - Connection sqlConnection = null; - PreparedStatement preparedStatement = null; - ResultSet resultSet = null; + int rows = 1; + int nextOffset = page * rows; - try { - sqlConnection = Storage.getStorage().getConnection(); - preparedStatement = Storage.getStorage().prepare("SELECT * FROM users_bans WHERE is_active = 1 ORDER BY banned_at DESC", sqlConnection); - resultSet = preparedStatement.executeQuery(); + if (nextOffset >= 0) { + Connection sqlConnection = null; + PreparedStatement preparedStatement = null; + ResultSet resultSet = null; - while (resultSet.next()) { - banList.add(new Ban(BanType.valueOf(resultSet.getString("ban_type")), resultSet.getString("banned_value"), resultSet.getString("message"), resultSet.getTime("banned_until").getTime() / 1000L, - resultSet.getTime("banned_at").getTime() / 1000L, resultSet.getInt("banned_by"))); + try { + sqlConnection = Storage.getStorage().getConnection(); + preparedStatement = Storage.getStorage().prepare("SELECT * FROM users_bans WHERE is_active = 1 ORDER BY " + sortBy + " DESC LIMIT ? OFFSET ?", sqlConnection); + preparedStatement.setInt(1, rows); + preparedStatement.setInt(2, nextOffset); + + resultSet = preparedStatement.executeQuery(); + + while (resultSet.next()) { + banList.add(new Ban(BanType.valueOf(resultSet.getString("ban_type")), resultSet.getString("banned_value"), resultSet.getString("message"), resultSet.getTime("banned_until").getTime() / 1000L, + resultSet.getTime("banned_at").getTime() / 1000L, resultSet.getInt("banned_by"))); + } + } catch (Exception e) { + Storage.logError(e); + } finally { + Storage.closeSilently(sqlConnection); + Storage.closeSilently(preparedStatement); + Storage.closeSilently(resultSet); } - } catch (Exception e) { - Storage.logError(e); - } finally { - Storage.closeSilently(sqlConnection); - Storage.closeSilently(preparedStatement); - Storage.closeSilently(resultSet); } return banList; diff --git a/Havana-Web/src/main/java/org/alexdev/http/controllers/housekeeping/HousekeepingBansController.java b/Havana-Web/src/main/java/org/alexdev/http/controllers/housekeeping/HousekeepingBansController.java index a72ab0d..7bd3e6c 100644 --- a/Havana-Web/src/main/java/org/alexdev/http/controllers/housekeeping/HousekeepingBansController.java +++ b/Havana-Web/src/main/java/org/alexdev/http/controllers/housekeeping/HousekeepingBansController.java @@ -15,6 +15,21 @@ public class HousekeepingBansController { return; } + int currentPage = 0; + + if (client.get().contains("page")) { + currentPage = Integer.parseInt(client.get().getString("page")); + } + + String sortBy = "banned_at"; + + if (client.get().contains("sort")) { + if (client.get().getString("sort").equals("banned_at") || + client.get().getString("sort").equals("banned_until")) { + sortBy = client.get().getString("sort"); + } + } + Template tpl = client.template("housekeeping/users_bans"); tpl.set("housekeepingManager", HousekeepingManager.getInstance()); @@ -25,7 +40,12 @@ public class HousekeepingBansController { return; } - tpl.set("bans", BanDao.getActiveBans()); + tpl.set("pageName", "Bans"); + tpl.set("bans", BanDao.getActiveBans(currentPage, sortBy)); + tpl.set("nextBans", BanDao.getActiveBans(currentPage + 1, sortBy)); + tpl.set("previousBans", BanDao.getActiveBans(currentPage - 1, sortBy)); + tpl.set("page", currentPage); + tpl.set("sortBy", sortBy); tpl.render(); // Delete alert after it's been rendered diff --git a/tools/www-tpl/default-en/housekeeping/users_bans.tpl b/tools/www-tpl/default-en/housekeeping/users_bans.tpl index 9e00c89..96269ae 100644 --- a/tools/www-tpl/default-en/housekeeping/users_bans.tpl +++ b/tools/www-tpl/default-en/housekeeping/users_bans.tpl @@ -5,6 +5,14 @@

View and manage bans

{% include "housekeeping/base/alert.tpl" %}

Manage all currently active bans on the hotel

+ {% if nextBans|length > 0 %} + {% set ourNextPage = page + 1 %} + + {% endif %} + {% if previousBans|length > 0 %} + {% set ourNextPage = page - 1 %} + + {% endif %}
From 81481d4994eaf204f653a9a16e9befaf339b0d6c Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Sun, 13 Nov 2022 17:31:15 +0100 Subject: [PATCH 05/10] Add sort option to table titles --- tools/www-tpl/default-en/housekeeping/users_bans.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/www-tpl/default-en/housekeeping/users_bans.tpl b/tools/www-tpl/default-en/housekeeping/users_bans.tpl index 96269ae..6a1f268 100644 --- a/tools/www-tpl/default-en/housekeeping/users_bans.tpl +++ b/tools/www-tpl/default-en/housekeeping/users_bans.tpl @@ -21,8 +21,8 @@ - - + + From 1f62baaa647646efb2ef2a9b25c954678dae0226 Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Sun, 13 Nov 2022 17:40:36 +0100 Subject: [PATCH 06/10] Fix wrong amount of rows --- .../src/main/java/org/alexdev/havana/dao/mysql/BanDao.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java b/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java index daec830..49dbf26 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/dao/mysql/BanDao.java @@ -118,7 +118,7 @@ public class BanDao { public static List getActiveBans(int page, String sortBy) { List banList = new ArrayList<>(); - int rows = 1; + int rows = 25; int nextOffset = page * rows; if (nextOffset >= 0) { From 24509c106e18e1ee0ae72e5f05c28acc4f62de5b Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Sun, 13 Nov 2022 18:28:06 +0100 Subject: [PATCH 07/10] Apply same styling as on dashboard --- tools/www-tpl/default-en/housekeeping/users_bans.tpl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/www-tpl/default-en/housekeeping/users_bans.tpl b/tools/www-tpl/default-en/housekeeping/users_bans.tpl index 6a1f268..88326d3 100644 --- a/tools/www-tpl/default-en/housekeeping/users_bans.tpl +++ b/tools/www-tpl/default-en/housekeeping/users_bans.tpl @@ -5,6 +5,7 @@

View and manage bans

{% include "housekeeping/base/alert.tpl" %}

Manage all currently active bans on the hotel

+
{% if nextBans|length > 0 %} {% set ourNextPage = page + 1 %} @@ -13,6 +14,7 @@ {% set ourNextPage = page - 1 %} {% endif %} +
Type Value MessageBanned UtilBanned AtBanned UtilBanned At Banned By
From 34a25538c315d0fa23ebbd8e13ce8dd0eb9a2ef4 Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Sun, 13 Nov 2022 22:21:25 +0100 Subject: [PATCH 08/10] Add public get methods for housekeeping stats --- .../game/housekeeping/HousekeepingStats.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Havana-Web/src/main/java/org/alexdev/http/game/housekeeping/HousekeepingStats.java b/Havana-Web/src/main/java/org/alexdev/http/game/housekeeping/HousekeepingStats.java index 09357e7..c9e7877 100644 --- a/Havana-Web/src/main/java/org/alexdev/http/game/housekeeping/HousekeepingStats.java +++ b/Havana-Web/src/main/java/org/alexdev/http/game/housekeeping/HousekeepingStats.java @@ -16,4 +16,28 @@ public class HousekeepingStats { this.petCount = petCount; this.photoCount = photoCount; } + + public int getUserCount() { + return userCount; + } + + public int getInventoryItemsCount() { + return inventoryItemsCount; + } + + public int getRoomItemCount() { + return roomItemCount; + } + + public int getGroupCount() { + return groupCount; + } + + public int getPetCount() { + return petCount; + } + + public int getPhotoCount() { + return photoCount; + } } From fbcffd7b05fcf993bceb742c281250900b022b97 Mon Sep 17 00:00:00 2001 From: GitHabbo Date: Thu, 17 Nov 2022 21:40:43 +0100 Subject: [PATCH 09/10] Add user transaction log for buying Habbo Club --- .../alexdev/havana/game/club/ClubSubscription.java | 13 ++++++++++++- .../http/controllers/habblet/HabboClubHabblet.java | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Havana-Server/src/main/java/org/alexdev/havana/game/club/ClubSubscription.java b/Havana-Server/src/main/java/org/alexdev/havana/game/club/ClubSubscription.java index ae5dc30..b8dd863 100644 --- a/Havana-Server/src/main/java/org/alexdev/havana/game/club/ClubSubscription.java +++ b/Havana-Server/src/main/java/org/alexdev/havana/game/club/ClubSubscription.java @@ -80,7 +80,7 @@ public class ClubSubscription { * @param playerDetails the details of the player that subscribed * @param choice the subscription choice */ - public static boolean subscribeClub(PlayerDetails playerDetails, int choice) { + public static boolean subscribeClub(PlayerDetails playerDetails, int choice) throws SQLException { var choiceData = getChoiceData(choice); int credits = choiceData.getKey(); @@ -124,6 +124,17 @@ public class ClubSubscription { PlayerDao.saveSubscription(playerDetails.getId(), playerDetails.getFirstClubSubscription(), playerDetails.getClubExpiration()); CurrencyDao.decreaseCredits(playerDetails, credits); + TransactionDao.createTransaction( + playerDetails.getId(), + "0", + "0", + days, + "Habbo Club purchase", + credits, + 0, + true + ); + return true; } diff --git a/Havana-Web/src/main/java/org/alexdev/http/controllers/habblet/HabboClubHabblet.java b/Havana-Web/src/main/java/org/alexdev/http/controllers/habblet/HabboClubHabblet.java index afca0c6..c1701b9 100644 --- a/Havana-Web/src/main/java/org/alexdev/http/controllers/habblet/HabboClubHabblet.java +++ b/Havana-Web/src/main/java/org/alexdev/http/controllers/habblet/HabboClubHabblet.java @@ -13,6 +13,7 @@ import org.alexdev.havana.util.DateUtil; import org.alexdev.havana.util.config.GameConfiguration; import org.alexdev.http.util.RconUtil; +import java.sql.SQLException; import java.util.HashMap; import java.util.concurrent.TimeUnit; @@ -39,7 +40,7 @@ public class HabboClubHabblet { template.render(); } - public static void subscribe(WebConnection webConnection) { + public static void subscribe(WebConnection webConnection) throws SQLException { if (!webConnection.session().getBoolean("authenticated")) { return; } From 90e2cc717d5242604809f572908b5e06e7e7da45 Mon Sep 17 00:00:00 2001 From: Quackster Date: Sun, 27 Nov 2022 16:44:15 +1000 Subject: [PATCH 10/10] .com.tr to our own imaging path --- tools/www-tpl/default-en/housekeeping/dashboard.tpl | 2 +- tools/www-tpl/default-en/housekeeping/users_search.tpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/www-tpl/default-en/housekeeping/dashboard.tpl b/tools/www-tpl/default-en/housekeeping/dashboard.tpl index 79296a9..3737589 100644 --- a/tools/www-tpl/default-en/housekeeping/dashboard.tpl +++ b/tools/www-tpl/default-en/housekeeping/dashboard.tpl @@ -90,7 +90,7 @@ - + diff --git a/tools/www-tpl/default-en/housekeeping/users_search.tpl b/tools/www-tpl/default-en/housekeeping/users_search.tpl index 67412cb..708f6e3 100644 --- a/tools/www-tpl/default-en/housekeeping/users_search.tpl +++ b/tools/www-tpl/default-en/housekeeping/users_search.tpl @@ -56,7 +56,7 @@ - +
{{ player.id }} {{ player.name }} - Transactons {{ player.email }} {{ player.motto }} {{ player.credits }} {{ player.pixels }}{{ player.id }} {{ player.name }} {{ player.email }} {{ player.mission }} {{ player.credits }} {{ player.pixels }}