/** * @param Wiki $wiki * @param Section $section */ public function __construct(Wiki $wiki, Section $section) { $this->wiki = $wiki; $this->details = array('section' => array('wiki' => $wiki->getId(), 'id' => $section->getId(), 'title' => $section->getActiveContribution()->getTitle(), 'text' => $section->getActiveContribution()->getText(), 'visible' => $section->getVisible())); parent::__construct($wiki->getResourceNode(), $this->details); }
/** * @param Wiki $wiki * @param Section $section * @param array $changeSet */ public function __construct(Wiki $wiki, Section $section, $changeSet) { $details = array('section' => array('wiki' => $wiki->getId(), 'id' => $section->getId(), 'title' => $section->getActiveContribution()->getTitle(), 'text' => $section->getActiveContribution()->getText(), 'visible' => $section->getVisible(), 'changeSet' => $changeSet)); parent::__construct($wiki->getResourceNode(), $details); }
/** * Obtain a diff between two contributions from the same section. * * @param Wiki $wiki * @param Section $section * @param int $oldContributionId * @param int $newContributionId * * @return mixed[] * * @Get( * "/api/wikis/{wiki}/sections/{section}/contributions/{oldContributionId}/{newContributionId}", * name="icap_wiki_api_get_wiki_section_contribution_diff", * requirements={ "wiki" = "\d+", "section" = "\d+", "oldContributionId" = "\d+", "newContribution " = "\d+" }, * options = { "expose" = true } * ) */ public function getWikiSectionContributionDiff(Wiki $wiki, Section $section, $oldContributionId, $newContributionId) { $response = new JsonResponse(); $data = ['response' => []]; if ($section->getVisible() === true) { $contributions = $this->get('icap.wiki.contribution_manager')->compareContributions($section, [$oldContributionId, $newContributionId]); if (count($contributions) === 2) { $data = ['response' => [['title' => $contributions[0]->getTitle(), 'text' => $contributions[0]->getText(), 'contributor' => ['userName' => $contributions[0]->getContributor()->getUserName(), 'firstName' => $contributions[0]->getContributor()->getFirstName(), 'lastName' => $contributions[0]->getContributor()->getLastName()], 'creationDate' => $contributions[0]->getCreationDate()], ['title' => $contributions[1]->getTitle(), 'text' => $contributions[1]->getText(), 'contributor' => ['userName' => $contributions[1]->getContributor()->getUserName(), 'firstName' => $contributions[1]->getContributor()->getFirstName(), 'lastName' => $contributions[1]->getContributor()->getLastName()], 'creationDate' => $contributions[1]->getCreationDate()]]]; } } return $response->setData($data); }