var icon = ""; var realtimediv = ""; var starttime_view = false; var startbreaktime_view = false; var isbreak = false; var breaktime = 0; function loadTMIcon(){ var iconBaseUrl = OC.generateUrl('/svg/core/actions/user-admin'); icon = $(''); $('.header-right').prepend(icon); } function parseDate(input) { var today = new Date(); newdate = new Date(today.getFullYear(), today.getMonth(), today.getDate(), parseInt(input.split(":")[0]), parseInt(input.split(":")[1])); return newdate; } function addTMDiv(){ //Realtime-DIV realtimediv = $("
"); realtimediv.html(html_content); realtimediv.css("width", "300px"); realtimediv.css("height", "125px"); realtimediv.css("right", "50px"); realtimediv.css("position", "fixed"); realtimediv.css("overflow", "hidden"); realtimediv.css("display", "none"); realtimediv.css("text-align", "center"); $('.header-right').append(realtimediv); // Adding Listener // Start WorkDay $("#startWorkDay").click(function(){ startWorkDay(); $("#activeDay").show(); $("#start_workday").hide(); }) // End WorkDay $("#end_workday").click(function(){ endWorkDay(); }) // Start Break $("#start_break").click(function(){ startBreak(); }) // Start Break $("#end_break").click(function(){ endBreak(); }) // ACTUAL TIME INFO // Load Time $.ajax({ url: "/apps/da_agency/loadtime", type: 'GET', }).success(function (response) { $("#td_content").show(); $("#loader").hide(); responsedata = JSON.parse(response); console.log(responsedata['usetime']); $("#actualTime").html(responsedata['actualtime']); // No workday found // User does not use time if(responsedata['usetime'] == false ){ $("#timeicon").hide(); } else{ $("#timeicon").show(); } if(responsedata['workdaydata_workday'] == 0){ starttime_view = false; startbreaktime_view = false; isbreak = false; breaktime = 0; $("#breaksum").html("00:00:00"); $("#activeDay").hide(); } // Workday found else{ realtimediv.css("height", "250px"); $("#breaksum").html(convertMS(responsedata['breaksum'])); var breaktime = responsedata['breaksum']; // Break found if(responsedata['breakstatus']){ isbreak = true; startbreaktime_view = responsedata['breaktimer']; starttime_view = Date.parse(responsedata['workdaydata_workday']); $("#start_workday").hide(); $("#activeDay").show(); $("#worktime").hide(); $("#breaktimeclock").show(); $("#end_break").show(); $("#start_break").hide(); $("#starttime").html(responsedata['workdaydata_starttime']); } // NO BREAK - Day is active else{ isbreak = false; start = responsedata['workdaydata_workday']; startbreaktime_view = 0; starttime_view = parseDate(responsedata['workdaydata_workday']); $("#start_workday").hide(); $("#activeDay").show(); $("#starttime").html(responsedata['workdaydata_starttime']); } } }); // ICON CLICK icon.click(function(){ if(realtimediv.css("display") == "none"){ realtimediv.css("display", "block"); } else { realtimediv.css("display", "none"); } }) } window.setInterval(function(){ if(starttime_view != false && isbreak == false){ realTimeClock(); } else if(isbreak == true){ realTimeBreakClock(); } }, 1000); function convertMS(ms) { var d, h, m, s; s = Math.floor(ms / 1000); m = Math.floor(s / 60); s = s % 60; h = Math.floor(m / 60); m = m % 60; d = Math.floor(h / 24); h = h % 24; h += d * 24; if(s < 10){ s = "0" + s; } if(m < 10){ m = "0" + m; } if(h < 10){ h = "0" + h; } return h + ':' + m + ':' + s; } start = false; function realTimeClock() { if(start != false){ startDate = Date.parse(start); starttime_view = startDate; start = false; realTimeClock(); } else{ now = new Date(); viewtime = now - starttime_view - breaktime; $("#realtimeclock").html(convertMS(viewtime)); } } $(document).ready(function(){ loadTMIcon(); addTMDiv(); }) function startWorkDay(){ realtimediv.css("height", "250px"); $("#td_content").hide(); $("#loader").show(); $.ajax({ url: "/apps/da_agency/startday", type: 'GET', }).success(function (response) { $("#td_content").show(); $("#loader").hide(); responsedata = JSON.parse(response); if(responsedata["success"]){ $("#starttime").html(responsedata["wd_starttime"]) $("#endtime").html("00:00:00"); $("#breaksum").html("00:00:00"); } start = responsedata["wd_starttime_complete"]; realTimeClock(); }); } function endWorkDay(){ $("#td_content").hide(); $("#loader").show(); $.ajax({ url: "/apps/da_agency/endday", type: 'GET', }).success(function (response) { realtimediv.css("height", "125px"); $("#td_content").show(); $("#loader").hide(); responsedata = JSON.parse(response); if(responsedata["success"]){ $("#breaktimeclock").hide(); $("#realtimeclock").show(); $("#end_break").hide(); $("#start_break").show(); $("#worktime").show(); $("#endtime").html(responsedata["wd_endtime"]); $("#activeDay").hide(); $("#start_workday").show(); $("#breaksum").html(convertMS(responsedata["actualbreaktime"])); starttime_view = false; isbreak = false; start = false; breaktime = 0; } realTimeClock(); }); } function startBreak(){ $("#td_content").hide(); $("#loader").show(); $.ajax({ url: "/apps/da_agency/startbreak", type: 'GET', }).success(function (response) { responsedata = JSON.parse(response); isbreak = true; $("#td_content").show(); $("#loader").hide(); //$("#timemanagement_clock").click(function(e){ // e.stopPropagation(); //}) $("#breaktimeclock").show(); $("#realtimeclock").hide(); $("#end_break").show(); $("#start_break").hide(); $("#worktime").hide(); startbreaktime_view = -1000; realTimeBreakClock(); }); } function endBreak(){ $("#td_content").hide(); $("#loader").show(); $.ajax({ url: "/apps/da_agency/endbreak", type: 'GET', }).success(function (response) { $("#td_content").show(); $("#loader").hide(); responsedata = JSON.parse(response); isbreak = false; $("#breaktimeclock").hide(); $("#realtimeclock").show(); $("#end_break").hide(); $("#start_break").show(); $("#worktime").show(); breaktime = responsedata["actualbreaktime"]; startbreaktime_view = responsedata["actualbreaktime"]; starttime_view = Date.parse(responsedata["wdtime"]); $("#breaksum").html(convertMS(responsedata["actualbreaktime"])); }); } function realTimeBreakClock(){ breaktime = startbreaktime_view + 1000; startbreaktime_view = startbreaktime_view + 1000; $("#realtimeclock_break").html(convertMS(startbreaktime_view)); } var html_content = '
';