setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); $pdo->beginTransaction(); $check = $pdo->query( "SELECT COUNT(*) FROM users" ); if ((int)$check->fetchColumn() !== 0) { throw new RuntimeException( 'Kurulum daha once yapilmis.' ); } $insertUser = $pdo->prepare( "INSERT INTO users (username, password_hash, role, is_active) VALUES (?, ?, ?, 1)" ); $insertPermission = $pdo->prepare( "INSERT INTO permissions (user_id, can_edit, can_upload) VALUES (?, 0, 0)" ); foreach ([ ['admin', $adminPass, 'admin'], ['koray', $korayPass, 'user'] ] as [$username, $password, $role]) { $hash = password_hash( $password, PASSWORD_DEFAULT ); $insertUser->execute([ $username, $hash, $role ]); $userId = (int)$pdo->lastInsertId(); $insertPermission->execute([$userId]); } $pdo->commit(); $success = true; } catch (Throwable $exception) { if (isset($pdo) && $pdo instanceof PDO && $pdo->inTransaction()) { $pdo->rollBack(); } error_log( 'KorayWorld installation: ' . $exception->getMessage() ); $error = 'Kurulum tamamlanamadi. ' . 'Sunucu hata kayitlarini kontrol edin.'; } } } ?>
Admin ve Koray hesaplari olusturuldu.
Guvenlik icin install.php dosyasini silin.
= e($error) ?>