3 include_once(
"./Services/Object/classes/class.ilObjectGUI.php");
4 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
5 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
26 public function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
38 if(is_array(self::$ERROR_MESSAGE))
43 $lng->loadLanguageModule(
'ps');
68 global $rbacsystem,
$ilErr,$ilAccess;
70 $next_class = $this->ctrl->getNextClass($this);
71 $cmd = $this->ctrl->getCmd();
75 if(!$ilAccess->checkAccess(
'read',
'',$this->object->getRefId()))
77 $ilErr->raiseError($this->lng->txt(
'no_permission'),$ilErr->WARNING);
82 case 'ilpermissiongui':
83 $this->tabs_gui->setTabActive(
'perm_settings');
84 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
86 $ret =& $this->ctrl->forwardCommand($perm_gui);
111 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
113 $this->tabs_gui->addTarget(
"show_privacy",
114 $this->ctrl->getLinkTarget($this,
"showPrivacy"),
116 $this->tabs_gui->addTarget(
"show_security",
117 $this->ctrl->getLinkTarget($this,
"showSecurity"),
122 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
124 $this->tabs_gui->addTarget(
"perm_settings",
125 $this->ctrl->getLinkTargetByClass(
'ilpermissiongui',
"perm"),
126 array(),
'ilpermissiongui');
139 $this->tabs_gui->setTabActive(
'show_privacy');
141 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
143 $form->setFormAction($this->ctrl->getFormAction($this));
144 $form->setTitle($this->lng->txt(
'ps_privacy_protection'));
146 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
153 if($privacy->enabledCourseExport())
155 $value[] =
"export_course";
157 if($privacy->enabledGroupExport())
159 $value[] =
"export_group";
161 if($privacy->courseConfirmationRequired())
163 $value[] =
"export_confirm_course";
165 if($privacy->groupConfirmationRequired())
167 $value[] =
"export_confirm_group";
169 if($privacy->enabledGroupAccessTimes())
171 $value[] =
"grp_access_times";
173 if($privacy->enabledCourseAccessTimes())
175 $value[] =
"crs_access_times";
180 $check->setTitle($this->lng->txt(
'ps_export_course'));
181 $check->setValue(
'export_course');
182 $group->addOption($check);
184 $check->setTitle($this->lng->txt(
'ps_export_groups'));
185 $check->setValue(
'export_group');
186 $group->addOption($check);
188 $check->setTitle($this->lng->txt(
'ps_export_confirm'));
189 $check->setValue(
'export_confirm_course');
190 $group->addOption($check);
192 $check->setTitle($this->lng->txt(
'ps_export_confirm_group'));
193 $check->setValue(
'export_confirm_group');
194 $group->addOption($check);
196 $check->setTitle($this->lng->txt(
'ps_show_grp_access'));
197 $check->setValue(
'grp_access_times');
198 $group->addOption($check);
200 $check->setTitle($this->lng->txt(
'ps_show_crs_access'));
201 $check->setValue(
'crs_access_times');
202 $group->addOption($check);
203 $form->addItem($group);
205 include_once
"Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php";
212 $form->addCommandButton(
'save_privacy',$this->lng->txt(
'save'));
213 $this->tpl->setContent($form->getHTML());
225 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
229 $this->tabs_gui->setTabActive(
'show_security');
232 $form->setFormAction($this->ctrl->getFormAction($this));
233 $form->setTitle($this->lng->txt(
'ps_security_protection'));
235 include_once
"Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php";
243 $this->tpl->setContent($form->getHTML());
256 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
258 $ilErr->raiseError($this->lng->txt(
'no_permission'),$ilErr->WARNING);
261 if((
int)
$_POST[
'rbac_log_age'] > 24)
263 $_POST[
'rbac_log_age'] = 24;
265 else if((
int)
$_POST[
'rbac_log_age'] < 1)
267 $_POST[
'rbac_log_age'] = 1;
270 $_POST[
'profile_protection'] = isset(
$_POST[
'profile_protection']) ?
$_POST[
'profile_protection'] : array();
275 $old_settings = array(
276 'export_course' => $privacy->enabledCourseExport(),
277 'export_group' => $privacy->enabledGroupExport(),
278 'export_confirm_course' => $privacy->courseConfirmationRequired(),
279 'export_confirm_group' => $privacy->groupConfirmationRequired(),
280 'crs_access_times' => $privacy->enabledCourseAccessTimes(),
281 'grp_access_times' => $privacy->enabledGroupAccessTimes()
284 $privacy->enableCourseExport((
int) in_array(
'export_course',
$_POST[
'profile_protection']));
285 $privacy->enableGroupExport((
int) in_array(
'export_group',
$_POST[
'profile_protection']));
286 $privacy->setCourseConfirmationRequired((
int) in_array(
'export_confirm_course',
$_POST[
'profile_protection']));
287 $privacy->setGroupConfirmationRequired((
int) in_array(
'export_confirm_group',
$_POST[
'profile_protection']));
288 $privacy->showGroupAccessTimes((
int) in_array(
'grp_access_times',
$_POST[
'profile_protection']));
289 $privacy->showCourseAccessTimes((
int) in_array(
'crs_access_times',
$_POST[
'profile_protection']));
292 $code = $privacy->validate();
306 if(!$old_settings[
'export_course'] && $privacy->enabledCourseExport())
310 if(!$do_reset && !$old_settings[
'export_group'] && $privacy->enabledGroupExport())
314 if(!$do_reset && !$old_settings[
'export_confirm_course'] && $privacy->courseConfirmationRequired())
318 if(!$do_reset && !$old_settings[
'export_confirm_group'] && $privacy->groupConfirmationRequired())
322 if(!$do_reset && !$old_settings[
'crs_access_times'] && $privacy->enabledCourseAccessTimes())
326 if(!$do_reset && !$old_settings[
'grp_access_times'] && $privacy->enabledGroupAccessTimes())
332 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
351 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
353 $ilErr->raiseError($this->lng->txt(
'no_permission'),$ilErr->WARNING);
404 'ps_profile_export' => array(null, null, $subitems)
406 return array(array(
"showPrivacy", $fields));
418 'ps_profile_export' => array(null, null, $subitems)
420 return array(array(
"showPrivacy", $fields));