public getPageFlexFormSource ( integer $pageUid ) : string | ||
$pageUid | integer | |
return | string |
public function getPageFlexFormSource($pageUid)
{
$pageUid = (int) $pageUid;
if (1 > $pageUid) {
return null;
}
$page = $this->workspacesAwareRecordService->getSingle('pages', '*', $pageUid);
while (null !== $page && 0 !== (int) $page['uid'] && true === empty($page['tx_fed_page_flexform'])) {
$resolveParentPageUid = (int) (0 > $page['pid'] ? $page['t3ver_oid'] : $page['pid']);
$page = $this->workspacesAwareRecordService->getSingle('pages', '*', $resolveParentPageUid);
}
return $page['tx_fed_page_flexform'];
}
/** * @return void */ public function testGetPageFlexFormSource() { $record1 = array('pid' => 2, 'uid' => 1); $record2 = array('pid' => 0, 'uid' => 3, 'tx_fed_page_flexform' => 'test'); $service = $this->getMock('FluidTYPO3\\Flux\\Service\\WorkspacesAwareRecordService', array('getSingle')); $service->expects($this->at(0))->method('getSingle')->with('pages', '*', 1)->willReturn($record1); $service->expects($this->at(1))->method('getSingle')->with('pages', '*', 2)->willReturn($record2); $instance = new PageService(); $instance->injectWorkspacesAwareRecordService($service); $output = $instance->getPageFlexFormSource(1); $this->assertEquals('test', $output); }