chore: prepare docker webgis deployment

This commit is contained in:
Andrie
2026-06-11 18:14:21 +07:00
parent d2214ad9c8
commit a90748d9c1
149 changed files with 20844 additions and 5 deletions
+66
View File
@@ -0,0 +1,66 @@
<?php
require_once '../../config.php';
require_once '../../auth/helper.php';
require_once '../../koneksi.php';
require_auth('administrator');
$ibadah_id = (int)($_GET['ibadah_id'] ?? 0);
if (!$ibadah_id) {
http_response_code(400);
die('ibadah_id diperlukan');
}
$r = $conn->prepare("SELECT nama FROM rumah_ibadah WHERE id=? AND deleted_at IS NULL");
$r->bind_param('i', $ibadah_id);
$r->execute();
$row = $r->get_result()->fetch_assoc();
$r->close();
if (!$row) {
http_response_code(404);
die('Rumah ibadah tidak ditemukan');
}
$nama_ibadah = preg_replace('/[^a-zA-Z0-9\-_]/', '_', $row['nama']);
$tanggal = date('Y-m-d');
$filename = "binaan_{$nama_ibadah}_{$tanggal}.csv";
header('Content-Type: text/csv; charset=utf-8');
header("Content-Disposition: attachment; filename=\"$filename\"");
$out = fopen('php://output', 'w');
fwrite($out, "\xEF\xBB\xBF");
function csv_safe_cell($value): string {
$text = (string)($value ?? '');
$trimmed = ltrim($text);
if ($trimmed !== '' && in_array($trimmed[0], ['=', '+', '-', '@'], true)) {
return "'" . $text;
}
return $text;
}
fputcsv($out, ['nama_kk', 'jumlah_jiwa', 'kategori', 'alamat', 'status_bantuan', 'catatan']);
$stmt = $conn->prepare("
SELECT nama_kk, jumlah_jiwa, kategori, alamat, status_bantuan, catatan
FROM penduduk_miskin
WHERE ibadah_id=? AND is_active=1 AND deleted_at IS NULL
ORDER BY nama_kk
");
$stmt->bind_param('i', $ibadah_id);
$stmt->execute();
$res = $stmt->get_result();
while ($w = $res->fetch_assoc()) {
fputcsv($out, [
csv_safe_cell($w['nama_kk']),
csv_safe_cell($w['jumlah_jiwa']),
csv_safe_cell($w['kategori']),
csv_safe_cell($w['alamat'] ?? ''),
csv_safe_cell($w['status_bantuan']),
csv_safe_cell($w['catatan'] ?? ''),
]);
}
$stmt->close();
fclose($out);
$conn->close();