4 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
5 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
6 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
7 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
50 $ilObjDataCache = $DIC[
'ilObjDataCache'];
52 $this->ref_id = $a_ref_id;
53 $this->obj_id = $ilObjDataCache->lookupObjId($this->ref_id);
58 $this->lng->loadLanguageModule(
'ps');
73 $next_class = $this->ctrl->getNextClass($this);
74 $cmd = $this->ctrl->getCmd();
76 switch ($next_class) {
78 if (!$cmd
or $cmd ==
'view') {
79 $cmd =
'showAgreement';
116 self::setCourseDefinedFieldValues(
$form, $this->obj_id,
$ilUser->getId());
119 $this->tpl->setContent(
$form->getHTML());
127 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
129 $form->setTitle($this->lng->txt($this->type .
'_agreement_header'));
130 $form->setFormAction(
$GLOBALS[
'DIC'][
'ilCtrl']->getFormAction($this));
131 $form->addCommandButton(
'save', $this->lng->txt(
'save'));
133 $form = self::addExportFieldInfo(
$form, $this->obj_id, $this->type);
134 $form = self::addCustomFields(
$form, $this->obj_id, $this->type);
136 if ($this->
getPrivacy()->confirmationRequired($this->type)) {
137 $form = self::addAgreement(
$form, $this->obj_id, $this->type);
157 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
161 $tpl =
new ilTemplate(
'tpl.agreement_form.html',
true,
true,
'Services/Membership');
162 $tpl->setVariable(
'TXT_INFO_AGREEMENT',
$lng->txt(
$a_type .
'_info_agreement'));
163 foreach ($fields_info->getExportableFields() as $field) {
164 $tpl->setCurrentBlock(
'field_item');
165 $tpl->setVariable(
'FIELD_NAME',
$lng->txt($field));
166 $tpl->parseCurrentBlock();
171 include_once(
'Services/User/classes/class.ilUserDefinedFields.php');
173 $tpl->setCurrentBlock(
'field_item');
174 $tpl->setVariable(
'FIELD_NAME', $field[
'field_name']);
175 $tpl->parseCurrentBlock();
179 $form->addItem($fields);
217 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
218 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
224 if ($a_mode ==
'user') {
227 $cdf->setRequired(
true);
230 foreach ($cdf_fields as $field_obj) {
231 switch ($field_obj->getType()) {
234 if ($field_obj->getValueOptions()) {
237 if ($field_obj->isRequired()) {
241 $open_answer_indexes = (array) $field_obj->getValueOptions();
242 foreach ($field_obj->getValues() as
$key => $val) {
246 if (in_array($key, $open_answer_indexes)) {
247 $open_answer =
new ilTextInputGUI(
$lng->txt(
"form_open_answer"),
'cdf_oa_' . $field_obj->getId() .
'_' .
$key);
249 $option_radio->addSubItem($open_answer);
252 $option_radios->addOption($option_radio);
254 if ($a_mode ==
'user') {
255 $cdf->addSubItem($option_radios);
257 $form->addItem($option_radios);
260 $select =
new ilSelectInputGUI($field_obj->getName(),
'cdf_' . $field_obj->getId());
261 #$select->setValue(ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()])); 262 $select->
setOptions($field_obj->prepareSelectBox());
263 if ($field_obj->isRequired()) {
264 $select->setRequired(
true);
266 if ($a_mode ==
'user') {
267 $cdf->addSubItem($select);
269 $form->addItem($select);
276 #$text->setValue(ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()])); 278 $text->setMaxLength(255);
279 if ($field_obj->isRequired()) {
280 $text->setRequired(
true);
282 if ($a_mode ==
'user') {
283 $cdf->addSubItem(
$text);
290 if ($a_mode ==
'user') {
291 $form->addItem($cdf);
315 self::saveCourseDefinedFields(
$form, $this->obj_id);
321 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldHistory.php';
327 $this->ctrl->returnToParent($this);
330 $form->setValuesByPost();
335 $form->setValuesByPost();
354 $current_value = $ud[$a_usr_id][$field_obj->getId()];
355 if (!$current_value) {
359 switch ($field_obj->getType()) {
362 $id = $field_obj->getIdByValue($current_value);
366 $item->setValue($field_obj->getId() .
'_' .
$id);
369 $open_answer_indexes = $field_obj->getValueOptions();
370 $open_answer_index = end($open_answer_indexes);
372 $item->setValue($field_obj->getId() .
'_' . $open_answer_index);
373 $item_txt = $form->
getItemByPostVar(
'cdf_oa_' . $field_obj->getId() .
'_' . $open_answer_index);
375 $item_txt->setValue($current_value);
382 $item->setValue($current_value);
404 switch ($field_obj->getType()) {
408 list($field_id, $option_id) = explode(
'_', $form->
getInput(
'cdf_' . $field_obj->getId()));
409 $open_answer_indexes = (array) $field_obj->getValueOptions();
410 if (in_array($option_id, $open_answer_indexes)) {
411 $value = $form->
getInput(
'cdf_oa_' . $field_obj->getId() .
'_' . $option_id);
413 $value = $field_obj->getValueById($option_id);
418 $value = $form->
getInput(
'cdf_' . $field_obj->getId());
423 $course_user_data->
setValue($value);
424 $course_user_data->update();
441 if (
$_POST[
'agreement']) {
444 if ($this->privacy->confirmationRequired($this->type)) {
465 $this->agreement_required = $this->
getAgreement()->agreementRequired();
476 if ($this->agreement_required) {
477 $message = $this->lng->txt($this->type .
'_ps_agreement_req_info');
479 if (!$this->required_fullfilled) {
483 $message .= $this->lng->txt($this->type .
'_ps_required_info');
This class represents an option in a radio group.
setValue($a_value)
Set Value.
static _getInstance()
Get instance.
static addExportFieldInfo($form, $a_obj_id, $a_type)
Add export field info to form type $lng.
sendInfoMessage()
Send info message.
static _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
if(!array_key_exists('StateId', $_REQUEST)) $id
__construct($a_ref_id)
Constructor.
Editing history for object custom user fields.
static addCustomFields($form, $a_obj_id, $a_type, $a_mode='user')
Add custom course fields.
executeCommand()
Execute Command.
catch(Exception $e) $message
setUpdateUser($a_id)
Set update user.
if(isset($_POST['submit'])) $form
static _getInstanceByType($a_type)
Get Singleton Instance.
special template class to simplify handling of ITX/PEAR
static addAgreement($form, $a_obj_id, $a_type)
Add agreement to form.
This class represents a text property in a property form.
getPrivacy()
Get privycy settings.
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static _lookupType($a_id, $a_reference=false)
lookup object type
showAgreement(ilPropertyFormGUI $form=null)
Show agreement form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static saveCourseDefinedFields(ilPropertyFormGUI $form, $a_obj_id, $a_usr_id=0)
Save course defined fields.
This class represents a non editable value in a property form.
checkAgreement()
Check Agreement.
static _getInstance()
Get instance of ilPrivacySettings.
static setCourseDefinedFieldValues(ilPropertyFormGUI $form, $a_obj_id, $a_usr_id=0)
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.