JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "download.blade.php"
Full Path: /home2/yvrgircc/public_html/ariseskilltech.com/resources/views/curriculum/certificate/download.blade.php
File size: 6.74 KB
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>{{ get_phrase('Download Certificate') }}</title>
<link rel="shortcut icon" href="{{ asset(get_frontend_settings('favicon')) }}" />
<script src="{{ asset('assets/frontend/default/js/jquery-3.7.1.min.js') }}"></script>
<script src="{{ asset('assets/global/html2canvas/html2canvas.min.js') }}"></script>
</head>
<body>
<style>
html, body{
overflow-x: hidden;
}
body {
position: relative;
}
.remove-item,
.ui-resizable-handle {
display: none !important;
}
.certificate-layout-module {
left: unset !important;
top: unset !important;
margin-left: auto !important;
margin-right: auto !important;
}
svg {
width: 100%;
height: 100%;
}
.download-btn {
position: fixed;
bottom: 10px;
right: 10px;
padding: 20px 32px;
border-radius: 5px;
color: #3d9bff;
background-color: #d3e8ff;
z-index: 100;
}
.absolute-view{
background-color: #fff;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
overflow-y: auto;
z-index: 50;
width: 100%;
}
.certificate_builder_view{
width: 60%;
height: auto;
min-width: 350px;
margin-left: auto;
margin-right: auto;
padding-top: 60px;
}
</style>
{{-- Downloadable canvas --}}
<div class="captureCertificate" id="captureCertificate">
@php
$course_duration = $certificate->course->total_duration();
$student_name = $certificate->user->name;
$course_title = $certificate->course->title;
$number_of_lesson = $certificate->course->lessons->count();
$qr_code = $qrcode;
$course_completion_date = date_formatter($certificate->created_at);
$certificate_download_date = date('d M Y');
$course_level = ucfirst($certificate->course->level);
$course_language = ucfirst($certificate->course->language);
$instructor_name = '';
foreach ($certificate->course->instructors() as $instructor) {
$instructor_name .= '<p>' . $instructor->name . '</p>';
}
$certificate_builder_content = get_settings('certificate_builder_content');
$certificate_builder_content = str_replace('{course_duration}', $course_duration, $certificate_builder_content);
$certificate_builder_content = str_replace('{instructor_name}', $instructor_name, $certificate_builder_content);
$certificate_builder_content = str_replace('{student_name}', $student_name, $certificate_builder_content);
$certificate_builder_content = str_replace('{course_title}', $course_title, $certificate_builder_content);
$certificate_builder_content = str_replace('{number_of_lesson}', $number_of_lesson, $certificate_builder_content);
$certificate_builder_content = str_replace('{qr_code}', $qr_code, $certificate_builder_content);
$certificate_builder_content = str_replace('{course_completion_date}', $course_completion_date, $certificate_builder_content);
$certificate_builder_content = str_replace('{certificate_download_date}', $certificate_download_date, $certificate_builder_content);
$certificate_builder_content = str_replace('{course_level}', $course_level, $certificate_builder_content);
$certificate_builder_content = str_replace('{course_language}', $course_language, $certificate_builder_content);
// Use regex to update the src attribute of the <img> tag with the class 'certificate-template'.
$newSrc = get_image(get_settings('certificate_template'));
$certificate_builder_content = preg_replace('/(<img[^>]*class=["\']certificate-template["\'][^>]*src=["\'])([^"\']*)(["\'])/i', '${1}' . $newSrc . '${3}', $certificate_builder_content);
@endphp
{!! $certificate_builder_content !!}
</div>
{{-- Downloadable canvas end--}}
{{-- Preview certificate --}}
<div class="absolute-view">
<div class="certificate_builder_view" id="certificate_builder_view">
{!! $certificate_builder_content !!}
</div>
</div>
{{-- Preview certificate end--}}
<a class="download-btn" href="#" onclick="setTimeout(() => renderCanvasToImage(), 500);">{{ get_phrase('Download') }}</a>
<script>
"use strict";
$(function() {
var certificate_builder_view_width = $('.certificate_builder_view').width();
var certificate_layout_module = $('.certificate_builder_view .certificate-layout-module').width();
var zoomScaleValue = ((certificate_builder_view_width/certificate_layout_module)*100) - 8;
$('.certificate_builder_view .certificate-layout-module').css('zoom', zoomScaleValue+'%');
});
function renderCanvasToImage() {
var certificate_width = $('#captureCertificate > div').width();
html2canvas(document.querySelector("#captureCertificate > div"), {
allowTaint: true,
useCORS: true,
width: certificate_width,
scale: 2
}).then(canvas => {
document.querySelector("#captureCertificate").appendChild(canvas);
$("canvas").hide();
setTimeout(function() {
var canvas = document.querySelector("canvas");
downloadCanvas(canvas, "certificate.png");
}, 2000);
});
}
function downloadCanvas(canvas, filename) {
// Convert canvas to data URL
var dataUrl = canvas.toDataURL("image/png");
// Create a temporary link element
var link = document.createElement("a");
link.href = dataUrl;
link.download = filename;
// Append the link to the body
document.body.appendChild(link);
// Create a new MouseEvent and dispatch it
var event = new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true
});
link.dispatchEvent(event);
// Remove the link from the body
document.body.removeChild(link);
}
</script>
</body>
</html>