Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/admin/generate_heart.php
<?php

// Parametry wysyłane do Flask
$name    = "Ula";
$date    = "12.05.2025r.";
$pattern = "wzor1"; // wzor1 / wzor2
$login   = "MojLogin";
$amount  = 3;
$qrlink  = "https://mail.google.com/mail/u/0/#search/".$login;

// Adres twojego serwera Flask
$flaskUrl = "http://91.231.182.79:8080/generate"; 

// Przygotuj dane do wysłania
$postData = array(
    "name"    => $name,
    "date"    => $date,
    "pattern" => $pattern,
    "login"   => $login,
    "amount"  => $amount,
    "qrlink"  => $qrlink
);

// 1) Wyślij zapytanie POST do Flask, pobierz odpowiedź
$ch = curl_init($flaskUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpcode !== 200) {
    die("Błąd po stronie Flask, kod HTTP: $httpcode\nOdpowiedź: $response");
}

// 2) Parsuj JSON
$data = json_decode($response, true);
if (!$data || !isset($data['success'])) {
    die("Błąd podczas dekodowania JSON lub brak pola 'success'. Otrzymano: $response");
}

if (!$data['success']) {
    die("Generowanie nie powiodło się: " . $data['message']);
}

// 3) Mamy zip_url w odpowiedzi
$zipUrl = $data['zip_url'];
echo "URL do ZIP: $zipUrl\n";

// 4) Pobierz ZIP z Flask
//    Zakładamy, że zipUrl jest np. "/download/someFolder/hearts_someFolder.zip"
$downloadUrl = "http://91.231.182.79:8080" . $zipUrl; // uzupełniamy host + port

// Gdzie zapisać plik ZIP lokalnie
$localZipPath = __DIR__ . "/pobrane_hearts.zip";

// Otwieramy strumień do zapisu pliku
$fp = fopen($localZipPath, 'w+');
$ch2 = curl_init($downloadUrl);
curl_setopt($ch2, CURLOPT_FILE, $fp);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);

curl_exec($ch2);
curl_close($ch2);
fclose($fp);

echo "Pobrano ZIP do pliku: $localZipPath\n";

// 5) Opcjonalnie rozpakowanie ZIP lokalnie
$zip = new ZipArchive;
if ($zip->open($localZipPath) === TRUE) {
    $extractDir = __DIR__ . "/skladki/upload/73x66";
    if (!is_dir($extractDir)) {
        mkdir($extractDir, 0777, true);
    }
    $zip->extractTo($extractDir);
    $zip->close();
    echo "Rozpakowano ZIP do folderu: $extractDir\n";
} else {
    echo "Nie udało się otworzyć ZIP.\n";
}
//
?>