本文整理匯總了PHP中TYPO3\CMS\Core\Authentication\BackendUserAuthentication::recordEditAccessInternals方法的典型用法代碼示例。如果您正苦於以下問題:PHP BackendUserAuthentication::recordEditAccessInternals方法的具體用法?PHP BackendUserAuthentication::recordEditAccessInternals怎麽用?PHP BackendUserAuthentication::recordEditAccessInternals使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類TYPO3\CMS\Core\Authentication\BackendUserAuthentication
的用法示例。
在下文中一共展示了BackendUserAuthentication::recordEditAccessInternals方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: addDataSetsUserPermissionsOnPageForNewContentRecord
/**
* @test
*/
public function addDataSetsUserPermissionsOnPageForNewContentRecord()
{
$input = ['tableName' => 'tt_content', 'command' => 'new', 'vanillaUid' => 123, 'parentPageRow' => ['uid' => 123, 'pid' => 321]];
$this->beUserProphecy->isAdmin()->willReturn(false);
$this->beUserProphecy->check('tables_modify', $input['tableName'])->willReturn(true);
$this->beUserProphecy->calcPerms($input['parentPageRow'])->willReturn(Permission::CONTENT_EDIT);
$this->beUserProphecy->recordEditAccessInternals($input['tableName'], Argument::cetera())->willReturn(true);
$result = $this->subject->addData($input);
$this->assertSame(Permission::CONTENT_EDIT, $result['userPermissionOnPage']);
}
示例2: addDataSetsPermissionsToAllIfRootLevelRestrictionForTableIsIgnoredForNewContentRecord
/**
* @test
*/
public function addDataSetsPermissionsToAllIfRootLevelRestrictionForTableIsIgnoredForNewContentRecord()
{
$input = ['tableName' => 'pages', 'command' => 'new', 'vanillaUid' => 123, 'parentPageRow' => null];
$this->beUserProphecy->isAdmin()->willReturn(false);
$this->beUserProphecy->check('tables_modify', $input['tableName'])->willReturn(true);
$this->beUserProphecy->recordEditAccessInternals($input['tableName'], Argument::cetera())->willReturn(true);
$GLOBALS['TCA'][$input['tableName']]['ctrl']['security']['ignoreRootLevelRestriction'] = true;
$result = $this->subject->addData($input);
$this->assertSame(Permission::ALL, $result['userPermissionOnPage']);
}
示例3: canDeletePage
/**
* Used to evaluate if a page can be deleted
*
* @param int $uid Page id
* @return array|string If array: List of page uids to traverse and delete (means OK), if string: error message.
*/
public function canDeletePage($uid)
{
// If we may at all delete this page
if (!$this->doesRecordExist('pages', $uid, 'delete')) {
return 'Attempt to delete page without permissions';
}
if ($this->deleteTree) {
// Returns the branch
$brExist = $this->doesBranchExist('', $uid, $this->pMap['delete'], 1);
// Checks if we had permissions
if ($brExist == -1) {
return 'Attempt to delete pages in branch without permissions';
}
if (!$this->noRecordsFromUnallowedTables($brExist . $uid)) {
return 'Attempt to delete records from disallowed tables';
}
$pagesInBranch = GeneralUtility::trimExplode(',', $brExist . $uid, true);
foreach ($pagesInBranch as $pageInBranch) {
if (!$this->BE_USER->recordEditAccessInternals('pages', $pageInBranch, false, false, true)) {
return 'Attempt to delete page which has prohibited localizations.';
}
}
return $pagesInBranch;
} else {
// returns the branch
$brExist = $this->doesBranchExist('', $uid, $this->pMap['delete'], 1);
// Checks if branch exists
if ($brExist != '') {
return 'Attempt to delete page which has subpages';
}
if (!$this->noRecordsFromUnallowedTables($uid)) {
return 'Attempt to delete records from disallowed tables';
}
if ($this->BE_USER->recordEditAccessInternals('pages', $uid, false, false, true)) {
return array($uid);
} else {
return 'Attempt to delete page which has prohibited localizations.';
}
}
}