/** * Save status of selecte members */ function saveStatusObject($a_part_view = false, $a_force_all = false) { global $ilCtrl; $this->checkPermission("write"); include_once "./Modules/Exercise/classes/class.ilExAssignment.php"; // include_once 'Services/Tracking/classes/class.ilLPMarks.php'; $saved_for = array(); foreach ($_POST["id"] as $key => $value) { if (!$a_part_view) { if (!$a_force_all && $_POST["member"][$key] != "1") { continue; } else { $uname = ilObjUser::_lookupName($key); $saved_for[] = $uname["lastname"] . ", " . $uname["firstname"]; } } if (!$a_part_view) { $ass_id = (int) $_GET["ass_id"]; $user_id = (int) $key; } else { $ass_id = (int) $key; $user_id = (int) $_GET["part_id"]; } // team upload? if (is_object($this->ass) and $this->ass->getType() == ilExAssignment::TYPE_UPLOAD_TEAM) { $team_id = $this->ass->getTeamId($user_id); $user_ids = $this->ass->getTeamMembers($team_id); if (count($_POST["member"]) > 0) { foreach ($user_ids as $user_id) { if ($user_id != $key) { $uname = ilObjUser::_lookupName($user_id); $saved_for[] = $uname["lastname"] . ", " . $uname["firstname"]; } } } } else { $user_ids = array($user_id); } foreach ($user_ids as $user_id) { ilExAssignment::updateStatusOfUser($ass_id, $user_id, ilUtil::stripSlashes($_POST["status"][$key])); ilExAssignment::updateNoticeForUser($ass_id, $user_id, ilUtil::stripSlashes($_POST["notice"][$key])); if (ilUtil::stripSlashes($_POST['mark'][$key]) != ilExAssignment::lookupMarkOfUser($ass_id, $user_id)) { ilExAssignment::updateStatusTimeOfUser($ass_id, $user_id); } ilExAssignment::updateMarkOfUser($ass_id, $user_id, ilUtil::stripSlashes($_POST['mark'][$key])); /* ilExAssignment::updateCommentForUser($ass_id, $user_id, ilUtil::stripSlashes($_POST['lcomment'][$key])); */ } } if (count($saved_for) > 0) { $save_for_str = "(" . implode($saved_for, " - ") . ")"; } if ($save_for_str || $a_part_view) { ilUtil::sendSuccess($this->lng->txt("exc_status_saved") . " " . $save_for_str, true); } if (!$a_part_view) { $ilCtrl->redirect($this, "members"); } else { $ilCtrl->redirect($this, "showParticipant"); } }
/** * update marking of member * * @param int $usr_id */ private function updateMarking($usr_id) { if (isset($this->mark)) { ilExAssignment::updateMarkOfUser($this->assignment->getId(), $usr_id, ilUtil::stripSlashes($this->mark)); } if (isset($this->comment)) { ilExAssignment::updateCommentForUser($this->assignment->getId(), $usr_id, ilUtil::stripSlashes($this->comment)); } //$memberObject = $this->exercise->members_obj; if (isset($this->status)) { ilExAssignment::updateStatusOfUser($this->assignment->getId(), $usr_id, ilUtil::stripSlashes($this->status)); } if (isset($this->notice)) { ilExAssignment::updateNoticeForUser($this->assignment->getId(), $usr_id, ilUtil::stripSlashes($this->notice)); } // reset variables $this->mark = null; $this->status = null; $this->notice = null; $this->comment = null; }