Project

General

Profile

Bug #17883 » 0006885_v2_trunk.patch

Administrator Admin, 2007-12-13 16:22

View differences:

typo3/sysext/cms/tslib/class.tslib_fe.php (Arbeitskopie)
* @return void
*/
function INTincScript() {
$GLOBALS['TT']->push('Split content');
$INTiS_splitC = explode('<!--INT_SCRIPT.',$this->content); // Splits content with the key.
$this->content='';
$GLOBALS['TT']->setTSlogMessage('Parts: '.count($INTiS_splitC));
$GLOBALS['TT']->pull();
// Deprecated stuff:
$this->additionalHeaderData = is_array($this->config['INTincScript_ext']['additionalHeaderData']) ? $this->config['INTincScript_ext']['additionalHeaderData'] : array();
$this->additionalJavaScript = $this->config['INTincScript_ext']['additionalJavaScript'];
......
$this->JSImgCode = $this->additionalHeaderData['JSImgCode'];
$this->divSection='';
$INTiS_config = $GLOBALS['TSFE']->config['INTincScript'];
do {
$INTiS_config = $GLOBALS['TSFE']->config['INTincScript'];
$this->INTincScript_includeLibs($INTiS_config);
$this->INTincScript_process($INTiS_config);
// Check if there were new items added to INTincScript during the previos execution:
$INTiS_config = array_diff_assoc($GLOBALS['TSFE']->config['INTincScript'], $INTiS_config);
$reprocess = (count($INTiS_config) ? true : false);
} while($reprocess);
$GLOBALS['TT']->push('Substitute header section');
$this->INTincScript_loadJSCode();
$this->content = str_replace('<!--HD_'.$this->config['INTincScript_ext']['divKey'].'-->', $this->convOutputCharset(implode(chr(10),$this->additionalHeaderData),'HD'), $this->content);
$this->content = str_replace('<!--TDS_'.$this->config['INTincScript_ext']['divKey'].'-->', $this->convOutputCharset($this->divSection,'TDS'), $this->content);
$this->setAbsRefPrefix();
$GLOBALS['TT']->pull();
}
/**
* Include libraries for uncached objects.
*
* @param array $INTiS_config: $GLOBALS['TSFE']->config['INTincScript'] or part of it
* @return void
* @see INTincScript()
*/
protected function INTincScript_includeLibs($INTiS_config) {
$GLOBALS['TT']->push('Include libraries');
foreach($INTiS_config as $INTiS_cPart) {
if ($INTiS_cPart['conf']['includeLibs']) {
$INTiS_resourceList = t3lib_div::trimExplode(',', $INTiS_cPart['conf']['includeLibs'],1);
$GLOBALS['TT']->setTSlogMessage('Files for inclusion: "'.implode(', ', $INTiS_resourceList).'"');
foreach($INTiS_resourceList as $INTiS_theLib) {
$INTiS_incFile = $this->tmpl->getFileName($INTiS_theLib);
if ($INTiS_incFile) {
require_once('./'.$INTiS_incFile);
} else {
$GLOBALS['TT']->setTSlogMessage('Include file "'.$INTiS_theLib.'" did not exist!', 2);
}
}
}
}
$GLOBALS['TT']->pull();
}
/**
* Processes the INTinclude-scripts and substitue in content.
*
* @param array $INTiS_config: $GLOBALS['TSFE']->config['INTincScript'] or part of it
* @return void
* @see INTincScript()
*/
protected function INTincScript_process($INTiS_config) {
$GLOBALS['TT']->push('Split content');
$INTiS_splitC = explode('<!--INT_SCRIPT.',$this->content); // Splits content with the key.
$this->content='';
$GLOBALS['TT']->setTSlogMessage('Parts: '.count($INTiS_splitC));
$GLOBALS['TT']->pull();
foreach($INTiS_splitC as $INTiS_c => $INTiS_cPart) {
if (substr($INTiS_cPart,32,3)=='-->') { // If the split had a comment-end after 32 characters it's probably a split-string
$INTiS_key = 'INT_SCRIPT.'.substr($INTiS_cPart,0,32);
......
$this->content.= ($INTiS_c?'<!--INT_SCRIPT.':'').$INTiS_cPart;
}
}
$GLOBALS['TT']->push('Substitute header section');
$this->INTincScript_loadJSCode();
$this->content = str_replace('<!--HD_'.$this->config['INTincScript_ext']['divKey'].'-->', $this->convOutputCharset(implode(chr(10),$this->additionalHeaderData),'HD'), $this->content);
$this->content = str_replace('<!--TDS_'.$this->config['INTincScript_ext']['divKey'].'-->', $this->convOutputCharset($this->divSection,'TDS'), $this->content);
$this->setAbsRefPrefix();
$GLOBALS['TT']->pull();
}
/**
typo3/sysext/cms/tslib/publish.php (Arbeitskopie)
// *******************************
if ($TSFE->isINTincScript()) {
$TT->push('Internal PHP-scripts','');
$INTiS_config = $GLOBALS['TSFE']->config['INTincScript'];
// Special feature: Include libraries
$TT->push('Include libraries');
reset($INTiS_config);
while(list(,$INTiS_cPart)=each($INTiS_config)) {
if ($INTiS_cPart['conf']['includeLibs']) {
$INTiS_resourceList = t3lib_div::trimExplode(',',$INTiS_cPart['conf']['includeLibs'],1);
reset($INTiS_resourceList);
while(list(,$INTiS_theLib)=each($INTiS_resourceList)) {
$INTiS_incFile=$GLOBALS['TSFE']->tmpl->getFileName($INTiS_theLib);
if ($INTiS_incFile) {
include_once('./'.$INTiS_incFile);
}
}
}
}
$TT->pull();
$TSFE->INTincScript();
$TT->pull();
}
typo3/sysext/cms/tslib/index_ts.php (Arbeitskopie)
// *******************************
if ($TSFE->isINTincScript()) {
$TT->push('Non-cached objects','');
$INTiS_config = $TSFE->config['INTincScript'];
// Special feature: Include libraries
$TT->push('Include libraries');
foreach($INTiS_config as $INTiS_cPart) {
if ($INTiS_cPart['conf']['includeLibs']) {
$INTiS_resourceList = t3lib_div::trimExplode(',',$INTiS_cPart['conf']['includeLibs'],1);
$TT->setTSlogMessage('Files for inclusion: "'.implode(', ',$INTiS_resourceList).'"');
foreach($INTiS_resourceList as $INTiS_theLib) {
$INTiS_incFile = $TSFE->tmpl->getFileName($INTiS_theLib);
if ($INTiS_incFile) {
require_once('./'.$INTiS_incFile);
} else {
$TT->setTSlogMessage('Include file "'.$INTiS_theLib.'" did not exist!',2);
}
}
}
}
$TT->pull();
$TSFE->INTincScript();
$TT->pull();
}
(2-2/2)