Gaes mo tanya ada yg pernah bikin plugin absensi berdasarkan ruang ga ya gaes..❓??
jadi harus ada tempat buat nampung data ruang. Berarti edit database. tambahin kolom ruang di tabel visitor.
15/01/2019, 15:21 – ido slims: nanti URL aksesnya misal begini:
http://localhost/slims/?p=visitor&ruang=ruang_baca
edit visitor.inc.php
ambil data ruang dengan $_GET[‘ruang’]
terus simpen deh ke database ?
mumpung lagi senggang, yg mau silahken ikuti tutorial berikut ? :
1. Tambah kolom, jalanin di phpmyadmin.
Caranya menujulah ke database. Lalu Pilih Database slims yang digunakan, lalu pilih tabel visitor (paling bawah).
Lalu klik pada menu SQL, dan ketik perintah ini di kolom
ALTER TABLE `visitor_count`
ADD `room` varchar(255) COLLATE ‘utf8mb4_unicode_ci’ NULL;
lalu klik Go.

Jika Sukses maka akan muncul tampilan seperti ini :

Lalu kita cek apakah sudah masuk kedalam stuktur tabel, klik pada menu structure

2. Sip, langkah selanjutnya. karena post request visitor ini pake ajax, jadi set URLnya di javascriptnya.
bukafile visitor.inc.php yang ada di folder slims kamu/lib/contents/visitor.inc.php
edit baris 194 yang semula :
var formAction = theForm.attr(‘action’);
Menjadi :
var room = “<?php echo isset($_GET[‘room’]) ? $_GET[‘room’] : ”; ?>”
var formAction = theForm.attr(‘action’) + ‘&room=’ + room;
dengan begini maka jika URL visitor kita ganti menjadi begini
http://localhost/slims/?p=visitor&room=ruang_baca
maka data *ruang_baca* sudah terkirim, tinggal di tangkap dan disimpan.
3. Menambahkan kode, untuk mengambil data *room*
bukafile visitor.inc.php yang ada di folder slims kamu/lib/contents/visitor.inc.php,
letakan kode ini dibawah baris 100 :
$room = isset($_GET[‘room’]) ? $dbs->escape_string($_GET[‘room’]) : null;
Keterangan:
$room : nama variable buat nyimpen data sementara waktu.
isset($_GET[‘room’]) : ngecek apa data room tersedia, biar tidak error. kalo tidak ada diisi *null*
setelah data room didapat, tinggal edit kode yg menyimpan data ke database.
4. Menambahkan query insert
bukafile visitor.inc.php yang ada di folder slims kamu/lib/contents/visitor.inc.php, lihat pada baris 117, yang semula seperti ini :
$_checkin_sql = “INSERT INTO visitor_count (member_id, member_name, institution, checkin_date) VALUES (‘$member_id’, ‘$member_name’, ‘$_institution’, ‘$_checkin_date’)”;
Ubahlah menjadi seperti ini :
$_checkin_sql = “INSERT INTO visitor_count (member_id, member_name, institution, checkin_date, room) VALUES (‘$member_id’, ‘$member_name’, ‘$_institution’, ‘$_checkin_date’, ‘$room’)”;
5. Menambahkan value room,
bukafile visitor.inc.php yang ada di folder slims kamu/lib/contents/visitor.inc.php, lihat pada baris 139, yang semula seperti ini :
$_checkin_sql = “INSERT INTO visitor_count (member_name, institution, checkin_date) VALUES (‘$member_name’, ‘$_institution’, ‘$_checkin_date’)”;
menjadi seperti ini
$_checkin_sql = “INSERT INTO visitor_count (member_name, institution, checkin_date, room) VALUES (‘$member_name’, ‘$_institution’, ‘$_checkin_date’, ‘$room’)”;
6. Saat test
Kalo sudah tinggal ditest.
*ruang baca*
http://localhost/slims/?p=visitor&room=ruang_baca
*ruang koleksi*
http://localhost/slims/?p=visitor&room=ruang_koleksi
*ruang tamu*
http://localhost/slims/?p=visitor&room=ruang_tamu
atau
*dapur*
http://localhost/slims/?p=visitor&room=dapur
Hasil


jadi tidak perlu banyak file, tinggal disesuaikan saja roomnya.
kalo takut disalahgunakan, tinggal di filter aja variable *$room* nya
Sekarang Kita Akan Menampilkan di Pelaporan, yaitu di halaman admin.
Loginlah sebagai admin, lalu klik menu pelaporan. Lalu pilih Daftar Pengujung.
Maka akan tampil (kurang lebih) seperti ini :

Kita akan menambahkan informasi nama ruang diseblah kolom institusi.
Ikuti Langkah berikut :
- Buka lah file visitor_list.php yang ada di folder slimskamu/admin/modules/reporting/customs
Tambahkan kode ini dibawah baris 98 :</div>
- menambahkan table room,
tambahkan kode ini dibawah baris 146.‘vc.room AS \”.__(‘Room’).’\”,
- Menambhhakn kode untuk perintah filtering pada pencarian
Tambahkan kode ini dibawah baris 168:if (isset($_GET[‘room’]) AND !empty($_GET[‘room’])) {
$room = $dbs->escape_string(trim($_GET[‘room’]));
$criteria .= ‘ AND vc.room LIKE \’%’.$room.’%\”;
} - Tambahkan kode ini dibawah baris 193′, vc.room AS \”.__(‘Room’).’\”.
- Selesai.
Hasil :

Semoga bermanfaat ya.
Tutorial ini dibantu oleh mas Ido, terimakasih mas Ido. Jazakallah..
File jadi :
https://drive.google.com/drive/folders/1r7nWCj-6oxviEjW8cBVB2amobAQS83QV?usp=sharing
