/**
  * 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;
 }