Project

General

Profile

Feature #18083 ยป rtehtmlarea_feature_7332.patch

Administrator Admin, 2008-01-31 21:35

View differences:

typo3/sysext/rtehtmlarea/extensions/TYPO3Link/class.tx_rtehtmlarea_typo3link.php (working copy)
$string = $this->htmlAreaRTE->getLLContent(trim($conf['titleText']));
$JSClassesAnchorArray .= (($index++)?',':'') . 'titleText : ' . str_replace('"', '\"', str_replace('\\\'', '\'', $string)) . $linebreak;
}
if (trim($conf['target'])) {
$JSClassesAnchorArray .= (($index++)?',':'') . 'target : "' . trim($conf['target']) . '"' . $linebreak;
}
$JSClassesAnchorArray .= '}' . $linebreak;
}
}
typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php (working copy)
private $classesAnchorDefault = array();
private $classesAnchorDefaultTitle = array();
private $classesAnchorDefaultTarget = array();
private $classesAnchorJSOptions = array();
public $allowedItems;
......
if ($conf['titleText']) {
$this->classesAnchorDefaultTitle[$conf['type']] = $this->getLLContent(trim($conf['titleText']));
}
if ($conf['target']) {
$this->classesAnchorDefaultTarget[$conf['type']] = trim($conf['target']);
}
}
}
}
......
$menuDef['page']['isActive'] = $this->act=='page';
$menuDef['page']['label'] = $LANG->getLL('page',1);
$menuDef['page']['url'] = '#';
$menuDef['page']['addParams'] = 'onclick="jumpToUrl(\'?act=page&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset.'\');return false;"';
$menuDef['page']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=page&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset).'\');return false;"';
}
if (in_array('file',$this->allowedItems)){
$menuDef['file']['isActive'] = $this->act=='file';
$menuDef['file']['label'] = $LANG->getLL('file',1);
$menuDef['file']['url'] = '#';
$menuDef['file']['addParams'] = 'onclick="jumpToUrl(\'?act=file&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset.'\');return false;"';
$menuDef['file']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=file&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset).'\');return false;"';
}
if (in_array('url',$this->allowedItems)) {
$menuDef['url']['isActive'] = $this->act=='url';
$menuDef['url']['label'] = $LANG->getLL('extUrl',1);
$menuDef['url']['url'] = '#';
$menuDef['url']['addParams'] = 'onclick="jumpToUrl(\'?act=url&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset.'\');return false;"';
$menuDef['url']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=url&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset).'\');return false;"';
}
if (in_array('mail',$this->allowedItems)) {
$menuDef['mail']['isActive'] = $this->act=='mail';
$menuDef['mail']['label'] = $LANG->getLL('email',1);
$menuDef['mail']['url'] = '#';
$menuDef['mail']['addParams'] = 'onclick="jumpToUrl(\'?act=mail&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset.'\');return false;"';
$menuDef['mail']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=mail&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset).'\');return false;"';
}
if (is_array($this->thisConfig['userLinks.']) && in_array('spec',$this->allowedItems)) {
$menuDef['spec']['isActive'] = $this->act=='spec';
$menuDef['spec']['label'] = $LANG->getLL('special',1);
$menuDef['spec']['url'] = '#';
$menuDef['spec']['addParams'] = 'onclick="jumpToUrl(\'?act=spec&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset.'\');return false;"';
$menuDef['spec']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=spec&editorNo='.$this->editorNo.'&contentTypo3Language='.$this->contentTypo3Language.'&contentTypo3Charset='.$this->contentTypo3Charset).'\');return false;"';
}
// call hook for extra options
......
$ltarget .= '
<tr>
<td>'.$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="setTarget(this.value);" value="'.htmlspecialchars($this->setTarget?$this->setTarget:(($this->setClass || !$this->classesAnchorDefault[$this->act])?'':$this->classesAnchorDefaultTarget[$this->act])).'"'.$this->doc->formWidth(10).' /></td>';
$ltarget .= '
<td colspan="2">';
if (!$targetSelectorConfig['disabled']) {
......
$selectClass = '';
if ($this->classesAnchorJSOptions[$this->act]) {
$selectClassJS = '
document.ltargetform.anchor_class.value = document.ltargetform.anchor_class.options[document.ltargetform.anchor_class.selectedIndex].value;
if(document.ltargetform.anchor_class.value && HTMLArea.classesAnchorSetup) {
for (var i = HTMLArea.classesAnchorSetup.length; --i >= 0;) {
var anchorClass = HTMLArea.classesAnchorSetup[i];
if (anchorClass[\'name\'] == document.ltargetform.anchor_class.value) {
if(anchorClass[\'titleText\'] && document.ltargetform.anchor_title) document.ltargetform.anchor_title.value = anchorClass[\'titleText\'];
break;
if (document.ltargetform.anchor_class) {
document.ltargetform.anchor_class.value = document.ltargetform.anchor_class.options[document.ltargetform.anchor_class.selectedIndex].value;
if (document.ltargetform.anchor_class.value && HTMLArea.classesAnchorSetup) {
for (var i = HTMLArea.classesAnchorSetup.length; --i >= 0;) {
var anchorClass = HTMLArea.classesAnchorSetup[i];
if (anchorClass[\'name\'] == document.ltargetform.anchor_class.value) {
if (anchorClass[\'titleText\'] && document.ltargetform.anchor_title) document.ltargetform.anchor_title.value = anchorClass[\'titleText\'];
if (anchorClass[\'target\']) {
if (document.ltargetform.ltarget) {
document.ltargetform.ltarget.value = anchorClass[\'target\'];
}
setTarget(anchorClass[\'target\']);
}
break;
}
}
}
setClass(document.ltargetform.anchor_class.value);
}
setClass(document.ltargetform.anchor_class.value);
';
$selectClass ='
<tr>
typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_dam_browse_links.php (working copy)
*
* Adapted for htmlArea RTE by Stanislas Rolland
*
* $Id$
* TYPO3 SVN ID: $Id$
*
* @author Kasper Skaarhoj <kasperYYYY@typo3.com>
* @author Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca>
......
private $classesAnchorDefault = array();
private $classesAnchorDefaultTitle = array();
private $classesAnchorDefaultTarget = array();
private $classesAnchorJSOptions = array();
public $allowedItems;
......
// Find RTE parameters
$this->bparams = t3lib_div::_GP('bparams');
$this->editorNo = t3lib_div::_GP('editorNo');
$this->sys_language_content = t3lib_div::_GP('sys_language_content');
$this->contentTypo3Language = t3lib_div::_GP('contentTypo3Language');
$this->contentTypo3Charset = t3lib_div::_GP('contentTypo3Charset');
$this->editorNo = t3lib_div::_GP('editorNo');
$this->RTEtsConfigParams = t3lib_div::_GP('RTEtsConfigParams');
if (!$this->editorNo) {
$pArr = explode('|', $this->bparams);
$pRteArr = explode(':', $pArr[1]);
$this->editorNo = $pRteArr[0];
$this->sys_language_content = $pRteArr[1];
$this->RTEtsConfigParams = $pArr[2];
}
$pArr = explode('|', $this->bparams);
$pRteArr = explode(':', $pArr[1]);
$this->editorNo = $this->editorNo ? $this->editorNo : $pRteArr[0];
$this->contentTypo3Language = $this->contentTypo3Language ? $this->contentTypo3Language : $pRteArr[1];
$this->contentTypo3Charset = $this->contentTypo3Charset ? $this->contentTypo3Charset : $pRteArr[2];
$this->RTEtsConfigParams = $this->RTEtsConfigParams ? $this->RTEtsConfigParams : $pArr[2];
// Find "mode"
$this->mode=t3lib_div::_GP('mode');
if (!$this->mode) {
......
if ((string)$this->mode=='rte') {
$RTEtsConfigParts = explode(':',$this->RTEtsConfigParams);
$addPassOnParams .= '&RTEtsConfigParams='.rawurlencode($this->RTEtsConfigParams);
$addPassOnParams .= ($this->contentTypo3Language ? '&typo3ContentLanguage=' . rawurlencode($this->contentTypo3Language) : '');
$addPassOnParams .= ($this->contentTypo3Charset ? '&typo3ContentCharset=' . rawurlencode($this->contentTypo3Charset) : '');
$addPassOnParams .= ($this->contentTypo3Language ? '&contentTypo3Language=' . rawurlencode($this->contentTypo3Language) : '');
$addPassOnParams .= ($this->contentTypo3Charset ? '&contentTypo3Charset=' . rawurlencode($this->contentTypo3Charset) : '');
$RTEsetup = $BE_USER->getTSConfig('RTE',t3lib_BEfunc::getPagesTSconfig($RTEtsConfigParts[5]));
$this->thisConfig = t3lib_BEfunc::RTEsetup($RTEsetup['properties'],$RTEtsConfigParts[0],$RTEtsConfigParts[2],$RTEtsConfigParts[4]);
if (is_array($this->thisConfig['buttons.']) && is_array($this->thisConfig['buttons.']['link.'])) {
......
if ($conf['titleText']) {
$this->classesAnchorDefaultTitle[$conf['type']] = $this->getLLContent(trim($conf['titleText']));
}
if ($conf['target']) {
$this->classesAnchorDefaultTarget[$conf['type']] = trim($conf['target']);
}
}
}
}
......
$this->doc->backPath = $BACK_PATH;
}
function reinitParams() {
if ($this->editorNo) {
$pArr = explode('|', $this->bparams);
$pArr[1] = implode(':', array($this->editorNo, $this->contentTypo3Language, $this->contentTypo3Charset));
$pArr[2] = $this->RTEtsConfigParams;
$this->bparams = implode('|', $pArr);
}
parent::reinitParams();
}
/**
* [Describe function...]
*
......
var add_mode = URL.indexOf("mode=")==-1 ? "&mode='.$this->mode.'" : "";
var theLocation = URL+add_act+add_editorNo+add_contentTypo3Language+add_contentTypo3Charset+add_mode+add_href+add_target+add_class+add_title+add_params'.($addPassOnParams?'+"'.$addPassOnParams.'"':'').'+(anchor?anchor:"");
window.location.href = theLocation;
return false;
return false
}
';
......
if (!in_array($this->act,$this->allowedItems)) {
$this->act = current($this->allowedItems);
}
// Making menu in top:
$menuDef = array();
if (!$wiz && $this->curUrlArray['href']) {
......
$menuDef['page']['isActive'] = $this->act=='page';
$menuDef['page']['label'] = $LANG->getLL('page',1);
$menuDef['page']['url'] = '#';
$menuDef['page']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars($this->thisScript.'?act=page&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
$menuDef['page']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=page&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
}
if (in_array('file',$this->allowedItems)){
$menuDef['file']['isActive'] = $this->act=='file';
$menuDef['file']['label'] = $LANG->sL('LLL:EXT:dam/mod_main/locallang_mod.xml:mlang_tabs_tab',1);
$menuDef['file']['url'] = '#';
$menuDef['file']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars($this->thisScript.'?act=file&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
$menuDef['file']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=file&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
}
if (in_array('url',$this->allowedItems)) {
$menuDef['url']['isActive'] = $this->act=='url';
$menuDef['url']['label'] = $LANG->getLL('extUrl',1);
$menuDef['url']['url'] = '#';
$menuDef['url']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars($this->thisScript.'?act=url&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
$menuDef['url']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=url&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
}
if (in_array('mail',$this->allowedItems)) {
$menuDef['mail']['isActive'] = $this->act=='mail';
$menuDef['mail']['label'] = $LANG->getLL('email',1);
$menuDef['mail']['url'] = '#';
$menuDef['mail']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars($this->thisScript.'?act=mail&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
$menuDef['mail']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=mail&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
}
if (is_array($this->thisConfig['userLinks.']) && in_array('spec',$this->allowedItems)) {
$menuDef['spec']['isActive'] = $this->act=='spec';
$menuDef['spec']['label'] = $LANG->getLL('special',1);
$menuDef['spec']['url'] = '#';
$menuDef['spec']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars($this->thisScript.'?act=spec&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
$menuDef['spec']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=spec&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
}
if (in_array('upload', $this->allowedItems)) {
$menuDef['upload']['isActive'] = ($this->act === 'upload');
$menuDef['upload']['label'] = $LANG->getLL('tx_dam_file_upload.title',1);
$menuDef['upload']['url'] = '#';
$menuDef['upload']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars($this->thisScript.'?act=upload&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
$menuDef['upload']['addParams'] = 'onclick="jumpToUrl(\''.htmlspecialchars('?act=upload&mode='.$this->mode.'&bparams='.$this->bparams).'\');return false;"';
}
// call hook for extra options
......
$ltarget .= '
<tr>
<td>'.$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="setTarget(this.value);" value="'.htmlspecialchars($this->setTarget?$this->setTarget:(($this->setClass || !$this->classesAnchorDefault[$this->act])?'':$this->classesAnchorDefaultTarget[$this->act])).'"'.$this->doc->formWidth(10).' /></td>';
$ltarget .= '
<td colspan="2">';
if (!$targetSelectorConfig['disabled']) {
......
$selectClass = '';
if ($this->classesAnchorJSOptions[$this->act]) {
$selectClassJS = '
document.ltargetform.anchor_class.value = document.ltargetform.anchor_class.options[document.ltargetform.anchor_class.selectedIndex].value;
if(document.ltargetform.anchor_class.value && HTMLArea.classesAnchorSetup) {
for (var i = HTMLArea.classesAnchorSetup.length; --i >= 0;) {
var anchorClass = HTMLArea.classesAnchorSetup[i];
if (anchorClass[\'name\'] == document.ltargetform.anchor_class.value) {
if(anchorClass[\'titleText\'] && document.ltargetform.anchor_title) document.ltargetform.anchor_title.value = anchorClass[\'titleText\'];
break;
if (document.ltargetform.anchor_class) {
document.ltargetform.anchor_class.value = document.ltargetform.anchor_class.options[document.ltargetform.anchor_class.selectedIndex].value;
if (document.ltargetform.anchor_class.value && HTMLArea.classesAnchorSetup) {
for (var i = HTMLArea.classesAnchorSetup.length; --i >= 0;) {
var anchorClass = HTMLArea.classesAnchorSetup[i];
if (anchorClass[\'name\'] == document.ltargetform.anchor_class.value) {
if (anchorClass[\'titleText\'] && document.ltargetform.anchor_title) document.ltargetform.anchor_title.value = anchorClass[\'titleText\'];
if (anchorClass[\'target\']) {
if (document.ltargetform.ltarget) {
document.ltargetform.ltarget.value = anchorClass[\'target\'];
}
setTarget(anchorClass[\'target\']);
}
break;
}
}
}
setClass(document.ltargetform.anchor_class.value);
}
setClass(document.ltargetform.anchor_class.value);
';
$selectClass ='
<tr>
    (1-1/1)