61     protected function initMode(
int $a_item_id): void
    65         $this->mode = self::MODE_BY_ASSIGNMENT;
    68         $this->
setId(
"exc_mem");
    72         $this->
setTitle(
$lng->
txt(
"exc_assignment") . 
": " . $this->ass->getTitle());
    80         $tmp_data = $this->ass->getMemberListData();
    83         $usr_ids = array_keys($tmp_data);
    84         $filtered_usr_ids = 
$GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
    85             'edit_submissions_grades',
    86             'edit_submissions_grades',
    87             $this->exc->getRefId(),
    91         foreach ($filtered_usr_ids as $usr_id) {
    92             $data[$usr_id] = $tmp_data[$usr_id];
    96         $idl = $this->ass->getIndividualDeadlines();
    97         $rdl = $this->ass->getRequestedDeadlines();
    98         $calc_deadline = $this->ass->getCalculatedDeadlines();
   101         if ($this->ass->hasTeam()) {
   107             foreach (
$data as $item) {
   109                 if ($this->
filter[
"status"] &&
   110                     $item[
"status"] != $this->
filter[
"status"]) {
   114                 $team_id = $team_map[$item[
"usr_id"]] ?? 
"";
   118                     $team_id = 
"nty" . $item[
"usr_id"];
   121                 if (!isset($tmp[$team_id])) {
   122                     $tmp[$team_id] = $item;
   124                     if (is_numeric($team_id)) {
   125                         $tmp[$team_id][
"submission_obj"] = 
new ilExSubmission($this->ass, $item[
"usr_id"], $teams[$team_id]);
   132                 $tmp[$team_id][
"team"][$item[
"usr_id"]] = $item[
"name"];
   134                 if (is_numeric($team_id)) {
   135                     $idl_team_id = 
"t" . $team_id;
   136                     if (array_key_exists($idl_team_id, $idl)) {
   137                         $tmp[$team_id][
"idl"] = $idl[$idl_team_id];
   140                     if (isset($calc_deadline[
"team"][$team_id])) {
   141                         $tmp[$team_id][
"calc_deadline"] = $calc_deadline[
"team"][$team_id][
"calculated_deadline"];
   143                 } elseif (isset($calc_deadline[
"user"][$item[
"usr_id"]])) {
   144                     $tmp[
"nty" . $item[
"usr_id"]][
"calc_deadline"] = $calc_deadline[
"user"][$item[
"usr_id"]][
"calculated_deadline"];
   149             if ($this->
filter[
"name"]) {
   150                 foreach ($tmp as $idx => $item) {
   151                     if (!stristr(implode(
"", $item[
"team"]), $this->
filter[
"name"])) {
   156             if ($this->
filter[
"subm"]) {
   157                 foreach ($tmp as $idx => $item) {
   158                     $submission = $item[
"submission_obj"];
   159                     if ($this->
filter[
"subm"] == 
"y" &&
   160                         !$submission->getLastSubmission()) {
   162                     } elseif ($this->
filter[
"subm"] == 
"n" &&
   163                         $submission->getLastSubmission()) {
   168             if ($this->
filter[
"subm_after"]) {
   169                 foreach ($tmp as $idx => $item) {
   170                     $submission = $item[
"submission_obj"];
   171                     if ($this->
filter[
"subm_after"]) {
   172                         if (is_null($submission->getLastSubmission())) {
   175                             if ($submission->getLastSubmission() <
   181                     if ($this->
filter[
"subm_before"]) {
   182                         if (is_null($submission->getLastSubmission())) {
   185                             if ($submission->getLastSubmission() >
   197             $member_of_members = null;
   198             foreach (
$data as $idx => $item) {
   200                 if ($this->
filter[
"status"] &&
   201                     $item[
"status"] != $this->
filter[
"status"]) {
   205                 if ($this->
filter[
"name"] &&
   206                     !stristr($item[
"name"], $this->
filter[
"name"]) &&
   207                     !stristr($item[
"login"], $this->
filter[
"name"])) {
   215                 if ($this->
filter[
"subm"]) {
   216                     $submission = 
$data[$idx][
"submission_obj"];
   217                     if ($this->
filter[
"subm"] == 
"y" &&
   218                         !$submission->getLastSubmission()) {
   221                     } elseif ($this->
filter[
"subm"] == 
"n" &&
   222                         $submission->getLastSubmission()) {
   227                 if ($this->
filter[
"subm_after"]) {
   228                     if (is_null(
$data[$idx][
"submission_obj"]->getLastSubmission())) {
   231                         if (
$data[$idx][
"submission_obj"]->getLastSubmission() <
   237                 if ($this->
filter[
"subm_before"]) {
   238                     if (is_null(
$data[$idx][
"submission_obj"]->getLastSubmission())) {
   241                         if (
$data[$idx][
"submission_obj"]->getLastSubmission() >
   247                 if ($this->
filter[
'member_of']) {
   253                 if (array_key_exists($item[
"usr_id"], $idl)) {
   254                     $data[$idx][
"idl"] = $idl[$item[
"usr_id"]];
   257                 if (isset(
$data[$idx])) {
   258                     $data[$idx][
"requested_idl"] = array_key_exists($item[
"usr_id"], $rdl);
   261                 if (isset($calc_deadline[
"user"][$item[
"usr_id"]])) {
   262                     $data[$idx][
"calc_deadline"] = $calc_deadline[
"user"][$item[
"usr_id"]][
"calculated_deadline"];
   273         if (!$this->ass->hasTeam()) {
   276             if (in_array(
"image", $selected)) {
   277                 $cols[
"image"] = array($this->
lng->txt(
"image"));
   280             $cols[
"name"] = array($this->
lng->txt(
"name"), 
"name");
   282             if (in_array(
"login", $selected)) {
   283                 $cols[
"login"] = array($this->
lng->txt(
"login"), 
"login");
   286             $cols[
"name"] = array($this->
lng->txt(
"exc_team"));
   296         if (!$this->ass->hasTeam()) {
   297             $cols[
"image"] = array($this->
lng->txt(
"image"));
   298             $cols[
"name"] = array($this->
lng->txt(
"name"), 
"name");
   299             $cols[
"login"] = array($this->
lng->txt(
"login"), 
"login");
   301             $cols[
"name"] = array($this->
lng->txt(
"exc_tbl_team"));
   304         if ($this->ass->hasActiveIDl()) {
   305             $cols[
"idl"] = array($this->
lng->txt(
"exc_tbl_individual_deadline"), 
"idl");
   309             $cols[
"calc_deadline"] = array($this->
lng->txt(
"exc_tbl_calculated_deadline"), 
"calc_deadline");
   320     protected function fillRow(array $a_set): void
   324         $member_id = $a_set[
"usr_id"];
   326         $ilCtrl->
setParameter($this->parent_obj, 
"ass_id", $this->ass->getId());
   327         $ilCtrl->setParameter($this->parent_obj, 
"member_id", $member_id);
   330         $this->tpl->setVariable(
"NAME_ID", 
"sel_part_ids");
   331         $this->tpl->setVariable(
"LISTED_NAME_ID", 
"listed_part_ids");
   332         $this->tpl->setVariable(
"VAL_ID", $member_id);
   334         $this->parseRow($member_id, $this->ass, $a_set);
   336         $ilCtrl->setParameter($this->parent_obj, 
"ass_id", $this->ass->getId()); 
   337         $ilCtrl->setParameter($this->parent_obj, 
"member_id", 
"");
 ilExerciseSubmissionFeedbackGUI $feedback_gui
 
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
 
setFormAction(string $a_form_action, bool $a_multipart=false)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
 
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
 
static lookupType(int $a_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
isForwardingToFormDispatcher()
 
__construct(object $a_parent_obj, string $a_parent_cmd, ilObjExercise $a_exc, int $a_item_id, ilExerciseSubmissionFeedbackGUI $feedback_gui)
 
static getAssignmentTeamMap(int $a_ass_id)
 
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
 
__construct(Container $dic, ilPlugin $plugin)
 
static _isParticipant(int $a_ref_id, int $a_usr_id)
Static function to check if a user is a participant of the container object. 
 
Exercise submission //TODO: This class has many static methods related to delivered "files"...
 
filter(string $filter_id, $class_path, string $cmd, bool $activated=true, bool $expanded=true)
 
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
 
getFormAction(object $a_gui_obj, string $a_fallback_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
 
addMultiCommand(string $a_cmd, string $a_text)
 
static getInstancesFromMap(int $a_assignment_id)