Example #1
0
 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;
     }
 }