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