Improve UI in pdf export see BT#15643

pull/2926/head
Julio Montoya 7 years ago
parent 1937d0a581
commit c8c9aef8da
  1. 27
      main/mySpace/lp_tracking.php
  2. 49
      main/template/default/my_space/pdf_tracking_lp.tpl

@ -148,8 +148,8 @@ switch ($action) {
$globalTotalCount = 0; $globalTotalCount = 0;
foreach ($questions as $data) { foreach ($questions as $data) {
// Question title // Question title
$table->setCellContents($row, 0, '<b>'.$data['question'].'</b>'); $table->setCellContents($row, 0, $data['question']);
$table->setCellAttributes($row, 0, ['colspan' => '3', 'style' => 'text-align:center;']); $table->setCellAttributes($row, 0, ['colspan' => '3', 'style' => 'text-align:center; font-weight:bold']);
$choiceCounter = 1; $choiceCounter = 1;
$row++; $row++;
$total = 0; $total = 0;
@ -174,11 +174,16 @@ switch ($action) {
// Question total // Question total
$table->setCellContents($row, 0, get_lang('Total')); $table->setCellContents($row, 0, get_lang('Total'));
$table->setCellContents($row, 1, $data['question']); $table->setCellContents($row, 1, $data['question']);
$totalOptions = count($data['options']); $totalOptions = count($data['options']);
$arrayScore = [0 => $total, 1 => $totalOptions]; $arrayScore = [0 => $total, 1 => $totalOptions];
$scoreToString = $scoreDisplay->display_score($arrayScore); $scoreToString = $scoreDisplay->display_score($arrayScore);
$table->setCellContents($row, 2, $scoreToString); $table->setCellContents($row, 2, $scoreToString);
$table->setCellAttributes($row, 0, ['style' => 'font-weight:bold']);
$table->setCellAttributes($row, 1, ['style' => 'font-weight:bold']);
$table->setCellAttributes($row, 2, ['style' => 'font-weight:bold']);
$categories[] = [ $categories[] = [
'name' => $data['question'], 'name' => $data['question'],
'score' => $scoreDisplay->display_score($arrayScore, SCORE_DIV), 'score' => $scoreDisplay->display_score($arrayScore, SCORE_DIV),
@ -194,9 +199,9 @@ switch ($action) {
$globalScoreTotal = [0 => $globalTotal, 1 => $globalTotalCount]; $globalScoreTotal = [0 => $globalTotal, 1 => $globalTotalCount];
$score = $scoreDisplay->display_score($globalScoreTotal); $score = $scoreDisplay->display_score($globalScoreTotal);
$generalScore[] = [ $generalScore[] = [
'score' => $scoreDisplay->display_score($globalScoreTotal, SCORE_DIV), 'score' => $scoreDisplay->display_score($globalScoreTotal, SCORE_DIV),
'score_numeric' => $scoreDisplay->display_score($globalScoreTotal, SCORE_NUMERIC), 'score_numeric' => $scoreDisplay->display_score($globalScoreTotal, SCORE_NUMERIC),
'score_percentage' => $scoreDisplay->display_score($globalScoreTotal, SCORE_PERCENT), 'score_percentage' => $scoreDisplay->display_score($globalScoreTotal, SCORE_PERCENT),
]; ];
$tpl->assign('general_score', $generalScore); $tpl->assign('general_score', $generalScore);
$tpl->assign('global_total', $score); $tpl->assign('global_total', $score);
@ -205,6 +210,10 @@ switch ($action) {
$table->setCellContents($row, 1, ''); $table->setCellContents($row, 1, '');
$table->setCellContents($row, 2, $score); $table->setCellContents($row, 2, $score);
$table->setCellAttributes($row, 0, ['style' => 'font-weight:bold']);
$table->setCellAttributes($row, 1, ['style' => 'font-weight:bold']);
$table->setCellAttributes($row, 2, ['style' => 'font-weight:bold']);
$tableToString = $table->toHtml(); $tableToString = $table->toHtml();
$duration = learnpathItem::getScormTimeFromParameter('js', $itemView->getTotalTime()); $duration = learnpathItem::getScormTimeFromParameter('js', $itemView->getTotalTime());
@ -215,13 +224,13 @@ switch ($action) {
'score' => $score, 'score' => $score,
'duration' => $duration, 'duration' => $duration,
'start_time' => api_get_local_time($itemView->getStartTime()), 'start_time' => api_get_local_time($itemView->getStartTime()),
'start_date' => api_get_local_time($itemView->getStartTime(), null, null, null, false),
'end_time' => api_get_local_time($endTime), 'end_time' => api_get_local_time($endTime),
'candidate' => $studentName, 'candidate' => $studentName,
]; ];
$tpl->assign('data', $dataLpInfo); $tpl->assign('data', $dataLpInfo);
$template = $tpl->fetch($tpl->get_template('my_space/pdf_tracking_lp.tpl')); $contentText = $tpl->fetch($tpl->get_template('my_space/pdf_tracking_lp.tpl'));
$contentText = $template;
$content = $contentText.'<pagebreak>'.$tableToString; $content = $contentText.'<pagebreak>'.$tableToString;
@ -247,7 +256,9 @@ switch ($action) {
$background = api_get_path(SYS_PATH).'custompages/url-images/'.api_get_current_access_url_id().'_pdf_background.png'; $background = api_get_path(SYS_PATH).'custompages/url-images/'.api_get_current_access_url_id().'_pdf_background.png';
$content = '<html><body style="background-image-resize: 5; background-position: top left; background-image: url('.$background.');">' $content =
'<html>
<body style="background-image-resize: 5; background-position: top left; background-image: url('.$background.');">'
.$content.'</body></html>'; .$content.'</body></html>';
$pdf->content_to_pdf( $pdf->content_to_pdf(

@ -2,8 +2,9 @@
<h3 style="text-align: center; text-transform: uppercase; font-size: 20px; font-weight: bold;">{{ data.name }}</h3> <h3 style="text-align: center; text-transform: uppercase; font-size: 20px; font-weight: bold;">{{ data.name }}</h3>
<br> <br>
<p>{{ 'Candidate' | get_lang }} : {{ data.candidate }}</p> <p>{{ 'Candidate' | get_lang }} : {{ data.candidate }}</p>
<p>{{ 'ScormStartAttemptDate' | get_lang }} : {{ data.start_date }}</p>
<br> <br>
<table style="width: 100%; font-size: 12px; font-weight: normal;"> <table style="width: 100%; font-size: 12px; font-weight: normal;">
<tr> <tr>
<th style="text-align: center; height: 25px; background: #222222; color: #FFFFFF; border: 2px solid #FFFFFF;"> <th style="text-align: center; height: 25px; background: #222222; color: #FFFFFF; border: 2px solid #FFFFFF;">
{{ 'Attempt'|get_lang }} {{ 'Attempt'|get_lang }}
@ -23,38 +24,28 @@
</tr> </tr>
<tr> <tr>
<td style="text-align: center; height: 50px; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;"> <td style="text-align: center; height: 50px; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;">
{{ data.attempt }} {{ data.attempt }}
</td> </td>
<td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;"> <td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;">
{{ data.score }} {{ data.score }}
</td> </td>
<td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;"> <td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;">
{{ data.duration }} {{ data.duration }}
</td> </td>
<td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;"> <td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;">
{{ data.start_time }} {{ data.start_time }}
</td> </td>
<td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;"> <td style="text-align: center; background: #d9d9d9; padding: 5px; display: block; border: 2px solid #FFFFFF;">
{{ data.end_time }} {{ data.end_time }}
</td> </td>
</tr> </tr>
</table> </table>
<br> <br>
<table style="width: 100%; font-size: 12px; font-weight: normal;"> <table style="width: 100%; font-size: 12px;">
<tr> <tr>
<th style="text-align: center; height: 25px; background: #222222; color: #FFFFFF; border: 2px solid #FFFFFF;"> <th style="text-align: center; height: 25px; background: #222222; color: #FFFFFF; border: 2px solid #FFFFFF;">
{{ 'CategoryName'|get_lang }} {{ 'Domains'|get_lang }}
</th> </th>
<th style="text-align: center; background: #222222; color: #FFFFFF; border: 2px solid #FFFFFF;"> <th style="text-align: center; background: #222222; color: #FFFFFF; border: 2px solid #FFFFFF;">
{{ 'Score'|get_lang }} {{ 'Score'|get_lang }}
@ -63,9 +54,12 @@
{{ 'Percentage'|get_lang }} {{ 'Percentage'|get_lang }}
</th> </th>
</tr> </tr>
{% for item in categories %} {% for item in categories %}
<tr> <tr>
<td style="height:40px; width: 40%; text-align: left; padding: 5px; display: block; border-bottom: 1px solid #cdcdcd;">{{ item.name }}</td> <td style="height:40px; width: 40%; text-align: left; padding: 5px; display: block; border-bottom: 1px solid #cdcdcd;">
{{ item.name }}
</td>
<td style="text-align: center; padding: 5px; display: block; border-bottom: 1px solid #cdcdcd;"> <td style="text-align: center; padding: 5px; display: block; border-bottom: 1px solid #cdcdcd;">
{% if item.score_numeric == 0 %} {% if item.score_numeric == 0 %}
<span style="color: red;">{{ item.score }}</span> <span style="color: red;">{{ item.score }}</span>
@ -83,10 +77,11 @@
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}
{% for item in general_score %} {% for item in general_score %}
<tr> <tr>
<td style="text-align: left; padding: 5px; height:30px; background: #222222; color: #FFFFFF; display: block;"> <td style="text-align: left; padding: 5px; height:30px; background: #222222; color: #FFFFFF; display: block;">
{{ 'GeneralTotal' | get_lang }} <b>{{ 'GeneralTotal' | get_lang }}</b>
</td> </td>
<td style="text-align: center; padding: 5px; display: block;background-color: #f6ffe2;"> <td style="text-align: center; padding: 5px; display: block;background-color: #f6ffe2;">
{{ item.score }} {{ item.score }}
@ -100,18 +95,18 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
{#{% if global_total %} {# {% if global_total %}#}
<tr> {# <tr>#}
<td> {# <td>#}
</td> {# </td>#}
<td> {# <td>#}
{{ 'GlobalTotal'|get_lang }} {# {{ 'GlobalTotal'|get_lang }}#}
</td> {# </td>#}
<td> {# <td>#}
{{ global_total }} {# {{ global_total }}#}
</td> {# </td>#}
</tr> {# </tr>#}
{% endif %}#} {# {% endif %}#}
{% endfor %} {% endfor %}
</table> </table>
Loading…
Cancel
Save