/** * Save submitted file of user */ function deliverFile($a_http_post_files, $a_ass_id, $user_id, $unzip = false) { global $ilDB; include_once "./Modules/Exercise/classes/class.ilFSStorageExercise.php"; $storage = new ilFSStorageExercise($this->getId(), $a_ass_id); $deliver_result = $storage->deliverFile($a_http_post_files, $user_id, $unzip); //var_dump($deliver_result); if ($deliver_result) { $next_id = $ilDB->nextId("exc_returned"); $query = sprintf("INSERT INTO exc_returned " . "(returned_id, obj_id, user_id, filename, filetitle, mimetype, ts, ass_id) " . "VALUES (%s, %s, %s, %s, %s, %s, %s, %s)", $ilDB->quote($next_id, "integer"), $ilDB->quote($this->getId(), "integer"), $ilDB->quote($user_id, "integer"), $ilDB->quote($deliver_result["fullname"], "text"), $ilDB->quote($a_http_post_files["name"], "text"), $ilDB->quote($deliver_result["mimetype"], "text"), $ilDB->quote(ilUtil::now(), "timestamp"), $ilDB->quote($a_ass_id, "integer")); $ilDB->manipulate($query); // team upload? $user_ids = ilExAssignment::getTeamMembersByAssignmentId($a_ass_id, $user_id); if (!$user_ids) { $user_ids = array($user_id); } else { $team_id = ilExAssignment::getTeamIdByAssignment($a_ass_id, $user_id); ilExAssignment::writeTeamLog($team_id, ilExAssignment::TEAM_LOG_ADD_FILE, $a_http_post_files["name"]); } foreach ($user_ids as $user_id) { if (!$this->members_obj->isAssigned($user_id)) { $this->members_obj->assignMember($user_id); } ilExAssignment::updateStatusReturnedForUser($a_ass_id, $user_id, 1); ilExerciseMembers::_writeReturned($this->getId(), $user_id, 1); } } return true; }