ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules 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 ?>
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
const IL_CAL_DATETIME
addFormFieldsFromObject(&$form_fields)
Allows to add additional form values to the array of form values evaluating the associated adapter cl...
addAdditionalFormElements(&$form, $form_fields)
Allows to add additional form fields to the certificate editor form This method will be called when t...
getCertificateVariablesDescription()
Returns a description of the available certificate parameters.
getCertificateVariablesForPresentation($params=array())
Returns an array containing all variables and values which can be exchanged in the certificate The va...
getCertificateFilename($params=array())
Set the name of the certificate file This method will be called when the certificate will be generate...
static setUseRelativeDates($a_status)
set use relative dates
static useRelativeDates()
check if relative dates are used
getCertificatePath()
Returns the certificate path (with a trailing path separator)
Class for single dates.
lookupLevelAchievementDate($a_user_id, $a_level_id, $a_self_eval=0)
Lookup level achievement date.
special template class to simplify handling of ITX/PEAR
static formatDate(ilDateTime $date)
Format a date public.
getBaseVariablesDescription($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable descriptions.
Date and time handling
getCertificateID()
Returns a certificate ID This value will be used to generate unique file names for the certificates...
addFormFieldsFromPOST(&$form_fields)
Allows to add additional form values to the array of form values evaluating a HTTP POST action...
saveFormFields(&$form_fields)
Allows to save additional adapter form fields This method will be called when the certificate editor ...
__construct($a_skill, $a_skill_level_id)
Contructor.
global $ilUser
Definition: imgupload.php:15
global $ilSetting
Definition: privfeed.php:40
global $lng
Definition: privfeed.php:40
Adapter class to provide certificate data for the certificate generator.
deleteCertificate()
Is called when the certificate is deleted Add some adapter specific code if more work has to be done ...
getBaseVariablesForPreview($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable dummys.
getBaseVariablesForPresentation($a_user_data, $a_last_access=null, $a_completion_date=false)
Get variable values.
getCertificateVariablesForPreview()
Returns an array containing all variables and values which can be exchanged in the certificate...
getAdapterType()
Returns the adapter type This value will be used to generate file names for the certificates.