78 lines
2.8 KiB
PHP
78 lines
2.8 KiB
PHP
<?php
|
|
header("Content-Type: application/json; charset=UTF-8");
|
|
require_once '../auth_helper.php';
|
|
requireAdminOrPengelola();
|
|
include_once '../db_connect.php';
|
|
|
|
$nama = '';
|
|
$kategori = 'Makan';
|
|
$jumlah_jiwa = 1;
|
|
$lat = 0.0;
|
|
$lng = 0.0;
|
|
|
|
if (!empty($_POST)) {
|
|
$nama = $conn->real_escape_string($_POST['nama'] ?? '');
|
|
$kategori = $conn->real_escape_string($_POST['kategori_bantuan'] ?? 'Makan');
|
|
$jumlah_jiwa = (int)($_POST['jumlah_jiwa'] ?? 1);
|
|
$lat = (float)($_POST['lat'] ?? 0);
|
|
$lng = (float)($_POST['lng'] ?? 0);
|
|
} else {
|
|
$data = json_decode(file_get_contents("php://input"));
|
|
if ($data) {
|
|
$nama = $conn->real_escape_string($data->nama ?? '');
|
|
$kategori = $conn->real_escape_string($data->kategori_bantuan ?? 'Makan');
|
|
$jumlah_jiwa = (int)($data->jumlah_jiwa ?? 1);
|
|
$lat = (float)($data->lat ?? 0);
|
|
$lng = (float)($data->lng ?? 0);
|
|
}
|
|
}
|
|
|
|
if ($lat != 0 && $lng != 0) {
|
|
$upload_dir = "../../uploads/";
|
|
if (!file_exists($upload_dir)) {
|
|
mkdir($upload_dir, 0777, true);
|
|
}
|
|
|
|
$foto_rumah = null;
|
|
$foto_kk = null;
|
|
|
|
function uploadFile($fileKey, $upload_dir) {
|
|
if (isset($_FILES[$fileKey]) && $_FILES[$fileKey]['error'] === UPLOAD_ERR_OK) {
|
|
$fileTmpPath = $_FILES[$fileKey]['tmp_name'];
|
|
$fileName = $_FILES[$fileKey]['name'];
|
|
|
|
$fileNameCmps = explode(".", $fileName);
|
|
$fileExtension = strtolower(end($fileNameCmps));
|
|
|
|
$allowedfileExtensions = array('jpg', 'jpeg', 'png', 'gif');
|
|
if (in_array($fileExtension, $allowedfileExtensions)) {
|
|
$newFileName = uniqid() . '_' . preg_replace('/[^a-zA-Z0-9\._-]/', '_', $fileName);
|
|
$dest_path = $upload_dir . $newFileName;
|
|
|
|
if (move_uploaded_file($fileTmpPath, $dest_path)) {
|
|
return $newFileName;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
$foto_rumah = uploadFile('foto_rumah', $upload_dir);
|
|
$foto_kk = uploadFile('foto_kk', $upload_dir);
|
|
|
|
$val_foto_rumah = $foto_rumah ? "'$foto_rumah'" : "NULL";
|
|
$val_foto_kk = $foto_kk ? "'$foto_kk'" : "NULL";
|
|
|
|
$query = "INSERT INTO penduduk_miskin (nama, kategori_bantuan, jumlah_jiwa, lat, lng, foto_rumah, foto_kk)
|
|
VALUES ('$nama', '$kategori', $jumlah_jiwa, $lat, $lng, $val_foto_rumah, $val_foto_kk)";
|
|
|
|
if ($conn->query($query)) {
|
|
echo json_encode(["status" => "success", "id" => $conn->insert_id, "message" => "Berhasil ditambahkan."]);
|
|
} else {
|
|
echo json_encode(["status" => "error", "message" => "Gagal: " . $conn->error]);
|
|
}
|
|
} else {
|
|
echo json_encode(["status" => "error", "message" => "Data tidak lengkap."]);
|
|
}
|
|
?>
|