Plugins: Custom certificate fix date in PDF export BT#17606

pull/3433/head
Julio Montoya 6 years ago
parent e5ad53956b
commit 8e75e6f8f6
  1. 3
      main/document/create_document.php
  2. 3
      main/document/edit_document.php
  3. 12
      main/inc/lib/document.lib.php
  4. 8
      main/inc/lib/usermanager.lib.php
  5. 5
      main/mySpace/session_filter.php
  6. 1
      plugin/customcertificate/src/export_pdf_all_in_one.php
  7. 11
      plugin/customcertificate/src/print_certificate.php

@ -657,7 +657,8 @@ if ($form->validate()) {
if ($is_certificate_mode) {
$all_information_by_create_certificate = DocumentManager::get_all_info_to_certificate(
api_get_user_id(),
api_get_course_id()
api_get_course_id(),
api_get_session_id()
);
$str_info = '';

@ -509,7 +509,8 @@ if ($owner_id == api_get_user_id() ||
if ($is_certificate_mode) {
$all_information_by_create_certificate = DocumentManager::get_all_info_to_certificate(
api_get_user_id(),
api_get_course_id()
api_get_course_id(),
api_get_session_id()
);
$str_info = '';
foreach ($all_information_by_create_certificate[0] as $info_value) {

@ -1893,7 +1893,8 @@ class DocumentManager
$sessionId,
$is_preview = false
) {
$user_id = intval($user_id);
$user_id = (int) $user_id;
$sessionId = (int) $sessionId;
$course_info = api_get_course_info($course_code);
$tbl_document = Database::get_course_table(TABLE_DOCUMENT);
$course_id = $course_info['real_id'];
@ -1919,6 +1920,7 @@ class DocumentManager
$all_user_info = self::get_all_info_to_certificate(
$user_id,
$course_code,
$sessionId,
$is_preview
);
@ -1949,11 +1951,12 @@ class DocumentManager
*
* @return array
*/
public static function get_all_info_to_certificate($user_id, $courseCode, $is_preview = false)
public static function get_all_info_to_certificate($user_id, $courseCode, $sessionId, $is_preview = false)
{
$info_list = [];
$user_id = (int) $user_id;
$course_info = api_get_course_info($courseCode);
$sessionId = (int) $sessionId;
// Portal info
$organization_name = api_get_setting('Institution');
@ -1986,8 +1989,7 @@ class DocumentManager
$teacher_last_name = $teacher_info['lastname'];
// info gradebook certificate
$info_grade_certificate = UserManager::get_info_gradebook_certificate($courseCode, $user_id);
$info_grade_certificate = UserManager::get_info_gradebook_certificate($courseCode, $sessionId, $user_id);
$date_long_certificate = '';
$date_certificate = '';
$url = '';
@ -2011,8 +2013,6 @@ class DocumentManager
if (is_file($externalStyleFile)) {
$externalStyle = file_get_contents($externalStyleFile);
}
$sessionId = api_get_session_id();
$timeInCourse = Tracking::get_time_spent_on_the_course($user_id, $course_info['real_id'], $sessionId);
$timeInCourse = api_time_to_hms($timeInCourse, ':', false, true);

@ -5672,15 +5672,17 @@ class UserManager
* Gets the info about a gradebook certificate for a user by course.
*
* @param string $course_code The course code
* @param int $session_id
* @param int $user_id The user id
*
* @return array if there is not information return false
*/
public static function get_info_gradebook_certificate($course_code, $user_id)
public static function get_info_gradebook_certificate($course_code, $session_id, $user_id)
{
$tbl_grade_certificate = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CERTIFICATE);
$tbl_grade_category = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY);
$session_id = api_get_session_id();
$session_id = (int) $session_id;
$user_id = (int) $user_id;
if (empty($session_id)) {
$session_condition = ' AND (session_id = "" OR session_id = 0 OR session_id IS NULL )';
@ -5694,7 +5696,7 @@ class UserManager
WHERE
course_code = "'.Database::escape_string($course_code).'" '.$session_condition.'
LIMIT 1
) AND user_id='.intval($user_id);
) AND user_id='.$user_id;
$rs = Database::query($sql);
if (Database::num_rows($rs) > 0) {

@ -316,10 +316,7 @@ if (count($certificateList) == 0) {
<table class="table data_table">
<tbody>';
$list = GradebookUtils::get_list_gradebook_certificates_by_user_id(
$value['user_id'],
$categoryId
);
$list = GradebookUtils::get_list_gradebook_certificates_by_user_id($value['user_id'], $categoryId);
foreach ($list as $valueCertificate) {
echo '<tr>';
echo '<td width="50%">'.get_lang('Score').' : '.$valueCertificate['score_certificate'].'</td>';

@ -293,6 +293,7 @@ foreach ($userList as $userInfo) {
$allUserInfo = DocumentManager::get_all_info_to_certificate(
$studentId,
$courseCode,
$sessionId,
false
);

@ -130,15 +130,15 @@ foreach ($userList as $userInfo) {
$htmlText .= '<div class="caraA" style="page-break-before:always; margin:0px; padding:0px;">';
} else {
$urlBackground = $path.$infoCertificate['background'];
$htmlText .= ' <div
$htmlText .= ' <div
class="caraA"
style="background-image:url('.$urlBackground.') no-repeat;
style="background-image:url('.$urlBackground.') no-repeat;
background-image-resize:6; margin:0px; padding:0px;">';
}
if (!empty($infoCertificate['logo_left'])) {
$logoLeft = '
<img
<img
style="max-height: 150px; max-width: '.(2 * $widthCell).'mm;"
src="'.$path.$infoCertificate['logo_left'].'" />';
} else {
@ -148,7 +148,7 @@ foreach ($userList as $userInfo) {
$logoCenter = '';
if (!empty($infoCertificate['logo_center'])) {
$logoCenter = '
<img
<img
style="max-height: 150px; max-width: '.intval($workSpace - (2 * $widthCell)).'mm;"
src="'.$path.$infoCertificate['logo_center'].'" />';
}
@ -161,7 +161,7 @@ foreach ($userList as $userInfo) {
src="'.$path.$infoCertificate['logo_right'].'" />';
}
$htmlText .= '<table
$htmlText .= '<table
width="'.$workSpace.'mm"
style="
margin-left:'.$infoCertificate['margin_left'].'mm;
@ -180,6 +180,7 @@ foreach ($userList as $userInfo) {
$allUserInfo = DocumentManager::get_all_info_to_certificate(
$studentId,
$courseCode,
$sessionId,
false
);

Loading…
Cancel
Save