function confirmation() { if (confirm(\" ".trim(get_lang('AreYouSureToDelete'))." ?\")) {return true;} else {return false;} } "; api_block_anonymous_users(); if (!api_is_allowed_to_edit()) { api_not_allowed(true); } $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)) { foreach ($user_list as $user_info) { Category::register_user_certificate($cat_id, $user_info['user_id']); } } break; case 'delete_all_certificates': $certificate_list = get_list_users_certificates($cat_id); 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->delete(true); } } } break; } $course_code = api_get_course_id(); $interbreadcrumb[] = array ('url' => Security::remove_XSS($_SESSION['gradebook_dest']).'?', 'name' => get_lang('Gradebook')); $interbreadcrumb[] = array ('url' => '#','name' => get_lang('GradebookListOfStudentsCertificates')); $this_section = SECTION_COURSES; Display::display_header(''); if ($_GET['action'] == 'delete') { $check = Security::check_token('get'); if ($check) { $certificate = new Certificate($_GET['certificate_id']); $result = $certificate->delete(true); Security::clear_token(); if ($result ==true) { Display::display_confirmation_message(get_lang('CertificateRemoved')); } else { Display::display_error_message(get_lang('CertificateNotRemoved')); } } } $token = Security::get_token(); echo Display::page_header(get_lang('GradebookListOfStudentsCertificates')); $cat_id = isset($_GET['cat_id']) ? (int)$_GET['cat_id'] : null; //@todo replace all this code with something like get_total_weight() $cats = Category :: load ($cat_id, null, null, null, null, null, false); if (!empty($cats)) { //with this fix the teacher only can view 1 gradebook if (api_is_platform_admin()) { $stud_id= (api_is_allowed_to_edit() ? null : api_get_user_id()); } else { $stud_id= api_get_user_id(); } $total_weight = $cats[0]->get_weight(); $allcat = $cats[0]->get_subcategories($stud_id, api_get_course_id(), api_get_session_id()); $alleval = $cats[0]->get_evaluations($stud_id); $alllink = $cats[0]->get_links($stud_id); $datagen = new GradebookDataGenerator($allcat,$alleval, $alllink); $total_resource_weight = 0; if (!empty($datagen)) { $data_array = $datagen->get_data(GradebookDataGenerator :: GDG_SORT_NAME,0,null,true); if (!empty($data_array)) { $newarray = array(); foreach ($data_array as $data) { $newarray[] = array_slice($data, 1); } foreach($newarray as $item) { $total_resource_weight = $total_resource_weight + $item['2']; } } } if ($total_resource_weight != $total_weight) { Display::display_warning_message(get_lang('SumOfActivitiesWeightMustBeEqualToTotalWeight')); } } $certificate_list = get_list_users_certificates($cat_id); echo '
'; $url = api_get_self().'?action=generate_all_certificates'.'&'.api_get_cidReq().'&cat_id='.$cat_id; echo Display::url(get_lang('GenerateCertificates'), $url, array('class' => 'btn')); $url = api_get_self().'?action=delete_all_certificates'.'&'.api_get_cidReq().'&cat_id='.$cat_id; echo Display::url(get_lang('DeleteAllCertificates'), $url, array('class' => 'btn')); if (count($certificate_list) > 0) { $url = api_get_self().'?action=export_all_certificates'.'&'.api_get_cidReq().'&cat_id='.$cat_id; echo Display::url(get_lang('ExportAllCertificatesToPDF'), $url, array('class' => 'btn')); } echo '
'; if (count($certificate_list)==0) { echo Display::display_warning_message(get_lang('NoResultsAvailable')); } else { echo '

'; foreach ($certificate_list as $index=>$value) { echo ''; echo ''; echo ''; } echo '
'.get_lang('Student').' : '.api_get_person_name($value['firstname'], $value['lastname']).' ( '.$value['username'].')
'; $list_certificate = get_list_gradebook_certificates_by_user_id($value['user_id'], $cat_id); foreach ($list_certificate as $value_certificate) { echo ''; echo ''; echo ''; echo ''; } echo '
'.get_lang('Score').' : '.$value_certificate['score_certificate'].''.get_lang('Date').' : '.api_convert_and_format_date($value_certificate['created_at']).''; $url = Certificate::getCertificatePublicURL($value_certificate['id']); $certificates = Display::url(get_lang('Certificate'), $url, array('target'=>'_blank', 'class' => 'btn')); echo $certificates; echo ' '.Display::return_icon('delete.png',get_lang('Delete')).' '; echo '
'; echo '
'; } Display::display_footer();