diff --git a/server/config/mailconfig.example.js b/server/config/mailconfig.example.js index 54a08dbc..147fecf8 100644 --- a/server/config/mailconfig.example.js +++ b/server/config/mailconfig.example.js @@ -15,7 +15,9 @@ var mail_config = { authMethod: 'PLAIN', tls: { ciphers:'SSLv3' - } + }, + from: 'no-reply@zoff.me', + to: 'contact@zoff.me' }; module.exports = mail_config; diff --git a/server/public/assets/css/style.css b/server/public/assets/css/style.css index 3440cc7b..f90e7cdf 100755 --- a/server/public/assets/css/style.css +++ b/server/public/assets/css/style.css @@ -16,6 +16,12 @@ body { background: white; } +.error-code-container { + background: lightgrey; + border: 1px solid darkgrey; + margin-bottom: 20px; +} + .admin_panel{ margin-top:100px; } diff --git a/server/public/assets/js/helpers.js b/server/public/assets/js/helpers.js index e2acd9a7..0a026c30 100755 --- a/server/public/assets/js/helpers.js +++ b/server/public/assets/js/helpers.js @@ -1,12 +1,16 @@ var Helper = { - + logs: [], log: function(to_log) { if(localStorage.debug === "true") { - console.log("------------"); + console.log("------------ " + new Date()); for(var i = 0; i < to_log.length; i++) { console.log(to_log[i]); } - console.log("------------"); + console.log("------------ " + new Date()); + } + Helper.logs.unshift({log: to_log, date: new Date()}); + if(Helper.logs.length > 10) { + Helper.logs.splice(-1, Helper.logs.length - 10); } }, diff --git a/server/public/assets/js/listeners.js b/server/public/assets/js/listeners.js index ff734c94..2f980015 100755 --- a/server/public/assets/js/listeners.js +++ b/server/public/assets/js/listeners.js @@ -138,10 +138,34 @@ window.zoff = { disable_debug: disable_debug } +if(!Helper.mobilecheck()) { + $(window).error(function(e){ + e.preventDefault(); + Helper.logs.unshift({log: e.originalEvent.error.stack.toString().replace(/(\r\n|\n|\r)/gm,""), date: new Date()}); + $(".contact-form-content").remove(); + $("#submit-contact-form").remove(); + $(".contact-modal-header").text("An error occurred"); + $(".contact-container-info").remove(); + $(".contact-modal-footer").prepend('Send'); + $("#contact-form").attr("id", "error-report-form"); + $("#contact-container").prepend('

Do you want to send an error-report?

\ +

\ +
\ + \ +
'); + $("#contact").modal(); + $("#contact").modal("open"); + /*$("#error-report-modal").modal();*/ + $("#error-report-code").text(JSON.stringify(Helper.logs, undefined, 4)); + console.error(e.originalEvent.error); + }); +} + $().ready(function(){ if(!localStorage.getItem("VERSION") || parseInt(localStorage.getItem("VERSION")) != VERSION) { localStorage.setItem("VERSION", VERSION); } + if(!fromFront && window.location.pathname != "/") Channel.init(); else if(!fromChannel && window.location.pathname == "/"){ Frontpage.init(); @@ -1073,6 +1097,37 @@ $(document).on('submit', '#contact-form', function(e){ Helper.send_mail(from, message); }); +$(document).on('click', ".send-error-modal", function(e) { + e.preventDefault(); + $("#error-report-form").submit(); +}) + +$(document).on('submit', "#error-report-form", function(e) { + e.preventDefault(); + var captcha_response = grecaptcha.getResponse(); + $("#send-loader").removeClass("hide"); + $.ajax({ + type: "POST", + data: { + from: "no-reply@zoff.me", + message: $("#error-report-code").text(), + "g-recaptcha-response": captcha_response, + }, + url: "/api/mail", + success: function(data){ + if(data == "success"){ + $(".send-error-modal").remove(); + $("#error-report-form").remove(); + $(".error-code-container").remove(); + $(".error-report-success").text("Error report sent!"); + $("#contact-container").html("Mail has been sent, we'll be back with you shortly.") + }else{ + $(".error-report-success").text("Mail was not sent, try again"); + } + $("#send-loader").addClass("hide"); + } + }); +}); $(document).on( "click", "#add-many", function(e){ var id = $(this).attr("data-video-id"); diff --git a/server/public/partials/contact.handlebars b/server/public/partials/contact.handlebars index 92965cfc..7f3c3e8c 100644 --- a/server/public/partials/contact.handlebars +++ b/server/public/partials/contact.handlebars @@ -1,16 +1,18 @@