diff --git a/pkg/gpserver/apihandler.go b/pkg/gpserver/apihandler.go index 5075060..c2d5253 100644 --- a/pkg/gpserver/apihandler.go +++ b/pkg/gpserver/apihandler.go @@ -55,6 +55,10 @@ func (con *Controller) apiHandler(res http.ResponseWriter, req *http.Request) (b return true, server.Maintenance(res, req, specific.Public) case "/server/restart": return true, server.Restart(res, req, specific.Public) + case "/log/read": + return true, log.Read(res, req, specific.Directory) + case "/log/delete": + return true, log.Delete(res, req, specific.Directory) default: return false, false } diff --git a/server/document_root/assets/js/panelHandlers/bundles/specific/log/back.js b/server/document_root/assets/js/panelHandlers/bundles/specific/log/back.js new file mode 100644 index 0000000..3a6fb76 --- /dev/null +++ b/server/document_root/assets/js/panelHandlers/bundles/specific/log/back.js @@ -0,0 +1,11 @@ +jQuery('._js_back-to-specific-bundle').on('click', function(e){ + e.preventDefault(); + + jQuery('.view-log-modal').modal('hide'); + jQuery('.specific-bundle-modal').modal('show'); +}); + +jQuery('.view-log-modal').on('hidden.bs.modal', function(e){ + jQuery('._js_back-to-specific-bundle').removeClass('d-none'); + jQuery('._js_back-to-specific-bundle').addClass('d-none'); +}); diff --git a/server/document_root/assets/js/panelHandlers/bundles/specific/log/view.js b/server/document_root/assets/js/panelHandlers/bundles/specific/log/view.js new file mode 100644 index 0000000..4ac531d --- /dev/null +++ b/server/document_root/assets/js/panelHandlers/bundles/specific/log/view.js @@ -0,0 +1,62 @@ +var logModal = jQuery('.view-log-modal'); + +jQuery('._js_specific-bundle-log-view').on('click', function(e){ + e.preventDefault(); + + var logName = jQuery(this).attr('data'); + + var title; + switch(logName) { + case "public_errors": + title = "Public Error Log"; + break; + case "account_errors": + title = "Account Error Log"; + break; + case "public_load_time": + title = "Public Load Time Log"; + break; + default: + return; + break; + } + jQuery(logModal).find('.modal-title').html(title); + jQuery(logModal).find('._js_back-to-specific-bundle').removeClass('d-none'); + jQuery(logModal).find('._js_log-clear').attr('data', logName); + + var name = jQuery('.specific-bundle-modal').attr('data'); + + var requestData = {}; + requestData["bundle_name"] = name; + requestData["name"] = logName; + + var xhr = new XMLHttpRequest(); + xhr.open('POST', 'api/log/read', true); + xhr.send(JSON.stringify(requestData)); + + xhr.onloadend = function() { + if(xhr.status == 200) { + var responseData; + + if(xhr.response != undefined && xhr.response.length != 0) { + responseData = xhr.response; + } + else { + responseData = "The log is currently empty." + } + + jQuery(logModal).find('.modal-body textarea').html(responseData); + jQuery('.specific-bundle-modal').modal('hide'); + jQuery(logModal).modal('show'); + } + else { + if(xhr.response != undefined && xhr.response.length != 0) { + alert(xhr.response); + } + else { + alert('An error has occurred, please contact your webhost administrator.'); + } + } + } + +}); diff --git a/server/document_root/assets/js/panelHandlers/log/delete.js b/server/document_root/assets/js/panelHandlers/log/delete.js index 6b81873..52217e1 100644 --- a/server/document_root/assets/js/panelHandlers/log/delete.js +++ b/server/document_root/assets/js/panelHandlers/log/delete.js @@ -10,6 +10,15 @@ jQuery('._js_log-clear').on('click', function(e){ case "server_errors": title = "Server Error Log"; break; + case "public_errors": + title = "Public Error Log"; + break; + case "account_errors": + title = "Account Error Log"; + break; + case "public_load_time": + title = "Public Load Time Log"; + break; default: return; break; diff --git a/server/document_root/gPanel.html b/server/document_root/gPanel.html index 76cccc8..5d34e64 100644 --- a/server/document_root/gPanel.html +++ b/server/document_root/gPanel.html @@ -169,6 +169,7 @@
@@ -235,6 +236,9 @@ + + +