/**
  * Save submitted file of user
  */
 function deliverFile($a_http_post_files, $a_ass_id, $user_id, $unzip = false)
 {
     global $ilDB;
     include_once "./Customizing/global/plugins/Services/Repository/RepositoryObject/Ephorus/classes/class.ilFSStorageEphorus.php";
     $storage = new ilFSStorageEphorus($this->getId(), $a_ass_id);
     $deliver_result = $storage->deliverFile($a_http_post_files, $user_id, $unzip);
     if ($deliver_result) {
         $next_id = $ilDB->nextId("rep_robj_xeph_subm");
         $processtype = $this->getProcesstype();
         $visibility_index = $processtype == 3 ? 2 : 1;
         $query = sprintf("INSERT INTO rep_robj_xeph_subm " . "(id, obj_id, user_id, filename, filetitle, mimetype, date_created, ass_id, processtype, visibility_index, status) " . "VALUES (%s, %s, %s, %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->quote($processtype, "integer"), $ilDB->quote($visibility_index, "integer"), $ilDB->quote(0, "integer"));
         $ilDB->manipulate($query);
         if (!$this->members_obj->isAssigned($user_id)) {
             $this->members_obj->assignMember($user_id);
         }
         ilEphAssignment::updateStatusReturnedForUser($a_ass_id, $user_id, 1);
         ilEphorusMembers::_writeReturned($this->getId(), $user_id, 1);
     }
     return true;
 }