ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilExerciseCertificateAdapter.php
Go to the documentation of this file.
1 <?php
2  /*
3  +----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +----------------------------------------------------------------------------+
22 */
23 
24 include_once "./Services/Certificate/classes/class.ilCertificateAdapter.php";
25 
34 {
35  protected $object;
36 
42  function __construct(&$object)
43  {
44  $this->object =& $object;
45  parent::__construct();
46  }
47 
53  public function getCertificatePath()
54  {
55  return CLIENT_WEB_DIR . "/exercise/certificates/" . $this->object->getId() . "/";
56  }
57 
65  {
66  global $lng;
67 
68  $vars = $this->getBaseVariablesForPreview(false);
69  $vars["RESULT_PASSED"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_passed"));
70  $vars["RESULT_MARK"] = ilUtil::prepareFormOutput($lng->txt("certificate_var_result_mark_short"));
71  $vars["EXERCISE_TITLE"] = ilUtil::prepareFormOutput($this->object->getTitle());
72 
73  $insert_tags = array();
74  foreach($vars as $id => $caption)
75  {
76  $insert_tags["[".$id."]"] = $caption;
77  }
78  return $insert_tags;
79  }
80 
90  {
91  global $lng;
92 
93  $user_id = $params["user_id"];
94 
95  include_once 'Services/Tracking/classes/class.ilLPMarks.php';
96  $mark = ilLPMarks::_lookupMark($user_id, $this->object->getId());
97  include_once 'Modules/Exercise/classes/class.ilExerciseMembers.php';
98  $status = ilExerciseMembers::_lookupStatus($this->object->getId(), $user_id);
99 
100  $user_data = ilObjUser::_lookupFields($user_id);
101  $completion_date = $this->getUserCompletionDate($user_id);
102 
103  $vars = $this->getBaseVariablesForPresentation($user_data, null, $completion_date);
104  $vars["RESULT_PASSED"] = ilUtil::prepareFormOutput($lng->txt("exc_".$status));
105  $vars["RESULT_MARK"] = ilUtil::prepareFormOutput($mark);
106  $vars["EXERCISE_TITLE"] = ilUtil::prepareFormOutput($this->object->getTitle());
107 
108  foreach($vars as $id => $caption)
109  {
110  $insert_tags["[".$id."]"] = $caption;
111  }
112  return $insert_tags;
113  }
114 
122  {
123  global $lng;
124 
125  $vars = $this->getBaseVariablesDescription(false);
126  $vars["RESULT_PASSED"] = $lng->txt("certificate_ph_passed_exercise");
127  $vars["RESULT_MARK"] = $lng->txt("certificate_ph_mark");
128  $vars["EXERCISE_TITLE"] = $lng->txt("certificate_ph_exercisetitle");
129 
130  $template = new ilTemplate("tpl.certificate_edit.html", TRUE, TRUE, "Modules/Exercise");
131  $template->setCurrentBlock("items");
132  foreach($vars as $id => $caption)
133  {
134  $template->setVariable("ID", $id);
135  $template->setVariable("TXT", $caption);
136  $template->parseCurrentBlock();
137  }
138 
139  $template->setVariable("PH_INTRODUCTION", $lng->txt("certificate_ph_introduction"));
140 
141  return $template->get();
142  }
143 
144  public function addAdditionalFormElements(&$form, $form_fields)
145  {
146  global $lng;
147 
148  $visibility = new ilRadioGroupInputGUI($lng->txt("certificate_visibility"), "certificate_visibility");
149  $visibility->addOption(new ilRadioOption($lng->txt("certificate_visibility_always"), 0));
150  $visibility->addOption(new ilRadioOption($lng->txt("certificate_visibility_passed_exercise"), 1));
151  $visibility->addOption(new ilRadioOption($lng->txt("certificate_visibility_never"), 2));
152  $visibility->setValue($form_fields["certificate_visibility"]);
153  if (count($_POST)) $visibility->checkInput();
154  $form->addItem($visibility);
155  }
156 
157  public function addFormFieldsFromPOST(&$form_fields)
158  {
159  $form_fields["certificate_visibility"] = $_POST["certificate_visibility"];
160  }
161 
162  public function addFormFieldsFromObject(&$form_fields)
163  {
164  $form_fields["certificate_visibility"] = $this->object->getCertificateVisibility();
165  }
166 
167  public function saveFormFields(&$form_fields)
168  {
169  $this->object->saveCertificateVisibility($form_fields["certificate_visibility"]);
170  }
171 
178  public function getAdapterType()
179  {
180  return "exc";
181  }
182 
189  public function getCertificateID()
190  {
191  return $this->object->getId();
192  }
193 }
194 
195 ?>
getCertificateVariablesDescription()
Returns a description of the available certificate parameters.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
This class represents an option in a radio group.
__construct(&$object)
ilTestCertificateAdapter contructor
getUserCompletionDate($a_user_id, $a_object_id=null)
Get completion for user.
getCertificateVariablesForPreview()
Returns an array containing all variables and values which can be exchanged in the certificate...
This class represents a property in a property form.
addOption($a_option)
Add Option.
static _lookupStatus($a_obj_id, $a_user_id)
Lookup current status (notgraded|passed|failed)
special template class to simplify handling of ITX/PEAR
getCertificateVariablesForPresentation($params=array())
Returns an array containing all variables and values which can be exchanged in the certificate The va...
getBaseVariablesDescription($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable descriptions.
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate
getAdapterType()
Returns the adapter type This value will be used to generate file names for the certificates.
Adapter class to provide certificate data for the certificate generator.
static _lookupFields($a_user_id)
lookup fields (deprecated; use more specific methods instead)
getCertificatePath()
Returns the certificate path (with a trailing path separator)
static _lookupMark($a_usr_id, $a_obj_id)
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.
getCertificateID()
Returns a certificate ID This value will be used to generate unique file names for the certificates...
$_POST["username"]
$params
Definition: example_049.php:96