Project

General

Profile

Feature #18308 » rtehtmlarea_feature_7667.patch

Administrator Admin, 2008-02-26 06:13

View differences:

typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php (working copy)
bar, textcolor, bgcolor, textindicator,
bar, emoticon, insertcharacter, line, link, unlink, image, table,' . (($this->thisConfig['hideTableOperationsInToolbar'] && is_array($this->thisConfig['buttons.']) && is_array($this->thisConfig['buttons.']['toggleborders.']) && $this->thisConfig['buttons.']['toggleborders.']['keepInToolbar']) ? ' toggleborders,': '') . ' user, acronym, bar, findreplace, spellcheck,
bar, chMode, inserttag, removeformat, bar, copy, cut, paste, bar, undo, redo, bar, showhelp, about, linebreak,
' . ($this->thisConfig['hideTableOperationsInToolbar'] ? '': 'bar, toggleborders,') . ' bar, tableproperties, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar,
columninsertbefore, columninsertafter, columndelete, columnsplit, bar,
' . ($this->thisConfig['hideTableOperationsInToolbar'] ? '': 'bar, toggleborders,') . ' bar, tableproperties, tablerestyle, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar,
columnproperties, columninsertbefore, columninsertafter, columndelete, columnsplit, bar,
cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge';
// Special toolbar for Mozilla Wamcom on Mac OS 9
......
bar, orderedlist, unorderedlist, outdent, indent, bar, textcolor, bgcolor, textindicator, bar, emoticon,
insertcharacter, line, link, unlink, image, table, user, acronym, bar, findreplace, spellcheck, bar, chMode, inserttag,
removeformat, bar, copy, cut, paste, bar, undo, redo, bar, showhelp, about, linebreak,
bar, toggleborders, bar, tableproperties, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar,
columninsertbefore, columninsertafter, columndelete, columnsplit, bar,
bar, toggleborders, bar, tableproperties, tablerestyle, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar,
columnproperties, columninsertbefore, columninsertafter, columndelete, columnsplit, bar,
cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge'
: 'bar, blockstylelabel, blockstyle, space, textstylelabel, textstyle, linebreak,
bar, fontstyle, space, fontsize, space, formatblock, insertparagraphbefore, insertparagraphafter, blockquote, bar, bold, italic, underline, strikethrough,
......
orderedlist, unorderedlist, outdent, indent, bar, textcolor, bgcolor, textindicator, bar, emoticon,
insertcharacter, line, link, unlink, image, table, user, acronym, linebreak, bar, findreplace, spellcheck, bar, chMode, inserttag,
removeformat, bar, copy, cut, paste, bar, undo, redo, bar, showhelp, about, linebreak,
bar, toggleborders, bar, tableproperties, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar,
columninsertbefore, columninsertafter, columndelete, columnsplit, bar,
bar, toggleborders, bar, tableproperties, tablerestyle, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar,
columnproperties, columninsertbefore, columninsertafter, columndelete, columnsplit, bar,
cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge';
}
......
};
RTEarea = new Array();
RTEarea[0] = new Object();
RTEarea[0]["version"] = "' . $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['version'] . '";
RTEarea[0]["popupwin"] = "' . $this->writeTemporaryFile('EXT:' . $this->ID . '/htmlarea/popupwin.js', "popupwin") . '";'
RTEarea[0]["version"] = "' . $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['version'] . '";'
. (($this->client['BROWSER'] == 'msie') ? ('
RTEarea[0]["htmlarea-ie"] = "' . $this->writeTemporaryFile('EXT:' . $this->ID . '/htmlarea/htmlarea-ie.js', "htmlarea-ie") . '";')
: ('
......
RTEarea['.$RTEcounter.'].id = "RTEarea'.$RTEcounter.'";
RTEarea['.$RTEcounter.'].enableWordClean = ' . (trim($this->thisConfig['enableWordClean'])?'true':'false') . ';
RTEarea['.$RTEcounter.']["htmlRemoveComments"] = ' . (trim($this->thisConfig['removeComments'])?'true':'false') . ';
RTEarea['.$RTEcounter.']["disableEnterParagraphs"] = ' . (trim($this->thisConfig['disableEnterParagraphs'])?'true':'false') . ';
RTEarea['.$RTEcounter.'].disableEnterParagraphs = ' . (trim($this->thisConfig['disableEnterParagraphs'])?'true':'false') . ';
RTEarea['.$RTEcounter.'].disableObjectResizing = ' . (trim($this->thisConfig['disableObjectResizing'])?'true':'false') . ';
RTEarea['.$RTEcounter.']["removeTrailingBR"] = ' . (trim($this->thisConfig['removeTrailingBR'])?'true':'false') . ';
RTEarea['.$RTEcounter.']["useCSS"] = ' . (trim($this->thisConfig['useCSS'])?'true':'false') . ';
RTEarea['.$RTEcounter.']["keepButtonGroupTogether"] = ' . (trim($this->thisConfig['keepButtonGroupTogether'])?'true':'false') . ';
......
foreach ($this->thisConfig['buttons.'] as $buttonIndex => $conf) {
$button = substr($buttonIndex, 0, -1);
if (in_array($button,$this->toolbar)) {
$indexButton = 0;
$configureRTEInJavascriptString .= '
RTEarea['.$RTEcounter.'].buttons.'.$button.' = {';
if (is_array($conf)) {
foreach ($conf as $propertyName => $conf1) {
$property = $propertyName;
if ($indexButton) {
$configureRTEInJavascriptString .= ', ';
}
if (is_array($conf1)) {
$property = substr($property, 0, -1);
$indexProperty = 0;
$configureRTEInJavascriptString .= '"'.$property.'" : {';
foreach ($conf1 as $property1Name => $conf2) {
$property1 = $property1Name;
if ($indexProperty) {
$configureRTEInJavascriptString .= ', ';
}
if (is_array($conf2)) {
$property1 = substr($property1, 0, -1);
$indexProperty1 = 0;
$configureRTEInJavascriptString .= '"'.$property1.'" : {';
foreach ($conf2 as $property2Name => $conf3) {
$property2 = $property2Name;
if ($indexProperty1) {
$configureRTEInJavascriptString .= ', ';
}
if (is_array($conf3)) {
$property2 = substr($property2, 0, -1);
$indexProperty2 = 0;
$configureRTEInJavascriptString .= '"'.$property2.'" : {';
foreach($conf3 as $property3Name => $conf4) {
$property3 = $property3Name;
if ($indexProperty2) {
$configureRTEInJavascriptString .= ', ';
}
if (!is_array($conf4)) {
$configureRTEInJavascriptString .= '"'.$property3.'" : '.($conf4?'"'.$conf4.'"':'false');
}
$indexProperty2++;
}
$configureRTEInJavascriptString .= '}';
} else {
$configureRTEInJavascriptString .= '"'.$property2.'" : '.($conf3?'"'.$conf3.'"':'false');
}
$indexProperty1++;
}
$configureRTEInJavascriptString .= '}';
} else {
$configureRTEInJavascriptString .= '"'.$property1.'" : '.($conf2?'"'.$conf2.'"':'false');
}
$indexProperty++;
}
$configureRTEInJavascriptString .= '}';
} else {
$configureRTEInJavascriptString .= '"'.$property.'" : '.($conf1?'"'.$conf1.'"':'false');
}
$indexButton++;
}
}
$configureRTEInJavascriptString .= '};';
RTEarea['.$RTEcounter.'].buttons.'.$button.' = ' . $this->buildNestedJSArray($conf) . ';';
}
}
}
......
$linebreak = $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10);
$index = 0;
$indexNoShow = 0;
$indexAlternating = 0;
$JSClassesLabelsArray = 'HTMLArea.classesLabels = { ' . $linebreak;
$JSClassesValuesArray = 'HTMLArea.classesValues = { ' . $linebreak;
$JSClassesNoShowArray = 'HTMLArea.classesNoShow = { ' . $linebreak;
$JSClassesAlternatingArray = 'HTMLArea.classesAlternating = { ' . $linebreak;
$JSClassesXORArray = 'HTMLArea.classesXOR = { ' . $linebreak;
// Scanning the list of classes if specified in the RTE config
......
foreach ($RTEProperties['classes.'] as $className => $conf) {
$className = substr($className,0,-1);
$classLabel = $this->getPageConfigLabel($conf['name']);
$JSClassesLabelsArray .= (($index)?',':'') . '"' . $className . '": ' . $classLabel . $linebreak;
$JSClassesValuesArray .= (($index)?',':'') . '"' . $className . '":"' . str_replace('"', '\"', str_replace('\\\'', '\'', $conf['value'])) . '"' . $linebreak;
$JSClassesNoShowArray .= (($index)?',':'') . '"' . $className . '":' . ($conf['noShow']?'true':'false') . $linebreak;
$JSClassesLabelsArray .= ($index?',':'') . '"' . $className . '": ' . $classLabel . $linebreak;
$JSClassesValuesArray .= ($index?',':'') . '"' . $className . '":"' . str_replace('"', '\"', str_replace('\\\'', '\'', $conf['value'])) . '"' . $linebreak;
if ($conf['noShow']) {
$JSClassesNoShowArray .= ($indexNoShow?',':'') . '"' . $className . '":' . ($conf['noShow']?'true':'false') . $linebreak;
$indexNoShow++;
}
if (is_array($conf['alternating.'])) {
$JSClassesAlternatingArray .= ($indexAlternating?',':'') . '"' . $className . '":' . (is_array($conf['alternating.']) ? $this->buildNestedJSArray($conf['alternating.']) : ' "false"') . $linebreak;
$indexAlternating++;
}
if (is_array($RTEProperties['mutuallyExclusiveClasses.'])) {
foreach ($RTEProperties['mutuallyExclusiveClasses.'] as $listName => $conf) {
if (t3lib_div::inList($conf, $className)) {
$JSClassesXORArray .= (($index)?',':'') . '"' . $className . '": /^(' . implode('|', t3lib_div::trimExplode(',', t3lib_div::rmFromList($className, $conf), 1)) . ')$/i' . $linebreak;
$JSClassesXORArray .= ($index?',':'') . '"' . $className . '": /^(' . implode('|', t3lib_div::trimExplode(',', t3lib_div::rmFromList($className, $conf), 1)) . ')$/i' . $linebreak;
break;
}
}
......
$JSClassesLabelsArray .= '};' . $linebreak;
$JSClassesValuesArray .= '};' . $linebreak;
$JSClassesNoShowArray .= '};' . $linebreak;
$JSClassesAlternatingArray .= '};' . $linebreak;
$JSClassesXORArray .= '};' . $linebreak;
return $JSClassesLabelsArray . $JSClassesValuesArray . $JSClassesNoShowArray . $JSClassesXORArray;
return $JSClassesLabelsArray . $JSClassesValuesArray . $JSClassesNoShowArray . $JSClassesAlternatingArray . $JSClassesXORArray;
}
/**
* Translate Page TS Config array in JS nested array definition
*
* @param array $conf: Page TSConfig configuration array
*
* @return string nested JS array definition
*/
function buildNestedJSArray($conf) {
$configureRTEInJavascriptString = '{';
$index = 0;
if (is_array($conf)) {
foreach ($conf as $propertyName => $conf1) {
$property = $propertyName;
if ($index) {
$configureRTEInJavascriptString .= ', ';
}
if (is_array($conf1)) {
$property = substr($property, 0, -1);
$indexProperty = 0;
$configureRTEInJavascriptString .= '"'.$property.'" : {';
foreach ($conf1 as $property1Name => $conf2) {
$property1 = $property1Name;
if ($indexProperty) {
$configureRTEInJavascriptString .= ', ';
}
if (is_array($conf2)) {
$property1 = substr($property1, 0, -1);
$indexProperty1 = 0;
$configureRTEInJavascriptString .= '"'.$property1.'" : {';
foreach ($conf2 as $property2Name => $conf3) {
$property2 = $property2Name;
if ($indexProperty1) {
$configureRTEInJavascriptString .= ', ';
}
if (is_array($conf3)) {
$property2 = substr($property2, 0, -1);
$indexProperty2 = 0;
$configureRTEInJavascriptString .= '"'.$property2.'" : {';
foreach($conf3 as $property3Name => $conf4) {
$property3 = $property3Name;
if ($indexProperty2) {
$configureRTEInJavascriptString .= ', ';
}
if (!is_array($conf4)) {
$configureRTEInJavascriptString .= '"'.$property3.'" : '.($conf4?'"'.$conf4.'"':'false');
}
$indexProperty2++;
}
$configureRTEInJavascriptString .= '}';
} else {
$configureRTEInJavascriptString .= '"'.$property2.'" : '.($conf3?'"'.$conf3.'"':'false');
}
$indexProperty1++;
}
$configureRTEInJavascriptString .= '}';
} else {
$configureRTEInJavascriptString .= '"'.$property1.'" : '.($conf2?'"'.$conf2.'"':'false');
}
$indexProperty++;
}
$configureRTEInJavascriptString .= '}';
} else {
$configureRTEInJavascriptString .= '"'.$property.'" : '.($conf1?'"'.$conf1.'"':'false');
}
$index++;
}
}
$configureRTEInJavascriptString .= '}';
return $configureRTEInJavascriptString;
}
/**
* Return a Javascript localization array for htmlArea RTE
*
* @return string Javascript localization array
typo3/sysext/rtehtmlarea/ext_emconf.php (working copy)
########################################################################
# Extension Manager/Repository config file for ext: "rtehtmlarea"
#
# Auto generated 19-02-2008 22:51
# Auto generated 25-02-2008 22:22
#
# Manual updates:
# Only the data in the array - anything else is removed by next write.
......
'author_company' => 'Fructifor Inc.',
'CGLcompliance' => '',
'CGLcompliance_note' => '',
'version' => '1.7.1',
'_md5_values_when_last_written' => 'a:414:{s:9:"ChangeLog";s:4:"4dd9";s:29:"class.tx_rtehtmlarea_base.php";s:4:"00c6";s:27:"class.tx_rtehtmlareaapi.php";s:4:"4476";s:21:"ext_conf_template.txt";s:4:"c214";s:12:"ext_icon.gif";s:4:"2f41";s:17:"ext_localconf.php";s:4:"e28b";s:14:"ext_tables.php";s:4:"4f9c";s:14:"ext_tables.sql";s:4:"2d74";s:13:"locallang.xml";s:4:"3cca";s:16:"locallang_db.xml";s:4:"a2a2";s:7:"tca.php";s:4:"3756";s:32:"pi1/class.tx_rtehtmlarea_pi1.php";s:4:"c05e";s:17:"pi1/locallang.xml";s:4:"2e58";s:16:"mod2/acronym.php";s:4:"7e21";s:37:"mod2/class.tx_rtehtmlarea_acronym.php";s:4:"a955";s:41:"mod2/class.tx_rtehtmlarea_acronym_mod.php";s:4:"1e3f";s:14:"mod2/clear.gif";s:4:"cc11";s:13:"mod2/conf.php";s:4:"f442";s:18:"mod2/locallang.xml";s:4:"7dee";s:29:"htmlarea/HTMLAREA_LICENSE.txt";s:4:"a10f";s:26:"htmlarea/htmlarea-gecko.js";s:4:"b61d";s:23:"htmlarea/htmlarea-ie.js";s:4:"ca96";s:20:"htmlarea/htmlarea.js";s:4:"6c9d";s:30:"htmlarea/locallang_dialogs.xml";s:4:"eba4";s:26:"htmlarea/locallang_msg.xml";s:4:"7b6f";s:31:"htmlarea/locallang_tooltips.xml";s:4:"ce8c";s:20:"htmlarea/popupwin.js";s:4:"d0c9";s:50:"htmlarea/skins/default/htmlarea-edited-content.css";s:4:"1cd4";s:35:"htmlarea/skins/default/htmlarea.css";s:4:"7cea";s:42:"htmlarea/skins/default/images/ed_about.gif";s:4:"2763";s:42:"htmlarea/skins/default/images/ed_blank.gif";s:4:"0208";s:45:"htmlarea/skins/default/images/ed_color_bg.gif";s:4:"c6e2";s:45:"htmlarea/skins/default/images/ed_color_fg.gif";s:4:"5d7f";s:41:"htmlarea/skins/default/images/ed_copy.gif";s:4:"4f55";s:43:"htmlarea/skins/default/images/ed_custom.gif";s:4:"e7b2";s:40:"htmlarea/skins/default/images/ed_cut.gif";s:4:"1b00";s:43:"htmlarea/skins/default/images/ed_delete.gif";s:4:"926b";s:41:"htmlarea/skins/default/images/ed_help.gif";s:4:"e7fc";s:39:"htmlarea/skins/default/images/ed_hr.gif";s:4:"f384";s:41:"htmlarea/skins/default/images/ed_html.gif";s:4:"fa6e";s:42:"htmlarea/skins/default/images/ed_image.gif";s:4:"c0f0";s:50:"htmlarea/skins/default/images/ed_left_to_right.gif";s:4:"1a1f";s:41:"htmlarea/skins/default/images/ed_link.gif";s:4:"db9a";s:48:"htmlarea/skins/default/images/ed_list_bullet.gif";s:4:"5620";s:45:"htmlarea/skins/default/images/ed_list_num.gif";s:4:"eb1c";s:42:"htmlarea/skins/default/images/ed_paste.gif";s:4:"fbd2";s:41:"htmlarea/skins/default/images/ed_redo.gif";s:4:"e9e8";s:50:"htmlarea/skins/default/images/ed_right_to_left.gif";s:4:"2a38";s:41:"htmlarea/skins/default/images/ed_save.gif";s:4:"07ad";s:47:"htmlarea/skins/default/images/ed_splitblock.gif";s:4:"503e";s:45:"htmlarea/skins/default/images/ed_splitcel.gif";s:4:"2c04";s:41:"htmlarea/skins/default/images/ed_undo.gif";s:4:"b9ba";s:43:"htmlarea/skins/default/images/ed_unlink.gif";s:4:"86c4";s:53:"htmlarea/skins/default/images/fullscreen_maximize.gif";s:4:"2118";s:53:"htmlarea/skins/default/images/fullscreen_minimize.gif";s:4:"91d6";s:46:"htmlarea/skins/default/images/insert_table.gif";s:4:"c01b";s:58:"htmlarea/skins/default/images/BlockElements/blockquote.gif";s:4:"34dc";s:54:"htmlarea/skins/default/images/BlockElements/indent.gif";s:4:"57df";s:68:"htmlarea/skins/default/images/BlockElements/insertParagraphAfter.gif";s:4:"e335";s:69:"htmlarea/skins/default/images/BlockElements/insertParagraphBefore.gif";s:4:"9c42";s:61:"htmlarea/skins/default/images/BlockElements/justifyCenter.gif";s:4:"420d";s:59:"htmlarea/skins/default/images/BlockElements/justifyFull.gif";s:4:"b129";s:59:"htmlarea/skins/default/images/BlockElements/justifyLeft.gif";s:4:"3799";s:60:"htmlarea/skins/default/images/BlockElements/justifyRight.gif";s:4:"0662";s:55:"htmlarea/skins/default/images/BlockElements/outdent.gif";s:4:"4786";s:52:"htmlarea/skins/default/images/Acronym/ed_acronym.gif";s:4:"1eaa";s:57:"htmlarea/skins/default/images/CharacterMap/ed_charmap.gif";s:4:"af19";s:54:"htmlarea/skins/default/images/UserElements/ed_user.gif";s:4:"bbb4";s:54:"htmlarea/skins/default/images/QuickTag/ed_quicktag.gif";s:4:"a463";s:58:"htmlarea/skins/default/images/SelectColor/CO-forecolor.gif";s:4:"dbc8";s:60:"htmlarea/skins/default/images/SelectColor/CO-hilitecolor.gif";s:4:"d97c";s:55:"htmlarea/skins/default/images/RemoveFormat/ed_clean.gif";s:4:"2a0f";s:53:"htmlarea/skins/default/images/FindReplace/ed_find.gif";s:4:"827f";s:61:"htmlarea/skins/default/images/TableOperations/cell-delete.gif";s:4:"f371";s:67:"htmlarea/skins/default/images/TableOperations/cell-insert-after.gif";s:4:"2dd2";s:60:"htmlarea/skins/default/images/TableOperations/cell-merge.gif";s:4:"a2d2";s:59:"htmlarea/skins/default/images/TableOperations/cell-prop.gif";s:4:"ca41";s:60:"htmlarea/skins/default/images/TableOperations/cell-split.gif";s:4:"d87c";s:60:"htmlarea/skins/default/images/TableOperations/col-delete.gif";s:4:"da78";s:66:"htmlarea/skins/default/images/TableOperations/col-insert-after.gif";s:4:"80d8";s:67:"htmlarea/skins/default/images/TableOperations/col-insert-before.gif";s:4:"d47d";s:59:"htmlarea/skins/default/images/TableOperations/col-split.gif";s:4:"eacc";s:62:"htmlarea/skins/default/images/TableOperations/insert_table.gif";s:4:"c1db";s:60:"htmlarea/skins/default/images/TableOperations/row-delete.gif";s:4:"a289";s:66:"htmlarea/skins/default/images/TableOperations/row-insert-above.gif";s:4:"1ef1";s:66:"htmlarea/skins/default/images/TableOperations/row-insert-after.gif";s:4:"5e98";s:66:"htmlarea/skins/default/images/TableOperations/row-insert-under.gif";s:4:"9ad6";s:58:"htmlarea/skins/default/images/TableOperations/row-prop.gif";s:4:"5344";s:59:"htmlarea/skins/default/images/TableOperations/row-split.gif";s:4:"a712";s:60:"htmlarea/skins/default/images/TableOperations/table-prop.gif";s:4:"0a5c";s:64:"htmlarea/skins/default/images/TableOperations/toggle-borders.gif";s:4:"50cb";s:59:"htmlarea/skins/default/images/TYPO3ViewHelp/module_help.gif";s:4:"a500";s:56:"htmlarea/skins/default/images/InsertSmiley/ed_smiley.gif";s:4:"c331";s:56:"htmlarea/skins/default/images/TYPO3Browsers/ed_image.gif";s:4:"c0f0";s:55:"htmlarea/skins/default/images/TYPO3Browsers/ed_link.gif";s:4:"db9a";s:57:"htmlarea/skins/default/images/TYPO3Browsers/ed_unlink.gif";s:4:"86c4";s:58:"htmlarea/skins/default/images/SpellChecker/spell-check.gif";s:4:"6e0a";s:61:"htmlarea/skins/default/images/InlineElements/bidioverride.gif";s:4:"f38b";s:52:"htmlarea/skins/default/images/InlineElements/big.gif";s:4:"779b";s:53:"htmlarea/skins/default/images/InlineElements/bold.gif";s:4:"06ac";s:57:"htmlarea/skins/default/images/InlineElements/citation.gif";s:4:"b6eb";s:53:"htmlarea/skins/default/images/InlineElements/code.gif";s:4:"6057";s:59:"htmlarea/skins/default/images/InlineElements/definition.gif";s:4:"692d";s:60:"htmlarea/skins/default/images/InlineElements/deletedtext.gif";s:4:"4eec";s:57:"htmlarea/skins/default/images/InlineElements/emphasis.gif";s:4:"04c9";s:61:"htmlarea/skins/default/images/InlineElements/insertedtext.gif";s:4:"a624";s:55:"htmlarea/skins/default/images/InlineElements/italic.gif";s:4:"be83";s:57:"htmlarea/skins/default/images/InlineElements/keyboard.gif";s:4:"53ac";s:59:"htmlarea/skins/default/images/InlineElements/monospaced.gif";s:4:"78c0";s:58:"htmlarea/skins/default/images/InlineElements/quotation.gif";s:4:"7c62";s:55:"htmlarea/skins/default/images/InlineElements/sample.gif";s:4:"667c";s:54:"htmlarea/skins/default/images/InlineElements/small.gif";s:4:"e013";s:53:"htmlarea/skins/default/images/InlineElements/span.gif";s:4:"0dfa";s:62:"htmlarea/skins/default/images/InlineElements/strikethrough.gif";s:4:"73b1";s:55:"htmlarea/skins/default/images/InlineElements/strong.gif";s:4:"7f50";s:58:"htmlarea/skins/default/images/InlineElements/subscript.gif";s:4:"36c0";s:60:"htmlarea/skins/default/images/InlineElements/superscript.gif";s:4:"40c4";s:58:"htmlarea/skins/default/images/InlineElements/underline.gif";s:4:"dfac";s:57:"htmlarea/skins/default/images/InlineElements/variable.gif";s:4:"da61";s:48:"htmlarea/plugins/BlockElements/block-elements.js";s:4:"e016";s:44:"htmlarea/plugins/BlockElements/locallang.xml";s:4:"2f2c";s:35:"htmlarea/plugins/Acronym/acronym.js";s:4:"9895";s:38:"htmlarea/plugins/Acronym/locallang.xml";s:4:"fead";s:46:"htmlarea/plugins/CharacterMap/character-map.js";s:4:"c653";s:43:"htmlarea/plugins/CharacterMap/locallang.xml";s:4:"1feb";s:58:"htmlarea/plugins/CharacterMap/popups/select_character.html";s:4:"a909";s:44:"htmlarea/plugins/DefaultFont/default-font.js";s:4:"8f2d";s:42:"htmlarea/plugins/DefaultFont/locallang.xml";s:4:"a7f8";s:43:"htmlarea/plugins/UserElements/locallang.xml";s:4:"33f9";s:46:"htmlarea/plugins/UserElements/user-elements.js";s:4:"91ca";s:39:"htmlarea/plugins/QuickTag/locallang.xml";s:4:"2f53";s:38:"htmlarea/plugins/QuickTag/quick-tag.js";s:4:"f93b";s:36:"htmlarea/plugins/QuickTag/tag-lib.js";s:4:"ba71";s:46:"htmlarea/plugins/QuickTag/popups/quicktag.html";s:4:"34c7";s:39:"htmlarea/plugins/InlineCSS/inlinecss.js";s:4:"460b";s:40:"htmlarea/plugins/InlineCSS/locallang.xml";s:4:"5dec";s:46:"htmlarea/plugins/TYPO3HtmlParser/locallang.xml";s:4:"8010";s:52:"htmlarea/plugins/TYPO3HtmlParser/typo3html-parser.js";s:4:"af6a";s:42:"htmlarea/plugins/SelectColor/locallang.xml";s:4:"9f9e";s:44:"htmlarea/plugins/SelectColor/select-color.js";s:4:"749b";s:48:"htmlarea/plugins/DefaultInline/default-inline.js";s:4:"9875";s:44:"htmlarea/plugins/DefaultInline/locallang.xml";s:4:"7b16";s:46:"htmlarea/plugins/DefaultImage/default-image.js";s:4:"4f07";s:43:"htmlarea/plugins/DefaultImage/locallang.xml";s:4:"1fdd";s:54:"htmlarea/plugins/DefaultImage/popups/insert_image.html";s:4:"7b8b";s:40:"htmlarea/plugins/TextStyle/locallang.xml";s:4:"ff67";s:40:"htmlarea/plugins/TextStyle/text-style.js";s:4:"2f3f";s:43:"htmlarea/plugins/RemoveFormat/locallang.xml";s:4:"aa85";s:46:"htmlarea/plugins/RemoveFormat/remove-format.js";s:4:"0c90";s:54:"htmlarea/plugins/RemoveFormat/popups/removeformat.html";s:4:"a3b1";s:44:"htmlarea/plugins/FindReplace/find-replace.js";s:4:"ab77";s:41:"htmlarea/plugins/FindReplace/fr_engine.js";s:4:"095f";s:42:"htmlarea/plugins/FindReplace/locallang.xml";s:4:"f836";s:53:"htmlarea/plugins/FindReplace/popups/find_replace.html";s:4:"8d1e";s:41:"htmlarea/plugins/TYPO3Image/locallang.xml";s:4:"ab27";s:41:"htmlarea/plugins/TYPO3Image/typo3image.js";s:4:"3bf5";s:46:"htmlarea/plugins/TableOperations/locallang.xml";s:4:"8377";s:52:"htmlarea/plugins/TableOperations/table-operations.js";s:4:"f6ed";s:57:"htmlarea/plugins/TableOperations/popups/insert_table.html";s:4:"9c35";s:42:"htmlarea/plugins/BlockStyle/block-style.js";s:4:"93c1";s:41:"htmlarea/plugins/BlockStyle/locallang.xml";s:4:"32ed";s:40:"htmlarea/plugins/TYPO3Link/locallang.xml";s:4:"c39b";s:39:"htmlarea/plugins/TYPO3Link/typo3link.js";s:4:"f1ac";s:46:"htmlarea/plugins/InsertSmiley/insert-smiley.js";s:4:"abba";s:43:"htmlarea/plugins/InsertSmiley/locallang.xml";s:4:"ed64";s:46:"htmlarea/plugins/InsertSmiley/smileys/0001.gif";s:4:"4aff";s:46:"htmlarea/plugins/InsertSmiley/smileys/0002.gif";s:4:"02c4";s:46:"htmlarea/plugins/InsertSmiley/smileys/0003.gif";s:4:"834f";s:46:"htmlarea/plugins/InsertSmiley/smileys/0004.gif";s:4:"fb6a";s:46:"htmlarea/plugins/InsertSmiley/smileys/0005.gif";s:4:"2a48";s:46:"htmlarea/plugins/InsertSmiley/smileys/0006.gif";s:4:"f970";s:46:"htmlarea/plugins/InsertSmiley/smileys/0007.gif";s:4:"97ee";s:46:"htmlarea/plugins/InsertSmiley/smileys/0008.gif";s:4:"10a6";s:46:"htmlarea/plugins/InsertSmiley/smileys/0009.gif";s:4:"1907";s:46:"htmlarea/plugins/InsertSmiley/smileys/0010.gif";s:4:"9ee6";s:46:"htmlarea/plugins/InsertSmiley/smileys/0011.gif";s:4:"ae73";s:46:"htmlarea/plugins/InsertSmiley/smileys/0012.gif";s:4:"f058";s:46:"htmlarea/plugins/InsertSmiley/smileys/0013.gif";s:4:"3ed8";s:46:"htmlarea/plugins/InsertSmiley/smileys/0014.gif";s:4:"a948";s:46:"htmlarea/plugins/InsertSmiley/smileys/0015.gif";s:4:"218d";s:46:"htmlarea/plugins/InsertSmiley/smileys/0016.gif";s:4:"3539";s:46:"htmlarea/plugins/InsertSmiley/smileys/0017.gif";s:4:"ee2e";s:46:"htmlarea/plugins/InsertSmiley/smileys/0018.gif";s:4:"8c66";s:46:"htmlarea/plugins/InsertSmiley/smileys/0019.gif";s:4:"ac36";s:46:"htmlarea/plugins/InsertSmiley/smileys/0020.gif";s:4:"71ef";s:54:"htmlarea/plugins/InsertSmiley/popups/insertsmiley.html";s:4:"27dd";s:46:"htmlarea/plugins/DefaultClean/default-clean.js";s:4:"a2d4";s:43:"htmlarea/plugins/DefaultClean/locallang.xml";s:4:"9e62";s:44:"htmlarea/plugins/TYPO3Browsers/locallang.xml";s:4:"89b8";s:47:"htmlarea/plugins/TYPO3Browsers/typo3browsers.js";s:4:"3afe";s:47:"htmlarea/plugins/TYPO3Browsers/img/download.gif";s:4:"f6d9";s:52:"htmlarea/plugins/TYPO3Browsers/img/external_link.gif";s:4:"9e48";s:63:"htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif";s:4:"6e8d";s:52:"htmlarea/plugins/TYPO3Browsers/img/internal_link.gif";s:4:"12b9";s:63:"htmlarea/plugins/TYPO3Browsers/img/internal_link_new_window.gif";s:4:"402a";s:43:"htmlarea/plugins/TYPO3Browsers/img/mail.gif";s:4:"d5a2";s:44:"htmlarea/plugins/AboutEditor/about-editor.js";s:4:"34be";s:42:"htmlarea/plugins/AboutEditor/locallang.xml";s:4:"6dab";s:46:"htmlarea/plugins/AboutEditor/popups/about.html";s:4:"0800";s:43:"htmlarea/plugins/SpellChecker/locallang.xml";s:4:"20d8";s:51:"htmlarea/plugins/SpellChecker/spell-check-logic.php";s:4:"b9ad";s:51:"htmlarea/plugins/SpellChecker/spell-check-style.css";s:4:"82bd";s:47:"htmlarea/plugins/SpellChecker/spell-check-ui.js";s:4:"8b56";s:46:"htmlarea/plugins/SpellChecker/spell-checker.js";s:4:"f0c8";s:67:"htmlarea/plugins/SpellChecker/popups/spell-check-ui-iso-8859-1.html";s:4:"8f86";s:56:"htmlarea/plugins/SpellChecker/popups/spell-check-ui.html";s:4:"96d3";s:37:"htmlarea/plugins/Language/language.js";s:4:"d2ac";s:39:"htmlarea/plugins/Language/locallang.xml";s:4:"9ca8";s:50:"htmlarea/plugins/InlineElements/inline-elements.js";s:4:"f48b";s:45:"htmlarea/plugins/InlineElements/locallang.xml";s:4:"6f8c";s:42:"htmlarea/plugins/DynamicCSS/dynamiccss.css";s:4:"8e7b";s:41:"htmlarea/plugins/DynamicCSS/dynamiccss.js";s:4:"1861";s:41:"htmlarea/plugins/DynamicCSS/locallang.xml";s:4:"b6bf";s:52:"htmlarea/plugins/DynamicCSS/img/red_arrow_bullet.gif";s:4:"82d6";s:44:"htmlarea/plugins/DefaultLink/default-link.js";s:4:"09c2";s:42:"htmlarea/plugins/DefaultLink/locallang.xml";s:4:"e233";s:45:"htmlarea/plugins/DefaultLink/popups/link.html";s:4:"21eb";s:44:"htmlarea/plugins/ContextMenu/context-menu.js";s:4:"afce";s:42:"htmlarea/plugins/ContextMenu/locallang.xml";s:4:"59f5";s:46:"htmlarea/plugins/DefaultColor/default-color.js";s:4:"8621";s:43:"htmlarea/plugins/DefaultColor/locallang.xml";s:4:"c8d1";s:54:"htmlarea/plugins/DefaultColor/popups/select_color.html";s:4:"6c3c";s:41:"htmlarea/plugins/TYPO3Color/locallang.xml";s:4:"3d3c";s:41:"htmlarea/plugins/TYPO3Color/typo3color.js";s:4:"43ee";s:26:"htmlarea/popups/about.html";s:4:"48fe";s:26:"htmlarea/popups/blank.html";s:4:"e697";s:32:"htmlarea/popups/editor_help.html";s:4:"398a";s:33:"htmlarea/popups/insert_image.html";s:4:"bfc1";s:33:"htmlarea/popups/insert_table.html";s:4:"983d";s:25:"htmlarea/popups/link.html";s:4:"c122";s:24:"htmlarea/popups/popup.js";s:4:"4861";s:33:"htmlarea/popups/select_color.html";s:4:"ceba";s:46:"mod4/class.tx_rtehtmlarea_dam_browse_media.php";s:4:"6e41";s:42:"mod4/class.tx_rtehtmlarea_select_image.php";s:4:"80dc";s:14:"mod4/clear.gif";s:4:"cc11";s:13:"mod4/conf.php";s:4:"0c60";s:18:"mod4/locallang.xml";s:4:"8995";s:21:"mod4/select_image.php";s:4:"a36c";s:32:"pi2/class.tx_rtehtmlarea_pi2.php";s:4:"c650";s:17:"pi2/locallang.xml";s:4:"a0a7";s:63:"extensions/BlockElements/class.tx_rtehtmlarea_blockelements.php";s:4:"c85a";s:38:"extensions/BlockElements/locallang.xml";s:4:"45f6";s:42:"extensions/BlockElements/skin/htmlarea.css";s:4:"83ce";s:51:"extensions/BlockElements/skin/images/blockquote.gif";s:4:"34dc";s:47:"extensions/BlockElements/skin/images/indent.gif";s:4:"57df";s:58:"extensions/BlockElements/skin/images/insertOrderedList.gif";s:4:"eb1c";s:61:"extensions/BlockElements/skin/images/insertParagraphAfter.gif";s:4:"e335";s:62:"extensions/BlockElements/skin/images/insertParagraphBefore.gif";s:4:"9c42";s:60:"extensions/BlockElements/skin/images/insertUnorderedList.gif";s:4:"5620";s:54:"extensions/BlockElements/skin/images/justifyCenter.gif";s:4:"420d";s:52:"extensions/BlockElements/skin/images/justifyFull.gif";s:4:"b129";s:52:"extensions/BlockElements/skin/images/justifyLeft.gif";s:4:"3799";s:53:"extensions/BlockElements/skin/images/justifyRight.gif";s:4:"0662";s:48:"extensions/BlockElements/skin/images/outdent.gif";s:4:"4786";s:51:"extensions/Acronym/class.tx_rtehtmlarea_acronym.php";s:4:"8021";s:36:"extensions/Acronym/skin/htmlarea.css";s:4:"6cf9";s:42:"extensions/Acronym/skin/images/acronym.gif";s:4:"1eaa";s:61:"extensions/CharacterMap/class.tx_rtehtmlarea_charactermap.php";s:4:"d2a0";s:37:"extensions/CharacterMap/locallang.xml";s:4:"c9d1";s:41:"extensions/CharacterMap/skin/htmlarea.css";s:4:"04d1";s:55:"extensions/CharacterMap/skin/images/insertCharacter.gif";s:4:"af19";s:59:"extensions/DefaultFont/class.tx_rtehtmlarea_defaultfont.php";s:4:"a026";s:36:"extensions/DefaultFont/locallang.xml";s:4:"8c90";s:61:"extensions/UserElements/class.tx_rtehtmlarea_userelements.php";s:4:"82ed";s:41:"extensions/UserElements/skin/htmlarea.css";s:4:"d015";s:44:"extensions/UserElements/skin/images/user.gif";s:4:"bbb4";s:53:"extensions/QuickTag/class.tx_rtehtmlarea_quicktag.php";s:4:"b5f7";s:37:"extensions/QuickTag/skin/htmlarea.css";s:4:"fc28";s:45:"extensions/QuickTag/skin/images/inserttag.gif";s:4:"a463";s:55:"extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php";s:4:"710a";s:34:"extensions/InlineCSS/locallang.xml";s:4:"82ed";s:67:"extensions/TYPO3HtmlParser/class.tx_rtehtmlarea_typo3htmlparser.php";s:4:"fe15";s:63:"extensions/DefaultInline/class.tx_rtehtmlarea_defaultinline.php";s:4:"f271";s:38:"extensions/DefaultInline/locallang.xml";s:4:"e592";s:42:"extensions/DefaultInline/skin/htmlarea.css";s:4:"5b38";s:45:"extensions/DefaultInline/skin/images/bold.gif";s:4:"94f2";s:47:"extensions/DefaultInline/skin/images/italic.gif";s:4:"f60c";s:54:"extensions/DefaultInline/skin/images/strikethrough.gif";s:4:"3fd0";s:50:"extensions/DefaultInline/skin/images/subscript.gif";s:4:"cedd";s:52:"extensions/DefaultInline/skin/images/superscript.gif";s:4:"8aea";s:50:"extensions/DefaultInline/skin/images/underline.gif";s:4:"81e6";s:61:"extensions/DefaultImage/class.tx_rtehtmlarea_defaultimage.php";s:4:"32d8";s:41:"extensions/DefaultImage/skin/htmlarea.css";s:4:"eb4c";s:45:"extensions/DefaultImage/skin/images/image.gif";s:4:"c0f0";s:55:"extensions/TextStyle/class.tx_rtehtmlarea_textstyle.php";s:4:"cc5d";s:34:"extensions/TextStyle/locallang.xml";s:4:"23dd";s:61:"extensions/RemoveFormat/class.tx_rtehtmlarea_removeformat.php";s:4:"497d";s:41:"extensions/RemoveFormat/skin/htmlarea.css";s:4:"be33";s:45:"extensions/RemoveFormat/skin/images/clean.gif";s:4:"2a0f";s:59:"extensions/FindReplace/class.tx_rtehtmlarea_findreplace.php";s:4:"8d67";s:40:"extensions/FindReplace/skin/htmlarea.css";s:4:"43cc";s:43:"extensions/FindReplace/skin/images/find.gif";s:4:"827f";s:57:"extensions/TYPO3Image/class.tx_rtehtmlarea_typo3image.php";s:4:"711d";s:39:"extensions/TYPO3Image/skin/htmlarea.css";s:4:"fa33";s:43:"extensions/TYPO3Image/skin/images/image.gif";s:4:"c0f0";s:67:"extensions/TableOperations/class.tx_rtehtmlarea_tableoperations.php";s:4:"8b5c";s:44:"extensions/TableOperations/skin/htmlarea.css";s:4:"9e65";s:54:"extensions/TableOperations/skin/images/cell-delete.gif";s:4:"f371";s:60:"extensions/TableOperations/skin/images/cell-insert-after.gif";s:4:"2dd2";s:61:"extensions/TableOperations/skin/images/cell-insert-before.gif";s:4:"5d13";s:53:"extensions/TableOperations/skin/images/cell-merge.gif";s:4:"cb52";s:52:"extensions/TableOperations/skin/images/cell-prop.gif";s:4:"ca41";s:53:"extensions/TableOperations/skin/images/cell-split.gif";s:4:"0095";s:53:"extensions/TableOperations/skin/images/col-delete.gif";s:4:"da78";s:59:"extensions/TableOperations/skin/images/col-insert-after.gif";s:4:"80d8";s:60:"extensions/TableOperations/skin/images/col-insert-before.gif";s:4:"d47d";s:51:"extensions/TableOperations/skin/images/col-prop.gif";s:4:"5344";s:52:"extensions/TableOperations/skin/images/col-split.gif";s:4:"c168";s:55:"extensions/TableOperations/skin/images/insert_table.gif";s:4:"c01b";s:53:"extensions/TableOperations/skin/images/row-delete.gif";s:4:"a289";s:59:"extensions/TableOperations/skin/images/row-insert-above.gif";s:4:"1ef1";s:59:"extensions/TableOperations/skin/images/row-insert-under.gif";s:4:"9ad6";s:51:"extensions/TableOperations/skin/images/row-prop.gif";s:4:"5344";s:52:"extensions/TableOperations/skin/images/row-split.gif";s:4:"ebfd";s:53:"extensions/TableOperations/skin/images/table-prop.gif";s:4:"0a5c";s:57:"extensions/TableOperations/skin/images/toggle-borders.gif";s:4:"50cb";s:57:"extensions/BlockStyle/class.tx_rtehtmlarea_blockstyle.php";s:4:"a516";s:35:"extensions/BlockStyle/locallang.xml";s:4:"26b8";s:55:"extensions/TYPO3Link/class.tx_rtehtmlarea_typo3link.php";s:4:"6c51";s:38:"extensions/TYPO3Link/skin/htmlarea.css";s:4:"2a46";s:41:"extensions/TYPO3Link/skin/images/link.gif";s:4:"db9a";s:43:"extensions/TYPO3Link/skin/images/unlink.gif";s:4:"86c4";s:61:"extensions/InsertSmiley/class.tx_rtehtmlarea_insertsmiley.php";s:4:"5ad3";s:41:"extensions/InsertSmiley/skin/htmlarea.css";s:4:"fb52";s:46:"extensions/InsertSmiley/skin/images/smiley.gif";s:4:"c331";s:61:"extensions/DefaultClean/class.tx_rtehtmlarea_defaultclean.php";s:4:"59a6";s:59:"extensions/AboutEditor/class.tx_rtehtmlarea_abouteditor.php";s:4:"ec48";s:40:"extensions/AboutEditor/skin/htmlarea.css";s:4:"eb62";s:44:"extensions/AboutEditor/skin/images/about.gif";s:4:"1690";s:61:"extensions/SpellChecker/class.tx_rtehtmlarea_spellchecker.php";s:4:"c300";s:41:"extensions/SpellChecker/skin/htmlarea.css";s:4:"cedf";s:51:"extensions/SpellChecker/skin/images/spell-check.gif";s:4:"6e0a";s:53:"extensions/Language/class.tx_rtehtmlarea_language.php";s:4:"7325";s:37:"extensions/Language/skin/htmlarea.css";s:4:"f6b2";s:49:"extensions/Language/skin/images/left_to_right.gif";s:4:"1a1f";s:49:"extensions/Language/skin/images/right_to_left.gif";s:4:"2a38";s:65:"extensions/InlineElements/class.tx_rtehtmlarea_inlineelements.php";s:4:"4d23";s:39:"extensions/InlineElements/locallang.xml";s:4:"07c6";s:43:"extensions/InlineElements/skin/htmlarea.css";s:4:"978b";s:54:"extensions/InlineElements/skin/images/bidioverride.gif";s:4:"f38b";s:45:"extensions/InlineElements/skin/images/big.gif";s:4:"779b";s:46:"extensions/InlineElements/skin/images/bold.gif";s:4:"06ac";s:50:"extensions/InlineElements/skin/images/citation.gif";s:4:"b6eb";s:46:"extensions/InlineElements/skin/images/code.gif";s:4:"6057";s:52:"extensions/InlineElements/skin/images/definition.gif";s:4:"692d";s:53:"extensions/InlineElements/skin/images/deletedtext.gif";s:4:"4eec";s:50:"extensions/InlineElements/skin/images/emphasis.gif";s:4:"04c9";s:54:"extensions/InlineElements/skin/images/insertedtext.gif";s:4:"a624";s:48:"extensions/InlineElements/skin/images/italic.gif";s:4:"be83";s:50:"extensions/InlineElements/skin/images/keyboard.gif";s:4:"53ac";s:52:"extensions/InlineElements/skin/images/monospaced.gif";s:4:"78c0";s:51:"extensions/InlineElements/skin/images/quotation.gif";s:4:"7c62";s:48:"extensions/InlineElements/skin/images/sample.gif";s:4:"667c";s:47:"extensions/InlineElements/skin/images/small.gif";s:4:"e013";s:46:"extensions/InlineElements/skin/images/span.gif";s:4:"0dfa";s:55:"extensions/InlineElements/skin/images/strikethrough.gif";s:4:"73b1";s:48:"extensions/InlineElements/skin/images/strong.gif";s:4:"7f50";s:51:"extensions/InlineElements/skin/images/subscript.gif";s:4:"36c0";s:53:"extensions/InlineElements/skin/images/superscript.gif";s:4:"40c4";s:51:"extensions/InlineElements/skin/images/underline.gif";s:4:"dfac";s:50:"extensions/InlineElements/skin/images/variable.gif";s:4:"da61";s:57:"extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php";s:4:"6226";s:35:"extensions/DynamicCSS/locallang.xml";s:4:"26b8";s:59:"extensions/DefaultLink/class.tx_rtehtmlarea_defaultlink.php";s:4:"1c36";s:40:"extensions/DefaultLink/skin/htmlarea.css";s:4:"883b";s:43:"extensions/DefaultLink/skin/images/link.gif";s:4:"db9a";s:45:"extensions/DefaultLink/skin/images/unlink.gif";s:4:"86c4";s:61:"extensions/DefaultColor/class.tx_rtehtmlarea_defaultcolor.php";s:4:"b4ef";s:37:"extensions/DefaultColor/locallang.xml";s:4:"3fb4";s:41:"extensions/DefaultColor/skin/htmlarea.css";s:4:"4759";s:49:"extensions/DefaultColor/skin/images/forecolor.gif";s:4:"dbc8";s:51:"extensions/DefaultColor/skin/images/hilitecolor.gif";s:4:"d97c";s:57:"extensions/TYPO3Color/class.tx_rtehtmlarea_typo3color.php";s:4:"149e";s:35:"extensions/TYPO3Color/locallang.xml";s:4:"377f";s:39:"extensions/TYPO3Color/skin/htmlarea.css";s:4:"fec1";s:47:"extensions/TYPO3Color/skin/images/forecolor.gif";s:4:"dbc8";s:49:"extensions/TYPO3Color/skin/images/hilitecolor.gif";s:4:"d97c";s:21:"mod3/browse_links.php";s:4:"5a04";s:42:"mod3/class.tx_rtehtmlarea_browse_links.php";s:4:"10d0";s:46:"mod3/class.tx_rtehtmlarea_dam_browse_links.php";s:4:"ee35";s:14:"mod3/clear.gif";s:4:"cc11";s:13:"mod3/conf.php";s:4:"2f07";s:18:"mod3/locallang.xml";s:4:"040a";s:34:"mod5/class.tx_rtehtmlarea_user.php";s:4:"7629";s:14:"mod5/clear.gif";s:4:"cc11";s:13:"mod5/conf.php";s:4:"b639";s:18:"mod5/locallang.xml";s:4:"7a78";s:13:"mod5/user.php";s:4:"f39d";s:32:"pi3/class.tx_rtehtmlarea_pi3.php";s:4:"8662";s:14:"doc/manual.sxw";s:4:"4e64";s:40:"mod6/class.tx_rtehtmlarea_parse_html.php";s:4:"4af1";s:13:"mod6/conf.php";s:4:"2b05";s:19:"mod6/parse_html.php";s:4:"1fd0";s:29:"static/clickenlarge/setup.txt";s:4:"5681";s:26:"res/contentcss/default.css";s:4:"7446";s:28:"res/contentcss/locallang.xml";s:4:"ec0e";s:39:"res/contentcss/img/red_arrow_bullet.gif";s:4:"82d6";s:25:"res/demo/pageTSConfig.txt";s:4:"9fc9";s:25:"res/demo/userTSConfig.txt";s:4:"cfd5";s:33:"res/clickenlarge/pageTSConfig.txt";s:4:"90c2";s:28:"res/typical/pageTSConfig.txt";s:4:"5d6c";s:28:"res/typical/userTSConfig.txt";s:4:"1ce2";s:26:"res/image/pageTSConfig.txt";s:4:"ca94";s:25:"res/proc/pageTSConfig.txt";s:4:"44eb";s:29:"res/advanced/pageTSConfig.txt";s:4:"1ab3";s:29:"res/advanced/userTSConfig.txt";s:4:"36b6";s:36:"res/accessibilityicons/locallang.xml";s:4:"8211";s:39:"res/accessibilityicons/pageTSConfig.txt";s:4:"9bcb";s:39:"res/accessibilityicons/img/download.gif";s:4:"f6d9";s:44:"res/accessibilityicons/img/external_link.gif";s:4:"9e48";s:55:"res/accessibilityicons/img/external_link_new_window.gif";s:4:"6e8d";s:44:"res/accessibilityicons/img/internal_link.gif";s:4:"12b9";s:55:"res/accessibilityicons/img/internal_link_new_window.gif";s:4:"402a";s:35:"res/accessibilityicons/img/mail.gif";s:4:"d5a2";}',
'version' => '1.7.2',
'_md5_values_when_last_written' => 'a:420:{s:9:"ChangeLog";s:4:"1a70";s:29:"class.tx_rtehtmlarea_base.php";s:4:"bf6d";s:27:"class.tx_rtehtmlareaapi.php";s:4:"4476";s:21:"ext_conf_template.txt";s:4:"1a57";s:12:"ext_icon.gif";s:4:"2f41";s:17:"ext_localconf.php";s:4:"da9b";s:14:"ext_tables.php";s:4:"4f9c";s:14:"ext_tables.sql";s:4:"2d74";s:13:"locallang.xml";s:4:"3cca";s:16:"locallang_db.xml";s:4:"a2a2";s:7:"tca.php";s:4:"3756";s:32:"pi2/class.tx_rtehtmlarea_pi2.php";s:4:"c650";s:17:"pi2/locallang.xml";s:4:"a0a7";s:14:"doc/manual.sxw";s:4:"3cee";s:21:"mod3/browse_links.php";s:4:"5a04";s:42:"mod3/class.tx_rtehtmlarea_browse_links.php";s:4:"10d0";s:46:"mod3/class.tx_rtehtmlarea_dam_browse_links.php";s:4:"ee35";s:14:"mod3/clear.gif";s:4:"cc11";s:13:"mod3/conf.php";s:4:"9f3d";s:18:"mod3/locallang.xml";s:4:"040a";s:29:"htmlarea/HTMLAREA_LICENSE.txt";s:4:"a10f";s:26:"htmlarea/htmlarea-gecko.js";s:4:"b665";s:23:"htmlarea/htmlarea-ie.js";s:4:"2703";s:20:"htmlarea/htmlarea.js";s:4:"a9d2";s:30:"htmlarea/locallang_dialogs.xml";s:4:"eba4";s:26:"htmlarea/locallang_msg.xml";s:4:"7b6f";s:31:"htmlarea/locallang_tooltips.xml";s:4:"8b17";s:20:"htmlarea/popupwin.js";s:4:"d0c9";s:50:"htmlarea/skins/default/htmlarea-edited-content.css";s:4:"8f6d";s:35:"htmlarea/skins/default/htmlarea.css";s:4:"f53c";s:42:"htmlarea/skins/default/images/ed_about.gif";s:4:"2763";s:42:"htmlarea/skins/default/images/ed_blank.gif";s:4:"0208";s:45:"htmlarea/skins/default/images/ed_color_bg.gif";s:4:"c6e2";s:45:"htmlarea/skins/default/images/ed_color_fg.gif";s:4:"5d7f";s:41:"htmlarea/skins/default/images/ed_copy.gif";s:4:"4f55";s:43:"htmlarea/skins/default/images/ed_custom.gif";s:4:"e7b2";s:40:"htmlarea/skins/default/images/ed_cut.gif";s:4:"1b00";s:43:"htmlarea/skins/default/images/ed_delete.gif";s:4:"926b";s:41:"htmlarea/skins/default/images/ed_help.gif";s:4:"e7fc";s:39:"htmlarea/skins/default/images/ed_hr.gif";s:4:"f384";s:41:"htmlarea/skins/default/images/ed_html.gif";s:4:"fa6e";s:42:"htmlarea/skins/default/images/ed_image.gif";s:4:"c0f0";s:50:"htmlarea/skins/default/images/ed_left_to_right.gif";s:4:"1a1f";s:41:"htmlarea/skins/default/images/ed_link.gif";s:4:"db9a";s:48:"htmlarea/skins/default/images/ed_list_bullet.gif";s:4:"5620";s:45:"htmlarea/skins/default/images/ed_list_num.gif";s:4:"eb1c";s:42:"htmlarea/skins/default/images/ed_paste.gif";s:4:"fbd2";s:41:"htmlarea/skins/default/images/ed_redo.gif";s:4:"e9e8";s:50:"htmlarea/skins/default/images/ed_right_to_left.gif";s:4:"2a38";s:41:"htmlarea/skins/default/images/ed_save.gif";s:4:"07ad";s:47:"htmlarea/skins/default/images/ed_splitblock.gif";s:4:"503e";s:45:"htmlarea/skins/default/images/ed_splitcel.gif";s:4:"2c04";s:41:"htmlarea/skins/default/images/ed_undo.gif";s:4:"b9ba";s:43:"htmlarea/skins/default/images/ed_unlink.gif";s:4:"86c4";s:53:"htmlarea/skins/default/images/fullscreen_maximize.gif";s:4:"2118";s:53:"htmlarea/skins/default/images/fullscreen_minimize.gif";s:4:"91d6";s:46:"htmlarea/skins/default/images/insert_table.gif";s:4:"c01b";s:59:"htmlarea/skins/default/images/TYPO3ViewHelp/module_help.gif";s:4:"a500";s:61:"htmlarea/skins/default/images/InlineElements/bidioverride.gif";s:4:"f38b";s:52:"htmlarea/skins/default/images/InlineElements/big.gif";s:4:"779b";s:53:"htmlarea/skins/default/images/InlineElements/bold.gif";s:4:"06ac";s:57:"htmlarea/skins/default/images/InlineElements/citation.gif";s:4:"b6eb";s:53:"htmlarea/skins/default/images/InlineElements/code.gif";s:4:"6057";s:59:"htmlarea/skins/default/images/InlineElements/definition.gif";s:4:"692d";s:60:"htmlarea/skins/default/images/InlineElements/deletedtext.gif";s:4:"4eec";s:57:"htmlarea/skins/default/images/InlineElements/emphasis.gif";s:4:"04c9";s:61:"htmlarea/skins/default/images/InlineElements/insertedtext.gif";s:4:"a624";s:55:"htmlarea/skins/default/images/InlineElements/italic.gif";s:4:"be83";s:57:"htmlarea/skins/default/images/InlineElements/keyboard.gif";s:4:"53ac";s:59:"htmlarea/skins/default/images/InlineElements/monospaced.gif";s:4:"78c0";s:58:"htmlarea/skins/default/images/InlineElements/quotation.gif";s:4:"7c62";s:55:"htmlarea/skins/default/images/InlineElements/sample.gif";s:4:"667c";s:54:"htmlarea/skins/default/images/InlineElements/small.gif";s:4:"e013";s:53:"htmlarea/skins/default/images/InlineElements/span.gif";s:4:"0dfa";s:62:"htmlarea/skins/default/images/InlineElements/strikethrough.gif";s:4:"73b1";s:55:"htmlarea/skins/default/images/InlineElements/strong.gif";s:4:"7f50";s:58:"htmlarea/skins/default/images/InlineElements/subscript.gif";s:4:"36c0";s:60:"htmlarea/skins/default/images/InlineElements/superscript.gif";s:4:"40c4";s:58:"htmlarea/skins/default/images/InlineElements/underline.gif";s:4:"dfac";s:57:"htmlarea/skins/default/images/InlineElements/variable.gif";s:4:"da61";s:54:"htmlarea/skins/default/images/QuickTag/ed_quicktag.gif";s:4:"a463";s:58:"htmlarea/skins/default/images/SpellChecker/spell-check.gif";s:4:"6e0a";s:58:"htmlarea/skins/default/images/BlockElements/blockquote.gif";s:4:"34dc";s:54:"htmlarea/skins/default/images/BlockElements/indent.gif";s:4:"57df";s:68:"htmlarea/skins/default/images/BlockElements/insertParagraphAfter.gif";s:4:"e335";s:69:"htmlarea/skins/default/images/BlockElements/insertParagraphBefore.gif";s:4:"9c42";s:61:"htmlarea/skins/default/images/BlockElements/justifyCenter.gif";s:4:"420d";s:59:"htmlarea/skins/default/images/BlockElements/justifyFull.gif";s:4:"b129";s:59:"htmlarea/skins/default/images/BlockElements/justifyLeft.gif";s:4:"3799";s:60:"htmlarea/skins/default/images/BlockElements/justifyRight.gif";s:4:"0662";s:55:"htmlarea/skins/default/images/BlockElements/outdent.gif";s:4:"4786";s:56:"htmlarea/skins/default/images/TYPO3Browsers/ed_image.gif";s:4:"c0f0";s:55:"htmlarea/skins/default/images/TYPO3Browsers/ed_link.gif";s:4:"db9a";s:57:"htmlarea/skins/default/images/TYPO3Browsers/ed_unlink.gif";s:4:"86c4";s:54:"htmlarea/skins/default/images/UserElements/ed_user.gif";s:4:"bbb4";s:58:"htmlarea/skins/default/images/SelectColor/CO-forecolor.gif";s:4:"dbc8";s:60:"htmlarea/skins/default/images/SelectColor/CO-hilitecolor.gif";s:4:"d97c";s:56:"htmlarea/skins/default/images/InsertSmiley/ed_smiley.gif";s:4:"c331";s:52:"htmlarea/skins/default/images/Acronym/ed_acronym.gif";s:4:"1eaa";s:55:"htmlarea/skins/default/images/RemoveFormat/ed_clean.gif";s:4:"2a0f";s:53:"htmlarea/skins/default/images/FindReplace/ed_find.gif";s:4:"827f";s:61:"htmlarea/skins/default/images/TableOperations/cell-delete.gif";s:4:"f371";s:67:"htmlarea/skins/default/images/TableOperations/cell-insert-after.gif";s:4:"2dd2";s:68:"htmlarea/skins/default/images/TableOperations/cell-insert-before.gif";s:4:"5d13";s:60:"htmlarea/skins/default/images/TableOperations/cell-merge.gif";s:4:"a2d2";s:59:"htmlarea/skins/default/images/TableOperations/cell-prop.gif";s:4:"ca41";s:60:"htmlarea/skins/default/images/TableOperations/cell-split.gif";s:4:"d87c";s:60:"htmlarea/skins/default/images/TableOperations/col-delete.gif";s:4:"da78";s:66:"htmlarea/skins/default/images/TableOperations/col-insert-after.gif";s:4:"80d8";s:67:"htmlarea/skins/default/images/TableOperations/col-insert-before.gif";s:4:"d47d";s:58:"htmlarea/skins/default/images/TableOperations/col-prop.gif";s:4:"b178";s:59:"htmlarea/skins/default/images/TableOperations/col-split.gif";s:4:"eacc";s:62:"htmlarea/skins/default/images/TableOperations/insert_table.gif";s:4:"c1db";s:60:"htmlarea/skins/default/images/TableOperations/row-delete.gif";s:4:"a289";s:66:"htmlarea/skins/default/images/TableOperations/row-insert-above.gif";s:4:"1ef1";s:66:"htmlarea/skins/default/images/TableOperations/row-insert-after.gif";s:4:"5e98";s:66:"htmlarea/skins/default/images/TableOperations/row-insert-under.gif";s:4:"9ad6";s:58:"htmlarea/skins/default/images/TableOperations/row-prop.gif";s:4:"5344";s:59:"htmlarea/skins/default/images/TableOperations/row-split.gif";s:4:"a712";s:60:"htmlarea/skins/default/images/TableOperations/table-prop.gif";s:4:"0a5c";s:63:"htmlarea/skins/default/images/TableOperations/table-restyle.gif";s:4:"9284";s:64:"htmlarea/skins/default/images/TableOperations/toggle-borders.gif";s:4:"50cb";s:57:"htmlarea/skins/default/images/CharacterMap/ed_charmap.gif";s:4:"af19";s:50:"htmlarea/plugins/InlineElements/inline-elements.js";s:4:"f48b";s:45:"htmlarea/plugins/InlineElements/locallang.xml";s:4:"6f8c";s:39:"htmlarea/plugins/QuickTag/locallang.xml";s:4:"2f53";s:38:"htmlarea/plugins/QuickTag/quick-tag.js";s:4:"f93b";s:36:"htmlarea/plugins/QuickTag/tag-lib.js";s:4:"ba71";s:46:"htmlarea/plugins/QuickTag/popups/quicktag.html";s:4:"34c7";s:43:"htmlarea/plugins/SpellChecker/locallang.xml";s:4:"20d8";s:51:"htmlarea/plugins/SpellChecker/spell-check-logic.php";s:4:"b9ad";s:51:"htmlarea/plugins/SpellChecker/spell-check-style.css";s:4:"82bd";s:47:"htmlarea/plugins/SpellChecker/spell-check-ui.js";s:4:"8b56";s:46:"htmlarea/plugins/SpellChecker/spell-checker.js";s:4:"f0c8";s:67:"htmlarea/plugins/SpellChecker/popups/spell-check-ui-iso-8859-1.html";s:4:"8f86";s:56:"htmlarea/plugins/SpellChecker/popups/spell-check-ui.html";s:4:"96d3";s:41:"htmlarea/plugins/TYPO3Color/locallang.xml";s:4:"3d3c";s:41:"htmlarea/plugins/TYPO3Color/typo3color.js";s:4:"43ee";s:44:"htmlarea/plugins/AboutEditor/about-editor.js";s:4:"34be";s:42:"htmlarea/plugins/AboutEditor/locallang.xml";s:4:"6dab";s:46:"htmlarea/plugins/AboutEditor/popups/about.html";s:4:"0800";s:46:"htmlarea/plugins/DefaultImage/default-image.js";s:4:"4f07";s:43:"htmlarea/plugins/DefaultImage/locallang.xml";s:4:"1fdd";s:54:"htmlarea/plugins/DefaultImage/popups/insert_image.html";s:4:"7b8b";s:40:"htmlarea/plugins/TextStyle/locallang.xml";s:4:"ff67";s:40:"htmlarea/plugins/TextStyle/text-style.js";s:4:"2f3f";s:46:"htmlarea/plugins/TYPO3HtmlParser/locallang.xml";s:4:"8010";s:52:"htmlarea/plugins/TYPO3HtmlParser/typo3html-parser.js";s:4:"2ac1";s:39:"htmlarea/plugins/InlineCSS/inlinecss.js";s:4:"460b";s:40:"htmlarea/plugins/InlineCSS/locallang.xml";s:4:"5dec";s:48:"htmlarea/plugins/BlockElements/block-elements.js";s:4:"06ca";s:44:"htmlarea/plugins/BlockElements/locallang.xml";s:4:"2f2c";s:42:"htmlarea/plugins/BlockStyle/block-style.js";s:4:"8ce4";s:41:"htmlarea/plugins/BlockStyle/locallang.xml";s:4:"32ed";s:44:"htmlarea/plugins/TYPO3Browsers/locallang.xml";s:4:"89b8";s:47:"htmlarea/plugins/TYPO3Browsers/typo3browsers.js";s:4:"3afe";s:47:"htmlarea/plugins/TYPO3Browsers/img/download.gif";s:4:"f6d9";s:52:"htmlarea/plugins/TYPO3Browsers/img/external_link.gif";s:4:"9e48";s:63:"htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif";s:4:"6e8d";s:52:"htmlarea/plugins/TYPO3Browsers/img/internal_link.gif";s:4:"12b9";s:63:"htmlarea/plugins/TYPO3Browsers/img/internal_link_new_window.gif";s:4:"402a";s:43:"htmlarea/plugins/TYPO3Browsers/img/mail.gif";s:4:"d5a2";s:43:"htmlarea/plugins/UserElements/locallang.xml";s:4:"33f9";s:46:"htmlarea/plugins/UserElements/user-elements.js";s:4:"91ca";s:42:"htmlarea/plugins/DynamicCSS/dynamiccss.css";s:4:"8e7b";s:41:"htmlarea/plugins/DynamicCSS/dynamiccss.js";s:4:"1861";s:41:"htmlarea/plugins/DynamicCSS/locallang.xml";s:4:"b6bf";s:52:"htmlarea/plugins/DynamicCSS/img/red_arrow_bullet.gif";s:4:"82d6";s:42:"htmlarea/plugins/SelectColor/locallang.xml";s:4:"9f9e";s:44:"htmlarea/plugins/SelectColor/select-color.js";s:4:"749b";s:44:"htmlarea/plugins/DefaultFont/default-font.js";s:4:"8f2d";s:42:"htmlarea/plugins/DefaultFont/locallang.xml";s:4:"a7f8";s:46:"htmlarea/plugins/InsertSmiley/insert-smiley.js";s:4:"abba";s:43:"htmlarea/plugins/InsertSmiley/locallang.xml";s:4:"ed64";s:54:"htmlarea/plugins/InsertSmiley/popups/insertsmiley.html";s:4:"27dd";s:46:"htmlarea/plugins/InsertSmiley/smileys/0001.gif";s:4:"4aff";s:46:"htmlarea/plugins/InsertSmiley/smileys/0002.gif";s:4:"02c4";s:46:"htmlarea/plugins/InsertSmiley/smileys/0003.gif";s:4:"834f";s:46:"htmlarea/plugins/InsertSmiley/smileys/0004.gif";s:4:"fb6a";s:46:"htmlarea/plugins/InsertSmiley/smileys/0005.gif";s:4:"2a48";s:46:"htmlarea/plugins/InsertSmiley/smileys/0006.gif";s:4:"f970";s:46:"htmlarea/plugins/InsertSmiley/smileys/0007.gif";s:4:"97ee";s:46:"htmlarea/plugins/InsertSmiley/smileys/0008.gif";s:4:"10a6";s:46:"htmlarea/plugins/InsertSmiley/smileys/0009.gif";s:4:"1907";s:46:"htmlarea/plugins/InsertSmiley/smileys/0010.gif";s:4:"9ee6";s:46:"htmlarea/plugins/InsertSmiley/smileys/0011.gif";s:4:"ae73";s:46:"htmlarea/plugins/InsertSmiley/smileys/0012.gif";s:4:"f058";s:46:"htmlarea/plugins/InsertSmiley/smileys/0013.gif";s:4:"3ed8";s:46:"htmlarea/plugins/InsertSmiley/smileys/0014.gif";s:4:"a948";s:46:"htmlarea/plugins/InsertSmiley/smileys/0015.gif";s:4:"218d";s:46:"htmlarea/plugins/InsertSmiley/smileys/0016.gif";s:4:"3539";s:46:"htmlarea/plugins/InsertSmiley/smileys/0017.gif";s:4:"ee2e";s:46:"htmlarea/plugins/InsertSmiley/smileys/0018.gif";s:4:"8c66";s:46:"htmlarea/plugins/InsertSmiley/smileys/0019.gif";s:4:"ac36";s:46:"htmlarea/plugins/InsertSmiley/smileys/0020.gif";s:4:"71ef";s:44:"htmlarea/plugins/ContextMenu/context-menu.js";s:4:"77ce";s:42:"htmlarea/plugins/ContextMenu/locallang.xml";s:4:"3ead";s:41:"htmlarea/plugins/TYPO3Image/locallang.xml";s:4:"ab27";s:41:"htmlarea/plugins/TYPO3Image/typo3image.js";s:4:"3bf5";s:46:"htmlarea/plugins/DefaultColor/default-color.js";s:4:"8621";s:43:"htmlarea/plugins/DefaultColor/locallang.xml";s:4:"c8d1";s:54:"htmlarea/plugins/DefaultColor/popups/select_color.html";s:4:"6c3c";s:35:"htmlarea/plugins/Acronym/acronym.js";s:4:"9895";s:38:"htmlarea/plugins/Acronym/locallang.xml";s:4:"fead";s:46:"htmlarea/plugins/DefaultClean/default-clean.js";s:4:"a2d4";s:43:"htmlarea/plugins/DefaultClean/locallang.xml";s:4:"9e62";s:43:"htmlarea/plugins/RemoveFormat/locallang.xml";s:4:"aa85";s:46:"htmlarea/plugins/RemoveFormat/remove-format.js";s:4:"0c90";s:54:"htmlarea/plugins/RemoveFormat/popups/removeformat.html";s:4:"a3b1";s:44:"htmlarea/plugins/DefaultLink/default-link.js";s:4:"09c2";s:42:"htmlarea/plugins/DefaultLink/locallang.xml";s:4:"e233";s:45:"htmlarea/plugins/DefaultLink/popups/link.html";s:4:"21eb";s:37:"htmlarea/plugins/Language/language.js";s:4:"d2ac";s:39:"htmlarea/plugins/Language/locallang.xml";s:4:"9ca8";s:44:"htmlarea/plugins/FindReplace/find-replace.js";s:4:"ab77";s:41:"htmlarea/plugins/FindReplace/fr_engine.js";s:4:"095f";s:42:"htmlarea/plugins/FindReplace/locallang.xml";s:4:"f836";s:53:"htmlarea/plugins/FindReplace/popups/find_replace.html";s:4:"8d1e";s:48:"htmlarea/plugins/DefaultInline/default-inline.js";s:4:"9875";s:44:"htmlarea/plugins/DefaultInline/locallang.xml";s:4:"7b16";s:40:"htmlarea/plugins/TYPO3Link/locallang.xml";s:4:"c39b";s:39:"htmlarea/plugins/TYPO3Link/typo3link.js";s:4:"f1ac";s:46:"htmlarea/plugins/TableOperations/locallang.xml";s:4:"e7ed";s:52:"htmlarea/plugins/TableOperations/table-operations.js";s:4:"0e5f";s:57:"htmlarea/plugins/TableOperations/popups/insert_table.html";s:4:"9c35";s:46:"htmlarea/plugins/CharacterMap/character-map.js";s:4:"c653";s:43:"htmlarea/plugins/CharacterMap/locallang.xml";s:4:"1feb";s:58:"htmlarea/plugins/CharacterMap/popups/select_character.html";s:4:"a909";s:26:"htmlarea/popups/about.html";s:4:"48fe";s:26:"htmlarea/popups/blank.html";s:4:"e697";s:32:"htmlarea/popups/editor_help.html";s:4:"398a";s:33:"htmlarea/popups/insert_image.html";s:4:"bfc1";s:33:"htmlarea/popups/insert_table.html";s:4:"983d";s:25:"htmlarea/popups/link.html";s:4:"c122";s:24:"htmlarea/popups/popup.js";s:4:"4861";s:33:"htmlarea/popups/select_color.html";s:4:"ceba";s:34:"mod5/class.tx_rtehtmlarea_user.php";s:4:"7629";s:14:"mod5/clear.gif";s:4:"cc11";s:13:"mod5/conf.php";s:4:"9162";s:18:"mod5/locallang.xml";s:4:"7a78";s:13:"mod5/user.php";s:4:"f39d";s:32:"pi1/class.tx_rtehtmlarea_pi1.php";s:4:"c05e";s:17:"pi1/locallang.xml";s:4:"2e58";s:46:"mod4/class.tx_rtehtmlarea_dam_browse_media.php";s:4:"6e41";s:42:"mod4/class.tx_rtehtmlarea_select_image.php";s:4:"80dc";s:14:"mod4/clear.gif";s:4:"cc11";s:13:"mod4/conf.php";s:4:"3903";s:18:"mod4/locallang.xml";s:4:"8995";s:21:"mod4/select_image.php";s:4:"a36c";s:32:"pi3/class.tx_rtehtmlarea_pi3.php";s:4:"8662";s:16:"mod2/acronym.php";s:4:"7e21";s:37:"mod2/class.tx_rtehtmlarea_acronym.php";s:4:"a955";s:41:"mod2/class.tx_rtehtmlarea_acronym_mod.php";s:4:"1e3f";s:14:"mod2/clear.gif";s:4:"cc11";s:13:"mod2/conf.php";s:4:"0231";s:18:"mod2/locallang.xml";s:4:"7dee";s:33:"res/clickenlarge/pageTSConfig.txt";s:4:"90c2";s:26:"res/image/pageTSConfig.txt";s:4:"ca94";s:25:"res/demo/pageTSConfig.txt";s:4:"9fc9";s:25:"res/demo/userTSConfig.txt";s:4:"cfd5";s:26:"res/contentcss/default.css";s:4:"7446";s:28:"res/contentcss/locallang.xml";s:4:"ec0e";s:39:"res/contentcss/img/red_arrow_bullet.gif";s:4:"82d6";s:29:"res/advanced/pageTSConfig.txt";s:4:"1ab3";s:29:"res/advanced/userTSConfig.txt";s:4:"36b6";s:32:"res/indentalign/pageTSConfig.txt";s:4:"14d5";s:25:"res/proc/pageTSConfig.txt";s:4:"0693";s:36:"res/accessibilityicons/locallang.xml";s:4:"8211";s:39:"res/accessibilityicons/pageTSConfig.txt";s:4:"9bcb";s:39:"res/accessibilityicons/img/download.gif";s:4:"f6d9";s:44:"res/accessibilityicons/img/external_link.gif";s:4:"9e48";s:55:"res/accessibilityicons/img/external_link_new_window.gif";s:4:"6e8d";s:44:"res/accessibilityicons/img/internal_link.gif";s:4:"12b9";s:55:"res/accessibilityicons/img/internal_link_new_window.gif";s:4:"402a";s:35:"res/accessibilityicons/img/mail.gif";s:4:"d5a2";s:28:"res/typical/pageTSConfig.txt";s:4:"5d6c";s:28:"res/typical/userTSConfig.txt";s:4:"1ce2";s:40:"mod6/class.tx_rtehtmlarea_parse_html.php";s:4:"4af1";s:13:"mod6/conf.php";s:4:"e430";s:19:"mod6/parse_html.php";s:4:"1fd0";s:29:"static/clickenlarge/setup.txt";s:4:"5681";s:65:"extensions/InlineElements/class.tx_rtehtmlarea_inlineelements.php";s:4:"4d23";s:39:"extensions/InlineElements/locallang.xml";s:4:"07c6";s:43:"extensions/InlineElements/skin/htmlarea.css";s:4:"978b";s:54:"extensions/InlineElements/skin/images/bidioverride.gif";s:4:"f38b";s:45:"extensions/InlineElements/skin/images/big.gif";s:4:"779b";s:46:"extensions/InlineElements/skin/images/bold.gif";s:4:"06ac";s:50:"extensions/InlineElements/skin/images/citation.gif";s:4:"b6eb";s:46:"extensions/InlineElements/skin/images/code.gif";s:4:"6057";s:52:"extensions/InlineElements/skin/images/definition.gif";s:4:"692d";s:53:"extensions/InlineElements/skin/images/deletedtext.gif";s:4:"4eec";s:50:"extensions/InlineElements/skin/images/emphasis.gif";s:4:"04c9";s:54:"extensions/InlineElements/skin/images/insertedtext.gif";s:4:"a624";s:48:"extensions/InlineElements/skin/images/italic.gif";s:4:"be83";s:50:"extensions/InlineElements/skin/images/keyboard.gif";s:4:"53ac";s:52:"extensions/InlineElements/skin/images/monospaced.gif";s:4:"78c0";s:51:"extensions/InlineElements/skin/images/quotation.gif";s:4:"7c62";s:48:"extensions/InlineElements/skin/images/sample.gif";s:4:"667c";s:47:"extensions/InlineElements/skin/images/small.gif";s:4:"e013";s:46:"extensions/InlineElements/skin/images/span.gif";s:4:"0dfa";s:55:"extensions/InlineElements/skin/images/strikethrough.gif";s:4:"73b1";s:48:"extensions/InlineElements/skin/images/strong.gif";s:4:"7f50";s:51:"extensions/InlineElements/skin/images/subscript.gif";s:4:"36c0";s:53:"extensions/InlineElements/skin/images/superscript.gif";s:4:"40c4";s:51:"extensions/InlineElements/skin/images/underline.gif";s:4:"dfac";s:50:"extensions/InlineElements/skin/images/variable.gif";s:4:"da61";s:46:"extensions/InlineElements/res/pageTSConfig.txt";s:4:"8267";s:53:"extensions/QuickTag/class.tx_rtehtmlarea_quicktag.php";s:4:"b5f7";s:37:"extensions/QuickTag/skin/htmlarea.css";s:4:"fc28";s:45:"extensions/QuickTag/skin/images/inserttag.gif";s:4:"a463";s:61:"extensions/SpellChecker/class.tx_rtehtmlarea_spellchecker.php";s:4:"c300";s:41:"extensions/SpellChecker/skin/htmlarea.css";s:4:"cedf";s:51:"extensions/SpellChecker/skin/images/spell-check.gif";s:4:"6e0a";s:57:"extensions/TYPO3Color/class.tx_rtehtmlarea_typo3color.php";s:4:"3388";s:35:"extensions/TYPO3Color/locallang.xml";s:4:"377f";s:39:"extensions/TYPO3Color/skin/htmlarea.css";s:4:"fec1";s:47:"extensions/TYPO3Color/skin/images/forecolor.gif";s:4:"dbc8";s:49:"extensions/TYPO3Color/skin/images/hilitecolor.gif";s:4:"d97c";s:59:"extensions/AboutEditor/class.tx_rtehtmlarea_abouteditor.php";s:4:"ec48";s:40:"extensions/AboutEditor/skin/htmlarea.css";s:4:"eb62";s:44:"extensions/AboutEditor/skin/images/about.gif";s:4:"1690";s:61:"extensions/DefaultImage/class.tx_rtehtmlarea_defaultimage.php";s:4:"32d8";s:41:"extensions/DefaultImage/skin/htmlarea.css";s:4:"eb4c";s:45:"extensions/DefaultImage/skin/images/image.gif";s:4:"c0f0";s:55:"extensions/TextStyle/class.tx_rtehtmlarea_textstyle.php";s:4:"cc5d";s:34:"extensions/TextStyle/locallang.xml";s:4:"23dd";s:67:"extensions/TYPO3HtmlParser/class.tx_rtehtmlarea_typo3htmlparser.php";s:4:"7958";s:55:"extensions/InlineCSS/class.tx_rtehtmlarea_inlinecss.php";s:4:"710a";s:34:"extensions/InlineCSS/locallang.xml";s:4:"82ed";s:63:"extensions/BlockElements/class.tx_rtehtmlarea_blockelements.php";s:4:"eca9";s:38:"extensions/BlockElements/locallang.xml";s:4:"8a29";s:42:"extensions/BlockElements/skin/htmlarea.css";s:4:"83ce";s:51:"extensions/BlockElements/skin/images/blockquote.gif";s:4:"34dc";s:47:"extensions/BlockElements/skin/images/indent.gif";s:4:"57df";s:58:"extensions/BlockElements/skin/images/insertOrderedList.gif";s:4:"eb1c";s:61:"extensions/BlockElements/skin/images/insertParagraphAfter.gif";s:4:"e335";s:62:"extensions/BlockElements/skin/images/insertParagraphBefore.gif";s:4:"9c42";s:60:"extensions/BlockElements/skin/images/insertUnorderedList.gif";s:4:"5620";s:54:"extensions/BlockElements/skin/images/justifyCenter.gif";s:4:"420d";s:52:"extensions/BlockElements/skin/images/justifyFull.gif";s:4:"b129";s:52:"extensions/BlockElements/skin/images/justifyLeft.gif";s:4:"3799";s:53:"extensions/BlockElements/skin/images/justifyRight.gif";s:4:"0662";s:48:"extensions/BlockElements/skin/images/outdent.gif";s:4:"4786";s:57:"extensions/BlockStyle/class.tx_rtehtmlarea_blockstyle.php";s:4:"a516";s:35:"extensions/BlockStyle/locallang.xml";s:4:"26b8";s:61:"extensions/UserElements/class.tx_rtehtmlarea_userelements.php";s:4:"82ed";s:41:"extensions/UserElements/skin/htmlarea.css";s:4:"d015";s:44:"extensions/UserElements/skin/images/user.gif";s:4:"bbb4";s:57:"extensions/DynamicCSS/class.tx_rtehtmlarea_dynamiccss.php";s:4:"6226";s:35:"extensions/DynamicCSS/locallang.xml";s:4:"26b8";s:59:"extensions/DefaultFont/class.tx_rtehtmlarea_defaultfont.php";s:4:"a026";s:36:"extensions/DefaultFont/locallang.xml";s:4:"8c90";s:61:"extensions/InsertSmiley/class.tx_rtehtmlarea_insertsmiley.php";s:4:"5ad3";s:41:"extensions/InsertSmiley/skin/htmlarea.css";s:4:"fb52";s:46:"extensions/InsertSmiley/skin/images/smiley.gif";s:4:"c331";s:57:"extensions/TYPO3Image/class.tx_rtehtmlarea_typo3image.php";s:4:"711d";s:39:"extensions/TYPO3Image/skin/htmlarea.css";s:4:"fa33";s:43:"extensions/TYPO3Image/skin/images/image.gif";s:4:"c0f0";s:61:"extensions/DefaultColor/class.tx_rtehtmlarea_defaultcolor.php";s:4:"b4ef";s:37:"extensions/DefaultColor/locallang.xml";s:4:"3fb4";s:41:"extensions/DefaultColor/skin/htmlarea.css";s:4:"4759";s:49:"extensions/DefaultColor/skin/images/forecolor.gif";s:4:"dbc8";s:51:"extensions/DefaultColor/skin/images/hilitecolor.gif";s:4:"d97c";s:51:"extensions/Acronym/class.tx_rtehtmlarea_acronym.php";s:4:"8021";s:36:"extensions/Acronym/skin/htmlarea.css";s:4:"6cf9";s:42:"extensions/Acronym/skin/images/acronym.gif";s:4:"1eaa";s:61:"extensions/DefaultClean/class.tx_rtehtmlarea_defaultclean.php";s:4:"59a6";s:61:"extensions/RemoveFormat/class.tx_rtehtmlarea_removeformat.php";s:4:"497d";s:41:"extensions/RemoveFormat/skin/htmlarea.css";s:4:"be33";s:45:"extensions/RemoveFormat/skin/images/clean.gif";s:4:"2a0f";s:59:"extensions/DefaultLink/class.tx_rtehtmlarea_defaultlink.php";s:4:"1c36";s:40:"extensions/DefaultLink/skin/htmlarea.css";s:4:"883b";s:43:"extensions/DefaultLink/skin/images/link.gif";s:4:"db9a";s:45:"extensions/DefaultLink/skin/images/unlink.gif";s:4:"86c4";s:53:"extensions/Language/class.tx_rtehtmlarea_language.php";s:4:"7325";s:37:"extensions/Language/skin/htmlarea.css";s:4:"f6b2";s:49:"extensions/Language/skin/images/left_to_right.gif";s:4:"1a1f";s:49:"extensions/Language/skin/images/right_to_left.gif";s:4:"2a38";s:59:"extensions/FindReplace/class.tx_rtehtmlarea_findreplace.php";s:4:"8d67";s:40:"extensions/FindReplace/skin/htmlarea.css";s:4:"43cc";s:43:"extensions/FindReplace/skin/images/find.gif";s:4:"827f";s:63:"extensions/DefaultInline/class.tx_rtehtmlarea_defaultinline.php";s:4:"f271";s:38:"extensions/DefaultInline/locallang.xml";s:4:"e592";s:42:"extensions/DefaultInline/skin/htmlarea.css";s:4:"5b38";s:45:"extensions/DefaultInline/skin/images/bold.gif";s:4:"94f2";s:47:"extensions/DefaultInline/skin/images/italic.gif";s:4:"f60c";s:54:"extensions/DefaultInline/skin/images/strikethrough.gif";s:4:"3fd0";s:50:"extensions/DefaultInline/skin/images/subscript.gif";s:4:"cedd";s:52:"extensions/DefaultInline/skin/images/superscript.gif";s:4:"8aea";s:50:"extensions/DefaultInline/skin/images/underline.gif";s:4:"81e6";s:55:"extensions/TYPO3Link/class.tx_rtehtmlarea_typo3link.php";s:4:"6c51";s:38:"extensions/TYPO3Link/skin/htmlarea.css";s:4:"2a46";s:41:"extensions/TYPO3Link/skin/images/link.gif";s:4:"db9a";s:43:"extensions/TYPO3Link/skin/images/unlink.gif";s:4:"86c4";s:67:"extensions/TableOperations/class.tx_rtehtmlarea_tableoperations.php";s:4:"d724";s:44:"extensions/TableOperations/skin/htmlarea.css";s:4:"7022";s:54:"extensions/TableOperations/skin/images/cell-delete.gif";s:4:"f371";s:60:"extensions/TableOperations/skin/images/cell-insert-after.gif";s:4:"2dd2";s:61:"extensions/TableOperations/skin/images/cell-insert-before.gif";s:4:"5d13";s:53:"extensions/TableOperations/skin/images/cell-merge.gif";s:4:"cb52";s:52:"extensions/TableOperations/skin/images/cell-prop.gif";s:4:"ca41";s:53:"extensions/TableOperations/skin/images/cell-split.gif";s:4:"0095";s:53:"extensions/TableOperations/skin/images/col-delete.gif";s:4:"da78";s:59:"extensions/TableOperations/skin/images/col-insert-after.gif";s:4:"80d8";s:60:"extensions/TableOperations/skin/images/col-insert-before.gif";s:4:"d47d";s:51:"extensions/TableOperations/skin/images/col-prop.gif";s:4:"b178";s:52:"extensions/TableOperations/skin/images/col-split.gif";s:4:"c168";s:55:"extensions/TableOperations/skin/images/insert_table.gif";s:4:"c01b";s:53:"extensions/TableOperations/skin/images/row-delete.gif";s:4:"a289";s:59:"extensions/TableOperations/skin/images/row-insert-above.gif";s:4:"1ef1";s:59:"extensions/TableOperations/skin/images/row-insert-under.gif";s:4:"9ad6";s:51:"extensions/TableOperations/skin/images/row-prop.gif";s:4:"5344";s:52:"extensions/TableOperations/skin/images/row-split.gif";s:4:"ebfd";s:53:"extensions/TableOperations/skin/images/table-prop.gif";s:4:"0a5c";s:56:"extensions/TableOperations/skin/images/table-restyle.gif";s:4:"9284";s:57:"extensions/TableOperations/skin/images/toggle-borders.gif";s:4:"50cb";s:61:"extensions/CharacterMap/class.tx_rtehtmlarea_charactermap.php";s:4:"d2a0";s:37:"extensions/CharacterMap/locallang.xml";s:4:"c9d1";s:41:"extensions/CharacterMap/skin/htmlarea.css";s:4:"04d1";s:55:"extensions/CharacterMap/skin/images/insertCharacter.gif";s:4:"af19";}',
'constraints' => array(
'depends' => array(
'cms' => '',
'php' => '5.2.0-0.0.0',
'php' => '5.2-0.0.0',
'typo3' => '4.2-0.0.0',
),
'conflicts' => array(
typo3/sysext/rtehtmlarea/extensions/TableOperations/class.tx_rtehtmlarea_tableoperations.php (working copy)
protected $thisConfig; // Reference to RTE PageTSConfig
protected $toolbar; // Reference to RTE toolbar array
protected $LOCAL_LANG; // Frontend language array
protected $requiresClassesConfiguration = true; // True if the registered plugin requires the PageTSConfig Classes configuration
protected $pluginButtons = 'table, toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit,
columninsertbefore, columninsertafter, columndelete, columnsplit,
protected $pluginButtons = 'table, toggleborders, tableproperties, tablerestyle, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit,
columnproperties, columninsertbefore, columninsertafter, columndelete, columnsplit,
cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge';
protected $convertToolbarForHtmlAreaArray = array (
'table' => 'InsertTable',
'toggleborders' => 'TO-toggle-borders',
'tableproperties' => 'TO-table-prop',
'tablerestyle' => 'TO-table-restyle',
'rowproperties' => 'TO-row-prop',
'rowinsertabove' => 'TO-row-insert-above',
'rowinsertunder' => 'TO-row-insert-under',
'rowdelete' => 'TO-row-delete',
'rowsplit' => 'TO-row-split',
'columnproperties' => 'TO-col-prop',
'columninsertbefore' => 'TO-col-insert-before',
'columninsertafter' => 'TO-col-insert-after',
'columndelete' => 'TO-col-delete',
......
$registerRTEinJavascriptString = '';
if (in_array('table', $this->toolbar)) {
// Combining fieldset disablers as a list
$disabledFieldsets = array('Alignment', 'Borders', 'Color', 'Description', 'Layout', 'RowGroup', 'Spacing', 'Style');
foreach ($disabledFieldsets as $index => $fieldset) {
if (!trim($this->thisConfig['disable'.$fieldset.'FieldsetInTableOperations'])) {
unset($disabledFieldsets[$index]);
}
}
$disabledFieldsets = strtolower(implode(',', $disabledFieldsets));
// Dialogue fieldsets removal configuration
$dialogues = array('table', 'tableproperties', 'rowproperties', 'columnproperties', 'cellproperties');
foreach ($dialogues as $dialogue) {
if (!is_array( $this->thisConfig['buttons.']) || !is_array( $this->thisConfig['buttons.'][$dialogue.'.'])) {
$registerRTEinJavascriptString .= '
RTEarea['.$RTEcounter.'].buttons.'.$dialogue.' = new Object();
RTEarea['.$RTEcounter.'].buttons.'.$dialogue.'.removeFieldsets = "' . $disabledFieldsets . '";';
} else if ($this->thisConfig['buttons.'][$dialogue.'.']['removeFieldsets']) {
$registerRTEinJavascriptString .= '
RTEarea['.$RTEcounter.'].buttons.'.$dialogue.'.removeFieldsets += ",' . $disabledFieldsets . '";';
} else {
$registerRTEinJavascriptString .= '
RTEarea['.$RTEcounter.'].buttons.'.$dialogue.'.removeFieldsets = ",' . $disabledFieldsets . '";';
}
}
$registerRTEinJavascriptString .= '
RTEarea['.$RTEcounter.'].hideTableOperationsInToolbar = ' . (trim($this->thisConfig['hideTableOperationsInToolbar']) ? 'true' : 'false') . ';
RTEarea['.$RTEcounter.'].disableLayoutFieldsetInTableOperations = ' . (trim($this->thisConfig['disableLayoutFieldsetInTableOperations'])?'true':'false') . ';
RTEarea['.$RTEcounter.'].disableAlignmentFieldsetInTableOperations = ' . (trim($this->thisConfig['disableAlignmentFieldsetInTableOperations'])?'true':'false') . ';
RTEarea['.$RTEcounter.'].disableSpacingFieldsetInTableOperations = ' . (trim($this->thisConfig['disableSpacingFieldsetInTableOperations'])?'true':'false') . ';
RTEarea['.$RTEcounter.'].disableBordersFieldsetInTableOperations = ' . (trim($this->thisConfig['disableBordersFieldsetInTableOperations'])?'true':'false') . ';
RTEarea['.$RTEcounter.'].disableColorFieldsetInTableOperations = ' . (trim($this->thisConfig['disableColorFieldsetInTableOperations'])?'true':'false') . ';';
RTEarea['.$RTEcounter.'].hideTableOperationsInToolbar = ' . (trim($this->thisConfig['hideTableOperationsInToolbar']) ? 'true' : 'false') . ';';
// Deprecated toggleborders button configuration
if (in_array('toggleborders',$this->toolbar) && $this->thisConfig['keepToggleBordersInToolbar']) {
typo3/sysext/rtehtmlarea/extensions/TableOperations/skin/htmlarea.css (working copy)
/* Selectors for the Table Operations extension of htmlArea RTE */
/* TYPO3 SVN ID: $Id $ */
/* TYPO3 SVN ID: $Id: htmlarea.css $ */
.htmlarea .toolbar .InsertTable {background-image:url("images/insert_table.gif");}
.htmlarea .toolbar .TO-toggle-borders, .htmlarea-context-menu .TO-toggle-borders {background-image:url("images/TableOperations/toggle-borders.gif");}
.htmlarea .toolbar .TO-table-prop, .htmlarea-context-menu .TO-table-prop {background-image:url("images/TableOperations/table-prop.gif");}
.htmlarea .toolbar .TO-row-prop, .htmlarea-context-menu .TO-row-prop {background-image:url("images/TableOperations/row-prop.gif");}
.htmlarea .toolbar .TO-row-insert-above, .htmlarea-context-menu .TO-row-insert-above {background-image:url("images/TableOperations/row-insert-above.gif");}
.htmlarea .toolbar .TO-row-insert-under, .htmlarea-context-menu .TO-row-insert-under {background-image:url("images/TableOperations/row-insert-under.gif");}
.htmlarea .toolbar .TO-row-delete, .htmlarea-context-menu .TO-row-delete {background-image:url("images/TableOperations/row-delete.gif");}
.htmlarea .toolbar .TO-row-split, .htmlarea-context-menu .TO-row-split {background-image:url("images/TableOperations/row-split.gif");}
.htmlarea .toolbar .TO-col-insert-before, .htmlarea-context-menu .TO-col-insert-before {background-image:url("images/TableOperations/col-insert-before.gif");}
.htmlarea .toolbar .TO-col-insert-after, .htmlarea-context-menu .TO-col-insert-after {background-image:url("images/TableOperations/col-insert-after.gif");}
.htmlarea .toolbar .TO-col-delete, .htmlarea-context-menu .TO-col-delete {background-image:url("images/TableOperations/col-delete.gif");}
.htmlarea .toolbar .TO-col-split, .htmlarea-context-menu .TO-col-split {background-image:url("images/TableOperations/col-split.gif");}
.htmlarea .toolbar .TO-cell-prop, .htmlarea-context-menu .TO-cell-prop {background-image:url("images/TableOperations/cell-prop.gif");}
.htmlarea .toolbar .TO-cell-insert-before, .htmlarea-context-menu .TO-cell-insert-before {background-image:url("images/TableOperations/cell-insert-before.gif");}
.htmlarea .toolbar .TO-cell-insert-after, .htmlarea-context-menu .TO-cell-insert-after {background-image:url("images/TableOperations/cell-insert-after.gif");}
.htmlarea .toolbar .TO-cell-delete, .htmlarea-context-menu .TO-cell-delete {background-image:url("images/TableOperations/cell-delete.gif");}
.htmlarea .toolbar .TO-cell-split, .htmlarea-context-menu .TO-cell-split {background-image:url("images/TableOperations/cell-split.gif");}
.htmlarea .toolbar .TO-cell-merge, .htmlarea-context-menu .TO-cell-merge {background-image:url("images/TableOperations/cell-merge.gif");}
.htmlarea .toolbar .TO-toggle-borders, .htmlarea-context-menu .TO-toggle-borders {background-image:url("images/toggle-borders.gif");}
.htmlarea .toolbar .TO-table-prop, .htmlarea-context-menu .TO-table-prop {background-image:url("images/table-prop.gif");}
.htmlarea .toolbar .TO-table-restyle, .htmlarea-context-menu .TO-table-restyle {background-image:url("images/table-restyle.gif");}
.htmlarea .toolbar .TO-row-prop, .htmlarea-context-menu .TO-row-prop {background-image:url("images/row-prop.gif");}
.htmlarea .toolbar .TO-row-insert-above, .htmlarea-context-menu .TO-row-insert-above {background-image:url("images/row-insert-above.gif");}
.htmlarea .toolbar .TO-row-insert-under, .htmlarea-context-menu .TO-row-insert-under {background-image:url("images/row-insert-under.gif");}
.htmlarea .toolbar .TO-row-delete, .htmlarea-context-menu .TO-row-delete {background-image:url("images/row-delete.gif");}
.htmlarea .toolbar .TO-row-split, .htmlarea-context-menu .TO-row-split {background-image:url("images/row-split.gif");}
.htmlarea .toolbar .TO-col-prop, .htmlarea-context-menu .TO-col-prop {background-image:url("images/col-prop.gif");}
.htmlarea .toolbar .TO-col-insert-before, .htmlarea-context-menu .TO-col-insert-before {background-image:url("images/col-insert-before.gif");}
.htmlarea .toolbar .TO-col-insert-after, .htmlarea-context-menu .TO-col-insert-after {background-image:url("images/col-insert-after.gif");}
.htmlarea .toolbar .TO-col-delete, .htmlarea-context-menu .TO-col-delete {background-image:url("images/col-delete.gif");}
.htmlarea .toolbar .TO-col-split, .htmlarea-context-menu .TO-col-split {background-image:url("images/col-split.gif");}
.htmlarea .toolbar .TO-cell-prop, .htmlarea-context-menu .TO-cell-prop {background-image:url("images/cell-prop.gif");}
.htmlarea .toolbar .TO-cell-insert-before, .htmlarea-context-menu .TO-cell-insert-before {background-image:url("images/cell-insert-before.gif");}
.htmlarea .toolbar .TO-cell-insert-after, .htmlarea-context-menu .TO-cell-insert-after {background-image:url("images/cell-insert-after.gif");}
.htmlarea .toolbar .TO-cell-delete, .htmlarea-context-menu .TO-cell-delete {background-image:url("images/cell-delete.gif");}
.htmlarea .toolbar .TO-cell-split, .htmlarea-context-menu .TO-cell-split {background-image:url("images/cell-split.gif");}
.htmlarea .toolbar .TO-cell-merge, .htmlarea-context-menu .TO-cell-merge {background-image:url("images/cell-merge.gif");}
typo3/sysext/rtehtmlarea/extensions/TYPO3Color/class.tx_rtehtmlarea_typo3color.php (working copy)
);
public function main($parentObject) {
return parent::main($parentObject) && !$this->thisConfig['disableSelectColor'];
return parent::main($parentObject) && (!$this->thisConfig['disableSelectColor'] || $this->htmlAreaRTE->client['BROWSER'] == 'gecko');
}
/**
typo3/sysext/rtehtmlarea/htmlarea/htmlarea-gecko.js (working copy)
try {
this._doc.designMode = "on";
if (this._doc.queryCommandEnabled("insertbronreturn")) this._doc.execCommand("insertbronreturn", false, this.config.disableEnterParagraphs);
if (this._doc.queryCommandEnabled("enableObjectResizing")) this._doc.execCommand("enableObjectResizing", false, !this.config.disableObjectResizing);
if (this._doc.queryCommandEnabled("enableInlineTableEditing")) this._doc.execCommand("enableInlineTableEditing", false, (this.config.buttons.table && this.config.buttons.table.enableHandles) ? true : false);
if (this._doc.queryCommandEnabled("styleWithCSS")) this._doc.execCommand("styleWithCSS", false, this.config.useCSS);
else if (this._doc.queryCommandEnabled("useCSS")) this._doc.execCommand("useCSS", false, !this.config.useCSS);
......
editor.sizeIframe(-2);
}
if (editor._doc.queryCommandEnabled("insertbronreturn")) editor._doc.execCommand("insertbronreturn", false, editor.config.disableEnterParagraphs);
if (editor._doc.queryCommandEnabled("enableObjectResizing")) editor._doc.execCommand("enableObjectResizing", false, !editor.config.disableObjectResizing);
if (editor._doc.queryCommandEnabled("enableInlineTableEditing")) editor._doc.execCommand("enableInlineTableEditing", false, (editor.config.buttons.table && editor.config.buttons.table.enableHandles) ? true : false);
if (editor._doc.queryCommandEnabled("styleWithCSS")) editor._doc.execCommand("styleWithCSS", false, editor.config.useCSS);
else if (editor._doc.queryCommandEnabled("useCSS")) editor._doc.execCommand("useCSS", false, !editor.config.useCSS);
typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (working copy)
if (HTMLArea._compressedScripts && url.indexOf("compressed") == -1) url = url.replace(/\.js$/gi, "_compressed.js");
HTMLArea._scripts.push(url);
};
HTMLArea.loadScript(RTEarea[0]["popupwin"] ? RTEarea[0]["popupwin"] : _editor_url + "popupwin.js");
if(HTMLArea.is_gecko) HTMLArea.loadScript(RTEarea[0]["htmlarea-gecko"] ? RTEarea[0]["htmlarea-gecko"] : _editor_url + "htmlarea-gecko.js");
if(HTMLArea.is_ie) HTMLArea.loadScript(RTEarea[0]["htmlarea-ie"] ? RTEarea[0]["htmlarea-ie"] : _editor_url + "htmlarea-ie.js");
......
this.useCSS = false;
this.enableMozillaExtension = true;
this.disableEnterParagraphs = false;
this.disableObjectResizing = false;
this.removeTrailingBR = false;
// style included in the iframe document
this.editedContentStyle = _editor_edited_content_CSS;
......
editor.onGenerate = null;
}
HTMLArea._appendToLog("[HTMLArea::initIframe]: All plugins successfully generated.");
editor.focusEditor();
editor.updateToolbar();
};
......
if (HTMLArea.is_gecko) {
try {
if (this._doc.queryCommandEnabled("insertbronreturn")) this._doc.execCommand("insertbronreturn", false, this.config.disableEnterParagraphs);
if (this._doc.queryCommandEnabled("enableObjectResizing")) this._doc.execCommand("enableObjectResizing", false, !this.config.disableObjectResizing);
if (this._doc.queryCommandEnabled("enableInlineTableEditing")) this._doc.execCommand("enableInlineTableEditing", false, (this.config.buttons.table && this.config.buttons.table.enableHandles) ? true : false);
if (this._doc.queryCommandEnabled("styleWithCSS")) this._doc.execCommand("styleWithCSS", false, this.config.useCSS);
else if (this._doc.queryCommandEnabled("useCSS")) this._doc.execCommand("useCSS", false, !this.config.useCSS);
......
HTMLArea.RE_blockTags = /^(body|p|h1|h2|h3|h4|h5|h6|ul|ol|pre|dl|dt|dd|div|noscript|blockquote|form|hr|table|caption|fieldset|address|td|tr|th|li|tbody|thead|tfoot|iframe)$/;
HTMLArea.isBlockElement = function(el) { return el && el.nodeType == 1 && HTMLArea.RE_blockTags.test(el.nodeName.toLowerCase()); };
HTMLArea.RE_closingTags = /^(p|blockquote|a|li|ol|ul|dl|dt|td|th|tr|tbody|thead|tfoot|caption|colgroup|table|div|b|bdo|big|cite|code|del|dfn|em|i|ins|kbd|label|q|samp|small|span|strike|strong|sub|sup|tt|u|var|abbr|acronym|font|center|object|embed|style|script|title|head|clickenlarge)$/;
HTMLArea.RE_closingTags = /^(p|blockquote|a|li|ol|ul|dl|dt|td|th|tr|tbody|thead|tfoot|caption|colgroup|table|div|b|bdo|big|cite|code|del|dfn|em|i|ins|kbd|label|q|samp|small|span|strike|strong|sub|sup|tt|u|var|abbr|acronym|font|center|object|embed|style|script|title|head)$/;
HTMLArea.RE_noClosingTag = /^(img|br|hr|col|input|area|base|link|meta|param)$/;
HTMLArea.needsClosingTag = function(el) { return el && el.nodeType == 1 && !HTMLArea.RE_noClosingTag.test(el.tagName.toLowerCase()); };
......
}
if (config.htmlRemoveTagsAndContents && config.htmlRemoveTagsAndContents.test(root_tag)) break;
var custom_tag = (config.customTags && config.customTags.test(root_tag));
var empty_root = (root_tag == "clickenlarge" && !(root.firstChild && root.firstChild.nodeName.toLowerCase() == "img"));
if (outputRoot) outputRoot = !(config.htmlRemoveTags && config.htmlRemoveTags.test(root_tag)) && !empty_root;
if (outputRoot) outputRoot = !(config.htmlRemoveTags && config.htmlRemoveTags.test(root_tag));
if ((HTMLArea.is_ie || HTMLArea.is_safari) && root_tag == "head") {
if(outputRoot) html += "<head>";
var save_multiline = RegExp.multiline;
......
* @return boolean
*/
onMode : function(mode) {
if (this.dialog && mode === "textmode" && !(this.dialog.buttonId && this.editorConfiguration.btnList[this.dialog.buttonId] && this.editorConfiguration.btnList[this.dialog.buttonId].textMode)) {
if (mode === "textmode" && this.dialog && HTMLArea.Dialog[this.name] == this.dialog && !(this.dialog.buttonId && this.editorConfiguration.btnList[this.dialog.buttonId] && this.editorConfiguration.btnList[this.dialog.buttonId].textMode)) {
this.dialog.close();
}
},
......
* @return string the localization of the label
*/
localize : function (label) {
return HTMLArea.I18N.dialogs[label] || HTMLArea.I18N.tooltips[label] || this.I18N[label];
return this.I18N[label] || HTMLArea.I18N.dialogs[label] || HTMLArea.I18N.tooltips[label];
},
/**
......
* @param object arguments: object of variable type to be passed to the dialog
* @param object dimensions: object giving the width and height of the dialog window
* @param string showScrollbars: specifies by "yes" or "no" whether or not the dialog window should have scrollbars
* @param object dialogOpener: reference to the opener window
*
* @return object the dialog window
* @return object the dialogue object
*/
openDialog : function (buttonId, url, action, arguments, dimensions, showScrollbars) {
openDialog : function (buttonId, url, action, arguments, dimensions, showScrollbars, dialogOpener) {
if (this.dialog && this.dialog.hasOpenedWindow() && this.dialog.buttonId === buttonId) {
this.dialog.focus();
return this.dialog;
......
actionFunctionReference,
arguments,
{width: ((dimensions && dimensions.width)?dimensions.width:100), height: ((dimensions && dimensions.height)?dimensions.height:100)},
(showScrollbars?showScrollbars:"no")
(showScrollbars?showScrollbars:"no"),
dialogOpener
);
}
},
......
* @param object arguments: object of variable type to be passed to the dialog
* @param object dimensions: object giving the width and height of the dialog window
* @param string showScrollbars: specifies by "yes" or "no" whether or not the dialog window should have scrollbars
* @param object dialogOpener: reference to the opener window
*
* @return boolean true if the dialog window was opened
*/
constructor : function (plugin, buttonId, url, action, arguments, dimensions, showScrollbars) {
constructor : function (plugin, buttonId, url, action, arguments, dimensions, showScrollbars, dialogOpener) {
this.window = window.window ? window.window : window.self;
this.plugin = plugin;
this.buttonId = buttonId;
......
HTMLArea.Dialog[this.plugin.name].close();
}
HTMLArea.Dialog[this.plugin.name] = this;
this.dialogWindow = window.open(url, this.plugin.name + "Dialog", "toolbar=no,location=no,directories=no,menubar=no,resizable=yes,top=100,left=100,dependent=yes,dialog=yes,chrome=no,width=" + dimensions.width + ",height=" + dimensions.height + ",scrollbars=" + showScrollbars);
this.dialogWindow = window.open(url, this.plugin.name + "Dialog", "toolbar=no,location=no,directories=no,menubar=no,resizable=yes,top=100,left=100,dependent=yes,dialog=yes,chrome=no,width=" + dimensions.width + ",height=" + dimensions.height + ",scrollbars=" + showScrollbars);
if (!this.dialogWindow) {
this.plugin.appendToLog("openDialog", "Dialog window could not be opened with url " + url);
return false;
}
if (typeof(dialogOpener) !== "undefined") {
this.dialogWindow.opener = dialogOpener;
this.dialogWindow.opener.openedDialog = this;
}
if (!this.dialogWindow.opener) {
this.dialogWindow.opener = this.window;
}
if (!url) this.createForm();
return true;
},
/**
* Creates the document and the dialogue form of the dialogue window
*
* @return void
*/
createForm : function () {
this.document = this.dialogWindow.document;
this.editor = this.plugin.editor;
if (HTMLArea.is_ie) {
this.document.open();
var html = "<html><head></head><body></body></html>\n";
this.document.write(html);
this.document.close();
this.loadStyle();
}
var html = this.document.documentElement;
html.className = "popupwin";
var head = this.document.getElementsByTagName("head")[0];
if (!head) {
var head = this.document.createElement("head");
html.appendChild(head);
}
var title = this.document.getElementsByTagName("title")[0];
if (!title) {
var title = this.document.createElement("title");
head.appendChild(title);
}
this.document.title = this.arguments.title;
var body = this.document.body;
if (!body) {
var body = this.document.createElement("body");
}
body.className = "popupwin dialog";
body.id = "--HA-body";
var content = this.document.createElement("div");
content.className = "content";
content.id = "content";
this.content = content;
body.appendChild(content);
if (HTMLArea.is_gecko) {
html.appendChild(body);
}
// Create the form
// Localize, resize and initiate capture of events
// Catch errors for IE loosing control in case the window is closed while being initialized
if (HTMLArea.is_ie) {
try {
this.arguments.initialize(this);
this.initialize(false, false, HTMLArea.is_ie);
this.focus();
} catch(e) { }
} else {
this.arguments.initialize(this);
this.initialize(false, false, HTMLArea.is_ie);
this.focus();
}
},
/**
* Adds OK and Cancel buttons to the dialogue window
*
* @return void
*/
addButtons : function() {
var self = this;
var div = this.document.createElement("div");
this.content.appendChild(div);
div.className = "buttons";
for (var i = 0; i < arguments.length; ++i) {
var btn = arguments[i];
var button = this.document.createElement("button");
div.appendChild(button);
switch (btn) {
case "ok":
button.innerHTML = this.plugin.localize("OK");
button.onclick = function() {
try {
self.callFormInputHandler();
} catch(e) { };
return false;
};
break;
case "cancel":
button.innerHTML = this.plugin.localize("Cancel");
button.onclick = function() {
self.close();
return false;
};
break;
}
}
},
/**
* Call the form input handler
*
* @return boolean false
*/
callFormInputHandler : function() {
var tags = ["input", "textarea", "select"];
var params = new Object();
for (var ti = tags.length; --ti >= 0;) {
var tag = tags[ti];
var els = this.content.getElementsByTagName(tag);
for (var j = 0; j < els.length; ++j) {
var el = els[j];
var val = el.value;
if (el.nodeName.toLowerCase() == "input") {
if (el.type == "checkbox") {
val = el.checked;
}
}
params[el.name] = val;
}
}
this.action(this, params);
return false;
},
/**
* Cheks if the dialogue has an open dialogue window
*
* @return boolean true if the dialogue has an open window
*/
hasOpenedWindow : function () {
return this.dialogWindow && !this.dialogWindow.closed;
},
......
*
* @return void
*/
initialize : function (noLocalize, noResize) {
initialize : function (noLocalize, noResize, noStyle) {
this.dialogWindow.HTMLArea = HTMLArea;
this.dialogWindow.dialog = this;
// Capture unload and escape events
this.captureEvents();
// Get stylesheets for the dialog window
this.loadStyle();
if (!noStyle) this.loadStyle();
// Localize the labels of the popup window
if (!noLocalize) this.localize();
// Resize the dialog window to its contents
if (!noResize) this.resize(noResize);
// Capture unload and escape events
this.captureEvents();
},
/**
......
link.rel = "stylesheet";
link.type = "text/css";
link.href = HTMLArea.editorCSS;
if (link.href.indexOf("http") == -1 && HTMLArea.is_gecko) link.href = _typo3_host_url + link.href;
head.appendChild(link);
},
......
if (label) element.firstChild.data = label;
}
if (element.title) {
element.title = this.plugin.localize(element.title);
label = this.plugin.localize(element.title);
if (label) element.title = label;
}
// resetting the selected option for Mozilla
if (types[type] == "option" && element.selected ) {
......
}
}
}
this.dialogWindow.document.title = this.plugin.localize(this.dialogWindow.document.title);
label = this.plugin.localize(this.dialogWindow.document.title);
if (label) this.dialogWindow.document.title = label;
},
/**
......
resize : function (noResize) {
// resize if allowed
var dialogWindow = this.dialogWindow;
var content = dialogWindow.document.getElementById("content");
var doc = dialogWindow.document;
var content = doc.getElementById("content");
if ((HTMLArea.is_gecko && !HTMLArea.is_opera && !HTMLArea.is_safari) || (HTMLArea.is_opera && content)) {
var self = this;
setTimeout( function() {
......
} catch(e) { }
}, 25);
} else {
var body = doc.body;
var innerX, innerY;
if (dialogWindow.innerHeight) {
// all except Explorer
innerX = dialogWindow.innerWidth;
innerY = dialogWindow.innerHeight;
} else if (dialogWindow.document.documentElement && dialogWindow.document.documentElement.clientHeight) {
} else if (doc.documentElement && doc.documentElement.clientHeight) {
// Explorer 6 Strict Mode
innerX = dialogWindow.document.documentElement.clientWidth;
innerY = dialogWindow.document.documentElement.clientHeight;
} else if (document.body) {
innerX = doc.documentElement.clientWidth;
innerY = doc.documentElement.clientHeight;
} else {
// other Explorers
innerX = dialogWindow.document.body.clientWidth;
innerY = dialogWindow.document.body.clientHeight;
innerX = body.clientWidth;
innerY = body.clientHeight;
}
var pageX, pageY;
var test1 = dialogWindow.document.body.scrollHeight;
var test2 = dialogWindow.document.body.offsetHeight
if (test1 > test2) {
// all but Explorer Mac
pageX = dialogWindow.document.body.scrollWidth;
pageY = dialogWindow.document.body.scrollHeight;
var pageY = Math.max(body.scrollHeight, body.offsetHeight);
if (innerY == pageY) {
dialogWindow.resizeTo(body.scrollWidth, body.scrollHeight+75);
} else {
// Explorer Mac;
//would also work in Explorer 6 Strict, Mozilla and Safari
pageX = dialogWindow.document.body.offsetWidth;
pageY = dialogWindow.document.body.offsetHeight;
dialogWindow.resizeBy(Math.max(body.scrollWidth, body.offsetWidth) - innerX, pageY - innerY);
}
dialogWindow.resizeBy(pageX - innerX, pageY - innerY);
// center on parent if allowed
var W = dialogWindow.document.body.offsetWidth;
var H = dialogWindow.document.body.offsetHeight;
var W = body.offsetWidth;
var H = body.offsetHeight;
var x = (screen.availWidth - W) / 2;
var y = (screen.availHeight - H) / 2;
dialogWindow.moveTo(x, y);
......
},
/**
* Recover focus from the parent window
*
* @return void
*/
recoverFocus : function(ev) {
if (this.dialogWindow && !this.dialogWindow.closed) {
if (!ev) var ev = window.event;
HTMLArea._stopEvent(ev);
this.focus();
}
return false;
},
/**
* Close the dialog window
*
* @return void
*/
close : function () {
if (this.hasOpenedWindow()) {
if (this.dialogWindow.opener && !this.dialogWindow.opener.closed) {
this.releaseEvents();
if (this.dialogWindow) {
if (this.dialogWindow.openedDialog) {
this.dialogWindow.openedDialog.close();
}
this.releaseEvents(this.dialogWindow);
this.releaseEvents();
HTMLArea.Dialog[this.plugin.name] = null;
if (HTMLArea.is_safari) {
this.dialogWindow.blur();
if (!this.dialogWindow.closed) {
this.dialogWindow.dialog = null;
if (HTMLArea.is_safari || HTMLArea.is_ie) {
this.dialogWindow.blur();
}
this.dialogWindow.close();
}
this.dialogWindow.close();
this.dialogWindow.dialog = null;
this.plugin.editor.updateToolbar();
}
return false;
......
},
/**
*Capture unload and escape events
* Capture unload, escape and focus events
*
* @return void
*/
*/
captureEvents : function (skipUnload) {
// Capture unload events on the dialogue window, the opener window and the editor frame
this.unloadFunctionReference = this.makeFunctionReference("close");
HTMLArea._addEvent(this.dialogWindow.opener, "unload", this.unloadFunctionReference);
if (HTMLArea.is_gecko && this.plugin.editor._iframe.contentWindow) {
HTMLArea._addEvent(this.plugin.editor._iframe.contentWindow, "unload", this.unloadFunctionReference);
}
if (!skipUnload) HTMLArea._addEvent(this.dialogWindow, "unload", this.unloadFunctionReference);
// Capture escape key on the dialogue window
this.escapeFunctionReference = this.makeFunctionReference("closeOnEscape");
HTMLArea._addEvent(this.dialogWindow.document, "keypress", this.escapeFunctionReference);
// Capture focus events on the opener window and its frames
if (HTMLArea.is_gecko) {
this.recoverFocusFunctionReference = this.makeFunctionReference("recoverFocus");
this.captureFocus(this.dialogWindow.opener);
}
},
/**
* Capture focus events
*
* @return void
*/
captureFocus : function (w) {
if (HTMLArea.is_gecko) {
w.addEventListener("focus", this.recoverFocusFunctionReference, true);
} else {
HTMLArea._addEvent(w, "focus", this.recoverFocusFunctionReference);
}
for (var i = w.frames.length; --i >= 0;) {
this.captureFocus(w.frames[i]);
}
},
/**
* Release all event handlers that were set when the dialog window was opened
* Release all event handlers that were set when the dialogue window was opened
*
* @return void
*/
releaseEvents : function() {
var opener = this.dialogWindow.opener;
if (opener && !opener.closed) {
// release the capturing of events
HTMLArea._removeEvent(opener, "unload", this.unloadFunctionReference);
if (this.dialogWindow) {
HTMLArea._removeEvent(this.dialogWindow, "unload", this.unloadFunctionReference);
if (HTMLArea.is_gecko && this.plugin.editor._iframe.contentWindow) {
HTMLArea._removeEvent(this.plugin.editor._iframe.contentWindow, "unload", this.unloadFunctionReference);
if (this.dialogWindow.document) {
HTMLArea._removeEvent(this.dialogWindow.document, "keypress", this.escapeFunctionReference);
}
HTMLArea._removeEvent(this.dialogWindow.document, "keypress", this.escapeFunctionReference);
if (this.dialogWindow.opener && !this.dialogWindow.opener.closed) {
HTMLArea._removeEvent(this.dialogWindow.opener, "unload", this.unloadFunctionReference);
if (HTMLArea.is_gecko) {
this.releaseFocus(this.dialogWindow.opener);
}
}
}
if (HTMLArea.is_gecko && this.plugin.editor._iframe.contentWindow) {
HTMLArea._removeEvent(this.plugin.editor._iframe.contentWindow, "unload", this.unloadFunctionReference);
}
},
/**
* Release focus capturing events that were set when the dialogue window was opened
*
* @return void
*/
releaseFocus : function(w) {
HTMLArea._removeEvent(w, "focus", this.recoverFocusFunctionReference);
for (var i = w.frames.length; --i >= 0;) {
this.releaseFocus(w.frames[i]);
}
}
});
typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockElements/block-elements.js (working copy)
this.indentSelectedListElements(parentElement, range);
}
} else if (tableCell) {
var nextCell = tableCell.nextSibling ? tableCell.nextSibling : (tableCell.parentNode.nextSibling ? tableCell.parentNode.nextSibling.firstChild : null);
var tablePart = tableCell.parentNode.parentNode;
// Get next cell in same table part
var nextCell = tableCell.nextSibling ? tableCell.nextSibling : (tableCell.parentNode.nextSibling ? tableCell.parentNode.nextSibling.cells[0] : null);
// Next cell is in other table part
if (!nextCell) {
switch (tablePart.nodeName.toLowerCase()) {
case "thead":
nextCell = tablePart.parentNode.tBodies[0].rows[0].cells[0];
break;
case "tbody":
nextCell = tablePart.nextSibling ? tablePart.nextSibling.rows[0].cells[0] : null;
break;
case "tfoot":
this.editor.selectNodeContents(tablePart.parentNode.lastChild.lastChild.lastChild, true);
}
}
if (!nextCell) {
if (this.editor.plugins.TableOperations) {
this.editor.plugins.TableOperations.instance.onButtonPress(this.editor, "TO-row-insert-under");
} else {
nextCell = tableCell.parentNode.parentNode.firstChild.firstChild;
nextCell = tablePart.parentNode.rows[0].cells[0];
}
}
if (nextCell) {
typo3/sysext/rtehtmlarea/htmlarea/plugins/BlockStyle/block-style.js (working copy)
this.prefixLabelWithClassName = this.pageTSconfiguration.prefixLabelWithClassName;
this.postfixLabelWithClassName = this.pageTSconfiguration.postfixLabelWithClassName;
/* Registering plugin "About" information */
/*
* Registering plugin "About" information
*/
var pluginInformation = {
version : "1.1",
version : "1.2",
developer : "Stanislas Rolland",
developerUrl : "http://www.fructifor.ca/",
copyrightOwner : "Stanislas Rolland",
......
};
this.registerPluginInformation(pluginInformation);
/* Registering the dropdown list */
/*
* Registeringthe drop-down list
*/
var dropDownId = "BlockStyle";
var dropDownConfiguration = {
id : dropDownId,
......
for (var i = classNames.length; --i >= 0;) {
if (!HTMLArea.reservedClassNames.test(classNames[i])) {
HTMLArea._removeClass(node, classNames[i]);
if (node.nodeName.toLowerCase() === "table" && this.editor.plugins.TableOperations) {
this.editor.plugins.TableOperations.instance.removeAlternatingClasses(node, classNames[i]);
}
break;
}
}
} else {
HTMLArea._addClass(node, className);
var nodeName = node.nodeName.toLowerCase();
if (this.tags && this.tags[nodeName]) {
var allowedClasses = this.tags[nodeName].allowedClasses;
if (allowedClasses && allowedClasses.indexOf(className) !== -1) {
HTMLArea._addClass(node, className);
}
} else if (this.tags && this.tags.all) {
var allowedClasses = this.tags.all.allowedClasses;
if (allowedClasses && allowedClasses.indexOf(className) !== -1) {
HTMLArea._addClass(node, className);
}
} else {
HTMLArea._addClass(node, className);
}
if (nodeName === "table" && this.editor.plugins.TableOperations) {
this.editor.plugins.TableOperations.instance.reStyleTable(node);
}
}
},
typo3/sysext/rtehtmlarea/htmlarea/plugins/ContextMenu/context-menu.js (working copy)
case "table":
table = target;
if(!tbo) break;
this.pushOperations(["TO-toggle-borders", "TO-table-prop", "TO-col-split", "TO-col-delete", "TO-col-insert-after", "TO-col-insert-before"], menu, tbo);
this.pushOperations(["TO-col-split", "TO-col-delete", "TO-col-insert-after", "TO-col-insert-before", "TO-col-prop"], menu, tbo);
this.pushOperations(["TO-toggle-borders", "TO-table-restyle", "TO-table-prop"], menu, tbo);
break;
case "ol":
case "ul":
typo3/sysext/rtehtmlarea/htmlarea/plugins/ContextMenu/locallang.xml (working copy)
<label index="Cut">Cut</label>
<label index="Copy">Copy</label>
<label index="Paste">Paste</label>
<label index="Image Properties">_Image Properties...</label>
<label index="Modify Link">_Modify Link...</label>
<label index="Check Link">Chec_k Link...</label>
<label index="Remove Link">_Remove Link...</label>
<label index="Image Properties">_Image Properties</label>
<label index="Modify Link">_Modify Link</label>
<label index="Check Link">Chec_k Link</label>
<label index="Remove Link">_Remove Link</label>
<label index="TO-toggle-borders-title">Toggle borders</label>
<label index="TO-cell-prop-title">C_ell Properties...</label>
<label index="TO-cell-prop-title">C_ell Properties</label>
<label index="TO-cell-insert-before-title">Insert cell before</label>
<label index="TO-cell-insert-after-title">Insert cell after</label>
<label index="TO-cell-delete-title">Delete Cell</label>
<label index="TO-cell-split-title">Split Cell</label>
<label index="TO-cell-merge-title">Merge Cells</label>
<label index="TO-row-prop-title">Ro_w Properties...</label>
<label index="TO-row-prop-title">Ro_w Properties</label>
<label index="TO-row-insert-above-title">I_nsert Row Before</label>
<label index="TO-row-insert-under-title">In_sert Row After</label>
<label index="TO-row-delete-title">_Delete Row</label>
<label index="TO-row-split-title">Split Row</label>
<label index="TO-table-prop-title">_Table Properties...</label>
<label index="TO-table-prop-title">_Table Properties</label>
<label index="TO-table-restyle-title">Re-apply table styles</label>
<label index="TO-col-prop-title">Column Cells Properties</label>
<label index="TO-col-insert-before-title">Insert _Column Before</label>
<label index="TO-col-insert-after-title">Insert C_olumn After</label>
<label index="TO-col-delete-title">De_lete Column</label>
......
<label index="JustifyCenter-tooltip">Centers the text</label>
<label index="JustifyRight-tooltip">Aligns text to the right</label>
<label index="JustifyFull-tooltip">Aligns text both to the left and the right</label>
<label index="Make link">Make lin_k...</label>
<label index="Make link">Make lin_k</label>
<label index="Remove the">Remove the</label>
<label index="Element">Element...</label>
<label index="Element">Element</label>
<label index="Please confirm remove">Please confirm that you want to remove this element:</label>
<label index="Remove this node from the document">Remove this node from the document</label>
<label index="How did you get here? (Please report!)">How did you get here? (Please report!)</label>
......
<label index="Link points to:">Link points to:</label>
<label index="Unlink the current element">Unlink the current element</label>
<label index="TO-toggle-borders-tooltip">Toggle borders</label>
<label index="TO-cell-prop-tooltip">Shows the Table Cell Properties dialog</label>
<label index="TO-cell-prop-tooltip">Shows the Table Cell Properties dialogue</label>
<label index="TO-cell-insert-before-tooltip">Inserts a new cell before the current one</label>
<label index="TO-cell-insert-after-tooltip">Inserts a new cell after the current one</label>
<label index="TO-cell-delete-tooltip">Deletes the current cell</label>
<label index="TO-cell-split-tooltip">Splits the current cell</label>
<label index="TO-cell-merge-tooltip">Merges the selected cells</label>
<label index="TO-row-prop-tooltip">Shows the Table Row Properties dialog</label>
<label index="TO-row-prop-tooltip">Shows the Table Row Properties dialogue</label>
<label index="TO-row-insert-above-tooltip">Inserts a new row before the current one</label>
<label index="TO-row-insert-under-tooltip">Inserts a new row after the current one</label>
<label index="TO-row-delete-tooltip">Deletes the current row</label>
<label index="TO-row-split-tooltip">Splits the current row</label>
<label index="TO-table-prop-tooltip">Shows the Table Properties dialog</label>
<label index="TO-table-prop-tooltip">Shows the Table Properties dialogue</label>
<label index="TO-table-restyle-tooltip">Re-applies the odd-even styles on the table</label>
<label index="TO-col-prop-tooltip">Shows the Column Cells Properties dialogue</label>
<label index="TO-col-insert-before-tooltip">Inserts a new column before the current one</label>
<label index="TO-col-insert-after-tooltip">Inserts a new column after the current one</label>
<label index="TO-col-delete-tooltip">Deletes the current column</label>
typo3/sysext/rtehtmlarea/htmlarea/plugins/TableOperations/locallang.xml (working copy)
<languageKey index="default" type="array">
<label index="Not set">Not set</label>
<label index="None">None</label>
<label index="CSS Style">CSS Style</label>
<label index="Class:">Class:</label>
<label index="Class selector">CSS class selector</label>
<label index="Table class:">Table:</label>
<label index="Table class selector">Class of the table</label>
<label index="Size and Headers">Size and Headers</label>
<label index="Headers">Headers</label>
<label index="CSS Style">Style</label>
<label index="Class:">Classes:</label>
<label index="Class selector">Classes</label>
<label index="Table class:">Table classes:</label>
<label index="Table class selector">Classes of the table</label>
<label index="Table body class:">Body:</label>
<label index="Table body class selector">Class of the table body</label>
<label index="Table body class selector">Classes of the table body</label>
<label index="Table header class:">Header:</label>
<label index="Table header class selector">Class of the table header</label>
<label index="Table header class selector">Classes of the table header</label>
<label index="Table footer class:">Footer:</label>
<label index="Table footer class selector">Class of the table footer</label>
<label index="Table footer class selector">Classes of the table footer</label>
<label index="Default">Default</label>
<label index="Undefined">Undefined</label>
<label index="Alignment">Alignment</label>
......
<label index="Cell Properties">Cell Properties</label>
<label index="Cell Type and Scope">Cell Type and Scope</label>
<label index="Type of cell">Type of cell:</label>
<label index="Normal">Normal cell</label>
<label index="Normal">Data cell</label>
<label index="Header">Header cell</label>
<label index="Specifies the type of cell">Specifies the type of cell</label>
<label index="Scope">Scope:</label>
......
<label index="Space between adjacent cells">Space between adjacent cells</label>
<label index="Summary:">Summary:</label>
<label index="Summary of the table purpose and structure">Summary of the table's purpose and structure</label>
<label index="captionOrSummary-required">Please enter at least one of caption or summary</label>
<label index="caption-required">Please enter a caption</label>
<label index="summary-required">Please enter a summary</label>
<label index="TO-cell-delete">Delete cell</label>
<label index="TO-cell-insert-after">Insert cell after</label>
<label index="TO-cell-insert-before">Insert cell before</label>
<label index="TO-cell-merge">Merge cells</label>
<label index="TO-cell-prop">Cell properties</label>
<label index="TO-cell-split">Split cell</label>
<label index="TO-col-prop">Column properties</label>
<label index="TO-col-delete">Delete column</label>
<label index="TO-col-insert-after">Insert column after</label>
<label index="TO-col-insert-before">Insert column before</label>
......
<label index="TO-row-prop">Row properties</label>
<label index="TO-row-split">Split row</label>
<label index="TO-table-prop">Table properties</label>
<label index="TO-table-restyle">Re-apply table styles</label>
<label index="TO-toggle-borders">Toggle borders</label>
<label index="Table Properties">Table Properties</label>
<label index="Text alignment:">Text alignment:</label>
......
<label index="percent">percent</label>
<label index="pixels">pixels</label>
<label index="em">em</label>
<label index="Headers:">Headers:</label>
<label index="Table headers">Table headers</label>
<label index="No header cells">No header cells</label>
<label index="Header cells on top">Header cells on top</label>
<label index="Header cells on left">Header cells on left</label>
<label index="Header cells on top and left">Header cells on top and left</label>
<label index="Make cells header cells">Make all row cells header cells</label>
<label index="Make cells data cells">Make all row cells data cells</label>
<label index="Header for column">Header cell for column</label>
<label index="Header for row">Header cell for row</label>
<label index="Header for row group">Header cell for row group</label>
<label index="Column Properties">Column Cells Properties</label>
<label index="Type of cells">Type of cells</label>
<label index="Type of cells of the column">Type of cells of the column:</label>
<label index="Specifies the type of cells">Specifies the type of cells of the column</label>
<label index="Data cells">Data cells</label>
<label index="Headers for rows">Headers for rows</label>
<label index="Headers for row groups">Headers for row groups</label>
<label index="Technische Universitat Ilmenau">Technische Universität Ilmenau</label>
</languageKey>
</data>
<orig_hash type="array">
typo3/sysext/rtehtmlarea/htmlarea/plugins/TableOperations/table-operations.js (working copy)
*/
configurePlugin : function (editor) {
this.classesUrl = this.editorConfiguration.classesUrl;
this.buttonsConfiguration = this.editorConfiguration.buttons;
this.floatLeft = "float-left";
this.floatRight = "float-right";
this.floatDefault = "not set";
this.useHeaderClass = "thead";
if (this.buttonsConfiguration.table && this.buttonsConfiguration.table.properties) {
if (this.buttonsConfiguration.table.properties.float) {
var floatConfiguration = this.buttonsConfiguration.table.properties.float;
this.floatLeft = (floatConfiguration.left && floatConfiguration.left.useClass) ? floatConfiguration.left.useClass : "float-left";
this.floatRight = (floatConfiguration.right && floatConfiguration.right.useClass) ? floatConfiguration.right.useClass : "float-right";
this.floatDefault = (floatConfiguration.defaultValue) ? floatConfiguration.defaultValue : "not set";
}
if (this.buttonsConfiguration.table.properties.headers && this.buttonsConfiguration.table.properties.headers.both
&& this.buttonsConfiguration.table.properties.headers.both.useHeaderClass) {
this.useHeaderClass = this.buttonsConfiguration.table.properties.headers.both.useHeaderClass;
}
}
if (this.buttonsConfiguration.blockstyle) {
this.tags = this.editorConfiguration.buttons.blockstyle.tags;
}
this.tableParts = ["tfoot", "thead", "tbody"];
this.convertAlignment = { "not set" : "none", "left" : "JustifyLeft", "center" : "JustifyCenter", "right" : "JustifyRight", "justify" : "JustifyFull" };
/*
* Registering plugin "About" information
*/
var pluginInformation = {
version : "3.7",
version : "4.0",
developer : "Mihai Bazon & Stanislas Rolland",
developerUrl : "http://www.fructifor.ca/",
copyrightOwner : "Mihai Bazon & Stanislas Rolland",
sponsor : "Zapatec Inc. & Fructifor Inc.",
sponsorUrl : "http://www.fructifor.ca/",
sponsor : this.localize("Technische Universitat Ilmenau") + " & Zapatec Inc.",
sponsorUrl : "http://www.tu-ilmenau.de/",
license : "GPL"
};
this.registerPluginInformation(pluginInformation);
......
["InsertTable", null, "table"],
["toggle-borders", null, "toggleborders"],
["table-prop", "table", "tableproperties"],
["table-restyle", "table", "tablerestyle"],
["row-prop", "tr", "rowproperties"],
["row-insert-above", "tr", "rowinsertabove"],
["row-insert-under", "tr", "rowinsertunder"],
["row-delete", "tr", "rowdelete"],
["row-split", "td,th[rowSpan!=1]", "rowsplit"],
["col-prop", "td,th", "columnproperties"],
["col-insert-before", "td,th", "columninsertbefore"],
["col-insert-after", "td,th", "columninsertafter"],
["col-delete", "td,th", "columndelete"],
......
["cell-split", "td,th[colSpan!=1,rowSpan!=1]", "cellsplit"]
],
/************************
* UTILITIES
************************/
/*
* Retrieve the closest element having the specified tagName in the list of
* Retrieve the closest element having the specified nodeName in the list of
* ancestors of the current selection/caret.
*/
getClosest : function (tagName) {
getClosest : function (nodeName) {
var editor = this.editor;
var ancestors = editor.getAllAncestors();
var ret = null;
tagName = ("" + tagName).toLowerCase();
nodeName = ("" + nodeName).toLowerCase();
for (var i=0; i < ancestors.length; ++i) {
var el = ancestors[i];
if (el.tagName.toLowerCase() == tagName) {
if (el.nodeName.toLowerCase() == nodeName) {
ret = el;
break;
}
......
},
/*
* Open the table properties dialog.
* Open the table properties dialogue
*/
dialogTableProperties : function () {
// retrieve existing values
var table = this.getClosest("table");
var tablePropertiesInitFunctRef = TableOperations.tablePropertiesInit(table);
var tablePropertiesUpdateFunctRef = TableOperations.tablePropertiesUpdate(table);
var dialog = new PopupWin(this.editor, this.localize("Table Properties"), tablePropertiesUpdateFunctRef, tablePropertiesInitFunctRef, 570, 600);
dialogTableProperties : function (buttonId) {
var tablePropertiesInitFunctRef = this.makeFunctionReference("tablePropertiesInit");
var insert = (buttonId === "InsertTable");
var arguments = {
title : (insert ? "Insert Table" : "Table Properties"),
initialize : tablePropertiesInitFunctRef,
element : (insert ? null : this.getClosest("table"))
};
var dimensions = {
width : 820,
height : insert ? 600 : 630
};
this.dialog = this.openDialog((insert ? "InsertTable" : "table-prop"), "", "tablePropertiesUpdate", arguments, dimensions);
},
/*
* Open the row/cell properties dialog.
* This function requires the file PopupWin to be loaded.
* Initialize the table insertion or table properties dialog
*/
dialogRowCellProperties : function (cell) {
tablePropertiesInit : function(dialog) {
var doc = dialog.document;
var content = dialog.content;
var table = dialog.arguments.element;
this.removedFieldsets = this.buttonsConfiguration[table?"tableproperties":"table"].removeFieldsets ? this.buttonsConfiguration[table?"tableproperties":"table"].removeFieldsets : "";
this.properties = this.buttonsConfiguration.table.properties;
this.removedProperties = (this.properties && this.properties.removed) ? this.properties.removed : "";
TableOperations.buildTitle(doc, content, dialog.arguments.title);
TableOperations.insertSpace(doc, content);
if (this.removedFieldsets.indexOf("description") == -1) {
TableOperations.buildDescriptionFieldset(doc, table, content, "floating");
}
if (this.removedFieldsets.indexOf("spacing") == -1) TableOperations.buildSpacingFieldset(doc, table, content);
TableOperations.insertSpace(doc, content);
this.buildSizeAndHeadersFieldset(doc, table, content, "floating");
if (this.removedFieldsets.indexOf("style") == -1 && dialog.editor.config.customSelects.BlockStyle) {
var blockStyle = dialog.editor.plugins.BlockStyle.instance;
if (blockStyle && blockStyle.cssLoaded) {
TableOperations.buildStylingFieldset(doc, this.editor, table, content);
TableOperations.insertSpace(doc, content);
}
}
if (this.removedFieldsets.indexOf("layout") == -1) this.buildLayoutFieldset(doc, table, content, "floating");
if (this.removedFieldsets.indexOf("alignment") == -1) this.buildAlignmentFieldset(doc, table, content);
TableOperations.insertSpace(doc, content);
if (this.removedFieldsets.indexOf("borders") == -1) this.buildBordersFieldset(dialog.dialogWindow, doc, dialog.editor, table, content);
if (this.removedFieldsets.indexOf("color") == -1) TableOperations.buildColorsFieldset(dialog.dialogWindow, doc, dialog.editor, table, content);
dialog.addButtons("ok", "cancel");
},
/*
* Insert the table or update the table properties and close the dialogue
*/
tablePropertiesUpdate : function(dialog, params) {
if (this.buttonsConfiguration.table.properties && this.buttonsConfiguration.table.properties.required) {
if (this.buttonsConfiguration.table.properties.required.indexOf("captionOrSummary") != -1) {
if (!/\S/.test(params.f_caption) && !/\S/.test(params.f_summary)) {
dialog.dialogWindow.alert(this.localize("captionOrSummary" + "-required"));
var el = dialog.document.getElementById("f_caption");
el.focus();
return false;
}
} else {
var required = { "f_caption": "caption", "f_summary": "summary" };
for (var i in required) {
if (required.hasOwnProperty(i)) {
var el = dialog.document.getElementById(i);
if (!el.value && this.buttonsConfiguration.table.properties.required.indexOf(required[i]) != -1) {
dialog.dialogWindow.alert(this.localize(required[i] + "-required"));
el.focus();
return false;
}
}
}
}
}
var doc = dialog.editor._doc;
if (dialog.buttonId === "InsertTable") {
var required = { "f_rows": "You must enter a number of rows", "f_cols": "You must enter a number of columns" };
for (var i in required) {
if (required.hasOwnProperty(i)) {
var el = dialog.document.getElementById(i);
if (!el.value) {
dialog.dialogWindow.alert(this.localize(required[i]));
el.focus();
return false;
}
}
}
var table = doc.createElement("table");
var tbody = doc.createElement("tbody");
table.appendChild(tbody);
for (var i = params.f_rows; --i >= 0;) {
var tr = doc.createElement("tr");
tbody.appendChild(tr);
for (var j = params.f_cols; --j >= 0;) {
var td = doc.createElement("td");
tr.appendChild(td);
}
}
} else {
var table = dialog.arguments.element;
}
table = this.setHeaders(table, params);
table = this.processStyle(table, params);
table.removeAttribute("border");
for (var i in params) {
if (params.hasOwnProperty(i)) {
var val = params[i];
switch (i) {
case "f_caption":
if (/\S/.test(val)) {
// contains non white-space characters
var caption = table.getElementsByTagName("caption");
if (caption) {
caption = caption[0];
}
if (!caption) {
var caption = doc.createElement("caption");
table.appendChild(caption);
}
caption.innerHTML = val;
} else {
// delete the caption if found
if (table.caption) table.deleteCaption();
}
break;
case "f_summary":
table.summary = val;
break;
case "f_width":
table.style.width = ("" + val) + params.f_unit;
break;
case "f_align":
table.align = val;
break;
case "f_spacing":
table.cellSpacing = val;
break;
case "f_padding":
table.cellPadding = val;
break;
case "f_frames":
table.frame = (val != "not set") ? val : "";
break;
case "f_rules":
if (val != "not set") table.rules = val;
else table.removeAttribute("rules");
break;
case "f_st_float":
switch (val) {
case "not set":
HTMLArea._removeClass(table, this.floatRight);
HTMLArea._removeClass(table, this.floatLeft);
break;
case "right":
HTMLArea._removeClass(table, this.floatLeft);
HTMLArea._addClass(table, this.floatRight);
break;
case "left":
HTMLArea._removeClass(table, this.floatRight);
HTMLArea._addClass(table, this.floatLeft);
break;
}
break;
... This diff was truncated because it exceeds the maximum size that can be displayed.
    (1-1/1)