Du bist nicht angemeldet.

1

Sonntag, 3. Juni 2012, 00:14

Channelkategorien

Stell Channelkategorien beim Chatlogin bereit.

  • Autor: Localhost
  • Datum: 06.03.2012


Datenbank

Folgenden Code als SQL-Befehl ausführen:

MySQL-Abfrage(n)

1
ALTER TABLE `channels` ADD `category` INT( 2 ) NOT NULL DEFAULT '0'


Channel.java

Suche:

Java-Quelltext

1
public class Channel {


Darunter:

Java-Quelltext

1
private int category;


Suche:

Java-Quelltext

1
name = rs.getString("name");


Darunter:

Java-Quelltext

1
category = rs.getInt("category");


Suche:

Java-Quelltext

1
2
3
public String getName() {
        return name;
    }


Darunter:

Java-Quelltext

1
2
3
public int getCategory() {
    	return category;
    }


ReceiveOpcode.java

Füge der Klasse folgenden Eintrag (enum) hinzu:

Java-Quelltext

1
CATEGORIES("k")

SessionHandler.java

Erweitere die If-Condition mit folgendem Code:

Java-Quelltext

1
2
3
if (opcode.equals(ReceiveOpcode.CATEGORIES.getValue())) {
                        CategoryHandler.handle(tokens, client);
                    }


CategoryHandler.java

Kopiere die Klasse CategoryHandler in das Paket "handler".

PacketCreator.java

Suche:

Java-Quelltext

1
public static String channelList(Collection<Channel> channels) {


Ersetzen mit:

Java-Quelltext

1
public static String channelList(Collection<Channel> channels, int category) {


Suche:

Java-Quelltext

1
PacketBuilder buffer = new PacketBuilder(SendOpcode.CHANNEL_LIST.getValue());


Darunter:

Java-Quelltext

1
2
        for (Channel channel : channels) {
        		if(channel.getCategory() == category || category == 0) {


Suche:

Java-Quelltext

1
return buffer.toString();


Darüber:

Java-Quelltext

1
2
        	}
        }


Client.java

Suche:

Java-Quelltext

1
send(PacketCreator.channelList(channelList));


Ersetzen mit:

Java-Quelltext

1
send(PacketCreator.channelList(channelList, ((Channel) channelList.toArray()[0]).getCategory()));


Chatlogin

Öffne deinen Chatlogin (z.B. im Editor) und füge dem AppletCode folgenden Code hinzu:

HTML

1
2
<param name=appletID value="0" />
<param name=categories value="Flirt|1|Over 20|2|Under 18|3|Lokalrunde|4|Games|5|Card Games|6|Themetalk|7|Top MyChannels|8|Classic|9|Alle Channels|0" />


Hinweise

Es gibt neun verschiedene Kategorien (+ alle Channels):
  • 1 - Flirt
  • 2 - Over 20
  • 3 - Under 18
  • 4 - Lokalrunde
  • 5 - Games
  • 6 - Card Games
  • 7 - Themetalk
  • 8 - Top MyChannels
  • 9 - Classic
  • 0 - Alle Channels
Standardmäßig werden beim Chatlogin alle Channels angezeigt. Um dies zu ändern, müsst ihr die AppletID im Chatlogin ändern.
Um einen Channel in eine andere Kategorie zu packen, muss die ID der Kategorie entsprechend in der Datenbank geändert werden.

# Localhost

CategoryHandler.java (501 Byte, 27 Downloads)
application/octet-stream