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


PHP t3lib_BEfunc::getTSCpid方法代码示例

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


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

示例1: renderRecord

 /**
  * This function performs processing on the input $row array and stores internally a corresponding array which contains processed values, ready to pass on to the TCEforms rendering in the frontend!
  * The objective with this function is to prepare the content for handling in TCEforms.
  * Default values from outside/TSconfig is added by fetchRecord(). In this function default values from TCA is used if a field is NOT defined in $row.
  * The resulting, processed row is stored in $this->regTableItems_data[$uniqueItemRef], where $uniqueItemRef is "[tablename]_[id-value]"
  *
  * @param	string		The table name
  * @param	string		The uid value of the record (integer). Can also be a string (NEW-something) if the record is a NEW record.
  * @param	integer		The pid integer. For existing records this is of course the row's "pid" field. For new records it can be either a page id (positive) or a pointer to another record from the SAME table (negative) after which the record should be inserted (or on same page)
  * @param	array		The row of the current record. If NEW record, then it may be loaded with default values (by eg. fetchRecord()).
  * @return	void
  * @see fetchRecord()
  */
 function renderRecord($table, $id, $pid, $row)
 {
     global $TCA;
     // Init:
     $uniqueItemRef = $table . '_' . $id;
     t3lib_div::loadTCA($table);
     // Fetches the true PAGE TSconfig pid to use later, if needed. (Until now, only for the RTE, but later..., who knows?)
     list($tscPID) = t3lib_BEfunc::getTSCpid($table, $id, $pid);
     $TSconfig = t3lib_BEfunc::getTCEFORM_TSconfig($table, array_merge($row, array('uid' => $id, 'pid' => $pid)));
     // If the record has not already been loaded (in which case we DON'T do it again)...
     if (!$this->regTableItems[$uniqueItemRef]) {
         $this->regTableItems[$uniqueItemRef] = 1;
         // set "loaded" flag.
         // If the table is pages, set the previous page id internally.
         if ($table == 'pages') {
             $this->prevPageID = $id;
         }
         $this->regTableItems_data[$uniqueItemRef] = $this->renderRecordRaw($table, $id, $pid, $row, $TSconfig, $tscPID);
         // Merges the processed array on-top of the raw one - this is done because some things in TCEforms may need access to other fields than those in the columns configuration!
         if ($this->addRawData && is_array($row) && is_array($this->regTableItems_data[$uniqueItemRef])) {
             $this->regTableItems_data[$uniqueItemRef] = array_merge($row, $this->regTableItems_data[$uniqueItemRef]);
         }
     }
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:37,代码来源:class.t3lib_transferdata.php

示例2: clear_cache

 /**
  * Clearing the cache based on a page being updated
  * If the $table is 'pages' then cache is cleared for all pages on the same level (and subsequent?)
  * Else just clear the cache for the parent page of the record.
  *
  * @param	string		Table name of record that was just updated.
  * @param	integer		UID of updated / inserted record
  * @return	void
  */
 function clear_cache($table, $uid)
 {
     global $TCA, $TYPO3_CONF_VARS;
     $uid = intval($uid);
     $pageUid = 0;
     if (is_array($TCA[$table]) && $uid > 0) {
         // Get Page TSconfig relavant:
         list($tscPID) = t3lib_BEfunc::getTSCpid($table, $uid, '');
         $TSConfig = $this->getTCEMAIN_TSconfig($tscPID);
         if (!$TSConfig['clearCache_disable']) {
             // If table is "pages":
             if (t3lib_extMgm::isLoaded('cms')) {
                 $list_cache = array();
                 if ($table === 'pages' || $table === 'pages_language_overlay') {
                     if ($table === 'pages_language_overlay') {
                         $pageUid = $this->getPID($table, $uid);
                     } else {
                         $pageUid = $uid;
                     }
                     // Builds list of pages on the SAME level as this page (siblings)
                     $res_tmp = $GLOBALS['TYPO3_DB']->exec_SELECTquery('A.pid AS pid, B.uid AS uid', 'pages A, pages B', 'A.uid=' . intval($pageUid) . ' AND B.pid=A.pid AND B.deleted=0');
                     $pid_tmp = 0;
                     while ($row_tmp = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res_tmp)) {
                         $list_cache[] = $row_tmp['uid'];
                         $pid_tmp = $row_tmp['pid'];
                         // Add children as well:
                         if ($TSConfig['clearCache_pageSiblingChildren']) {
                             $res_tmp2 = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid', 'pages', 'pid=' . intval($row_tmp['uid']) . ' AND deleted=0');
                             while ($row_tmp2 = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res_tmp2)) {
                                 $list_cache[] = $row_tmp2['uid'];
                             }
                             $GLOBALS['TYPO3_DB']->sql_free_result($res_tmp2);
                         }
                     }
                     $GLOBALS['TYPO3_DB']->sql_free_result($res_tmp);
                     // Finally, add the parent page as well:
                     $list_cache[] = $pid_tmp;
                     // Add grand-parent as well:
                     if ($TSConfig['clearCache_pageGrandParent']) {
                         $res_tmp = $GLOBALS['TYPO3_DB']->exec_SELECTquery('pid', 'pages', 'uid=' . intval($pid_tmp));
                         if ($row_tmp = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res_tmp)) {
                             $list_cache[] = $row_tmp['pid'];
                         }
                     }
                 } else {
                     // For other tables than "pages", delete cache for the records "parent page".
                     $list_cache[] = $pageUid = intval($this->getPID($table, $uid));
                 }
                 // Call pre-processing function for clearing of cache for page ids:
                 if (is_array($TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearPageCacheEval'])) {
                     foreach ($TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearPageCacheEval'] as $funcName) {
                         $_params = array('pageIdArray' => &$list_cache, 'table' => $table, 'uid' => $uid, 'functionID' => 'clear_cache()');
                         // Returns the array of ids to clear, false if nothing should be cleared! Never an empty array!
                         t3lib_div::callUserFunction($funcName, $_params, $this);
                     }
                 }
                 // Delete cache for selected pages:
                 if (is_array($list_cache)) {
                     if (TYPO3_UseCachingFramework) {
                         $pageCache = $GLOBALS['typo3CacheManager']->getCache('cache_pages');
                         $pageSectionCache = $GLOBALS['typo3CacheManager']->getCache('cache_pagesection');
                         $pageIds = $GLOBALS['TYPO3_DB']->cleanIntArray($list_cache);
                         foreach ($pageIds as $pageId) {
                             $pageCache->flushByTag('pageId_' . $pageId);
                             $pageSectionCache->flushByTag('pageId_' . $pageId);
                         }
                     } else {
                         $GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pages', 'page_id IN (' . implode(',', $GLOBALS['TYPO3_DB']->cleanIntArray($list_cache)) . ')');
                         $GLOBALS['TYPO3_DB']->exec_DELETEquery('cache_pagesection', 'page_id IN (' . implode(',', $GLOBALS['TYPO3_DB']->cleanIntArray($list_cache)) . ')');
                     }
                 }
             }
         }
         // Clear cache for pages entered in TSconfig:
         if ($TSConfig['clearCacheCmd']) {
             $Commands = t3lib_div::trimExplode(',', strtolower($TSConfig['clearCacheCmd']), 1);
             $Commands = array_unique($Commands);
             foreach ($Commands as $cmdPart) {
                 $this->clear_cacheCmd($cmdPart);
             }
         }
         // Call post processing function for clear-cache:
         if (is_array($TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'])) {
             $_params = array('table' => $table, 'uid' => $uid, 'uid_page' => $pageUid, 'TSConfig' => $TSConfig);
             foreach ($TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'] as $_funcRef) {
                 t3lib_div::callUserFunction($_funcRef, $_params, $this);
             }
         }
     }
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:99,代码来源:class.t3lib_tcemain.php

示例3: isRTEforField

 /**
  * Checking if the RTE is available/enabled for a certain table/field and if so, it returns true.
  * Used to determine if the RTE button should be displayed.
  *
  * @param	string		Table name
  * @param	array		Record row (needed, if there are RTE dependencies based on other fields in the record)
  * @param	string		Field name
  * @return	boolean		Returns true if the rich text editor would be enabled/available for the field name specified.
  */
 function isRTEforField($table, $row, $field)
 {
     $specConf = $this->getSpecConfForField($table, $row, $field);
     $p = t3lib_BEfunc::getSpecConfParametersFromArray($specConf['rte_transform']['parameters']);
     if (isset($specConf['richtext']) && (!$p['flag'] || !$row[$p['flag']])) {
         t3lib_BEfunc::fixVersioningPid($table, $row);
         list($tscPID, $thePidValue) = t3lib_BEfunc::getTSCpid($table, $row['uid'], $row['pid']);
         if ($thePidValue >= 0) {
             // If the pid-value is not negative (that is, a pid could NOT be fetched)
             $RTEsetup = $GLOBALS['BE_USER']->getTSConfig('RTE', t3lib_BEfunc::getPagesTSconfig($tscPID));
             $RTEtypeVal = t3lib_BEfunc::getTCAtypeValue($table, $row);
             $thisConfig = t3lib_BEfunc::RTEsetup($RTEsetup['properties'], $table, $field, $RTEtypeVal);
             if (!$thisConfig['disabled']) {
                 return TRUE;
             }
         }
     }
     return FALSE;
 }
开发者ID:zsolt-molnar,项目名称:TYPO3-4.5-trunk,代码行数:28,代码来源:class.tx_cms_layout.php

示例4: getTSCpid

 /**
  * Return TSCpid (cached)
  * Using t3lib_BEfunc::getTSCpid()
  *
  * @param	string		Tablename
  * @param	string		UID value
  * @param	string		PID value
  * @return	integer		Returns the REAL pid of the record, if possible. If both $uid and $pid is strings, then pid=-1 is returned as an error indication.
  * @see t3lib_BEfunc::getTSCpid()
  */
 function getTSCpid($table, $uid, $pid)
 {
     $key = $table . ':' . $uid . ':' . $pid;
     if (!isset($this->cache_getTSCpid[$key])) {
         $this->cache_getTSCpid[$key] = t3lib_BEfunc::getTSCpid($table, $uid, $pid);
     }
     return $this->cache_getTSCpid[$key];
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:18,代码来源:class.t3lib_tceforms.php

示例5: drawRTE

    /**
     * Draws the RTE as an iframe
     *
     * @param	object		Reference to parent object, which is an instance of the TCEforms.
     * @param	string		The table name
     * @param	string		The field name
     * @param	array		The current row from which field is being rendered
     * @param	array		Array of standard content for rendering form fields from TCEforms. See TCEforms for details on this. Includes for instance the value and the form field name, java script actions and more.
     * @param	array		"special" configuration - what is found at position 4 in the types configuration of a field from record, parsed into an array.
     * @param	array		Configuration for RTEs; A mix between TSconfig and otherwise. Contains configuration for display, which buttons are enabled, additional transformation information etc.
     * @param	string		Record "type" field value.
     * @param	string		Relative path for images/links in RTE; this is used when the RTE edits content from static files where the path of such media has to be transformed forth and back!
     * @param	integer		PID value of record (true parent page id)
     * @return	string		HTML code for RTE!
     */
    function drawRTE($parentObject, $table, $field, $row, $PA, $specConf, $thisConfig, $RTEtypeVal, $RTErelPath, $thePidValue)
    {
        global $BE_USER, $LANG, $TYPO3_DB, $TYPO3_CONF_VARS;
        $this->TCEform = $parentObject;
        $inline = $this->TCEform->inline;
        $LANG->includeLLFile('EXT:' . $this->ID . '/locallang.xml');
        $this->client = $this->clientInfo();
        $this->typoVersion = t3lib_div::int_from_ver(TYPO3_version);
        $this->userUid = 'BE_' . $BE_USER->user['uid'];
        // Draw form element:
        if ($this->debugMode) {
            // Draws regular text area (debug mode)
            $item = parent::drawRTE($this->TCEform, $table, $field, $row, $PA, $specConf, $thisConfig, $RTEtypeVal, $RTErelPath, $thePidValue);
        } else {
            // Draw real RTE
            /* =======================================
             * INIT THE EDITOR-SETTINGS
             * =======================================
             */
            // Set backPath
            $this->backPath = $this->TCEform->backPath;
            // Get the path to this extension:
            $this->extHttpPath = $this->backPath . t3lib_extMgm::extRelPath($this->ID);
            // Get the site URL
            $this->siteURL = t3lib_div::getIndpEnv('TYPO3_SITE_URL');
            // Get the host URL
            $this->hostURL = $this->siteURL . TYPO3_mainDir;
            // Element ID + pid
            $this->elementId = $PA['itemFormElName'];
            // Form element name
            $this->elementParts = explode('][', preg_replace('/\\]$/', '', preg_replace('/^(TSFE_EDIT\\[data\\]\\[|data\\[)/', '', $this->elementId)));
            // Find the page PIDs:
            list($this->tscPID, $this->thePid) = t3lib_BEfunc::getTSCpid(trim($this->elementParts[0]), trim($this->elementParts[1]), $thePidValue);
            // Record "types" field value:
            $this->typeVal = $RTEtypeVal;
            // TCA "types" value for record
            // Find "thisConfig" for record/editor:
            unset($this->RTEsetup);
            $this->RTEsetup = $BE_USER->getTSConfig('RTE', t3lib_BEfunc::getPagesTSconfig($this->tscPID));
            $this->thisConfig = $thisConfig;
            // Special configuration and default extras:
            $this->specConf = $specConf;
            if ($this->thisConfig['forceHTTPS']) {
                $this->extHttpPath = preg_replace('/^(http|https)/', 'https', $this->extHttpPath);
                $this->siteURL = preg_replace('/^(http|https)/', 'https', $this->siteURL);
                $this->hostURL = preg_replace('/^(http|https)/', 'https', $this->hostURL);
            }
            /* =======================================
             * LANGUAGES & CHARACTER SETS
             * =======================================
             */
            // Languages: interface and content
            $this->language = $LANG->lang;
            if ($this->language == 'default' || !$this->language) {
                $this->language = 'en';
            }
            $this->contentTypo3Language = $this->language;
            $this->contentISOLanguage = 'en';
            $this->contentLanguageUid = $row['sys_language_uid'] > 0 ? $row['sys_language_uid'] : 0;
            if (t3lib_extMgm::isLoaded('static_info_tables')) {
                if ($this->contentLanguageUid) {
                    $tableA = 'sys_language';
                    $tableB = 'static_languages';
                    $languagesUidsList = $this->contentLanguageUid;
                    $selectFields = $tableA . '.uid,' . $tableB . '.lg_iso_2,' . $tableB . '.lg_country_iso_2,' . $tableB . '.lg_typo3';
                    $tableAB = $tableA . ' LEFT JOIN ' . $tableB . ' ON ' . $tableA . '.static_lang_isocode=' . $tableB . '.uid';
                    $whereClause = $tableA . '.uid IN (' . $languagesUidsList . ') ';
                    $whereClause .= t3lib_BEfunc::BEenableFields($tableA);
                    $whereClause .= t3lib_BEfunc::deleteClause($tableA);
                    $res = $TYPO3_DB->exec_SELECTquery($selectFields, $tableAB, $whereClause);
                    while ($languageRow = $TYPO3_DB->sql_fetch_assoc($res)) {
                        $this->contentISOLanguage = strtolower(trim($languageRow['lg_iso_2']) . (trim($languageRow['lg_country_iso_2']) ? '_' . trim($languageRow['lg_country_iso_2']) : ''));
                        $this->contentTypo3Language = strtolower(trim($languageRow['lg_typo3']));
                    }
                } else {
                    $this->contentISOLanguage = trim($this->thisConfig['defaultContentLanguage']) ? trim($this->thisConfig['defaultContentLanguage']) : 'en';
                    $selectFields = 'lg_iso_2, lg_typo3';
                    $tableAB = 'static_languages';
                    $whereClause = 'lg_iso_2 = ' . $TYPO3_DB->fullQuoteStr(strtoupper($this->contentISOLanguage), $tableAB);
                    $res = $TYPO3_DB->exec_SELECTquery($selectFields, $tableAB, $whereClause);
                    while ($languageRow = $TYPO3_DB->sql_fetch_assoc($res)) {
                        $this->contentTypo3Language = strtolower(trim($languageRow['lg_typo3']));
                    }
                }
            }
//.........这里部分代码省略.........
开发者ID:zsolt-molnar,项目名称:TYPO3-4.5-trunk,代码行数:101,代码来源:class.tx_rtehtmlarea_base.php

示例6: processParams

 /**
  * Processes bparams parameter
  * Example value: "data[pages][39][bodytext]|||tt_content|" or "data[tt_content][NEW3fba56fde763d][image]|||gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai|"
  *
  * Values:
  * 0: form field name reference
  * 1: old/unused?
  * 2: RTEConfigParams
  * 3: allowed types. Eg. "tt_content" or "gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai"
  * 4: allowed file types when tx_dam table. Eg. "gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai"
  *
  * @return void
  */
 function processParams()
 {
     $this->act = $this->isParamPassed('act') ? $this->act : $this->getModSettings('act');
     $this->mode = $this->isParamPassed('mode') ? $this->mode : $this->getModSettings('mode');
     $this->bparams = $this->isParamPassed('bparams') ? $this->bparams : $this->getModSettings('bparams');
     $this->reinitParams();
     // Set Page TSConfig
     $pArr = explode('|', $this->bparams);
     if ($this->mode == 'rte') {
         $RTEtsConfigParts = explode(':', $pArr[2]);
         $tscPID = $RTEtsConfigParts[5];
     } else {
         $this->formFieldName = $pArr[0];
         $elementParts = explode('][', preg_replace('/\\]$/', '', preg_replace('/^(TSFE_EDIT\\[data\\]\\[|data\\[)/', '', $this->formFieldName)));
         list($tscPID, $thePid) = t3lib_BEfunc::getTSCpid(trim($elementParts[0]), trim($elementParts[1]), $thePidValue);
     }
     $this->modPageConfig = $GLOBALS['BE_USER']->getTSConfig('tx_dam.elementBrowser', t3lib_BEfunc::getPagesTSconfig($tscPID));
     $this->allowedFileTypes = array();
     $this->disallowedFileTypes = array();
     switch ((string) $this->mode) {
         case 'rte':
             break;
         case 'db':
             $this->allowedTables = $pArr[3];
             if ($this->allowedTables === 'tx_dam') {
                 $this->allowedFileTypes = t3lib_div::trimExplode(',', $pArr[4], true);
                 $this->disallowedFileTypes = t3lib_div::trimExplode(',', $pArr[5], true);
             }
             break;
         case 'file':
         case 'filedrag':
             $this->allowedTables = '';
             $this->allowedFileTypes = t3lib_div::trimExplode(',', $pArr[3], true);
             break;
         case 'wizard':
             break;
     }
     if ($this->allowedFileTypes) {
         $allAllowed = false;
         foreach ($this->allowedFileTypes as $key => $type) {
             if ($type === '*') {
                 $allAllowed = true;
             } elseif (substr($type, 0, 1) === '-') {
                 unset($this->allowedFileTypes[$key]);
                 $this->disallowedFileTypes[] = substr($type, 1);
             }
         }
         if ($allAllowed) {
             $this->allowedFileTypes = array();
         }
     }
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:65,代码来源:class.tx_dam_browse_media.php


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