public function executeCreate(opMailRequest $request) { if (!Doctrine::getTable('SnsConfig')->get('op_diary_plugin_use_email_post', true)) { return sfView::NONE; } $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $diary = Doctrine::getTable('Diary')->find($request['id']); if (!$diary || !$diary->isViewable($member->id)) { return sfView::NONE; } if ($diary->member_id !== $member->id) { $relation = Doctrine::getTable('MemberRelationship')->retrieveByFromAndTo($diary->member_id, $member->id); if ($relation && $relation->getIsAccessBlock()) { return sfView::NONE; } } $mailMessage = $request->getMailMessage(); $validator = new opValidatorString(array('rtrim' => true)); try { $body = $validator->clean($mailMessage->getContent()); } catch (Exception $e) { return sfView::ERROR; } $diaryComment = new DiaryComment(); $diaryComment->setDiary($diary); $diaryComment->setMember($member); $diaryComment->setBody($body); $diaryComment->save(); if (sfConfig::get('app_diary_comment_is_upload_images', true)) { $num = (int) sfConfig::get('app_diary_comment_max_image_file_num', 3); $files = $this->getImageFiles($mailMessage, $num); foreach ($files as $file) { $image = new DiaryCommentImage(); $image->setDiaryComment($diaryComment); $image->setFile($file); $image->save(); } } return sfView::NONE; }
public function executeCreate(opMailRequest $request) { $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $topic = Doctrine::getTable('CommunityEvent')->find($request['id']); if (!$topic || !$topic->isCreatableCommunityEventComment($member->id)) { return sfView::NONE; } if ($topic->member_id !== $member->id) { $relation = Doctrine::getTable('MemberRelationship')->retrieveByFromAndTo($topic->member_id, $member->id); if ($relation && $relation->getIsAccessBlock()) { return sfView::NONE; } } $mailMessage = $request->getMailMessage(); $validator = new opValidatorString(array('rtrim' => true)); try { $body = $validator->clean($mailMessage->getContent()); } catch (Exception $e) { return sfView::ERROR; } $topicComment = new CommunityEventComment(); $topicComment->setCommunityEvent($topic); $topicComment->setMember($member); $topicComment->setBody($body); $topicComment->save(); $num = (int) sfConfig::get('app_community_topic_comment_max_image_file_num', 3); $files = $this->getImageFiles($mailMessage, $num); $number = 0; foreach ($files as $file) { $number++; $image = new CommunityEventCommentImage(); $image->setCommunityEventComment($topicComment); $image->setFile($file); $image->setNumber($number); $image->save(); } opCommunityTopicToolkit::sendNotificationMail($topic->getCommunity(), $topic->getId(), 'event', $topicComment->getMember()->getName(), $topic->getName(), $topicComment->getBody()); return sfView::NONE; }
public function executeCreate(opMailRequest $request) { if (!Doctrine::getTable('SnsConfig')->get('op_diary_plugin_use_email_post', true)) { return sfView::NONE; } $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $mailMessage = $request->getMailMessage(); $title = $this->getSubject($mailMessage, '(no title)'); $validator = new opValidatorString(array('rtrim' => true)); try { $body = $validator->clean($mailMessage->getContent()); } catch (Exception $e) { return sfView::ERROR; } $diary = new Diary(); $diary->setMember($member); $diary->setTitle($title); $diary->setBody($body); $diary->setPublicFlag($this->getDefaultPublicFlag($member)); $diaryImages = array(); if (sfConfig::get('app_diary_is_upload_images', true)) { $num = (int) sfConfig::get('app_diary_max_image_file_num', 3); $files = $this->getImageFiles($mailMessage, $num); $i = 1; foreach ($files as $file) { $diaryImage = new DiaryImage(); $diaryImage->setDiary($diary); $diaryImage->setFile($file); $diaryImage->setNumber($i++); $diaryImages[] = $diaryImage; $diary->setHasImages(true); } } $diary->save(); foreach ($diaryImages as $diaryImage) { $diaryImage->save(); } return sfView::NONE; }
public function executeUpload(opMailRequest $request) { $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $mailMessage = $request->getMailMessage(); $album = Doctrine::getTable('Album')->find($request['id']); if (!$album || !$album->isAuthor($member->id)) { return sfView::NONE; } $files = $this->getImageFiles($mailMessage, 5); foreach ($files as $file) { $albumImage = new AlbumImage(); $albumImage->setAlbum($album); $albumImage->setMember($member); $albumImage->setFile($file); $albumImage->save(); } return sfView::NONE; }