news.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /*
  3. Initialize random shit
  4. */
  5. include "lib/frontend.php";
  6. $frontend = new frontend();
  7. [$scraper, $filters] = $frontend->getscraperfilters("news");
  8. $get = $frontend->parsegetfilters($_GET, $filters);
  9. $frontend->loadheader(
  10. $get,
  11. $filters,
  12. "news"
  13. );
  14. $payload = [
  15. "class" => "",
  16. "right-left" => "",
  17. "right-right" => "",
  18. "left" => ""
  19. ];
  20. try{
  21. $results = $scraper->news($get);
  22. }catch(Exception $error){
  23. echo
  24. $frontend->drawerror(
  25. "Shit",
  26. 'This scraper returned an error:' .
  27. '<div class="code">' . htmlspecialchars($error->getMessage()) . '</div>' .
  28. 'Things you can try:' .
  29. '<ul>' .
  30. '<li>Use a different scraper</li>' .
  31. '<li>Remove keywords that could cause errors</li>' .
  32. '<li>Use another 4get instance</li>' .
  33. '</ul><br>' .
  34. 'If the error persists, please <a href="/about">contact the administrator</a>.'
  35. );
  36. die();
  37. }
  38. /*
  39. Populate links
  40. */
  41. if(count($results["news"]) === 0){
  42. $payload["left"] =
  43. '<div class="infobox">' .
  44. "<h1>Nobody here but us chickens!</h1>" .
  45. 'Have you tried:' .
  46. '<ul>' .
  47. '<li>Using a different scraper</li>' .
  48. '<li>Using fewer keywords</li>' .
  49. '<li>Defining broader filters (Is NSFW turned off?)</li>' .
  50. '</ul>' .
  51. '</div>';
  52. }
  53. foreach($results["news"] as $news){
  54. $greentext = [];
  55. if($news["date"] !== null){
  56. $greentext[] = date("jS M y @ g:ia", $news["date"]);
  57. }
  58. if($news["author"] !== null){
  59. $greentext[] = htmlspecialchars($news["author"]);
  60. }
  61. if(count($greentext) !== 0){
  62. $greentext = implode(" • ", $greentext);
  63. }else{
  64. $greentext = null;
  65. }
  66. $n = null;
  67. $payload["left"] .= $frontend->drawtextresult($news, $greentext, $n, $get["s"]);
  68. }
  69. if($results["npt"] !== null){
  70. $payload["left"] .=
  71. '<a href="' . $frontend->htmlnextpage($get, $results["npt"], "news") . '" class="nextpage">Next page &gt;</a>';
  72. }
  73. echo $frontend->load("search.html", $payload);