ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
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 
5 include_once "./Services/Certificate/classes/class.ilCertificateAdapter.php";
6 
15 {
16  protected $object;
17  private $skill;
18  private $skill_level_id;
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 
83  public function getCertificateVariablesForPresentation($params = array())
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  {
252  return $this->skill_level_id;
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 ?>