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