From 2f2af7e96fa68cefd2e71e6e8451750ea75fc5b1 Mon Sep 17 00:00:00 2001 From: Dario Rekowski on RockPI Date: Fri, 4 Sep 2020 14:40:44 +0000 Subject: [PATCH] js for login server --- .../TransactionSendCoinsController.php | 2 +- webroot/js/time_calculations.js | 68 +++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 webroot/js/time_calculations.js diff --git a/src/Controller/TransactionSendCoinsController.php b/src/Controller/TransactionSendCoinsController.php index 2f48de063..c5a738736 100644 --- a/src/Controller/TransactionSendCoinsController.php +++ b/src/Controller/TransactionSendCoinsController.php @@ -188,7 +188,7 @@ class TransactionSendCoinsController extends AppController $this->set('timeUsed', microtime(true) - $startTime); return; } - if($requestAnswear['data']['userData']['disabled']) { + if(isset($requestAnswear['data']['userData']['disabled']) && $requestAnswear['data']['userData']['disabled']) { $this->Flash->error(__('Der Empfänger ist deaktiviert, daher können ihm zurzeit keine Gradidos gesendet werden.')); $this->set('timeUsed', microtime(true) - $startTime); return; diff --git a/webroot/js/time_calculations.js b/webroot/js/time_calculations.js new file mode 100644 index 000000000..7ca61c492 --- /dev/null +++ b/webroot/js/time_calculations.js @@ -0,0 +1,68 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + + + +var SECONDS_TO_YEAR = 31536000; +var SECONDS_TO_DAY = 86400; +var SECONDS_TO_HOUR = 3600; +var SECONDS_TO_MINUTE = 60; +SECONDS_TO = { + YEAR: SECONDS_TO_YEAR, + DAY: SECONDS_TO_DAY, + HOUR: SECONDS_TO_HOUR, + MINUTE: SECONDS_TO_MINUTE +}; + + + +function getReadableAge(timestamp) { + if(timestamp === undefined) { + return "no timestamp" + } + var ageSeconds = ((new Date()).getTime()/1000) - timestamp; + if(ageSeconds < SECONDS_TO_MINUTE) { + return Math.round(ageSeconds) + " seconds"; + } else if(ageSeconds < SECONDS_TO_HOUR) { + return "~ " + Math.round(ageSeconds / SECONDS_TO_MINUTE) + " minutes"; + } else if(ageSeconds < SECONDS_TO_DAY) { + return "~ " + Math.round(ageSeconds / SECONDS_TO_HOUR) + " hours"; + } else if(ageSeconds < SECONDS_TO_YEAR) { + return "~ " + Math.round(ageSeconds / SECONDS_TO_DAY) + " days"; + } else { + return "~ " + Math.round(ageSeconds / SECONDS_TO_YEAR) + " years"; + } +} + +function getExactTimeDuration(durationSeconds) { + var parts = { + seconds: durationSeconds, + minutes: 0, + hours: 0, + days: 0, + years: 0 + }; + var durationString = ''; + for(var i in SECONDS_TO) { + if(parts.seconds > SECONDS_TO[i]) { + var partIndexName = i.toLowerCase() + 's'; + parts[partIndexName] = Math.floor(parts.seconds / SECONDS_TO[i]); + parts.seconds -= parts[partIndexName] * SECONDS_TO[i]; + if(durationString.length > 0) { + durationString += ', '; + } + var unitName = partIndexName; + if(parts[partIndexName] === 1) { + unitName = partIndexName.substring(0, partIndexName.length-1); + } + durationString += parts[partIndexName] + ' ' + unitName; + break; + } + + } + return durationString; + +} \ No newline at end of file