function addSubmission($paperId, $submissionType, $filePointer, $fileMime) { try { if (is_int($paperId) or Util::validateSubmitType($submissionType)) { $submissionSql = "INSERT INTO Submission (reviewStatus, type, file, file_mime, paper_id)\n VALUES (0, :submissionType, :filee, :fileMime, :paperId);"; $paperSql = "UPDATE Paper SET status = :submissionType * 10"; $this->conn->beginTransaction(); $submissionStmt = $this->conn->prepare($submissionSql); $submissionStmt->bindValue(":submissionType", $submissionType, PDO::PARAM_INT); $submissionStmt->bindValue(":filee", $filePointer, PDO::PARAM_LOB); $submissionStmt->bindValue(":fileMime", $fileMime); $submissionStmt->bindValue(":paperId", $paperId); $submissionStmt->execute(); $submissionId = $this->conn->lastInsertId(); $paperStmt = $this->conn->prepare($paperSql); $paperStmt->bindValue(":submissionType", $submissionType, PDO::PARAM_INT); $paperStmt->execute(); $this->conn->commit(); $assignReviewJob = new ReviewDB(); $assignReviewJob->assignReviewJob($submissionId); } else { return -1; } } catch (PDOException $e) { return -1; } }