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 
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  $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  {
250  return $this->skill_level_id;
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 ?>
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.
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
$ilUser
Definition: imgupload.php:18
getCertificateID()
Returns a certificate ID This value will be used to generate unique file names for the certificates...
$old
addFormFieldsFromPOST(&$form_fields)
Allows to add additional form values to the array of form values evaluating a HTTP POST action...
Create styles array
The data for the language used.
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 $ilSetting
Definition: privfeed.php:17
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 ...
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
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...
$params
Definition: example_049.php:96
getAdapterType()
Returns the adapter type This value will be used to generate file names for the certificates.