本文整理汇总了PHP中t3lib_div::isAbsPath方法的典型用法代码示例。如果您正苦于以下问题:PHP t3lib_div::isAbsPath方法的具体用法?PHP t3lib_div::isAbsPath怎么用?PHP t3lib_div::isAbsPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类t3lib_div
的用法示例。
在下文中一共展示了t3lib_div::isAbsPath方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: displayWarningMessages_postProcess
/**
* Checks RSA configuration and creates warnings if necessary.
*
* @param array $warnings Warnings
* @return void
* @see t3lib_BEfunc::displayWarningMessages()
*/
public function displayWarningMessages_postProcess(array &$warnings)
{
$backend = tx_rsaauth_backendfactory::getBackend();
if ($backend instanceof tx_rsaauth_cmdline_backend) {
// Not using the PHP extension!
$warnings['rsaauth_cmdline'] = $GLOBALS['LANG']->sL('LLL:EXT:rsaauth/hooks/locallang.xml:hook_using_cmdline');
// Check the path
$extconf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['rsaauth']);
$path = trim($extconf['temporaryDirectory']);
if ($path == '') {
// Path is empty
$warnings['rsaauth'] = $GLOBALS['LANG']->sL('LLL:EXT:rsaauth/hooks/locallang.xml:hook_empty_directory');
} elseif (!t3lib_div::isAbsPath($path)) {
// Path is not absolute
$warnings['rsaauth'] = $GLOBALS['LANG']->sL('LLL:EXT:rsaauth/hooks/locallang.xml:hook_directory_not_absolute');
} elseif (!@is_dir($path)) {
// Path does not represent a directory
$warnings['rsaauth'] = $GLOBALS['LANG']->sL('LLL:EXT:rsaauth/hooks/locallang.xml:hook_directory_not_exist');
} elseif (!@is_writable($path)) {
// Directory is not writable
$warnings['rsaauth'] = $GLOBALS['LANG']->sL('LLL:EXT:rsaauth/hooks/locallang.xml:hook_directory_not_writable');
} elseif (substr($path, 0, strlen(PATH_site)) == PATH_site) {
// Directory is inside the site root
$warnings['rsaauth'] = $GLOBALS['LANG']->sL('LLL:EXT:rsaauth/hooks/locallang.xml:hook_directory_inside_siteroot');
}
}
}
示例2: internalSanitizeLocalUrl
/**
* Checks if a given string is a valid frame URL to be loaded in the
* backend.
*
* @param string $url potential URL to check
*
* @return string either $url if $url is considered to be harmless, or an
* empty string otherwise
*/
private static function internalSanitizeLocalUrl($url = '')
{
$sanitizedUrl = '';
$decodedUrl = rawurldecode($url);
if ($decodedUrl !== t3lib_div::removeXSS($decodedUrl)) {
$decodedUrl = '';
}
if (!empty($url) && $decodedUrl !== '') {
$testAbsoluteUrl = t3lib_div::resolveBackPath($decodedUrl);
$testRelativeUrl = t3lib_div::resolveBackPath(t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')) . '/' . $decodedUrl);
// That's what's usually carried in TYPO3_SITE_PATH
$typo3_site_path = substr(t3lib_div::getIndpEnv('TYPO3_SITE_URL'), strlen(t3lib_div::getIndpEnv('TYPO3_REQUEST_HOST')));
// Pass if URL is on the current host:
if (self::isValidUrl($decodedUrl)) {
if (self::isOnCurrentHost($decodedUrl) && strpos($decodedUrl, t3lib_div::getIndpEnv('TYPO3_SITE_URL')) === 0) {
$sanitizedUrl = $url;
}
// Pass if URL is an absolute file path:
} elseif (t3lib_div::isAbsPath($decodedUrl) && t3lib_div::isAllowedAbsPath($decodedUrl)) {
$sanitizedUrl = $url;
// Pass if URL is absolute and below TYPO3 base directory:
} elseif (strpos($testAbsoluteUrl, $typo3_site_path) === 0 && substr($decodedUrl, 0, 1) === '/') {
$sanitizedUrl = $url;
// Pass if URL is relative and below TYPO3 base directory:
} elseif (strpos($testRelativeUrl, $typo3_site_path) === 0 && substr($decodedUrl, 0, 1) !== '/') {
$sanitizedUrl = $url;
}
}
if (!empty($url) && empty($sanitizedUrl)) {
t3lib_div::sysLog('The URL "' . $url . '" is not considered to be local and was denied.', 'Core', t3lib_div::SYSLOG_SEVERITY_NOTICE);
}
return $sanitizedUrl;
}
示例3: execute
/**
* @return boolean
*/
public function execute()
{
t3lib_div::devLog('[tx_scheduler_ImportMember]: execute', 't3o_membership', 0);
$membershipRecords = $this->getDatabaseConnection()->exec_SELECTgetRows('uid, name', 'tx_t3omembership_domain_model_membership', 'NOT hidden AND NOT deleted');
foreach ($membershipRecords as $membershipRecord) {
$this->memberships[$membershipRecord['name']] = (int) $membershipRecord['uid'];
}
// does the import file exist?
$importFile = $this->getImportFile();
if (!t3lib_div::isAbsPath($importFile)) {
$importFile = t3lib_div::getFileAbsFileName($importFile);
}
if (!file_exists($importFile)) {
t3lib_div::devLog('[tx_scheduler_ImportMember]: no importfile - given value: ' . $importFile, 't3o_membership', 0);
return false;
}
$this->initializeHookObjects();
$fileData = file($importFile);
array_shift($fileData);
foreach ($fileData as $key => $line) {
$line = iconv('ISO-8859-15', 'UTF-8', $line);
/** @noinspection PhpParamsInspection */
$fields = t3lib_div::trimExplode("\t", $line);
$membershipUid = $this->getMembershipUid($fields[12]);
// Skip records with unknown membership types.
if (empty($membershipUid)) {
continue;
}
$subscriptionNo = (int) $fields[14];
$endDate = $this->getMemberEndDate($fields[15]);
// If the user has cancelled his membership "Gekündigt", we set the endtime enable field.
$endTime = !empty($fields[17]) ? $endDate : 0;
$hidden = false;
if ($endTime > 0 && $endTime < time()) {
$hidden = true;
}
$member = array('name' => $fields[6], 'subscription_no' => $subscriptionNo, 'external_id' => (int) $fields[0], 'address' => $fields[7] !== '' ? $fields[7] : $fields[8], 'zip' => $fields[10], 'city' => $fields[11], 'country' => $fields[13], 'end_date' => $endDate, 'endtime' => $endTime, 'hidden' => $hidden, 'starttime' => 0, 'membership' => $membershipUid, 'pid' => $this->getMembershipStoragePid(), 'crdate' => time(), 'tstamp' => time(), 'invoice_email' => $fields[84], 'email' => $fields[79], 'url' => $fields[80], 'firstname' => $fields[82], 'lastname' => $fields[83]);
$memberUid = $this->createOrUpdateMember($subscriptionNo, $member);
foreach ($this->hookObjects as $hookObject) {
if (method_exists($hookObject, 'postUpdateMemberData')) {
$hookObject->postUpdateMemberData($memberUid, $member);
}
}
}
return true;
}
示例4: backupExtension
/**
*
* @param Tx_ExtensionBuilder_Domain_Model_Extension $extension
* @param string $backupDir
*
* @return void
*/
static function backupExtension($extension, $backupDir)
{
if (empty($backupDir)) {
throw new Exception('Please define a backup directory in extension configuration!');
} else {
if (!t3lib_div::validPathStr($backupDir)) {
throw new Exception('Backup directory is not a valid path: ' . $backupDir);
} else {
if (t3lib_div::isAbsPath($backupDir)) {
if (!t3lib_div::isAllowedAbsPath($backupDir)) {
throw new Exception('Backup directory is not an allowed absolute path: ' . $backupDir);
}
} else {
$backupDir = PATH_site . $backupDir;
}
}
}
if (strrpos($backupDir, '/') < strlen($backupDir) - 1) {
$backupDir .= '/';
}
if (!is_dir($backupDir)) {
throw new Exception('Backup directory does not exist: ' . $backupDir);
} else {
if (!is_writable($backupDir)) {
throw new Exception('Backup directory is not writable: ' . $backupDir);
}
}
$backupDir .= $extension->getExtensionKey();
// create a subdirectory for this extension
if (!is_dir($backupDir)) {
t3lib_div::mkdir($backupDir);
}
if (strrpos($backupDir, '/') < strlen($backupDir) - 1) {
$backupDir .= '/';
}
$backupDir .= date('Y-m-d-') . time();
if (!is_dir($backupDir)) {
t3lib_div::mkdir($backupDir);
}
$extensionDir = substr($extension->getExtensionDir(), 0, strlen($extension->getExtensionDir()) - 1);
try {
self::recurse_copy($extensionDir, $backupDir);
} catch (Exception $e) {
throw new Exception('Code generation aborted:' . $e->getMessage());
}
t3lib_div::devlog('Backup created in ' . $backupDir, 'extension_builder', 0);
}
示例5: getShortcutIcon
/**
* gets the icon for the shortcut
*
* @param string backend module name
* @return string shortcut icon as img tag
*/
protected function getShortcutIcon($row, $shortcut)
{
global $TCA;
switch ($row['module_name']) {
case 'xMOD_alt_doc.php':
$table = $shortcut['table'];
$recordid = $shortcut['recordid'];
if ($shortcut['type'] == 'edit') {
// Creating the list of fields to include in the SQL query:
$selectFields = $this->fieldArray;
$selectFields[] = 'uid';
$selectFields[] = 'pid';
if ($table == 'pages') {
if (t3lib_extMgm::isLoaded('cms')) {
$selectFields[] = 'module';
$selectFields[] = 'extendToSubpages';
}
$selectFields[] = 'doktype';
}
if (is_array($TCA[$table]['ctrl']['enablecolumns'])) {
$selectFields = array_merge($selectFields, $TCA[$table]['ctrl']['enablecolumns']);
}
if ($TCA[$table]['ctrl']['type']) {
$selectFields[] = $TCA[$table]['ctrl']['type'];
}
if ($TCA[$table]['ctrl']['typeicon_column']) {
$selectFields[] = $TCA[$table]['ctrl']['typeicon_column'];
}
if ($TCA[$table]['ctrl']['versioningWS']) {
$selectFields[] = 't3ver_state';
}
$selectFields = array_unique($selectFields);
// Unique list!
$permissionClause = $table == 'pages' && $this->perms_clause ? ' AND ' . $this->perms_clause : '';
$sqlQueryParts = array('SELECT' => implode(',', $selectFields), 'FROM' => $table, 'WHERE' => 'uid IN (' . $recordid . ') ' . $permissionClause . t3lib_BEfunc::deleteClause($table) . t3lib_BEfunc::versioningPlaceholderClause($table));
$result = $GLOBALS['TYPO3_DB']->exec_SELECT_queryArray($sqlQueryParts);
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result);
$icon = t3lib_iconWorks::getIcon($table, $row, $this->backPath);
} elseif ($shortcut['type'] == 'new') {
$icon = t3lib_iconWorks::getIcon($table, '', $this->backPath);
}
$icon = t3lib_iconWorks::skinImg($this->backPath, $icon, '', 1);
break;
case 'xMOD_file_edit.php':
$icon = 'gfx/edit_file.gif';
break;
case 'xMOD_wizard_rte.php':
$icon = 'gfx/edit_rtewiz.gif';
break;
default:
if ($GLOBALS['LANG']->moduleLabels['tabs_images'][$row['module_name'] . '_tab']) {
$icon = $GLOBALS['LANG']->moduleLabels['tabs_images'][$row['module_name'] . '_tab'];
// change icon of fileadmin references - otherwise it doesn't differ with Web->List
$icon = str_replace('mod/file/list/list.gif', 'mod/file/file.gif', $icon);
if (t3lib_div::isAbsPath($icon)) {
$icon = '../' . substr($icon, strlen(PATH_site));
}
} else {
$icon = 'gfx/dummy_module.gif';
}
}
return '<img src="' . $icon . '" alt="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:toolbarItems.shortcut', true) . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:toolbarItems.shortcut', true) . '" />';
}
示例6: path_makeAbsolute
/**
* Convert a path to an absolute path
*
* @param string $path Path to convert
* @param string $mountpath Path which will be used as base path. Otherwise PATH_site is used.
* @return string Absolute path
*/
function path_makeAbsolute($path, $mountpath = NULL)
{
if ($path) {
if (is_array($path)) {
if (isset($path['dir_name'])) {
$path = $path['dir_path_absolute'] ? $path['dir_path_absolute'] : $path['dir_path'];
} else {
$path = $path['file_path_absolute'] ? $path['file_path_absolute'] : $path['file_path'];
}
}
$path = tx_dam::path_makeClean($path);
if (t3lib_div::isAbsPath($path)) {
return $path;
}
$mountpath = is_null($mountpath) ? PATH_site : tx_dam::path_makeClean($mountpath);
$path = $mountpath ? $mountpath . $path : '';
}
return $path;
}
示例7: crawler_execute_type2
/**
* Indexing files from fileadmin
*
* @param array Indexing Configuration Record
* @param array Session data for the indexing session spread over multiple instances of the script. Passed by reference so changes hereto will be saved for the next call!
* @param array Parameters from the log queue.
* @param object Parent object (from "crawler" extension!)
* @return void
*/
function crawler_execute_type2($cfgRec, &$session_data, $params, &$pObj)
{
// Prepare path, making it absolute and checking:
$readpath = $params['url'];
if (!t3lib_div::isAbsPath($readpath)) {
$readpath = t3lib_div::getFileAbsFileName($readpath);
}
if (t3lib_div::isAllowedAbsPath($readpath)) {
if (@is_file($readpath)) {
// If file, index it!
// Get root line (need to provide this when indexing external files)
$rl = $this->getUidRootLineForClosestTemplate($cfgRec['pid']);
// Load indexer if not yet.
$this->loadIndexerClass();
// (Re)-Indexing file on page.
$indexerObj = t3lib_div::makeInstance('tx_indexedsearch_indexer');
$indexerObj->backend_initIndexer($cfgRec['pid'], 0, 0, '', $rl);
$indexerObj->backend_setFreeIndexUid($cfgRec['uid'], $cfgRec['set_id']);
$indexerObj->hash['phash'] = -1;
// EXPERIMENT - but to avoid phash_t3 being written to file sections (otherwise they are removed when page is reindexed!!!)
// Index document:
$indexerObj->indexRegularDocument(substr($readpath, strlen(PATH_site)), TRUE);
} elseif (@is_dir($readpath)) {
// If dir, read content and create new pending items for log:
// Select files and directories in path:
$extList = implode(',', t3lib_div::trimExplode(',', $cfgRec['extensions'], 1));
$fileArr = array();
$files = t3lib_div::getAllFilesAndFoldersInPath($fileArr, $readpath, $extList, 0, 0);
$directoryList = t3lib_div::get_dirs($readpath);
if (is_array($directoryList) && $params['depth'] < $cfgRec['depth']) {
foreach ($directoryList as $subdir) {
if ((string) $subdir != '') {
$files[] = $readpath . $subdir . '/';
}
}
}
$files = t3lib_div::removePrefixPathFromList($files, PATH_site);
// traverse the items and create log entries:
foreach ($files as $path) {
$this->instanceCounter++;
if ($path !== $params['url']) {
// Parameters:
$nparams = array('indexConfigUid' => $cfgRec['uid'], 'url' => $path, 'procInstructions' => array('[Index Cfg UID#' . $cfgRec['uid'] . ']'), 'depth' => $params['depth'] + 1);
$pObj->addQueueEntry_callBack($cfgRec['set_id'], $nparams, $this->callBack, $cfgRec['pid'], $GLOBALS['EXEC_TIME'] + $this->instanceCounter * $this->secondsPerExternalUrl);
}
}
}
}
}
示例8: loadTCA
/**
* Loads the $TCA (Table Configuration Array) for the $table
*
* Requirements:
* 1) must be configured table (the ctrl-section configured),
* 2) columns must not be an array (which it is always if whole table loaded), and
* 3) there is a value for dynamicConfigFile (filename in typo3conf)
* Usage: 84
*
* @param string Table name for which to load the full TCA array part into the global $TCA
* @return void
*/
function loadTCA($table)
{
global $TCA, $LANG_GENERAL_LABELS;
if (isset($TCA[$table]) && !is_array($TCA[$table]['columns']) && $TCA[$table]['ctrl']['dynamicConfigFile']) {
if (!strcmp(substr($TCA[$table]['ctrl']['dynamicConfigFile'], 0, 6), 'T3LIB:')) {
include PATH_t3lib . 'stddb/' . substr($TCA[$table]['ctrl']['dynamicConfigFile'], 6);
} elseif (t3lib_div::isAbsPath($TCA[$table]['ctrl']['dynamicConfigFile']) && @is_file($TCA[$table]['ctrl']['dynamicConfigFile'])) {
// Absolute path...
include $TCA[$table]['ctrl']['dynamicConfigFile'];
} else {
include PATH_typo3conf . $TCA[$table]['ctrl']['dynamicConfigFile'];
}
}
}
示例9: readTextComment
/**
* Read image information from a associated text file.
* The text file should have the same name as the image but
* should end with '.txt'. Format
* <pre>
* {{title}}
* {{description}}
* {{author}}
* </pre>
*
* @param string $image: path to the image
* @return array title, description and author
*/
public function readTextComment($image)
{
if (!t3lib_div::isAbsPath($image)) {
$image = t3lib_div::getFileAbsFileName($image);
}
$data = array('title' => '', 'description' => '', 'author' => '');
$textfile = substr($image, 0, strrpos($image, '.')) . '.txt';
if (file_exists($textfile)) {
$lines = file($textfile);
if (count($lines)) {
$data['title'] = $lines[0];
$data['description'] = $lines[1];
$data['author'] = $lines[2];
}
}
return $data;
}
示例10: indexRegularDocument
/**
* Indexing a regular document given as $file (relative to PATH_site, local file)
*
* @param string Relative Filename, relative to PATH_site. It can also be an absolute path as long as it is inside the lockRootPath (validated with t3lib_div::isAbsPath()). Finally, if $contentTmpFile is set, this value can be anything, most likely a URL
* @param boolean If set, indexing is forced (despite content hashes, mtime etc).
* @param string Temporary file with the content to read it from (instead of $file). Used when the $file is a URL.
* @param string File extension for temporary file.
* @return void
*/
function indexRegularDocument($file, $force = FALSE, $contentTmpFile = '', $altExtension = '')
{
// Init
$fI = pathinfo($file);
$ext = $altExtension ? $altExtension : strtolower($fI['extension']);
// Create abs-path:
if (!$contentTmpFile) {
if (!t3lib_div::isAbsPath($file)) {
// Relative, prepend PATH_site:
$absFile = t3lib_div::getFileAbsFileName(PATH_site . $file);
} else {
// Absolute, pass-through:
$absFile = $file;
}
$absFile = t3lib_div::isAllowedAbsPath($absFile) ? $absFile : '';
} else {
$absFile = $contentTmpFile;
}
// Indexing the document:
if ($absFile && @is_file($absFile)) {
if ($this->external_parsers[$ext]) {
$mtime = filemtime($absFile);
$cParts = $this->fileContentParts($ext, $absFile);
foreach ($cParts as $cPKey) {
$this->internal_log = array();
$this->log_push('Index: ' . str_replace('.', '_', basename($file)) . ($cPKey ? '#' . $cPKey : ''), '');
$Pstart = t3lib_div::milliseconds();
$subinfo = array('key' => $cPKey);
// Setting page range. This is "0" (zero) when no division is made, otherwise a range like "1-3"
$phash_arr = $this->file_phash_arr = $this->setExtHashes($file, $subinfo);
$check = $this->checkMtimeTstamp($mtime, $phash_arr['phash']);
if ($check > 0 || $force) {
if ($check > 0) {
$this->log_setTSlogMessage('Indexing needed, reason: ' . $this->reasons[$check], 1);
} else {
$this->log_setTSlogMessage('Indexing forced by flag', 1);
}
// Check external file counter:
if ($this->externalFileCounter < $this->maxExternalFiles || $force) {
// Divide into title,keywords,description and body:
$this->log_push('Split content', '');
$contentParts = $this->readFileContent($ext, $absFile, $cPKey);
$this->log_pull();
if (is_array($contentParts)) {
// Calculating a hash over what is to be the actual content. (see indexTypo3PageContent())
$content_md5h = $this->md5inthash(implode($contentParts, ''));
if ($this->checkExternalDocContentHash($phash_arr['phash_grouping'], $content_md5h) || $force) {
// Increment counter:
$this->externalFileCounter++;
// Splitting words
$this->log_push('Extract words from content', '');
$splitInWords = $this->processWordsInArrays($contentParts);
$this->log_pull();
// Analyse the indexed words.
$this->log_push('Analyse the extracted words', '');
$indexArr = $this->indexAnalyze($splitInWords);
$this->log_pull();
// Submitting page (phash) record
$this->log_push('Submitting page', '');
$size = filesize($absFile);
$ctime = filemtime($absFile);
// Unfortunately I cannot determine WHEN a file is originally made - so I must return the modification time...
$this->submitFilePage($phash_arr, $file, $subinfo, $ext, $mtime, $ctime, $size, $content_md5h, $contentParts);
$this->log_pull();
// Check words and submit to word list if not there
$this->log_push('Check word list and submit words', '');
$this->checkWordList($indexArr);
$this->submitWords($indexArr, $phash_arr['phash']);
$this->log_pull();
// Set parsetime
$this->updateParsetime($phash_arr['phash'], t3lib_div::milliseconds() - $Pstart);
} else {
$this->updateTstamp($phash_arr['phash'], $mtime);
// Update the timestamp
$this->log_setTSlogMessage('Indexing not needed, the contentHash, ' . $content_md5h . ', has not changed. Timestamp updated.');
}
} else {
$this->log_setTSlogMessage('Could not index file! Unsupported extension.');
}
} else {
$this->log_setTSlogMessage('The limit of ' . $this->maxExternalFiles . ' has already been exceeded, so no indexing will take place this time.');
}
} else {
$this->log_setTSlogMessage('Indexing not needed, reason: ' . $this->reasons[$check]);
}
// Checking and setting sections:
# $this->submitFile_grlist($phash_arr['phash']); // Setting a gr_list record if there is none already (set for default fe_group)
$this->submitFile_section($phash_arr['phash']);
// Setting a section-record for the file. This is done also if the file is not indexed. Notice that section records are deleted when the page is indexed.
$this->log_pull();
}
//.........这里部分代码省略.........
示例11: statistics_init
/**
* Initialize file-based statistics handling: Check filename and permissions, and create the logfile if it does not exist yet.
* This function should be called with care because it might overwrite existing settings otherwise.
*
* @return boolean True if statistics are enabled (will require some more processing after charset handling is initialized)
* @access private
*/
protected function statistics_init()
{
$setStatPageName = false;
$theLogFile = $this->TYPO3_CONF_VARS['FE']['logfile_dir'] . strftime($this->config['config']['stat_apache_logfile']);
// Add PATH_site left to $theLogFile if the path is not absolute yet
if (!t3lib_div::isAbsPath($theLogFile)) {
$theLogFile = PATH_site . $theLogFile;
}
if ($this->config['config']['stat_apache'] && $this->config['config']['stat_apache_logfile'] && !strstr($this->config['config']['stat_apache_logfile'], '/')) {
if (t3lib_div::isAllowedAbsPath($theLogFile)) {
if (!@is_file($theLogFile)) {
touch($theLogFile);
// Try to create the logfile
t3lib_div::fixPermissions($theLogFile);
}
if (@is_file($theLogFile) && @is_writable($theLogFile)) {
$this->config['stat_vars']['logFile'] = $theLogFile;
$setStatPageName = true;
// Set page name later on
} else {
$GLOBALS['TT']->setTSlogMessage('Could not set logfile path. Check filepath and permissions.', 3);
}
}
}
return $setStatPageName;
}
示例12: getHtmlTemplate
/**
* Function to load a HTML template file with markers.
* When calling from own extension, use syntax getHtmlTemplate('EXT:extkey/template.html')
*
* @param string tmpl name, usually in the typo3/template/ directory
* @return string HTML of template
*/
function getHtmlTemplate($filename)
{
// setting the name of the original HTML template
$this->moduleTemplateFilename = $filename;
if ($GLOBALS['TBE_STYLES']['htmlTemplates'][$filename]) {
$filename = $GLOBALS['TBE_STYLES']['htmlTemplates'][$filename];
}
if (t3lib_div::isFirstPartOfStr($filename, 'EXT:')) {
$filename = t3lib_div::getFileAbsFileName($filename, TRUE, TRUE);
} else {
if (!t3lib_div::isAbsPath($filename)) {
$filename = t3lib_div::resolveBackPath($this->backPath . $filename);
} else {
if (!t3lib_div::isAllowedAbsPath($filename)) {
$filename = '';
}
}
}
$htmlTemplate = '';
if ($filename !== '') {
$htmlTemplate = t3lib_div::getURL($filename);
}
return $htmlTemplate;
}
示例13: getModuleIconRelative
/**
* Returns relative path to the icon filename for use in img-tags
*
* @param string icon filename
* @return string icon filename with relative path
* @see getModuleIconAbsolute()
*/
protected function getModuleIconRelative($iconFilename)
{
if (t3lib_div::isAbsPath($iconFilename)) {
$iconFilename = '../' . substr($iconFilename, strlen(PATH_site));
}
return $this->backPath . $iconFilename;
}
示例14: loadTCA
/**
* Loads the $TCA (Table Configuration Array) for the $table
*
* Requirements:
* 1) must be configured table (the ctrl-section configured),
* 2) columns must not be an array (which it is always if whole table loaded), and
* 3) there is a value for dynamicConfigFile (filename in typo3conf)
*
* Note: For the frontend this loads only 'ctrl' and 'feInterface' parts.
* For complete TCA use $GLOBALS['TSFE']->includeTCA() instead.
*
* Usage: 84
*
* @param string Table name for which to load the full TCA array part into the global $TCA
* @return void
*/
public static function loadTCA($table)
{
global $TCA;
if (isset($TCA[$table])) {
$tca =& $TCA[$table];
if (!$tca['columns']) {
$dcf = $tca['ctrl']['dynamicConfigFile'];
if ($dcf) {
if (!strcmp(substr($dcf, 0, 6), 'T3LIB:')) {
include PATH_t3lib . 'stddb/' . substr($dcf, 6);
} elseif (t3lib_div::isAbsPath($dcf) && @is_file($dcf)) {
// Absolute path...
include $dcf;
} else {
include PATH_typo3conf . $dcf;
}
}
}
}
}
示例15: getFilePath
/**
* getFilePath
*
* returns the correct path for a file, parses "EXT:", returns path relative to PATH_site
*
* @param string $filePath
* @access public
* @return string
*/
public function getFilePath($filePath)
{
/*{{{*/
// Parse EXT: in $filePath into real path
$filePath = t3lib_div::getFileAbsFileName($filePath);
// Returns relative filename
if (t3lib_div::isAbsPath($filePath)) {
$filePath = substr($filePath, strlen(PATH_site));
}
return $filePath;
}