64 lines
1.8 KiB
PHP
64 lines
1.8 KiB
PHP
<?php
|
|
include_once('scrapers/wallhaven.php');
|
|
$config = require(__DIR__.'/../config.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;
|
|
}
|
|
|
|
function humanquery($q, $nsfw = false) {
|
|
global $config;
|
|
if ($nsfw)
|
|
$apikey = $config["frontends"]["wallhaven"]["apikey"];
|
|
else
|
|
$apikey = "";
|
|
|
|
if (preg_match("/id:[0-9+]/", $q)) {
|
|
$info = gettaginfo("https://wallhaven.cc/api/v1/tag/".preg_replace("/id:/", "", $q));
|
|
$q = preg_replace("/id:[0-9]+/", $info["name"], $q);
|
|
}
|
|
if (preg_match("/like:([A-Za-z0-9]+)/", $q, $matches)) {
|
|
$id = preg_replace("/like:/", "", $matches[0]);
|
|
$wall = getwallpaper("https://wallhaven.cc/api/v1/w/$id?apikey=$apikey");
|
|
$q = $q."<span id='triangle'></span><img src='/proxy.php?i=".$wall["thumbs"]["orig"]."'>";
|
|
}
|
|
|
|
return $q;
|
|
}
|
|
?>
|