ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 $this->skill = $a_skill;
29 $this->skill_level_id = $a_skill_level_id;
30 parent::__construct();
31 $this->lng->loadLanguageModule('skmg');
32 }
33
39 public function getCertificatePath()
40 {
41 return CLIENT_WEB_DIR."/certificates/skill/".$this->skill->getId().
42 "/".$this->skill_level_id."/";
43 }
44
52 {
53 global $lng, $ilUser;
54
57
58 $vars = $this->getBaseVariablesForPreview();
59 $vars["SKILL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTitleForCertificate());
60 $vars["SKILL_LEVEL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getLevelTitleForCertificate($this->skill_level_id));
61 $vars["SKILL_TRIGGER_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTriggerTitleForCertificate($this->skill_level_id));
62
64
65 $insert_tags = array();
66 foreach($vars as $id => $caption)
67 {
68 $insert_tags["[".$id."]"] = $caption;
69 }
70 return $insert_tags;
71 }
72
82 {
83 global $lng;
84
85 $lng->loadLanguageModule('certificate');
86
87 $user_data = $params["user_data"];
88
89 $vars = $this->getBaseVariablesForPresentation($user_data, $params["last_access"], null);
90 $vars["SKILL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTitleForCertificate());
91 $vars["SKILL_LEVEL_TITLE"] = ilUtil::prepareFormOutput($this->skill->getLevelTitleForCertificate($this->skill_level_id));
92 $vars["SKILL_TRIGGER_TITLE"] = ilUtil::prepareFormOutput($this->skill->getTriggerTitleForCertificate($this->skill_level_id));
93
94 // custom completion date
95 $achievement_date = ilBasicSkill::lookupLevelAchievementDate($user_data["usr_id"], $this->skill_level_id);
96 if ($achievement_date !== false)
97 {
100
101 $vars["DATE_COMPLETED"] = ilDatePresentation::formatDate(new ilDate($achievement_date, IL_CAL_DATETIME));
102 $vars["DATETIME_COMPLETED"] = ilDatePresentation::formatDate(new ilDateTime($achievement_date, IL_CAL_DATETIME));
103
105 }
106 else
107 {
108 $vars["DATE_COMPLETED"] = "";
109 $vars["DATETIME_COMPLETED"] = "";
110 }
111
112 foreach($vars as $id => $caption)
113 {
114 $insert_tags["[".$id."]"] = $caption;
115 }
116 return $insert_tags;
117 }
118
126 {
127 global $lng;
128
129 $lng->loadLanguageModule("skmg");
130
131 $vars = $this->getBaseVariablesDescription();
132 $vars["SKILL_TITLE"] = $lng->txt("skmg_cert_skill_title");
133 $vars["SKILL_LEVEL_TITLE"] = $lng->txt("skmg_cert_skill_level_title");
134 $vars["SKILL_TRIGGER_TITLE"] = $lng->txt("skmg_cert_skill_trigger_title");
135
136 $template = new ilTemplate("tpl.certificate_edit.html", TRUE, TRUE, "Services/Skill");
137 $template->setCurrentBlock("items");
138 foreach($vars as $id => $caption)
139 {
140 $template->setVariable("ID", $id);
141 $template->setVariable("TXT", $caption);
142 $template->parseCurrentBlock();
143 }
144
145 $template->setVariable("PH_INTRODUCTION", $lng->txt("certificate_ph_introduction"));
146
147 return $template->get();
148 }
149
159 public function addAdditionalFormElements(&$form, $form_fields)
160 {
161 global $lng;
162 /*$short_name = new ilTextInputGUI($lng->txt("certificate_short_name"), "short_name");
163 $short_name->setRequired(TRUE);
164 require_once "./Services/Utilities/classes/class.ilStr.php";
165 $short_name->setValue(strlen($form_fields["short_name"]) ? $form_fields["short_name"] : ilStr::subStr($this->object->getTitle(), 0, 30));
166 $short_name->setSize(30);
167 if (strlen($form_fields["short_name"])) {
168 $short_name->setInfo(str_replace("[SHORT_TITLE]", $form_fields["short_name"], $lng->txt("certificate_short_name_description")));
169 } else {
170 $short_name->setInfo($lng->txt("certificate_short_name_description"));
171 }
172 if (count($_POST)) $short_name->checkInput();
173 $form->addItem($short_name);
174
175 $visibility = new ilCheckboxInputGUI($lng->txt("certificate_enabled_scorm"), "certificate_enabled_scorm");
176 $visibility->setInfo($lng->txt("certificate_enabled_scorm_introduction"));
177 $visibility->setValue(1);
178 if ($form_fields["certificate_enabled_scorm"])
179 {
180 $visibility->setChecked(TRUE);
181 }
182 if (count($_POST)) $visibility->checkInput();
183 $form->addItem($visibility);*/
184 }
185
194 public function addFormFieldsFromPOST(&$form_fields)
195 {
196 //$form_fields["certificate_enabled_scorm"] = $_POST["certificate_enabled_scorm"];
197 //$form_fields["short_name"] = $_POST["short_name"];
198 }
199
208 public function addFormFieldsFromObject(&$form_fields)
209 {
210 global $ilSetting;
211 //$scormSetting = new ilSetting("scorm");
212 //$form_fields["certificate_enabled_scorm"] = $scormSetting->get("certificate_" . $this->object->getId());
213 //$form_fields["short_name"] = $scormSetting->get("certificate_short_name_" . $this->object->getId());
214 }
215
223 public function saveFormFields(&$form_fields)
224 {
225 global $ilSetting;
226 //$scormSetting = new ilSetting("scorm");
227 //$scormSetting->set("certificate_" . $this->object->getId(), $form_fields["certificate_enabled_scorm"]);
228 //$scormSetting->set("certificate_short_name_" . $this->object->getId(), $form_fields["short_name"]);
229 }
230
237 public function getAdapterType()
238 {
239 return "skill";
240 }
241
248 public function getCertificateID()
249 {
251 }
252
259 public function getCertificateFilename($params = array())
260 {
261 global $lng;
262
263 $basename = parent::getCertificateFilename($params);
264
265 $user_data = $params["user_data"];
266 if (!is_array($user_data))
267 {
268 $short_title = $this->skill->getShortTitleForCertificate();
269 return strftime("%y%m%d", time()) . "_" . $lng->txt("certificate_var_user_lastname") . "_" . $short_title . "_" . $basename;
270 }
271 else
272 {
273 return strftime("%y%m%d", time()) . "_" . $user_data["lastname"] . "_" . $params["short_title"] . "_" . $basename;
274 }
275 }
276
282 public function deleteCertificate()
283 {
284 global $ilSetting;
285 //$scormSetting = new ilSetting("scorm");
286 //$scormSetting->delete("certificate_" . $this->object->getId());
287 }
288}
289
290?>
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_DATETIME
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 $ilSetting
Definition: privfeed.php:17
$old
$ilUser
Definition: imgupload.php:18