14658_v1.diff

Bernhard Kraft, 2010-08-10 23:14

Download (5.9 kB)

 
typo3/class.browse_links.php (Arbeitskopie)
820 820
				'target' => $currentLinkParts[1],
821 821
				'class'  => $currentLinkParts[2],
822 822
				'title'  => $currentLinkParts[3],
823
				'params'  => $currentLinkParts[4]
823 824
			);
824 825
			$this->curUrlArray = (is_array(t3lib_div::_GP('curUrl'))) ?
825 826
				array_merge($initialCurUrlArray, t3lib_div::_GP('curUrl')) :
......
882 883

  
883 884
			// Initializing the title value (RTE)
884 885
		$this->setTitle = ($this->curUrlArray['title'] != '-') ? $this->curUrlArray['title'] : '';
886
		
887
			// Initializing the params value
888
		$this->setParams = ($this->curUrlArray['params'] != '-') ? $this->curUrlArray['params'] : '';
885 889

  
886 890
			// BEGIN accumulation of header JavaScript:
887 891
		$JScode = '
......
894 898

  
895 899
			var cur_href="'.($this->curUrlArray['href']?$this->curUrlArray['href']:'').'";
896 900
			var cur_target="'.($this->setTarget?$this->setTarget:'').'";
897
			var cur_class = "'.($this->setClass ? $this->setClass : '-').'";
901
			var cur_class = "' . ($this->setClass ? $this->setClass : '') . '";
898 902
			var cur_title="'.($this->setTitle?$this->setTitle:'').'";
903
			var cur_params="' . ($this->setParams ? $this->setParams : '') . '";
899 904

  
900 905
			function browse_links_setTarget(target)	{	//
901 906
				cur_target=target;
......
913 918
				cur_href=value;
914 919
				add_href="&curUrl[href]="+value;
915 920
			}
921
			function browse_links_setParams(params)	{	//
922
				cur_params=params;
923
				add_params="&curUrl[params]="+escape(params);
924
			}
916 925
		';
917 926

  
918 927
		if ($this->mode == 'wizard')	{	// Functions used, if the link selector is in wizard mode (= TCEforms fields)
......
975 984
				function updateValueInMainForm(input)	{	//
976 985
					var field = checkReference();
977 986
					if (field)	{
978
						if (cur_target == "" && (cur_title != "" || cur_class != "-")) {
987
						if (cur_target == "" && (cur_class != "" || cur_title != "" || cur_params != "")) {
979 988
							cur_target = "-";
980 989
						}
981
						if (cur_title == "" && cur_class == "-") {
982
							cur_class = "";
990
						if (cur_class == "" && (cur_title != "" || cur_params != "")) {
991
							cur_class = "-";
983 992
						}
984 993
						cur_class = cur_class.replace(/[\'\"]/g, "");
985 994
						if (cur_class.indexOf(" ") != -1) {
986 995
							cur_class = "\"" + cur_class + "\"";
987 996
						}
997
						if (cur_title == "" && cur_params != "") {
998
 							cur_title = "-";
999
 						}
988 1000
						cur_title = cur_title.replace(/(^\")|(\"$)/g, "");
989 1001
						if (cur_title.indexOf(" ") != -1) {
990 1002
							cur_title = "\"" + cur_title + "\"";
991 1003
						}
992
						input = input + " " + cur_target + " " + cur_class + " " + cur_title;
1004
						if (cur_params) {
1005
							cur_params = cur_params.replace(/\bid\=.*?(\&|$)/, "");
1006
						}
1007
						input = input + " " + cur_target + " " + cur_class + " " + cur_title + " " + cur_params;
993 1008
						field.value = input;
994 1009
						'.$update.'
995 1010
					}
......
1463 1478
		}
1464 1479

  
1465 1480
		$content .= '
1481
			<!--
1482
				Selecting params for link:
1483
			-->
1484
				<form action="" name="lparamsform" id="lparamsform">
1485
					<table border="0" cellpadding="2" cellspacing="1" id="typo3-linkParams">
1486
						<tr>
1487
							<td style="width: 96px;">' . $GLOBALS['LANG']->getLL('params', 1) . '</td>
1488
							<td><input type="text" name="lparams" onchange="browse_links_setParams(this.value);" value="' . htmlspecialchars($this->setParams) . '"' . $this->doc->formWidth(10) . ' /></td>
1489
						</tr>
1490
					</table>
1491
				</form>
1466 1492

  
1467 1493
			<!--
1468 1494
				Selecting class for link:
......
1522 1548
					browse_links_setTarget(document.ltargetform.ltarget.value);
1523 1549
					browse_links_setClass(document.lclassform.lclass.value);
1524 1550
					browse_links_setTitle(document.ltitleform.ltitle.value);
1551
					browse_links_setParams(document.lparamsform.lparams.value);
1525 1552
					document.ltargetform.popup_width.selectedIndex=0;
1526 1553
					document.ltargetform.popup_height.selectedIndex=0;
1527 1554
				}
typo3/sysext/cms/tslib/class.tslib_content.php (Arbeitskopie)
5925 5925
			$linkClass = trim($link_paramA[2]);		// Link class
5926 5926
			if ($linkClass=='-')	$linkClass = '';	// The '-' character means 'no class'. Necessary in order to specify a title as fourth parameter without setting the target or class!
5927 5927
			$forceTarget = trim($link_paramA[1]);	// Target value
5928
			if ($forceTarget=='-') {
5929
				$forceTarget = '';	// The '-' character means 'no target'. Necessary in order to specify a class as third parameter without setting the target!
5930
			}
5928 5931
			$forceTitle = trim($link_paramA[3]);	// Title value
5929
			if ($forceTarget=='-')	$forceTarget = '';	// The '-' character means 'no target'. Necessary in order to specify a class as third parameter without setting the target!
5932
			if ($forceTitle=='-') {
5933
				$forceTitle = '';	// The '-' character means 'no title'. Necessary in order to specify further parameters without setting the title!
5934
			}
5935
			$forceParams = trim($link_paramA[4]);	// params value	
5936
			$conf['additionalParams'] .= $forceParams[0] == '&' ? $forceParams : '&' . $forceParams;
5930 5937
				// Check, if the target is coded as a JS open window link:
5931 5938
			$JSwindowParts = array();
5932 5939
			$JSwindowParams = '';
typo3/sysext/lang/locallang_browse_links.xml (Arbeitskopie)
21 21
			<label index="target">Target</label>
22 22
			<label index="class">CSS-Class</label>
23 23
			<label index="title">Title</label>
24
			<label index="params">Additional link parameters</label>
24 25
			<label index="target_popUpWindow">Open in window</label>
25 26
			<label index="target_popUpWindow_width">Width</label>
26 27
			<label index="target_popUpWindow_height">Height</label>