本文整理汇总了PHP中t3lib_div::loadTCA方法的典型用法代码示例。如果您正苦于以下问题:PHP t3lib_div::loadTCA方法的具体用法?PHP t3lib_div::loadTCA怎么用?PHP t3lib_div::loadTCA使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类t3lib_div
的用法示例。
在下文中一共展示了t3lib_div::loadTCA方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: cmdAddMetadata
/**
* Add metadata configuration
*
* @access protected
*
* @return void
*/
protected function cmdAddMetadata()
{
// Include metadata definition file.
include_once t3lib_extMgm::extPath($this->extKey) . 'modules/' . $this->modPath . 'metadata.inc.php';
// Load table configuration array to get default field values.
if (version_compare(TYPO3_branch, '6.1', '<')) {
t3lib_div::loadTCA('tx_dlf_metadata');
}
$i = 0;
// Build data array.
foreach ($metadata as $index_name => $values) {
$formatIds = array();
foreach ($values['format'] as $format) {
$formatIds[] = uniqid('NEW');
$data['tx_dlf_metadataformat'][end($formatIds)] = $format;
$data['tx_dlf_metadataformat'][end($formatIds)]['pid'] = intval($this->id);
$i++;
}
$data['tx_dlf_metadata'][uniqid('NEW')] = array('pid' => intval($this->id), 'label' => $GLOBALS['LANG']->getLL($index_name), 'index_name' => $index_name, 'format' => implode(',', $formatIds), 'default_value' => $values['default_value'], 'wrap' => !empty($values['wrap']) ? $values['wrap'] : $GLOBALS['TCA']['tx_dlf_metadata']['columns']['wrap']['config']['default'], 'tokenized' => $values['tokenized'], 'stored' => $values['stored'], 'indexed' => $values['indexed'], 'boost' => $values['boost'], 'is_sortable' => $values['is_sortable'], 'is_facet' => $values['is_facet'], 'is_listed' => $values['is_listed'], 'autocomplete' => $values['autocomplete']);
$i++;
}
$_ids = tx_dlf_helper::processDBasAdmin($data);
// Check for failed inserts.
if (count($_ids) == $i) {
// Fine.
$_message = t3lib_div::makeInstance('t3lib_FlashMessage', tx_dlf_helper::getLL('flash.metadataAddedMsg'), tx_dlf_helper::getLL('flash.metadataAdded', TRUE), t3lib_FlashMessage::OK, FALSE);
} else {
// Something went wrong.
$_message = t3lib_div::makeInstance('t3lib_FlashMessage', tx_dlf_helper::getLL('flash.metadataNotAddedMsg'), tx_dlf_helper::getLL('flash.metadataNotAdded', TRUE), t3lib_FlashMessage::ERROR, FALSE);
}
t3lib_FlashMessageQueue::addMessage($_message);
}
示例2: main
/**
* Manipulating the input array, $params, adding new selectorbox items.
*
* @param array array of select field options (reference)
* @param object parent object (reference)
* @return void
*/
function main(&$params, &$pObj)
{
t3lib_div::loadTCA('tt_address');
// TODO consolidate with list in pi1
$coreSortFields = 'gender, first_name, middle_name, last_name, title, company, ' . 'address, building, room, birthday, zip, city, region, country, email, www, phone, mobile, ' . 'fax, addressgroup';
$sortFields = t3lib_div::trimExplode(',', $coreSortFields);
$selectOptions = array();
foreach ($sortFields as $field) {
$label = $GLOBALS['LANG']->sL($GLOBALS['TCA']['tt_address']['columns'][$field]['label']);
$label = substr($label, 0, -1);
$selectOptions[] = array('field' => $field, 'label' => $label);
}
// add sorting by order of single selection
$selectOptions[] = array('field' => 'singleSelection', 'label' => $GLOBALS['LANG']->sL('LLL:EXT:tt_address/pi1/locallang_ff.xml:pi1_flexform.sortBy.singleSelection'));
// sort by labels
$labels = array();
foreach ($selectOptions as $key => $v) {
$labels[$key] = $v['label'];
}
$labels = array_map('strtolower', $labels);
array_multisort($labels, SORT_ASC, $selectOptions);
// add fields to <select>
foreach ($selectOptions as $option) {
$params['items'][] = array($option['label'], $option['field']);
}
}
示例3: txdam_addCTypeFlexFormValue
/**
* Adds an entry to the "ds" array of the tt_content field "ce_flexform".
*
* @param string The same value as the key for the plugin
* @param string Either a reference to a flex-form XML file (eg. "FILE:EXT:newloginbox/flexform_ds.xml") or the XML directly.
* @return void
*/
function txdam_addCTypeFlexFormValue($piKeyToMatch, $value, $field = 'ce_flexform')
{
global $TCA;
t3lib_div::loadTCA('tt_content');
if (is_array($TCA['tt_content']['columns']) && is_array($TCA['tt_content']['columns'][$field]['config']['ds'])) {
$TCA['tt_content']['columns'][$field]['config']['ds'][$piKeyToMatch] = $value;
}
}
示例4: main
function main()
{
global $BE_USER, $BACK_PATH, $LANG;
$params = t3lib_div::_GP('P');
t3lib_div::loadTCA($params['table']);
$params['wConf'] = $GLOBALS['TCA'][$params['table']]['columns'][$params['field']]['config']['wizards']['googlemap'];
$params['row'] = t3lib_BEfunc::getRecord($params['table'], $params['uid']);
$this->content = '';
$wiz = $this->renderWizard($params);
$this->content .= $this->doc->startPage($LANG->getLL('mlang_tabs_tab'));
$this->content .= $wiz;
}
示例5: main
function main(&$backRef, $menuItems, $table, $uid)
{
global $BE_USER, $TCA, $LANG, $TYPO3_CONF_VARS;
// Returns directly, because the clicked item was rendered by t3lib_TCEforms::getClickMenu()
if ($backRef->iParts[3] == '+copy,info,edit,view') {
return $menuItems;
}
// Returns directly, because the clicked item was not from the DAM table
if ($table != 'tx_dam') {
return $menuItems;
}
$this->backRef =& $backRef;
$item = $backRef->rec;
// just clear the whole menu
$menuItems = array();
if (is_array($backRef->rec)) {
if ($backRef->cmLevel == 0) {
t3lib_div::loadTCA($table);
$calcPerms = $BE_USER->calcPerms(t3lib_BEfunc::getRecord('pages', $table === 'pages' ? $backRef->rec['uid'] : $backRef->rec['pid']));
$permsEdit = $calcPerms & 16;
$permsDelete = $calcPerms & 16;
$item['__type'] = 'record';
$item['__table'] = $table;
$actionCall = t3lib_div::makeInstance('tx_dam_actionCall');
if (is_array($backRef->disabledItems)) {
foreach ($backRef->disabledItems as $idName) {
$actionCall->removeAction($idName);
}
}
$actionCall->setRequest('context', $item);
$actionCall->setEnv('returnUrl', t3lib_div::_GP('returnUrl'));
$actionCall->setEnv('backPath', $backRef->PH_backPath);
$actionCall->setEnv('defaultCmdScript', PATH_txdam_rel . 'mod_cmd/index.php');
$actionCall->setEnv('defaultEditScript', PATH_txdam_rel . 'mod_edit/index.php');
$actionCall->setEnv('calcPerms', $calcPerms);
$actionCall->setEnv('permsEdit', $permsEdit);
$actionCall->setEnv('permsDelete', $permsDelete);
$actionCall->setEnv('cmLevel', $backRef->cmLevel);
$actionCall->initActions(true);
$actions = $actionCall->renderActionsContextMenu(true);
foreach ($actions as $id => $action) {
if ($action['isDivider']) {
$menuItems[$id] = 'spacer';
} else {
$onclick = $action['onclick'] ? $action['onclick'] : $this->createOnClick($action['url'], $action['dontHide']);
$menuItems[$id] = $backRef->linkItem($GLOBALS['LANG']->makeEntities($action['label']), $backRef->excludeIcon($action['icon']), $onclick, $action['onlyCM'], $action['dontHide']);
}
}
} else {
}
}
return $menuItems;
}
示例6: getMainFields_preProcess
/**
* Sets all fields that are related to a member record to read-only mode,
* if a related_member is configured in the current $row.
*
* @param string $table
* @param array $row
* @param t3lib_TCEforms $formEngine
*/
public function getMainFields_preProcess($table, array $row, t3lib_TCEforms $formEngine)
{
if ($table !== 'tx_typo3agencies_domain_model_agency') {
return;
}
if (empty($row['related_member'])) {
return;
}
t3lib_div::loadTCA('tx_typo3agencies_domain_model_agency');
foreach ($this->agencyColumns as $columnName) {
$GLOBALS['TCA']['tx_typo3agencies_domain_model_agency']['columns'][$columnName]['config']['readOnly'] = true;
}
}
示例7: generateSitemapContent
/**
* Generates extension site map.
*
* @return void
*/
protected function generateSitemapContent()
{
$selector = trim(t3lib_div::_GP('selector'));
t3lib_div::loadTCA($selector);
$typoscriptSelector = $selector . '.';
$currentSetup = $GLOBALS['TSFE']->tmpl->setup['plugin.']['dd_googlesitemap_dmf.'][$typoscriptSelector];
$pidList = $currentSetup['pidList'] ? t3lib_div::intExplode(',', $currentSetup['pidList']) : $this->pidList;
$catList = t3lib_div::_GP('catList') ? t3lib_div::intExplode(',', t3lib_div::_GP('catList')) : t3lib_div::intExplode(',', $currentSetup['catList']);
$catMMList = t3lib_div::_GP('catMMList') ? t3lib_div::intExplode(',', t3lib_div::_GP('catMMList')) : t3lib_div::intExplode(',', $currentSetup['catMMList']);
$currentSetup['singlePid'] = t3lib_div::_GP('singlePid') ? intval(t3lib_div::_GP('singlePid')) : intval($currentSetup['singlePid']);
$currentSetup['languageUid'] = '';
if (!$currentSetup['disableLanguageCheck']) {
if (is_int($GLOBALS['TSFE']->sys_language_uid)) {
// set language through TSFE checkup
$currentSetup['languageUid'] = intval($GLOBALS['TSFE']->sys_language_uid);
}
if (t3lib_div::_GP('L')) {
// overwrites if L param is set
$currentSetup['languageUid'] = intval(t3lib_div::_GP('L'));
}
}
if (count($pidList) > 0 && isset($selector) && isset($currentSetup)) {
$table = $currentSetup['sqlMainTable'];
$mmTable = $currentSetup['sqlMMTable'];
$catColumn = $currentSetup['sqlCatColumn'];
$sqlCondition = $catColumn && count($catList) > 0 && $catList[0] > 0 ? ' AND ' . $catColumn . ' IN (' . implode(',', $catList) . ')' : '';
$sqlMMCondition = $sqlMMTable = '';
if ($mmTable != '' && count($catMMList) > 0 && $catMMList[0] > 0) {
$sqlMMTable = ',' . $mmTable;
$sqlMMCondition = ' AND ' . $table . '.uid = ' . $mmTable . '.uid_local AND ' . $mmTable . '.uid_foreign IN (' . implode(',', $catMMList) . ')';
}
$newsSelect = t3lib_div::_GP('type') == 'news' ? ',' . $currentSetup['sqlTitle'] . ',' . $currentSetup['sqlKeywords'] : '';
$languageWhere = is_int($currentSetup['languageUid']) ? ' AND ' . $table . '.sys_language_uid=' . $currentSetup['languageUid'] : '';
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('uid,' . $currentSetup['sqlLastUpdated'] . $newsSelect, $table . $sqlMMTable, 'pid IN (' . implode(',', $pidList) . ')' . $sqlCondition . $sqlMMCondition . $this->cObj->enableFields($table) . $languageWhere, 'uid', $currentSetup['sqlOrder'] ? $currentSetup['sqlOrder'] : '');
$rowCount = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
while (FALSE !== ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))) {
if ($url = $this->getVariousItemUrl($row['uid'], $currentSetup)) {
$frequency = $currentSetup['frequency'] ? $currentSetup['frequency'] : $this->getChangeFrequency($row[$currentSetup['sqlLastUpdated']]);
echo $this->renderer->renderEntry($url, $row[$currentSetup['sqlTitle']], $row[$currentSetup['sqlLastUpdated']], $frequency, $row[$currentSetup['sqlKeywords']]);
}
}
$GLOBALS['TYPO3_DB']->sql_free_result($res);
if ($rowCount === 0) {
echo '<!-- It appears that there are no extension entries. If your ' . '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 pid sysfolder ' . 'inside the rootline! -->';
} elseif (!$rowCount) {
echo '<!-- There is an sql error. please check all corresponding sql fields in your typoscript setup. -->';
}
} else {
echo 'There is something wrong with the config. Please check your selector and pidList elements. You may ' . 'want to use the dd_googlesitemap.skipRootlineCheck=1 TS ' . 'setup option if your storage sysfolder is outside the rootline. Beware: it is insecure and may cause certain ' . 'undesired effects! Better move your pid sysfolder ' . 'inside the rootline! -->';
}
}
示例8: main
/**
* Adding fe_users field list to selector box array
*
* @param array Parameters, changing "items". Passed by reference.
* @param object Parent object
* @return void
*/
function main(&$params, &$pObj)
{
global $TCA;
t3lib_div::loadTCA('fe_users');
$params['items'] = array();
if (is_array($TCA['fe_users']['columns'])) {
foreach ($TCA['fe_users']['columns'] as $key => $config) {
if ($config['label'] && !t3lib_div::inList('password', $key)) {
$label = t3lib_div::fixed_lgd(ereg_replace(':$', '', $GLOBALS['LANG']->sL($config['label'])), 30) . ' (' . $key . ')';
$params['items'][] = array($label, $key);
}
}
}
}
示例9: init
public function init()
{
if (TYPO3_VERSION_INTEGER >= 7000000) {
$this->lang = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Lang\\LanguageService');
} else {
if (TYPO3_VERSION_INTEGER >= 6002000) {
$this->lang = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('language');
} else {
$this->lang = t3lib_div::makeInstance('language');
}
}
if (TYPO3_VERSION_INTEGER < 6001000) {
t3lib_div::loadTCA('tx_kesearch_index');
}
}
示例10: findColumnsByTableAndIndex
/**
* Returns the columns part of the external import configuration for the given table and index
*
* @param string $table Name of the table
* @param string|integer $index Key of the configuration
* @return array The relevant TCA configuration
*/
public function findColumnsByTableAndIndex($table, $index)
{
t3lib_div::loadTCA($table);
if (isset($GLOBALS['TCA'][$table]['columns'])) {
$columns = array();
$columnsConfiguration = $GLOBALS['TCA'][$table]['columns'];
ksort($columnsConfiguration);
foreach ($columnsConfiguration as $columnName => $columnData) {
if (isset($columnData['external'][$index])) {
$columns[$columnName] = $columnData['external'][$index];
}
}
} else {
$columns = NULL;
}
return $columns;
}
示例11: processDatamap_preProcessFieldArray
/**
* treat the values before handling by t3lib_TCEmain
*
* We replace empty values with our custom NULL values here for dates and times
*
* @param array $fieldArray
* @param string $table
* @param integer $id
* @param t3lib_TCEmain $tce
*/
public function processDatamap_preProcessFieldArray(&$fieldArray, $table, $id, $tce)
{
if ($table == 'tx_czsimplecal_domain_model_event' || $table == 'tx_czsimplecal_domain_model_exception') {
t3lib_div::loadTCA($table);
foreach (array('start_time', 'end_date', 'end_time', 'recurrance_until') as $fieldName) {
if (array_key_exists($fieldName, $fieldArray)) {
/*
* this must be an empty string, not "0"!
* - empty strings are created by the clear field button introduced with TYPO3 4.5 and by deleting a value
* - "0" means midnight, so don't strip it
*/
if ($fieldArray[$fieldName] === '') {
$fieldArray[$fieldName] = $GLOBALS['TCA'][$table]['columns'][$fieldName]['config']['default'];
}
}
}
}
}
示例12: getSingleField_beforeRender
function getSingleField_beforeRender($table, $field, &$row, &$PA)
{
global $TCA;
if ($table == 'tx_caretaker_instance' && $field === 'testconfigurations') {
switch ($PA['fieldConf']['config']['tag']) {
case 'testconfigurations.test_service':
/* * /
if (count($PA['fieldConf']['config']['items']) != count($TCA['tx_caretaker_test']['columns']['test_service']['config']['items'])) {
t3lib_div::loadTCA('tx_caretaker_test');
$PA['fieldConf']['config']['items'] = $TCA['tx_caretaker_test']['columns']['test_service']['config']['items'];
}
// */
break;
case 'testconfigurations.test_conf':
$test = $this->getFFValue($table, $row, $field, str_replace('test_conf', 'test_service', $PA['itemFormElName']));
// get related test configuration
$testrow = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid,test_service,test_conf', 'tx_caretaker_test', 'uid=' . intval($test) . t3lib_BEfunc::deleteClause('tx_caretaker_test'));
$row['test_service'] = $testrow[0]['test_service'];
if ($PA['itemFormElValue'] == NULL) {
$PA['itemFormElValue'] = $testrow[0]['test_conf'];
}
if (is_array($PA['itemFormElValue'])) {
$PA['itemFormElValue'] = t3lib_div::array2xml($PA['itemFormElValue']);
}
if (!is_array($PA['fieldConf']['config']['ds'])) {
t3lib_div::loadTCA('tx_caretaker_test');
$PA['fieldConf']['config']['ds'] = $TCA['tx_caretaker_test']['columns']['test_conf']['config']['ds'];
}
// var_dump($PA['fieldConf']['config']['ds']);
/* * /
$row['test_service'] = $test;
if (!is_array($PA['fieldConf']['config']['ds'])) {
t3lib_div::loadTCA('tx_caretaker_test');
$PA['fieldConf']['config']['ds'] = $TCA['tx_caretaker_test']['columns']['test_conf']['config']['ds'];
}
// FIXME
$PA['itemFormElValue']='';
// */
break;
}
}
}
开发者ID:alexanderfiss,项目名称:caretaker,代码行数:42,代码来源:class.tx_caretaker_hooks_tceforms_getSingleFieldClass.php
示例13: makeSearchString
/**
* Creates part of query for searching after a word ($this->searchString) fields in input table
*
* DBAL specific: no LIKE for numeric fields, in this case "uid" (breaks on Oracle)
* no LIKE for BLOB fields, skip
*
* @param string Table, in which the fields are being searched.
* @return string Returns part of WHERE-clause for searching, if applicable.
*/
function makeSearchString($table)
{
// Make query, only if table is valid and a search string is actually defined:
if ($GLOBALS['TCA'][$table] && $this->searchString) {
// Loading full table description - we need to traverse fields:
t3lib_div::loadTCA($table);
// Initialize field array:
$sfields = array();
$or = '';
// add the uid only if input is numeric, cast to int
if (is_numeric($this->searchString)) {
$queryPart = ' AND (uid=' . (int) $this->searchString . ' OR ';
} else {
$queryPart = ' AND (';
}
if ($GLOBALS['TYPO3_DB']->runningADOdbDriver('oci8')) {
foreach ($GLOBALS['TCA'][$table]['columns'] as $fieldName => $info) {
if ($GLOBALS['TYPO3_DB']->cache_fieldType[$table][$fieldName]['metaType'] === 'B') {
// skip, LIKE is not supported on BLOB columns...
} elseif ($info['config']['type'] === 'text' || $info['config']['type'] === 'input' && !preg_match('/date|time|int/', $info['config']['eval'])) {
$queryPart .= $or . $fieldName . ' LIKE \'%' . $GLOBALS['TYPO3_DB']->quoteStr($this->searchString, $table) . '%\'';
$or = ' OR ';
}
}
} else {
// Traverse the configured columns and add all columns that can be searched
foreach ($GLOBALS['TCA'][$table]['columns'] as $fieldName => $info) {
if ($info['config']['type'] === 'text' || $info['config']['type'] === 'input' && !preg_match('/date|time|int/', $info['config']['eval'])) {
$sfields[] = $fieldName;
}
}
// If search-fields were defined (and there always are) we create the query:
if (count($sfields)) {
$like = ' LIKE \'%' . $GLOBALS['TYPO3_DB']->quoteStr($this->searchString, $table) . '%\'';
// Free-text
$queryPart .= implode($like . ' OR ', $sfields) . $like;
}
}
// Return query:
return $queryPart . ')';
}
}
示例14: getMainFields_preProcess
function getMainFields_preProcess($table, &$row, $tceform)
{
if ($table == 'tx_woehrlseminare_domain_model_event') {
global $TCA;
t3lib_div::loadTCA('tx_woehrlseminare_domain_model_event');
if ($row['author'] == 0 || empty($row['author'])) {
$row['author'] = $GLOBALS['BE_USER']->user['uid'];
}
if (empty($row['contact_name'])) {
$row['contact_name'] = $GLOBALS['BE_USER']->user['realName'];
}
if (empty($row['contact_email'])) {
$row['contact_email'] = $GLOBALS['BE_USER']->user['email'];
}
if (empty($row['end_date_time_select']) && empty($row['end_date_time'])) {
$row['end_date_time_select'] = 60;
}
if (empty($row['sub_end_date_time_select']) && empty($row['sub_end_date_time'])) {
$row['sub_end_date_time_select'] = 1440;
}
}
}
示例15: __construct
/**
* Constructor of this class
*/
public function __construct()
{
// get extension configuration array
$this->extConf = tx_kesearch_helper::getExtConf();
$this->extConfPremium = tx_kesearch_helper::getExtConfPremium();
if (TYPO3_VERSION_INTEGER >= 7000000) {
$this->registry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Registry');
} else {
if (TYPO3_VERSION_INTEGER >= 6002000) {
$this->registry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('t3lib_Registry');
} else {
$this->registry = t3lib_div::makeInstance('t3lib_Registry');
}
}
// fetch the list of the default indexers which come with ke_search
// load TCA definition first (only necessary in TYPO3 below 6.1)
if (TYPO3_VERSION_INTEGER < 6001000) {
t3lib_div::loadTCA('tx_kesearch_indexerconfig');
}
foreach ($GLOBALS['TCA']['tx_kesearch_indexerconfig']['columns']['type']['config']['items'] as $indexerType) {
$this->defaultIndexerTypes[] = $indexerType[1];
}
}