68 : string
69 {
70 $content = "<html><body>" . $formData['certificate_text'] . "</body></html>";
71 $content = preg_replace("/<p>( ){1,}<\\/p>/", "<p></p>", $content);
72 $content = preg_replace("/<p>(\\s)*?<\\/p>/", "<p></p>", $content);
73 $content = str_replace("<p></p>", "<p class=\"emptyrow\"></p>", $content);
74 $content = str_replace(" ", " ", $content);
75 $content = str_replace('<br>', '<br/>', $content);
76 $content = preg_replace("//", "", $content);
77
78 $this->xmlChecker->parse($content);
79 if ($this->xmlChecker->result()->isError()) {
80 throw new Exception($this->
language->txt(
"certificate_not_well_formed"));
81 }
82
83 $xsl = $this->certificateXlsFileLoader->getXlsCertificateContent();
84
85
86 $xsl = str_replace(
87 'font-family="Helvetica, unifont"',
88 'font-family="' . $this->
settings->get(
'rpc_pdf_font',
'Helvetica, unifont') .
'"',
89 $xsl
90 );
91
92 $args = [
93 '/_xml' => $content,
94 '/_xsl' => $xsl
95 ];
96
97 if (strcmp($formData['pageformat'], 'custom') === 0) {
98 $pageheight = $formData['pageheight'] ?? '';
99 $pagewidth = $formData['pagewidth'] ?? '';
100 } else {
101 $pageformats = $this->pageFormats->fetchPageFormats();
102 $pageheight = $pageformats[$formData['pageformat']]['height'];
103 $pagewidth = $pageformats[$formData['pageformat']]['width'];
104 }
105
107 'pageheight' => $this->
formatNumberString($this->utilHelper->stripSlashes($pageheight)),
108 'pagewidth' => $this->
formatNumberString($this->utilHelper->stripSlashes($pagewidth)),
109 'backgroundimage' => '[BACKGROUND_IMAGE]',
110 'marginbody' => implode(
111 ' ',
112 [
113 $this->
formatNumberString($this->utilHelper->stripSlashes($formData[
'margin_body'][
'top'])),
114 $this->formatNumberString($this->utilHelper->stripSlashes($formData['margin_body']['right'])),
115 $this->formatNumberString($this->utilHelper->stripSlashes($formData['margin_body']['bottom'])),
116 $this->formatNumberString($this->utilHelper->stripSlashes($formData['margin_body']['left']))
117 ]
118 )
119 ];
120
121 return $this->xlstProcess->process($args,
$params);
122 }
formatNumberString(string $a_number)
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params