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
24include_once "./Services/Certificate/classes/class.ilCertificateAdapter.php";
25
34{
35 protected $object;
36
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?>
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
Adapter class to provide certificate data for the certificate generator.
getBaseVariablesForPresentation($a_user_data, $a_last_access=null, $a_completion_date=false)
Get variable values.
getBaseVariablesForPreview($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable dummys.
getUserCompletionDate($a_user_id, $a_object_id=null)
Get completion for user.
getBaseVariablesDescription($a_enable_last_access=true, $a_enable_completion_date=true)
Get variable descriptions.
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...
getCertificatePath()
Returns the certificate path (with a trailing path separator)
getCertificateVariablesForPreview()
Returns an array containing all variables and values which can be exchanged in the certificate.
saveFormFields(&$form_fields)
Allows to save additional adapter form fields This method will be called when the certificate editor ...
getCertificateVariablesDescription()
Returns a description of the available certificate parameters.
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.
getCertificateVariablesForPresentation($params=array())
Returns an array containing all variables and values which can be exchanged in the certificate The va...
getAdapterType()
Returns the adapter type This value will be used to generate file names for the certificates.
__construct(&$object)
ilTestCertificateAdapter contructor
static _lookupStatus($a_obj_id, $a_user_id)
Lookup current status (notgraded|passed|failed)
static _lookupMark($a_usr_id, $a_obj_id)
static _lookupFields($a_user_id)
lookup fields (deprecated; use more specific methods instead)
This class represents a property in a property form.
This class represents an option in a radio group.
special template class to simplify handling of ITX/PEAR
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
$params
Definition: example_049.php:96