}
$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)) {
Пример #2
0
 /**
  * @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);
     }
 }