/**
  * @param array            $contentCollection
  * @param ContentInterface $source
  * @param ContentInterface $destination
  *
  * @return string
  */
 public function reverseDescribe(array $contentCollection, ContentInterface $source = null, ContentInterface $destination = null)
 {
     $content = reset($contentCollection);
     $count = count($contentCollection);
     $type = null;
     if ($count > 1) {
         $type = trans('content.type.' . $content->getType() . '.plural');
     } else {
         $type = trans('content.type.' . $content->getType());
     }
     return $this->viewFactory->make($this->getReverseDescriptionView(), ['type' => $type, 'title' => $count > 1 ? null : $content->getTitle(), 'url' => $content->getUrl(), 'count' => $count > 1 ? $count : 'a', 'source_title' => $source ? $source->getTitle() : null, 'source_url' => $source ? $source->getUrl() : null, 'destination_title' => $destination ? $destination->getTitle() : null, 'destination_url' => $destination ? $destination->getUrl() : null]);
 }
Ejemplo n.º 2
0
 /**
  * @param User                $user
  * @param ModerationInterface $moderation
  * @param Collection          $contentCollection
  * @param string              $ipAddress
  * @param bool                $isReverse
  * @param ContentInterface    $source
  * @param ContentInterface    $destination
  */
 public function log(User $user, ModerationInterface $moderation, Collection $contentCollection, $ipAddress, $isReverse = false, ContentInterface $source = null, ContentInterface $destination = null)
 {
     $attributes = ['user_id' => $user->id, 'moderation' => $moderation->getKey(), 'is_reverse' => $isReverse, 'ip_address' => $ipAddress];
     if ($source) {
         $attributes['source_content_type'] = $source->getType();
         $attributes['source_content_id'] = $source->getId();
     }
     if ($destination) {
         $attributes['destination_content_type'] = $destination->getType();
         $attributes['destination_content_id'] = $destination->getId();
     }
     $moderationLog = $this->moderationLogRepository->create($attributes);
     foreach ($contentCollection as $content) {
         $this->moderationLogSubjectRepository->addContentToLog($moderationLog, $content);
     }
 }
 /**
  * @param ModerationLog    $moderationLog
  * @param ContentInterface $content
  *
  * @return ModerationLogSubject
  */
 public function addContentToLog(ModerationLog $moderationLog, ContentInterface $content)
 {
     return $this->create(['moderation_log_id' => $moderationLog->id, 'content_type' => $content->getType(), 'content_id' => $content->getId()]);
 }