Bug #21625 » typo3core_bugfix_12682_trunk_v2.patch
t3lib/class.t3lib_parsehtml_proc.php (copie de travail) | ||
---|---|---|
} 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, TRUE);
|
||
$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);
|
||
... | ... | |
}
|
||
$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;
|
typo3/sysext/cms/tslib/class.tslib_content.php (copie de travail) | ||
---|---|---|
}
|
||
} 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, TRUE);
|
||
$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] : '';
|
||
}
|
typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php (copie de travail) | ||
---|---|---|
// 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);
|
||
... | ... | |
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);
|