aboutsummaryrefslogtreecommitdiffstats
path: root/misc/tools.php
blob: 9917be73c20e5dd6e3d4dcdde675efd9eebb06c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
  function timesince($time) {
    $time = time() - $time;
    $timeunits = [
      31536000 => 'year',
      2592000 => 'month',
      604800 => 'week',
      86400 => 'day',
      3600 => 'hour',
      60 => 'minute',
    ];

    foreach ($timeunits as $unit => $text) {
      if ($time < $unit)
        continue;
      $numunits = floor($time / $unit);
      return ' '.$numunits.' '.$text.(($numunits > 1) ? 's' : '');
    }
  }

  function humanfilesize($size, $unit="") {
    if ((!$unit && $size >= 1 << 30) || $unit == "GB")
      return number_format($size / (1 << 30),2)."GB";
    if ((!$unit && $size >= 1 << 20) || $unit == "MB")
      return number_format($size / (1 << 20),2)."MB";
    if ((!$unit && $size >= 1 << 10) || $unit == "KB")
      return number_format($size / (1 << 10),2)."KB";
    return number_format($size)." bytes";
  }

  function toupperpurity($str) {
    if ($str == "sfw")
      return strtoupper($str);
    if ($str == "sketchy")
      return ucfirst($str);
    if ($str == "nsfw")
      return strtoupper($str);
    return $str;
  }
?>