Пример #1
0
 /**
  * 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;
 }