示例#1
0
 public function executePost(sfWebRequest $request)
 {
     $conn = opDoctrineQuery::getMasterConnection();
     $conn->beginTransaction();
     try {
         $params = $this->getDiaryCommentFormParameter($request, $this->getUser()->getMemberId());
         $diaryComment = new DiaryComment();
         $diaryComment->setMemberId($this->member->getId());
         $diaryComment->setDiaryId($params['diary_id']);
         $diaryComment->setBody($request['body']);
         $diaryComment->save($conn);
         if ($params['image']) {
             $diaryImage = new DiaryCommentImage();
             $diaryImage->setDiaryCommentId($diaryComment->id);
             $diaryImage->setFile($params['image']);
             $diaryImage->save($conn);
             //re-save because file name doesnt have prefix(refs #1643)
             $diaryImage->getFile()->save($conn);
         }
         $conn->commit();
     } catch (opDiaryPluginAPIException $e) {
         $conn->rollback();
         $this->forward400($e->getMessage());
     } catch (Exception $e) {
         $conn->rollback();
         throw $e;
     }
     $this->memberId = $this->getUser()->getMemberId();
     $this->comment = $diaryComment;
 }