19 declare(strict_types=1);
38 private readonly
IRSS $irss,
52 if (
null === $utilHelper) {
57 if (
null === $userDefinedFieldsHelper) {
62 if (
null === $rpcClientFactoryHelper) {
67 if (
null === $pdfFileNameFactory) {
78 $template = $this->templateRepository->fetchCurrentlyUsedCertificate($objectId);
80 $xslfo = $template->getCertificateContent();
84 $pdf_base64 = $this->rpcClientFactoryHelper
85 ->ilFO2PDF(
'RPCTransformationHandler', $xslfo)
89 $template->getObjId(),
90 $template->getObjType(),
96 $this->utilHelper->deliverData(
98 $this->pdfFileNameFactory->create($pdfPresentation),
109 string $certificate_text,
113 $insert_tags = $this->placeholderValuesObject->getPlaceholderValuesForPreview($this->
user->getId(), $objectId);
116 $insert_tags[$value[
'ph']] = $this->utilHelper->prepareFormOutput($value[
'name']);
119 foreach ($insert_tags as $placeholderVariable => $value) {
120 $certificate_text = str_replace(
'[' . $placeholderVariable .
']', $value, $certificate_text);
123 $certificate_text = str_replace(
125 'file://' . $this->rootDirectory,
131 $backgroundImagePath = $this->irss->consume()->src($identification)->getSrc(
true);
135 '[BACKGROUND_IMAGE]',
136 $backgroundImagePath ??
'',
146 $user_field_definitions = $this->userDefinedFieldsHelper->createInstance();
147 $fds = $user_field_definitions->getDefinitions();
150 foreach ($fds as
$f) {
151 if ($f[
'certificate']) {
152 $fields[$f[
'field_id']] = [
153 'name' => $f[
'field_name'],
154 'ph' =>
'[#' . str_replace(
' ',
'_', strtoupper($f[
'field_name'])) .
']' readonly ilCertificateUtilHelper $utilHelper
getCustomCertificateFields()
exchangeCertificateVariables(string $certificate_text, ilCertificateTemplate $template, int $objectId)
Exchanges the variables in the certificate text with given values.
readonly ilCertificateRpcClientFactoryHelper $rpcClientFactoryHelper
__construct(private readonly ilCertificateTemplateRepository $templateRepository, private readonly ilCertificatePlaceholderValues $placeholderValuesObject, private readonly IRSS $irss, private readonly string $rootDirectory=CLIENT_WEB_DIR, ?ilObjUser $user=null, ?ilCertificateUtilHelper $utilHelper=null, ?ilCertificateUserDefinedFieldsHelper $userDefinedFieldsHelper=null, ?ilCertificateRpcClientFactoryHelper $rpcClientFactoryHelper=null, ?ilCertificatePdfFileNameFactory $pdfFileNameFactory=null)
createPreviewPdf(int $objectId)
readonly ilCertificateUserDefinedFieldsHelper $userDefinedFieldsHelper
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
getBackgroundImageIdentification()
readonly ilCertificatePdfFileNameFactory $pdfFileNameFactory
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ResourceIdentification.