当前位置: 首页>>代码示例>>PHP>>正文


PHP BackendUserAuthentication::checkLanguageAccess方法代码示例

本文整理汇总了PHP中TYPO3\CMS\Core\Authentication\BackendUserAuthentication::checkLanguageAccess方法的典型用法代码示例。如果您正苦于以下问题:PHP BackendUserAuthentication::checkLanguageAccess方法的具体用法?PHP BackendUserAuthentication::checkLanguageAccess怎么用?PHP BackendUserAuthentication::checkLanguageAccess使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TYPO3\CMS\Core\Authentication\BackendUserAuthentication的用法示例。


在下文中一共展示了BackendUserAuthentication::checkLanguageAccess方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addDataSetsValuesAndStructureForSectionContainerElements

 /**
  * @test
  */
 public function addDataSetsValuesAndStructureForSectionContainerElements()
 {
     $input = ['tableName' => 'aTable', 'databaseRow' => ['aField' => ['data' => ['sDEF' => ['lDEF' => ['section_1' => ['el' => ['1' => ['container_1' => ['el' => []]], '2' => ['container_1' => ['el' => ['aFlexField' => ['vDEF' => 'dbValue']]]]]]], 'lEN' => ['section_1' => ['el' => ['1' => ['container_1' => []]]]]]], 'meta' => []]], 'processedTca' => ['columns' => ['aField' => ['config' => ['type' => 'flex', 'ds' => ['sheets' => ['sDEF' => ['ROOT' => ['type' => 'array', 'el' => ['section_1' => ['section' => '1', 'type' => 'array', 'el' => ['container_1' => ['type' => 'array', 'el' => ['aFlexField' => ['label' => 'aFlexFieldLabel', 'config' => ['type' => 'input', 'default' => 'defaultValue']]]]]]]]]]]]]]], 'pageTsConfig' => []];
     $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['flexFormSegment'] = [\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowDefaultValues::class => []];
     /** @var LanguageService|ObjectProphecy $languageService */
     $languageService = $this->prophesize(LanguageService::class);
     $GLOBALS['LANG'] = $languageService->reveal();
     $languageService->sL(Argument::cetera())->willReturnArgument(0);
     $this->backendUserProphecy->isAdmin()->willReturn(true);
     $this->backendUserProphecy->checkLanguageAccess(Argument::cetera())->willReturn(true);
     $expected = $input;
     // A default value for existing container field aFlexField should have been set
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['el']['1']['container_1']['el']['aFlexField']['vDEF'] = 'defaultValue';
     // Dummy row values for container_1 on lDEF sheet
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['templateRows']['container_1']['el']['aFlexField']['vDEF'] = 'defaultValue';
     $this->assertEquals($expected, $this->subject->addData($input));
 }
开发者ID:Gregpl,项目名称:TYPO3.CMS,代码行数:20,代码来源:TcaFlexProcessTest.php

示例2: addDataSetsValuesAndStructureForSectionContainerElementsWithLangChildren

 /**
  * @test
  */
 public function addDataSetsValuesAndStructureForSectionContainerElementsWithLangChildren()
 {
     $input = ['tableName' => 'aTable', 'databaseRow' => ['aField' => ['data' => ['sDEF' => ['lDEF' => ['section_1' => ['el' => ['1' => ['container_1' => ['el' => []]], '2' => ['container_1' => ['el' => ['aFlexField' => ['vDEF' => 'dbValue']]]]]]]]], 'meta' => []]], 'systemLanguageRows' => [0 => ['uid' => 0, 'iso' => 'DEF'], 1 => ['uid' => 1, 'iso' => 'EN']], 'processedTca' => ['columns' => ['aField' => ['config' => ['type' => 'flex', 'ds' => ['meta' => ['langChildren' => 1], 'sheets' => ['sDEF' => ['ROOT' => ['type' => 'array', 'el' => ['section_1' => ['section' => '1', 'type' => 'array', 'el' => ['container_1' => ['type' => 'array', 'el' => ['aFlexField' => ['label' => 'aFlexFieldLabel', 'config' => ['type' => 'input', 'default' => 'defaultValue']]]]]]]]]]]]]]], 'pageTsConfig' => []];
     $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['flexFormSegment'] = [\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowDefaultValues::class => []];
     /** @var LanguageService|ObjectProphecy $languageService */
     $languageService = $this->prophesize(LanguageService::class);
     $GLOBALS['LANG'] = $languageService->reveal();
     $languageService->sL(Argument::cetera())->willReturnArgument(0);
     $this->backendUserProphecy->isAdmin()->willReturn(true);
     $this->backendUserProphecy->checkLanguageAccess(Argument::cetera())->willReturn(true);
     $expected = $input;
     $expected['processedTca']['columns']['aField']['config']['ds']['meta'] = ['availableLanguageCodes' => [0 => 'DEF', 1 => 'EN'], 'langDisable' => false, 'langChildren' => true, 'languagesOnSheetLevel' => [0 => 'DEF'], 'languagesOnElement' => [0 => 'DEF', 1 => 'EN']];
     // A default value for existing container field aFlexField should have been set
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['el']['1']['container_1']['el']['aFlexField']['vDEF'] = 'defaultValue';
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['el']['1']['container_1']['el']['aFlexField']['vEN'] = 'defaultValue';
     // Also for the other defined language
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['el']['2']['container_1']['el']['aFlexField']['vEN'] = 'defaultValue';
     // There should be a templateRow for container_1 with defaultValue set for both languages
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['templateRows']['container_1']['el']['aFlexField']['vDEF'] = 'defaultValue';
     $expected['databaseRow']['aField']['data']['sDEF']['lDEF']['section_1']['templateRows']['container_1']['el']['aFlexField']['vEN'] = 'defaultValue';
     $this->assertEquals($expected, $this->subject->addData($input));
 }
开发者ID:cabservicesag,项目名称:compatibility6,代码行数:25,代码来源:TcaFlexProcessTest.php

示例3: addDefaultPermittedLanguageIfNotSet

 /**
  * If a "languageField" is specified for $table this function will add a possible value to the incoming array if none is found in there already.
  *
  * @param string $table Table name
  * @param array $incomingFieldArray Incoming array (passed by reference)
  * @return void
  */
 public function addDefaultPermittedLanguageIfNotSet($table, &$incomingFieldArray)
 {
     // Checking languages:
     if ($GLOBALS['TCA'][$table]['ctrl']['languageField']) {
         if (!isset($incomingFieldArray[$GLOBALS['TCA'][$table]['ctrl']['languageField']])) {
             // Language field must be found in input row - otherwise it does not make sense.
             $rows = array_merge(array(array('uid' => 0)), $this->databaseConnection->exec_SELECTgetRows('uid', 'sys_language', 'pid=0' . BackendUtility::deleteClause('sys_language')), array(array('uid' => -1)));
             foreach ($rows as $r) {
                 if ($this->BE_USER->checkLanguageAccess($r['uid'])) {
                     $incomingFieldArray[$GLOBALS['TCA'][$table]['ctrl']['languageField']] = $r['uid'];
                     break;
                 }
             }
         }
     }
 }
开发者ID:rickymathew,项目名称:TYPO3.CMS,代码行数:23,代码来源:DataHandler.php

示例4: addDefaultPermittedLanguageIfNotSet

 /**
  * If a "languageField" is specified for $table this function will add a possible value to the incoming array if none is found in there already.
  *
  * @param string $table Table name
  * @param array $incomingFieldArray Incoming array (passed by reference)
  * @return void
  */
 public function addDefaultPermittedLanguageIfNotSet($table, &$incomingFieldArray)
 {
     // Checking languages:
     if ($GLOBALS['TCA'][$table]['ctrl']['languageField']) {
         if (!isset($incomingFieldArray[$GLOBALS['TCA'][$table]['ctrl']['languageField']])) {
             // Language field must be found in input row - otherwise it does not make sense.
             $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('sys_language');
             $queryBuilder->getRestrictions()->removeAll()->add(GeneralUtility::makeInstance(DeletedRestriction::class));
             $queryBuilder->select('uid')->from('sys_language')->where($queryBuilder->expr()->eq('pid', $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT)));
             $rows = array_merge([['uid' => 0]], $queryBuilder->execute()->fetchAll(), [['uid' => -1]]);
             foreach ($rows as $r) {
                 if ($this->BE_USER->checkLanguageAccess($r['uid'])) {
                     $incomingFieldArray[$GLOBALS['TCA'][$table]['ctrl']['languageField']] = $r['uid'];
                     break;
                 }
             }
         }
     }
 }
开发者ID:,项目名称:,代码行数:26,代码来源:


注:本文中的TYPO3\CMS\Core\Authentication\BackendUserAuthentication::checkLanguageAccess方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。