diff --git a/type/ILB_flex/certificate.php b/type/ILB_flex/certificate.php index 83e7953..ce961bf 100644 --- a/type/ILB_flex/certificate.php +++ b/type/ILB_flex/certificate.php @@ -35,8 +35,29 @@ if (!defined('MOODLE_INTERNAL')) { */ require_once("$CFG->dirroot/completion/completion_completion.php"); -$start_date = $course->startdate; -$end_date = $course->enddate; +// Obtem as preferências para exibição do período do certificado +$periodo_certificado = certificate_obtemCampoCustomizadoCurso($course->id, 'periodo_certificado'); +if(empty(trim($periodo_certificado))) { + $periodo_certificado = 'Duração do curso'; +} + +if($periodo_certificado == 'Duração do curso') { + // Datas inicial e final são configuradas no curso + $start_date = $course->startdate; + $end_date = $course->enddate; +} else { + // $periodo_certificado == 'Sem período' ou 'Matrícula até conclusão' + require_once("$CFG->dirroot/enrol/locallib.php"); + + // Data inicial é a matrícula + $enrol_manager = new course_enrolment_manager($PAGE, $course); + $user_enrol = reset($enrol_manager->get_user_enrolments($USER->id)); + $start_date = $user_enrol->timestart; + + // Data final é quando completou o curso + $cc = new completion_completion(array('userid'=>$USER->id, 'course'=>$course->id)); + $end_date = $cc->timecompleted; +} $fmt = '%d/%m/%Y'; // Default format if ($certificate->datefmt == 1) { @@ -66,6 +87,11 @@ $diaFim = userdate($end_date, '%d'); if($diaInicio == '1') {$diaInicio .= "º";} if($diaFim == '1') {$diaFim .= "º";} +$nome_acao = certificate_obtemCampoCustomizadoCurso($course->id, 'nome_acao_certificado'); +if(empty(trim($nome_acao))) { + $nome_acao = mb_strtoupper($course->fullname, 'UTF-8'); +} + $verbo_acao = certificate_obtemCampoCustomizadoCurso($course->id, 'papel_acao_capacitacao'); if(empty($verbo_acao)) { $verbo_acao = 'participou'; @@ -177,7 +203,6 @@ $pdf->SetTextColor(0, 0, 0); // as escolas de governo da Câmara dos Deputados (CEFOR) e do Tribunal de Contas da União (ISC), certifica que'; $nome_aluno = mb_strtoupper(fullname($USER), 'UTF-8'); $dados_aluno = "CPF nº $cpf"; -$nome_curso = mb_strtoupper($course->fullname, 'UTF-8'); $periodo = montaPeriodo(); $carga_horaria = "com carga horária de {$certificate->printhours}"; $nota = (certificate_get_grade($certificate, $course)?certificate_get_grade($certificate, $course):''); @@ -185,9 +210,9 @@ $nota = (certificate_get_grade($certificate, $course)?certificate_get_grade($cer $texto_base_certificado = $entidade_certificadora . "

" . "" . $nome_aluno . "

" . $dados_aluno . ", " . $verbo_acao . ($modalidade_acao? ", na modalidade " . $modalidade_acao . ',':"") . ' ' . $tipo_acao . ' ' . - "" . $nome_curso . "" . + "" . $nome_acao . "" . ($certificate->printhours?", com carga horária de $certificate->printhours":'') . - ', ' . $periodo . + ($periodo_certificado != 'Sem período'?', ' . $periodo:'') . ($nota?', ' . $nota:'') . '.'; certificate_print_text($pdf, $x, $y, 'C', 'freesans', '', 20, get_string('title', 'certificate')); diff --git a/type/ILB_flex/pix/Certificado-Brasão-Gradiênte-ESGA4.xcf b/type/ILB_flex/pix/Certificado-Brasão-Gradiênte-ESGA4.xcf index a5d323d..629ed2a 100644 Binary files a/type/ILB_flex/pix/Certificado-Brasão-Gradiênte-ESGA4.xcf and b/type/ILB_flex/pix/Certificado-Brasão-Gradiênte-ESGA4.xcf differ