mirror of
https://git.bakhai.co.in/FbIN/LibreY.git
synced 2025-11-03 19:41:31 +05:30
55 lines
2 KiB
PHP
55 lines
2 KiB
PHP
<?php
|
|
class QwantImageSearch extends EngineRequest {
|
|
public function get_request_url() {
|
|
$offset = $this->page * 5; // load 50 images per page
|
|
$query = urlencode($this->query);
|
|
return "https://api.qwant.com/v3/search/images?q=$query&t=images&count=50&locale=en_us&offset=$offset&device=desktop&tgp=3&safesearch=1";
|
|
}
|
|
|
|
public function parse_results($response) {
|
|
$json = json_decode($response, true);
|
|
$results = array();
|
|
|
|
if ($json["status"] != "success")
|
|
return $results; // no results
|
|
|
|
$imgs = $json["data"]["result"]["items"];
|
|
$imgCount = $json["data"]["result"]["total"];
|
|
|
|
for ($i = 0; $i < $imgCount; $i++)
|
|
{
|
|
array_push($results,
|
|
array (
|
|
"thumbnail" => htmlspecialchars($imgs[$i]["thumbnail"]),
|
|
"alt" => htmlspecialchars($imgs[$i]["title"]),
|
|
"url" => htmlspecialchars($imgs[$i]["url"])
|
|
)
|
|
);
|
|
}
|
|
|
|
return $results;
|
|
}
|
|
|
|
public static function print_results($results, $opts) {
|
|
echo "<div class=\"image-result-container\">";
|
|
|
|
foreach($results as $result)
|
|
{
|
|
if (!$result
|
|
|| !array_key_exists("url", $result)
|
|
|| !array_key_exists("alt", $result))
|
|
continue;
|
|
$thumbnail = urlencode($result["thumbnail"]);
|
|
$alt = $result["alt"];
|
|
$url = $result["url"];
|
|
$url = check_for_privacy_frontend($url, $opts);
|
|
|
|
echo "<a title=\"$alt\" href=\"$url\" rel=\"noreferer noopener\" target=\"_blank\">";
|
|
echo "<img src=\"image_proxy.php?url=$thumbnail\">";
|
|
echo "</a>";
|
|
}
|
|
|
|
echo "</div>";
|
|
}
|
|
}
|
|
?>
|