} $cat_id = isset($_GET['cat_id']) ? (int) $_GET['cat_id'] : null; $action = isset($_GET['action']) && $_GET['action'] ? $_GET['action'] : null; switch ($action) { case 'export_all_certificates': $params['orientation'] = 'landscape'; $page_format = $params['orientation'] == 'landscape' ? 'A4-L' : 'A4'; $pdf = new PDF($page_format, $params['orientation'], $params); $certificate_list = get_list_users_certificates($cat_id); $certificate_path_list = array(); if (!empty($certificate_list)) { foreach ($certificate_list as $index => $value) { $list_certificate = get_list_gradebook_certificates_by_user_id($value['user_id'], $cat_id); foreach ($list_certificate as $value_certificate) { $certificate_obj = new Certificate($value_certificate['id']); $certificate_obj->generate(array('hide_print_button' => true)); if ($certificate_obj->html_file_is_generated()) { $certificate_path_list[] = $certificate_obj->html_file; } } } } if (!empty($certificate_path_list)) { // Print certificates (without the common header/footer/watermark // stuff) and return as one multiple-pages PDF $pdf->html_to_pdf($certificate_path_list, get_lang('Certificates'), null, false, false); } break; case 'generate_all_certificates': $user_list = CourseManager::get_user_list_from_course_code(api_get_course_id(), api_get_session_id()); if (!empty($user_list)) {
/** * @param int $catId * @param array $userList */ public static function exportAllCertificates($catId, $userList = array()) { $orientation = api_get_configuration_value('certificate_pdf_orientation'); $params['orientation'] = 'landscape'; if (!empty($orientation)) { $params['orientation'] = $orientation; } $params['left'] = 0; $params['right'] = 0; $params['top'] = 0; $params['bottom'] = 0; $page_format = $params['orientation'] == 'landscape' ? 'A4-L' : 'A4'; $pdf = new PDF($page_format, $params['orientation'], $params); $certificate_list = GradebookUtils::get_list_users_certificates($catId, $userList); $certificate_path_list = array(); if (!empty($certificate_list)) { foreach ($certificate_list as $index => $value) { $list_certificate = GradebookUtils::get_list_gradebook_certificates_by_user_id($value['user_id'], $catId); foreach ($list_certificate as $value_certificate) { $certificate_obj = new Certificate($value_certificate['id']); $certificate_obj->generate(array('hide_print_button' => true)); if ($certificate_obj->html_file_is_generated()) { $certificate_path_list[] = $certificate_obj->html_file; } } } } if (!empty($certificate_path_list)) { // Print certificates (without the common header/footer/watermark // stuff) and return as one multiple-pages PDF $pdf->html_to_pdf($certificate_path_list, get_lang('Certificates'), null, false, false); } }