2018-07-06 13:30:00 +00:00
package com.eu.habbo.habbohotel.commands ;
import com.eu.habbo.Emulator ;
import com.eu.habbo.habbohotel.gameclients.GameClient ;
import com.eu.habbo.habbohotel.users.Habbo ;
2018-10-06 22:28:00 +00:00
import com.eu.habbo.messages.outgoing.users.UserPerksComposer ;
2018-09-28 19:25:00 +00:00
2018-07-06 13:30:00 +00:00
import java.sql.Connection ;
import java.sql.PreparedStatement ;
2019-05-26 21:14:53 +03:00
public class AllowTradingCommand extends Command {
public AllowTradingCommand ( ) {
2018-07-06 13:30:00 +00:00
super ( " cmd_allow_trading " , Emulator . getTexts ( ) . getValue ( " commands.keys.cmd_allow_trading " ) . split ( " ; " ) ) ;
}
@Override
2019-05-26 21:14:53 +03:00
public boolean handle ( GameClient gameClient , String [ ] params ) throws Exception {
if ( params . length = = 1 ) {
2018-07-06 13:30:00 +00:00
gameClient . getHabbo ( ) . whisper ( Emulator . getTexts ( ) . getValue ( " commands.error.cmd_allow_trading.forgot_username " ) ) ;
return true ;
}
2019-05-26 21:14:53 +03:00
if ( params . length = = 2 ) {
2018-07-06 13:30:00 +00:00
gameClient . getHabbo ( ) . whisper ( Emulator . getTexts ( ) . getValue ( " commands.error.cmd_allow_trading.forgot_trade " ) . replace ( " %username% " , params [ 1 ] ) ) ;
return true ;
}
2019-05-26 21:14:53 +03:00
if ( params [ 2 ] . equalsIgnoreCase ( Emulator . getTexts ( ) . getValue ( " generic.yes " ) ) | | params [ 2 ] . equalsIgnoreCase ( Emulator . getTexts ( ) . getValue ( " generic.no " ) ) ) {
2018-07-06 13:30:00 +00:00
String username = params [ 1 ] ;
boolean enabled = params [ 2 ] . equalsIgnoreCase ( Emulator . getTexts ( ) . getValue ( " generic.yes " ) ) ;
Habbo habbo = Emulator . getGameEnvironment ( ) . getHabboManager ( ) . getHabbo ( username ) ;
2019-05-26 21:14:53 +03:00
if ( habbo ! = null ) {
2018-10-06 22:28:00 +00:00
habbo . getHabboStats ( ) . setAllowTrade ( enabled ) ;
2018-07-06 13:30:00 +00:00
gameClient . getHabbo ( ) . whisper ( Emulator . getTexts ( ) . getValue ( " commands.succes.cmd_allow_trading. " + ( enabled ? " enabled " : " disabled " ) ) . replace ( " %username% " , params [ 1 ] ) ) ;
2018-10-06 22:28:00 +00:00
habbo . getClient ( ) . sendResponse ( new UserPerksComposer ( habbo ) ) ;
2018-07-06 13:30:00 +00:00
return true ;
2019-05-26 21:14:53 +03:00
} else {
2019-03-18 01:22:00 +00:00
boolean found ;
2020-05-23 11:50:26 +02:00
if ( enabled = = params [ 2 ] . equalsIgnoreCase ( Emulator . getTexts ( ) . getValue ( " generic.yes " ) ) ) {
try ( Connection connection = Emulator . getDatabase ( ) . getDataSource ( ) . getConnection ( ) ; PreparedStatement statement = connection . prepareStatement ( " UPDATE users_settings INNER JOIN users ON users.id = users_settings.id SET can_trade = ? WHERE users.username LIKE ? " ) ) {
statement . setString ( 1 , " 1 " ) ;
statement . setString ( 2 , username ) ;
found = statement . executeUpdate ( ) > 0 ;
}
} else if ( enabled = = params [ 2 ] . equalsIgnoreCase ( Emulator . getTexts ( ) . getValue ( " generic.no " ) ) ) {
try ( Connection connection = Emulator . getDatabase ( ) . getDataSource ( ) . getConnection ( ) ; PreparedStatement statement = connection . prepareStatement ( " UPDATE users_settings INNER JOIN users ON users.id = users_settings.id SET can_trade = ?, tradelock_amount = tradelock_amount + ? WHERE users.username LIKE ? " ) ) {
statement . setString ( 1 , " 0 " ) ;
statement . setInt ( 2 , 1 ) ;
statement . setString ( 3 , username ) ;
found = statement . executeUpdate ( ) > 0 ;
}
2018-07-06 13:30:00 +00:00
2020-05-23 11:50:26 +02:00
if ( ! found ) {
gameClient . getHabbo ( ) . whisper ( Emulator . getTexts ( ) . getValue ( " commands.error.cmd_allow_trading.user_not_found " ) . replace ( " %username% " , params [ 1 ] ) ) ;
return true ;
}
2018-07-06 13:30:00 +00:00
2020-05-23 11:50:26 +02:00
gameClient . getHabbo ( ) . whisper ( Emulator . getTexts ( ) . getValue ( " commands.succes.cmd_allow_trading. " + ( enabled ? " enabled " : " disabled " ) ) . replace ( " %username% " , params [ 1 ] ) ) ;
}
2018-07-06 13:30:00 +00:00
}
2020-05-23 11:50:26 +02:00
}
else {
2018-07-06 13:30:00 +00:00
gameClient . getHabbo ( ) . whisper ( Emulator . getTexts ( ) . getValue ( " commands.error.cmd_allow_trading.incorrect_setting " ) . replace ( " %enabled% " , Emulator . getTexts ( ) . getValue ( " generic.yes " ) ) . replace ( " %disabled% " , Emulator . getTexts ( ) . getValue ( " generic.no " ) ) ) ;
}
return true ;
}
}