19 declare(strict_types=1);
    68         $this->db = $DIC->database();
    69         $this->
user = $DIC->user();
    70         $this->
access = $DIC->access();
    71         $this->rbacsystem = $DIC->rbac()->system();
    79             self::$instance = 
new self();
    81         return self::$instance;
   111         $this->participants_list_course_enabled = $a_status;
   116         $this->participants_list_prg_enabled = $status;
   129         $user_id = $a_user_id ?: $this->
user->getId();
   132         $permission_export_member_data = $this->rbacsystem->checkAccessOfUser($user_id, 
'export_member_data', $this->
getPrivacySettingsRefId());
   133         $permission_manage_member = $this->
access->checkAccessOfUser($user_id, 
'manage_members', 
'', $a_ref_id);
   135         switch($object_type) {
   138                     && $permission_export_member_data && $permission_manage_member;
   141                     && $permission_export_member_data && $permission_manage_member;
   144                     && $permission_export_member_data && $permission_manage_member;
   147                     && $permission_manage_member;
   154         $this->export_course = $a_status;
   159         $this->export_group = $a_status;
   164         $this->export_learning_sequence = $a_status;
   172         $this->fora_statistics = $a_status;
   188         $this->anonymous_fora = $a_status;
   204         $this->rbac_log = $a_status;
   220         $this->rbac_log_age = $a_age;
   263         $this->export_confirm_course = $a_status;
   268         $this->export_confirm_group = (bool) $a_status;
   273         $this->export_confirm_learning_sequence = $a_status;
   281         $this->show_grp_access_times = $a_status;
   297         $this->show_crs_access_times = $a_status;
   313         $this->show_lso_access_times = $a_status;
   326         switch ($a_obj_type) {
   347             'ps_export_confirm_learning_sequence',
   372         $query = 
"SELECT object_reference.ref_id FROM object_reference,tree,object_data " .
   373             "WHERE tree.parent = " . $this->db->quote(
SYSTEM_FOLDER_ID, 
'integer') . 
" " .
   374             "AND object_data.type = 'ps' " .
   375             "AND object_reference.ref_id = tree.child " .
   376             "AND object_reference.obj_id = object_data.obj_id";
   377         $res = $this->db->query($query);
   379         $this->ref_id = (
int) ($row[
"ref_id"] ?? 0);
   381         $this->export_course = (bool) $this->
settings->get(
'ps_export_course', null);
   382         $this->export_group = (bool) $this->
settings->get(
'ps_export_group', null);
   383         $this->export_learning_sequence = (bool) $this->
settings->get(
'ps_export_learning_sequence', null);
   384         $this->export_confirm_course = (bool) $this->
settings->get(
'ps_export_confirm', null);
   385         $this->export_confirm_group = (bool) $this->
settings->get(
'ps_export_confirm_group', null);
   386         $this->export_confirm_learning_sequence = (bool) $this->
settings->get(
'ps_export_confirm_learning_sequence', null);
   387         $this->fora_statistics = (bool) $this->
settings->get(
'enable_fora_statistics', null);
   388         $this->anonymous_fora = (bool) $this->
settings->get(
'enable_anonymous_fora', null);
   389         $this->show_grp_access_times = (bool) $this->
settings->get(
'ps_access_times', null);
   390         $this->show_crs_access_times = (bool) $this->
settings->get(
'ps_crs_access_times', null);
   391         $this->show_lso_access_times = (bool) $this->
settings->get(
'ps_lso_access_times', null);
   392         $this->rbac_log = (bool) $this->
settings->get(
'rbac_log', null);
   393         $this->rbac_log_age = (
int) $this->
settings->get(
'rbac_log_age', 
"6");
   394         $this->sahs_protocol_data = (
int) $this->
settings->get(
'enable_sahs_pd', 
"0");
   395         $this->export_scorm = (bool) $this->
settings->get(
'ps_export_scorm', null);
   397             'participants_list_courses',
   398             (
string) $this->participantsListInCoursesEnabled()
   401         $this->participants_list_prg_enabled = (bool) $this->
settings->get(
'ps_export_prg', null);
   420         $this->sahs_protocol_data = (
int) $status;
   431         $this->export_scorm = (bool) $a_status;
   439         $this->comments_export = (bool) $a_status;
 setGroupConfirmationRequired(bool $a_status)
 
enabledGroupAccessTimes()
check if group access time are visible 
 
enableGroupExport(bool $a_status)
 
__construct()
Private constructor: use _getInstance()  private. 
 
enabledCommentsExport()
Enable comments export. 
 
enabledCourseAccessTimes()
check if access time are enabled in courses 
 
enableRbacLog(bool $a_status)
write access to property rbac_log 
 
bool $export_confirm_course
 
static ilPrivacySettings $instance
 
enableLearningSequenceExport(bool $a_status)
 
enableExportSCORM(int $a_status)
 
bool $export_confirm_group
 
bool $show_lso_access_times
 
courseConfirmationRequired()
 
enabledSahsProtocolData()
 
setLearningSequenceConfirmationRequired(bool $a_status)
 
bool $show_grp_access_times
 
validate()
validate settings 
 
enabledAccessTimesByType(string $a_obj_type)
 
bool $participants_list_prg_enabled
 
participantsListInCoursesEnabled()
 
getPrivacySettingsRefId()
 
checkExportAccess(int $a_ref_id, int $a_user_id=0)
Check if a user has the permission to access approved user profile fields, course related user data a...
 
bool $participants_list_course_enabled
 
showCourseAccessTimes(bool $a_status)
show course access times 
 
bool $show_crs_access_times
 
groupConfirmationRequired()
 
Singleton class that stores all privacy settings. 
 
enabledLearningSequenceExport()
 
enabledForaStatistics()
read access to property enable fora statistics 
 
bool $export_confirm_learning_sequence
 
enablePRGUserExport(bool $status=false)
 
enabledRbacLog()
read access to property enable rbac log 
 
showLearningSequenceAccessTimes(bool $a_status)
show lso access times 
 
enableForaStatistics(bool $a_status)
write access to property fora statitics 
 
enableParticipantsListInCourses(bool $a_status)
 
enableSahsProtocolData(int $status)
 
enableAnonymousFora(bool $a_status)
write access to property anonymous fora 
 
setCourseConfirmationRequired(bool $a_status)
 
enabledAnonymousFora()
read access to property enable anonymous fora 
 
bool $export_learning_sequence
 
setRbacLogAge(int $a_age)
write access to property rbac log age 
 
static _lookupType(int $id, bool $reference=false)
 
getRbacLogAge()
read access to property rbac log age 
 
learningSequenceConfirmationRequired()
 
enabledLearningSequenceAccessTimes()
check if access time are enabled in lso 
 
enableCourseExport(bool $a_status)
 
confirmationRequired(string $a_type)
 
enableCommentsExport(bool $a_status)
Enable comments export. 
 
showGroupAccessTimes(bool $a_status)
Show group last access times.