ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilCertificateScormPdfFilename.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
25  private ilLanguage $lng;
26 
27  public function __construct(ilCertificateFilename $origin, ilLanguage $lng, ilSetting $scormSetting)
28  {
29  $this->scormSetting = $scormSetting;
30  $this->origin = $origin;
31  $this->lng = $lng;
32  }
33 
34  public function createFileName(ilUserCertificatePresentation $presentation): string
35  {
36  $fileName = $this->origin->createFileName($presentation);
37 
38  if (null === $presentation->getUserCertificate()) {
39  $fileNameParts = implode('_', array_filter([
40  $this->lng->txt('certificate_var_user_lastname'),
41  $this->scormSetting->get('certificate_short_name_' . $presentation->getObjId(), ''),
42  ]));
43  } else {
44  $short_name = $this->scormSetting->get('certificate_short_name_' . $presentation->getObjId(), '');
45  $fileNameParts = implode('_', array_filter([
46  $presentation->getUserName(),
47  $short_name ?: $presentation->getObjectTitle(),
48  ]));
49  }
50 
51  return implode('_', array_filter([
52  strftime('%y%m%d', time()),
53  $fileNameParts,
54  $fileName
55  ]));
56  }
57 }
createFileName(ilUserCertificatePresentation $presentation)
__construct(ilCertificateFilename $origin, ilLanguage $lng, ilSetting $scormSetting)