10 $iliasPDFTestPath =
'data/' . CLIENT_ID .
'/pdf_service/';
11 if (!file_exists($iliasPDFTestPath)) {
12 mkdir($iliasPDFTestPath);
14 return $iliasPDFTestPath;
23 $content = file_get_contents($filename);
24 $content = preg_replace(
'/@media[\s]* print/',
'@media nothing', $content);
25 file_put_contents($filename, $content);
35 $content = file_get_contents($filename);
36 $content = preg_replace(
'/src:\surl\([\',\"](..\/)*(\S)/',
"src: url(./$2", $content);
37 file_put_contents($filename, $content);
46 foreach ($form->
getItems() as $item) {
48 if ($item->getChecked() != null && ($item->getValue() ==
true || $item->getValue() ==
'1')) {
49 $item->setChecked(
true);
62 $result =
$ilDB->query(
'SELECT service, purpose FROM pdfgen_purposes ORDER BY service, purpose');
65 $purposes[
$row[
'service']][] = $row[
'purpose'];
77 $result =
$ilDB->query(
'SELECT service, purpose, preferred, selected FROM pdfgen_map');
80 $mappings[
$row[
'service']][
$row[
'purpose']][
'selected'] = $row[
'selected'];
81 $mappings[$row[
'service']][$row[
'purpose']][
'preferred'] = $row[
'preferred'];
93 $result =
$ilDB->query(
'SELECT renderer, service, purpose FROM pdfgen_renderer_avail');
96 $renderers[
$row[
'service']][
$row[
'purpose']][] = $row[
'renderer'];
110 $ilDB = $DIC[
'ilDB'];
114 array(
'selected' =>
array(
'text', $renderer) ),
117 'purpose' =>
array(
'text', $purpose)
128 public static function getRendererConfig(
$service, $purpose, $renderer)
132 $ilDB = $DIC[
'ilDB'];
134 $query =
'SELECT config FROM pdfgen_conf WHERE renderer = ' .
$ilDB->quote($renderer,
'text') .
135 ' AND service = ' .
$ilDB->quote(
$service,
'text') .
' AND purpose = ' .
$ilDB->quote($purpose,
'text');
139 return self::getRendererDefaultConfig(
$service, $purpose, $renderer);
142 return json_decode(
$row[
'config'],
true);
152 public static function getRendererDefaultConfig(
$service, $purpose, $renderer)
155 $class_instance = self::getRendererInstance($renderer);
157 return $class_instance->getDefaultConfig(
$service, $purpose);
168 $ilDB = $DIC[
'ilDB'];
170 $query =
'DELETE FROM pdfgen_conf WHERE renderer = ' .
$ilDB->quote($renderer,
'text') .
171 ' AND service = ' .
$ilDB->quote(
$service,
'text') .
' AND purpose = ' .
$ilDB->quote($purpose,
'text');
181 public static function getRendererInstance($renderer)
185 $ilDB = $DIC[
'ilDB'];
187 $result =
$ilDB->query(
'SELECT path FROM pdfgen_renderer WHERE renderer = ' .
$ilDB->quote($renderer,
'text'));
190 throw new Exception(
'No such renderer - given: ' . $renderer);
194 include_once
$row[
'path'];
195 if (self::isRendererPlugin($row[
'path'])) {
196 $classname =
'il' . $renderer .
'RendererPlugin';
198 $classname =
'il' . $renderer .
'Renderer';
201 if (
false && !class_exists($classname)) {
203 'Class failed loading, including path ' . $row[
'path']
204 .
' did not lead to class definition ' . $classname .
' being available.' 208 $class_instance =
new $classname;
209 return $class_instance;
218 $needle =
'Plugin.php';
219 $length = strlen($needle);
220 return (substr(
$path, -$length) === $needle);
229 public static function saveRendererPurposeConfig(
$service, $purpose, $renderer,
$config)
233 $ilDB = $DIC[
'ilDB'];
235 $query =
'DELETE FROM pdfgen_conf WHERE renderer = ' .
$ilDB->quote($renderer,
'text') .
236 ' AND service = ' .
$ilDB->quote(
$service,
'text') .
' AND purpose = ' .
$ilDB->quote($purpose,
'text');
243 'conf_id' =>
array(
'integer',
$ilDB->nextId(
'pdfgen_conf')),
244 'renderer' =>
array(
'text', $renderer),
246 'purpose' =>
array(
'text', $purpose),
257 public static function getRendererMapForPurpose(
$service, $purpose)
261 $ilDB = $DIC[
'ilDB'];
263 $result =
$ilDB->query(
'SELECT preferred, selected FROM pdfgen_map WHERE 264 service = ' .
$ilDB->quote(
$service,
'text') .
' AND purpose=' .
$ilDB->quote($purpose,
'text'));
267 return array(
'selected' =>
'TCPDF',
'preferred' =>
'TCPDF');
static removePrintMediaDefinitionsFromStyleFile($path)
static isRendererPlugin($path)
static removeWrongPathFromStyleFiles($path)
static setCheckedIfTrue(\ilPropertyFormGUI $form)
if(isset($_POST['submit'])) $form
static updateRendererSelection($service, $purpose, $renderer)
Create styles array
The data for the language used.
static removeRendererConfig($service, $purpose, $renderer)
Class ilPDFGeneratorUtils.