ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilTestCertificateAdapter Class Reference

Test certificate adapter. More...

+ Inheritance diagram for ilTestCertificateAdapter:
+ Collaboration diagram for ilTestCertificateAdapter:

Public Member Functions

 __construct (&$object)
 ilTestCertificateAdapter contructor More...
 
 getCertificatePath ()
 Returns the certificate path (with a trailing path separator) More...
 
 getCertificateVariablesForPreview ()
 Returns an array containing all variables and values which can be exchanged in the certificate. More...
 
 getCertificateVariablesForPresentation ($params=array())
 Returns an array containing all variables and values which can be exchanged in the certificate The values should be calculated from real data. More...
 
 getCertificateVariablesDescription ()
 Returns a description of the available certificate parameters. More...
 
 addAdditionalFormElements (&$form, $form_fields)
 Allows to add additional form fields to the certificate editor form This method will be called when the certificate editor form will built using the ilPropertyFormGUI class. More...
 
 addFormFieldsFromPOST (&$form_fields)
 Allows to add additional form values to the array of form values evaluating a HTTP POST action. More...
 
 addFormFieldsFromObject (&$form_fields)
 Allows to add additional form values to the array of form values evaluating the associated adapter class if one exists This method will be called when the certificate editor form will be shown and the content of the form has to be retrieved from wherever the form values are saved. More...
 
 saveFormFields (&$form_fields)
 Allows to save additional adapter form fields This method will be called when the certificate editor form is complete and the form values will be saved. More...
 
 getAdapterType ()
 Returns the adapter type This value will be used to generate file names for the certificates. More...
 
 getCertificateID ()
 Returns a certificate ID This value will be used to generate unique file names for the certificates. More...
 
 getUserIdForParams ($a_params)
 Get user id for params. More...
 
- Public Member Functions inherited from ilCertificateAdapter
 __construct ()
 ilCertificateAdapter constructor. More...
 
 getCertificatePath ()
 Returns the certificate path (with a trailing path separator) More...
 
 getCertificateVariablesForPreview ()
 Returns an array containing all variables and values which can be exchanged in the certificate. More...
 
 getCertificateVariablesForPresentation ($params=array())
 Returns an array containing all variables and values which can be exchanged in the certificate The values should be calculated from real data. More...
 
 getCertificateVariablesDescription ()
 Returns a description of the available certificate parameters. More...
 
 getAdapterType ()
 Returns the adapter type This value will be used to generate file names for the certificates. More...
 
 getCertificateID ()
 Returns a certificate ID This value will be used to generate unique file names for the certificates. More...
 
 addAdditionalFormElements (&$form, $form_fields)
 Allows to add additional form fields to the certificate editor form This method will be called when the certificate editor form will built using the ilPropertyFormGUI class. More...
 
 addFormFieldsFromPOST (&$form_fields)
 Allows to add additional form values to the array of form values evaluating a HTTP POST action. More...
 
 addFormFieldsFromObject (&$form_fields)
 Allows to add additional form values to the array of form values evaluating the associated adapter class if one exists This method will be called when the certificate editor form will be shown and the content of the form has to be retrieved from wherever the form values are saved. More...
 
 saveFormFields (&$form_fields)
 Allows to save additional adapter form fields This method will be called when the certificate editor form is complete and the form values will be saved. More...
 
 deleteCertificate ()
 Is called when the certificate is deleted Add some adapter specific code if more work has to be done when the certificate file was deleted. More...
 
 getCertificateFilename ($params=array())
 Set the name of the certificate file This method will be called when the certificate will be generated. More...
 
 getUserIdForParams ($a_params)
 Get user id for params. More...
 

Protected Attributes

 $object
 
- Protected Attributes inherited from ilCertificateAdapter
 $lng
 

Additional Inherited Members

- Protected Member Functions inherited from ilCertificateAdapter
 getBaseVariablesDescription ($a_enable_last_access=true, $a_enable_completion_date=true)
 Get variable descriptions. More...
 
 getBaseVariablesForPreview ($a_enable_last_access=true, $a_enable_completion_date=true)
 Get variable dummys. More...
 
 getBaseVariablesForPresentation ($a_user_data, $a_last_access=null, $a_completion_date=false)
 Get variable values. More...
 
 getUserCompletionDate ($a_user_id, $a_object_id=null)
 Get completion for user. More...
 

Detailed Description

Test certificate adapter.

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Version
$Id$

Definition at line 13 of file class.ilTestCertificateAdapter.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestCertificateAdapter::__construct ( $object)

ilTestCertificateAdapter contructor

Parameters
object$objectA reference to a test object

Definition at line 22 of file class.ilTestCertificateAdapter.php.

References $object.

23  {
24  $this->object =& $object;
25  parent::__construct();
26  }

Member Function Documentation

◆ addAdditionalFormElements()

ilTestCertificateAdapter::addAdditionalFormElements ( $form,
  $form_fields 
)

Allows to add additional form fields to the certificate editor form This method will be called when the certificate editor form will built using the ilPropertyFormGUI class.

Additional fields will be added at the bottom of the form.

Parameters
object$formAn ilPropertyFormGUI instance
array$form_fieldsAn array containing the form values. The array keys are the names of the form fields

Definition at line 184 of file class.ilTestCertificateAdapter.php.

References $_POST, ilCertificateAdapter\$lng, and ilRadioGroupInputGUI\addOption().

185  {
186  global $lng;
187 
188  $visibility = new ilRadioGroupInputGUI($lng->txt("certificate_visibility"), "certificate_visibility");
189  $visibility->addOption(new ilRadioOption($lng->txt("certificate_visibility_always"), 0));
190  $visibility->addOption(new ilRadioOption($lng->txt("certificate_visibility_passed"), 1));
191  $visibility->addOption(new ilRadioOption($lng->txt("certificate_visibility_never"), 2));
192  $visibility->setInfo($lng->txt("certificate_visibility_introduction"));
193  $visibility->setValue($form_fields["certificate_visibility"]);
194  if (count($_POST)) $visibility->checkInput();
195  $form->addItem($visibility);
196  }
This class represents an option in a radio group.
This class represents a property in a property form.
addOption($a_option)
Add Option.
$_POST["username"]
+ Here is the call graph for this function:

◆ addFormFieldsFromObject()

ilTestCertificateAdapter::addFormFieldsFromObject ( $form_fields)

Allows to add additional form values to the array of form values evaluating the associated adapter class if one exists This method will be called when the certificate editor form will be shown and the content of the form has to be retrieved from wherever the form values are saved.

Parameters
array$form_fieldsA reference to the array of form values

Definition at line 219 of file class.ilTestCertificateAdapter.php.

220  {
221  $form_fields["certificate_visibility"] = $this->object->getCertificateVisibility();
222  }

◆ addFormFieldsFromPOST()

ilTestCertificateAdapter::addFormFieldsFromPOST ( $form_fields)

Allows to add additional form values to the array of form values evaluating a HTTP POST action.

This method will be called when the certificate editor form will be saved using the form save button.

Parameters
array$form_fieldsA reference to the array of form values

Definition at line 206 of file class.ilTestCertificateAdapter.php.

References $_POST.

207  {
208  $form_fields["certificate_visibility"] = $_POST["certificate_visibility"];
209  }
$_POST["username"]

◆ getAdapterType()

ilTestCertificateAdapter::getAdapterType ( )

Returns the adapter type This value will be used to generate file names for the certificates.

Returns
string A string value to represent the adapter type

Definition at line 242 of file class.ilTestCertificateAdapter.php.

243  {
244  return "test";
245  }

◆ getCertificateID()

ilTestCertificateAdapter::getCertificateID ( )

Returns a certificate ID This value will be used to generate unique file names for the certificates.

Returns
mixed A unique ID which represents a certificate

Definition at line 253 of file class.ilTestCertificateAdapter.php.

254  {
255  return $this->object->getId();
256  }

◆ getCertificatePath()

ilTestCertificateAdapter::getCertificatePath ( )

Returns the certificate path (with a trailing path separator)

Returns
string The certificate path

Definition at line 33 of file class.ilTestCertificateAdapter.php.

34  {
35  return CLIENT_WEB_DIR . "/assessment/certificates/" . $this->object->getId() . "/";
36  }

◆ getCertificateVariablesDescription()

ilTestCertificateAdapter::getCertificateVariablesDescription ( )

Returns a description of the available certificate parameters.

The description will be shown at the bottom of the certificate editor text area.

Returns
string The certificate parameters description

Definition at line 147 of file class.ilTestCertificateAdapter.php.

References ilCertificateAdapter\$lng, and ilCertificateAdapter\getBaseVariablesDescription().

148  {
149  global $lng;
150 
151  $vars = $this->getBaseVariablesDescription(false);
152  $vars["RESULT_PASSED"] = $lng->txt("certificate_ph_passed");
153  $vars["RESULT_POINTS"] = $lng->txt("certificate_ph_resultpoints");
154  $vars["RESULT_PERCENT"] = $lng->txt("certificate_ph_resultpercent");
155  $vars["MAX_POINTS"] = $lng->txt("certificate_ph_maxpoints");
156  $vars["RESULT_MARK_SHORT"] = $lng->txt("certificate_ph_markshort");
157  $vars["RESULT_MARK_LONG"] = $lng->txt("certificate_ph_marklong");
158  $vars["TEST_TITLE"] = $lng->txt("certificate_ph_testtitle");
159 
160  $template = new ilTemplate("tpl.il_as_tst_certificate_edit.html", TRUE, TRUE, "Modules/Test");
161  $template->setCurrentBlock("items");
162  foreach($vars as $id => $caption)
163  {
164  $template->setVariable("ID", $id);
165  $template->setVariable("TXT", $caption);
166  $template->parseCurrentBlock();
167  }
168 
169 
170  $template->setVariable("PH_INTRODUCTION", $lng->txt("certificate_ph_introduction"));
171 
172  return $template->get();
173  }
special template class to simplify handling of ITX/PEAR
getBaseVariablesDescription($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable descriptions.
+ Here is the call graph for this function:

◆ getCertificateVariablesForPresentation()

ilTestCertificateAdapter::getCertificateVariablesForPresentation (   $params = array())

Returns an array containing all variables and values which can be exchanged in the certificate The values should be calculated from real data.

The $params parameter array should contain all necessary information to calculate the values.

Parameters
array$paramsAn array of parameters to calculate the certificate parameter values
Returns
array The certificate variables

Definition at line 74 of file class.ilTestCertificateAdapter.php.

References ilCertificateAdapter\$lng, $params, $pass, ilObjUserTracking\_enabledLearningProgress(), ilObjUser\_lookupFields(), ilCertificateAdapter\getBaseVariablesForPresentation(), ilCertificateAdapter\getUserCompletionDate(), IL_CAL_DATETIME, IL_CAL_UNIX, object, and ilUtil\prepareFormOutput().

75  {
76  global $lng;
77 
78  $active_id = $params["active_id"];
79  $pass = $params["pass"];
80  $userfilter = array_key_exists("userfilter", $params) ? $params["userfilter"] : "";
81  $passedonly = array_key_exists("passedonly", $params) ? $params["passedonly"] : FALSE;
82  if (strlen($pass))
83  {
84  $result_array =& $this->object->getTestResult($active_id, $pass);
85  }
86  else
87  {
88  $result_array =& $this->object->getTestResult($active_id);
89  }
90  if (($passedonly) && ($result_array["test"]["passed"] == FALSE)) return "";
91  $passed = $result_array["test"]["passed"] ? $lng->txt("certificate_passed") : $lng->txt("certificate_failed");
92  if (!$result_array["test"]["total_max_points"])
93  {
94  $percentage = 0;
95  }
96  else
97  {
98  $percentage = ($result_array["test"]["total_reached_points"]/$result_array["test"]["total_max_points"])*100;
99  }
100  $mark_obj = $this->object->mark_schema->getMatchingMark($percentage);
101  $user_id = $this->object->_getUserIdFromActiveId($active_id);
102  include_once './Services/User/classes/class.ilObjUser.php';
103  $user_data = ilObjUser::_lookupFields($user_id);
104 
105  if (strlen($userfilter))
106  {
107  if (!@preg_match("/$userfilter/i", $user_data["lastname"] . ", " . $user_data["firstname"] . " " . $user_data["title"]))
108  {
109  return "";
110  }
111  }
112 
113  require_once 'Services/Tracking/classes/class.ilObjUserTracking.php';
114  if(ilObjUserTracking::_enabledLearningProgress() && $user_data["usr_id"] > 0)
115  {
116  $completion_date = $this->getUserCompletionDate($user_data["usr_id"]);
117  }
118  else
119  {
120  $dt = new ilDateTime($result_array['test']['result_tstamp'], IL_CAL_UNIX);
121  $completion_date = $dt->get(IL_CAL_DATETIME);
122  }
123 
124  $vars = $this->getBaseVariablesForPresentation($user_data, null, $completion_date);
125  $vars["RESULT_PASSED"] = ilUtil::prepareFormOutput($passed);
126  $vars["RESULT_POINTS"] = ilUtil::prepareFormOutput($result_array["test"]["total_reached_points"]);
127  $vars["RESULT_PERCENT"] = sprintf("%2.2f", $percentage) . "%";
128  $vars["MAX_POINTS"] = ilUtil::prepareFormOutput($result_array["test"]["total_max_points"]);
129  $vars["RESULT_MARK_SHORT"] = ilUtil::prepareFormOutput($mark_obj->getShortName());
130  $vars["RESULT_MARK_LONG"] = ilUtil::prepareFormOutput($mark_obj->getOfficialName());
131  $vars["TEST_TITLE"] = ilUtil::prepareFormOutput($this->object->getTitle());
132 
133  foreach($vars as $id => $caption)
134  {
135  $insert_tags["[".$id."]"] = $caption;
136  }
137 
138  return $insert_tags;
139  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
getUserCompletionDate($a_user_id, $a_object_id=null)
Get completion for user.
const IL_CAL_DATETIME
const IL_CAL_UNIX
static _enabledLearningProgress()
check wether learing progress is enabled or not
Date and time handling
Create new PHPExcel object
obj_idprivate
static _lookupFields($a_user_id)
lookup fields (deprecated; use more specific methods instead)
getBaseVariablesForPresentation($a_user_data, $a_last_access=null, $a_completion_date=false)
Get variable values.
$params
Definition: example_049.php:96
+ Here is the call graph for this function:

◆ getCertificateVariablesForPreview()

ilTestCertificateAdapter::getCertificateVariablesForPreview ( )

Returns an array containing all variables and values which can be exchanged in the certificate.

The values will be taken for the certificate preview.

Returns
array The certificate variables

Definition at line 44 of file class.ilTestCertificateAdapter.php.

References ilCertificateAdapter\$lng, array, ilCertificateAdapter\getBaseVariablesForPreview(), object, and ilUtil\prepareFormOutput().

45  {
46  global $lng;
47 
48  $vars = $this->getBaseVariablesForPreview(false);
49  $vars["RESULT_PASSED"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_passed"));
50  $vars["RESULT_POINTS"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_points"));
51  $vars["RESULT_PERCENT"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_percent"));
52  $vars["MAX_POINTS"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_max_points"));
53  $vars["RESULT_MARK_SHORT"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_mark_short"));
54  $vars["RESULT_MARK_LONG"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_mark_long"));
55  $vars["TEST_TITLE"] = ilUtil::prepareFormOutput($this->object->getTitle());
56 
57  $insert_tags = array();
58  foreach($vars as $id => $caption)
59  {
60  $insert_tags["[".$id."]"] = $caption;
61  }
62 
63  return $insert_tags;
64  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate
getBaseVariablesForPreview($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable dummys.
+ Here is the call graph for this function:

◆ getUserIdForParams()

ilTestCertificateAdapter::getUserIdForParams (   $a_params)

Get user id for params.

Parameters

Definition at line 264 of file class.ilTestCertificateAdapter.php.

265  {
266  return $this->object->_getUserIdFromActiveId($a_params["active_id"]);
267  }

◆ saveFormFields()

ilTestCertificateAdapter::saveFormFields ( $form_fields)

Allows to save additional adapter form fields This method will be called when the certificate editor form is complete and the form values will be saved.

Parameters
array$form_fieldsA reference to the array of form values

Definition at line 231 of file class.ilTestCertificateAdapter.php.

232  {
233  $this->object->saveCertificateVisibility($form_fields["certificate_visibility"]);
234  }

Field Documentation

◆ $object

ilTestCertificateAdapter::$object
protected

Definition at line 15 of file class.ilTestCertificateAdapter.php.

Referenced by __construct().


The documentation for this class was generated from the following file: