コード例 #1
0
 /**
  * Move topic
  *
  * @param PostCreateListener $listener
  * @param array $input
  * @param                    $topic
  * @param                    $user
  * @return \Illuminate\Http\RedirectResponse
  */
 public function create(PostCreateListener $listener, $input, $topic, $user)
 {
     // Validate
     if (!$this->validator->validate($input)) {
         return $listener->postCreateFailed($this->validator->errors());
     }
     // Show preview
     if (isset($input['preview'])) {
         return $listener->showPreview($this->preview->generatePost($input, \Auth::user()));
     }
     // Go back from preview
     if (isset($input['back'])) {
         return $listener->backFromPreview();
     }
     // Create post
     $post = $this->creator->create($input, $topic, $user);
     return $listener->postCreateSucceeded($post);
 }
コード例 #2
0
 /**
  * Move topic
  *
  * @param TopicCreateListener $listener
  * @param                     $input
  * @param                     $user
  * @internal param $topic
  * @return \Illuminate\Http\RedirectResponse
  */
 public function create(TopicCreateListener $listener, $input, $user)
 {
     if (!$this->validator->validate($input)) {
         return $listener->topicCreationFailed($this->validator->errors());
     }
     // Show preview
     if (isset($input['preview'])) {
         // Create preview
         $topic = $this->preview->generateTopic($input);
         $post = $this->preview->generatePost($input, \Auth::user());
         return $listener->showPreview($post, $topic);
     }
     // Go back from preview
     if (isset($input['back'])) {
         $listener->backFromPreview();
     }
     // Create topic
     $topic = $this->topicCreator->create($input, $user);
     return $listener->topicCreated($topic);
 }