diff --git a/assets/js/admin.js b/assets/js/admin.js index 11a403e..636c47c 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -2,7 +2,6 @@ $(document).ready(function() { // Check if admin $.get('/api/auth/me') .done(function(user) { - console.log("Logged in:", user); if(user.role !== 'admin') { alert("Kein Zugriff!"); window.location.href = '/'; @@ -25,23 +24,23 @@ $(document).ready(function() { $.get('/api/admin/users').done(function(users) { $('#users-tbody').empty(); $('#user-select').html(''); - users.forEach(u => { - $('#users-tbody').append(` - - ${u.id} - ${u.username} ${u.role==='admin'?'(Admin)':''} - ${u.id !== 1 ? `` : ''} - - `); + users.forEach(function(u) { + $('#users-tbody').append( + '' + + '' + u.id + '' + + '' + u.username + ' ' + (u.role === 'admin' ? '(Admin)' : '') + '' + + '' + (u.id !== 1 ? '' : '') + '' + + '' + ); if(u.role !== 'admin') { - $('#user-select').append(``); + $('#user-select').append(''); } }); }); } window.deleteUser = function(id) { - if(confirm("Nutzer löschen?")) { + if(confirm("Nutzer loeschen?")) { $.ajax({url: '/api/admin/users/'+id, type: 'DELETE'}).done(loadUsers); } }; @@ -56,37 +55,35 @@ $(document).ready(function() { }).fail(function(err) { alert("Fehler: " + err.responseJSON.error); }); }); - let allImages = []; function loadAssignmentImages() { $.get('/images/fulls/').done(function(files) { - allImages = files; $('#image-checkboxes').empty(); - files.forEach(f => { - $('#image-checkboxes').append(` - - `); + files.forEach(function(f) { + $('#image-checkboxes').append( + '' + ); }); }); } $('#user-select').change(function() { - const uid = $(this).val(); + var uid = $(this).val(); $('.img-cb').prop('checked', false); if(!uid) return; $.get('/api/admin/assign').done(function(assignments) { - assignments.filter(a => a.user_id == uid).forEach(a => { - $(`.img-cb[value="${a.image_name}"]`).prop('checked', true); + assignments.filter(function(a) { return a.user_id == uid; }).forEach(function(a) { + $('.img-cb[value="' + a.image_name + '"]').prop('checked', true); }); }); }); $('#save-assignments').click(function() { - const uid = $('#user-select').val(); - if(!uid) return alert('Bitte Nutzer wählen'); - const selected = []; + var uid = $('#user-select').val(); + if(!uid) return alert('Bitte Nutzer waehlen'); + var selected = []; $('.img-cb:checked').each(function() { selected.push($(this).val()); }); $.post('/api/admin/assign', { user_id: uid, image_names: selected }) @@ -94,11 +91,11 @@ $(document).ready(function() { }); $('#update-btn').click(function() { - if(!confirm("Achtung: Dies startet den Server neu. Fortfahren?")) return; - $('#update-status').text('Update läuft...'); + if(!confirm("Achtung: Dies startet den Server auf dem NAS neu. Fortfahren?")) return; + $('#update-status').text('Update laeuft...'); $.post('/api/admin/update').done(function(res) { $('#update-status').text(res.message); - setTimeout(() => { window.location.reload(); }, 5000); + setTimeout(function() { window.location.reload(); }, 5000); }); }); }); diff --git a/assets/js/admin.min.js b/assets/js/admin.min.js new file mode 100644 index 0000000..0b20f97 --- /dev/null +++ b/assets/js/admin.min.js @@ -0,0 +1 @@ +$(document).ready(function(){function e(){$.get("/api/admin/users").done(function(e){$("#users-tbody").empty(),$("#user-select").html(''),e.forEach(function(e){$("#users-tbody").append(""+e.id+""+e.username+" "+("admin"===e.role?"(Admin)":"")+""+(1!==e.id?'':"")+""),"admin"!==e.role&&$("#user-select").append('")})})}$.get("/api/auth/me").done(function(n){"admin"!==n.role?(alert("Kein Zugriff!"),window.location.href="/"):(e(),$.get("/images/fulls/").done(function(e){$("#image-checkboxes").empty(),e.forEach(function(e){$("#image-checkboxes").append('')})}),$("body").removeClass("is-preload"))}).fail(function(){window.location.href="/"}),$("#logout-btn").click(function(e){e.preventDefault(),$.post("/api/auth/logout").done(function(){window.location.href="/"})}),window.deleteUser=function(n){confirm("Nutzer loeschen?")&&$.ajax({url:"/api/admin/users/"+n,type:"DELETE"}).done(e)},$("#create-user-form").submit(function(n){n.preventDefault(),$.post("/api/admin/users",{username:$("#new-username").val(),password:$("#new-password").val(),role:"user"}).done(function(){$("#new-username").val(""),$("#new-password").val(""),e()}).fail(function(e){alert("Fehler: "+e.responseJSON.error)})}),$("#user-select").change(function(){var e=$(this).val();$(".img-cb").prop("checked",!1),e&&$.get("/api/admin/assign").done(function(n){n.filter(function(n){return n.user_id==e}).forEach(function(e){$('.img-cb[value="'+e.image_name+'"]').prop("checked",!0)})})}),$("#save-assignments").click(function(){var e=$("#user-select").val();if(!e)return alert("Bitte Nutzer waehlen");var n=[];$(".img-cb:checked").each(function(){n.push($(this).val())}),$.post("/api/admin/assign",{user_id:e,image_names:n}).done(function(){alert("Zuweisung gespeichert!")})}),$("#update-btn").click(function(){confirm("Achtung: Dies startet den Server auf dem NAS neu. Fortfahren?")&&($("#update-status").text("Update laeuft..."),$.post("/api/admin/update").done(function(e){$("#update-status").text(e.message),setTimeout(function(){window.location.reload()},5e3)}))})}); \ No newline at end of file diff --git a/assets/js/main.min.js b/assets/js/main.min.js index 7ade745..3d5363b 100644 --- a/assets/js/main.min.js +++ b/assets/js/main.min.js @@ -1 +1 @@ -!function(e){var n,a=e(window),o=e("body");e("#wrapper");(breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),"ie"==browser.name&&o.addClass("ie"),browser.mobile&&o.addClass("touch"),browser.canUse("transition"))&&(a.on("load",function(){window.setTimeout(function(){o.removeClass("is-preload")},100)}),a.on("resize",function(){window.clearTimeout(n),o.addClass("is-resizing"),n=window.setTimeout(function(){o.removeClass("is-resizing")},100)}));a.scrollTop(0);var t=e(".panel");t.each(function(){var n=e(this),a=e('[href="#'+n.attr("id")+'"]');e('
').appendTo(n).on("click",function(e){n.trigger("---hide")}),n.on("click",function(e){e.stopPropagation()}).on("---toggle",function(){n.hasClass("active")?n.triggerHandler("---hide"):n.triggerHandler("---show")}).on("---show",function(){o.hasClass("content-active")&&t.trigger("---hide"),n.addClass("active"),a.addClass("active"),o.addClass("content-active")}).on("---hide",function(){n.removeClass("active"),a.removeClass("active"),o.removeClass("content-active")}),a.removeAttr("href").css("cursor","pointer").on("click",function(e){e.preventDefault(),e.stopPropagation(),n.trigger("---toggle")})}),o.on("click",function(e){o.hasClass("content-active")&&(e.preventDefault(),e.stopPropagation(),t.trigger("---hide"))}),a.on("keyup",function(e){27==e.keyCode&&o.hasClass("content-active")&&(e.preventDefault(),e.stopPropagation(),t.trigger("---hide"))}),e("#header").find("a").each(function(){var n=e(this),a=n.attr("href");a&&"#"!=a.charAt(0)&&n.removeAttr("href").css("cursor","pointer").on("click",function(e){e.preventDefault(),e.stopPropagation(),window.location.href=a})}),e("#footer").find(".copyright").each(function(){var n=e(this),a=n.parent(),o=a.parent().children().last();breakpoints.on("<=medium",function(){n.appendTo(o)}),breakpoints.on(">medium",function(){n.appendTo(a)})});var i=e("#main"),r={},s=["jpg","jpeg","png","gif","webp"];function p(n){var a=e("#main").data("exif"),o="";for(var t in a){var i=a[t],r=EXIF.getTag(n,i.tag);void 0!==r&&(o+=' '+r+"  ")}return o}e.ajax({url:"/images/fulls/",dataType:"json",cache:!1,success:function(n){var a=n.filter(function(e){if("file"!==e.type)return!1;var n=e.name.split(".").pop().toLowerCase();return-1!==s.indexOf(n)});0!==a.length?(a.sort(function(e,n){return e.name.localeCompare(n.name)}),a.forEach(function(n){var a=e('
'),o=e(''),t=e('');o.append(t),a.append(o),i.append(a)}),i.children(".thumb").each(function(){var n,a=e(this),o=a.find(".image"),t=o.children("img");0!=o.length&&(o.css("background-image","url("+t.attr("src")+")"),(n=t.data("position"))&&o.css("background-position",n),t.hide(),t[0].addEventListener("load",function(){EXIF.getData(t[0],function(){r[t.data("name")]=p(this)})}))}),i.poptrox({baseZIndex:2e4,caption:function(e){var n=e.children("img"),a=r[n.data("name")];return void 0===a&&EXIF.getData(n[0],function(){a=r[n.data("name")]=p(this)}),void 0!==a?"

"+a+"

":" "},fadeSpeed:300,onPopupClose:function(){o.removeClass("modal-active")},onPopupOpen:function(){o.addClass("modal-active")},overlayOpacity:0,popupCloserText:"",popupHeight:150,popupLoaderText:"",popupSpeed:300,popupWidth:150,selector:".thumb > a.image",usePopupCaption:!0,usePopupCloser:!0,usePopupDefaultStyling:!1,usePopupForceClose:!0,usePopupLoader:!0,usePopupNav:!0,windowMargin:50}),breakpoints.on("<=xsmall",function(){i[0]._poptrox.windowMargin=0}),breakpoints.on(">xsmall",function(){i[0]._poptrox.windowMargin=50})):i.html('

JSON Array from Nginx was loaded, but 0 images matched!
Raw files: '+JSON.stringify(n)+"

")},error:function(){i.html('

Keine Bilder gefunden. Lade Bilder in deinen Nextcloud-Ordner hoch.

')}})}(jQuery); \ No newline at end of file +!function(n){var e,o=n(window),t=n("body");n("#wrapper");(breakpoints({xlarge:["1281px","1680px"],large:["981px","1280px"],medium:["737px","980px"],small:["481px","736px"],xsmall:[null,"480px"]}),"ie"==browser.name&&t.addClass("ie"),browser.mobile&&t.addClass("touch"),browser.canUse("transition"))&&(o.on("load",function(){window.setTimeout(function(){t.removeClass("is-preload")},100)}),o.on("resize",function(){window.clearTimeout(e),t.addClass("is-resizing"),e=window.setTimeout(function(){t.removeClass("is-resizing")},100)}));o.scrollTop(0);var i=n(".panel");i.each(function(){var e=n(this),o=n('[href="#'+e.attr("id")+'"]');n('
').appendTo(e).on("click",function(n){e.trigger("---hide")}),e.on("click",function(n){n.stopPropagation()}).on("---toggle",function(){e.hasClass("active")?e.triggerHandler("---hide"):e.triggerHandler("---show")}).on("---show",function(){t.hasClass("content-active")&&i.trigger("---hide"),e.addClass("active"),o.addClass("active"),t.addClass("content-active")}).on("---hide",function(){e.removeClass("active"),o.removeClass("active"),t.removeClass("content-active")}),o.removeAttr("href").css("cursor","pointer").on("click",function(n){n.preventDefault(),n.stopPropagation(),e.trigger("---toggle")})}),t.on("click",function(n){t.hasClass("content-active")&&(n.preventDefault(),n.stopPropagation(),i.trigger("---hide"))}),o.on("keyup",function(n){27==n.keyCode&&t.hasClass("content-active")&&(n.preventDefault(),n.stopPropagation(),i.trigger("---hide"))}),n("#header").find("a").each(function(){var e=n(this),o=e.attr("href");o&&"#"!=o.charAt(0)&&e.removeAttr("href").css("cursor","pointer").on("click",function(n){n.preventDefault(),n.stopPropagation(),window.location.href=o})}),n("#footer").find(".copyright").each(function(){var e=n(this),o=e.parent(),t=o.parent().children().last();breakpoints.on("<=medium",function(){e.appendTo(t)}),breakpoints.on(">medium",function(){e.appendTo(o)})});n("#main");n.get("/api/auth/me").done(function(e){n("#login-username, #login-password, #login-submit").hide(),n("#logout-btn").show().css("display","inline-block"),"admin"===e.role&&n("#admin-link").html('Admin-Dashboard'),n("#login-nav").html('Account ')}),n("#login-form").submit(function(e){e.preventDefault(),n.post("/api/auth/login",{username:n("#login-username").val(),password:n("#login-password").val()}).done(function(){window.location.reload()}).fail(function(n){alert("Login fehlgeschlagen. Bitte Zugangsdaten ueberpruefen.")})}),n("#logout-btn").click(function(e){e.preventDefault(),n.post("/api/auth/logout").done(function(){window.location.reload()})})}(jQuery); \ No newline at end of file