ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
class.ilObjCertificateSettings.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
23use ILIAS\ResourceStorage\Services as ResourceStorage;
27
35{
37 private readonly ResourceStorage $irss;
41
42 public function __construct(int $a_id = 0, bool $a_reference = true)
43 {
44 global $DIC;
45
46 parent::__construct($a_id, $a_reference);
47 $this->type = 'cert';
48 $this->certificate_settings = new ilSetting('certificate');
49 $this->irss = $DIC->resourceStorage();
50 $this->stakeholder = new ilCertificateTemplateStakeholder();
51 $this->certificate_repository = new ilCertificateTemplateDatabaseRepository($DIC->database());
52 $this->resource_handler = new CertificateResourceHandler(
53 new ilUserCertificateRepository($DIC->database()),
55 $this->irss,
56 $this,
57 $this->stakeholder
58 );
59 }
60
62 {
63 $id = $this->certificate_settings->get('cert_bg_image', '');
64
65 if ($rid = $this->irss->manage()->find($id)) {
66 return $rid;
67 }
68 return null;
69 }
70
77 public function uploadBackgroundImage(UploadResult $upload_result): bool
78 {
79 $old_identification = $this->getBackgroundImageIdentification();
80 $identification = $this->irss->manage()->upload($upload_result, $this->stakeholder);
81 $this->certificate_settings->set('cert_bg_image', $identification->serialize());
82
83 $this->certificate_repository->updateDefaultBackgroundImagePaths(
84 $identification,
85 $old_identification ?: ''
86 );
87 if ($old_identification instanceof ResourceIdentification) {
88 $this->resource_handler->handleResourceChange($old_identification);
89 }
90
91 return $identification->serialize() !== '';
92 }
93
94 public function deleteBackgroundImage(): bool
95 {
97 if ($rid instanceof ResourceIdentification) {
98 $this->certificate_settings->set('cert_bg_image', '');
99 $this->certificate_repository->updateDefaultBackgroundImagePaths('', $rid);
100 $this->resource_handler->handleResourceChange($rid);
101
102 return true;
103 }
104
105 return false;
106 }
107
108 public function hasBackgroundImage(): bool
109 {
110 return (bool) $this->certificate_settings->get('cert_bg_image', '');
111 }
112}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
Class ilObjCertificateSettings.
readonly ilCertificateTemplateDatabaseRepository $certificate_repository
readonly CertificateResourceHandler $resource_handler
readonly ilCertificateTemplateStakeholder $stakeholder
uploadBackgroundImage(UploadResult $upload_result)
Uploads a background image for the certificate.
__construct(int $a_id=0, bool $a_reference=true)
Class ilObject Basic functions for all objects.
ILIAS Setting Class.
The filesystem interface provides the public interface for the Filesystem service API consumer.
Definition: Filesystem.php:37
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26