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; }
public function executePost(sfWebRequest $request) { $conn = opDoctrineQuery::getMasterConnection(); $conn->beginTransaction(); try { $params = $this->getRequestedFormParameter($request); $diary = $this->getDiaryObject($this->member->id, $request->getParameter('id')); $diary->setTitle($params['title']); $diary->setBody($params['body']); $diary->setPublicFlag($params['public_flag']); if ($diary->is_open && $params['public_flag'] !== 4) { $diary->is_open = 0; } $diary->save($conn); $oldDiaryImages = $diary->getDiaryImages(); foreach ($oldDiaryImages as $oldDiaryImage) { if ($request['diary_photo_' . $oldDiaryImage->number . '_photo_delete']) { $oldDiaryImage->delete($conn); unset($oldDiaryImages[$oldDiaryImage->number]); } } if ($params['image']) { foreach ($params['image'] as $key => $image) { $number = substr($key, -1); if ($oldDiaryImages[$number]) { throw new opDiaryPluginAPIException('invalid deleteCheck'); } $diaryImage = new DiaryImage(); $diaryImage->setDiaryId($diary->getId()); $diaryImage->setFile($image); $diaryImage->setNumber($number); $diaryImage->save($conn); //re-save because file name doesnt have prefix(refs #1643) $diaryImage->getFile()->save($conn); $diary->updateHasImages(); } } $conn->commit(); } catch (opDiaryPluginAPIException $e) { $conn->rollback(); $this->forward400($e->getMessage()); } catch (Exception $e) { $conn->rollback(); throw $e; } $this->diary = $diary; }
public function save() { if ($this->isOAuthAuthenticate() && array_key_exists(self::IS_GOOGLE_CALENDAR_OAUTH_KEY_REVOKE, $this->values)) { $isDelete = (bool) $this->values[self::IS_GOOGLE_CALENDAR_OAUTH_KEY_REVOKE]; unset($this->values[self::IS_GOOGLE_CALENDAR_OAUTH_KEY_REVOKE]); if ($isDelete) { $con = opDoctrineQuery::getMasterConnection(); $con->beginTransaction(); try { $this->opCalendarOAuth->getClient()->revokeToken(); opCalendarPluginToolkit::deleteMemberGoogleCalendar($this->member); $con->commit(); } catch (Exception $e) { $con->rollback(); return false; } } } return parent::save(); }