/**
  * Add personal resource to assigment
  * 
  * @param int $a_wsp_id
  * @param int $a_ass_id
  * @param int $user_id 
  */
 function addResourceObject($a_wsp_id, $a_ass_id, $user_id)
 {
     global $ilDB;
     $next_id = $ilDB->nextId("exc_returned");
     $query = sprintf("INSERT INTO exc_returned " . "(returned_id, obj_id, user_id, filetitle, ass_id) " . "VALUES (%s, %s, %s, %s, %s)", $ilDB->quote($next_id, "integer"), $ilDB->quote($this->getId(), "integer"), $ilDB->quote($user_id, "integer"), $ilDB->quote($a_wsp_id, "text"), $ilDB->quote($a_ass_id, "integer"));
     $ilDB->manipulate($query);
     if (!$this->members_obj->isAssigned($user_id)) {
         $this->members_obj->assignMember($user_id);
     }
     // no submission yet
     ilExAssignment::updateStatusReturnedForUser($a_ass_id, $user_id, 0);
     ilExerciseMembers::_writeReturned($this->getId(), $user_id, 0);
 }
Пример #2
0
 public function removeTeamMemberObject()
 {
     global $ilUser;
     $ids = $_POST["id"];
     if (!sizeof($ids)) {
         ilUtil::sendFailure($this->lng->txt("select_one"), true);
         $this->ctrl->redirect($this, "submissionScreenTeam");
     }
     $team_id = $this->ass->getTeamId($ilUser->getId());
     $members = $this->ass->getTeamMembers($team_id);
     $team_deleted = false;
     if (sizeof($members) <= sizeof($ids)) {
         if (sizeof($members) == 1 && $members[0] == $ilUser->getId()) {
             $team_deleted = true;
         } else {
             ilUtil::sendFailure($this->lng->txt("exc_team_at_least_one"), true);
             $this->ctrl->redirect($this, "submissionScreenTeam");
         }
     }
     foreach ($ids as $user_id) {
         $this->ass->removeTeamMember($team_id, $user_id, $this->ref_id);
         ilExAssignment::updateStatusReturnedForUser($this->ass->getId(), $user_id, 0);
         ilExerciseMembers::_writeReturned($this->object->getId(), $user_id, 0);
         // :TODO: log, notification
     }
     ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
     if (!$team_deleted) {
         $this->ctrl->redirect($this, "submissionScreenTeam");
     } else {
         $this->ctrl->redirect($this, "showOverview");
     }
 }
Пример #3
0
 /**
  * Add personal resource to assigment
  * 
  * @param int $a_wsp_id
  * @param int $a_ass_id
  * @param int $user_id 
  * @param string $a_text 
  */
 function addResourceObject($a_wsp_id, $a_ass_id, $user_id, $a_text = null)
 {
     global $ilDB;
     $next_id = $ilDB->nextId("exc_returned");
     $query = sprintf("INSERT INTO exc_returned " . "(returned_id, obj_id, user_id, filetitle, ass_id, ts, atext) " . "VALUES (%s, %s, %s, %s, %s, %s, %s)", $ilDB->quote($next_id, "integer"), $ilDB->quote($this->getId(), "integer"), $ilDB->quote($user_id, "integer"), $ilDB->quote($a_wsp_id, "text"), $ilDB->quote($a_ass_id, "integer"), $ilDB->quote(ilUtil::now(), "timestamp"), $ilDB->quote($a_text, "text"));
     $ilDB->manipulate($query);
     if (!$this->members_obj->isAssigned($user_id)) {
         $this->members_obj->assignMember($user_id);
     }
     // no submission (of blog/portfolio) yet (unless text assignment)
     ilExAssignment::updateStatusReturnedForUser($a_ass_id, $user_id, (bool) $a_text);
     ilExerciseMembers::_writeReturned($this->getId(), $user_id, (bool) $a_text);
     return $next_id;
 }