ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilCertificateGUIFactory Class Reference
+ Collaboration diagram for ilCertificateGUIFactory:

Public Member Functions

 __construct (?Container $dic=null)
 
 create (ilObject $object)
 

Private Attributes

readonly Container $dic
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilCertificateGUIFactory::__construct ( ?Container  $dic = null)

Definition at line 30 of file class.ilCertificateGUIFactory.php.

References $DIC, and $dic.

31  {
32  if (null === $dic) {
33  global $DIC;
34  $dic = $DIC;
35  }
36  $this->dic = $dic;
37  }
global $DIC
Definition: feed.php:28

Member Function Documentation

◆ create()

ilCertificateGUIFactory::create ( ilObject  $object)
Exceptions
ilException

Definition at line 42 of file class.ilCertificateGUIFactory.php.

References $DIC, ilObject\getId(), and ilObject\getType().

43  {
44  global $DIC;
45 
46  $type = $object->getType();
47  $objectId = $object->getId();
48 
49  $logger = $DIC->logger()->cert();
50 
51  $templateRepository = new ilCertificateTemplateDatabaseRepository($this->dic->database(), $logger);
52  $deleteAction = new ilCertificateTemplateDeleteAction($templateRepository);
53  $pathFactory = new ilCertificatePathFactory();
54 
55  $certificatePath = $pathFactory->create($object);
56 
57  switch ($type) {
58  case 'tst':
59  $placeholderDescriptionObject = new ilTestPlaceholderDescription();
60  $placeholderValuesObject = new ilTestPlaceholderValues();
61 
62  $formFactory = new ilCertificateSettingsTestFormRepository(
63  $objectId,
64  $certificatePath,
65  false,
66  $DIC->language(),
67  $DIC->ctrl(),
68  $DIC->access(),
69  $DIC->toolbar(),
70  $placeholderDescriptionObject
71  );
72 
73  $deleteAction = new ilCertificateTestTemplateDeleteAction(
74  $deleteAction
75  );
76 
77  break;
78  case 'crs':
79  $placeholderDescriptionObject = new ilCoursePlaceholderDescription($objectId);
80  $placeholderValuesObject = new ilCoursePlaceholderValues();
81 
83  $object,
84  $certificatePath,
85  false,
86  $DIC->language(),
87  $DIC->ctrl(),
88  $DIC->access(),
89  $DIC->toolbar(),
90  $placeholderDescriptionObject
91  );
92 
93  break;
94  case 'exc':
95  $placeholderDescriptionObject = new ilExercisePlaceholderDescription();
96  $placeholderValuesObject = new ilExercisePlaceholderValues();
97 
98  $formFactory = new ilCertificateSettingsExerciseRepository(
99  $object,
100  $certificatePath,
101  false,
102  $DIC->language(),
103  $DIC->ctrl(),
104  $DIC->access(),
105  $DIC->toolbar(),
106  $placeholderDescriptionObject
107  );
108 
109  break;
110  case 'sahs':
111  $placeholderDescriptionObject = new ilScormPlaceholderDescription($object);
112  $placeholderValuesObject = new ilScormPlaceholderValues();
113 
114  $formFactory = new ilCertificateSettingsScormFormRepository(
115  $object,
116  $certificatePath,
117  true,
118  $DIC->language(),
119  $DIC->ctrl(),
120  $DIC->access(),
121  $DIC->toolbar(),
122  $placeholderDescriptionObject
123  );
124  break;
125  case 'lti':
126  $placeholderDescriptionObject = new ilLTIConsumerPlaceholderDescription();
127  $placeholderValuesObject = new ilLTIConsumerPlaceholderValues();
128 
130  $object,
131  $certificatePath,
132  true,
133  $DIC->language(),
134  $DIC->ctrl(),
135  $DIC->access(),
136  $DIC->toolbar(),
137  $placeholderDescriptionObject
138  );
139  break;
140  case 'cmix':
141  $placeholderDescriptionObject = new ilCmiXapiPlaceholderDescription();
142  $placeholderValuesObject = new ilCmiXapiPlaceholderValues();
143 
145  $object,
146  $certificatePath,
147  true,
148  $DIC->language(),
149  $DIC->ctrl(),
150  $DIC->access(),
151  $DIC->toolbar(),
152  $placeholderDescriptionObject
153  );
154  break;
155  case 'prg':
156  $placeholderDescriptionObject = new ilStudyProgrammePlaceholderDescription();
157  $placeholderValuesObject = new ilStudyProgrammePlaceholderValues();
159  $object,
160  $certificatePath,
161  true,
162  $DIC->language(),
163  $DIC->ctrl(),
164  $DIC->access(),
165  $DIC->toolbar(),
166  $placeholderDescriptionObject
167  );
168  break;
169  default:
170  throw new ilException(sprintf('The type "%s" is currently not defined for certificates', $type));
171  }
172 
173  return new ilCertificateGUI(
174  $placeholderDescriptionObject,
175  $placeholderValuesObject,
176  $objectId,
177  $certificatePath,
178  $formFactory,
179  $deleteAction
180  );
181  }
global $DIC
Definition: feed.php:28
GUI class to create PDF certificates.
+ Here is the call graph for this function:

Field Documentation

◆ $dic

readonly Container ilCertificateGUIFactory::$dic
private

Definition at line 28 of file class.ilCertificateGUIFactory.php.

Referenced by __construct().


The documentation for this class was generated from the following file: