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


PHP TypoScriptParser::checkIncludeLines_array方法代码示例

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


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

示例1: getPagesTSconfig

 /**
  * Returns the pages TSconfig array based on the currect ->rootLine
  *
  * @return array
  * @todo Define visibility
  */
 public function getPagesTSconfig()
 {
     if (!is_array($this->pagesTSconfig)) {
         $TSdataArray = array();
         // Setting default configuration:
         $TSdataArray[] = $this->TYPO3_CONF_VARS['BE']['defaultPageTSconfig'];
         foreach ($this->rootLine as $k => $v) {
             $TSdataArray[] = $v['TSconfig'];
         }
         // Parsing the user TS (or getting from cache)
         $TSdataArray = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines_array($TSdataArray);
         $userTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
         $hash = md5('pageTS:' . $userTS);
         $cachedContent = $this->sys_page->getHash($hash);
         if (isset($cachedContent)) {
             $this->pagesTSconfig = unserialize($cachedContent);
         } else {
             $parseObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
             $parseObj->parse($userTS);
             $this->pagesTSconfig = $parseObj->setup;
             $this->sys_page->storeHash($hash, serialize($this->pagesTSconfig), 'PAGES_TSconfig');
         }
     }
     return $this->pagesTSconfig;
 }
开发者ID:nicksergio,项目名称:TYPO3v4-Core,代码行数:31,代码来源:TypoScriptFrontendController.php

示例2: getPagesTSconfig

 /**
  * Returns the Page TSconfig for page with id, $id
  *
  * @param $id integer Page uid for which to create Page TSconfig
  * @param $rootLine array If $rootLine is an array, that is used as rootline, otherwise rootline is just calculated
  * @param boolean $returnPartArray If $returnPartArray is set, then the array with accumulated Page TSconfig is returned non-parsed. Otherwise the output will be parsed by the TypoScript parser.
  * @return array Page TSconfig
  * @see \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
  */
 public static function getPagesTSconfig($id, $rootLine = NULL, $returnPartArray = FALSE)
 {
     static $pagesTSconfig_cache = array();
     $id = (int) $id;
     if ($returnPartArray === FALSE && $rootLine === NULL && isset($pagesTSconfig_cache[$id])) {
         return $pagesTSconfig_cache[$id];
     } else {
         $TSconfig = array();
         if (!is_array($rootLine)) {
             $useCacheForCurrentPageId = TRUE;
             $rootLine = self::BEgetRootLine($id, '', TRUE);
         } else {
             $useCacheForCurrentPageId = FALSE;
         }
         // Order correctly
         ksort($rootLine);
         $TSdataArray = array();
         // Setting default configuration
         $TSdataArray['defaultPageTSconfig'] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
         foreach ($rootLine as $k => $v) {
             $TSdataArray['uid_' . $v['uid']] = $v['TSconfig'];
         }
         $TSdataArray = static::emitGetPagesTSconfigPreIncludeSignal($TSdataArray, $id, $rootLine, $returnPartArray);
         $TSdataArray = TypoScriptParser::checkIncludeLines_array($TSdataArray);
         if ($returnPartArray) {
             return $TSdataArray;
         }
         // Parsing the page TS-Config
         $pageTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
         /* @var $parseObj \TYPO3\CMS\Backend\Configuration\TsConfigParser */
         $parseObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Configuration\\TsConfigParser');
         $res = $parseObj->parseTSconfig($pageTS, 'PAGES', $id, $rootLine);
         if ($res) {
             $TSconfig = $res['TSconfig'];
         }
         // Get User TSconfig overlay
         $userTSconfig = $GLOBALS['BE_USER']->userTS['page.'];
         if (is_array($userTSconfig)) {
             \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($TSconfig, $userTSconfig);
         }
         if ($useCacheForCurrentPageId) {
             $pagesTSconfig_cache[$id] = $TSconfig;
         }
     }
     return $TSconfig;
 }
开发者ID:samuweiss,项目名称:TYPO3-Site,代码行数:55,代码来源:BackendUtility.php

示例3: getTyposcriptConfig

 /**
  * Returns the category TSconfig array based on the currect->rootLine
  *
  * @todo Make recursiv category TS merging
  * @return array
  */
 public function getTyposcriptConfig()
 {
     if (!is_array($this->categoryTSconfig)) {
         $tSdataArray[] = $this->tsConfig;
         $tSdataArray = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines_array($tSdataArray);
         $categoryTs = implode(chr(10) . '[GLOBAL]' . chr(10), $tSdataArray);
         /**
          * Typoscript parser
          *
          * @var \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser $parseObj
          */
         $parseObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
         $parseObj->parse($categoryTs);
         $this->categoryTSconfig = $parseObj->setup;
     }
     return $this->categoryTSconfig;
 }
开发者ID:AndreasA,项目名称:commerce,代码行数:23,代码来源:Category.php

示例4: mergeConstantsFromPageTSconfig

 /**
  * Loads Page TSconfig until the outermost template record and parses the configuration - if TSFE.constants object path is found it is merged with the default data in here!
  *
  * @param array $constArray Constants array, default input.
  * @return array Constants array, modified
  * @todo Apply caching to the parsed Page TSconfig. This is done in the other similar functions for both frontend and backend. However, since this functions works for BOTH frontend and backend we will have to either write our own local caching function or (more likely) detect if we are in FE or BE and use caching functions accordingly. Not having caching affects mostly the backend modules inside the "Template" module since the overhead in the frontend is only seen when TypoScript templates are parsed anyways (after which point they are cached anyways...)
  * @todo Define visibility
  */
 public function mergeConstantsFromPageTSconfig($constArray)
 {
     $TSdataArray = array();
     // Setting default configuration:
     $TSdataArray[] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
     for ($a = 0; $a <= $this->outermostRootlineIndexWithTemplate; $a++) {
         $TSdataArray[] = $this->absoluteRootLine[$a]['TSconfig'];
     }
     // Parsing the user TS (or getting from cache)
     $TSdataArray = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines_array($TSdataArray);
     $userTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
     /** @var $parseObj \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser */
     $parseObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
     $parseObj->parse($userTS);
     if (is_array($parseObj->setup['TSFE.']['constants.'])) {
         \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($constArray, $parseObj->setup['TSFE.']['constants.']);
     }
     return $constArray;
 }
开发者ID:rob-ot-dot-be,项目名称:ggallkeysecurity,代码行数:27,代码来源:TemplateService.php

示例5: getUserTSconf

 /**
  * Returns the parsed TSconfig for the fe_user
  * The TSconfig will be cached in $this->userTS.
  *
  * @return array TSconfig array for the fe_user
  * @todo Define visibility
  */
 public function getUserTSconf()
 {
     if (!$this->userTSUpdated) {
         // Parsing the user TS (or getting from cache)
         $this->TSdataArray = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines_array($this->TSdataArray);
         $userTS = implode(LF . '[GLOBAL]' . LF, $this->TSdataArray);
         $parseObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
         $parseObj->parse($userTS);
         $this->userTS = $parseObj->setup;
         $this->userTSUpdated = TRUE;
     }
     return $this->userTS;
 }
开发者ID:khanhdeux,项目名称:typo3test,代码行数:20,代码来源:FrontendUserAuthentication.php

示例6: getPagesTSconfig

 /**
  * Returns the pages TSconfig array based on the currect ->rootLine
  *
  * @return array
  */
 public function getPagesTSconfig()
 {
     if (!is_array($this->pagesTSconfig)) {
         $TSdataArray = array();
         foreach ($this->rootLine as $k => $v) {
             $TSdataArray[] = $v['TSconfig'];
         }
         // Adding the default configuration:
         $TSdataArray[] = $this->TYPO3_CONF_VARS['BE']['defaultPageTSconfig'];
         // Bring everything in the right order. Default first, then the Rootline down to the current page
         $TSdataArray = array_reverse($TSdataArray);
         // Parsing the user TS (or getting from cache)
         $TSdataArray = TypoScriptParser::checkIncludeLines_array($TSdataArray);
         $userTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
         $hash = md5('pageTS:' . $userTS);
         $cachedContent = $this->sys_page->getHash($hash);
         if (is_array($cachedContent)) {
             $this->pagesTSconfig = $cachedContent;
         } else {
             $parseObj = GeneralUtility::makeInstance(TypoScriptParser::class);
             $parseObj->parse($userTS);
             $this->pagesTSconfig = $parseObj->setup;
             $this->sys_page->storeHash($hash, $this->pagesTSconfig, 'PAGES_TSconfig');
         }
     }
     return $this->pagesTSconfig;
 }
开发者ID:Torsten85,项目名称:TYPO3.CMS,代码行数:32,代码来源:TypoScriptFrontendController.php

示例7: getPagesTSconfig

 /**
  * Returns the Page TSconfig for page with id, $id
  *
  * @param int $id Page uid for which to create Page TSconfig
  * @param array $rootLine If $rootLine is an array, that is used as rootline, otherwise rootline is just calculated
  * @param bool $returnPartArray If $returnPartArray is set, then the array with accumulated Page TSconfig is returned non-parsed. Otherwise the output will be parsed by the TypoScript parser.
  * @return array Page TSconfig
  * @see \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
  */
 public static function getPagesTSconfig($id, $rootLine = null, $returnPartArray = false)
 {
     static $pagesTSconfig_cacheReference = array();
     static $combinedTSconfig_cache = array();
     $id = (int) $id;
     if ($returnPartArray === false && $rootLine === null && isset($pagesTSconfig_cacheReference[$id])) {
         return $combinedTSconfig_cache[$pagesTSconfig_cacheReference[$id]];
     } else {
         $TSconfig = array();
         if (!is_array($rootLine)) {
             $useCacheForCurrentPageId = true;
             $rootLine = self::BEgetRootLine($id, '', true);
         } else {
             $useCacheForCurrentPageId = false;
         }
         // Order correctly
         ksort($rootLine);
         $TSdataArray = array();
         // Setting default configuration
         $TSdataArray['defaultPageTSconfig'] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
         foreach ($rootLine as $k => $v) {
             if (trim($v['tsconfig_includes'])) {
                 $includeTsConfigFileList = GeneralUtility::trimExplode(',', $v['tsconfig_includes'], true);
                 // Traversing list
                 foreach ($includeTsConfigFileList as $key => $includeTsConfigFile) {
                     if (StringUtility::beginsWith($includeTsConfigFile, 'EXT:')) {
                         list($includeTsConfigFileExtensionKey, $includeTsConfigFilename) = explode('/', substr($includeTsConfigFile, 4), 2);
                         if ((string) $includeTsConfigFileExtensionKey !== '' && ExtensionManagementUtility::isLoaded($includeTsConfigFileExtensionKey) && (string) $includeTsConfigFilename !== '') {
                             $includeTsConfigFileAndPath = ExtensionManagementUtility::extPath($includeTsConfigFileExtensionKey) . $includeTsConfigFilename;
                             if (file_exists($includeTsConfigFileAndPath)) {
                                 $TSdataArray['uid_' . $v['uid'] . '_static_' . $key] = GeneralUtility::getUrl($includeTsConfigFileAndPath);
                             }
                         }
                     }
                 }
             }
             $TSdataArray['uid_' . $v['uid']] = $v['TSconfig'];
         }
         $TSdataArray = static::emitGetPagesTSconfigPreIncludeSignal($TSdataArray, $id, $rootLine, $returnPartArray);
         $TSdataArray = TypoScriptParser::checkIncludeLines_array($TSdataArray);
         if ($returnPartArray) {
             return $TSdataArray;
         }
         // Parsing the page TS-Config
         $pageTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
         /* @var $parseObj \TYPO3\CMS\Backend\Configuration\TsConfigParser */
         $parseObj = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Configuration\TsConfigParser::class);
         $res = $parseObj->parseTSconfig($pageTS, 'PAGES', $id, $rootLine);
         if ($res) {
             $TSconfig = $res['TSconfig'];
         }
         $cacheHash = $res['hash'];
         // Get User TSconfig overlay
         $userTSconfig = static::getBackendUserAuthentication()->userTS['page.'];
         if (is_array($userTSconfig)) {
             ArrayUtility::mergeRecursiveWithOverrule($TSconfig, $userTSconfig);
             $cacheHash .= '_user' . $GLOBALS['BE_USER']->user['uid'];
         }
         if ($useCacheForCurrentPageId) {
             if (!isset($combinedTSconfig_cache[$cacheHash])) {
                 $combinedTSconfig_cache[$cacheHash] = $TSconfig;
             }
             $pagesTSconfig_cacheReference[$id] = $cacheHash;
         }
     }
     return $TSconfig;
 }
开发者ID:graurus,项目名称:testgit_t37,代码行数:76,代码来源:BackendUtility.php

示例8: getPagesTSconfig

 /**
  * Returns the Page TSconfig for page with id, $id
  * Requires class "t3lib_TSparser"
  *
  * @param $id integer Page uid for which to create Page TSconfig
  * @param $rootLine array If $rootLine is an array, that is used as rootline, otherwise rootline is just calculated
  * @param boolean $returnPartArray If $returnPartArray is set, then the array with accumulated Page TSconfig is returned non-parsed. Otherwise the output will be parsed by the TypoScript parser.
  * @return array Page TSconfig
  * @see t3lib_TSparser
  */
 public static function getPagesTSconfig($id, $rootLine = '', $returnPartArray = 0)
 {
     $id = intval($id);
     if (!is_array($rootLine)) {
         $rootLine = self::BEgetRootLine($id, '', TRUE);
     }
     // Order correctly
     ksort($rootLine);
     $TSdataArray = array();
     // Setting default configuration
     $TSdataArray['defaultPageTSconfig'] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
     foreach ($rootLine as $k => $v) {
         $TSdataArray['uid_' . $v['uid']] = $v['TSconfig'];
     }
     $TSdataArray = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines_array($TSdataArray);
     if ($returnPartArray) {
         return $TSdataArray;
     }
     // Parsing the page TS-Config (or getting from cache)
     $pageTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
     if ($GLOBALS['TYPO3_CONF_VARS']['BE']['TSconfigConditions']) {
         /* @var $parseObj t3lib_TSparser_TSconfig */
         $parseObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Configuration\\TsConfigParser');
         $res = $parseObj->parseTSconfig($pageTS, 'PAGES', $id, $rootLine);
         if ($res) {
             $TSconfig = $res['TSconfig'];
         }
     } else {
         $hash = md5('pageTS:' . $pageTS);
         $cachedContent = self::getHash($hash);
         $TSconfig = array();
         if (isset($cachedContent)) {
             $TSconfig = unserialize($cachedContent);
         } else {
             $parseObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
             $parseObj->parse($pageTS);
             $TSconfig = $parseObj->setup;
             self::storeHash($hash, serialize($TSconfig), 'PAGES_TSconfig');
         }
     }
     // Get User TSconfig overlay
     $userTSconfig = $GLOBALS['BE_USER']->userTS['page.'];
     if (is_array($userTSconfig)) {
         $TSconfig = \TYPO3\CMS\Core\Utility\GeneralUtility::array_merge_recursive_overrule($TSconfig, $userTSconfig);
     }
     return $TSconfig;
 }
开发者ID:nicksergio,项目名称:TYPO3v4-Core,代码行数:57,代码来源:BackendUtility.php

示例9: getUserTSconf

 /**
  * Returns the parsed TSconfig for the fe_user
  * The TSconfig will be cached in $this->userTS.
  *
  * @return array TSconfig array for the fe_user
  */
 public function getUserTSconf()
 {
     if (!$this->userTSUpdated) {
         // Parsing the user TS (or getting from cache)
         $this->TSdataArray = TypoScriptParser::checkIncludeLines_array($this->TSdataArray);
         $userTS = implode(LF . '[GLOBAL]' . LF, $this->TSdataArray);
         $parseObj = GeneralUtility::makeInstance(TypoScriptParser::class);
         $parseObj->parse($userTS);
         $this->userTS = $parseObj->setup;
         $this->userTSUpdated = true;
     }
     return $this->userTS;
 }
开发者ID:amazingh,项目名称:TYPO3.CMS,代码行数:19,代码来源:FrontendUserAuthentication.php

示例10: fetchGroupData

    /**
     * Initializes a lot of stuff like the access-lists, database-mountpoints and filemountpoints
     * This method is called by ->backendCheckLogin() (from extending BackendUserAuthentication)
     * if the backend user login has verified OK.
     * Generally this is required initialization of a backend user.
     *
     * @return void
     * @access private
     * @see \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser
     * @todo Define visibility
     */
    public function fetchGroupData()
    {
        if ($this->user['uid']) {
            // Get lists for the be_user record and set them as default/primary values.
            // Enabled Backend Modules
            $this->dataLists['modList'] = $this->user['userMods'];
            // Add Allowed Languages
            $this->dataLists['allowed_languages'] = $this->user['allowed_languages'];
            // Set user value for workspace permissions.
            $this->dataLists['workspace_perms'] = $this->user['workspace_perms'];
            // User mount points are only added if the user is not an admin as admins do not have visible
            // mountpoints fields. Processing them loads mountpoints defined when the user was a non-admin.
            if (!$this->isAdmin()) {
                // Database mountpoints
                $this->dataLists['webmount_list'] = $this->user['db_mountpoints'];
                // File mountpoints
                $this->dataLists['filemount_list'] = $this->user['file_mountpoints'];
            }
            // Fileoperation permissions
            $this->dataLists['file_permissions'] = $this->user['file_permissions'];
            // Setting default User TSconfig:
            $this->TSdataArray[] = $this->addTScomment('From $GLOBALS["TYPO3_CONF_VARS"]["BE"]["defaultUserTSconfig"]:') . $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultUserTSconfig'];
            // Default TSconfig for admin-users
            if ($this->isAdmin()) {
                $this->TSdataArray[] = $this->addTScomment('"admin" user presets:') . '
					admPanel.enable.all = 1
				';
                if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('sys_note')) {
                    $this->TSdataArray[] = '
							// Setting defaults for sys_note author / email...
						TCAdefaults.sys_note.author = ' . $this->user['realName'] . '
						TCAdefaults.sys_note.email = ' . $this->user['email'] . '
					';
                }
            }
            // BE_GROUPS:
            // Get the groups...
            // 240203: Since the group-field never contains any references to groups with a prepended table name
            // we think it's safe to just intExplode and re-implode - which should be much faster than the other function call.
            $grList = $this->db->cleanIntList($this->user[$this->usergroup_column]);
            if ($grList) {
                // Fetch groups will add a lot of information to the internal arrays: modules, accesslists, TSconfig etc.
                // Refer to fetchGroups() function.
                $this->fetchGroups($grList);
            }
            // Populating the $this->userGroupsUID -array with the groups in the order in which they were LAST included.!!
            $this->userGroupsUID = array_reverse(array_unique(array_reverse($this->includeGroupArray)));
            // Finally this is the list of group_uid's in the order they are parsed (including subgroups!)
            // and without duplicates (duplicates are presented with their last entrance in the list,
            // which thus reflects the order of the TypoScript in TSconfig)
            $this->groupList = implode(',', $this->userGroupsUID);
            $this->setCachedList($this->groupList);
            // Add the TSconfig for this specific user:
            $this->TSdataArray[] = $this->addTScomment('USER TSconfig field') . $this->user['TSconfig'];
            // Check include lines.
            $this->TSdataArray = \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser::checkIncludeLines_array($this->TSdataArray);
            // Imploding with "[global]" will make sure that non-ended confinements with braces are ignored.
            $this->userTS_text = implode(LF . '[GLOBAL]' . LF, $this->TSdataArray);
            if (!$this->userTS_dontGetCached) {
                // Perform TS-Config parsing with condition matching
                $parseObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Configuration\\TsConfigParser');
                $res = $parseObj->parseTSconfig($this->userTS_text, 'userTS');
                if ($res) {
                    $this->userTS = $res['TSconfig'];
                    $this->userTSUpdated = (bool) $res['cached'];
                }
            } else {
                // Parsing the user TSconfig (or getting from cache)
                $hash = md5('userTS:' . $this->userTS_text);
                $cachedContent = BackendUtility::getHash($hash);
                if (is_array($cachedContent) && !$this->userTS_dontGetCached) {
                    $this->userTS = $cachedContent;
                } else {
                    $parseObj = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
                    $parseObj->parse($this->userTS_text);
                    $this->userTS = $parseObj->setup;
                    BackendUtility::storeHash($hash, $this->userTS, 'BE_USER_TSconfig');
                    // Update UC:
                    $this->userTSUpdated = TRUE;
                }
            }
            // Processing webmounts
            // Admin's always have the root mounted
            if ($this->isAdmin() && !$this->getTSConfigVal('options.dontMountAdminMounts')) {
                $this->dataLists['webmount_list'] = '0,' . $this->dataLists['webmount_list'];
            }
            // The lists are cleaned for duplicates
            $this->groupData['webmounts'] = GeneralUtility::uniqueList($this->dataLists['webmount_list']);
            $this->groupData['pagetypes_select'] = GeneralUtility::uniqueList($this->dataLists['pagetypes_select']);
//.........这里部分代码省略.........
开发者ID:Mr-Robota,项目名称:TYPO3.CMS,代码行数:101,代码来源:BackendUserAuthentication.php

示例11: mergeConstantsFromPageTSconfig

 /**
  * Loads Page TSconfig until the outermost template record and parses the configuration - if TSFE.constants object path is found it is merged with the default data in here!
  *
  * @param array $constArray Constants array, default input.
  * @return array Constants array, modified
  * @todo Apply caching to the parsed Page TSconfig. This is done in the other similar functions for both frontend and backend. However, since this functions works for BOTH frontend and backend we will have to either write our own local caching function or (more likely) detect if we are in FE or BE and use caching functions accordingly. Not having caching affects mostly the backend modules inside the "Template" module since the overhead in the frontend is only seen when TypoScript templates are parsed anyways (after which point they are cached anyways...)
  */
 public function mergeConstantsFromPageTSconfig($constArray)
 {
     $TSdataArray = array();
     // Setting default configuration:
     $TSdataArray[] = $GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];
     for ($a = 0; $a <= $this->outermostRootlineIndexWithTemplate; $a++) {
         if (trim($this->absoluteRootLine[$a]['tsconfig_includes'])) {
             $includeTsConfigFileList = GeneralUtility::trimExplode(',', $this->absoluteRootLine[$a]['tsconfig_includes'], true);
             $TSdataArray = $this->mergeConstantsFromIncludedTsConfigFiles($includeTsConfigFileList, $TSdataArray);
         }
         $TSdataArray[] = $this->absoluteRootLine[$a]['TSconfig'];
     }
     // Parsing the user TS (or getting from cache)
     $TSdataArray = Parser\TypoScriptParser::checkIncludeLines_array($TSdataArray);
     $userTS = implode(LF . '[GLOBAL]' . LF, $TSdataArray);
     /** @var $parseObj Parser\TypoScriptParser */
     $parseObj = GeneralUtility::makeInstance(Parser\TypoScriptParser::class);
     $parseObj->parse($userTS);
     if (is_array($parseObj->setup['TSFE.']['constants.'])) {
         ArrayUtility::mergeRecursiveWithOverrule($constArray, $parseObj->setup['TSFE.']['constants.']);
     }
     return $constArray;
 }
开发者ID:TYPO3Incubator,项目名称:TYPO3.CMS,代码行数:30,代码来源:TemplateService.php


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