rs-client: Cleanup (#1087)
* rs-client: name SpriteBuffer * rs-client: (re)name spritebuffer methods * rs-client/deob: Add missed @Export's, make updatemappings fix this next time * rs-client: run intellij redundant else inspection * rs-client: invert some script interpreter if's * deob: checkstyle fixes * rs-client: SpriteBuffer_loadSprite -> SpriteBuffer_bufferFile
This commit is contained in:
@@ -192,12 +192,10 @@ public class WorldMapArea {
|
||||
} while(!var6.containsPosition(var1, var2));
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ObfuscatedName("k")
|
||||
@@ -408,55 +406,54 @@ public class WorldMapArea {
|
||||
ItemDefinition var1 = (ItemDefinition)ItemDefinition.ItemDefinition_cached.get((long)var0);
|
||||
if (var1 != null) {
|
||||
return var1;
|
||||
} else {
|
||||
byte[] var2 = Messages.ItemDefinition_archive.takeFile(10, var0);
|
||||
var1 = new ItemDefinition();
|
||||
var1.id = var0;
|
||||
if (var2 != null) {
|
||||
var1.decode(new Buffer(var2));
|
||||
}
|
||||
}
|
||||
byte[] var2 = Messages.ItemDefinition_archive.takeFile(10, var0);
|
||||
var1 = new ItemDefinition();
|
||||
var1.id = var0;
|
||||
if (var2 != null) {
|
||||
var1.decode(new Buffer(var2));
|
||||
}
|
||||
|
||||
var1.post();
|
||||
if (var1.noteTemplate != -1) {
|
||||
var1.genCert(getItemDefinition(var1.noteTemplate), getItemDefinition(var1.note));
|
||||
}
|
||||
var1.post();
|
||||
if (var1.noteTemplate != -1) {
|
||||
var1.genCert(getItemDefinition(var1.noteTemplate), getItemDefinition(var1.note));
|
||||
}
|
||||
|
||||
if (var1.notedId != -1) {
|
||||
var1.genBought(getItemDefinition(var1.notedId), getItemDefinition(var1.unnotedId));
|
||||
}
|
||||
if (var1.notedId != -1) {
|
||||
var1.genBought(getItemDefinition(var1.notedId), getItemDefinition(var1.unnotedId));
|
||||
}
|
||||
|
||||
if (var1.placeholderTemplate != -1) {
|
||||
var1.genPlaceholder(getItemDefinition(var1.placeholderTemplate), getItemDefinition(var1.placeholder));
|
||||
}
|
||||
if (var1.placeholderTemplate != -1) {
|
||||
var1.genPlaceholder(getItemDefinition(var1.placeholderTemplate), getItemDefinition(var1.placeholder));
|
||||
}
|
||||
|
||||
if (!ModelData0.inMembersWorld && var1.isMembersOnly) {
|
||||
var1.name = "Members object";
|
||||
var1.isTradable = false;
|
||||
var1.groundActions = null;
|
||||
var1.inventoryActions = null;
|
||||
var1.shiftClickIndex = -1;
|
||||
var1.team = 0;
|
||||
if (var1.params != null) {
|
||||
boolean var3 = false;
|
||||
if (!ModelData0.inMembersWorld && var1.isMembersOnly) {
|
||||
var1.name = "Members object";
|
||||
var1.isTradable = false;
|
||||
var1.groundActions = null;
|
||||
var1.inventoryActions = null;
|
||||
var1.shiftClickIndex = -1;
|
||||
var1.team = 0;
|
||||
if (var1.params != null) {
|
||||
boolean var3 = false;
|
||||
|
||||
for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) {
|
||||
ParamDefinition var5 = WorldMapIcon_0.getParamDefinition((int)var4.key);
|
||||
if (var5.autoDisable) {
|
||||
var4.remove();
|
||||
} else {
|
||||
var3 = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!var3) {
|
||||
var1.params = null;
|
||||
for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) {
|
||||
ParamDefinition var5 = WorldMapIcon_0.getParamDefinition((int)var4.key);
|
||||
if (var5.autoDisable) {
|
||||
var4.remove();
|
||||
} else {
|
||||
var3 = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ItemDefinition.ItemDefinition_cached.put(var1, (long)var0);
|
||||
return var1;
|
||||
if (!var3) {
|
||||
var1.params = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ItemDefinition.ItemDefinition_cached.put(var1, (long)var0);
|
||||
return var1;
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@@ -475,206 +472,205 @@ public class WorldMapArea {
|
||||
NetCache.field3163 += var2;
|
||||
if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) {
|
||||
return true;
|
||||
} else if (NetCache.NetCache_socket == null) {
|
||||
}
|
||||
if (NetCache.NetCache_socket == null) {
|
||||
return false;
|
||||
} else {
|
||||
try {
|
||||
if (NetCache.field3163 > 30000) {
|
||||
throw new IOException();
|
||||
} else {
|
||||
NetFileRequest var3;
|
||||
Buffer var4;
|
||||
while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) {
|
||||
var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first();
|
||||
var4 = new Buffer(4);
|
||||
var4.writeByte(1);
|
||||
var4.writeMedium((int)var3.key);
|
||||
NetCache.NetCache_socket.write(var4.array, 0, 4);
|
||||
NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key);
|
||||
--NetCache.NetCache_pendingPriorityWritesCount;
|
||||
++NetCache.NetCache_pendingPriorityResponsesCount;
|
||||
}
|
||||
try {
|
||||
if (NetCache.field3163 > 30000) {
|
||||
throw new IOException();
|
||||
}
|
||||
NetFileRequest var3;
|
||||
Buffer var4;
|
||||
while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) {
|
||||
var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first();
|
||||
var4 = new Buffer(4);
|
||||
var4.writeByte(1);
|
||||
var4.writeMedium((int)var3.key);
|
||||
NetCache.NetCache_socket.write(var4.array, 0, 4);
|
||||
NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key);
|
||||
--NetCache.NetCache_pendingPriorityWritesCount;
|
||||
++NetCache.NetCache_pendingPriorityResponsesCount;
|
||||
}
|
||||
|
||||
while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) {
|
||||
var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast();
|
||||
var4 = new Buffer(4);
|
||||
var4.writeByte(0);
|
||||
var4.writeMedium((int)var3.key);
|
||||
NetCache.NetCache_socket.write(var4.array, 0, 4);
|
||||
var3.removeDual();
|
||||
NetCache.NetCache_pendingResponses.put(var3, var3.key);
|
||||
--NetCache.NetCache_pendingWritesCount;
|
||||
++NetCache.NetCache_pendingResponsesCount;
|
||||
}
|
||||
|
||||
for (int var15 = 0; var15 < 100; ++var15) {
|
||||
int var16 = NetCache.NetCache_socket.available();
|
||||
if (var16 < 0) {
|
||||
throw new IOException();
|
||||
}
|
||||
|
||||
while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) {
|
||||
var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast();
|
||||
var4 = new Buffer(4);
|
||||
var4.writeByte(0);
|
||||
var4.writeMedium((int)var3.key);
|
||||
NetCache.NetCache_socket.write(var4.array, 0, 4);
|
||||
var3.removeDual();
|
||||
NetCache.NetCache_pendingResponses.put(var3, var3.key);
|
||||
--NetCache.NetCache_pendingWritesCount;
|
||||
++NetCache.NetCache_pendingResponsesCount;
|
||||
if (var16 == 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
for (int var15 = 0; var15 < 100; ++var15) {
|
||||
int var16 = NetCache.NetCache_socket.available();
|
||||
if (var16 < 0) {
|
||||
throw new IOException();
|
||||
NetCache.field3163 = 0;
|
||||
byte var5 = 0;
|
||||
if (class226.NetCache_currentResponse == null) {
|
||||
var5 = 8;
|
||||
} else if (NetCache.field3175 == 0) {
|
||||
var5 = 1;
|
||||
}
|
||||
|
||||
int var6;
|
||||
int var7;
|
||||
int var8;
|
||||
int var10;
|
||||
byte[] var10000;
|
||||
int var10001;
|
||||
Buffer var22;
|
||||
if (var5 > 0) {
|
||||
var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset;
|
||||
if (var6 > var16) {
|
||||
var6 = var16;
|
||||
}
|
||||
|
||||
if (var16 == 0) {
|
||||
NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6);
|
||||
if (NetCache.field3181 != 0) {
|
||||
for (var7 = 0; var7 < var6; ++var7) {
|
||||
var10000 = NetCache.NetCache_responseHeaderBuffer.array;
|
||||
var10001 = var7 + NetCache.NetCache_responseHeaderBuffer.offset;
|
||||
var10000[var10001] ^= NetCache.field3181;
|
||||
}
|
||||
}
|
||||
|
||||
var22 = NetCache.NetCache_responseHeaderBuffer;
|
||||
var22.offset += var6;
|
||||
if (NetCache.NetCache_responseHeaderBuffer.offset < var5) {
|
||||
break;
|
||||
}
|
||||
|
||||
NetCache.field3163 = 0;
|
||||
byte var5 = 0;
|
||||
if (class226.NetCache_currentResponse == null) {
|
||||
var5 = 8;
|
||||
NetCache.NetCache_responseHeaderBuffer.offset = 0;
|
||||
var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
|
||||
var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort();
|
||||
int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
|
||||
var10 = NetCache.NetCache_responseHeaderBuffer.readInt();
|
||||
long var11 = (long)(var8 + (var7 << 16));
|
||||
NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11);
|
||||
class215.field2545 = true;
|
||||
if (var13 == null) {
|
||||
var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11);
|
||||
class215.field2545 = false;
|
||||
}
|
||||
|
||||
if (var13 == null) {
|
||||
throw new IOException();
|
||||
}
|
||||
|
||||
int var14 = var9 == 0 ? 5 : 9;
|
||||
class226.NetCache_currentResponse = var13;
|
||||
VarpDefinition.NetCache_responseArchiveBuffer = new Buffer(var14 + var10 + class226.NetCache_currentResponse.padding);
|
||||
VarpDefinition.NetCache_responseArchiveBuffer.writeByte(var9);
|
||||
VarpDefinition.NetCache_responseArchiveBuffer.writeInt(var10);
|
||||
NetCache.field3175 = 8;
|
||||
NetCache.NetCache_responseHeaderBuffer.offset = 0;
|
||||
} else if (NetCache.field3175 == 0) {
|
||||
var5 = 1;
|
||||
if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) {
|
||||
NetCache.field3175 = 1;
|
||||
NetCache.NetCache_responseHeaderBuffer.offset = 0;
|
||||
} else {
|
||||
class226.NetCache_currentResponse = null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var6 = VarpDefinition.NetCache_responseArchiveBuffer.array.length - class226.NetCache_currentResponse.padding;
|
||||
var7 = 512 - NetCache.field3175;
|
||||
if (var7 > var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset) {
|
||||
var7 = var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset;
|
||||
}
|
||||
|
||||
int var6;
|
||||
int var7;
|
||||
int var8;
|
||||
int var10;
|
||||
byte[] var10000;
|
||||
int var10001;
|
||||
Buffer var22;
|
||||
if (var5 > 0) {
|
||||
var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset;
|
||||
if (var6 > var16) {
|
||||
var6 = var16;
|
||||
}
|
||||
if (var7 > var16) {
|
||||
var7 = var16;
|
||||
}
|
||||
|
||||
NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6);
|
||||
if (NetCache.field3181 != 0) {
|
||||
for (var7 = 0; var7 < var6; ++var7) {
|
||||
var10000 = NetCache.NetCache_responseHeaderBuffer.array;
|
||||
var10001 = var7 + NetCache.NetCache_responseHeaderBuffer.offset;
|
||||
var10000[var10001] ^= NetCache.field3181;
|
||||
NetCache.NetCache_socket.read(VarpDefinition.NetCache_responseArchiveBuffer.array, VarpDefinition.NetCache_responseArchiveBuffer.offset, var7);
|
||||
if (NetCache.field3181 != 0) {
|
||||
for (var8 = 0; var8 < var7; ++var8) {
|
||||
var10000 = VarpDefinition.NetCache_responseArchiveBuffer.array;
|
||||
var10001 = VarpDefinition.NetCache_responseArchiveBuffer.offset + var8;
|
||||
var10000[var10001] ^= NetCache.field3181;
|
||||
}
|
||||
}
|
||||
|
||||
var22 = VarpDefinition.NetCache_responseArchiveBuffer;
|
||||
var22.offset += var7;
|
||||
NetCache.field3175 += var7;
|
||||
if (var6 == VarpDefinition.NetCache_responseArchiveBuffer.offset) {
|
||||
if (16711935L == class226.NetCache_currentResponse.key) {
|
||||
AbstractRasterProvider.NetCache_reference = VarpDefinition.NetCache_responseArchiveBuffer;
|
||||
|
||||
for (var8 = 0; var8 < 256; ++var8) {
|
||||
Archive var17 = NetCache.NetCache_archives[var8];
|
||||
if (var17 != null) {
|
||||
AbstractRasterProvider.NetCache_reference.offset = var8 * 8 + 5;
|
||||
var10 = AbstractRasterProvider.NetCache_reference.readInt();
|
||||
int var18 = AbstractRasterProvider.NetCache_reference.readInt();
|
||||
var17.loadIndex(var10, var18);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NetCache.NetCache_crc.reset();
|
||||
NetCache.NetCache_crc.update(VarpDefinition.NetCache_responseArchiveBuffer.array, 0, var6);
|
||||
var8 = (int)NetCache.NetCache_crc.getValue();
|
||||
if (var8 != class226.NetCache_currentResponse.crc) {
|
||||
try {
|
||||
NetCache.NetCache_socket.close();
|
||||
} catch (Exception var20) {
|
||||
}
|
||||
|
||||
++NetCache.NetCache_crcMismatches;
|
||||
NetCache.NetCache_socket = null;
|
||||
NetCache.field3181 = (byte)((int)(Math.random() * 255.0D + 1.0D));
|
||||
return false;
|
||||
}
|
||||
|
||||
NetCache.NetCache_crcMismatches = 0;
|
||||
NetCache.NetCache_ioExceptions = 0;
|
||||
class226.NetCache_currentResponse.archive.write((int)(class226.NetCache_currentResponse.key & 65535L), VarpDefinition.NetCache_responseArchiveBuffer.array, (class226.NetCache_currentResponse.key & 16711680L) == 16711680L, class215.field2545);
|
||||
}
|
||||
|
||||
var22 = NetCache.NetCache_responseHeaderBuffer;
|
||||
var22.offset += var6;
|
||||
if (NetCache.NetCache_responseHeaderBuffer.offset < var5) {
|
||||
class226.NetCache_currentResponse.remove();
|
||||
if (class215.field2545) {
|
||||
--NetCache.NetCache_pendingPriorityResponsesCount;
|
||||
} else {
|
||||
--NetCache.NetCache_pendingResponsesCount;
|
||||
}
|
||||
|
||||
NetCache.field3175 = 0;
|
||||
class226.NetCache_currentResponse = null;
|
||||
VarpDefinition.NetCache_responseArchiveBuffer = null;
|
||||
} else {
|
||||
if (NetCache.field3175 != 512) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (class226.NetCache_currentResponse == null) {
|
||||
NetCache.NetCache_responseHeaderBuffer.offset = 0;
|
||||
var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
|
||||
var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort();
|
||||
int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte();
|
||||
var10 = NetCache.NetCache_responseHeaderBuffer.readInt();
|
||||
long var11 = (long)(var8 + (var7 << 16));
|
||||
NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11);
|
||||
class215.field2545 = true;
|
||||
if (var13 == null) {
|
||||
var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11);
|
||||
class215.field2545 = false;
|
||||
}
|
||||
|
||||
if (var13 == null) {
|
||||
throw new IOException();
|
||||
}
|
||||
|
||||
int var14 = var9 == 0 ? 5 : 9;
|
||||
class226.NetCache_currentResponse = var13;
|
||||
VarpDefinition.NetCache_responseArchiveBuffer = new Buffer(var14 + var10 + class226.NetCache_currentResponse.padding);
|
||||
VarpDefinition.NetCache_responseArchiveBuffer.writeByte(var9);
|
||||
VarpDefinition.NetCache_responseArchiveBuffer.writeInt(var10);
|
||||
NetCache.field3175 = 8;
|
||||
NetCache.NetCache_responseHeaderBuffer.offset = 0;
|
||||
} else if (NetCache.field3175 == 0) {
|
||||
if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) {
|
||||
NetCache.field3175 = 1;
|
||||
NetCache.NetCache_responseHeaderBuffer.offset = 0;
|
||||
} else {
|
||||
class226.NetCache_currentResponse = null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var6 = VarpDefinition.NetCache_responseArchiveBuffer.array.length - class226.NetCache_currentResponse.padding;
|
||||
var7 = 512 - NetCache.field3175;
|
||||
if (var7 > var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset) {
|
||||
var7 = var6 - VarpDefinition.NetCache_responseArchiveBuffer.offset;
|
||||
}
|
||||
|
||||
if (var7 > var16) {
|
||||
var7 = var16;
|
||||
}
|
||||
|
||||
NetCache.NetCache_socket.read(VarpDefinition.NetCache_responseArchiveBuffer.array, VarpDefinition.NetCache_responseArchiveBuffer.offset, var7);
|
||||
if (NetCache.field3181 != 0) {
|
||||
for (var8 = 0; var8 < var7; ++var8) {
|
||||
var10000 = VarpDefinition.NetCache_responseArchiveBuffer.array;
|
||||
var10001 = VarpDefinition.NetCache_responseArchiveBuffer.offset + var8;
|
||||
var10000[var10001] ^= NetCache.field3181;
|
||||
}
|
||||
}
|
||||
|
||||
var22 = VarpDefinition.NetCache_responseArchiveBuffer;
|
||||
var22.offset += var7;
|
||||
NetCache.field3175 += var7;
|
||||
if (var6 == VarpDefinition.NetCache_responseArchiveBuffer.offset) {
|
||||
if (16711935L == class226.NetCache_currentResponse.key) {
|
||||
AbstractRasterProvider.NetCache_reference = VarpDefinition.NetCache_responseArchiveBuffer;
|
||||
|
||||
for (var8 = 0; var8 < 256; ++var8) {
|
||||
Archive var17 = NetCache.NetCache_archives[var8];
|
||||
if (var17 != null) {
|
||||
AbstractRasterProvider.NetCache_reference.offset = var8 * 8 + 5;
|
||||
var10 = AbstractRasterProvider.NetCache_reference.readInt();
|
||||
int var18 = AbstractRasterProvider.NetCache_reference.readInt();
|
||||
var17.loadIndex(var10, var18);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NetCache.NetCache_crc.reset();
|
||||
NetCache.NetCache_crc.update(VarpDefinition.NetCache_responseArchiveBuffer.array, 0, var6);
|
||||
var8 = (int)NetCache.NetCache_crc.getValue();
|
||||
if (var8 != class226.NetCache_currentResponse.crc) {
|
||||
try {
|
||||
NetCache.NetCache_socket.close();
|
||||
} catch (Exception var20) {
|
||||
}
|
||||
|
||||
++NetCache.NetCache_crcMismatches;
|
||||
NetCache.NetCache_socket = null;
|
||||
NetCache.field3181 = (byte)((int)(Math.random() * 255.0D + 1.0D));
|
||||
return false;
|
||||
}
|
||||
|
||||
NetCache.NetCache_crcMismatches = 0;
|
||||
NetCache.NetCache_ioExceptions = 0;
|
||||
class226.NetCache_currentResponse.archive.write((int)(class226.NetCache_currentResponse.key & 65535L), VarpDefinition.NetCache_responseArchiveBuffer.array, (class226.NetCache_currentResponse.key & 16711680L) == 16711680L, class215.field2545);
|
||||
}
|
||||
|
||||
class226.NetCache_currentResponse.remove();
|
||||
if (class215.field2545) {
|
||||
--NetCache.NetCache_pendingPriorityResponsesCount;
|
||||
} else {
|
||||
--NetCache.NetCache_pendingResponsesCount;
|
||||
}
|
||||
|
||||
NetCache.field3175 = 0;
|
||||
class226.NetCache_currentResponse = null;
|
||||
VarpDefinition.NetCache_responseArchiveBuffer = null;
|
||||
} else {
|
||||
if (NetCache.field3175 != 512) {
|
||||
break;
|
||||
}
|
||||
|
||||
NetCache.field3175 = 0;
|
||||
}
|
||||
NetCache.field3175 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
} catch (IOException var21) {
|
||||
try {
|
||||
NetCache.NetCache_socket.close();
|
||||
} catch (Exception var19) {
|
||||
}
|
||||
|
||||
++NetCache.NetCache_ioExceptions;
|
||||
NetCache.NetCache_socket = null;
|
||||
return false;
|
||||
return true;
|
||||
} catch (IOException var21) {
|
||||
try {
|
||||
NetCache.NetCache_socket.close();
|
||||
} catch (Exception var19) {
|
||||
}
|
||||
|
||||
++NetCache.NetCache_ioExceptions;
|
||||
NetCache.NetCache_socket = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user