mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-23 15:20:52 +01:00
Clean up guild forums & ensure thread list is updated
This commit is contained in:
parent
70bc0f6bcb
commit
913ca752ba
@ -10,6 +10,7 @@ import com.eu.habbo.messages.incoming.MessageHandler;
|
|||||||
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertComposer;
|
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertComposer;
|
||||||
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertKeys;
|
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertKeys;
|
||||||
import com.eu.habbo.messages.outgoing.guilds.forums.GuildForumThreadMessagesComposer;
|
import com.eu.habbo.messages.outgoing.guilds.forums.GuildForumThreadMessagesComposer;
|
||||||
|
import com.eu.habbo.messages.outgoing.guilds.forums.GuildForumThreadsComposer;
|
||||||
import com.eu.habbo.messages.outgoing.handshake.ConnectionErrorComposer;
|
import com.eu.habbo.messages.outgoing.handshake.ConnectionErrorComposer;
|
||||||
|
|
||||||
|
|
||||||
@ -51,7 +52,7 @@ public class GuildForumModerateThreadEvent extends MessageHandler {
|
|||||||
thread.setState(ForumThreadState.fromValue(state));
|
thread.setState(ForumThreadState.fromValue(state));
|
||||||
thread.setAdminId(this.client.getHabbo().getHabboInfo().getId());
|
thread.setAdminId(this.client.getHabbo().getHabboInfo().getId());
|
||||||
|
|
||||||
Emulator.getThreading().run(thread);
|
thread.run();
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case 10:
|
case 10:
|
||||||
@ -64,5 +65,6 @@ public class GuildForumModerateThreadEvent extends MessageHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.client.sendResponse(new GuildForumThreadMessagesComposer(thread));
|
this.client.sendResponse(new GuildForumThreadMessagesComposer(thread));
|
||||||
|
this.client.sendResponse(new GuildForumThreadsComposer(guild, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -7,6 +7,8 @@ import com.eu.habbo.habbohotel.guilds.GuildRank;
|
|||||||
import com.eu.habbo.habbohotel.guilds.SettingsState;
|
import com.eu.habbo.habbohotel.guilds.SettingsState;
|
||||||
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
|
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
|
||||||
import com.eu.habbo.messages.incoming.MessageHandler;
|
import com.eu.habbo.messages.incoming.MessageHandler;
|
||||||
|
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertComposer;
|
||||||
|
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertKeys;
|
||||||
import com.eu.habbo.messages.outgoing.guilds.forums.GuildForumThreadsComposer;
|
import com.eu.habbo.messages.outgoing.guilds.forums.GuildForumThreadsComposer;
|
||||||
import com.eu.habbo.messages.outgoing.guilds.forums.ThreadUpdatedMessageComposer;
|
import com.eu.habbo.messages.outgoing.guilds.forums.ThreadUpdatedMessageComposer;
|
||||||
import com.eu.habbo.messages.outgoing.handshake.ConnectionErrorComposer;
|
import com.eu.habbo.messages.outgoing.handshake.ConnectionErrorComposer;
|
||||||
@ -42,9 +44,24 @@ public class GuildForumThreadUpdateEvent extends MessageHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean pinChanged = isPinned != thread.isPinned();
|
||||||
|
if (pinChanged) {
|
||||||
|
this.client.sendResponse(new BubbleAlertComposer(isPinned ? BubbleAlertKeys.FORUMS_THREAD_PINNED.key : BubbleAlertKeys.FORUMS_THREAD_UNPINNED.key).compose());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isLocked != thread.isLocked()) {
|
||||||
|
this.client.sendResponse(new BubbleAlertComposer(isLocked ? BubbleAlertKeys.FORUMS_THREAD_LOCKED.key : BubbleAlertKeys.FORUMS_THREAD_UNLOCKED.key).compose());
|
||||||
|
}
|
||||||
|
|
||||||
|
thread.setPinned(isPinned);
|
||||||
|
thread.setLocked(isLocked);
|
||||||
|
|
||||||
|
thread.run();
|
||||||
|
|
||||||
|
|
||||||
this.client.sendResponse(new ThreadUpdatedMessageComposer(guild, thread, this.client.getHabbo(), isPinned, isLocked));
|
this.client.sendResponse(new ThreadUpdatedMessageComposer(guild, thread, this.client.getHabbo(), isPinned, isLocked));
|
||||||
|
|
||||||
if (isPinned) {
|
if (pinChanged) {
|
||||||
this.client.sendResponse(new GuildForumThreadsComposer(guild, 0));
|
this.client.sendResponse(new GuildForumThreadsComposer(guild, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,11 @@
|
|||||||
package com.eu.habbo.messages.outgoing.guilds.forums;
|
package com.eu.habbo.messages.outgoing.guilds.forums;
|
||||||
|
|
||||||
import com.eu.habbo.Emulator;
|
|
||||||
import com.eu.habbo.habbohotel.guilds.Guild;
|
import com.eu.habbo.habbohotel.guilds.Guild;
|
||||||
import com.eu.habbo.habbohotel.guilds.GuildRank;
|
|
||||||
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
|
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
|
||||||
import com.eu.habbo.habbohotel.users.Habbo;
|
import com.eu.habbo.habbohotel.users.Habbo;
|
||||||
import com.eu.habbo.messages.ServerMessage;
|
import com.eu.habbo.messages.ServerMessage;
|
||||||
import com.eu.habbo.messages.outgoing.MessageComposer;
|
import com.eu.habbo.messages.outgoing.MessageComposer;
|
||||||
import com.eu.habbo.messages.outgoing.Outgoing;
|
import com.eu.habbo.messages.outgoing.Outgoing;
|
||||||
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertComposer;
|
|
||||||
import com.eu.habbo.messages.outgoing.generic.alerts.BubbleAlertKeys;
|
|
||||||
|
|
||||||
public class ThreadUpdatedMessageComposer extends MessageComposer {
|
public class ThreadUpdatedMessageComposer extends MessageComposer {
|
||||||
|
|
||||||
@ -33,30 +29,10 @@ public class ThreadUpdatedMessageComposer extends MessageComposer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ServerMessage compose() {
|
public ServerMessage compose() {
|
||||||
if (isPinned != thread.isPinned()) {
|
this.response.init(Outgoing.ThreadUpdateMessageComposer);
|
||||||
this.habbo.getClient().sendResponse(new BubbleAlertComposer(isPinned ? BubbleAlertKeys.FORUMS_THREAD_PINNED.key : BubbleAlertKeys.FORUMS_THREAD_UNPINNED.key).compose());
|
this.response.appendInt(this.thread.getGuildId());
|
||||||
}
|
this.thread.serialize(this.response);
|
||||||
|
|
||||||
if (isLocked != thread.isLocked()) {
|
return this.response;
|
||||||
this.habbo.getClient().sendResponse(new BubbleAlertComposer(isLocked ? BubbleAlertKeys.FORUMS_THREAD_LOCKED.key : BubbleAlertKeys.FORUMS_THREAD_UNLOCKED.key).compose());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.habbo.getHabboInfo().getId() != guild.getOwnerId() ||
|
|
||||||
guild.canModForum().state == 2 && (Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, habbo).getRank() == GuildRank.OWNER
|
|
||||||
|| Emulator.getGameEnvironment().getGuildManager().getGuildMember(guild, habbo).getRank() == GuildRank.ADMIN)
|
|
||||||
|| this.habbo.hasPermission("acc_modtool_ticket_q")) {
|
|
||||||
this.thread.setPinned(isPinned);
|
|
||||||
this.thread.setLocked(isLocked);
|
|
||||||
|
|
||||||
Emulator.getThreading().run(this.thread);
|
|
||||||
|
|
||||||
this.response.init(Outgoing.ThreadUpdateMessageComposer);
|
|
||||||
this.response.appendInt(this.thread.getGuildId());
|
|
||||||
this.thread.serialize(this.response);
|
|
||||||
|
|
||||||
return this.response;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user