From eb466f0df1ec9161cecd19d52ab3092c71c774c9 Mon Sep 17 00:00:00 2001 From: Jkobs <66284145+Minzilein2003@users.noreply.github.com> Date: Thu, 10 Nov 2022 18:27:55 +0100 Subject: [PATCH] Init --- pom.xml | 7 ++++ .../t2codelib/SPIGOT/system/CmdExecuter.java | 35 ++++++++++++---- .../SPIGOT/system/CreateReportLog.java | 42 ++++++++++++++++--- 3 files changed, 72 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index a58e9d2..7d61fa9 100644 --- a/pom.xml +++ b/pom.xml @@ -160,5 +160,12 @@ json 20220924 + + + org.apache.httpcomponents + httpmime + 4.3.1 + + diff --git a/src/main/java/net/t2code/t2codelib/SPIGOT/system/CmdExecuter.java b/src/main/java/net/t2code/t2codelib/SPIGOT/system/CmdExecuter.java index 7904140..41809cb 100644 --- a/src/main/java/net/t2code/t2codelib/SPIGOT/system/CmdExecuter.java +++ b/src/main/java/net/t2code/t2codelib/SPIGOT/system/CmdExecuter.java @@ -11,6 +11,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -24,7 +25,7 @@ public class CmdExecuter implements CommandExecutor, TabCompleter { return false; } if (args.length == 0) { - T2Ctemplate.sendInfo(sender,T2CodeLibMain.getPlugin(), Util.getSpigotID(),Util.getDiscord(),null, Util.getInfoText()); + T2Ctemplate.sendInfo(sender, T2CodeLibMain.getPlugin(), Util.getSpigotID(), Util.getDiscord(), null, Util.getInfoText()); return false; } switch (args[0].toLowerCase()) { @@ -33,20 +34,40 @@ public class CmdExecuter implements CommandExecutor, TabCompleter { case "pl": case "version": case "ver": - T2Ctemplate.sendInfo(sender,T2CodeLibMain.getPlugin(), Util.getSpigotID(),Util.getDiscord(),null, Util.getInfoText()); + T2Ctemplate.sendInfo(sender, T2CodeLibMain.getPlugin(), Util.getSpigotID(), Util.getDiscord(), null, Util.getInfoText()); return false; case "reloadconfig": SelectLibConfig.onSelect(); return false; case "debug": - if (args.length != 2) { + if (args.length < 2) { T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog"); return false; } - if ("createreportlog".equals(args[1].toLowerCase())) { - CreateReportLog.create(sender); - } else T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog"); - return false; + switch (args[1].toLowerCase()) { + case "createreportlog": + try { + CreateReportLog.create(sender); + } catch (IOException e) { + throw new RuntimeException(e); + } + break; + case "deleteReportLog": + if(args.length != 3){ + T2Csend.sender(sender, "§4Use: §7/t2code debug deleteReportLog [id]"); + return false; + } + try { + CreateReportLog.delete(args[2]); + } catch (IOException e) { + throw new RuntimeException(e); + } + break; + default: + T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog/deleteReportLog"); + break; + } + return false; default: T2Csend.sender(sender, "§4Use: §7/t2code debug createReportLog"); diff --git a/src/main/java/net/t2code/t2codelib/SPIGOT/system/CreateReportLog.java b/src/main/java/net/t2code/t2codelib/SPIGOT/system/CreateReportLog.java index a1a91da..46c0b15 100644 --- a/src/main/java/net/t2code/t2codelib/SPIGOT/system/CreateReportLog.java +++ b/src/main/java/net/t2code/t2codelib/SPIGOT/system/CreateReportLog.java @@ -5,13 +5,23 @@ import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend; import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion; import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck; import net.t2code.t2codelib.Util; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.mime.MultipartEntity; +import org.apache.http.entity.mime.content.FileBody; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.util.EntityUtils; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; - +import org.json.JSONObject; import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; import java.nio.file.Files; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -19,7 +29,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class CreateReportLog { - protected static void create(CommandSender sender) { + protected static void create(CommandSender sender) throws IOException { T2Csend.sender(sender, Util.getPrefix() + " §6A DebugLog is created..."); String timeStampFile = new SimpleDateFormat("HH_mm_ss-dd_MM_yyyy").format(Calendar.getInstance().getTime()); @@ -113,10 +123,26 @@ public class CreateReportLog { e.printStackTrace(); } file.delete(); + HttpClient httpclient = new DefaultHttpClient(); + HttpPost httppost = new HttpPost("https://debug.t2code.net/uploadFile"); + File zipFile = new File(zipPath); + FileBody bin = new FileBody(zipFile); + MultipartEntity reqEntity = new MultipartEntity(); + reqEntity.addPart("file", bin); + httppost.setEntity(reqEntity); + HttpResponse response = httpclient.execute(httppost); + HttpEntity resEntity = response.getEntity(); + String responseString = EntityUtils.toString(resEntity, "UTF-8"); + JSONObject obj = new JSONObject(responseString); + String downloadURL = obj.getString("fileDownloadUri"); + String fileID = obj.getString("fileID"); + String fileType = obj.getString("fileType"); + Integer fileSize = obj.getInt("size"); + zipFile.delete(); if (sender instanceof Player) { - T2Csend.sender(sender, Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath); - T2Csend.console(Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath); - } else T2Csend.sender(sender, Util.getPrefix() + " §6A DebugLog zip has been created. you can find it on in the files on your server under the path: §e" + zipPath); + T2Csend.sender(sender, Util.getPrefix() + "A DebugLog zip has been created. You can download it here. Please enter the following key in the ticket: key
Do not share the download URL with anyone!
You can delte yor Debug-File by clicking me.".replace("key",fileID).replace("url",downloadURL)); + T2Csend.console(Util.getPrefix() + " §6A DebugLog zip has been created. You can download it here: url.\n§6Please enter the following key in the ticket: §ekey.\n§4Do not share the download URL with anyone!\nYou can delte yor Debug-File with the following command: /t2code debug deleteReportLog key.".replace("key",fileID).replace("url",downloadURL)); + } else T2Csend.sender(sender, Util.getPrefix() + " §6A DebugLog zip has been created. You can download it here: url.\n§6Please enter the following key in the ticket: §ekey.\n§4Do not share the download URL with anyone!\nYou can delte yor Debug-File with the following command: /t2code debug deleteReportLog key.".replace("key",fileID).replace("url",downloadURL)); } @@ -183,4 +209,10 @@ public class CreateReportLog { } } } + + public static void delete(String arg) throws IOException { + URL url = new URL("https://debug.t2code.net/delte/" + arg); + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("GET"); + } }