mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-23 07:20:50 +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.BubbleAlertKeys;
|
||||
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;
|
||||
|
||||
|
||||
@ -51,7 +52,7 @@ public class GuildForumModerateThreadEvent extends MessageHandler {
|
||||
thread.setState(ForumThreadState.fromValue(state));
|
||||
thread.setAdminId(this.client.getHabbo().getHabboInfo().getId());
|
||||
|
||||
Emulator.getThreading().run(thread);
|
||||
thread.run();
|
||||
|
||||
switch (state) {
|
||||
case 10:
|
||||
@ -64,5 +65,6 @@ public class GuildForumModerateThreadEvent extends MessageHandler {
|
||||
}
|
||||
|
||||
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.forums.ForumThread;
|
||||
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.ThreadUpdatedMessageComposer;
|
||||
import com.eu.habbo.messages.outgoing.handshake.ConnectionErrorComposer;
|
||||
@ -42,9 +44,24 @@ public class GuildForumThreadUpdateEvent extends MessageHandler {
|
||||
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));
|
||||
|
||||
if (isPinned) {
|
||||
if (pinChanged) {
|
||||
this.client.sendResponse(new GuildForumThreadsComposer(guild, 0));
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,11 @@
|
||||
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.GuildRank;
|
||||
import com.eu.habbo.habbohotel.guilds.forums.ForumThread;
|
||||
import com.eu.habbo.habbohotel.users.Habbo;
|
||||
import com.eu.habbo.messages.ServerMessage;
|
||||
import com.eu.habbo.messages.outgoing.MessageComposer;
|
||||
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 {
|
||||
|
||||
@ -33,30 +29,10 @@ public class ThreadUpdatedMessageComposer extends MessageComposer {
|
||||
|
||||
@Override
|
||||
public ServerMessage compose() {
|
||||
if (isPinned != thread.isPinned()) {
|
||||
this.habbo.getClient().sendResponse(new BubbleAlertComposer(isPinned ? BubbleAlertKeys.FORUMS_THREAD_PINNED.key : BubbleAlertKeys.FORUMS_THREAD_UNPINNED.key).compose());
|
||||
}
|
||||
this.response.init(Outgoing.ThreadUpdateMessageComposer);
|
||||
this.response.appendInt(this.thread.getGuildId());
|
||||
this.thread.serialize(this.response);
|
||||
|
||||
if (isLocked != thread.isLocked()) {
|
||||
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;
|
||||
return this.response;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user