Index: t3lib/class.t3lib_parsehtml_proc.php
===================================================================
--- t3lib/class.t3lib_parsehtml_proc.php (révision 6566)
+++ t3lib/class.t3lib_parsehtml_proc.php (copie de travail)
@@ -709,21 +709,13 @@
} elseif($fileChar) { // file (internal)
$href = $siteUrl.$link_param;
} else { // integer or alias (alias is without slashes or periods or commas, that is 'nospace,alphanum_x,lower,unique' according to tables.php!!)
- $link_params_parts = explode('#',$link_param);
- $idPart = trim($link_params_parts[0]); // Link-data del
+ // Splitting the parameter by ',' and if the array counts more than 1 element it's a id/type/parameters triplet
+ $pairParts = t3lib_div::trimExplode(',',$link_param);
+ $idPart = $pairParts[0];
+ $link_params_parts = explode('#', $idPart);
+ $idPart = trim($link_params_parts[0]);
+ $sectionMark = trim($link_params_parts[1]);
if (!strcmp($idPart,'')) { $idPart=$this->recPid; } // If no id or alias is given, set it to class record pid
-
-// FIXME commented because useless - what is it for?
-// if ($link_params_parts[1] && !$sectionMark) {
-// $sectionMark = '#'.trim($link_params_parts[1]);
-// }
-
- // Splitting the parameter by ',' and if the array counts more than 1 element it's a id/type/? pair
- $pairParts = t3lib_div::trimExplode(',',$idPart);
- if (count($pairParts)>1) {
- $idPart = $pairParts[0];
- // Type ? future support for?
- }
// Checking if the id-parameter is an alias.
if (!t3lib_div::testInt($idPart)) {
list($idPartR) = t3lib_BEfunc::getRecordsByField('pages','alias',$idPart);
@@ -731,8 +723,7 @@
}
$page = t3lib_BEfunc::getRecord('pages', $idPart);
if (is_array($page)) { // Page must exist...
- $pairParts = t3lib_div::trimExplode(',',$link_param);
- $href = $siteUrl.'?id='.$pairParts[0].($pairParts[2]?$pairParts[2]:'');
+ $href = $siteUrl .'?id=' . $idPart . ($pairParts[2]?$pairParts[2]:'') . ($sectionMark ? '#' . $sectionMark : '');
// linkHandler - allowing links to start with registerd linkHandler e.g.. "record:"
} elseif (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['typolinkLinkHandler'][array_shift(explode(':', $link_param))])) {
$href = $link_param;
Index: typo3/sysext/cms/tslib/class.tslib_content.php
===================================================================
--- typo3/sysext/cms/tslib/class.tslib_content.php (révision 6566)
+++ typo3/sysext/cms/tslib/class.tslib_content.php (copie de travail)
@@ -5964,18 +5964,18 @@
}
} else { // integer or alias (alias is without slashes or periods or commas, that is 'nospace,alphanum_x,lower,unique' according to definition in $TCA!)
if ($conf['no_cache.']) $conf['no_cache']=$this->stdWrap($conf['no_cache'], $conf['no_cache.']);
- $link_params_parts=explode('#',$link_param);
+ // Splitting the parameter by ',' and if the array counts more than 1 element it's a id/type/parameters triplet
+ $pairParts = t3lib_div::trimExplode(',',$link_param);
+ $link_param = $pairParts[0];
+ $link_params_parts = explode('#',$link_param);
$link_param = trim($link_params_parts[0]); // Link-data del
if (!strcmp($link_param,'')) {$link_param=$GLOBALS['TSFE']->id;} // If no id or alias is given
if ($link_params_parts[1] && !$sectionMark) {
$sectionMark = trim($link_params_parts[1]);
$sectionMark = (t3lib_div::testInt($sectionMark)?'#c':'#').$sectionMark;
}
- // Splitting the parameter by ',' and if the array counts more than 1 element it's a id/type/? pair
unset($theTypeP);
- $pairParts = t3lib_div::trimExplode(',',$link_param);
if (count($pairParts)>1) {
- $link_param = $pairParts[0];
$theTypeP = isset($pairParts[1]) ? $pairParts[1] : 0; // Overruling 'type'
$conf['additionalParams'].= isset($pairParts[2]) ? $pairParts[2] : '';
}
Index: typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php
===================================================================
--- typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php (révision 6566)
+++ typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php (copie de travail)
@@ -518,8 +518,8 @@
// Link setting functions
$JScode.='
function link_typo3Page(id,anchor) {
- var parameters = document.ltargetform.query_parameters ? (document.ltargetform.query_parameters.value.charAt(0) == "&"?"":"&") + document.ltargetform.query_parameters.value : "";
- var theLink = \''.$this->siteURL.'?id=\'+id+(anchor?anchor:"")+parameters;
+ var parameters = (document.ltargetform.query_parameters && document.ltargetform.query_parameters.value) ? (document.ltargetform.query_parameters.value.charAt(0) == "&"?"":"&") + document.ltargetform.query_parameters.value : "";
+ var theLink = \''.$this->siteURL.'?id=\'+id+parameters+(anchor?anchor:"");
if (document.ltargetform.anchor_title) browse_links_setTitle(document.ltargetform.anchor_title.value);
if (document.ltargetform.anchor_class) browse_links_setClass(document.ltargetform.anchor_class.value);
if (document.ltargetform.ltarget) browse_links_setTarget(document.ltargetform.ltarget.value);
@@ -542,7 +542,7 @@
return false;
}
function link_current() {
- var parameters = document.ltargetform.query_parameters ? (document.ltargetform.query_parameters.value.charAt(0) == "&"?"":"&") + document.ltargetform.query_parameters.value : "";
+ var parameters = (document.ltargetform.query_parameters && document.ltargetform.query_parameters.value) ? (document.ltargetform.query_parameters.value.charAt(0) == "&"?"":"&") + document.ltargetform.query_parameters.value : "";
if (document.ltargetform.anchor_title) browse_links_setTitle(document.ltargetform.anchor_title.value);
if (document.ltargetform.anchor_class) browse_links_setClass(document.ltargetform.anchor_class.value);
if (document.ltargetform.ltarget) browse_links_setTarget(document.ltargetform.ltarget.value);