mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-04-06 20:25:49 +02:00
Changed export of non-text files
Some non-text files like fonts were being exported as text Fixed by identifying text files and exporting other files by copying the bytestream directly. Affects issues: - Fixed #1297
This commit is contained in:
parent
d731919b26
commit
ba34d2ad9a
Plan/common/src/main/java/com/djrapitops/plan
delivery/export
storage/file
@ -150,9 +150,8 @@ public class NetworkPageExporter extends FileExporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
|
||||||
|
|
||||||
exportResources(toDirectory,
|
exportResources(toDirectory,
|
||||||
|
"img/Flaticon_circle.png",
|
||||||
"css/sb-admin-2.css",
|
"css/sb-admin-2.css",
|
||||||
"css/style.css",
|
"css/style.css",
|
||||||
"vendor/jquery/jquery.min.js",
|
"vendor/jquery/jquery.min.js",
|
||||||
@ -198,22 +197,17 @@ public class NetworkPageExporter extends FileExporter {
|
|||||||
private void exportResource(Path toDirectory, String resourceName) throws IOException {
|
private void exportResource(Path toDirectory, String resourceName) throws IOException {
|
||||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
||||||
Path to = toDirectory.resolve(resourceName);
|
Path to = toDirectory.resolve(resourceName);
|
||||||
|
|
||||||
if (resourceName.endsWith(".css")) {
|
if (resourceName.endsWith(".css")) {
|
||||||
export(to, theme.replaceThemeColors(resource.asString()));
|
export(to, theme.replaceThemeColors(resource.asString()));
|
||||||
} else if ("js/network-values.js".equalsIgnoreCase(resourceName)) {
|
} else if ("js/network-values.js".equalsIgnoreCase(resourceName)) {
|
||||||
// Replace /server in urls to fix server page links
|
// Replace /server in urls to fix server page links
|
||||||
export(to, StringUtils.replaceOnce(resource.asString(), "server/", toRelativePathFromRoot("server") + '/'));
|
export(to, StringUtils.replaceOnce(resource.asString(), "server/", toRelativePathFromRoot("server") + '/'));
|
||||||
} else {
|
} else if (Resource.isTextResource(resourceName)) {
|
||||||
export(to, resource.asLines());
|
export(to, resource.asLines());
|
||||||
}
|
} else {
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
|
||||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
|
||||||
Path to = toDirectory.resolve(resourceName);
|
|
||||||
export(to, resource);
|
export(to, resource);
|
||||||
|
}
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||||
}
|
}
|
||||||
|
@ -133,10 +133,9 @@ public class PlayerPageExporter extends FileExporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
|
||||||
|
|
||||||
// Style
|
// Style
|
||||||
exportResources(toDirectory,
|
exportResources(toDirectory,
|
||||||
|
"img/Flaticon_circle.png",
|
||||||
"css/sb-admin-2.css",
|
"css/sb-admin-2.css",
|
||||||
"css/style.css",
|
"css/style.css",
|
||||||
"vendor/jquery/jquery.min.js",
|
"vendor/jquery/jquery.min.js",
|
||||||
@ -187,17 +186,11 @@ public class PlayerPageExporter extends FileExporter {
|
|||||||
|
|
||||||
if (resourceName.endsWith(".css")) {
|
if (resourceName.endsWith(".css")) {
|
||||||
export(to, theme.replaceThemeColors(resource.asString()));
|
export(to, theme.replaceThemeColors(resource.asString()));
|
||||||
} else {
|
} else if (Resource.isTextResource(resourceName)) {
|
||||||
export(to, resource.asLines());
|
export(to, resource.asLines());
|
||||||
}
|
} else {
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
|
||||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
|
||||||
Path to = toDirectory.resolve(resourceName);
|
|
||||||
export(to, resource);
|
export(to, resource);
|
||||||
|
}
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||||
}
|
}
|
||||||
|
@ -128,10 +128,9 @@ public class PlayersPageExporter extends FileExporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
|
||||||
|
|
||||||
// Style
|
// Style
|
||||||
exportResources(toDirectory,
|
exportResources(toDirectory,
|
||||||
|
"img/Flaticon_circle.png",
|
||||||
"css/sb-admin-2.css",
|
"css/sb-admin-2.css",
|
||||||
"css/style.css",
|
"css/style.css",
|
||||||
"vendor/jquery/jquery.min.js",
|
"vendor/jquery/jquery.min.js",
|
||||||
@ -139,6 +138,19 @@ public class PlayersPageExporter extends FileExporter {
|
|||||||
"vendor/jquery-easing/jquery.easing.min.js",
|
"vendor/jquery-easing/jquery.easing.min.js",
|
||||||
"vendor/datatables/jquery.dataTables.min.js",
|
"vendor/datatables/jquery.dataTables.min.js",
|
||||||
"vendor/datatables/dataTables.bootstrap4.min.js",
|
"vendor/datatables/dataTables.bootstrap4.min.js",
|
||||||
|
"vendor/fontawesome-free/css/all.min.css",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-brands-400.eot",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-brands-400.ttf",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-brands-400.woff",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-brands-400.woff2",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-regular-400.eot",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-regular-400.ttf",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-regular-400.woff",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-regular-400.woff2",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-solid-900.eot",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-solid-900.ttf",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-solid-900.woff",
|
||||||
|
"vendor/fontawesome-free/webfonts/fa-solid-900.woff2",
|
||||||
"js/sb-admin-2.js",
|
"js/sb-admin-2.js",
|
||||||
"js/xmlhttprequests.js",
|
"js/xmlhttprequests.js",
|
||||||
"js/color-selector.js"
|
"js/color-selector.js"
|
||||||
@ -157,17 +169,11 @@ public class PlayersPageExporter extends FileExporter {
|
|||||||
|
|
||||||
if (resourceName.endsWith(".css")) {
|
if (resourceName.endsWith(".css")) {
|
||||||
export(to, theme.replaceThemeColors(resource.asString()));
|
export(to, theme.replaceThemeColors(resource.asString()));
|
||||||
} else {
|
} else if (Resource.isTextResource(resourceName)) {
|
||||||
export(to, resource.asLines());
|
export(to, resource.asLines());
|
||||||
}
|
} else {
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
|
||||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
|
||||||
Path to = toDirectory.resolve(resourceName);
|
|
||||||
export(to, resource);
|
export(to, resource);
|
||||||
|
}
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||||
}
|
}
|
||||||
|
@ -162,10 +162,9 @@ public class ServerPageExporter extends FileExporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void exportRequiredResources(Path toDirectory) throws IOException {
|
private void exportRequiredResources(Path toDirectory) throws IOException {
|
||||||
exportImage(toDirectory, "img/Flaticon_circle.png");
|
|
||||||
|
|
||||||
// Style
|
// Style
|
||||||
exportResources(toDirectory,
|
exportResources(toDirectory,
|
||||||
|
"img/Flaticon_circle.png",
|
||||||
"css/sb-admin-2.css",
|
"css/sb-admin-2.css",
|
||||||
"css/style.css",
|
"css/style.css",
|
||||||
"vendor/jquery/jquery.min.js",
|
"vendor/jquery/jquery.min.js",
|
||||||
@ -217,17 +216,11 @@ public class ServerPageExporter extends FileExporter {
|
|||||||
|
|
||||||
if (resourceName.endsWith(".css")) {
|
if (resourceName.endsWith(".css")) {
|
||||||
export(to, theme.replaceThemeColors(resource.asString()));
|
export(to, theme.replaceThemeColors(resource.asString()));
|
||||||
} else {
|
} else if (Resource.isTextResource(resourceName)) {
|
||||||
export(to, resource.asLines());
|
export(to, resource.asLines());
|
||||||
}
|
} else {
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void exportImage(Path toDirectory, String resourceName) throws IOException {
|
|
||||||
Resource resource = files.getCustomizableResourceOrDefault("web/" + resourceName);
|
|
||||||
Path to = toDirectory.resolve(resourceName);
|
|
||||||
export(to, resource);
|
export(to, resource);
|
||||||
|
}
|
||||||
|
|
||||||
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
exportPaths.put(resourceName, toRelativePathFromRoot(resourceName));
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.djrapitops.plan.storage.file;
|
package com.djrapitops.plan.storage.file;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -58,4 +60,14 @@ public interface Resource {
|
|||||||
*/
|
*/
|
||||||
String asString() throws IOException;
|
String asString() throws IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a resource is a text based file.
|
||||||
|
*
|
||||||
|
* @param resourceName Name of the resource
|
||||||
|
* @return true if the resource is text based.
|
||||||
|
*/
|
||||||
|
static boolean isTextResource(String resourceName) {
|
||||||
|
return StringUtils.endsWithAny(resourceName, ".html", ".js", ".css", ".yml", ".txt");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user