Showing posts with label CBT. Show all posts
Showing posts with label CBT. Show all posts

Friday, 22 May 2026

Ekspor dan Import User Murid dari SiM ke CBT moodle

 

1. Ambil data kelas XI

SELECT 
    u.username,
    u.firstname,
    u.lastname,
    u.email,
    nis.data AS profile_field_nis,
    pw.data AS profile_field_pwexam,
    c.name AS cohort1

INTO OUTFILE '/tmp/user_xi.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

FROM mdl_user u
JOIN mdl_cohort_members cm ON cm.userid = u.id
JOIN mdl_cohort c ON c.id = cm.cohortid

LEFT JOIN mdl_user_info_field fnis 
    ON fnis.shortname = 'nis'

LEFT JOIN mdl_user_info_data nis 
    ON nis.fieldid = fnis.id 
    AND nis.userid = u.id

LEFT JOIN mdl_user_info_field fpw 
    ON fpw.shortname = 'pwexam'

LEFT JOIN mdl_user_info_data pw 
    ON pw.fieldid = fpw.id 
    AND pw.userid = u.id

WHERE c.name IN (
    'XI-A','XI-B','XI-C',
    'XI-D','XI-E','XI-F','XI-G'
)

AND u.deleted = 0
AND u.suspended = 0

ORDER BY c.name, u.lastname;

2. Ambil data kelas X

SELECT 
    u.username,
    u.firstname,
    u.lastname,
    u.email,
    nis.data AS profile_field_nis,
    pw.data AS profile_field_pwexam,
    c.name AS cohort1

INTO OUTFILE '/tmp/user_x.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

FROM mdl_user u
JOIN mdl_cohort_members cm ON cm.userid = u.id
JOIN mdl_cohort c ON c.id = cm.cohortid

LEFT JOIN mdl_user_info_field fnis 
    ON fnis.shortname = 'nis'

LEFT JOIN mdl_user_info_data nis 
    ON nis.fieldid = fnis.id 
    AND nis.userid = u.id

LEFT JOIN mdl_user_info_field fpw 
    ON fpw.shortname = 'pwexam'

LEFT JOIN mdl_user_info_data pw 
    ON pw.fieldid = fpw.id 
    AND pw.userid = u.id

WHERE c.name IN (
    'X-A','X-B','X-C',
    'X-D','X-E','X-F','X-G'
)

AND u.deleted = 0
AND u.suspended = 0

ORDER BY c.name, u.lastname;

3. Ambil file dari laptop dengan SCP

Kelas XI:

scp dhwan@192.168.200.20:/tmp/user_xi.csv ~/Downloads/

Kelas X:

scp dhwan@192.168.200.20:/tmp/user_x.csv ~/Downloads/

Kalau gagal karena secure_file_priv, cek:

SHOW VARIABLES LIKE 'secure_file_priv';

Lalu ganti path /tmp/ sesuai folder yang ditampilkan MariaDB, misalnya:

/var/lib/mysql-files/

Tuesday, 2 December 2025

Supaya Nama Lengkap muncul di bagian atas CBT

 

dengan Pengaturan ini nama lengkap sudah muncul di atas sebelah kanan
di Additional HTML
bagian Before BODY is closed additionalhtmlfooter
<script>
document.addEventListener('DOMContentLoaded', function() {
    // cari avatar inisial di usermenu
    var avatar = document.querySelector('.usermenu .userinitials[title], .usermenu .userinitials[aria-label]');
    if (!avatar) return;

    // ambil full name dari title atau aria-label
    var fullname = avatar.getAttribute('title') || avatar.getAttribute('aria-label');
    if (!fullname || !fullname.trim()) return;

    // kalau sudah pernah ditambah, jangan dobel
    if (avatar.parentNode.querySelector('.userfullname')) return;

    // buat span teks nama
    var span = document.createElement('span');
    span.className = 'userfullname';
    span.textContent = ' ' + fullname; // spasi di depan biar agak renggang

    // tempel setelah avatar (di dalam span.avatar current)
    avatar.parentNode.appendChild(span);
});
</script>

dan di bagian Appearence Theme Boost Advanced Setting
RAW SCSS
/* --- Sembunyikan footer --- */
#page-footer {
    display: none !important;
}

.footer {
    display: none !important;
}

#page-wrapper #page-footer {
    visibility: hidden !important;
}

/* --- (nanti dipakai kalau perlu) --- */
.usermenu .usertext {
    display: inline !important;
}