45 public $anchorTypes = array(
'page',
'url',
'file',
'mail',
'spec');
72 $this->contentLanguageService->init($this->contentTypo3Language);
78 $this->
initHookObjects(
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php');
83 $this->act = $this->curUrlInfo[
'act'];
90 unset($this->doc->JScodeArray[
'jumpToUrl']);
91 $this->doc->JScodeArray[
'rtehtmlarea'] = $this->
getJSCode();
100 parent::initVariables();
103 $pArr = explode(
'|', $this->bparams);
104 $pRteArr = explode(
':', $pArr[1]);
105 $this->editorNo = $pRteArr[0];
106 $this->contentTypo3Language = $pRteArr[1];
107 $this->RTEtsConfigParams = $pArr[2];
108 if (!$this->editorNo) {
113 $pArr[1] = implode(
':', array($this->editorNo, $this->contentTypo3Language, $this->contentTypo3Charset));
115 $this->bparams = implode(
'|', $pArr);
134 parent::initDocumentTemplate();
135 $this->doc->getContextMenuCode();
137 $this->doc->bodyTagId =
'typo3-browse-links-php';
151 if ($this->curUrlArray[
'all']) {
153 $this->curUrlArray[
'href'] = htmlspecialchars_decode($this->curUrlArray[
'href']);
156 $this->curUrlInfo = $this->
parseCurUrl($this->curUrlArray[
'href'], $this->siteURL);
157 if (isset($this->curUrlArray[
'data-htmlarea-external']) && $this->curUrlInfo[
'act'] !=
'mail') {
158 $this->curUrlInfo[
'act'] =
'url';
159 $this->curUrlInfo[
'info'] = $this->curUrlArray[
'href'];
169 $RTEtsConfigParts = explode(
':', $this->RTEtsConfigParams);
171 $this->RTEProperties = $RTEsetup[
'properties'];
172 return BackendUtility::RTEsetup($this->RTEProperties, $RTEtsConfigParts[0], $RTEtsConfigParts[2], $RTEtsConfigParts[4]);
182 return is_array($this->thisConfig[
'buttons.']) && is_array($this->thisConfig[
'buttons.'][$buttonName .
'.'])
183 ? $this->thisConfig[
'buttons.'][$buttonName .
'.']
194 $this->setTitle = $this->curUrlArray[
'title'];
196 $classSelected = array();
197 if ($this->buttonConfig[
'properties.'][
'class.'][
'allowedClasses']) {
198 $this->setClass = $this->curUrlArray[
'class'];
200 $classesAnchorConfigArray = array();
202 $classesAnchor = array();
203 $classesAnchor[
'all'] = array();
204 $titleReadOnly = $this->buttonConfig[
'properties.'][
'title.'][
'readOnly'] || $this->buttonConfig[$this->act .
'.'][
'properties.'][
'title.'][
'readOnly'];
205 if (is_array($this->RTEProperties[
'classesAnchor.'])) {
206 foreach ($this->RTEProperties[
'classesAnchor.'] as $label => $conf) {
207 if (in_array($conf[
'class'], $classesAnchorArray)) {
208 $classesAnchor[
'all'][] = $conf[
'class'];
209 if (in_array($conf[
'type'], $this->anchorTypes)) {
210 $classesAnchor[$conf[
'type']][] = $conf[
'class'];
211 if ($this->buttonConfig[$conf[
'type'] .
'.'][
'properties.'][
'class.'][
'default'] == $conf[
'class']) {
212 $this->classesAnchorDefault[$conf[
'type']] = $conf[
'class'];
213 if ($conf[
'titleText']) {
214 $this->classesAnchorDefaultTitle[$conf[
'type']] = $this->
getLLContent(trim($conf[
'titleText']));
216 if ($conf[
'target']) {
217 $this->classesAnchorDefaultTarget[$conf[
'type']] = trim($conf[
'target']);
221 if ($titleReadOnly && $conf[
'titleText']) {
222 $this->classesAnchorClassTitle[$conf[
'class']] = ($this->classesAnchorDefaultTitle[$conf[
'type']] = $this->
getLLContent(trim($conf[
'titleText'])));
228 foreach ($this->anchorTypes as $anchorType) {
229 foreach ($classesAnchorArray as $class) {
230 if (!in_array($class, $classesAnchor[
'all']) || in_array($class, $classesAnchor[
'all']) && is_array($classesAnchor[$anchorType]) && in_array($class, $classesAnchor[$anchorType])) {
232 if ($this->setClass == $class || !$this->setClass && $this->classesAnchorDefault[$anchorType] == $class) {
233 $selected =
'selected="selected"';
234 $classSelected[$anchorType] = TRUE;
236 $classLabel = is_array($this->RTEProperties[
'classes.']) && is_array($this->RTEProperties[
'classes.'][$class .
'.']) && $this->RTEProperties[
'classes.'][$class .
'.'][
'name'] ? $this->
getPageConfigLabel($this->RTEProperties[
'classes.'][$class .
'.'][
'name'], 0) : $class;
237 $classStyle = is_array($this->RTEProperties[
'classes.']) && is_array($this->RTEProperties[
'classes.'][$class .
'.']) && $this->RTEProperties[
'classes.'][$class .
'.'][
'value'] ? $this->RTEProperties[
'classes.'][$class .
'.'][
'value'] :
'';
238 $this->classesAnchorJSOptions[$anchorType] .=
'<option ' . $selected .
' value="' . htmlspecialchars($class) .
'"' . ($classStyle ?
' style="' . htmlspecialchars($classStyle) .
'"' :
'') .
'>' . htmlspecialchars($classLabel) .
'</option>';
241 if ($this->classesAnchorJSOptions[$anchorType] && !($this->buttonConfig[
'properties.'][
'class.'][
'required'] || $this->buttonConfig[$this->act .
'.'][
'properties.'][
'class.'][
'required'])) {
243 if (!$this->setClass && !$this->classesAnchorDefault[$anchorType]) {
244 $selected =
'selected="selected"';
246 $this->classesAnchorJSOptions[$anchorType] =
'<option ' . $selected .
' value=""></option>' . $this->classesAnchorJSOptions[$anchorType];
253 $this->defaultLinkTarget = isset($this->buttonConfig[
'properties.'][
'target.'][
'default']) ? $this->buttonConfig[
'properties.'][
'target.'][
'default'] :
'';
254 $this->setTarget =
'';
255 if (isset($this->curUrlArray[
'target']) && !($this->curUrlArray[
'target'] != $this->defaultLinkTarget && !$classSelected[$this->act] && is_array($this->buttonConfig[
'targetSelector.']) && $this->buttonConfig[
'targetSelector.'][
'disabled'] && is_array($this->buttonConfig[
'popupSelector.']) && $this->buttonConfig[
'popupSelector.'][
'disabled'])) {
256 $this->setTarget = $this->curUrlArray[
'target'];
258 if ($this->defaultLinkTarget && !isset($this->curUrlArray[
'target'])) {
262 if (
$GLOBALS[
'TYPO3_CONF_VARS'][
'EXTCONF'][
'rtehtmlarea'][
'plugins'][
'TYPO3Link'][
'additionalAttributes']) {
264 foreach ($addAttributes as $attribute) {
265 $this->additionalAttributes[$attribute] = isset($this->curUrlArray[$attribute]) ? $this->curUrlArray[$attribute] :
'';
276 $bodyTagAdditions = array();
278 foreach ($this->hookObjects as $hookObject) {
279 if (method_exists($hookObject,
'addBodyTagAdditions')) {
280 $bodyTagAdditions = $hookObject->addBodyTagAdditions($bodyTagAdditions);
297 var HTMLArea = window.parent.HTMLArea; 298 var add_href=' .
GeneralUtility::quoteJSvalue($this->curUrlArray[
'href'] ?
'&curUrl[href]=' . rawurlencode($this->curUrlArray[
'href']) :
'') .
'; 303 var additionalValues = ' . (count($this->additionalAttributes) ? json_encode($this->additionalAttributes, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) :
'{}') .
';';
306 var cur_href=' .
GeneralUtility::quoteJSvalue($this->curUrlArray[
'href'] ? ($this->curUrlInfo[
'query'] ? substr($this->curUrlArray[
'href'], 0, -strlen($this->curUrlInfo[
'query'])) : $this->curUrlArray[
'href']) :
'') .
'; 311 function browse_links_setTarget(value) { 313 add_target="&curUrl[target]="+encodeURIComponent(value); 315 function browse_links_setClass(value) { 317 add_class="&curUrl[class]="+encodeURIComponent(value); 319 function browse_links_setTitle(value) { 321 add_title="&curUrl[title]="+encodeURIComponent(value); 323 function browse_links_setHref(value) { 325 add_href="&curUrl[href]="+value; 327 function browse_links_setAdditionalValue(name, value) { 328 additionalValues[name] = value; 333 function link_typo3Page(id,anchor) { 334 var parameters = (document.ltargetform.query_parameters && document.ltargetform.query_parameters.value) ? (document.ltargetform.query_parameters.value.charAt(0) == "&" ? "" : "&") + document.ltargetform.query_parameters.value : ""; 336 if (document.ltargetform.anchor_title) browse_links_setTitle(document.ltargetform.anchor_title.value); 337 if (document.ltargetform.anchor_class) browse_links_setClass(document.ltargetform.anchor_class.value); 338 if (document.ltargetform.ltarget) browse_links_setTarget(document.ltargetform.ltarget.value); 339 if (document.ltargetform.lrel) browse_links_setAdditionalValue("rel", document.ltargetform.lrel.value); 340 browse_links_setAdditionalValue("data-htmlarea-external", ""); 341 plugin.createLink(theLink,cur_target,cur_class,cur_title,additionalValues); 344 function link_folder(folder) { 345 if (folder && folder.substr(0, 5) == "file:") { 350 if (document.ltargetform.anchor_title) browse_links_setTitle(document.ltargetform.anchor_title.value); 351 if (document.ltargetform.anchor_class) browse_links_setClass(document.ltargetform.anchor_class.value); 352 if (document.ltargetform.ltarget) browse_links_setTarget(document.ltargetform.ltarget.value); 353 if (document.ltargetform.lrel) browse_links_setAdditionalValue("rel", document.ltargetform.lrel.value); 354 browse_links_setAdditionalValue("data-htmlarea-external", ""); 355 plugin.createLink(theLink,cur_target,cur_class,cur_title,additionalValues); 358 function link_spec(theLink) { 359 if (document.ltargetform.anchor_title) browse_links_setTitle(document.ltargetform.anchor_title.value); 360 if (document.ltargetform.anchor_class) browse_links_setClass(document.ltargetform.anchor_class.value); 361 if (document.ltargetform.ltarget) browse_links_setTarget(document.ltargetform.ltarget.value); 362 browse_links_setAdditionalValue("data-htmlarea-external", ""); 363 plugin.createLink(theLink,cur_target,cur_class,cur_title,additionalValues); 366 function link_current() { 367 var parameters = (document.ltargetform.query_parameters && document.ltargetform.query_parameters.value) ? (document.ltargetform.query_parameters.value.charAt(0) == "&" ? "" : "&") + document.ltargetform.query_parameters.value : ""; 368 if (document.ltargetform.anchor_title) browse_links_setTitle(document.ltargetform.anchor_title.value); 369 if (document.ltargetform.anchor_class) browse_links_setClass(document.ltargetform.anchor_class.value); 370 if (document.ltargetform.ltarget) browse_links_setTarget(document.ltargetform.ltarget.value); 371 if (document.ltargetform.lrel) browse_links_setAdditionalValue("rel", document.ltargetform.lrel.value); 372 if (cur_href!="http://" && cur_href!="mailto:") { 373 plugin.createLink(cur_href + parameters,cur_target,cur_class,cur_title,additionalValues); 380 function jumpToUrl(URL,anchor) { 381 if (URL.charAt(0) === \'?\') { 384 var add_editorNo = URL.indexOf("editorNo=")==-1 ? "&editorNo=" + ' .
GeneralUtility::quoteJSvalue(rawurlencode($this->editorNo)) .
' : ""; 385 var add_contentTypo3Language = URL.indexOf("contentTypo3Language=")==-1 ? "&contentTypo3Language=" + ' .
GeneralUtility::quoteJSvalue(rawurlencode($this->contentTypo3Language)) .
' : ""; 388 var add_additionalValues = ""; 389 if (plugin.pageTSConfiguration && plugin.pageTSConfiguration.additionalAttributes) { 390 var additionalAttributes = plugin.pageTSConfiguration.additionalAttributes.split(","); 391 for (var i = additionalAttributes.length; --i >= 0;) { 392 if (additionalValues[additionalAttributes[i]] != "") { 393 add_additionalValues += "&curUrl[" + additionalAttributes[i] + "]=" + encodeURIComponent(additionalValues[additionalAttributes[i]]); 397 var theLocation = URL+add_act+add_editorNo+add_contentTypo3Language+add_mode+add_href+add_target+add_class+add_title+add_additionalValues+add_params+(anchor?anchor:""); 398 window.location.href = theLocation; 401 function launchView(url) { 402 var thePreviewWindow=""; 403 thePreviewWindow = window.open("' .
$GLOBALS[
'BACK_PATH'] .
'show_item.php?table="+url,"ShowItem","height=300,width=410,status=0,menubar=0,resizable=0,location=0,directories=0,scrollbars=1,toolbar=0"); 404 if (thePreviewWindow && thePreviewWindow.focus) { 405 thePreviewWindow.focus(); 410 if (isset(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php'][
'extendJScode']) && is_array(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php'][
'extendJScode'])) {
415 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php'][
'extendJScode'] as $objRef) {
417 $JScode .= $processor->extendJScode($_params, $this);
439 $content = $this->doc->startPage(
$GLOBALS[
'LANG']->getLL(
'Insert/Modify Link', TRUE));
441 $this->allowedItems = explode(
',',
'page,file,folder,url,mail,spec');
443 foreach ($this->hookObjects as $hookObject) {
444 $this->allowedItems = $hookObject->addAllowedItems($this->allowedItems);
447 if (is_array($this->buttonConfig[
'options.']) && $this->buttonConfig[
'options.'][
'removeItems']) {
448 $this->allowedItems = array_diff($this->allowedItems,
GeneralUtility::trimExplode(
',', $this->buttonConfig[
'options.'][
'removeItems'], TRUE));
450 reset($this->allowedItems);
451 if (!in_array($this->act, $this->allowedItems)) {
452 $this->act = current($this->allowedItems);
456 if (!$wiz && $this->curUrlArray[
'href']) {
457 $menuDef[
'removeLink'][
'isActive'] = $this->act ==
'removeLink';
458 $menuDef[
'removeLink'][
'label'] =
$GLOBALS[
'LANG']->getLL(
'removeLink', TRUE);
459 $menuDef[
'removeLink'][
'url'] =
'#';
460 $menuDef[
'removeLink'][
'addParams'] =
'onclick="plugin.unLink();return false;"';
462 if (in_array(
'page', $this->allowedItems)) {
463 $menuDef[
'page'][
'isActive'] = $this->act ==
'page';
464 $menuDef[
'page'][
'label'] =
$GLOBALS[
'LANG']->getLL(
'page', TRUE);
465 $menuDef[
'page'][
'url'] =
'#';
466 $menuDef[
'page'][
'addParams'] =
'onclick="jumpToUrl(' .
GeneralUtility::quoteJSvalue(
'?act=page&mode=' . $this->mode .
'&bparams=' . $this->bparams) .
');return false;"';
468 if (in_array(
'file', $this->allowedItems)) {
469 $menuDef[
'file'][
'isActive'] = $this->act ==
'file';
470 $menuDef[
'file'][
'label'] =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_browse_links.xlf:file', TRUE);
471 $menuDef[
'file'][
'url'] =
'#';
472 $menuDef[
'file'][
'addParams'] =
'onclick="jumpToUrl(' .
GeneralUtility::quoteJSvalue(
'?act=file&mode=' . $this->mode .
'&bparams=' . $this->bparams) .
');return false;"';
474 if (in_array(
'folder', $this->allowedItems)) {
475 $menuDef[
'folder'][
'isActive'] = $this->act ==
'folder';
476 $menuDef[
'folder'][
'label'] =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_browse_links.xlf:folder', TRUE);
477 $menuDef[
'folder'][
'url'] =
'#';
478 $menuDef[
'folder'][
'addParams'] =
'onclick="jumpToUrl(' .
GeneralUtility::quoteJSvalue(
'?act=folder&mode=' . $this->mode .
'&bparams=' . $this->bparams) .
');return false;"';
480 if (in_array(
'url', $this->allowedItems)) {
481 $menuDef[
'url'][
'isActive'] = $this->act ==
'url';
482 $menuDef[
'url'][
'label'] =
$GLOBALS[
'LANG']->getLL(
'extUrl', TRUE);
483 $menuDef[
'url'][
'url'] =
'#';
484 $menuDef[
'url'][
'addParams'] =
'onclick="jumpToUrl(' .
GeneralUtility::quoteJSvalue(
'?act=url&mode=' . $this->mode .
'&bparams=' . $this->bparams) .
');return false;"';
486 if (in_array(
'mail', $this->allowedItems)) {
487 $menuDef[
'mail'][
'isActive'] = $this->act ==
'mail';
488 $menuDef[
'mail'][
'label'] =
$GLOBALS[
'LANG']->getLL(
'email', TRUE);
489 $menuDef[
'mail'][
'url'] =
'#';
490 $menuDef[
'mail'][
'addParams'] =
'onclick="jumpToUrl(' .
GeneralUtility::quoteJSvalue(
'?act=mail&mode=' . $this->mode .
'&bparams=' . $this->bparams) .
');return false;"';
492 if (is_array($this->thisConfig[
'userLinks.']) && in_array(
'spec', $this->allowedItems)) {
493 $menuDef[
'spec'][
'isActive'] = $this->act ==
'spec';
494 $menuDef[
'spec'][
'label'] =
$GLOBALS[
'LANG']->getLL(
'special', TRUE);
495 $menuDef[
'spec'][
'url'] =
'#';
496 $menuDef[
'spec'][
'addParams'] =
'onclick="jumpToUrl(' .
GeneralUtility::quoteJSvalue(
'?act=spec&mode=' . $this->mode .
'&bparams=' . $this->bparams) .
');return false;"';
499 foreach ($this->hookObjects as $hookObject) {
500 $menuDef = $hookObject->modifyMenuDefinition($menuDef);
502 $content .= $this->doc->getTabMenuRaw($menuDef);
504 $content .= $this->
printCurrentUrl($this->curUrlInfo[
'info']) .
'<br />';
506 switch ($this->act) {
513 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'emailAddress', TRUE) .
':</label></td> 514 <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', TRUE) .
'" onclick="browse_links_setTarget(\'\');browse_links_setHref(\'mailto:\'+document.ltargetform.lemail.value);browse_links_setAdditionalValue(\'data-htmlarea-external\', \'\');return link_current();" /></td> 525 <td><label>URL:</label></td> 526 <td colspan="3"><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', TRUE) .
'" onclick="if (/^[A-Za-z0-9_+]{1,8}:/.test(document.ltargetform.lurl.value)) { browse_links_setHref(document.ltargetform.lurl.value); } else { browse_links_setHref(\'http://\'+document.ltargetform.lurl.value); }; browse_links_setAdditionalValue(\'data-htmlarea-external\', \'1\'); return link_current();" /></td> 534 $this->doc->JScode .= $this->doc->wrapScriptTags(
' 535 Tree.ajaxID = "SC_alt_file_navframe::expandCollapse"; 539 $tree = $foldertree->getBrowsableTree();
540 if (!$this->curUrlInfo[
'value'] || $this->curUrlInfo[
'act'] != $this->act) {
543 $cmpPath = $this->curUrlInfo[
'value'];
556 if ($fileOrFolderObject instanceof \
TYPO3\CMS\Core\Resource\
Folder) {
584 if (
$GLOBALS[
'BE_USER']->getTSConfigVal(
'options.uploadFieldsInTopOfEB')) {
585 $content .= $uploadForm;
594 Wrapper table for folder tree / file/folder list: 596 <table border="0" cellpadding="0" cellspacing="0" id="typo3-linkFiles"> 598 <td class="c-wCell" valign="top">' . $this->
barheader((
$GLOBALS[
'LANG']->getLL(
'folderTree') .
':')) . $tree .
'</td> 599 <td class="c-wCell" valign="top">' . $files .
'</td> 604 if (!
$GLOBALS[
'BE_USER']->getTSConfigVal(
'options.uploadFieldsInTopOfEB')) {
605 $content .= $uploadForm;
607 $content .=
'<br />';
608 $content .= $createFolder;
609 $content .=
'<br />';
612 if (is_array($this->thisConfig[
'userLinks.'])) {
614 $v = $this->thisConfig[
'userLinks.'];
615 foreach ($v as $k2 => $dummyValue) {
617 if (substr($k2, -1) ==
'.' && is_array($v[$k2i .
'.'])) {
619 $title = trim($v[$k2i]);
621 $title = $v[$k2i .
'.'][
'url'];
623 $title =
$GLOBALS[
'LANG']->sL($title);
626 $description = $v[$k2i .
'.'][
'description'] ?
$GLOBALS[
'LANG']->sL($v[($k2i .
'.')][
'description'], TRUE) .
'<br />' :
'';
629 if (isset($v[$k2i .
'.'][
'target'])) {
632 $v[$k2i .
'.'][
'url'] = str_replace(
'###_URL###', $this->siteURL, $v[$k2i .
'.'][
'url']);
633 if (substr($v[$k2i .
'.'][
'url'], 0, 7) ==
'http://' || substr($v[$k2i .
'.'][
'url'], 0, 7) ==
'mailto:') {
639 $A = array(
'<a href="#" onclick="' . htmlspecialchars($onClickEvent) .
'return false;">',
'</a>');
643 <td class="bgColor4">' . $A[0] .
'<strong>' . htmlspecialchars($title) . ($this->curUrlInfo[
'info'] == $v[$k2i .
'.'][
'url'] ?
'<img' .
\TYPO3\CMS\Backend\Utility\IconUtility::skinImg(
$GLOBALS[
'BACK_PATH'],
'gfx/blinkarrow_right.gif',
'width="5" height="9"') .
' class="c-blinkArrowR" alt="" />' :
'') .
'</strong><br />' . $description . $A[1] .
'</td> 652 Special userdefined menu: 654 <table border="0" cellpadding="1" cellspacing="1" id="typo3-linkSpecial"> 656 <td class="bgColor5 c-wCell" valign="top"><strong>' .
$GLOBALS[
'LANG']->getLL(
'special', TRUE) .
'</strong></td> 658 ' . implode(
'', $subcats) .
' 666 $pagetree->ext_showNavTitle =
$GLOBALS[
'BE_USER']->getTSConfigVal(
'options.pageTree.showNavTitle');
667 $pagetree->ext_showPageId =
$GLOBALS[
'BE_USER']->getTSConfigVal(
'options.pageTree.showPageIdWithTitle');
668 $pagetree->addField(
'nav_title');
669 $tree = $pagetree->getBrowsableTree();
671 $dbmount = $this->getTemporaryTreeMountCancelNotice();
674 Wrapper table for page tree / record list: 676 <table border="0" cellpadding="0" cellspacing="0" id="typo3-linkPages"> 678 <td class="c-wCell" valign="top">' . $this->
barheader((
$GLOBALS[
'LANG']->getLL(
'pageTree') .
':')) . $dbmount . $tree .
'</td> 679 <td class="c-wCell" valign="top">' . $cElements .
'</td> 686 foreach ($this->hookObjects as $hookObject) {
687 $content .= $hookObject->getTab($this->act);
691 $content .= $this->doc->endPage();
692 $content = $this->doc->insertStylesAndJS($content);
704 $additionalAttributeFields =
'';
713 if (isset(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php'][
'addAttributeFields']) && is_array(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php'][
'addAttributeFields'])) {
718 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'ext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php'][
'addAttributeFields'] as $objRef) {
720 $additionalAttributeFields .= $processor->getAttributefields($_params, $this);
723 if ($rows || $lpageId || $queryParameters || $lclass || $ltitle || $ltarget || $rel) {
724 $ltargetForm = $this->
wrapInForm($rows . $lpageId . $queryParameters . $lclass . $ltitle . $ltarget . $rel . $additionalAttributeFields);
735 Selecting target for link: 737 <form action="" name="ltargetform" id="ltargetform"> 738 <table id="typo3-linkTarget" class="htmlarea-window-table">' . $string;
739 if ($this->act == $this->curUrlInfo[
'act'] && $this->act !=
'mail' && $this->curUrlArray[
'href']) {
745 <input type="submit" value="' .
$GLOBALS[
'LANG']->getLL(
'update', TRUE) .
'" onclick="' . ($this->act ==
'url' ?
'browse_links_setAdditionalValue(\'data-htmlarea-external\', \'1\'); ' :
'') .
'return link_current();" /> 759 return $this->act ==
'page' && $this->buttonConfig && is_array($this->buttonConfig[
'pageIdSelector.']) && $this->buttonConfig[
'pageIdSelector.'][
'enabled'] ?
' 761 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'page_id', TRUE) .
':</label></td> 763 <input type="text" size="6" name="luid" /> <input type="submit" value="' .
$GLOBALS[
'LANG']->getLL(
'setLink', TRUE) .
'" onclick="return link_typo3Page(document.ltargetform.luid.value);" /> 772 return ($this->act ==
'page' || $this->act ==
'url' || $this->act ==
'file') && $this->buttonConfig && is_array($this->buttonConfig[
'relAttribute.']) && $this->buttonConfig[
'relAttribute.'][
'enabled'] ?
' 774 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'linkRelationship', TRUE) .
':</label></td> 776 <input type="text" name="lrel" value="' . htmlspecialchars($this->additionalAttributes[
'rel']) .
'" ' . $this->doc->formWidth(30) .
' /> 785 return $this->act ==
'page' && $this->buttonConfig && is_array($this->buttonConfig[
'queryParametersSelector.']) && $this->buttonConfig[
'queryParametersSelector.'][
'enabled'] ?
' 787 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'query_parameters', TRUE) .
':</label></td> 789 <input type="text" name="query_parameters" value="' . ($this->curUrlInfo[
'query'] ? htmlspecialchars($this->curUrlInfo[
'query']) :
'') .
'" ' . $this->doc->formWidth(30) .
' /> 798 $targetSelectorConfig = array();
799 $popupSelectorConfig = array();
800 if (is_array($this->buttonConfig[
'targetSelector.'])) {
801 $targetSelectorConfig = $this->buttonConfig[
'targetSelector.'];
803 if (is_array($this->buttonConfig[
'popupSelector.'])) {
804 $popupSelectorConfig = $this->buttonConfig[
'popupSelector.'];
807 if ($this->act !=
'mail') {
809 <tr id="ltargetrow"' . ($targetSelectorConfig[
'disabled'] && $popupSelectorConfig[
'disabled'] ?
' style="display: none;"' :
'') .
'> 810 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'target', TRUE) .
':</label></td> 811 <td><input type="text" name="ltarget" onchange="browse_links_setTarget(this.value);" value="' . htmlspecialchars(($this->setTarget ? $this->setTarget : ($this->setClass || !$this->classesAnchorDefault[$this->act] ?
'' : $this->classesAnchorDefaultTarget[$this->act]))) .
'"' . $this->doc->formWidth(10) .
' /></td>';
814 if (!$targetSelectorConfig[
'disabled']) {
816 <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;"> 818 <option value="_top">' .
$GLOBALS[
'LANG']->getLL(
'top', TRUE) .
'</option> 819 <option value="_blank">' .
$GLOBALS[
'LANG']->getLL(
'newWindow', TRUE) .
'</option> 825 if (!$popupSelectorConfig[
'disabled']) {
826 $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) { 827 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; 828 browse_links_setTarget(document.ltargetform.ltarget.value); 829 document.ltargetform.popup_width.selectedIndex=0; 830 document.ltargetform.popup_height.selectedIndex=0; 834 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'target_popUpWindow', TRUE) .
':</label></td> 836 <select name="popup_width" onchange="' . htmlspecialchars($selectJS) .
'"> 837 <option value="0">' .
$GLOBALS[
'LANG']->getLL(
'target_popUpWindow_width', TRUE) .
'</option> 838 <option value="300">300</option> 839 <option value="400">400</option> 840 <option value="500">500</option> 841 <option value="600">600</option> 842 <option value="700">700</option> 843 <option value="800">800</option> 846 <select name="popup_height" onchange="' . htmlspecialchars($selectJS) .
'"> 847 <option value="0">' .
$GLOBALS[
'LANG']->getLL(
'target_popUpWindow_height', TRUE) .
'</option> 848 <option value="200">200</option> 849 <option value="300">300</option> 850 <option value="400">400</option> 851 <option value="500">500</option> 852 <option value="600">600</option> 868 if ($this->classesAnchorJSOptions[$this->act]) {
871 <td><label>' .
$GLOBALS[
'LANG']->getLL(
'anchor_class', TRUE) .
':</label></td> 873 <select name="anchor_class" onchange="' . htmlspecialchars($this->
getClassOnChangeJS()) .
'"> 874 ' . $this->classesAnchorJSOptions[
$this->act] .
' 889 if (document.ltargetform.anchor_class) { 890 document.ltargetform.anchor_class.value = document.ltargetform.anchor_class.options[document.ltargetform.anchor_class.selectedIndex].value; 891 if (document.ltargetform.anchor_class.value && HTMLArea.classesAnchorSetup) { 892 for (var i = HTMLArea.classesAnchorSetup.length; --i >= 0;) { 893 var anchorClass = HTMLArea.classesAnchorSetup[i]; 894 if (anchorClass[\'name\'] == document.ltargetform.anchor_class.value) { 895 if (anchorClass[\'titleText\'] && document.ltargetform.anchor_title) { 896 document.ltargetform.anchor_title.value = anchorClass[\'titleText\']; 897 document.getElementById(\'rtehtmlarea-browse-links-title-readonly\').innerHTML = anchorClass[\'titleText\']; 898 browse_links_setTitle(anchorClass[\'titleText\']); 900 if (anchorClass[\'target\']) { 901 if (document.ltargetform.ltarget) { 902 document.ltargetform.ltarget.value = anchorClass[\'target\']; 904 browse_links_setTarget(anchorClass[\'target\']); 905 } else if (document.ltargetform.ltarget && document.getElementById(\'ltargetrow\').style.display == \'none\') { 906 // Reset target to default if field is not displayed and class has no configured target 907 document.ltargetform.ltarget.value = ' . ($this->defaultLinkTarget ?
GeneralUtility::quoteJSvalue($this->defaultLinkTarget) :
'""') .
'; 908 browse_links_setTarget(document.ltargetform.ltarget.value); 914 browse_links_setClass(document.ltargetform.anchor_class.value); 923 $title = $this->setTitle ?: ($this->setClass || !$this->classesAnchorDefault[
$this->act] ?
'' : $this->classesAnchorDefaultTitle[
$this->act]);
924 $readOnly = $this->buttonConfig[
'properties.'][
'title.'][
'readOnly'] || $this->buttonConfig[$this->act .
'.'][
'properties.'][
'title.'][
'readOnly'];
926 $title = $this->setClass ? $this->classesAnchorClassTitle[
$this->setClass] : $this->classesAnchorDefaultTitle[
$this->act];
930 <td><label for="rtehtmlarea-browse-links-anchor_title" id="rtehtmlarea-browse-links-title-label">' .
$GLOBALS[
'LANG']->getLL(
'anchor_title', TRUE) .
':</label></td> 932 <span id="rtehtmlarea-browse-links-title-input" style="display: ' . ($readOnly ?
'none' :
'inline') .
';"> 933 <input type="text" id="rtehtmlarea-browse-links-anchor_title" name="anchor_title" value="' . htmlspecialchars($title) .
'" ' . $this->doc->formWidth(30) .
' /> 935 <span id="rtehtmlarea-browse-links-title-readonly" style="display: ' . ($readOnly ?
'inline' :
'none') .
';">' . htmlspecialchars($title) .
'</span> 947 return $this->contentLanguageService->sL($string);
958 if (substr($string, 0, 4) !==
'LLL:') {
961 $label =
$GLOBALS[
'LANG']->sL(trim($string));
963 $label = str_replace(
'"',
'\\"', str_replace(
'\\\'',
'\'', $label));
$classesAnchorDefaultTarget
static implodeAttributes(array $arr, $xhtmlSafe=FALSE, $dontOmitBlankAttribs=FALSE)
static skinImg($backPath, $src, $wHattribs='', $outputMode=0)
parseCurUrl($href, $siteUrl)
getPageConfigLabel($string, $JScharCode=1)
initHookObjects($hookKey)
static quoteJSvalue($value)
static getUserObj($classRef, $checkPrefix='', $silent=FALSE)
addAttributesForm($rows='')
static makeInstance($className)
addQueryParametersSelector()
static trimExplode($delim, $string, $removeEmptyValues=FALSE, $limit=0)
getButtonConfig($buttonName)
static get_tag_attributes($tag)
$classesAnchorDefaultTitle
static RTEsetup($RTEprop, $table, $field, $type='')
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
static getPagesTSconfig($id, $rootLine=NULL, $returnPartArray=FALSE)
uploadForm(Folder $folderObject)
expandFolder(Folder $folder, $extensionList='')
createFolder(Folder $folderObject)