uawdijnntqw1x1x1
IP : 216.73.216.76
Hostname : server.zoomride.app
Kernel : Linux server.zoomride.app 4.18.0-553.158.1.el8_10.x86_64 #1 SMP Wed Aug 26 03:18:33 EDT 2026 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
zoomride2022
/
.spamassassin
/
..
/
.trash
/
scorm_admin_ui_final.zip
/
/
PKD�xZ���jjadmin-ui.php<?php add_action('admin_menu', 'mst_lms_register_scorm_progress_menu'); function mst_lms_register_scorm_progress_menu() { add_menu_page( 'SCORM Progress', 'SCORM Progress', 'manage_options', 'scorm-progress', 'mst_lms_render_scorm_progress_page', 'dashicons-welcome-learn-more', 30 ); } function mst_lms_render_scorm_progress_page() { global $wpdb; $scorm_table = $wpdb->prefix . 'stm_lms_user_course_scorm'; $user_courses_table = $wpdb->prefix . 'stm_lms_user_courses'; $users_table = $wpdb->prefix . 'users'; $posts_table = $wpdb->prefix . 'posts'; $results = $wpdb->get_results(" SELECT uc.user_course_id, uc.user_id, uc.course_id, uc.progress_percent, u.display_name, u.user_email, p.post_title, MAX(CASE WHEN sc.parameter = 'cmi.completion_status' THEN sc.value END) AS completion_status, MAX(CASE WHEN sc.parameter = 'cmi.success_status' THEN sc.value END) AS success_status FROM {$user_courses_table} uc LEFT JOIN {$users_table} u ON uc.user_id = u.ID LEFT JOIN {$posts_table} p ON uc.course_id = p.ID LEFT JOIN {$scorm_table} sc ON uc.user_course_id = sc.user_course_id GROUP BY uc.user_course_id HAVING completion_status IS NOT NULL OR success_status IS NOT NULL "); echo '<div class="wrap"><h1>SCORM Course Progress</h1><table class="widefat fixed">'; echo '<thead><tr><th>Student</th><th>Email</th><th>Course</th><th>Status</th><th>Progress %</th><th>Certificate</th></tr></thead><tbody>'; if ($results) { foreach ($results as $row) { $status = ucfirst($row->completion_status ?: 'incomplete'); $percent = intval($row->progress_percent); $cert_link = ($row->success_status === 'passed') ? "<a href='" . esc_url(admin_url('admin-ajax.php?action=mst_lms_view_certificate&user_id=' . $row->user_id . '&course_id=' . $row->course_id)) . "' target='_blank'>View Certificate</a>" : '-'; echo "<tr> <td>{$row->display_name}</td> <td>{$row->user_email}</td> <td>{$row->post_title}</td> <td>{$status}</td> <td>{$percent}%</td> <td>{$cert_link}</td> </tr>"; } } else { echo '<tr><td colspan="6">No SCORM progress data found.</td></tr>'; } echo '</tbody></table></div>'; } add_action('admin_init', 'mst_lms_view_certificate_handler'); function mst_lms_view_certificate_handler() { if (!is_admin() || !current_user_can('manage_options')) return; if (isset($_GET['action']) && $_GET['action'] === 'mst_lms_view_certificate') { $user_id = intval($_GET['user_id']); $course_id = intval($_GET['course_id']); if (class_exists('STM_LMS_Certificate')) { $certificate = new STM_LMS_Certificate($user_id, $course_id); $certificate->output_pdf(); exit; } wp_die('Certificate not available.'); } }PKD�xZ���jj��admin-ui.phpPK:�
/home/zoomride2022/.spamassassin/../.trash/scorm_admin_ui_final.zip