ILIAS  release_8 Revision v8.23
ILIAS\MyStaff\ilMyStaffAccess Class Reference

Class ilMyStaffAccess. More...

+ Inheritance diagram for ILIAS\MyStaff\ilMyStaffAccess:
+ Collaboration diagram for ILIAS\MyStaff\ilMyStaffAccess:

Public Member Functions

 __construct ()
 
 hasCurrentUserAccessToMyStaff ()
 
 hasCurrentUserAccessToCertificates ()
 
 hasCurrentUserAccessToTalks ()
 
 hasCurrentUserAccessToCompetences ()
 
 hasCurrentUserAccessToCourseMemberships ()
 
 hasCurrentUserAccessToUser (int $usr_id=0)
 
 hasCurrentUserAccessToLearningProgressInObject (int $ref_id=0)
 
 hasCurrentUserAccessToCourseLearningProgressForAtLeastOneUser ()
 
 countOrgusOfUserWithAtLeastOneOperation (int $user_id)
 
 getUsersForUserOperationAndContext (int $user_id, string $org_unit_operation_string, string $context, string $tmp_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX)
 
 getUsersForUserPerPosition (int $user_id)
 
 getUsersForUser (int $user_id, ?int $position_id=null)
 
 getIdsForUserAndOperation (int $user_id, string $operation, bool $return_ref_id=false)
 
 getIdsForPositionAndOperation (int $position_id, string $operation, bool $return_ref_id)
 
 hasPositionDefaultPermissionForOperationInContext (int $position_id, int $operation_id, int $context_id)
 
 getIlobjectsAndUsersForUserOperationAndContext (int $user_id, string $org_unit_operation_string, string $context)
 
 buildTempTableIlobjectsUserMatrixForUserOperationAndContext (int $user_id, string $org_unit_operation_string, string $context, string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX)
 
 buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext (string $org_unit_operation_string, string $context, string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS)
 
 buildTempTableCourseMemberships (string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS, array $only_courses_of_user_ids=array())
 
 buildTempTableOrguMemberships (string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS, array $only_orgus_of_user_ids=array())
 
 dropTempTable (string $temporary_table_name)
 
- Public Member Functions inherited from ilObjectAccess
 _checkAccess (string $cmd, string $permission, int $ref_id, int $obj_id, ?int $user_id=null)
 Checks whether a user may invoke a command or not (this method is called by ilAccessHandler::checkAccess) More...
 
 canBeDelivered (ilWACPath $ilWACPath)
 

Static Public Member Functions

static getInstance ()
 
static isMyStaffActive ()
 
- Static Public Member Functions inherited from ilObjectAccess
static _getCommands ()
 get commands More...
 
static _checkGoto (string $target)
 check whether goto script will succeed More...
 
static _isOffline (int $obj_id)
 Type-specific implementation of general status, has to be overwritten if object type does not support centralized offline handling. More...
 
static _preloadData (array $obj_ids, array $ref_ids)
 Preload data. More...
 

Data Fields

const TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS = 'tmp_obj_spec_perm'
 
const TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_DEFAULT_PERMISSIONS = 'tmp_obj_def_perm'
 
const TMP_DEFAULT_TABLE_NAME_PREFIX_IL_ORGU_DEFAULT_PERMISSIONS = 'tmp_orgu_def_perm'
 
const TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS = 'tmp_crs_members'
 
const TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS = 'tmp_orgu_members'
 
const TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX = 'tmp_obj_user_matr'
 
const ACCESS_ENROLMENTS_ORG_UNIT_OPERATION = ilOrgUnitOperation::OP_ACCESS_ENROLMENTS
 
const COURSE_CONTEXT = ilOrgUnitOperationContext::CONTEXT_CRS
 
const EXERCISE_CONTEXT = ilOrgUnitOperationContext::CONTEXT_EXC
 
const GROUP_CONTEXT = ilOrgUnitOperationContext::CONTEXT_GRP
 
const SURVEY_CONTEXT = ilOrgUnitOperationContext::CONTEXT_SVY
 
const TEST_CONTEXT = ilOrgUnitOperationContext::CONTEXT_TST
 
const EMPLOYEE_TALK_CONTEXT = ilOrgUnitOperationContext::CONTEXT_ETAL
 

Protected Attributes

array $users_for_user = []
 

Static Protected Attributes

static self $instance = null
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ILIAS\MyStaff\ilMyStaffAccess::__construct ( )

Definition at line 78 of file class.ilMyStaffAccess.php.

79  {
80  }

Member Function Documentation

◆ buildTempTableCourseMemberships()

ILIAS\MyStaff\ilMyStaffAccess::buildTempTableCourseMemberships ( string  $temporary_table_name_prefix = self::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS,
array  $only_courses_of_user_ids = array() 
)

Definition at line 910 of file class.ilMyStaffAccess.php.

References $DIC, and ILIAS\MyStaff\ilMyStaffAccess\dropTempTable().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext().

913  : string {
914  global $DIC;
915 
916  $temporary_table_name = $temporary_table_name_prefix . "_user_id_" . $DIC->user()->getId();
917 
918  if ($temporary_table_name != self::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS . "_user_id_" . $DIC->user()->getId()
919  || count($only_courses_of_user_ids) > 0
920  ) {
921  $this->dropTempTable($temporary_table_name);
922  }
923 
924  $q = "CREATE TEMPORARY TABLE IF NOT EXISTS " . $temporary_table_name . "
925  (INDEX i1(ref_id), INDEX i2 (usr_id), INDEX i3 (position_id), INDEX i4 (orgu_id))
926  AS (
927  SELECT crs_members_crs_ref.ref_id, crs_members.usr_id, orgu_ua.position_id, orgu_ua.orgu_id
928  FROM (
929  SELECT obj_id, usr_id FROM obj_members WHERE admin > 0 OR tutor > 0 OR member > 0
930  AND " . $DIC->database()->in(
931  'obj_members.usr_id',
932  $only_courses_of_user_ids,
933  false,
934  'integer'
935  ) . "
936  UNION
937  SELECT obj_id, usr_id FROM crs_waiting_list
938  WHERE " . $DIC->database()->in(
939  'crs_waiting_list.usr_id',
940  $only_courses_of_user_ids,
941  false,
942  'integer'
943  ) . "
944  UNION
945  SELECT obj_id, usr_id FROM il_subscribers
946  WHERE " . $DIC->database()->in(
947  'il_subscribers.usr_id',
948  $only_courses_of_user_ids,
949  false,
950  'integer'
951  ) . "
952  ) AS crs_members
953  INNER JOIN object_reference AS crs_members_crs_ref on crs_members_crs_ref.obj_id = crs_members.obj_id
954  INNER JOIN il_orgu_ua AS orgu_ua on orgu_ua.user_id = crs_members.usr_id
955  );";
956 
957  $DIC->database()->manipulate($q);
958 
959  return $temporary_table_name;
960  }
global $DIC
Definition: feed.php:28
dropTempTable(string $temporary_table_name)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext()

ILIAS\MyStaff\ilMyStaffAccess::buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext ( string  $org_unit_operation_string,
string  $context,
string  $temporary_table_name_prefix = self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS 
)

Definition at line 761 of file class.ilMyStaffAccess.php.

References $context, $DIC, $GLOBALS, ILIAS\MyStaff\ilMyStaffAccess\dropTempTable(), and ilOrgUnitOperationQueries\findByOperationString().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext().

765  : string {
766  global $DIC;
767 
768  $temporary_table_name = $temporary_table_name_prefix . "_" . $org_unit_operation_string . "_" . $context;
769 
770  $operation = ilOrgUnitOperationQueries::findByOperationString($org_unit_operation_string, $context);
771  assert($operation instanceof ilOrgUnitOperation);
772 
773  if ($temporary_table_name != self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS . "_" . self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION . "_"
774  . self::COURSE_CONTEXT
775  ) {
776  $this->dropTempTable($temporary_table_name);
777  }
778 
779  $q = "CREATE TEMPORARY TABLE IF NOT EXISTS " . $temporary_table_name . "
780  (INDEX i1 (perm_for_ref_id), INDEX i2 (perm_for_orgu_id), INDEX i3 (perm_orgu_scope), INDEX i4 (perm_for_position_id), INDEX i5 (perm_over_user_with_position))
781  AS (
782  SELECT
783  obj_ref.ref_id AS perm_for_ref_id,
784  orgu_ua.orgu_id AS perm_for_orgu_id,
785  auth.scope AS perm_orgu_scope,
786  orgu_ua.position_id AS perm_for_position_id,
787  auth.over AS perm_over_user_with_position
788  FROM
789  il_orgu_permissions AS perm
790  INNER JOIN il_orgu_ua AS orgu_ua ON orgu_ua.position_id = perm.position_id
791  INNER JOIN il_orgu_authority AS auth ON auth.position_id = orgu_ua.position_id AND orgu_ua.user_id = " . $GLOBALS['DIC']->user()
792  ->getId() . "
793  INNER JOIN object_reference AS obj_ref ON obj_ref.ref_id = perm.parent_id
794  INNER JOIN object_data AS obj ON obj.obj_id = obj_ref.obj_id AND obj.type = '$context'
795  INNER JOIN il_orgu_op_contexts AS contexts on contexts.id = perm.context_id AND contexts.context = '$context'
796  WHERE
797  perm.operations REGEXP '[\\\[,]\"?" . $operation->getOperationId() . "\"?[\],]'
798  );";
799 
800  $DIC->database()->manipulate($q);
801 
802  return $temporary_table_name;
803  }
static findByOperationString(string $operation_string, string $context_name)
$context
Definition: webdav.php:29
global $DIC
Definition: feed.php:28
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
dropTempTable(string $temporary_table_name)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildTempTableIlobjectsUserMatrixForUserOperationAndContext()

ILIAS\MyStaff\ilMyStaffAccess::buildTempTableIlobjectsUserMatrixForUserOperationAndContext ( int  $user_id,
string  $org_unit_operation_string,
string  $context,
string  $temporary_table_name_prefix = self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX 
)

Definition at line 622 of file class.ilMyStaffAccess.php.

References $context, $DIC, $GLOBALS, ILIAS\MyStaff\ilMyStaffAccess\buildTempTableCourseMemberships(), ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext(), ILIAS\MyStaff\ilMyStaffAccess\buildTempTableOrguMemberships(), ILIAS\MyStaff\ilMyStaffAccess\dropTempTable(), ilOrgUnitOperationQueries\findByOperationString(), ILIAS\Survey\Mode\getId(), ILIAS\MyStaff\ilMyStaffAccess\getUsersForUser(), and ILIAS\Repository\user().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\getIlobjectsAndUsersForUserOperationAndContext(), and ILIAS\MyStaff\ilMyStaffAccess\getUsersForUserOperationAndContext().

627  : string {
628  global $DIC;
629 
630  $temporary_table_name = $temporary_table_name_prefix . "_" . $org_unit_operation_string . "_" . $context;
631 
632  $operation = ilOrgUnitOperationQueries::findByOperationString($org_unit_operation_string, $context);
633  assert($operation instanceof ilOrgUnitOperation);
634 
635  $all_users_for_user = $this->getUsersForUser($GLOBALS['DIC']->user()->getId());
636 
637 
638  $tmp_table_objects_specific_perimissions = $this->buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext(
639  $org_unit_operation_string,
640  $context,
641  self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS
642  );
643 
644  $tmp_table_objects_default_perimissions = $this->buildTempTableIlobjectsDefaultPermissionSetForOperationAndContext(
645  $org_unit_operation_string,
646  $context,
647  self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_DEFAULT_PERMISSIONS
648  );
649 
650  $tmp_table_orgunit_default_perimissions = $this->buildTempTableIlorgunitDefaultPermissionSetForOperationAndContext(
651  $org_unit_operation_string,
652  $context,
653  self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_ORGU_DEFAULT_PERMISSIONS
654  );
655 
656  $tmp_table_course_members = $this->buildTempTableCourseMemberships(
657  self::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS,
658  $all_users_for_user
659  );
660 
661  $tmp_table_orgu_members = $this->buildTempTableOrguMemberships(
662  self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS,
663  $all_users_for_user
664  );
665 
666  $tmp_table_orgu_member_path = $this->buildTempTableOrguMemberships(
667  'tmp_orgu_members_path',
668  $all_users_for_user
669  );
670 
671  if ($temporary_table_name != self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX . "_" . self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION . "_"
672  . self::COURSE_CONTEXT
673  ) {
674  $this->dropTempTable($temporary_table_name);
675  }
676 
677  $q = "CREATE TEMPORARY TABLE IF NOT EXISTS " . $temporary_table_name . " AS (
678  SELECT DISTINCT user_perm_matrix.perm_for_ref_id, user_perm_matrix.usr_id FROM
679  (
680  SELECT crs.*," . $tmp_table_course_members . ".ref_id," . $tmp_table_course_members . ".usr_id FROM
681  (
682  SELECT * FROM " . $tmp_table_objects_specific_perimissions . "
683  UNION
684  SELECT * FROM " . $tmp_table_objects_default_perimissions . "
685  ) AS crs
686  INNER JOIN " . $tmp_table_course_members . " on " . $tmp_table_course_members . ".ref_id = crs.perm_for_ref_id
687  and (
688  (
689  " . $tmp_table_course_members . ".orgu_id = crs.perm_for_orgu_id AND " . $tmp_table_course_members . ".position_id = crs.perm_over_user_with_position AND perm_orgu_scope = 1
690  )
691  or perm_orgu_scope = 2
692  )
693  UNION
694  SELECT " . $tmp_table_orgunit_default_perimissions . ".*, " . $tmp_table_orgu_members . ".orgu_id AS ref_id, "
695  . $tmp_table_orgu_members . ".user_id FROM " . $tmp_table_orgunit_default_perimissions . "
696  INNER JOIN " . $tmp_table_orgu_members . " on " . $tmp_table_orgu_members . ".orgu_id = "
697  . $tmp_table_orgunit_default_perimissions . ".perm_for_ref_id
698  and (
699  (
700  " . $tmp_table_orgu_members . ".orgu_id = " . $tmp_table_orgunit_default_perimissions . ".perm_for_orgu_id AND "
701  . $tmp_table_orgu_members . ".user_position_id = " . $tmp_table_orgunit_default_perimissions . ".perm_over_user_with_position AND perm_orgu_scope = 1
702  )
703  or perm_orgu_scope = 2
704  )
705 
706  ) AS user_perm_matrix
707  INNER JOIN " . $tmp_table_orgu_member_path . " AS path on path.user_id = user_perm_matrix.usr_id
708 
709  INNER JOIN il_orgu_ua AS orgu_ua_current_user on orgu_ua_current_user.user_id = " . $DIC->database()->quote(
710  $user_id,
711  'integer'
712  ) . "
713  INNER JOIN il_orgu_permissions AS perm on perm.position_id = orgu_ua_current_user.position_id AND perm.parent_id = -1
714  INNER JOIN il_orgu_op_contexts AS contexts on contexts.id = perm.context_id AND contexts.context = '$context'
715  and perm.operations REGEXP '[\\\[,]\"?" . $operation->getOperationId() . "\"?[\],]'
716 
717  AND
718  (
719  /* Identische OrgUnit wie Current User; Nicht Rekursiv; Fixe Position */
720  (orgu_ua_current_user.orgu_id = user_perm_matrix.perm_for_orgu_id AND user_perm_matrix.perm_orgu_scope = 1
721  AND orgu_ua_current_user.position_id = user_perm_matrix.perm_for_position_id AND user_perm_matrix.perm_over_user_with_position <> -1
722  )
723  OR
724  /* Identische OrgUnit wie Current User; Nicht Rekursiv; Position egal */
725  (orgu_ua_current_user.orgu_id = user_perm_matrix.perm_for_orgu_id AND user_perm_matrix.perm_orgu_scope = 1 AND user_perm_matrix.perm_over_user_with_position = -1)
726  OR
727  /* Kinder OrgUnit wie Current User */
728  (
729  orgu_ua_current_user.orgu_id = user_perm_matrix.perm_for_orgu_id
730  AND
731  (
732  path.orgu_id = user_perm_matrix.perm_for_orgu_id OR
733  path.tree_path LIKE CONCAT(\"%.\",user_perm_matrix.perm_for_orgu_id ,\".%\")
734  OR
735  path.tree_path LIKE CONCAT(\"%.\",user_perm_matrix.perm_for_orgu_id )
736  )
737  AND
738  (
739  (
740  (
741  /* Gleiche Position */
742  orgu_ua_current_user.position_id = user_perm_matrix.perm_for_position_id AND user_perm_matrix.perm_over_user_with_position <> -1
743  )
744  OR
745  (
746  /* Position Egal */
747  user_perm_matrix.perm_over_user_with_position = -1
748  )
749  )
750  AND user_perm_matrix.perm_orgu_scope = 2
751  )
752  )
753  )
754  );";
755 
756  $DIC->database()->manipulate($q);
757 
758  return $temporary_table_name;
759  }
static findByOperationString(string $operation_string, string $context_name)
getUsersForUser(int $user_id, ?int $position_id=null)
$context
Definition: webdav.php:29
global $DIC
Definition: feed.php:28
buildTempTableOrguMemberships(string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS, array $only_orgus_of_user_ids=array())
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext(string $org_unit_operation_string, string $context, string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS)
buildTempTableCourseMemberships(string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS, array $only_courses_of_user_ids=array())
dropTempTable(string $temporary_table_name)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildTempTableOrguMemberships()

ILIAS\MyStaff\ilMyStaffAccess::buildTempTableOrguMemberships ( string  $temporary_table_name_prefix = self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS,
array  $only_orgus_of_user_ids = array() 
)

Definition at line 962 of file class.ilMyStaffAccess.php.

References $DIC, and ILIAS\MyStaff\ilMyStaffAccess\dropTempTable().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext(), and ILIAS\MyStaff\ilMyStaffAccess\getUsersForUser().

965  : string {
966  global $DIC;
967 
968  $temporary_table_name = $temporary_table_name_prefix . "_user_id_" . $DIC->user()->getId();
969 
970  if ($temporary_table_name != self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS . "_user_id_" . $DIC->user()->getId()
971  || count($only_orgus_of_user_ids) > 0
972  ) {
973  $this->dropTempTable($temporary_table_name);
974  }
975 
976  $q = "CREATE TEMPORARY TABLE IF NOT EXISTS " . $temporary_table_name . "
977  (INDEX i1(orgu_id), INDEX i2 (tree_path(255)), INDEX i3 (tree_child), INDEX i4 (tree_parent), INDEX i5 (tree_lft), INDEX i6 (tree_rgt), INDEX i7 (user_position_id), INDEX i8 (user_id))
978  AS (
979  SELECT orgu_ua.orgu_id AS orgu_id,
980  tree_orgu.path AS tree_path,
981  tree_orgu.child AS tree_child,
982  tree_orgu.parent AS tree_parent,
983  tree_orgu.lft AS tree_lft,
984  tree_orgu.rgt AS tree_rgt,
985  orgu_ua.position_id AS user_position_id,
986  orgu_ua.user_id AS user_id
987  FROM
988  il_orgu_ua AS orgu_ua
989  INNER JOIN object_reference AS obj_ref on obj_ref.ref_id = orgu_ua.orgu_id AND obj_ref.deleted is null
990  LEFT JOIN tree AS tree_orgu ON tree_orgu.child = orgu_ua.orgu_id";
991 
992  if (count($only_orgus_of_user_ids) > 0) {
993  $q .= " WHERE " . $DIC->database()->in('orgu_ua.user_id', $only_orgus_of_user_ids, false, 'integer') . " ";
994  }
995 
996  $q .= ");";
997 
998  $DIC->database()->manipulate($q);
999 
1000  return $temporary_table_name;
1001  }
global $DIC
Definition: feed.php:28
dropTempTable(string $temporary_table_name)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ countOrgusOfUserWithAtLeastOneOperation()

ILIAS\MyStaff\ilMyStaffAccess::countOrgusOfUserWithAtLeastOneOperation ( int  $user_id)

Definition at line 327 of file class.ilMyStaffAccess.php.

References $context, $DIC, and ilOrgUnitOperationQueries\findByOperationString().

327  : int
328  {
329  global $DIC;
330 
331  $q = "SELECT COUNT(orgu_ua.orgu_id) AS 'cnt' FROM il_orgu_permissions AS perm
332  INNER JOIN il_orgu_ua AS orgu_ua ON orgu_ua.position_id = perm.position_id
333  INNER JOIN il_orgu_op_contexts AS contexts on contexts.id = perm.context_id AND contexts.context is not NULL
334  WHERE orgu_ua.user_id = " . $DIC->database()->quote(
335  $user_id,
336  'integer'
337  ) . " AND perm.operations is not NULL AND perm.parent_id = -1";
338 
339  $set = $DIC->database()->query($q);
340  $rec = $DIC->database()->fetchAssoc($set);
341 
342  return $rec['cnt'];
343  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

◆ dropTempTable()

ILIAS\MyStaff\ilMyStaffAccess::dropTempTable ( string  $temporary_table_name)

Definition at line 1003 of file class.ilMyStaffAccess.php.

References $DIC.

Referenced by ILIAS\MyStaff\ilMyStaffAccess\buildTempTableCourseMemberships(), ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsSpecificPermissionSetForOperationAndContext(), ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext(), and ILIAS\MyStaff\ilMyStaffAccess\buildTempTableOrguMemberships().

1003  : void
1004  {
1005  global $DIC;
1006 
1007  $q = "DROP TABLE IF EXISTS " . $temporary_table_name;
1008  $DIC->database()->manipulate($q);
1009  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ getIdsForPositionAndOperation()

ILIAS\MyStaff\ilMyStaffAccess::getIdsForPositionAndOperation ( int  $position_id,
string  $operation,
bool  $return_ref_id 
)

Definition at line 512 of file class.ilMyStaffAccess.php.

References ilOrgUnitOperationContext\$available_contexts, $DIC, $query, ilOrgUnitOperationContextQueries\findByName(), ilOrgUnitOperationQueries\findByOperationString(), and ILIAS\MyStaff\ilMyStaffAccess\hasPositionDefaultPermissionForOperationInContext().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\getIdsForUserAndOperation().

512  : array
513  {
514  $ids = [];
516  $ref_ids = $this->getIdsForPositionAndOperationAndContext(
517  $position_id,
518  $operation,
519  $context,
520  $return_ref_id
521  );
522  if (count($ref_ids) > 0) {
523  $ids = array_merge($ids, $ref_ids);
524  }
525  }
526 
527  return $ids;
528  }
$context
Definition: webdav.php:29
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getIdsForUserAndOperation()

ILIAS\MyStaff\ilMyStaffAccess::getIdsForUserAndOperation ( int  $user_id,
string  $operation,
bool  $return_ref_id = false 
)

Definition at line 495 of file class.ilMyStaffAccess.php.

References ILIAS\MyStaff\ilMyStaffAccess\getIdsForPositionAndOperation(), and ilOrgUnitUserAssignmentQueries\getInstance().

495  : array
496  {
497  $user_assignments = ilOrgUnitUserAssignmentQueries::getInstance()->getAssignmentsOfUserId($user_id);
498  $ids = [];
499  foreach ($user_assignments as $user_assignment) {
500  $ref_ids = $this->getIdsForPositionAndOperation(
501  $user_assignment->getPositionId(),
502  $operation,
503  $return_ref_id
504  );
505  if (count($ref_ids) > 0) {
506  $ids = array_merge($ids, $ref_ids);
507  }
508  }
509  return $ids;
510  }
getIdsForPositionAndOperation(int $position_id, string $operation, bool $return_ref_id)
+ Here is the call graph for this function:

◆ getIlobjectsAndUsersForUserOperationAndContext()

ILIAS\MyStaff\ilMyStaffAccess::getIlobjectsAndUsersForUserOperationAndContext ( int  $user_id,
string  $org_unit_operation_string,
string  $context 
)

Definition at line 589 of file class.ilMyStaffAccess.php.

References $DIC, ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext(), and ilOrgUnitOperationQueries\findByOperationString().

593  : array {
594  global $DIC;
595 
596 
597  $operation = ilOrgUnitOperationQueries::findByOperationString($org_unit_operation_string, $context);
598  assert($operation instanceof ilOrgUnitOperation);
599 
600  $tmp_table_name = 'tmp_ilobj_user_matrix_' . $operation->getOperationId();
601 
603  $user_id,
604  $org_unit_operation_string,
605  $context,
606  $tmp_table_name
607  );
608 
609  $q = 'SELECT * FROM ' . $tmp_table_name;
610 
611  $user_set = $DIC->database()->query($q);
612 
613  $arr_user_obj = array();
614 
615  while ($rec = $DIC->database()->fetchAssoc($user_set)) {
616  $arr_user_obj[] = $rec;
617  }
618 
619  return $arr_user_obj;
620  }
static findByOperationString(string $operation_string, string $context_name)
$context
Definition: webdav.php:29
buildTempTableIlobjectsUserMatrixForUserOperationAndContext(int $user_id, string $org_unit_operation_string, string $context, string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX)
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

◆ getInstance()

static ILIAS\MyStaff\ilMyStaffAccess::getInstance ( )
static

Definition at line 52 of file class.ilMyStaffAccess.php.

References $DIC.

Referenced by ILIAS\MyStaff\ListCertificates\ilMStListCertificatesTableGUI\__construct(), ILIAS\MyStaff\ListCompetences\Skills\ilMStListCompetencesSkillsTableGUI\__construct(), ILIAS\MyStaff\ListUsers\ilMStListUsersTableGUI\__construct(), ILIAS\MyStaff\ListCourses\ilMStListCourses\getData(), ILIAS\MyStaff\ListCertificates\ilMStListCertificates\getData(), ILIAS\EmployeeTalk\Provider\MyStaffListEntryProvider\getStaticSubItems(), and ILIAS\MyStaff\Provider\StaffMainBarProvider\getStaticSubItems().

52  : self
53  {
54  global $DIC;
55 
56  if (self::$instance === null) {
57  self::$instance = new self();
58 
59  if (!self::isMyStaffActive()) {
60  return self::$instance;
61  }
62 
63  self::$instance->dropTempTable(self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS . "_" . self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION . "_"
64  . self::COURSE_CONTEXT);
65  self::$instance->dropTempTable(self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_DEFAULT_PERMISSIONS . "_" . self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION
66  . "_" . self::COURSE_CONTEXT);
67  self::$instance->dropTempTable(self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_ORGU_DEFAULT_PERMISSIONS . "_" . self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION
68  . "_" . self::COURSE_CONTEXT);
69  self::$instance->dropTempTable(self::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS . "_user_id_" . $DIC->user()->getId());
70  self::$instance->dropTempTable(self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS . "_user_id_" . $DIC->user()->getId());
71  self::$instance->dropTempTable(self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX . "_" . self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION . "_"
72  . self::COURSE_CONTEXT);
73  }
74 
75  return self::$instance;
76  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ getUsersForUser()

ILIAS\MyStaff\ilMyStaffAccess::getUsersForUser ( int  $user_id,
?int  $position_id = null 
)
Returns
int[]

Definition at line 418 of file class.ilMyStaffAccess.php.

References $DIC, and ILIAS\MyStaff\ilMyStaffAccess\buildTempTableOrguMemberships().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext(), ILIAS\MyStaff\ilMyStaffAccess\getUsersForUserPerPosition(), and ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToUser().

418  : array
419  {
420  global $DIC;
421 
422  if (isset($this->users_for_user[$user_id]) && $position_id === null) {
423  return $this->users_for_user[$user_id];
424  }
425 
426  $tmp_orgu_members = $this->buildTempTableOrguMemberships(
427  self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS,
428  array()
429  );
430 
431  $position_limitation = '';
432  if (!is_null($position_id)) {
433  $position_limitation = ' AND orgu_ua_current_user.position_id = ' . $position_id;
434  }
435 
436  $q = "SELECT " . $tmp_orgu_members . ".user_id AS usr_id
437  FROM
438  " . $tmp_orgu_members . "
439  INNER JOIN il_orgu_ua AS orgu_ua_current_user on orgu_ua_current_user.user_id = " . $DIC->database()->quote(
440  $user_id,
441  'integer'
442  ) . "
443  INNER JOIN il_orgu_authority AS auth ON auth.position_id = orgu_ua_current_user.position_id " . $position_limitation . "
444  WHERE
445  (
446  /* Identische OrgUnit wie Current User; Nicht Rekursiv; Fixe Position */
447  (orgu_ua_current_user.orgu_id = " . $tmp_orgu_members . ".orgu_id AND auth.scope = 1
448  AND auth.over = " . $tmp_orgu_members . ".user_position_id AND auth.over <> -1
449  )
450  OR
451  /* Identische OrgUnit wie Current User; Nicht Rekursiv; Position egal */
452  (orgu_ua_current_user.orgu_id = " . $tmp_orgu_members . ".orgu_id AND auth.scope = 1 AND auth.over = -1)
453  OR
454  /* Kinder OrgUnit wie Current User */
455  (
456  (
457  " . $tmp_orgu_members . ".orgu_id = orgu_ua_current_user.orgu_id OR
458  " . $tmp_orgu_members . ".tree_path LIKE CONCAT(\"%.\",orgu_ua_current_user.orgu_id ,\".%\")
459  OR
460  " . $tmp_orgu_members . ".tree_path LIKE CONCAT(\"%.\",orgu_ua_current_user.orgu_id )
461  )
462  AND
463  (
464  (
465  (
466  /* Gleiche Position */
467  auth.over = " . $tmp_orgu_members . ".user_position_id AND auth.over <> -1
468  )
469  OR
470  (
471  /* Position Egal */
472  auth.over = -1
473  )
474  )
475  AND auth.scope = 2
476  )
477  )
478  )";
479 
480  $user_set = $DIC->database()->query($q);
481 
482  $arr_users = array();
483 
484  while ($rec = $DIC->database()->fetchAssoc($user_set)) {
485  $arr_users[$rec['usr_id']] = $rec['usr_id'];
486  }
487 
488  if ($position_id === null) {
489  $this->users_for_user[$user_id] = $arr_users;
490  }
491 
492  return $arr_users;
493  }
global $DIC
Definition: feed.php:28
buildTempTableOrguMemberships(string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS, array $only_orgus_of_user_ids=array())
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUsersForUserOperationAndContext()

ILIAS\MyStaff\ilMyStaffAccess::getUsersForUserOperationAndContext ( int  $user_id,
string  $org_unit_operation_string,
string  $context,
string  $tmp_table_name_prefix = self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX 
)

Definition at line 373 of file class.ilMyStaffAccess.php.

References $DIC, and ILIAS\MyStaff\ilMyStaffAccess\buildTempTableIlobjectsUserMatrixForUserOperationAndContext().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToCourseLearningProgressForAtLeastOneUser().

378  : array {
379  global $DIC;
380 
382  $user_id,
383  $org_unit_operation_string,
384  $context,
385  $tmp_table_name_prefix
386  );
387 
388  $q = 'SELECT usr_id FROM ' . $tmp_table_name;
389 
390  $user_set = $DIC->database()->query($q);
391 
392  $arr_users = array();
393 
394  while ($rec = $DIC->database()->fetchAssoc($user_set)) {
395  $arr_users[$rec['usr_id']] = $rec['usr_id'];
396  }
397 
398  return $arr_users;
399  }
$context
Definition: webdav.php:29
buildTempTableIlobjectsUserMatrixForUserOperationAndContext(int $user_id, string $org_unit_operation_string, string $context, string $temporary_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX)
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUsersForUserPerPosition()

ILIAS\MyStaff\ilMyStaffAccess::getUsersForUserPerPosition ( int  $user_id)

Definition at line 401 of file class.ilMyStaffAccess.php.

References ilOrgUnitUserAssignmentQueries\getInstance(), and ILIAS\MyStaff\ilMyStaffAccess\getUsersForUser().

401  : array
402  {
403  $users = [];
404  $user_assignments = ilOrgUnitUserAssignmentQueries::getInstance()->getAssignmentsOfUserId($user_id);
405  foreach ($user_assignments as $user_assignment) {
406  $users[$user_assignment->getPositionId()] = $this->getUsersForUser(
407  $user_id,
408  $user_assignment->getPositionId()
409  );
410  }
411 
412  return $users;
413  }
getUsersForUser(int $user_id, ?int $position_id=null)
+ Here is the call graph for this function:

◆ hasCurrentUserAccessToCertificates()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToCertificates ( )

Definition at line 120 of file class.ilMyStaffAccess.php.

References $DIC, and ilOrgUnitOperation\OP_VIEW_CERTIFICATES.

Referenced by ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToMyStaff().

120  : bool
121  {
122  global $DIC;
123 
124  if (!self::isMyStaffActive()) {
125  return false;
126  }
127 
128  $cert_set = new \ilSetting("certificate");
129  if (!$cert_set->get("active")) {
130  return false;
131  }
132 
133  if ($this->countOrgusOfUserWithOperationAndContext(
134  $DIC->user()->getId(),
136  self::COURSE_CONTEXT
137  )
138  > 0
139  ) {
140  return true;
141  }
142 
143  if ($this->countOrgusOfUserWithOperationAndContext(
144  $DIC->user()->getId(),
146  self::EXERCISE_CONTEXT
147  )
148  > 0
149  ) {
150  return true;
151  }
152 
153  if ($this->countOrgusOfUserWithOperationAndContext(
154  $DIC->user()->getId(),
156  self::TEST_CONTEXT
157  )
158  > 0
159  ) {
160  return true;
161  }
162 
163  return false;
164  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ hasCurrentUserAccessToCompetences()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToCompetences ( )

Definition at line 207 of file class.ilMyStaffAccess.php.

References $DIC, and ilOrgUnitOperation\OP_VIEW_COMPETENCES.

Referenced by ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToMyStaff().

207  : bool
208  {
209  global $DIC;
210 
211  if (!self::isMyStaffActive()) {
212  return false;
213  }
214 
215  $skmg_set = new \ilSkillManagementSettings();
216  if (!$skmg_set->isActivated()) {
217  return false;
218  }
219 
220  if ($this->countOrgusOfUserWithOperationAndContext(
221  $DIC->user()->getId(),
223  self::COURSE_CONTEXT
224  )
225  > 0
226  ) {
227  return true;
228  }
229 
230  if ($this->countOrgusOfUserWithOperationAndContext(
231  $DIC->user()->getId(),
233  self::GROUP_CONTEXT
234  )
235  > 0
236  ) {
237  return true;
238  }
239 
240  if ($this->countOrgusOfUserWithOperationAndContext(
241  $DIC->user()->getId(),
243  self::SURVEY_CONTEXT
244  )
245  > 0
246  ) {
247  return true;
248  }
249 
250  if ($this->countOrgusOfUserWithOperationAndContext(
251  $DIC->user()->getId(),
253  self::TEST_CONTEXT
254  )
255  > 0
256  ) {
257  return true;
258  }
259 
260  return false;
261  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ hasCurrentUserAccessToCourseLearningProgressForAtLeastOneUser()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToCourseLearningProgressForAtLeastOneUser ( )

Definition at line 311 of file class.ilMyStaffAccess.php.

References $DIC, ILIAS\MyStaff\ilMyStaffAccess\getUsersForUserOperationAndContext(), and ilOrgUnitOperation\OP_READ_LEARNING_PROGRESS.

311  : bool
312  {
313  global $DIC;
314 
315  $arr_usr_id = $this->getUsersForUserOperationAndContext(
316  $DIC->user()->getId(),
318  self::COURSE_CONTEXT
319  );
320  if (count($arr_usr_id) > 0) {
321  return true;
322  }
323 
324  return false;
325  }
global $DIC
Definition: feed.php:28
getUsersForUserOperationAndContext(int $user_id, string $org_unit_operation_string, string $context, string $tmp_table_name_prefix=self::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX)
+ Here is the call graph for this function:

◆ hasCurrentUserAccessToCourseMemberships()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToCourseMemberships ( )

Definition at line 263 of file class.ilMyStaffAccess.php.

References $DIC.

Referenced by ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToMyStaff().

263  : bool
264  {
265  global $DIC;
266 
267  if (!self::isMyStaffActive()) {
268  return false;
269  }
270 
271  if ($this->countOrgusOfUserWithOperationAndContext(
272  $DIC->user()->getId(),
273  self::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION,
274  self::COURSE_CONTEXT
275  )
276  > 0
277  ) {
278  return true;
279  }
280 
281  return false;
282  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ hasCurrentUserAccessToLearningProgressInObject()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToLearningProgressInObject ( int  $ref_id = 0)

Definition at line 304 of file class.ilMyStaffAccess.php.

References $DIC, $ref_id, and ilOrgUnitOperation\OP_READ_LEARNING_PROGRESS.

304  : bool
305  {
306  global $DIC;
307 
308  return $DIC->access()->checkPositionAccess(ilOrgUnitOperation::OP_READ_LEARNING_PROGRESS, $ref_id);
309  }
global $DIC
Definition: feed.php:28
$ref_id
Definition: ltiauth.php:67

◆ hasCurrentUserAccessToMyStaff()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToMyStaff ( )

Definition at line 89 of file class.ilMyStaffAccess.php.

References $DIC, ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToCertificates(), ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToCompetences(), ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToCourseMemberships(), ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToTalks(), and ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToUser().

89  : bool
90  {
91  global $DIC;
92 
93  if (!self::isMyStaffActive()) {
94  return false;
95  }
96 
98  return true;
99  }
100 
101  if ($this->hasCurrentUserAccessToCertificates()) {
102  return true;
103  }
104 
105  if ($this->hasCurrentUserAccessToCompetences()) {
106  return true;
107  }
108 
109  if ($this->hasCurrentUserAccessToTalks()) {
110  return true;
111  }
112 
113  if ($this->hasCurrentUserAccessToUser()) {
114  return true;
115  }
116 
117  return false;
118  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

◆ hasCurrentUserAccessToTalks()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToTalks ( )

Definition at line 166 of file class.ilMyStaffAccess.php.

References $DIC, ilOrgUnitOperation\OP_CREATE_EMPLOYEE_TALK, ilOrgUnitOperation\OP_EDIT_EMPLOYEE_TALK, and ilOrgUnitOperation\OP_READ_EMPLOYEE_TALK.

Referenced by ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToMyStaff().

166  : bool
167  {
168  global $DIC;
169 
170  if (!self::isMyStaffActive()) {
171  return false;
172  }
173 
174  if ($this->countOrgusOfUserWithOperationAndContext(
175  $DIC->user()->getId(),
177  self::EMPLOYEE_TALK_CONTEXT
178  )
179  > 0
180  ) {
181  return true;
182  }
183 
184  if ($this->countOrgusOfUserWithOperationAndContext(
185  $DIC->user()->getId(),
187  self::EMPLOYEE_TALK_CONTEXT
188  )
189  > 0
190  ) {
191  return true;
192  }
193 
194  if ($this->countOrgusOfUserWithOperationAndContext(
195  $DIC->user()->getId(),
197  self::EMPLOYEE_TALK_CONTEXT
198  )
199  > 0
200  ) {
201  return true;
202  }
203 
204  return false;
205  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ hasCurrentUserAccessToUser()

ILIAS\MyStaff\ilMyStaffAccess::hasCurrentUserAccessToUser ( int  $usr_id = 0)

Definition at line 284 of file class.ilMyStaffAccess.php.

References $DIC, and ILIAS\MyStaff\ilMyStaffAccess\getUsersForUser().

Referenced by ILIAS\MyStaff\ilMyStaffAccess\hasCurrentUserAccessToMyStaff().

284  : bool
285  {
286  global $DIC;
287 
288  if (!self::isMyStaffActive()) {
289  return false;
290  }
291 
292  $arr_users = $this->getUsersForUser($DIC->user()->getId());
293  if (count($arr_users) > 0 && $usr_id === 0) {
294  return true;
295  }
296 
297  if (count($arr_users) > 0 && in_array($usr_id, $arr_users)) {
298  return true;
299  }
300 
301  return false;
302  }
getUsersForUser(int $user_id, ?int $position_id=null)
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasPositionDefaultPermissionForOperationInContext()

ILIAS\MyStaff\ilMyStaffAccess::hasPositionDefaultPermissionForOperationInContext ( int  $position_id,
int  $operation_id,
int  $context_id 
)

Definition at line 574 of file class.ilMyStaffAccess.php.

References $DIC, and $res.

Referenced by ILIAS\MyStaff\ilMyStaffAccess\getIdsForPositionAndOperation().

578  : bool {
579  global $DIC;
580  $res = $DIC->database()->query("SELECT * FROM il_orgu_permissions " .
581  " WHERE context_id = " . $context_id . " " .
582  "AND operations REGEXP '[\\\[,]\"?" . $operation_id . "\"?[\],]' " .
583  "AND position_id = " . $position_id . " " .
584  "AND parent_id = -1");
585 
586  return (bool) $DIC->database()->numRows($res) > 0;
587  }
$res
Definition: ltiservices.php:69
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ isMyStaffActive()

static ILIAS\MyStaff\ilMyStaffAccess::isMyStaffActive ( )
static

Definition at line 82 of file class.ilMyStaffAccess.php.

References $DIC.

Referenced by ILIAS\MyStaff\Provider\StaffMainBarProvider\getStaticSubItems().

82  : bool
83  {
84  global $DIC;
85 
86  return (bool) $DIC->settings()->get('enable_my_staff');
87  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

Field Documentation

◆ $instance

self ILIAS\MyStaff\ilMyStaffAccess::$instance = null
staticprotected

Definition at line 48 of file class.ilMyStaffAccess.php.

◆ $users_for_user

array ILIAS\MyStaff\ilMyStaffAccess::$users_for_user = []
protected

Definition at line 50 of file class.ilMyStaffAccess.php.

◆ ACCESS_ENROLMENTS_ORG_UNIT_OPERATION

const ILIAS\MyStaff\ilMyStaffAccess::ACCESS_ENROLMENTS_ORG_UNIT_OPERATION = ilOrgUnitOperation::OP_ACCESS_ENROLMENTS

◆ COURSE_CONTEXT

const ILIAS\MyStaff\ilMyStaffAccess::COURSE_CONTEXT = ilOrgUnitOperationContext::CONTEXT_CRS

◆ EMPLOYEE_TALK_CONTEXT

const ILIAS\MyStaff\ilMyStaffAccess::EMPLOYEE_TALK_CONTEXT = ilOrgUnitOperationContext::CONTEXT_ETAL

Definition at line 46 of file class.ilMyStaffAccess.php.

◆ EXERCISE_CONTEXT

const ILIAS\MyStaff\ilMyStaffAccess::EXERCISE_CONTEXT = ilOrgUnitOperationContext::CONTEXT_EXC

Definition at line 42 of file class.ilMyStaffAccess.php.

◆ GROUP_CONTEXT

const ILIAS\MyStaff\ilMyStaffAccess::GROUP_CONTEXT = ilOrgUnitOperationContext::CONTEXT_GRP

Definition at line 43 of file class.ilMyStaffAccess.php.

◆ SURVEY_CONTEXT

const ILIAS\MyStaff\ilMyStaffAccess::SURVEY_CONTEXT = ilOrgUnitOperationContext::CONTEXT_SVY

Definition at line 44 of file class.ilMyStaffAccess.php.

◆ TEST_CONTEXT

const ILIAS\MyStaff\ilMyStaffAccess::TEST_CONTEXT = ilOrgUnitOperationContext::CONTEXT_TST

Definition at line 45 of file class.ilMyStaffAccess.php.

◆ TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS

const ILIAS\MyStaff\ilMyStaffAccess::TMP_DEFAULT_TABLE_NAME_PREFIX_CRS_MEMBERS = 'tmp_crs_members'

Definition at line 37 of file class.ilMyStaffAccess.php.

◆ TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_DEFAULT_PERMISSIONS

const ILIAS\MyStaff\ilMyStaffAccess::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_DEFAULT_PERMISSIONS = 'tmp_obj_def_perm'

Definition at line 35 of file class.ilMyStaffAccess.php.

◆ TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS

const ILIAS\MyStaff\ilMyStaffAccess::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_SPEC_PERMISSIONS = 'tmp_obj_spec_perm'

Definition at line 34 of file class.ilMyStaffAccess.php.

◆ TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX

const ILIAS\MyStaff\ilMyStaffAccess::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_OBJ_USER_MATRIX = 'tmp_obj_user_matr'

Definition at line 39 of file class.ilMyStaffAccess.php.

◆ TMP_DEFAULT_TABLE_NAME_PREFIX_IL_ORGU_DEFAULT_PERMISSIONS

const ILIAS\MyStaff\ilMyStaffAccess::TMP_DEFAULT_TABLE_NAME_PREFIX_IL_ORGU_DEFAULT_PERMISSIONS = 'tmp_orgu_def_perm'

Definition at line 36 of file class.ilMyStaffAccess.php.

◆ TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS

const ILIAS\MyStaff\ilMyStaffAccess::TMP_DEFAULT_TABLE_NAME_PREFIX_ORGU_MEMBERS = 'tmp_orgu_members'

Definition at line 38 of file class.ilMyStaffAccess.php.


The documentation for this class was generated from the following file: