a:9:{s:7:"version";s:3:"0.5";s:6:"author";s:17:"Michele Campeotto";s:10:"author_uri";s:21:"http://micampe.it/log";s:11:"description";s:28:"TinyMCE based WYSIWYG editor";s:4:"type";i:1;s:4:"name";s:11:"mic_tinymce";s:4:"help";s:1:"
";s:4:"code";s:2352:"
if (@txpinterface == 'admin') {
	register_callback("mic_tinymce", "article");
}

function mic_tinymce($event, $step) {
	echo <<< EOF
<script language="javascript" type="text/javascript" src="tinymce/tiny_mce_src.js"></script>
<script language="javascript" type="text/javascript">
var settings = {
	mode : "exact",
	theme : "advanced",
	language : "en",
	plugins : "searchreplace,ibrowser,emotions",
	theme_advanced_disable : "strikethrough,visualaid,anchor,zoom,table,row_before,row_after,delete_row,separator,col_before,col_after,delete_col,bullist,numlist,outdent,indent,undo,redo,link,unlink,anchor,image,cleanup,help,code,preview,sub,sup,separator,charmap,removeformat,visualaid,hr,formatselect,bold,italic,underline,justifyleft,justifyright,justifycenter,justifyfull,cut,copy,paste,forecolor,backcolor",
	theme_advanced_buttons1_add : "bold,italic,underline,strikethrough,forecolor,backcolor,removeformat,numlist,bullist,outdent,indent,justifyleft,justifycenter,justifyright,justifyfull",
	theme_advanced_buttons2_add : "link,unlink,separator,image,ibrowser,separator,emotions,separator,search,replace,separator,cut,copy,paste,separator,code",
	relative_urls : false,
	remove_script_host : false,
	theme_advanced_toolbar_location : "top",
	theme_advanced_toolbar_align : "left",
	extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name|style],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
	elements : "" };

var element = "Body";

function toggleEditor() {
	var mceControl = tinyMCE.getInstanceById(element);
	if (mceControl) {
		tinyMCE.removeMCEControl(element);
		document.article.textile_body.checked = true;
	} else {
		tinyMCE.addMCEControl(tinyMCE._getElementById(element), element, new TinyMCEControl(settings));
		document.article.textile_body.checked = false;
	}
}

if (document.article.from_view.value == "text") {
	tinyMCE.init(settings);
	if(!document.article.textile_body.checked || document.article.Body.value.length == 0) {
		settings['elements'] = element;
		document.article.textile_body.checked = false;
		var node = document.getElementById("textile_help").parentNode
		node.innerHTML = '<p><a href="javascript:toggleEditor();">Toggle editor</a></p>' + node.innerHTML;
	}
}
</script>
EOF;
}
";s:3:"md5";s:32:"63299cf5f476e35c3c37167da9011194";}