render.php 2.5 KB

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