diff --git a/fix_saatavuus.php b/fix_saatavuus.php new file mode 100644 index 0000000..7661e70 --- /dev/null +++ b/fix_saatavuus.php @@ -0,0 +1,80 @@ +query("SELECT id, nimi, api_key, cors_origins FROM companies ORDER BY nimi"); +$companies = []; +while ($row = $result->fetch_assoc()) { + $companies[] = $row; + $key = $row['api_key'] ?: '(tyhjä)'; + echo sprintf("%-20s %-40s avain: %s\n", $row['id'], $row['nimi'], $key); + echo sprintf("%-20s %-40s CORS: %s\n", '', '', $row['cors_origins'] ?: '(tyhjä)'); +} + +// Etsi yritys jossa on "cuitu" nimessä +$cuituCompany = null; +foreach ($companies as $c) { + if (stripos($c['nimi'], 'cuitu') !== false) { + $cuituCompany = $c; + break; + } +} + +if (!$cuituCompany) { + // Jos ei löydy nimellä, yritä ensimmäinen yritys + echo "\n⚠️ Ei löytynyt yritystä jossa 'cuitu' nimessä.\n"; + echo "Yritykset:\n"; + foreach ($companies as $i => $c) { + echo " [$i] {$c['id']} = {$c['nimi']}\n"; + } + echo "\nAsetetaan API-avain ENSIMMÄISELLE yritykselle...\n"; + $cuituCompany = $companies[0] ?? null; +} + +if (!$cuituCompany) { + echo "\n❌ Ei yrityksiä tietokannassa!\n"; + exit; +} + +echo "\n=== KORJATAAN: {$cuituCompany['nimi']} (ID: {$cuituCompany['id']}) ===\n\n"; + +// 1. Aseta API-avain +echo "1. API-avain: {$targetApiKey}\n"; +$db->query("UPDATE companies SET api_key = '{$targetApiKey}' WHERE id = '{$cuituCompany['id']}'"); +echo " → Päivitetty (" . $db->affected_rows . " rivi)\n"; + +// 2. Päivitä CORS-originit +$existingOrigins = json_decode($cuituCompany['cors_origins'] ?: '[]', true) ?: []; +$merged = array_unique(array_merge($existingOrigins, $requiredOrigins)); +$corsJson = json_encode(array_values($merged)); +echo "2. CORS-originit: {$corsJson}\n"; +$stmt = $db->prepare("UPDATE companies SET cors_origins = ? WHERE id = ?"); +$stmt->bind_param('ss', $corsJson, $cuituCompany['id']); +$stmt->execute(); +echo " → Päivitetty (" . $stmt->affected_rows . " rivi)\n"; + +// 3. Testaa +echo "\n=== TARKISTUS ===\n\n"; +$result = $db->query("SELECT id, nimi, api_key, cors_origins FROM companies WHERE id = '{$cuituCompany['id']}'"); +$row = $result->fetch_assoc(); +echo "Yritys: {$row['nimi']}\n"; +echo "API-key: {$row['api_key']}\n"; +echo "CORS: {$row['cors_origins']}\n"; + +$match = ($row['api_key'] === $targetApiKey) ? '✅' : '❌'; +echo "\nAPI-avain täsmää: {$match}\n"; + +echo "\n⚠️ POISTA fix_saatavuus.php palvelimelta!\n"; +echo "Testaa: curl 'https://intra.noxus.fi/api.php?action=saatavuus&key={$targetApiKey}&osoite=Testikatu+1&postinumero=20100&kaupunki=Turku'\n";