feat: complete WebGIS implementation with nominal bantuan and cache busting
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
// ================================================================
|
||||
// Konfigurasi Global Aplikasi
|
||||
// ================================================================
|
||||
|
||||
// Base URL aplikasi
|
||||
define('BASE_URL', 'http://localhost/webjir/poverty_map');
|
||||
define('BASE_PATH', dirname(__DIR__));
|
||||
|
||||
// Koordinat default peta (Pontianak)
|
||||
define('MAP_DEFAULT_LAT', -0.0263);
|
||||
define('MAP_DEFAULT_LNG', 109.3425);
|
||||
define('MAP_DEFAULT_ZOOM', 13);
|
||||
|
||||
// Radius default rumah ibadah (meter)
|
||||
define('RADIUS_DEFAULT', 300);
|
||||
define('RADIUS_MIN', 100);
|
||||
define('RADIUS_MAX', 5000);
|
||||
|
||||
// Upload settings
|
||||
define('UPLOAD_DIR', BASE_PATH . '/assets/uploads/');
|
||||
define('UPLOAD_URL', BASE_URL . '/assets/uploads/');
|
||||
define('UPLOAD_MAX_SIZE', 10 * 1024 * 1024); // 10 MB
|
||||
define('UPLOAD_ALLOWED', ['jpg','jpeg','png','gif','pdf','doc','docx']);
|
||||
|
||||
// App info
|
||||
define('APP_NAME', 'WebGIS Sebaran Penduduk Miskin');
|
||||
define('APP_VERSION', '2.0.0');
|
||||
|
||||
// Session
|
||||
define('SESSION_NAME', 'poverty_map_sess');
|
||||
|
||||
// Emoji shorthand (digunakan di view layer)
|
||||
define('JENIS_EMOJI', [
|
||||
'Masjid' => '🕌',
|
||||
'Musholla' => '🕌',
|
||||
'Gereja' => '⛪',
|
||||
'Katolik' => '⛪',
|
||||
'Pura' => '🛕',
|
||||
'Vihara' => '🛕',
|
||||
'Klenteng' => '⛩️',
|
||||
'Lainnya' => '🙏',
|
||||
]);
|
||||
|
||||
// Jenis rumah ibadah dengan emoji
|
||||
define('JENIS_IBADAH', [
|
||||
'Masjid' => ['emoji' => '🕌', 'color' => '#10b981'],
|
||||
'Musholla' => ['emoji' => '🕌', 'color' => '#34d399'],
|
||||
'Gereja' => ['emoji' => '⛪', 'color' => '#3b82f6'],
|
||||
'Katolik' => ['emoji' => '⛪', 'color' => '#60a5fa'],
|
||||
'Pura' => ['emoji' => '🛕', 'color' => '#f59e0b'],
|
||||
'Vihara' => ['emoji' => '🛕', 'color' => '#fbbf24'],
|
||||
'Klenteng' => ['emoji' => '⛩️', 'color' => '#ef4444'],
|
||||
'Lainnya' => ['emoji' => '🙏', 'color' => '#8b5cf6'],
|
||||
]);
|
||||
|
||||
// Status bantuan
|
||||
define('STATUS_BANTUAN', [
|
||||
'belum' => ['label' => 'Belum Dibantu', 'color' => '#ef4444', 'badge' => 'danger'],
|
||||
'sudah' => ['label' => 'Sudah Dibantu', 'color' => '#22c55e', 'badge' => 'success'],
|
||||
'menunggu' => ['label' => 'Menunggu Verif', 'color' => '#f59e0b', 'badge' => 'warning'],
|
||||
]);
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
// ================================================================
|
||||
// Konfigurasi Database
|
||||
// ================================================================
|
||||
define('DB_HOST', 'localhost');
|
||||
define('DB_USER', 'root');
|
||||
define('DB_PASS', '');
|
||||
define('DB_NAME', 'poverty_map');
|
||||
define('DB_CHARSET','utf8mb4');
|
||||
|
||||
function getDB(): PDO {
|
||||
static $pdo = null;
|
||||
if ($pdo === null) {
|
||||
$dsn = "mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=" . DB_CHARSET;
|
||||
try {
|
||||
$pdo = new PDO($dsn, DB_USER, DB_PASS, [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
]);
|
||||
} catch (PDOException $e) {
|
||||
http_response_code(500);
|
||||
die(json_encode(['success' => false, 'message' => 'Database connection failed: ' . $e->getMessage()]));
|
||||
}
|
||||
}
|
||||
return $pdo;
|
||||
}
|
||||
Reference in New Issue
Block a user