summaryrefslogtreecommitdiff
path: root/lib/helper.php
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-07-27 08:27:37 +0200
committerErich Eckner <git@eckner.net>2018-07-27 08:27:37 +0200
commit1a7538265f7a2748e8864c002e75e55cb8a270ba (patch)
treeb4f9478e9b8ce3cb2e617cda23c6a4bbcc18be39 /lib/helper.php
parentb2c2b43629729f0e753466ce3c543f59842b943a (diff)
downloadarchweb32-1a7538265f7a2748e8864c002e75e55cb8a270ba.tar.xz
lib/converter.php -> lib/helper.php
Diffstat (limited to 'lib/helper.php')
-rw-r--r--lib/helper.php86
1 files changed, 86 insertions, 0 deletions
diff --git a/lib/helper.php b/lib/helper.php
new file mode 100644
index 0000000..41951c7
--- /dev/null
+++ b/lib/helper.php
@@ -0,0 +1,86 @@
+<?php
+
+# do not include twice
+if (function_exists("format_time_duration"))
+ return;
+
+require_once "../init.php";
+
+function format_time_duration($val) {
+ $val = floor($val);
+ $result = "";
+ $result =
+ sprintf(
+ "%02d",
+ $val % 60
+ );
+ $val = floor($val / 60);
+ if ($val == 0)
+ return $result;
+ $result =
+ sprintf(
+ "%02d:%s",
+ $val % 60,
+ $result
+ );
+ $val = floor($val / 60);
+ if ($val == 0)
+ return $result;
+ $result =
+ sprintf(
+ "%d:%s",
+ $val % 24,
+ $result
+ );
+ $val = floor($val / 24);
+ if ($val == 0)
+ return $result;
+ $tmp = $val % 7;
+ $printed_conjunction = true;
+ if ($tmp > 1)
+ $result =
+ sprintf(
+ "%d days and %s",
+ $tmp,
+ $result
+ );
+ elseif ($tmp == 1)
+ $result =
+ sprintf(
+ "%d day and %s",
+ $tmp,
+ $result
+ );
+ else
+ $printed_conjunction = false;
+ $val = floor($val / 7);
+ if ($val == 0)
+ return $result;
+ if ($printed_conjunction)
+ $result =
+ sprintf(
+ ", %s",
+ $result
+ );
+ else
+ $result =
+ sprintf(
+ " and %s",
+ $result
+ );
+ if ($val>1)
+ $result =
+ sprintf(
+ "%d weeks%s",
+ $val,
+ $result
+ );
+ else
+ $result =
+ sprintf(
+ "%d week%s",
+ $val,
+ $result
+ );
+ return $result;
+}