ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilSkillCertificateAdapter.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5include_once "./Services/Certificate/classes/class.ilCertificateAdapter.php";
6
15{
16 protected $object;
17 private $skill;
19
26 function __construct($a_skill, $a_skill_level_id)
27 {
28 global $lng;
29
30 $lng->loadLanguageModule("skmg");
31
32 $this->skill = $a_skill;
33 $this->skill_level_id = $a_skill_level_id;
34 }
35
41 public function getCertificatePath()
42 {
43 return CLIENT_WEB_DIR."/certificates/skill/".$this->skill->getId().
44 "/".$this->skill_level_id."/";
45 }
46
54 {
55 global $lng, $ilUser;
56
59
60 $vars = $this->getBaseVariablesForPreview();
61 $vars["SKILL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTitleForCertificate());
62 $vars["SKILL_LEVEL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getLevelTitleForCertificate($this->skill_level_id));
63 $vars["SKILL_TRIGGER_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTriggerTitleForCertificate($this->skill_level_id));
64
66
67 $insert_tags = array();
68 foreach($vars as $id => $caption)
69 {
70 $insert_tags["[".$id."]"] = $caption;
71 }
72 return $insert_tags;
73 }
74
84 {
85 global $lng;
86
87 $lng->loadLanguageModule('certificate');
88
89 $user_data = $params["user_data"];
90
91 $vars = $this->getBaseVariablesForPresentation($user_data, $params["last_access"], null);
92 $vars["SKILL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTitleForCertificate());
93 $vars["SKILL_LEVEL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getLevelTitleForCertificate($this->skill_level_id));
94 $vars["SKILL_TRIGGER_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTriggerTitleForCertificate($this->skill_level_id));
95
96 // custom completion date
97 $achievement_date = ilBasicSkill::lookupLevelAchievementDate($user_data["usr_id"], $this->skill_level_id);
98 if ($achievement_date !== false)
99 {
102
103 $vars["DATE_COMPLETED"] = ilDatePresentation::formatDate(new ilDate($achievement_date, IL_CAL_DATETIME));
104 $vars["DATETIME_COMPLETED"] = ilDatePresentation::formatDate(new ilDateTime($achievement_date, IL_CAL_DATETIME));
105
107 }
108 else
109 {
110 $vars["DATE_COMPLETED"] = "";
111 $vars["DATETIME_COMPLETED"] = "";
112 }
113
114 foreach($vars as $id => $caption)
115 {
116 $insert_tags["[".$id."]"] = $caption;
117 }
118 return $insert_tags;
119 }
120
128 {
129 global $lng;
130
131 $lng->loadLanguageModule("skmg");
132
133 $vars = $this->getBaseVariablesDescription();
134 $vars["SKILL_TITLE"] = $lng->txt("skmg_cert_skill_title");
135 $vars["SKILL_LEVEL_TITLE"] = $lng->txt("skmg_cert_skill_level_title");
136 $vars["SKILL_TRIGGER_TITLE"] = $lng->txt("skmg_cert_skill_trigger_title");
137
138 $template = new ilTemplate("tpl.certificate_edit.html", TRUE, TRUE, "Services/Skill");
139 $template->setCurrentBlock("items");
140 foreach($vars as $id => $caption)
141 {
142 $template->setVariable("ID", $id);
143 $template->setVariable("TXT", $caption);
144 $template->parseCurrentBlock();
145 }
146
147 $template->setVariable("PH_INTRODUCTION", $lng->txt("certificate_ph_introduction"));
148
149 return $template->get();
150 }
151
161 public function addAdditionalFormElements(&$form, $form_fields)
162 {
163 global $lng;
164 /*$short_name = new ilTextInputGUI($lng->txt("certificate_short_name"), "short_name");
165 $short_name->setRequired(TRUE);
166 require_once "./Services/Utilities/classes/class.ilStr.php";
167 $short_name->setValue(strlen($form_fields["short_name"]) ? $form_fields["short_name"] : ilStr::subStr($this->object->getTitle(), 0, 30));
168 $short_name->setSize(30);
169 if (strlen($form_fields["short_name"])) {
170 $short_name->setInfo(str_replace("[SHORT_TITLE]", $form_fields["short_name"], $lng->txt("certificate_short_name_description")));
171 } else {
172 $short_name->setInfo($lng->txt("certificate_short_name_description"));
173 }
174 if (count($_POST)) $short_name->checkInput();
175 $form->addItem($short_name);
176
177 $visibility = new ilCheckboxInputGUI($lng->txt("certificate_enabled_scorm"), "certificate_enabled_scorm");
178 $visibility->setInfo($lng->txt("certificate_enabled_scorm_introduction"));
179 $visibility->setValue(1);
180 if ($form_fields["certificate_enabled_scorm"])
181 {
182 $visibility->setChecked(TRUE);
183 }
184 if (count($_POST)) $visibility->checkInput();
185 $form->addItem($visibility);*/
186 }
187
196 public function addFormFieldsFromPOST(&$form_fields)
197 {
198 //$form_fields["certificate_enabled_scorm"] = $_POST["certificate_enabled_scorm"];
199 //$form_fields["short_name"] = $_POST["short_name"];
200 }
201
210 public function addFormFieldsFromObject(&$form_fields)
211 {
212 global $ilSetting;
213 //$scormSetting = new ilSetting("scorm");
214 //$form_fields["certificate_enabled_scorm"] = $scormSetting->get("certificate_" . $this->object->getId());
215 //$form_fields["short_name"] = $scormSetting->get("certificate_short_name_" . $this->object->getId());
216 }
217
225 public function saveFormFields(&$form_fields)
226 {
227 global $ilSetting;
228 //$scormSetting = new ilSetting("scorm");
229 //$scormSetting->set("certificate_" . $this->object->getId(), $form_fields["certificate_enabled_scorm"]);
230 //$scormSetting->set("certificate_short_name_" . $this->object->getId(), $form_fields["short_name"]);
231 }
232
239 public function getAdapterType()
240 {
241 return "skill";
242 }
243
250 public function getCertificateID()
251 {
253 }
254
261 public function getCertificateFilename($params = array())
262 {
263 global $lng;
264
265 $basename = parent::getCertificateFilename($params);
266
267 $user_data = $params["user_data"];
268 if (!is_array($user_data))
269 {
270 $short_title = $this->skill->getShortTitleForCertificate();
271 return strftime("%y%m%d", time()) . "_" . $lng->txt("certificate_var_user_lastname") . "_" . $short_title . "_" . $basename;
272 }
273 else
274 {
275 return strftime("%y%m%d", time()) . "_" . $user_data["lastname"] . "_" . $params["short_title"] . "_" . $basename;
276 }
277 }
278
284 public function deleteCertificate()
285 {
286 global $ilSetting;
287 //$scormSetting = new ilSetting("scorm");
288 //$scormSetting->delete("certificate_" . $this->object->getId());
289 }
290}
291
292?>
const IL_CAL_DATETIME
lookupLevelAchievementDate($a_user_id, $a_level_id, $a_self_eval=0)
Lookup level achievement date.
Adapter class to provide certificate data for the certificate generator.
getBaseVariablesForPresentation($a_user_data, $a_last_access=null, $a_completion_date=false)
Get variable values.
getBaseVariablesForPreview($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable dummys.
getBaseVariablesDescription($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable descriptions.
static setUseRelativeDates($a_status)
set use relative dates
static formatDate(ilDateTime $date)
Format a date @access public.
static useRelativeDates()
check if relative dates are used
@classDescription Date and time handling
Class for single dates.
addFormFieldsFromObject(&$form_fields)
Allows to add additional form values to the array of form values evaluating the associated adapter cl...
getCertificateVariablesForPresentation($params=array())
Returns an array containing all variables and values which can be exchanged in the certificate The va...
getCertificateVariablesForPreview()
Returns an array containing all variables and values which can be exchanged in the certificate.
addFormFieldsFromPOST(&$form_fields)
Allows to add additional form values to the array of form values evaluating a HTTP POST action.
getCertificateFilename($params=array())
Set the name of the certificate file This method will be called when the certificate will be generate...
getAdapterType()
Returns the adapter type This value will be used to generate file names for the certificates.
getCertificateID()
Returns a certificate ID This value will be used to generate unique file names for the certificates.
getCertificateVariablesDescription()
Returns a description of the available certificate parameters.
getCertificatePath()
Returns the certificate path (with a trailing path separator)
deleteCertificate()
Is called when the certificate is deleted Add some adapter specific code if more work has to be done ...
addAdditionalFormElements(&$form, $form_fields)
Allows to add additional form fields to the certificate editor form This method will be called when t...
__construct($a_skill, $a_skill_level_id)
Contructor.
saveFormFields(&$form_fields)
Allows to save additional adapter form fields This method will be called when the certificate editor ...
special template class to simplify handling of ITX/PEAR
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
$params
Definition: example_049.php:96
global $lng
Definition: privfeed.php:40
global $ilSetting
Definition: privfeed.php:40
global $ilUser
Definition: imgupload.php:15