%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
<?php
/**
* Konfigurasi Aplikasi
* PPID Kabupaten Mamuju Tengah
*
* Ubah nilai-nilai di bawah sesuai lingkungan server Anda.
*/
// ── Mode aplikasi: 'development' menampilkan error, 'production' menyembunyikan ──
// TERDETEKSI OTOMATIS agar berkas ini tidak perlu diubah per-server — penting
// karena deploy dilakukan lewat `git pull` (nilai yang diedit manual akan
// tertimpa tiap update, dan pesan error bisa bocor ke publik).
// • localhost / 127.0.0.1 / domain .test → development
// • selain itu (server produksi) → production
// Untuk memaksa nilai tertentu, set variabel lingkungan APP_ENV di server.
$__envForced = getenv('APP_ENV');
if (is_string($__envForced) && in_array($__envForced, ['development', 'production'], true)) {
define('APP_ENV', $__envForced);
} else {
$__host = strtolower((string) ($_SERVER['HTTP_HOST'] ?? ''));
$__hostA = explode(':', $__host)[0];
$__local = $__host === ''
|| $__hostA === 'localhost'
|| $__hostA === '127.0.0.1'
|| $__hostA === '::1'
|| str_ends_with($__hostA, '.test')
|| str_ends_with($__hostA, '.local');
define('APP_ENV', $__local ? 'development' : 'production');
}
// ── Identitas situs ──
define('APP_NAME', 'PPID Kabupaten Mamuju Tengah');
define('APP_NAME_SHORT', 'PPID Mateng');
define('APP_TAGLINE', 'Layanan Informasi Publik Terpadu');
// ── Base URL ──
// Biarkan $BASE_URL_OVERRIDE = null untuk DETEKSI OTOMATIS. Ini cocok untuk:
// • Laragon virtual host → http://ppidmateng.test (BASE_URL = '')
// • Akses subfolder → http://localhost/ppidmateng (BASE_URL = '/ppidmateng')
// Untuk memaksa nilai tertentu, ganti null dengan string, mis. '/ppidmateng'.
$BASE_URL_OVERRIDE = null;
if (is_string($BASE_URL_OVERRIDE)) {
define('BASE_URL', rtrim($BASE_URL_OVERRIDE, '/'));
} else {
$__docRoot = isset($_SERVER['DOCUMENT_ROOT']) ? str_replace('\\', '/', rtrim($_SERVER['DOCUMENT_ROOT'], '/')) : '';
$__rootPath = str_replace('\\', '/', dirname(__DIR__));
if ($__docRoot !== '' && stripos($__rootPath, $__docRoot) === 0) {
// Project berada di bawah document root → ambil sisa path sebagai BASE_URL.
define('BASE_URL', rtrim(substr($__rootPath, strlen($__docRoot)), '/'));
} else {
define('BASE_URL', '');
}
}
// ── Direktori penyimpanan ──
define('ROOT_PATH', dirname(__DIR__));
define('UPLOAD_PATH', ROOT_PATH . '/uploads');
define('UPLOAD_URL', BASE_URL . '/uploads');
// ── Pengaturan upload ──
define('MAX_UPLOAD_SIZE', 10 * 1024 * 1024); // 10 MB
$ALLOWED_UPLOAD_EXT = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'jpg', 'jpeg', 'png', 'zip'];
// ── Kontak resmi (ditampilkan di footer & halaman kontak) ──
define('PPID_ALAMAT', 'Jl. Dg. Maccirinnae, Poros Tobadak, Kecamatan Tobadak, Kabupaten Mamuju Tengah');
define('PPID_EMAIL', 'ppid@mamujutengahkab.go.id');
define('PPID_TELP', '(0426) - Layanan Informasi');
// ── Peta lokasi kantor (Google Maps embed) ──
// Ganti query/URL di bawah dengan titik lokasi kantor yang presisi bila perlu.
// Cara mudah: buka Google Maps → Bagikan → Sematkan peta → salin nilai src iframe ke sini.
define('PPID_MAPS_EMBED', 'https://maps.google.com/maps?q=Kantor%20Bupati%20Mamuju%20Tengah%2C%20Tobadak&z=12&output=embed');
define('PPID_MAPS_LINK', 'https://www.google.com/maps/search/?api=1&query=Kantor+Bupati+Mamuju+Tengah+Tobadak');
// ── Tautan media sosial (kosongkan dengan '' untuk menyembunyikan ikon) ──
define('SOCIAL_FACEBOOK', 'https://www.facebook.com/');
define('SOCIAL_INSTAGRAM', 'https://www.instagram.com/');
define('SOCIAL_YOUTUBE', 'https://www.youtube.com/');
define('SOCIAL_TIKTOK', 'https://www.tiktok.com/');
// ── Zona waktu ──
date_default_timezone_set('Asia/Makassar');
// ── Penanganan error sesuai mode ──
if (APP_ENV === 'development') {
error_reporting(E_ALL);
ini_set('display_errors', '1');
} else {
error_reporting(0);
ini_set('display_errors', '0');
}
// Muat koneksi database & helper bersama.
// database.php sengaja tidak dilacak git (kredensial beda tiap server), jadi
// pada instalasi/clone baru berkas ini belum ada — beri pesan yang jelas.
if (!is_file(__DIR__ . '/database.php')) {
http_response_code(500);
die(
'Konfigurasi database belum dibuat.<br>'
. 'Salin <code>config/database.example.php</code> menjadi <code>config/database.php</code>, '
. 'lalu isi kredensial server.'
);
}
require_once __DIR__ . '/database.php';
require_once ROOT_PATH . '/includes/session.php';
require_once ROOT_PATH . '/includes/functions.php';
require_once ROOT_PATH . '/includes/csrf.php';
require_once ROOT_PATH . '/includes/i18n.php';
// Tangkap & simpan pilihan bahasa (?lang=id|en).
i18n_init();