예제 #1
0
 /**
  * @param string $moderationName
  *
  * @param string $contentName
  * @param int    $contentId
  *
  * @return \Illuminate\View\View
  */
 public function renderModerationButton($moderationName, $contentName, $contentId)
 {
     $moderation = $this->moderationRegistry->get($moderationName);
     if ($moderation && $this->permissionChecker->hasPermission('user', null, $moderation->getPermissionName())) {
         return view('partials.moderation.moderation_button', ['moderation' => $moderation, 'content_name' => $contentName, 'content_id' => $contentId]);
     }
 }
예제 #2
0
파일: Topic.php 프로젝트: Adamzynoni/mybb2
 /**
  * @return \MyBB\Core\Moderation\ModerationInterface[]
  */
 public function moderations()
 {
     $moderations = $this->moderations->getForContent(new Post());
     $decorated = [];
     $presenter = $this->app->make('autopresenter');
     foreach ($moderations as $moderation) {
         $decorated[] = $presenter->decorate($moderation);
     }
     return $decorated;
 }
예제 #3
0
 /**
  * @return string
  */
 public function description()
 {
     $moderation = $this->moderationRegistry->get($this->getWrappedObject()->moderation);
     $moderation = $this->presenterDecorator->decorate($moderation);
     $content = $this->getContentForSubjects($this->getWrappedObject()->subjects()->get()->all());
     if ($this->getWrappedObject()->is_reverse) {
         $description = $moderation->reverseDescribe($content, $this->getSourceFromLog($this->getWrappedObject()), $this->getDestinationFromLog($this->getWrappedObject()));
     } else {
         $description = $moderation->describe($content, $this->getSourceFromLog($this->getWrappedObject()), $this->getDestinationFromLog($this->getWrappedObject()));
     }
     return $this->getUserProfileLink($this->getWrappedObject()->user) . ' ' . $description;
 }
예제 #4
0
 public function testGetForContentReturnsSomeForSomeSupportedContent()
 {
     $moderation1 = Mockery::mock('MyBB\\Core\\Moderation\\ModerationInterface');
     $moderation1->shouldReceive('getKey')->withNoArgs()->andReturn('key1');
     $moderation1->shouldReceive('visible')->with('content')->andReturn(true);
     $moderation2 = Mockery::mock('MyBB\\Core\\Moderation\\ModerationInterface');
     $moderation2->shouldReceive('getKey')->withNoArgs()->andReturn('key2');
     $moderation2->shouldReceive('visible')->with('content')->andReturn(false);
     $registry = new ModerationRegistry();
     $registry->addModeration($moderation1);
     $registry->addModeration($moderation2);
     $moderations = $registry->getForContent('content');
     static::assertCount(1, $moderations);
     static::assertContains($moderation1, $moderations);
 }
예제 #5
0
 /**
  * @param string $name
  *
  * @return ModerationInterface
  */
 public function getModerationByName($name)
 {
     return $this->moderationRegistry->get($name);
 }