34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* config.php
|
|
* FKI Asset System Configuration
|
|
*/
|
|
|
|
// Zero-Mojibake Protocol
|
|
header('Content-Type: text/html; charset=utf-8');
|
|
|
|
$db_path = __DIR__ . '/dda/assets.db';
|
|
|
|
try {
|
|
$db = new PDO("sqlite:$db_path");
|
|
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
|
|
|
// SQLITE 특화 설정: WAL 모드 활성화 및 외래 키 ON
|
|
$db->exec("PRAGMA journal_mode=WAL;");
|
|
$db->exec("PRAGMA foreign_keys=ON;");
|
|
$db->exec("PRAGMA busy_timeout=5000;"); // SQLite 동시성 최적화
|
|
|
|
// [중요] 시스템 설정 테이블 자동 생성 및 기본값 보정
|
|
$db->exec("CREATE TABLE IF NOT EXISTS system_settings (
|
|
key_name TEXT PRIMARY KEY,
|
|
value TEXT
|
|
)");
|
|
|
|
// 초기 기본값 삽입 (이미 존재하면 무시)
|
|
$db->exec("INSERT OR IGNORE INTO system_settings (key_name, value) VALUES ('menu_cards_visible', '1')");
|
|
$db->exec("INSERT OR IGNORE INTO system_settings (key_name, value) VALUES ('menu_mfp_visible', '1')");
|
|
|
|
} catch (PDOException $e) {
|
|
die("Database Connection Failed: " . $e->getMessage());
|
|
}
|