Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Mittwoch, 11. April 2012, 19:22

Admin Comment xD

So fangen wir mal Direkt an ;)

CommandParser.java

Suche:

Java-Quelltext

1
if (arg.equals("-glamour")) {


Darunter:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
} else if (cmd.equals("Comment")){
    {
   String[] lolis = arg.split(":", 2);
     String nickname = KCodeParser.escape(lolis[0]);

   boolean online = true;
    Client target = Server.get().getClient(nickname);
    if (target == null) {
       online = false;
       target = new Client(null);
      target.loadStats(nickname);
    }

   nickname = target.getName();
  int split = arg.indexOf(':');
    String texten = "";
     if (split >= 1) {
       texten = lolis[1];
 }

   if (texten.isEmpty()) {
     client.sendButlerMessage(channel.getName(), String.format("Bitte die Funktion folgendermaßen benutzen:#/comment NICKNAME:TEXT#(Fügt einen Kommentar bei dem entsprechenden Nick ein, welcher nur von Admins gelesen werden kann)", new Object[0]));
 } else if (nickname == null) {
  client.sendButlerMessage(channel.getName(), Befehl.UserNotFound(lolis[1]));
  } else if (texten.length() < 10) {
     client.sendButlerMessage(channel.getName(), String.format("Ihre Kommentar muss mindestens 10 Zeichen lang sein!", new Object[0]));
 } else if (target.getName().equals(client.getName())) {
  client.sendButlerMessage(channel.getName(), String.format("Du kannst kein Kommentar bei dir selbst machen.", new Object[0]));
  } else {
  client.sendButlerMessage(channel.getName(), String.format("Ihr Admin-Kommentar ist bei %s eingetragen.", new Object[] { target.getName() }));
 SimpleDateFormat uhrzeits = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
String zeit = uhrzeits.format(new Date());

Befehl.insert("insert into comment set von = '" + client.getName() + "', an = '" + target.getName() + "', text = '" + texten + "', time = '" + zeit + "', channel = ''");
}
}



Suche:

Java-Quelltext

1
if (!target.getMotto().trim().isEmpty()) {


Darunter:

Java-Quelltext

1
2
3
4
5
6
7
8
9
PoolConnection pcon4d = ConnectionPool.getConnection();  PreparedStatement ps4d = null;  String akomments = "";
           try {
             Connection con = pcon4d.connect();
             ps4d = con.prepareStatement("SELECT * FROM comment WHERE an = ? and channel = '' order by time");
             ps4d.setString(1, target.getName());
             ResultSet rs4d = ps4d.executeQuery();
             while (rs4d.next())         {
                 akomments = new StringBuilder().append(akomments).append(String.format("_%s_: %s (%s)°r°°BB°#",  rs4d.getString("von"), rs4d.getString("text"), rs4d.getString("time"))).toString(); continue;
     }  }  catch (SQLException e) {  e.printStackTrace();  } finally {  if (ps4d != null)  try {    ps4d.close(); }  catch (SQLException e)  {   }  pcon4d.close();  }


Suche:

Java-Quelltext

1
Popup popup = new Popup(title, title, whois.toString(), 460, 350);


Darüber:

Java-Quelltext

1
2
3
4
                     if (!akomments.isEmpty()) {
                    whois.append(String.format("#_Comments_:#%s", akomments));
                   }
                 }



Erstelle Eine Befehl.java

Füge sie ihm Knuddels Ordner

Und füge Folgenden Code in der Befehl.java

Befehl.java

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package knuddels;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Random;
import tools.database.ConnectionPool;
import tools.database.PoolConnection;


public class Befehl {
    
 public static String UserNotFound(String nick)
/*     */   {
/* 290 */     String text = "";
/* 291 */     Random random = new Random();
/* 292 */     int randomInt = random.nextInt(10);
/* 293 */     int rand = randomInt + 1;
/* 294 */     if (rand == 1)
/* 295 */       text = String.format("Ich weiß über %s nichts.", new Object[] { nick });
/* 296 */     else if (rand == 2)
/* 297 */       text = String.format("%s gibt's hier leider nicht.", new Object[] { nick });
/* 298 */     else if (rand == 3)
/* 299 */       text = "Tut mir leid, dieser Gast existiert nicht.";
/* 300 */     else if (rand == 4)
/* 301 */       text = String.format("Wer ist %s???", new Object[] { nick });
/* 302 */     else if (rand == 5)
/* 303 */       text = "Keine Ahnung, wen Sie meinen.";
/* 304 */     else if (rand == 6)
/* 305 */       text = String.format("%s habe ich hier noch niemals gesehen.", new Object[] { nick });
/* 306 */     else if (rand == 7)
/* 307 */       text = String.format("%s ist mir unbekannt.", new Object[] { nick });
/*     */     else {
/* 309 */       text = String.format("Wer soll denn bitte %s sein?", new Object[] { nick });
/*     */     }
/* 311 */     return text;
/*     */   }
 
 public static void insert(String query) { PoolConnection pcon2E = ConnectionPool.getConnection(); PreparedStatement ps2E = null;
 try { Connection con2E = pcon2E.connect(); ps2E = con2E.prepareStatement(query); ps2E.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { if (ps2E != null) try { ps2E.close(); } catch (SQLException e) {
 } pcon2E.close(); 
 }
 }
}




Neue Tabelle in der Mysql Erstellen:

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
Tabelle `comment`
--

CREATE TABLE IF NOT EXISTS `comment` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `von` varchar(100) NOT NULL,
  `an` varchar(100) NOT NULL,
  `text` varchar(400) NOT NULL,
  `time` varchar(100) NOT NULL,
  `channel` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
)


So das war Soweit Alles falls Etwas fehlt lasst es mich wissen dann füge ich es hinzu

Nicht getestet aber sollte Funktionieren ;)

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

KevStar

Localhost

Ehemaliger Supporter

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

2

Mittwoch, 11. April 2012, 19:27

Ist doch einfach nur aus Wittis Version entnommen, oder nicht? Die Klasse Befehl auf jeden Fall.
Man sieht noch schön an den auskommentierten Zeilenangaben, dass die JAR dekompiliert wurde.
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Steelix2011, KevStar

3

Mittwoch, 11. April 2012, 19:29

Stimmt hast Recht xD

Erwischt :( Es tut mir Leid Localhost :D Aber ich dachte mir

Damit es nicht Tausend Beiträge gibt

Post ich es mal damit keiner mehr Fragen erstellt ;)

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

KevStar

4

Mittwoch, 11. April 2012, 19:30

....
Damals als man noch löschen konnte.

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Steelix2011, KevStar

5

Mittwoch, 11. April 2012, 20:06

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 public void executeQuery(String queryObject[]params){
            boolean isUpdate = (query.toLowerCase().startsWith("update"));
            PoolConnection pcon ConnectionPool.getConnection();
            PreparedStatement ps null;

                try {
                    Connection con pcon.connect();
                    ps = (PreparedStatementcon.prepareStatement(query);
                    int paramsLength params.length;
                    for(int i 1== paramsLengthi++){
                        Object parameter params[i-1];
                        if(parameter instanceof String){
                            ps.setString(i, (String)parameter);
                            continue;
                        }else if (parameter instanceof Integer){
                            ps.setInt(i, (Integer)parameter);
                            continue;
                        }else if (parameter instanceof Long){
                            ps.setLong(i, (Longparameter);
                            continue;
                        }else if (parameter instanceof java.sql.Timestamp){
                            ps.setTimestamp(i, (java.sql.Timestamp)parameter);
                            continue;
                        } else if (parameter instanceof Boolean){
                            ps.setBoolean(i, (Boolean)parameter);
                            continue;
                        }else if (parameter instanceof Short){
                            ps.setShort(i, (Short)parameter);
                            continue;
                        } else if (parameter instanceof java.sql.Date){
                            ps.setDate(i, (java.sql.Dateparameter);
                            continue;
                        }
                        else if (parameter instanceof Float){
                            ps.setFloat(i, (Float) parameter);
                            continue;
                        }else if (parameter instanceof Byte){
                            ps.setByte(i, (Byteparameter);
                            continue;
                        }
                    }
                    if(!isUpdate){ps.executeQuery();}else{ps.executeUpdate();}
                    
                } catch (Exception x) {
                    x.printStackTrace();
                } finally {
                    if (ps != null) {
                        try {
                            ps.close();
                        } catch (SQLException e) {
                        }
                    }
                    pcon.close();
                }
    }

Sample Usage:
executeQuery("UPDATE `accounts` SET name = ? WHERE `id` = 1", new Object[]{"Banana"});

Wenn man keine Lust hat, das genauso auszuführen kann auch folgendes anstatt den instanceof - Abfragen machen:

ps.setObject(i, parameter);

Nur finde ich diese Methode eigentlich auch ganz gut und sie ist SICHER!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mentos« (11. April 2012, 20:14)