images.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /*
  3. Initialize random shit
  4. */
  5. include "lib/frontend.php";
  6. $frontend = new frontend();
  7. [$scraper, $filters] = $frontend->getscraperfilters("images");
  8. $get = $frontend->parsegetfilters($_GET, $filters);
  9. $frontend->loadheader(
  10. $get,
  11. $filters,
  12. "images"
  13. );
  14. $payload = [
  15. "images" => "",
  16. "nextpage" => ""
  17. ];
  18. try{
  19. $results = $scraper->image($get);
  20. }catch(Exception $error){
  21. echo
  22. $frontend->drawerror(
  23. "Shit",
  24. 'This scraper returned an error:' .
  25. '<div class="code">' . htmlspecialchars($error->getMessage()) . '</div>' .
  26. 'Things you can try:' .
  27. '<ul>' .
  28. '<li>Use a different scraper</li>' .
  29. '<li>Remove keywords that could cause errors</li>' .
  30. '<li>Use another 4get instance</li>' .
  31. '</ul><br>' .
  32. 'If the error persists, please <a href="/about">contact the administrator</a>.'
  33. );
  34. die();
  35. }
  36. if(count($results["image"]) === 0){
  37. $payload["images"] =
  38. '<div class="infobox">' .
  39. "<h1>Nobody here but us chickens!</h1>" .
  40. 'Have you tried:' .
  41. '<ul>' .
  42. '<li>Using a different scraper</li>' .
  43. '<li>Using fewer keywords</li>' .
  44. '<li>Defining broader filters (Is NSFW turned off?)</li>' .
  45. '</ul>' .
  46. '</div>';
  47. }
  48. foreach($results["image"] as $image){
  49. $payload["images"] .=
  50. '<div class="image-wrapper" title="' . htmlspecialchars($image["title"]) .'" data-json="' . htmlspecialchars(json_encode($image["source"])) . '">' .
  51. '<div class="image">' .
  52. '<a href="' . htmlspecialchars($image["source"][0]["url"]) . '" rel="noreferrer nofollow" class="thumb">' .
  53. '<img src="' . $frontend->htmlimage($image["source"][count($image["source"]) - 1]["url"], "thumb") . '" alt="thumbnail">' .
  54. '<div class="duration">' . $image["source"][0]["width"] . 'x' . $image["source"][0]["height"] . '</div>' .
  55. '</a>' .
  56. '<a href="' . htmlspecialchars($image["url"]) . '" rel="noreferrer nofollow">' .
  57. '<div class="title">' . htmlspecialchars(parse_url($image["url"], PHP_URL_HOST)) . '</div>' .
  58. '<div class="description">' . $frontend->highlighttext($get["s"], $image["title"]) . '</div>' .
  59. '</a>' .
  60. '</div>' .
  61. '</div>';
  62. }
  63. if($results["npt"] !== null){
  64. $payload["nextpage"] =
  65. '<a href="' . $frontend->htmlnextpage($get, $results["npt"], "images") . '" class="nextpage img">Next page &gt;</a>';
  66. }
  67. echo $frontend->load("images.html", $payload);