Beispiel #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;
 }
Beispiel #2
0
 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();
 }