temp: filesystem permission check for logo upload

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 17:04:45 +02:00
parent 3cfd80ad27
commit c3f2c3dbfa

View File

@@ -1,38 +1,29 @@
<?php <?php
// Simuloi logo upload suoraan palvelimella
ini_set('display_errors', '1'); ini_set('display_errors', '1');
error_reporting(E_ALL); error_reporting(E_ALL);
header('Content-Type: text/plain');
require_once __DIR__ . '/db.php'; require_once __DIR__ . '/db.php';
echo "<h3>Test: dbLoadCompanies + dbSaveCompany</h3>"; // Testaa kirjoitusoikeus
$compDir = __DIR__ . '/data/companies/web1';
echo "Kansio $compDir:\n";
echo " exists: " . (file_exists($compDir) ? 'kyllä' : 'ei') . "\n";
try { if (!file_exists($compDir)) {
$companies = dbLoadCompanies(); $ok = @mkdir($compDir, 0755, true);
echo "Yrityksiä: " . count($companies) . "\n\n"; echo " mkdir: " . ($ok ? 'OK' : 'EPÄONNISTUI: ' . error_get_last()['message'] ?? 'tuntematon') . "\n";
foreach ($companies as $comp) {
echo "ID: {$comp['id']}, nimi: {$comp['nimi']}, logo: " . ($comp['logo_file'] ?? '(tyhjä)') . "\n";
echo " domains: " . json_encode($comp['domains']) . "\n";
echo " cors_origins: " . var_export($comp['cors_origins'] ?? null, true) . "\n";
echo " aktiivinen: " . var_export($comp['aktiivinen'], true) . "\n\n";
} }
// Testaa save web1:lle (logo_file = test) echo " writable: " . (is_writable($compDir) ? 'kyllä' : 'EI') . "\n";
echo "--- Testataan save web1 (logo_file = 'test.png') ---\n";
foreach ($companies as $comp) {
if ($comp['id'] === 'web1') {
$comp['logo_file'] = 'test.png';
dbSaveCompany($comp);
echo "✅ dbSaveCompany OK\n";
// Palauta takaisin // Testaa data/ kansion oikeudet
$comp['logo_file'] = ''; echo "\ndata/ kansio:\n";
dbSaveCompany($comp); echo " exists: " . (file_exists(__DIR__ . '/data') ? 'kyllä' : 'ei') . "\n";
echo "✅ Palautus OK\n"; echo " writable: " . (is_writable(__DIR__ . '/data') ? 'kyllä' : 'EI') . "\n";
break;
} $dataCompanies = __DIR__ . '/data/companies';
} echo "\ndata/companies/ kansio:\n";
} catch (Throwable $e) { echo " exists: " . (file_exists($dataCompanies) ? 'kyllä' : 'ei') . "\n";
echo "❌ VIRHE: " . $e->getMessage() . "\n"; echo " writable: " . (is_writable($dataCompanies) ? 'kyllä' : 'EI') . "\n";
echo "File: " . $e->getFile() . ":" . $e->getLine() . "\n";
echo "Trace:\n" . $e->getTraceAsString() . "\n";
}