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


PHP MathUtility::canBeInterpretedAsInteger方法代码示例

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


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

示例1: put

 /**
  * Adds a key to the storage or removes existing key
  *
  * @param string $key The key
  * @return void
  * @see \TYPO3\CMS\Rsaauth\Storage\AbstractStorage::put()
  */
 public function put($key)
 {
     if ($key == null) {
         // Remove existing key
         list($keyId) = $_SESSION['tx_rsaauth_key'];
         if (MathUtility::canBeInterpretedAsInteger($keyId)) {
             $this->databaseConnection->exec_DELETEquery('tx_rsaauth_keys', 'uid=' . $keyId);
             unset($_SESSION['tx_rsaauth_key']);
         }
     } else {
         // Add key
         // Get split point. First part is always smaller than the second
         // because it goes to the file system
         $keyLength = strlen($key);
         $splitPoint = rand((int) ($keyLength / 10), (int) ($keyLength / 2));
         // Get key parts
         $keyPart1 = substr($key, 0, $splitPoint);
         $keyPart2 = substr($key, $splitPoint);
         // Store part of the key in the database
         //
         // Notice: we may not use TCEmain below to insert key part into the
         // table because TCEmain requires a valid BE user!
         $time = $GLOBALS['EXEC_TIME'];
         $this->databaseConnection->exec_INSERTquery('tx_rsaauth_keys', array('pid' => 0, 'crdate' => $time, 'key_value' => $keyPart2));
         $keyId = $this->databaseConnection->sql_insert_id();
         // Store another part in session
         $_SESSION['tx_rsaauth_key'] = array($keyId, $keyPart1);
     }
     // Remove expired keys (more than 30 minutes old)
     $this->databaseConnection->exec_DELETEquery('tx_rsaauth_keys', 'crdate<' . ($GLOBALS['EXEC_TIME'] - 30 * 60));
 }
开发者ID:rickymathew,项目名称:TYPO3.CMS,代码行数:38,代码来源:SplitStorage.php

示例2: __construct

 /**
  * Constructor
  */
 public function __construct()
 {
     // we check for existence of our targetDirectory
     if (!is_dir(PATH_site . $this->targetDirectory)) {
         GeneralUtility::mkdir_deep(PATH_site . $this->targetDirectory);
     }
     // if enabled, we check whether we should auto-create the .htaccess file
     if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['generateApacheHtaccess']) {
         // check whether .htaccess exists
         $htaccessPath = PATH_site . $this->targetDirectory . '.htaccess';
         if (!file_exists($htaccessPath)) {
             GeneralUtility::writeFile($htaccessPath, $this->htaccessTemplate);
         }
     }
     // decide whether we should create gzipped versions or not
     $compressionLevel = $GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['compressionLevel'];
     // we need zlib for gzencode()
     if (extension_loaded('zlib') && $compressionLevel) {
         $this->createGzipped = true;
         // $compressionLevel can also be TRUE
         if (MathUtility::canBeInterpretedAsInteger($compressionLevel)) {
             $this->gzipCompressionLevel = (int) $compressionLevel;
         }
     }
     $this->setInitialPaths();
 }
开发者ID:vip3out,项目名称:TYPO3.CMS,代码行数:29,代码来源:ResourceCompressor.php

示例3: generateSitemapContent

 /**
  * Generates news site map.
  *
  * @return    void
  */
 protected function generateSitemapContent()
 {
     if (count($this->pidList) > 0) {
         $languageCondition = '';
         $language = GeneralUtility::_GP('L');
         if (MathUtility::canBeInterpretedAsInteger($language)) {
             $languageCondition = ' AND sys_language_uid=' . $language;
         }
         /** @noinspection PhpUndefinedMethodInspection */
         $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tx_t3blog_post', 'pid IN (' . implode(',', $this->pidList) . ')' . $languageCondition . $this->cObj->enableFields('tx_t3blog_post'), '', 'date DESC', $this->offset . ',' . $this->limit);
         /** @noinspection PhpUndefinedMethodInspection */
         $rowCount = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
         /** @noinspection PhpUndefinedMethodInspection */
         while (FALSE !== ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))) {
             if ($url = $this->getPostItemUrl($row)) {
                 echo $this->renderer->renderEntry($url, $row['title'], $row['date'], '', $row['tagClouds']);
             }
         }
         /** @noinspection PhpUndefinedMethodInspection */
         $GLOBALS['TYPO3_DB']->sql_free_result($res);
         if ($rowCount === 0) {
             echo '<!-- It appears that there are no tx_t3blog_post entries. If your ' . 'blog storage sysfolder is outside of the rootline, you may ' . 'want to use the dd_googlesitemap.skipRootlineCheck=1 TS ' . 'setup option. Beware: it is insecure and may cause certain ' . 'undesired effects! Better move your news sysfolder ' . 'inside the rootline! -->';
         }
     }
 }
开发者ID:dextar1,项目名称:t3extblog,代码行数:30,代码来源:Generator.php

示例4: importCommand

 /**
  * Import command
  *
  * @param string $icsCalendarUri
  * @param int    $pid
  */
 public function importCommand($icsCalendarUri = NULL, $pid = NULL)
 {
     if ($icsCalendarUri === NULL || !filter_var($icsCalendarUri, FILTER_VALIDATE_URL)) {
         $this->enqueueMessage('You have to enter a valid URL to the iCalendar ICS', 'Error', FlashMessage::ERROR);
     }
     if (!MathUtility::canBeInterpretedAsInteger($pid)) {
         $this->enqueueMessage('You have to enter a valid PID for the new created elements', 'Error', FlashMessage::ERROR);
     }
     // fetch external URI and write to file
     $this->enqueueMessage('Start to checkout the calendar: ' . $icsCalendarUri, 'Calendar', FlashMessage::INFO);
     $relativeIcalFile = 'typo3temp/ical.' . GeneralUtility::shortMD5($icsCalendarUri) . '.ical';
     $absoluteIcalFile = GeneralUtility::getFileAbsFileName($relativeIcalFile);
     $content = GeneralUtility::getUrl($icsCalendarUri);
     GeneralUtility::writeFile($absoluteIcalFile, $content);
     // get Events from file
     $icalEvents = $this->getIcalEvents($absoluteIcalFile);
     $this->enqueueMessage('Found ' . sizeof($icalEvents) . ' events in the given calendar', 'Items', FlashMessage::INFO);
     $events = $this->prepareEvents($icalEvents);
     $this->enqueueMessage('This is just a first draft. There are same missing fields. Will be part of the next release', 'Items', FlashMessage::ERROR);
     return;
     foreach ($events as $event) {
         $eventObject = $this->eventRepository->findOneByImportId($event['uid']);
         if ($eventObject instanceof Event) {
             // update
             $eventObject->setTitle($event['title']);
             $eventObject->setDescription($this->nl2br($event['description']));
             $this->eventRepository->update($eventObject);
             $this->enqueueMessage('Update Event Meta data: ' . $eventObject->getTitle(), 'Update');
         } else {
             // create
             $eventObject = new Event();
             $eventObject->setPid($pid);
             $eventObject->setImportId($event['uid']);
             $eventObject->setTitle($event['title']);
             $eventObject->setDescription($this->nl2br($event['description']));
             $configuration = new Configuration();
             $configuration->setType(Configuration::TYPE_TIME);
             $configuration->setFrequency(Configuration::FREQUENCY_NONE);
             /** @var \DateTime $startDate */
             $startDate = clone $event['start'];
             $startDate->setTime(0, 0, 0);
             $configuration->setStartDate($startDate);
             /** @var \DateTime $endDate */
             $endDate = clone $event['end'];
             $endDate->setTime(0, 0, 0);
             $configuration->setEndDate($endDate);
             $startTime = $this->dateTimeToDaySeconds($event['start']);
             if ($startTime > 0) {
                 $configuration->setStartTime($startTime);
                 $configuration->setEndTime($this->dateTimeToDaySeconds($event['end']));
                 $configuration->setAllDay(FALSE);
             } else {
                 $configuration->setAllDay(TRUE);
             }
             $eventObject->addCalendarize($configuration);
             $this->eventRepository->add($eventObject);
             $this->enqueueMessage('Add Event: ' . $eventObject->getTitle(), 'Add');
         }
     }
 }
开发者ID:sirdiego,项目名称:calendarize,代码行数:66,代码来源:ImportCommandController.php

示例5: validateFrameworkConfiguration

    /**
     * Check needed framework configuration
     *
     * @param array $settings
     * @return void
     * @throws InvalidConfigurationException
     */
    public static function validateFrameworkConfiguration(array $settings)
    {
        if (empty($settings['persistence']['storagePid']) || !MathUtility::canBeInterpretedAsInteger($settings['persistence']['storagePid'])) {
            throw new InvalidConfigurationException('No valid persistence storage pid setting detected.
				Make sure plugin.tx_t3extblog.persistence.storagePid is a valid page uid.', 1344375015);
        }
    }
开发者ID:dextar1,项目名称:t3extblog,代码行数:14,代码来源:TypoScriptValidator.php

示例6: main

 /**
  * @param array $tsConfig
  * @param array $userArguments
  *
  * @return string
  */
 public function main(array $tsConfig, $userArguments = [])
 {
     $url = $tsConfig['url'];
     $regExpCurlyBraceOpen = preg_quote(rawurlencode('{'), '@');
     $regExpCurlyBraceClose = preg_quote(rawurlencode('}'), '@');
     $pattern = "@{$regExpCurlyBraceOpen}product{$regExpCurlyBraceClose}@i";
     // Return if argument to be replaced is not set!
     if (!preg_match($pattern, $url)) {
         return $tsConfig['TAG'];
     }
     /** @var \TYPO3\CMS\Core\Database\DatabaseConnection $db */
     $db = $GLOBALS['TYPO3_DB'];
     /**
      * <a href="' . $finalTagParts['url'] . '"' . $finalTagParts['targetParams'] . $finalTagParts['aTagParams'] . '>
      *
      * @see http://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Typolink/Index.html
      */
     $return = '<a href="%1$s"%2$s>';
     $product = false;
     // get necessary params to apply; replace in url
     if ($page = $db->exec_SELECTgetSingleRow('tx_product', 'pages', 'uid=' . $GLOBALS['TSFE']->id)) {
         if (MathUtility::canBeInterpretedAsInteger($page['tx_product']) && MathUtility::convertToPositiveInteger($page['tx_product'])) {
             $product = MathUtility::convertToPositiveInteger($page['tx_product']);
         }
     }
     /** @var \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $contentObject */
     $contentObject = GeneralUtility::makeInstance('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer');
     $url = str_ireplace($GLOBALS['TSFE']->baseUrl, '', $contentObject->getTypoLink_URL($userArguments['targetPid'], $product ? ['product' => $product] : []));
     return sprintf($return, $url, $tsConfig['targetParams'] . $tsConfig['aTagParams']);
 }
开发者ID:S3b0,项目名称:t3ecom,代码行数:36,代码来源:AddProductUidToAdditionalLink.php

示例7: render

 /**
  * @param int $value
  * @param int $bit
  * @return bool
  */
 public function render($value = null, $bit = 0)
 {
     if ($value === null) {
         $value = $this->renderChildren();
     }
     return \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($bit) && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($value) ? ((int) $bit & (int) $value) > 0 : false;
 }
开发者ID:S3b0,项目名称:ecom_toolbox,代码行数:12,代码来源:CheckBitViewHelper.php

示例8: verify_TSobjects

 /**
  * Verify TS objects
  *
  * @param array $propertyArray
  * @param string $parentType
  * @param string $parentValue
  * @return array
  * @todo Define visibility
  */
 public function verify_TSobjects($propertyArray, $parentType, $parentValue)
 {
     $TSobjTable = array('PAGE' => array('prop' => array('typeNum' => 'int', '1,2,3' => 'COBJ', 'bodyTag' => 'string')), 'TEXT' => array('prop' => array('value' => 'string')), 'HTML' => array('prop' => array('value' => 'stdWrap')), 'stdWrap' => array('prop' => array('field' => 'string', 'current' => 'boolean')));
     $TSobjDataTypes = array('COBJ' => 'TEXT,CONTENT', 'PAGE' => 'PAGE', 'stdWrap' => '');
     if ($parentType) {
         if (isset($TSobjDataTypes[$parentType]) && (!$TSobjDataTypes[$parentType] || \TYPO3\CMS\Core\Utility\GeneralUtility::inlist($TSobjDataTypes[$parentType], $parentValue))) {
             $ObjectKind = $parentValue;
         } else {
             // Object kind is "" if it should be known.
             $ObjectKind = '';
         }
     } else {
         // If parentType is not given, then it can be anything. Free.
         $ObjectKind = $parentValue;
     }
     if ($ObjectKind && is_array($TSobjTable[$ObjectKind])) {
         $result = array();
         if (is_array($propertyArray)) {
             foreach ($propertyArray as $key => $val) {
                 if (\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($key)) {
                     // If num-arrays
                     $result[$key] = $TSobjTable[$ObjectKind]['prop']['1,2,3'];
                 } else {
                     // standard
                     $result[$key] = $TSobjTable[$ObjectKind]['prop'][$key];
                 }
             }
         }
         return $result;
     }
 }
开发者ID:nicksergio,项目名称:TYPO3v4-Core,代码行数:40,代码来源:TypoScriptTemplateObjectBrowserModuleFunctionController.php

示例9: importCommand

 /**
  * Import command
  *
  * @param string $icsCalendarUri
  * @param int    $pid
  */
 public function importCommand($icsCalendarUri = null, $pid = null)
 {
     if ($icsCalendarUri === null || !filter_var($icsCalendarUri, FILTER_VALIDATE_URL)) {
         $this->enqueueMessage('You have to enter a valid URL to the iCalendar ICS', 'Error', FlashMessage::ERROR);
         return;
     }
     if (!MathUtility::canBeInterpretedAsInteger($pid)) {
         $this->enqueueMessage('You have to enter a valid PID for the new created elements', 'Error', FlashMessage::ERROR);
         return;
     }
     // fetch external URI and write to file
     $this->enqueueMessage('Start to checkout the calendar: ' . $icsCalendarUri, 'Calendar', FlashMessage::INFO);
     $relativeIcalFile = 'typo3temp/ical.' . GeneralUtility::shortMD5($icsCalendarUri) . '.ical';
     $absoluteIcalFile = GeneralUtility::getFileAbsFileName($relativeIcalFile);
     $content = GeneralUtility::getUrl($icsCalendarUri);
     GeneralUtility::writeFile($absoluteIcalFile, $content);
     // get Events from file
     $icalEvents = $this->getIcalEvents($absoluteIcalFile);
     $this->enqueueMessage('Found ' . sizeof($icalEvents) . ' events in the given calendar', 'Items', FlashMessage::INFO);
     $events = $this->prepareEvents($icalEvents);
     $this->enqueueMessage('Found ' . sizeof($events) . ' events in ' . $icsCalendarUri, 'Items', FlashMessage::INFO);
     /** @var Dispatcher $signalSlotDispatcher */
     $signalSlotDispatcher = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher');
     $this->enqueueMessage('Send the ' . __CLASS__ . '::importCommand signal for each event.', 'Signal', FlashMessage::INFO);
     foreach ($events as $event) {
         $arguments = ['event' => $event, 'commandController' => $this, 'pid' => $pid, 'handled' => false];
         $signalSlotDispatcher->dispatch(__CLASS__, 'importCommand', $arguments);
     }
 }
开发者ID:kaptankorkut,项目名称:calendarize,代码行数:35,代码来源:ImportCommandController.php

示例10: callModule

 /**
  * This method forwards the call to Bootstrap's run() method. This method is invoked by the mod.php
  * function of TYPO3.
  *
  * @param string $moduleSignature
  * @throws \RuntimeException
  * @return boolean TRUE, if the request request could be dispatched
  * @see run()
  */
 public function callModule($moduleSignature)
 {
     if (!isset($GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature])) {
         return FALSE;
     }
     $moduleConfiguration = $GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature];
     // Check permissions and exit if the user has no permission for entry
     $GLOBALS['BE_USER']->modAccess($moduleConfiguration, TRUE);
     $id = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('id');
     if ($id && \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($id)) {
         // Check page access
         $permClause = $GLOBALS['BE_USER']->getPagePermsClause(TRUE);
         $access = is_array(\TYPO3\CMS\Backend\Utility\BackendUtility::readPageAccess((int) $id, $permClause));
         if (!$access) {
             throw new \RuntimeException('You don\'t have access to this page', 1289917924);
         }
     }
     // BACK_PATH is the path from the typo3/ directory from within the
     // directory containing the controller file. We are using mod.php dispatcher
     // and thus we are already within typo3/ because we call typo3/mod.php
     $GLOBALS['BACK_PATH'] = '';
     $configuration = array('extensionName' => $moduleConfiguration['extensionName'], 'pluginName' => $moduleSignature);
     if (isset($moduleConfiguration['vendorName'])) {
         $configuration['vendorName'] = $moduleConfiguration['vendorName'];
     }
     $bootstrap = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Core\\BootstrapInterface');
     $content = $bootstrap->run('', $configuration);
     print $content;
     return TRUE;
 }
开发者ID:khanhdeux,项目名称:typo3test,代码行数:39,代码来源:ModuleRunner.php

示例11: render

 /**
  * @param mixed $value
  * @return bool
  */
 public function render($value = '')
 {
     if ($value === null) {
         $value = $this->renderChildren();
     }
     return \TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($value);
 }
开发者ID:S3b0,项目名称:ecom_toolbox,代码行数:11,代码来源:IsIntegerViewHelper.php

示例12: clearUrlCacheForRecords

 /**
  * Clears URL cache for records.
  *
  * Currently only clears URL cache for pages but should also clear alias
  * cache for records later.
  *
  * @param array $parameters
  * @return void
  */
 public function clearUrlCacheForRecords(array $parameters)
 {
     if ($parameters['table'] == 'pages' && MathUtility::canBeInterpretedAsInteger($parameters['uid'])) {
         $cacheInstance = CacheFactory::getCache();
         $cacheInstance->clearUrlCacheForPage($parameters['uid']);
     }
 }
开发者ID:rvock,项目名称:typo3-realurl,代码行数:16,代码来源:Cache.php

示例13: getRecords

 /**
  * Get the Records
  *
  * @param integer                                        $startPage
  * @param array                                          $basePages
  * @param Tx_GoogleServices_Controller_SitemapController $obj
  *
  * @throws Exception
  * @return Tx_GoogleServices_Domain_Model_Node
  */
 public function getRecords($startPage, $basePages, Tx_GoogleServices_Controller_SitemapController $obj)
 {
     $nodes = array();
     if (!\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('tt_news')) {
         return $nodes;
     }
     if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($GLOBALS['TSFE']->tmpl->setup['plugin.']['tt_news.']['singlePid'])) {
         throw new Exception('You have to set tt_news singlePid.');
     }
     $singlePid = intval($GLOBALS['TSFE']->tmpl->setup['plugin.']['tt_news.']['singlePid']);
     $news = $this->getRecordsByField('tt_news', 'pid', implode(',', $basePages));
     foreach ($news as $record) {
         // Alternative Single PID
         $alternativeSinglePid = $this->alternativeSinglePid($record['uid']);
         $linkPid = $alternativeSinglePid ? $alternativeSinglePid : $singlePid;
         // Build URL
         $url = $obj->getUriBuilder()->setArguments(array('tx_ttnews' => array('tt_news' => $record['uid'])))->setTargetPageUid($linkPid)->build();
         // can't generate a valid url
         if (!strlen($url)) {
             continue;
         }
         // Build Node
         $node = new Tx_GoogleServices_Domain_Model_Node();
         $node->setLoc($url);
         $node->setPriority($this->getPriority($record));
         $node->setChangefreq('monthly');
         $node->setLastmod($this->getModifiedDate($record));
         $nodes[] = $node;
     }
     return $nodes;
 }
开发者ID:sirdiego,项目名称:google_services,代码行数:41,代码来源:News.php

示例14: processCmdmap_deleteAction

 /**
  * Clears path and URL caches if the page was deleted.
  *
  * @param string $table
  * @param string|int $id
  */
 public function processCmdmap_deleteAction($table, $id)
 {
     if (($table === 'pages' || $table === 'pages_language_overlay') && MathUtility::canBeInterpretedAsInteger($id)) {
         $this->cache->clearPathCacheForPage((int) $id);
         $this->cache->clearUrlCacheForPage((int) $id);
     }
 }
开发者ID:rvock,项目名称:typo3-realurl,代码行数:13,代码来源:DataHandler.php

示例15: processDatamap_afterDatabaseOperations

 /**
  * This method is called by a hook in the TYPO3 core when a record is saved.
  *
  * We use the tx_linkhandler for backend "save & show" button to display records on the configured detail view page.
  *
  * @param  string  $status                                  Type of database operation i.e. new/update.
  * @param  string  $table                                   The table currently being processed.
  * @param  integer $id                                      The records id (if any).
  * @param  array   $fieldArray                              The field names and their values to be processed (passed by reference).
  * @param  \TYPO3\CMS\Core\DataHandling\DataHandler $pObj   Reference to the parent object.
  */
 public function processDatamap_afterDatabaseOperations($status, $table, $id, $fieldArray, $pObj)
 {
     if (isset($GLOBALS['_POST']['_savedokview_x'])) {
         $settingFound = FALSE;
         $currentPageId = \TYPO3\CMS\Core\Utility\MathUtility::convertToPositiveInteger($GLOBALS['_POST']['popViewId']);
         $rootPageData = $this->getRootPage($currentPageId);
         $defaultPageId = isset($rootPageData) && array_key_exists('uid', $rootPageData) ? $rootPageData['uid'] : $currentPageId;
         $pagesTsConfig = \TYPO3\CMS\Backend\Utility\BackendUtility::getPagesTSconfig($currentPageId);
         $handlerConfigurationStruct = $pagesTsConfig['mod.']['tx_linkhandler.'];
         // search for the current setting for given table
         foreach ($pagesTsConfig['mod.']['tx_linkhandler.'] as $key => $handler) {
             if (is_array($handler) && $handler['listTables'] === $table) {
                 $settingFound = TRUE;
                 $selectedConfiguration = $key;
                 break;
             }
         }
         if ($settingFound) {
             $l18nPointer = array_key_exists('transOrigPointerField', $GLOBALS['TCA'][$table]['ctrl']) ? $GLOBALS['TCA'][$table]['ctrl']['transOrigPointerField'] : '';
             if (!\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($id)) {
                 $id = $pObj->substNEWwithIDs[$id];
             }
             if (\TYPO3\CMS\Core\Utility\MathUtility::canBeInterpretedAsInteger($id)) {
                 $recordArray = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($table, $id);
             } else {
                 $recordArray = $fieldArray;
             }
             if (array_key_exists('previewPageId', $handlerConfigurationStruct[$selectedConfiguration]) && \TYPO3\CMS\Core\Utility\MathUtility::convertToPositiveInteger($handlerConfigurationStruct[$selectedConfiguration]['previewPageId']) > 0) {
                 $previewPageId = \TYPO3\CMS\Core\Utility\MathUtility::convertToPositiveInteger($handlerConfigurationStruct[$selectedConfiguration]['previewPageId']);
             } else {
                 $previewPageId = \TYPO3\CMS\Core\Utility\MathUtility::convertToPositiveInteger($defaultPageId);
             }
             if ($GLOBALS['BE_USER']->workspace != 0) {
                 $timeToLiveHours = intval($GLOBALS['BE_USER']->getTSConfigVal('options.workspaces.previewLinkTTLHours')) ? intval($GLOBALS['BE_USER']->getTSConfigVal('options.workspaces.previewLinkTTLHours')) : 24 * 2;
                 $wsPreviewValue = ';' . $GLOBALS['BE_USER']->workspace . ':' . $GLOBALS['BE_USER']->user['uid'] . ':' . 60 * 60 * $timeToLiveHours;
                 // get record UID for
                 if (array_key_exists($l18nPointer, $recordArray) && $recordArray[$l18nPointer] > 0 && $recordArray['sys_language_uid'] > 0) {
                     $id = $recordArray[$l18nPointer];
                 } elseif (array_key_exists('t3ver_oid', $recordArray) && intval($recordArray['t3ver_oid']) > 0) {
                     // this makes no sense because we already receive the UID of the WS-Placeholder which will be the real record in the LIVE-WS
                     $id = $recordArray['t3ver_oid'];
                 }
             } else {
                 $wsPreviewValue = '';
                 if (array_key_exists($l18nPointer, $recordArray) && $recordArray[$l18nPointer] > 0 && $recordArray['sys_language_uid'] > 0) {
                     $id = $recordArray[$l18nPointer];
                 }
             }
             $previewDomainRootline = \TYPO3\CMS\Backend\Utility\BackendUtility::BEgetRootLine($previewPageId);
             $previewDomain = \TYPO3\CMS\Backend\Utility\BackendUtility::getViewDomain($previewPageId, $previewDomainRootline);
             $linkParamValue = 'record:' . $table . ':' . $id;
             $queryString = '&eID=linkhandlerPreview&linkParams=' . urlencode($linkParamValue . $wsPreviewValue);
             $languageParam = '&L=' . $recordArray['sys_language_uid'];
             $queryString .= $languageParam . '&authCode=' . \TYPO3\CMS\Core\Utility\GeneralUtility::stdAuthCode($linkParamValue . $wsPreviewValue . intval($recordArray['sys_language_uid']), '', 32);
             $GLOBALS['_POST']['viewUrl'] = $previewDomain . '/index.php?id=' . $previewPageId . $queryString . '&y=';
             $GLOBALS['_POST']['popViewId_addParams'] = $queryString;
         }
     }
 }
开发者ID:sourcebroker,项目名称:linkhandler,代码行数:70,代码来源:TceMain.php


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