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