Index: typo3/sysext/indexed_search/ext_typoscript_setup.txt
===================================================================
--- typo3/sysext/indexed_search/ext_typoscript_setup.txt (revision 8160)
+++ typo3/sysext/indexed_search/ext_typoscript_setup.txt (working copy)
@@ -11,6 +11,8 @@
modified =
}
+ pathCharacter = / |*| / |*|
+
show {
rules = 1
parsetimes = 0
Index: typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php
===================================================================
--- typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php (revision 8161)
+++ typo3/sysext/indexed_search/pi/class.tx_indexedsearch.php (working copy)
@@ -765,7 +765,7 @@
$sectionTitleLinked = $this->pi_getLL('unnamedSection','',1).':';
} else {
$onclick = 'document.'.$this->prefixId.'[\''.$this->prefixId.'[_sections]\'].value=\''.$theRLid.'\';document.'.$this->prefixId.'.submit();return false;';
- $sectionTitleLinked = ''.htmlspecialchars($sectionName).':';
+ $sectionTitleLinked = ''.$sectionName.':';
}
$this->resultSections[$id] = array($sectionName,count($resultRows));
@@ -2113,7 +2113,7 @@
htmlspecialchars($row['data_filename']) .
'';
} else {
- $pathStr = htmlspecialchars($this->getPathFromPageId($pathId,$pathMP));
+ $pathStr = $this->getPathFromPageId($pathId,$pathMP);
$tmplArray['path'] = $this->linkPage($pathId,$pathStr,array(
'cHashParams' => $row['cHashParams'],
'data_page_type' => $row['data_page_type'],
@@ -2287,7 +2287,7 @@
*
* @param integer Page ID
* @param string MP variable content
- * @return string Path
+ * @return string Path (HTML-escaped)
*/
function getPathFromPageId($id,$pathMP='') {
@@ -2299,8 +2299,14 @@
$rl = $this->getRootLine($id,$pathMP);
$hitRoot = 0;
$path = '';
- if (is_array($rl) && count($rl)) {
+ $pageCount = count($rl);
+ if (is_array($rl) && $pageCount) {
+ $index = 0;
+ $pathSeparator = isset($this->conf['pathCharacter']) ? $this->conf['pathCharacter'] : '/';
+ $pathSeparators = $GLOBALS['TSFE']->tmpl->splitConfArray(
+ array('separator' => $pathSeparator), $pageCount);
foreach ($rl as $k => $v) {
+
// Check fe_user
if ($v['fe_group'] && ($v['uid']==$id || $v['extendToSubpages'])) {
$this->fe_groups_required[$id][]=$v['fe_group'];
@@ -2320,8 +2326,12 @@
if ($v['uid']==$GLOBALS['TSFE']->config['rootLine'][0]['uid']) {
break;
}
- $path = '/'.$v['title'].$path;
+ $path = $pathSeparators[$index]['separator'] . htmlspecialchars($v['title']) . $path;
+ $index++;
}
+ if (isset($this->conf['pathCharacter'])) {
+ $path .= $pathSeparators[$index]['separator'];
+ }
}
$this->cache_path[$identStr] = $path;