render.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. $slug = $content;
  3. echo "TSU: " . $content;
  4. if (!$slug) {
  5. // Pobierz wartość niestandardowego pola 'slug_zrzutka' dla aktualnego postu
  6. $slug_zrzutka_value = get_post_meta(get_the_ID(), '_slug_zrzutka', true);
  7. // Wyświetl wartość (jeśli istnieje)
  8. if (!empty($slug_zrzutka_value)) {
  9. $slug = $slug_zrzutka_value;
  10. }
  11. }
  12. $url = "https://zrzutka.pl/" . $slug;
  13. // Używamy cURL do pobrania zawartości strony
  14. $ch = curl_init();
  15. curl_setopt($ch, CURLOPT_URL, $url);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  18. curl_setopt($ch, CURLOPT_VERBOSE, true);
  19. // curl_setopt($ch, CURLOPT_STDERR, $wrapper);
  20. $html = curl_exec($ch);
  21. curl_close($ch);
  22. // Sprawdzamy, czy udało się pobrać zawartość
  23. if (!$html) {
  24. return "Nie udało się pobrać zawartości ze strony.";
  25. }
  26. // Tworzymy nowy obiekt DOMDocument i wczytujemy pobraną zawartość
  27. $dom = new DOMDocument;
  28. @$dom->loadHTML($html); // @ jest używane, aby stłumić ostrzeżenia generowane przez niepoprawny HTML
  29. // Tworzymy obiekt DOMXPath do wyszukiwania elementów
  30. $xpath = new DOMXPath($dom);
  31. // Szukamy elementu z klasą 'h3' w obrębie diva o atrybucie 'data-action' równym 'chip-show-amounts'
  32. $amountNode = $xpath->query('//div[@data-action="chip-show-amounts"]//div[@class="h3 m-0"]')->item(0);
  33. // Szukamy elementu z sumą ceny
  34. $sumNode = $xpath->query('//div[@data-action="chip-show-amounts"]//span[@data-action="chip-target-sum"]')->item(0);
  35. // Wyświetlamy znalezione wartości
  36. if ($amountNode && $sumNode) {
  37. $amount = strip_tags(trim($amountNode->textContent));
  38. $sum = strip_tags(trim($sumNode->textContent));
  39. // Parsowanie kwot jako liczby całkowite
  40. $amountNumber = intval(str_replace(' ', '', $amount));
  41. $sumNumber = intval(str_replace(' ', '', $sum));
  42. // Obliczamy procentowy udział
  43. $percent = ($amountNumber / $sumNumber) * 100;
  44. // Tworzymy pasek postępu
  45. $progressBar = "<div style='width: 100%; margin-top: 0.25em; background-color: #e0e0e0; border-radius: 20px; height: 20px; overflow: hidden;'>
  46. <div style='width: $percent%; background-color: #e64164; text-align: center; color: white; border-radius: 10px; padding: 5px; height: 50%;'></div>
  47. </div>
  48. <p class='has-small-font-size'>Mamy już <strong>$amountNumber zł</strong> z <strong>$sumNumber zł</strong>!</p>
  49. ";
  50. return $progressBar;
  51. } else {
  52. return "";
  53. }
  54. ?>