125 $this->
help->setScreenIdComponent(
'cert');
127 if (!$this->certificateSettings->get(
'active',
'0')) {
128 $this->
ctrl->redirect($this);
133 $this->certificateLogger,
134 $this->
language->txt(
'certificate_no_object_title')
139 $this->
user->getId(),
141 'order_field' => explode(
'_', $sorting)[0],
142 'order_direction' => explode(
'_', $sorting)[1],
143 'language' => $this->
user->getLanguage()
150 if (
$data[
'items'] !== []) {
154 foreach ($this->sortationOptions as $fieldAndDirection => $lngVariable) {
158 $sortViewControl = $this->uiFactory
161 ->withTargetURL($this->
ctrl->getLinkTarget($this,
'applySortation'),
'sort_by');
163 $uiComponents[] = $sortViewControl;
165 foreach (
$data[
'items'] as $certificateData) {
166 $tile_image_identification = $certificateData[
'tile_image_ident'] ??
'';
168 if ($tile_image_identification ===
'' || $tile_image_identification ===
'-') {
169 $tile_image_identification = $certificateData[
'tile_image_path'] ??
'';
170 if ($tile_image_identification !==
'' && $this->
filesystem->has($tile_image_identification)) {
176 $tile_image_rid = $this->irss->manage()->find($tile_image_identification);
178 $imagePath = $this->irss->consume()->src($tile_image_rid)->getSrc(
true);
182 if ($imagePath ===
'') {
186 $cardImage = $this->uiFactory->image()->standard(
188 $certificateData[
'title']
193 if ($certificateData[
'description'] !==
'') {
194 $sections[] = $this->uiFactory->listing()->descriptive([
195 $this->
language->txt(
'cert_description_label') => $certificateData[
'description']
201 $sections[] = $this->uiFactory->listing()->descriptive([
208 $objectTypeIcon = $this->uiFactory
211 ->standard($certificateData[
'obj_type'], $certificateData[
'obj_type'])
214 $objectTitle = $certificateData[
'title'];
216 foreach ($refIds as
$refId) {
217 if ($this->
access->checkAccess(
'read',
'', $refId)) {
218 $objectTitle = $this->uiRenderer->render(
219 $this->uiFactory->link()->standard($objectTitle, ilLink::_getLink($refId))
226 $sections[] = $this->uiFactory->listing()->descriptive([$this->
language->txt(
'cert_object_label') => implode(
229 $this->uiRenderer->render($objectTypeIcon),
235 $this->
ctrl->setParameter($this,
'certificate_id', $certificateData[
'id']);
236 $downloadHref = $this->
ctrl->getLinkTarget($this,
'download');
237 $this->
ctrl->clearParameters($this);
238 $sections[] = $this->uiFactory->button()->standard(
'Download', $downloadHref);
240 $card = $this->uiFactory
242 ->standard($certificateData[
'title'], $cardImage)
243 ->withSections($sections)
249 $deck = $this->uiFactory->deck($cards)->withSmallCardsSize();
251 $uiComponents[] = $this->uiFactory->divider()->horizontal();
253 $uiComponents[] = $deck;
255 $this->
template->setOnScreenMessage(
'info', $this->
language->txt(
'cert_currently_no_certs'));
258 $this->
template->setContent($this->uiRenderer->render($uiComponents));
static getWebspaceDir(string $mode="filesystem")
get webspace directory
static array static setUseRelativeDates(bool $a_status)
set use relative dates
static _getAllReferences(int $id)
get all reference ids for object ID
static useRelativeDates()
Class ResourceIdentification.
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
static signFile(string $path_to_file)
language()
description: > Example for rendring a language glyph.