|
|
|
|
@ -7,7 +7,9 @@ |
|
|
|
|
*/ |
|
|
|
|
// Initialize context |
|
|
|
|
$_in_course = true; |
|
|
|
|
require_once __DIR__.'/../inc/global.inc.php'; |
|
|
|
|
|
|
|
|
|
require_once __DIR__ . '/../inc/global.inc.php'; |
|
|
|
|
|
|
|
|
|
$current_course_tool = TOOL_GRADEBOOK; |
|
|
|
|
|
|
|
|
|
// Make sure no anonymous user gets here without permission |
|
|
|
|
@ -40,7 +42,11 @@ $currentItemId = $lp->get_current_item_id(); |
|
|
|
|
$currentItem = $lp->items[$currentItemId]; |
|
|
|
|
$currentItemStatus = $currentItem->get_status(); |
|
|
|
|
$accessGranted = false; |
|
|
|
|
if (($count - $completed == 0) or (($count - $completed == 1 && ($currentItemStatus == 'incomplete') or ($currentItemStatus == 'not attempted') ))) { |
|
|
|
|
|
|
|
|
|
if ( |
|
|
|
|
($count - $completed == 0) or |
|
|
|
|
($count - $completed == 1 && ($currentItemStatus == 'incomplete') or ($currentItemStatus == 'not attempted')) |
|
|
|
|
) { |
|
|
|
|
if ($lp->prerequisites_match($currentItemId)) { |
|
|
|
|
$accessGranted = true; |
|
|
|
|
} |
|
|
|
|
@ -62,10 +68,14 @@ if ($accessGranted == false) { |
|
|
|
|
// If not gradebook has been defined |
|
|
|
|
if (empty($catLoad)) { |
|
|
|
|
|
|
|
|
|
$finalItemTemplate = generateLPFinalItemTemplate($id, $courseCode, $sessionId, $downloadCertificateLink, |
|
|
|
|
$badgeLink); |
|
|
|
|
$finalItemTemplate = generateLPFinalItemTemplate( |
|
|
|
|
$id, |
|
|
|
|
$courseCode, |
|
|
|
|
$sessionId, |
|
|
|
|
$downloadCertificateLink, |
|
|
|
|
$badgeLink |
|
|
|
|
); |
|
|
|
|
// TODO: Missing validation of learning path completion |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
// A gradebook was found, proceed... |
|
|
|
|
$categoryId = $catLoad[0]->get_id(); |
|
|
|
|
@ -78,10 +88,8 @@ if ($accessGranted == false) { |
|
|
|
|
|
|
|
|
|
if ($show_message == '') { |
|
|
|
|
if (!api_is_allowed_to_edit() && !api_is_excluded_user_type()) { |
|
|
|
|
$certificate = Category::register_user_certificate( |
|
|
|
|
$categoryId, |
|
|
|
|
$userId |
|
|
|
|
); |
|
|
|
|
$certificate = Category::register_user_certificate($categoryId, $userId); |
|
|
|
|
|
|
|
|
|
if (!empty($certificate['pdf_url']) || !empty($certificate['badge_link'])) { |
|
|
|
|
if (is_array($certificate) && isset($certificate['pdf_url'])) { |
|
|
|
|
$downloadCertificateLink = generateLPFinalItemTemplateCertificateLinks($certificate); |
|
|
|
|
@ -92,13 +100,18 @@ if ($accessGranted == false) { |
|
|
|
|
$badgeLink = generateLPFinalItemTemplateBadgeLinks($userId, $courseId, $sessionId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$currentScore = Category::getCurrentScore($userId, $categoryId, $courseCode, $sessionId, true); |
|
|
|
|
Category::registerCurrentScore($currentScore, $userId, $categoryId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$finalItemTemplate = generateLPFinalItemTemplate($id, $courseCode, $sessionId, $downloadCertificateLink, |
|
|
|
|
$badgeLink); |
|
|
|
|
|
|
|
|
|
$finalItemTemplate = generateLPFinalItemTemplate($id, $courseCode, $downloadCertificateLink, $badgeLink); |
|
|
|
|
|
|
|
|
|
if (!$finalItemTemplate) { |
|
|
|
|
Display::display_warning_message(get_lang('FileNotFound')); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -118,7 +131,7 @@ $tpl->display_one_col_template(); |
|
|
|
|
* @param string $badgeLink |
|
|
|
|
* @return mixed|string |
|
|
|
|
*/ |
|
|
|
|
function generateLPFinalItemTemplate($lpItemId, $courseCode, $sessionId=0, $downloadCertificateLink='', $badgeLink='') |
|
|
|
|
function generateLPFinalItemTemplate($lpItemId, $courseCode, $sessionId = 0, $downloadCertificateLink = '', $badgeLink = '') |
|
|
|
|
{ |
|
|
|
|
$documentInfo = DocumentManager::get_document_data_by_id( |
|
|
|
|
$lpItemId, |
|
|
|
|
@ -131,6 +144,7 @@ function generateLPFinalItemTemplate($lpItemId, $courseCode, $sessionId=0, $down |
|
|
|
|
|
|
|
|
|
$finalItemTemplate = str_replace('((certificate))', $downloadCertificateLink, $finalItemTemplate); |
|
|
|
|
$finalItemTemplate = str_replace('((skill))', $badgeLink, $finalItemTemplate); |
|
|
|
|
|
|
|
|
|
return $finalItemTemplate; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -141,7 +155,7 @@ function generateLPFinalItemTemplate($lpItemId, $courseCode, $sessionId=0, $down |
|
|
|
|
* @param int $sessionId |
|
|
|
|
* @return string HTML string for badges |
|
|
|
|
*/ |
|
|
|
|
function generateLPFinalItemTemplateBadgeLinks($userId, $courseId, $sessionId=0) |
|
|
|
|
function generateLPFinalItemTemplateBadgeLinks($userId, $courseId, $sessionId = 0) |
|
|
|
|
{ |
|
|
|
|
$em = Database::getManager(); |
|
|
|
|
$skillRelUser = new SkillRelUser(); |
|
|
|
|
@ -168,7 +182,7 @@ function generateLPFinalItemTemplateBadgeLinks($userId, $courseId, $sessionId=0) |
|
|
|
|
<a href='http://www.facebook.com/sharer.php?u=" . api_get_path(WEB_PATH) . "badge/" . $skill->getId() . "/user/" . $userId . "' target='_new'> |
|
|
|
|
<em class='fa fa-facebook-square fa-3x text-info' aria-hidden='true'></em> |
|
|
|
|
</a> |
|
|
|
|
<a href='https://twitter.com/home?status=" . sprintf(get_lang('IHaveObtainedSkillXOnY'), '"' . $skill->getName() . '"', api_get_setting('siteName')) . ' - '. api_get_path(WEB_PATH) . 'badge/' . $skill->getId() . '/user/' . $userId . "' target='_new'> |
|
|
|
|
<a href='https://twitter.com/home?status=" . sprintf(get_lang('IHaveObtainedSkillXOnY'), '"' . $skill->getName() . '"', api_get_setting('siteName')) . ' - ' . api_get_path(WEB_PATH) . 'badge/' . $skill->getId() . '/user/' . $userId . "' target='_new'> |
|
|
|
|
<em class='fa fa-twitter-square fa-3x text-light' aria-hidden='true'></em> |
|
|
|
|
</a> |
|
|
|
|
</div> |
|
|
|
|
@ -194,8 +208,8 @@ function generateLPFinalItemTemplateBadgeLinks($userId, $courseId, $sessionId=0) |
|
|
|
|
*/ |
|
|
|
|
function generateLPFinalItemTemplateCertificateLinks($certificate) |
|
|
|
|
{ |
|
|
|
|
$downloadCertificateLink = Display::url(Display::returnFontAwesomeIcon('file-pdf-o') . |
|
|
|
|
get_lang('DownloadCertificatePdf'), |
|
|
|
|
$downloadCertificateLink = Display::url( |
|
|
|
|
Display::returnFontAwesomeIcon('file-pdf-o') . get_lang('DownloadCertificatePdf'), |
|
|
|
|
$certificate['pdf_url'], |
|
|
|
|
['class' => 'btn btn-default'] |
|
|
|
|
); |
|
|
|
|
|