Poista palvelimelta käytön jälkeen! Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
81 lines
2.9 KiB
PHP
81 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* Korjaa cuitunet.fi saatavuushaun API-avain ja CORS-originit.
|
|
* POISTA TÄMÄ TIEDOSTO KÄYTÖN JÄLKEEN!
|
|
* Käyttö: https://intra.noxus.fi/fix_saatavuus.php
|
|
*/
|
|
require_once __DIR__ . '/db.php';
|
|
|
|
header('Content-Type: text/plain; charset=utf-8');
|
|
|
|
$db = getDb();
|
|
$targetApiKey = '560160bf6558260e1734e6ad5933cabe';
|
|
$requiredOrigins = ['https://cuitunet.fi', 'https://www.cuitunet.fi'];
|
|
|
|
// Näytä nykyiset yritykset ja niiden API-avaimet
|
|
echo "=== YRITYKSET JA API-AVAIMET ===\n\n";
|
|
$result = $db->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";
|