Add XML feed processing scripts for laitica.pl and wyprzedaze.pl

- Implemented XML fetching and processing for laitica.pl, replacing domain links and saving the modified XML to laitica_feed.xml.
- Created a similar script for wyprzedaze.pl, with domain link replacements and saving to wyprzedaze_feed.xml.
- Both scripts handle errors for XML fetching and parsing, ensuring robust operation.
This commit is contained in:
2025-11-18 22:52:05 +01:00
parent 7f71fec4cb
commit 2a0369ad2c
25 changed files with 194 additions and 71 deletions

59
laitica.pl/index.php Normal file
View File

@@ -0,0 +1,59 @@
<?php
// Adres źródłowego pliku XML
$sourceUrl = 'https://xml-feed.app.softitdigital.com/655bc1.myshopify.com/feeds/view/cmi50kyg80827zycu278tbo2b.xml';
// Dokąd zapisujemy plik na serwerze (relatywnie do tego skryptu)
$outputFile = __DIR__ . '/laitica_feed.xml';
// Domena do podmiany
$oldDomain = 'https://655bc1.myshopify.com';
$newDomain = 'https://laitica.pl';
// --- 1. Pobranie XML ---
$xmlString = @file_get_contents($sourceUrl);
if ($xmlString === false) {
die('Nie udało się pobrać pliku XML ze źródła.');
}
// --- 2. Wczytanie XML z przestrzeniami nazw ---
$xml = @simplexml_load_string($xmlString);
if ($xml === false) {
die('Nie udało się zinterpretować pliku XML.');
}
// Pobranie listy namespaceów (m.in. "g")
$namespaces = $xml->getNamespaces(true);
// Upewniamy się, że mamy namespace "g"
if (!isset($namespaces['g'])) {
die('W pliku XML nie znaleziono przestrzeni nazw "g".');
}
// --- 3. Podmiana domeny w każdym <g:link> ---
foreach ($xml->channel->item as $item) {
// Dzieci w przestrzeni nazw g
$gChildren = $item->children($namespaces['g']);
if (isset($gChildren->link)) {
$currentLink = (string) $gChildren->link;
// Podmiana samej domeny na nową
$newLink = str_replace($oldDomain, $newDomain, $currentLink);
$gChildren->link = $newLink;
}
}
// --- 4. Zapis zmodyfikowanego XML na serwerze ---
if ($xml->asXML($outputFile) === false) {
die('Nie udało się zapisać zmodyfikowanego pliku XML na serwerze.');
}
// --- 5. Zbudowanie URL do zapisanego pliku i wyświetlenie go ---
$scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
$path = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$fileUrl = $scheme . '://' . $host . $path . '/laitica_feed.xml';
echo 'Nowy plik XML został zapisany tutaj: <a href="' . htmlspecialchars($fileUrl, ENT_QUOTES, 'UTF-8') . '">' . htmlspecialchars($fileUrl, ENT_QUOTES, 'UTF-8') . '</a>';