Project

General

Profile

Bug #18549 » 8001_4.2.patch

Administrator Admin, 2008-04-05 15:13

View differences:

typo3/class.browse_links.php (working copy)
$bgColorClass=($c+1)%2 ? 'bgColor' : 'bgColor-10';
// Creating blinking arrow, if applicable:
if ($GLOBALS['SOBE']->browser->curUrlInfo['act']=='file' && $cmpPath==$v['row']['path']) {
if (($GLOBALS['SOBE']->browser->curUrlInfo['act']=='file' || $GLOBALS['SOBE']->browser->curUrlInfo['act']=='folder') && $cmpPath==$v['row']['path']) {
$arrCol='<td><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/blinkarrow_right.gif','width="5" height="9"').' class="c-blinkArrowR" alt="" /></td>';
$bgColorClass='bgColor4';
} else {
......
'target' => $currentLinkParts[1]
);
$this->curUrlInfo=$this->parseCurUrl($this->siteURL.'?id='.$currentLinkParts[0],$this->siteURL);
if ($this->curUrlInfo['pageid']==0) { // pageid==0 means that this is not an internal (page) link
if (@file_exists(PATH_site.rawurldecode($currentLinkParts[0]))) { // check if this is a link to a file
if (t3lib_div::isFirstPartOfStr($currentLinkParts[0],PATH_site)) {
$currentLinkParts[0] = substr($currentLinkParts[0], strlen(PATH_site));
}
$this->curUrlInfo = $this->parseCurUrl($this->siteURL.$currentLinkParts[0],$this->siteURL);
} elseif (strstr($currentLinkParts[0],'@')) { // check for email link
if (t3lib_div::isFirstPartOfStr($currentLinkParts[0],'mailto:')) {
$currentLinkParts[0] = substr($currentLinkParts[0],7);
}
$this->curUrlInfo = $this->parseCurUrl('mailto:'.$currentLinkParts[0],$this->siteURL);
} else { // nothing of the above. this is an external link
$this->curUrlInfo = $this->parseCurUrl($currentLinkParts[0],$this->siteURL);
}
}
} else {
$this->curUrlArray = t3lib_div::_GP('curUrl');
if ($this->curUrlArray['all']) {
......
var cur_target="'.($this->setTarget?$this->setTarget:'').'";
var cur_title="'.($this->setTitle?$this->setTitle:'').'";
function setTarget(target) { //
function browse_links_setTarget(target) { //
cur_target=target;
add_target="&curUrl[target]="+escape(target);
}
function setTitle(title) { //
function browse_links_setTitle(title) { //
cur_title=title;
add_title="&curUrl[title]="+escape(title);
}
function setValue(value) { //
function browse_links_setValue(value) { //
cur_href=value;
add_href="&curUrl[href]="+value;
}
......
}
function link_current() { //
if (cur_href!="http://" && cur_href!="mailto:") {
var setValue = cur_href+" "+cur_target+" "+cur_title;
if (setValue.substr(0,7)=="http://") setValue = setValue.substr(7);
if (setValue.substr(0,7)=="mailto:") setValue = setValue.substr(7);
updateValueInMainForm(setValue);
returnBeforeCleaned = cur_href+" "+cur_target+" "+cur_title;
if (returnBeforeCleaned.substr(0,7)=="http://") {
returnToMainFormValue = returnBeforeCleaned.substr(7);
} else if (returnBeforeCleaned.substr(0,7)=="mailto:") {
if (returnBeforeCleaned.substr(0,14)=="mailto:mailto:") {
returnToMainFormValue = returnBeforeCleaned.substr(14);
} else {
returnToMainFormValue = returnBeforeCleaned.substr(7);
}
} else {
returnToMainFormValue = returnBeforeCleaned;
}
updateValueInMainForm(returnToMainFormValue);
close();
}
return false;
......
<tr>
<td>'.$GLOBALS['LANG']->getLL('emailAddress',1).':</td>
<td><input type="text" name="lemail"'.$this->doc->formWidth(20).' value="'.htmlspecialchars($this->curUrlInfo['act']=='mail'?$this->curUrlInfo['info']:'').'" /> '.
'<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="setTarget(\'\');setValue(\'mailto:\'+document.lurlform.lemail.value); return link_current();" /></td>
'<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="browse_links_setTarget(\'\');browse_links_setValue(\'mailto:\'+document.lurlform.lemail.value); return link_current();" /></td>
</tr>
</table>
</form>';
......
<tr>
<td>URL:</td>
<td><input type="text" name="lurl"'.$this->doc->formWidth(20).' value="'.htmlspecialchars($this->curUrlInfo['act']=='url'?$this->curUrlInfo['info']:'http://').'" /> '.
'<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="setValue(document.lurlform.lurl.value); return link_current();" /></td>
'<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="browse_links_setValue(document.lurlform.lurl.value); return link_current();" /></td>
</tr>
</table>
</form>';
......
// URL + onclick event:
$onClickEvent='';
if (isset($v[$k2i.'.']['target'])) $onClickEvent.="setTarget('".$v[$k2i.'.']['target']."');";
if (isset($v[$k2i.'.']['target'])) $onClickEvent.="browse_links_setTarget('".$v[$k2i.'.']['target']."');";
$v[$k2i.'.']['url'] = str_replace('###_URL###',$this->siteURL,$v[$k2i.'.']['url']);
if (substr($v[$k2i.'.']['url'],0,7)=='http://' || substr($v[$k2i.'.']['url'],0,7)=='mailto:') {
$onClickEvent.="cur_href=unescape('".rawurlencode($v[$k2i.'.']['url'])."');link_current();";
......
<table border="0" cellpadding="2" cellspacing="1" id="typo3-linkTarget">
<tr>
<td>'.$GLOBALS['LANG']->getLL('title',1).'</td>
<td><input type="text" name="ltitle" onchange="setTitle(this.value);" value="'.htmlspecialchars($this->setTitle).'"'.$this->doc->formWidth(10).' /></td>
<td><input type="text" name="ltitle" onchange="browse_links_setTitle(this.value);" value="'.htmlspecialchars($this->setTitle).'"'.$this->doc->formWidth(10).' /></td>
<td><input type="submit" value="'.$GLOBALS['LANG']->getLL('update',1).'" onclick="return link_current();" /></td>
</tr>
</table>
......
<table border="0" cellpadding="2" cellspacing="1" id="typo3-linkTarget">
<tr>
<td>'.$GLOBALS['LANG']->getLL('target',1).':</td>
<td><input type="text" name="ltarget" onchange="setTarget(this.value);" value="'.htmlspecialchars($this->setTarget).'"'.$this->doc->formWidth(10).' /></td>
<td><input type="text" name="ltarget" onchange="browse_links_setTarget(this.value);" value="'.htmlspecialchars($this->setTarget).'"'.$this->doc->formWidth(10).' /></td>
<td>
<select name="ltarget_type" onchange="setTarget(this.options[this.selectedIndex].value);document.ltargetform.ltarget.value=this.options[this.selectedIndex].value;this.selectedIndex=0;">
<select name="ltarget_type" onchange="browse_links_setTarget(this.options[this.selectedIndex].value);document.ltargetform.ltarget.value=this.options[this.selectedIndex].value;this.selectedIndex=0;">
<option></option>
<option value="_top">'.$GLOBALS['LANG']->getLL('top',1).'</option>
<option value="_blank">'.$GLOBALS['LANG']->getLL('newWindow',1).'</option>
......
$selectJS = '
if (document.ltargetform.popup_width.options[document.ltargetform.popup_width.selectedIndex].value>0 && document.ltargetform.popup_height.options[document.ltargetform.popup_height.selectedIndex].value>0) {
document.ltargetform.ltarget.value = document.ltargetform.popup_width.options[document.ltargetform.popup_width.selectedIndex].value+"x"+document.ltargetform.popup_height.options[document.ltargetform.popup_height.selectedIndex].value;
setTarget(document.ltargetform.ltarget.value);
setTitle(document.ltitleform.ltitle.value);
browse_links_setTarget(document.ltargetform.ltarget.value);
browse_links_setTitle(document.ltitleform.ltitle.value);
document.ltargetform.popup_width.selectedIndex=0;
document.ltargetform.popup_height.selectedIndex=0;
}
......
$rel = substr($href,strlen($siteUrl));
if (@file_exists(PATH_site.rawurldecode($rel))) { // URL is a file, which exists:
$info['value']=rawurldecode($rel);
$info['act']='file';
if (@is_dir(PATH_site.$info['value'])) {
$info['act']='folder';
} else {
$info['act']='file';
}
} else { // URL is a page (id parameter)
$uP=parse_url($rel);
if (!trim($uP['path'])) {
(5-5/14)