function cek_tanggungan_akademik_shortcode() {
// 1. PASTE LINK URL CSV GOOGLE SPREADSHEET ANDA DI SINI
$spreadsheet_url = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRy16foUiBqirOqH9cEyQthYke_wHGSkdJZBzpGTRyhRu9cVb2go1q8MSwXibFnekrnyTb7ThXQ6VTF/pub?output=csv';
ob_start();
?>
<div class="cek-tanggungan-container" style="max-width: 600px; margin: 20px auto; padding: 20px; border: 1px solid #ddd; border-radius: 8px; background: #f9f9f9; font-family: Arial, sans-serif;">
<h3 style="text-align: center; margin-bottom: 20px;">Cek Tanggungan Akademik Siswa</h3>
<form method="POST" action="">
<div style="margin-bottom: 15px;">
<label for="nisn" style="display: block; margin-bottom: 5px; font-weight: bold;">Masukkan NISN Anda:</label>
<input type="text" id="nisn" name="nisn" required placeholder="Contoh: 0012345678" style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box;">
</div>
<button type="submit" name="submit_cek" style="width: 100%; padding: 10px; background-color: #0073aa; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;">Cari Data</button>
</form>
<?php
if (isset($_POST['submit_cek'])) {
$input_nisn = sanitize_text_field($_POST['nisn']);
// Mengambil data dari Google Spreadsheet CSV
$response = wp_remote_get($spreadsheet_url);
if (is_wp_error($response)) {
echo '<p style="color: red; margin-top: 15px;">Gagal mengambil data dari server. Silakan coba lagi nanti.</p>';
return ob_get_clean();
}
$data_body = wp_remote_retrieve_body($response);
$rows = explode("\n", $data_body);
$header = str_getcsv(array_shift($rows)); // Ambil baris pertama sebagai header
$student_data = null;
// Pencarian berdasarkan NISN
foreach ($rows as $row) {
$current_row = str_getcsv($row);
if (empty($current_row[0])) continue; // Skip jika baris kosong
// Asumsi NISN berada di kolom pertama (index 0)
if (trim($current_row[0]) === trim($input_nisn)) {
$student_data = array_combine($header, $current_row);
break;
}
}
// Menampilkan Hasil Pencarian
if ($student_data) {
echo '<div style="margin-top: 25px; border-top: 2px solid #0073aa; padding-top: 15px;">';
echo '<h4 style="color: #0073aa; margin-bottom: 15px;">Hasil Pencarian untuk NISN: <strong>' . esc_html($student_data['NISN']) . '</strong></h4>';
echo '<table style="width: 100%; border-collapse: collapse; margin-top: 10px;">';
foreach ($student_data as $key => $value) {
// Berikan warna berbeda untuk nama siswa agar terlihat jelas
$bg_color = ($key === 'Nama') ? '#e7f3ff' : '#ffffff';
echo '<tr style="background-color: ' . $bg_color . ';">';
echo '<td style="padding: 8px; border-bottom: 1px solid #eee; font-weight: bold; width: 50%;">' . esc_html($key) . '</td>';
echo '<td style="padding: 8px; border-bottom: 1px solid #eee;">: ' . esc_html($value) . '</td>';
echo '</tr>';
}
echo '</table>';
echo '</div>';
} else {
echo '<div style="margin-top: 20px; padding: 10px; background-color: #ffebe8; border: 1px solid #cc0000; color: #cc0000; border-radius: 4px; text-align: center;">';
echo 'Data NISN <strong>' . esc_html($input_nisn) . '</strong> tidak ditemukan. Periksa kembali nomor yang Anda masukkan.';
echo '</div>';
}
}
?>
</div>
<?php
return ob_get_clean();
}
add_shortcode('cek_tanggungan', 'cek_tanggungan_akademik_shortcode');