Subversion Repositories Sites.tela-botanica.org

Compare Revisions

No changes between revisions

Ignore whitespace Rev 609 → Rev 610

/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('iespell');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return""},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement)}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','')}else alert("Error Loading ieSpell: Exception "+e.number)}return true}return false}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/langs/en.js
New file
0,0 → 1,7
// UK lang variables
 
tinyMCE.addToLang('',{
iespell_desc : 'Run spell checking',
iespell_download : "ieSpell not detected. Click OK to go to download page."
});
 
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/langs/fr.js
New file
0,0 → 1,7
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
iespell_desc : 'Lancer le vérificateur d\'orthographe',
iespell_download : "Le dictionnaire ieSpell n\'a pas été trouvé.\n\nCliquez sur Ok pour aller au site de téléchargement."
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/images/iespell.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/images/iespell.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js
New file
0,0 → 1,58
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('iespell');
 
var TinyMCE_IESpellPlugin = {
getInfo : function() {
return {
longname : 'IESpell (MSIE Only)',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
/**
* Returns the HTML contents of the iespell control.
*/
getControlHTML : function(cn) {
// Is it the iespell control and is the brower MSIE.
if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera))
return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell');
 
return "";
},
 
/**
* Executes the mceIESpell command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle ieSpellCommand
if (command == "mceIESpell") {
try {
var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
} catch (e) {
if (e.number == -2146827859) {
if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
} else
alert("Error Loading ieSpell: Exception " + e.number);
}
 
return true;
}
 
// Pass to next handler in chain
return false;
}
};
 
tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/blank.htm
New file
0,0 → 1,9
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>blank_page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body onload="parent.setupIframe(document);">
 
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('fullpage');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true}return false},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('<body'),pos2;if(pos!=-1){pos=tmp.indexOf('>',pos);pos2=tmp.lastIndexOf('</body>');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&amp;');title=title.replace(/\"/g,'&quot;');title=title.replace(/</g,'&lt;');title=title.replace(/>/g,'&gt;');tmp='';if(pi)tmp+='<?xml version="1.0" encoding="'+enc+'"?>\n';tmp+=docType+'\n';tmp+='<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="'+lang+'" xml:lang="'+lang+'">\n';tmp+='<head>\n';tmp+='\t<title>'+title+'</title>\n';tmp+='\t<meta http-equiv="Content-Type" content="text/html; charset='+enc+'" />\n';tmp+='</head>\n';tmp+='<body';if(ff!=''||fz!=''){tmp+=' style="';if(ds!='')tmp+=ds+";";if(ff!='')tmp+='font-family: '+ff+";";if(fz!='')tmp+='font-size: '+fz+";";tmp+='"'}if(dtc!='')tmp+=' text="'+dtc+'"';tmp+='>\n';inst.fullpageTopContent=tmp}}this._addToHead(inst);break;case"get_from_editor":if(inst.fullpageTopContent&&!tinyMCE.getParam("fullpage_hide_in_source_view",false)){content=content.replace(/(\s)?mce\_[a-z_]+\=[^\s>]+(\s|\>)/i,'');content=inst.fullpageTopContent+content+"\n</body>\n</html>"}break;case"submit_content":if(inst.fullpageTopContent&&tinyMCE.getParam("fullpage_hide_in_source_view",false))content=inst.fullpageTopContent+content+"\n</body>\n</html>";break}return content},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(/<script(.*?)<\/script>/gi,'');h=h.replace(/<title(.*?)<\/title>/gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/<link([^>]*)\/>/gi,'<pre mce_type="link" $1></pre>');h=h.replace(/<body/gi,'<div mce_type="body"');h+='</div>';e.innerHTML=h;body.vLink=body.aLink=body.link=body.text='';body.style.cssText='';nl=head.getElementsByTagName('link');for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],'mce_head')=="true")nl[i].parentNode.removeChild(nl[i])}nl=e.getElementsByTagName('pre');for(i=0;i<nl.length;i++){tmp=tinyMCE.getAttrib(nl[i],'media');if(tinyMCE.getAttrib(nl[i],'mce_type')=="link"&&(tmp==""||tmp=="screen"||tmp=="all")&&tinyMCE.getAttrib(nl[i],'rel')=="stylesheet"){le=doc.createElement("link");le.rel="stylesheet";le.href=tinyMCE.getAttrib(nl[i],'href');le.setAttribute("mce_head","true");head.appendChild(le)}}nl=e.getElementsByTagName('div');if(nl.length>0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage="url('"+tmp+"')";if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js
New file
0,0 → 1,580
//
 
var defaultDocTypes =
'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' +
'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' +
'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' +
'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">,' +
'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' +
'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' +
'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
 
var defaultEncodings =
'Western european (iso-8859-1)=iso-8859-1,' +
'Central European (iso-8859-2)=iso-8859-2,' +
'Unicode (UTF-8)=utf-8,' +
'Chinese traditional (Big5)=big5,' +
'Cyrillic (iso-8859-5)=iso-8859-5,' +
'Japanese (iso-2022-jp)=iso-2022-jp,' +
'Greek (iso-8859-7)=iso-8859-7,' +
'Korean (iso-2022-kr)=iso-2022-kr,' +
'ASCII (us-ascii)=us-ascii';
 
var defaultMediaTypes =
'all=all,' +
'screen=screen,' +
'print=print,' +
'tty=tty,' +
'tv=tv,' +
'projection=projection,' +
'handheld=handheld,' +
'braille=braille,' +
'aural=aural';
 
var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px';
 
var addMenuLayer = new MCLayer("addmenu");
var lastElementType = null;
var topDoc;
 
function init() {
var f = document.forms['fullpage'];
var i, p, doctypes, encodings, mediaTypes, fonts;
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
 
// Setup doctype select box
doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(',');
for (i=0; i<doctypes.length; i++) {
p = doctypes[i].split('=');
 
if (p.length > 1)
addSelectValue(f, 'doctypes', p[0], p[1]);
}
 
// Setup fonts select box
fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';');
for (i=0; i<fonts.length; i++) {
p = fonts[i].split('=');
 
if (p.length > 1)
addSelectValue(f, 'fontface', p[0], p[1]);
}
 
// Setup fontsize select box
fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
for (i=0; i<fonts.length; i++)
addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
 
// Setup mediatype select boxs
mediaTypes = tinyMCE.getParam("fullpage_media_types", defaultMediaTypes).split(',');
for (i=0; i<mediaTypes.length; i++) {
p = mediaTypes[i].split('=');
 
if (p.length > 1) {
addSelectValue(f, 'element_style_media', p[0], p[1]);
addSelectValue(f, 'element_link_media', p[0], p[1]);
}
}
 
// Setup encodings select box
encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(',');
for (i=0; i<encodings.length; i++) {
p = encodings[i].split('=');
 
if (p.length > 1) {
addSelectValue(f, 'docencoding', p[0], p[1]);
addSelectValue(f, 'element_script_charset', p[0], p[1]);
addSelectValue(f, 'element_link_charset', p[0], p[1]);
}
}
 
document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color');
//document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color');
document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color');
document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color');
document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor');
document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage');
document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage');
document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage');
document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage');
 
// Resize some elements
if (isVisible('stylesheetbrowser'))
document.getElementById('stylesheet').style.width = '220px';
 
if (isVisible('link_href_browser'))
document.getElementById('element_link_href').style.width = '230px';
 
if (isVisible('bgimage_browser'))
document.getElementById('bgimage').style.width = '210px';
 
// Create iframe
var iframe = document.createElement('iframe');
 
iframe.id = 'tempFrame';
iframe.style.display = 'none';
iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm";
 
document.body.appendChild(iframe);
 
tinyMCEPopup.resizeToInnerSize();
}
 
function setupIframe(doc) {
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var hc = inst.fullpageTopContent;
var f = document.forms[0];
var xmlVer, xmlEnc, docType;
var nodes, i, x, name, value, tmp, l;
 
// Keep it from not loading/executing stuff
hc = hc.replace(/<script>/gi, '<script type="text/javascript">');
hc = hc.replace(/\ssrc=/gi, " mce_src=");
hc = hc.replace(/\shref=/gi, " mce_href=");
hc = hc.replace(/\stype=/gi, " mce_type=");
hc = hc.replace(/<script/gi, '<script type="text/unknown" ');
 
// Add end to make it DOM parseable
hc += '</body></html>';
 
topDoc = doc;
doc.open();
doc.write(hc);
doc.close();
 
// ------- Setup options for genral tab
 
// Parse xml and doctype
xmlVer = getReItem(/<\?\s*?xml.*?version\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
xmlEnc = getReItem(/<\?\s*?xml.*?encoding\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
docType = getReItem(/<\!DOCTYPE.*?>/gi, hc, 0);
f.langcode.value = getReItem(/lang="(.*?)"/gi, hc, 1);
 
// Get title
f.metatitle.value = tinyMCE.entityDecode(getReItem(/<title>(.*?)<\/title>/gi, hc, 1));
 
// Check for meta encoding
nodes = doc.getElementsByTagName("meta");
for (i=0; i<nodes.length; i++) {
name = tinyMCE.getAttrib(nodes[i], 'name');
value = tinyMCE.getAttrib(nodes[i], 'content');
httpEquiv = tinyMCE.getAttrib(nodes[i], 'httpEquiv');
 
switch (name.toLowerCase()) {
case "keywords":
f.metakeywords.value = value;
break;
 
case "description":
f.metadescription.value = value;
break;
 
case "author":
f.metaauthor.value = value;
break;
 
case "copyright":
f.metacopyright.value = value;
break;
 
case "robots":
selectByValue(f, 'metarobots', value, true, true);
break;
}
 
switch (httpEquiv.toLowerCase()) {
case "content-type":
tmp = getReItem(/charset\s*=\s*(.*)\s*/gi, value, 1);
 
// Override XML encoding
if (tmp != "")
xmlEnc = tmp;
 
break;
}
}
 
selectByValue(f, 'doctypes', docType, true, true);
selectByValue(f, 'docencoding', xmlEnc, true, true);
selectByValue(f, 'langdir', tinyMCE.getAttrib(doc.body, 'dir'), true, true);
 
if (xmlVer != '')
f.xml_pi.checked = true;
 
// ------- Setup options for appearance tab
 
// Get primary stylesheet
nodes = doc.getElementsByTagName("link");
for (i=0; i<nodes.length; i++) {
l = nodes[i];
tmp = tinyMCE.getAttrib(l, 'media');
 
if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
f.stylesheet.value = tinyMCE.getAttrib(l, 'mce_href');
break;
}
}
 
// Get from style elements
nodes = doc.getElementsByTagName("style");
for (i=0; i<nodes.length; i++) {
tmp = parseStyleElement(nodes[i]);
 
for (x=0; x<tmp.length; x++) {
// if (tmp[x].rule.indexOf('a:hover') != -1 && tmp[x].data['color'])
// f.hover_color.value = tmp[x].data['color'];
 
if (tmp[x].rule.indexOf('a:visited') != -1 && tmp[x].data['color'])
f.visited_color.value = tmp[x].data['color'];
 
if (tmp[x].rule.indexOf('a:link') != -1 && tmp[x].data['color'])
f.link_color.value = tmp[x].data['color'];
 
if (tmp[x].rule.indexOf('a:active') != -1 && tmp[x].data['color'])
f.active_color.value = tmp[x].data['color'];
}
}
 
// Get from body attribs
 
/* f.leftmargin.value = tinyMCE.getAttrib(doc.body, "leftmargin");
f.rightmargin.value = tinyMCE.getAttrib(doc.body, "rightmargin");
f.topmargin.value = tinyMCE.getAttrib(doc.body, "topmargin");
f.bottommargin.value = tinyMCE.getAttrib(doc.body, "bottommargin");*/
f.textcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "text"));
f.active_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "alink"));
f.link_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "link"));
f.visited_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "vlink"));
f.bgcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "bgcolor"));
f.bgimage.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "background"));
 
// Get from style info
var style = tinyMCE.parseStyle(tinyMCE.getAttrib(doc.body, 'style'));
 
if (style['font-family'])
selectByValue(f, 'fontface', style['font-family'], true, true);
else
selectByValue(f, 'fontface', tinyMCE.getParam("fullpage_default_fontface", ""), true, true);
 
if (style['font-size'])
selectByValue(f, 'fontsize', style['font-size'], true, true);
else
selectByValue(f, 'fontsize', tinyMCE.getParam("fullpage_default_fontsize", ""), true, true);
 
if (style['color'])
f.textcolor.value = convertRGBToHex(style['color']);
 
if (style['background-image'])
f.bgimage.value = style['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
 
if (style['background-color'])
f.bgcolor.value = convertRGBToHex(style['background-color']);
 
if (style['margin']) {
tmp = style['margin'].replace(/[^0-9 ]/g, '');
tmp = tmp.split(/ +/);
f.topmargin.value = tmp.length > 0 ? tmp[0] : '';
f.rightmargin.value = tmp.length > 1 ? tmp[1] : tmp[0];
f.bottommargin.value = tmp.length > 2 ? tmp[2] : tmp[0];
f.leftmargin.value = tmp.length > 3 ? tmp[3] : tmp[0];
}
 
if (style['margin-left'])
f.leftmargin.value = style['margin-left'].replace(/[^0-9]/g, '');
 
if (style['margin-right'])
f.rightmargin.value = style['margin-right'].replace(/[^0-9]/g, '');
 
if (style['margin-top'])
f.topmargin.value = style['margin-top'].replace(/[^0-9]/g, '');
 
if (style['margin-bottom'])
f.bottommargin.value = style['margin-bottom'].replace(/[^0-9]/g, '');
 
f.style.value = tinyMCE.serializeStyle(style);
 
updateColor('textcolor_pick', 'textcolor');
updateColor('bgcolor_pick', 'bgcolor');
updateColor('visited_color_pick', 'visited_color');
updateColor('active_color_pick', 'active_color');
updateColor('link_color_pick', 'link_color');
//updateColor('hover_color_pick', 'hover_color');
}
 
function updateAction() {
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var f = document.forms[0];
var nl, i, h, v, s, head, html, l, tmp, addlink = true;
 
head = topDoc.getElementsByTagName('head')[0];
 
// Fix scripts without a type
nl = topDoc.getElementsByTagName('script');
for (i=0; i<nl.length; i++) {
if (tinyMCE.getAttrib(nl[i], 'mce_type') == '')
nl[i].setAttribute('mce_type', 'text/javascript');
}
 
// Get primary stylesheet
nl = topDoc.getElementsByTagName("link");
for (i=0; i<nl.length; i++) {
l = nl[i];
 
tmp = tinyMCE.getAttrib(l, 'media');
 
if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
addlink = false;
 
if (f.stylesheet.value == '')
l.parentNode.removeChild(l);
else
l.setAttribute('mce_href', f.stylesheet.value);
 
break;
}
}
 
// Add new link
if (f.stylesheet.value != '') {
l = topDoc.createElement('link');
 
l.setAttribute('mce_type', 'text/css');
l.setAttribute('mce_href', f.stylesheet.value);
l.setAttribute('rel', 'stylesheet');
 
head.appendChild(l);
}
 
setMeta(head, 'keywords', f.metakeywords.value);
setMeta(head, 'description', f.metadescription.value);
setMeta(head, 'author', f.metaauthor.value);
setMeta(head, 'copyright', f.metacopyright.value);
setMeta(head, 'robots', getSelectValue(f, 'metarobots'));
setMeta(head, 'Content-Type', getSelectValue(f, 'docencoding'));
 
topDoc.body.dir = getSelectValue(f, 'langdir');
topDoc.body.style.cssText = f.style.value;
 
topDoc.body.setAttribute('vLink', f.visited_color.value);
topDoc.body.setAttribute('link', f.link_color.value);
topDoc.body.setAttribute('text', f.textcolor.value);
topDoc.body.setAttribute('aLink', f.active_color.value);
 
topDoc.body.style.fontFamily = getSelectValue(f, 'fontface');
topDoc.body.style.fontSize = getSelectValue(f, 'fontsize');
topDoc.body.style.backgroundColor = f.bgcolor.value;
 
if (f.leftmargin.value != '')
topDoc.body.style.marginLeft = f.leftmargin.value + 'px';
 
if (f.rightmargin.value != '')
topDoc.body.style.marginRight = f.rightmargin.value + 'px';
 
if (f.bottommargin.value != '')
topDoc.body.style.marginBottom = f.bottommargin.value + 'px';
 
if (f.topmargin.value != '')
topDoc.body.style.marginTop = f.topmargin.value + 'px';
 
html = topDoc.getElementsByTagName('html')[0];
html.setAttribute('lang', f.langcode.value);
html.setAttribute('xml:lang', f.langcode.value);
 
if (f.bgimage.value != '')
topDoc.body.style.backgroundImage = "url('" + f.bgimage.value + "')";
else
topDoc.body.style.backgroundImage = '';
 
inst.cleanup.addRuleStr('-title,meta[http-equiv|name|content],base[href|target],link[href|rel|type|title|media],style[type],script[type|language|src],html[lang|xml:lang|xmlns],body[style|dir|vlink|link|text|alink],head');
 
h = inst.cleanup.serializeNodeAsHTML(topDoc.documentElement);
 
h = h.substring(0, h.lastIndexOf('</body>'));
 
if (h.indexOf('<title>') == -1)
h = h.replace(/<head.*?>/, '$&\n' + '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
else
h = h.replace(/<title>(.*?)<\/title>/, '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
 
if ((v = getSelectValue(f, 'doctypes')) != '')
h = v + '\n' + h;
 
if (f.xml_pi.checked) {
s = '<?xml version="1.0"';
 
if ((v = getSelectValue(f, 'docencoding')) != '')
s += ' encoding="' + v + '"';
 
s += '?>\n';
h = s + h;
}
 
inst.fullpageTopContent = h;
 
tinyMCEPopup.execCommand('mceFullPageUpdate', false, '');
tinyMCEPopup.close();
}
 
function setMeta(he, k, v) {
var nl, i, m;
 
nl = he.getElementsByTagName('meta');
for (i=0; i<nl.length; i++) {
if (k == 'Content-Type' && tinyMCE.getAttrib(nl[i], 'http-equiv') == k) {
if (v == '')
nl[i].parentNode.removeChild(nl[i]);
else
nl[i].setAttribute('content', "text/html; charset=" + v);
 
return;
}
 
if (tinyMCE.getAttrib(nl[i], 'name') == k) {
if (v == '')
nl[i].parentNode.removeChild(nl[i]);
else
nl[i].setAttribute('content', v);
return;
}
}
 
if (v == '')
return;
 
m = topDoc.createElement('meta');
 
if (k == 'Content-Type')
m.httpEquiv = k;
else
m.setAttribute('name', k);
 
m.setAttribute('content', v);
he.appendChild(m);
}
 
function parseStyleElement(e) {
var v = e.innerHTML;
var p, i, r;
 
v = v.replace(/<!--/gi, '');
v = v.replace(/-->/gi, '');
v = v.replace(/[\n\r]/gi, '');
v = v.replace(/\s+/gi, ' ');
 
r = new Array();
p = v.split(/{|}/);
 
for (i=0; i<p.length; i+=2) {
if (p[i] != "")
r[r.length] = {rule : tinyMCE.trim(p[i]), data : tinyMCE.parseStyle(p[i+1])};
}
 
return r;
}
 
function serializeStyleElement(d) {
var i, s, st;
 
s = '<!--\n';
 
for (i=0; i<d.length; i++) {
s += d[i].rule + ' {\n';
 
st = tinyMCE.serializeStyle(d[i].data);
 
if (st != '')
st += ';';
 
s += st.replace(/;/g, ';\n');
s += '}\n';
 
if (i != d.length - 1)
s += '\n';
}
 
s += '\n-->';
 
return s;
}
 
function getReItem(r, s, i) {
var c = r.exec(s);
 
if (c && c.length > i)
return c[i];
 
return '';
}
 
function changedStyleField(field) {
//alert(field.id);
}
 
function showAddMenu() {
var re = document.getElementById('addbutton');
 
addMenuLayer.moveRelativeTo(re, 'tr');
if (addMenuLayer.isMSIE)
addMenuLayer.moveBy(2, 0);
 
addMenuLayer.show();
addMenuLayer.setAutoHide(true, hideAddMenu);
addMenuLayer.addCSSClass(re, 'selected');
}
 
function hideAddMenu(l, e, mx, my) {
var re = document.getElementById('addbutton');
addMenuLayer.removeCSSClass(re, 'selected');
}
 
function addHeadElm(type) {
var le = document.getElementById('headlist');
var re = document.getElementById('addbutton');
var te = document.getElementById(type + '_element');
 
if (lastElementType)
lastElementType.style.display = 'none';
 
te.style.display = 'block';
 
lastElementType = te;
 
addMenuLayer.hide();
addMenuLayer.removeCSSClass(re, 'selected');
 
document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_insert', 'Insert', true);
 
le.size = 10;
}
 
function updateHeadElm(item) {
var type = item.substring(0, item.indexOf('_'));
var le = document.getElementById('headlist');
var re = document.getElementById('addbutton');
var te = document.getElementById(type + '_element');
 
if (lastElementType)
lastElementType.style.display = 'none';
 
te.style.display = 'block';
 
lastElementType = te;
 
addMenuLayer.hide();
addMenuLayer.removeCSSClass(re, 'selected');
 
document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_update', 'Update', true);
 
le.size = 10;
}
 
function cancelElementUpdate() {
var le = document.getElementById('headlist');
 
if (lastElementType)
lastElementType.style.display = 'none';
 
le.size = 26;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/langs/fr.js
New file
0,0 → 1,93
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('fullpage',{
title : 'Propri&eacute;t&eacute;s de la page',
desc : 'Propri&eacute;t&eacute;s de la page',
meta_tab : 'G&eacute;n&eacute;ral',
appearance_tab : 'Apparence',
advanced_tab : 'Avanc&eacute;',
meta_props : 'Balises Meta',
langprops : 'Langue et encodage',
meta_title : 'Titre',
meta_keywords : 'Mots cl&eacute;s',
meta_description : 'Description',
meta_robots : 'Robots',
doctypes : 'Doctype',
langcode : 'Code langue',
langdir : 'Sens de l\'&eacute;criture',
ltr : 'Gauche &agrave; droite',
rtl : 'Droite &agrave; gauche',
xml_pi : 'En-t&ecirc;te XML',
encoding : 'Encodage',
appearance_bgprops : 'Arri&egrave;re-plan',
appearance_marginprops : 'Marges du document',
appearance_linkprops : 'Couleur des liens',
appearance_textprops : 'Propri&eacute;t&eacute;s du texte',
bgcolor : 'Couleur de fond',
bgimage : 'Image de fond',
left_margin : 'Gauche',
right_margin : 'Droite',
top_margin : 'Haut',
bottom_margin : 'Bas',
text_color : 'Couleur du texte',
font_size : 'Taille',
font_face : 'Police',
link_color : 'Couleur des liens',
hover_color : 'Liens survol&eacute;s',
visited_color : 'Liens visit&eacute;s',
active_color : 'Liens actifs',
textcolor : 'Couleur',
fontsize : 'Taille',
fontface : 'Police',
meta_index_follow : 'Page actuelle et pages li&eacute;es',
meta_index_nofollow : 'Page actuelle uniquement',
meta_noindex_follow : 'Uniquement les pages li&eacute;es',
meta_noindex_nofollow : 'Aucune indexation',
appearance_style : 'Feuille de style et propri&eacute;t&eacute;s',
stylesheet : 'Feuille de style',
style : 'Style',
author : 'Auteur',
copyright : 'Copyright',
add : 'Ajouter un &eacute;l&eacute;ment',
remove : 'Retirer l\'&eacute;l&eacute;ment s&eacute;lectionn&eacute;',
moveup : 'Vers le haut',
movedown : 'Vers le bas',
head_elements : 'En-t&ecirc;tes',
info : 'Information',
info_text : '',
add_title : 'Balise Titre',
add_meta : 'Balise Meta',
add_script : 'Balise Script',
add_style : 'Balise Style',
add_link : 'Balise Lien',
add_base : 'Balise Base',
add_comment : 'Ajouter un commentaire',
title_element : 'Balise Titre',
script_element : 'Balise Script',
style_element : 'Balise Style',
base_element : 'Balise Base',
link_element : 'Balise Lien',
meta_element : 'Balise Meta',
comment_element : 'Commentaire',
src : 'Src',
language : 'Langage',
href : 'Href',
target : 'Target',
rel : 'Rel',
type : 'Type',
charset : 'Charset',
defer : 'Defer',
media : 'Media',
properties : 'Propri&eacute;t&eacute;s',
name : 'Nom',
value : 'Valeur',
content : 'Contenu',
rel : 'Rel',
rev : 'Rev',
hreflang : 'Href lang',
general_props : 'G&eacute;n&eacute;ral',
advanced_props : 'Avanc&eacute;',
delta_width : 0,
delta_height : 0
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/langs/en.js
New file
0,0 → 1,92
// UK lang variables
 
tinyMCE.addToLang('fullpage',{
title : 'Document properties',
desc : 'Document properties',
meta_tab : 'General',
appearance_tab : 'Appearance',
advanced_tab : 'Advanced',
meta_props : 'Meta information',
langprops : 'Language and encoding',
meta_title : 'Title',
meta_keywords : 'Keywords',
meta_description : 'Description',
meta_robots : 'Robots',
doctypes : 'Doctype',
langcode : 'Language code',
langdir : 'Language direction',
ltr : 'Left to right',
rtl : 'Right to left',
xml_pi : 'XML declaration',
encoding : 'Character encoding',
appearance_bgprops : 'Background properties',
appearance_marginprops : 'Body margins',
appearance_linkprops : 'Link colors',
appearance_textprops : 'Text properties',
bgcolor : 'Background color',
bgimage : 'Background image',
left_margin : 'Left margin',
right_margin : 'Right margin',
top_margin : 'Top margin',
bottom_margin : 'Bottom margin',
text_color : 'Text color',
font_size : 'Font size',
font_face : 'Font face',
link_color : 'Link color',
hover_color : 'Hover color',
visited_color : 'Visited color',
active_color : 'Active color',
textcolor : 'Color',
fontsize : 'Font size',
fontface : 'Font family',
meta_index_follow : 'Index and follow the links',
meta_index_nofollow : 'Index and don\'t follow the links',
meta_noindex_follow : 'Do not index but follow the links',
meta_noindex_nofollow : 'Do not index and don\'t follow the links',
appearance_style : 'Stylesheet and style properties',
stylesheet : 'Stylesheet',
style : 'Style',
author : 'Author',
copyright : 'Copyright',
add : 'Add new element',
remove : 'Remove selected element',
moveup : 'Move selected element up',
movedown : 'Move selected element down',
head_elements : 'Head elements',
info : 'Information',
info_text : '',
add_title : 'Title element',
add_meta : 'Meta element',
add_script : 'Script element',
add_style : 'Style element',
add_link : 'Link element',
add_base : 'Base element',
add_comment : 'Comment node',
title_element : 'Title element',
script_element : 'Script element',
style_element : 'Style element',
base_element : 'Base element',
link_element : 'Link element',
meta_element : 'Meta element',
comment_element : 'Comment',
src : 'Src',
language : 'Language',
href : 'Href',
target : 'Target',
rel : 'Rel',
type : 'Type',
charset : 'Charset',
defer : 'Defer',
media : 'Media',
properties : 'Properties',
name : 'Name',
value : 'Value',
content : 'Content',
rel : 'Rel',
rev : 'Rev',
hreflang : 'Href lang',
general_props : 'General',
advanced_props : 'Advanced',
delta_width : 0,
delta_height : 0
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/add.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/add.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/move_up.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/move_up.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/move_down.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/move_down.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/remove.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/remove.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/fullpage.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/images/fullpage.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
New file
0,0 → 1,235
/**
* $Id: editor_plugin_src.js 232 2007-03-05 17:00:27Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('fullpage');
 
var TinyMCE_FullPagePlugin = {
getInfo : function() {
return {
longname : 'Fullpage',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "fullpage":
return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceFullPageProperties":
var template = new Array();
 
template['file'] = '../../plugins/fullpage/fullpage.htm';
template['width'] = 430;
template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
 
template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
 
tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
return true;
 
case "mceFullPageUpdate":
TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
return true;
}
 
// Pass to next handler in chain
return false;
},
 
cleanup : function(type, content, inst) {
switch (type) {
case "insert_to_editor":
var tmp = content.toLowerCase();
var pos = tmp.indexOf('<body'), pos2;
 
// Split page in header and body chunks
if (pos != -1) {
pos = tmp.indexOf('>', pos);
pos2 = tmp.lastIndexOf('</body>');
inst.fullpageTopContent = content.substring(0, pos + 1);
content = content.substring(pos + 1, pos2);
// tinyMCE.debug(inst.fullpageTopContent, content);
} else {
if (!inst.fullpageTopContent) {
var docType = tinyMCE.getParam("fullpage_default_doctype", '<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
var ff = tinyMCE.getParam("fullpage_default_font_family", "");
var fz = tinyMCE.getParam("fullpage_default_font_size", "");
var ds = tinyMCE.getParam("fullpage_default_style", "");
var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
 
// Xml encode it
title = title.replace(/&/g, '&amp;');
title = title.replace(/\"/g, '&quot;');
title = title.replace(/</g, '&lt;');
title = title.replace(/>/g, '&gt;');
 
tmp = '';
 
// Make default chunk
if (pi)
tmp += '<?xml version="1.0" encoding="' + enc + '"?>\n';
 
tmp += docType + '\n';
tmp += '<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="' + lang + '" xml:lang="' + lang + '">\n';
tmp += '<head>\n';
tmp += '\t<title>' + title + '</title>\n';
tmp += '\t<meta http-equiv="Content-Type" content="text/html; charset=' + enc + '" />\n';
tmp += '</head>\n';
tmp += '<body';
 
if (ff != '' || fz != '') {
tmp += ' style="';
 
if (ds != '')
tmp += ds + ";";
 
if (ff != '')
tmp += 'font-family: ' + ff + ";";
 
if (fz != '')
tmp += 'font-size: ' + fz + ";";
 
tmp += '"';
}
 
if (dtc != '')
tmp += ' text="' + dtc + '"';
 
tmp += '>\n';
 
inst.fullpageTopContent = tmp;
}
}
 
this._addToHead(inst);
 
break;
 
case "get_from_editor":
if (inst.fullpageTopContent && !tinyMCE.getParam("fullpage_hide_in_source_view", false)) {
content = content.replace(/(\s)?mce\_[a-z_]+\=[^\s>]+(\s|\>)/i, ''); // Remove internal stuff
content = inst.fullpageTopContent + content + "\n</body>\n</html>";
}
 
break;
 
case "submit_content":
if (inst.fullpageTopContent && tinyMCE.getParam("fullpage_hide_in_source_view", false))
content = inst.fullpageTopContent + content + "\n</body>\n</html>";
 
break;
}
 
// Pass through to next handler in chain
return content;
},
 
// Private plugin internal methods
 
_addToHead : function(inst) {
var doc = inst.getDoc();
var head = doc.getElementsByTagName("head")[0];
var body = doc.body;
var h = inst.fullpageTopContent;
var e = doc.createElement("body");
var nl, i, le, tmp;
 
// Remove stuff we don't want
h = h.replace(/(\r|\n)/gi, '');
h = h.replace(/<\?[^\>]*\>/gi, '');
h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
h = h.replace(/<script(.*?)<\/script>/gi, '');
h = h.replace(/<title(.*?)<\/title>/gi, '');
h = h.replace(/<(meta|base)[^>]*>/gi, '');
 
// Make link and style elements into pre
h = h.replace(/<link([^>]*)\/>/gi, '<pre mce_type="link" $1></pre>');
//h = h.replace(/<style([^>]*)>(.*?)<\/style>/gi, '<pre mce_type="style" $1>$2</pre>');
 
// Make body a div
h = h.replace(/<body/gi, '<div mce_type="body"');
h += '</div>';
 
// Now crapy MSIE can parse it
e.innerHTML = h;
 
// Reset all body attributes
body.vLink = body.aLink = body.link = body.text = '';
body.style.cssText = '';
 
// Delete all old links
nl = head.getElementsByTagName('link');
for (i=0; i<nl.length; i++) {
if (tinyMCE.getAttrib(nl[i], 'mce_head') == "true")
nl[i].parentNode.removeChild(nl[i]);
}
 
// Add link elements
nl = e.getElementsByTagName('pre');
for (i=0; i<nl.length; i++) {
tmp = tinyMCE.getAttrib(nl[i], 'media');
if (tinyMCE.getAttrib(nl[i], 'mce_type') == "link" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(nl[i], 'rel') == "stylesheet") {
le = doc.createElement("link");
 
le.rel = "stylesheet";
le.href = tinyMCE.getAttrib(nl[i], 'href');
le.setAttribute("mce_head", "true");
 
head.appendChild(le);
}
}
 
// Add body attributes
nl = e.getElementsByTagName('div');
if (nl.length > 0) {
body.style.cssText = tinyMCE.getAttrib(nl[0], 'style');
 
if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '')
body.style.marginLeft = tmp + "px";
 
if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '')
body.style.marginRight = tmp + "px";
 
if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '')
body.style.marginTop = tmp + "px";
 
if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '')
body.style.marginBottom = tmp + "px";
 
body.dir = tinyMCE.getAttrib(nl[0], 'dir');
body.vLink = tinyMCE.getAttrib(nl[0], 'vlink');
body.aLink = tinyMCE.getAttrib(nl[0], 'alink');
body.link = tinyMCE.getAttrib(nl[0], 'link');
body.text = tinyMCE.getAttrib(nl[0], 'text');
 
if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '')
body.style.backgroundImage = "url('" + tmp + "')";
 
if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '')
body.style.backgroundColor = tmp;
}
}
};
 
tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/fullpage.htm
New file
0,0 → 1,577
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_fullpage_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mclayer.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/fullpage.js"></script>
<link href="css/fullpage.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="updateAction();return false;" name="fullpage" action="#">
<div class="tabs">
<ul>
<li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{$lang_fullpage_meta_tab}</a></span></li>
<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_fullpage_appearance_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="meta_panel" class="panel current">
<fieldset>
<legend>{$lang_fullpage_meta_props}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td nowrap="nowrap"><label for="metatitle">{$lang_fullpage_meta_title}</label>&nbsp;</td>
<td><input type="text" id="metatitle" name="metatitle" value="" /></td>
</tr>
<tr>
<td nowrap="nowrap"><label for="metakeywords">{$lang_fullpage_meta_keywords}</label>&nbsp;</td>
<td><textarea id="metakeywords" name="metakeywords" rows="4"></textarea></td>
</tr>
<tr>
<td nowrap="nowrap"><label for="metadescription">{$lang_fullpage_meta_description}</label>&nbsp;</td>
<td><textarea id="metadescription" name="metadescription" rows="4"></textarea></td>
</tr>
<tr>
<td nowrap="nowrap"><label for="metaauthor">{$lang_fullpage_author}</label>&nbsp;</td>
<td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
</tr>
<tr>
<td nowrap="nowrap"><label for="metacopyright">{$lang_fullpage_copyright}</label>&nbsp;</td>
<td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
</tr>
<tr>
<td nowrap="nowrap"><label for="metarobots">{$lang_fullpage_meta_robots}</label>&nbsp;</td>
<td>
<select id="metarobots" name="metarobots">
<option value="">{$lang_not_set}</option>
<option value="index,follow">{$lang_fullpage_meta_index_follow}</option>
<option value="index,nofollow">{$lang_fullpage_meta_index_nofollow}</option>
<option value="noindex,follow">{$lang_fullpage_meta_noindex_follow}</option>
<option value="noindex,nofollow">{$lang_fullpage_meta_noindex_nofollow}</option>
</select>
</td>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_fullpage_langprops}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="docencoding">{$lang_fullpage_encoding}</label></td>
<td>
<select id="docencoding" name="docencoding">
<option value="">{$lang_not_set}</option>
</select>
</td>
</tr>
<tr>
<td nowrap="nowrap"><label for="doctypes">{$lang_fullpage_doctypes}</label>&nbsp;</td>
<td>
<select id="doctypes" name="doctypes">
<option value="">{$lang_not_set}</option>
</select>
</td>
</tr>
<tr>
<td nowrap="nowrap"><label for="langcode">{$lang_fullpage_langcode}</label>&nbsp;</td>
<td><input type="text" id="langcode" name="langcode" value="" /></td>
</tr>
<tr>
<td class="column1"><label for="langdir">{$lang_fullpage_langdir}</label></td>
<td>
<select id="langdir" name="langdir">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_fullpage_ltr}</option>
<option value="rtl">{$lang_fullpage_rtl}</option>
</select>
</td>
</tr>
<tr>
<td nowrap="nowrap"><label for="xml_pi">{$lang_fullpage_xml_pi}</label>&nbsp;</td>
<td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td>
</tr>
</table>
</fieldset>
</div>
 
<div id="appearance_panel" class="panel">
<fieldset>
<legend>{$lang_fullpage_appearance_textprops}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="fontface">{$lang_fullpage_fontface}</label></td>
<td>
<select id="fontface" name="fontface" onchange="changedStyleField(this);">
<option value="">{$lang_not_set}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label for="fontsize">{$lang_fullpage_fontsize}</label></td>
<td>
<select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
<option value="">{$lang_not_set}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label for="textcolor">{$lang_fullpage_textcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');changedStyleField(this);" /></td>
<td id="textcolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_fullpage_appearance_bgprops}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="bgimage">{$lang_fullpage_bgimage}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgimage" name="bgimage" type="text" value="" onchange="changedStyleField(this);" /></td>
<td id="bgimage_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="column1"><label for="bgcolor">{$lang_fullpage_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedStyleField(this);" /></td>
<td id="bgcolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_fullpage_appearance_marginprops}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="leftmargin">{$lang_fullpage_left_margin}</label></td>
<td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
<td class="column1"><label for="rightmargin">{$lang_fullpage_right_margin}</label></td>
<td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
</tr>
<tr>
<td class="column1"><label for="topmargin">{$lang_fullpage_top_margin}</label></td>
<td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
<td class="column1"><label for="bottommargin">{$lang_fullpage_bottom_margin}</label></td>
<td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_fullpage_appearance_linkprops}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="link_color">{$lang_fullpage_link_color}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');changedStyleField(this);" /></td>
<td id="link_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
 
<td class="column1"><label for="visited_color">{$lang_fullpage_visited_color}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');changedStyleField(this);" /></td>
<td id="visited_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td class="column1"><label for="active_color">{$lang_fullpage_active_color}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');changedStyleField(this);" /></td>
<td id="active_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
 
<td>&nbsp;</td>
<td>&nbsp;</td>
 
<!-- <td class="column1"><label for="hover_color">{$lang_fullpage_hover_color}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="hover_color" name="hover_color" type="text" value="" size="9" onchange="changedStyleField(this);" /></td>
<td id="hover_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td> -->
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_fullpage_appearance_style}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="stylesheet">{$lang_fullpage_stylesheet}</label></td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="stylesheet" name="stylesheet" type="text" value="" /></td>
<td id="stylesheet_browsercontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td class="column1"><label for="style">{$lang_fullpage_style}</label></td>
<td><input id="style" name="style" type="text" value="" onchange="changedStyleField(this);" /></td>
</tr>
</table>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<div id="addmenu">
<table border="0" cellpadding="0" cellspacing="0">
<tr><td><a href="javascript:addHeadElm('title');" onmousedown="return false;"><span>{$lang_fullpage_add_title}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{$lang_fullpage_add_meta}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{$lang_fullpage_add_script}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{$lang_fullpage_add_style}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{$lang_fullpage_add_link}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{$lang_fullpage_add_base}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{$lang_fullpage_add_comment}</span></a></td></tr>
</table>
</div>
 
<fieldset>
<legend>{$lang_fullpage_head_elements}</legend>
 
<div class="headlistwrapper">
<div class="toolbar">
<div style="float: left">
<a id="addbutton" href="javascript:showAddMenu();" onmousedown="return false;" class="addbutton" title="{$lang_fullpage_add}"></a>
<a href="#" onmousedown="return false;" class="removebutton" title="{$lang_fullpage_remove}"></a>
</div>
<div style="float: right">
<a href="#" onmousedown="return false;" class="moveupbutton" title="{$lang_fullpage_moveup}"></a>
<a href="#" onmousedown="return false;" class="movedownbutton" title="{$lang_fullpage_movedown}"></a>
</div>
<br style="clear: both" />
</div>
<select id="headlist" size="26" onchange="updateHeadElm(this.options[this.selectedIndex].value);">
<option value="title_0">&lt;title&gt;Some title bla bla bla&lt;/title&gt;</option>
<option value="meta_1">&lt;meta name="keywords"&gt;Some bla bla bla&lt;/meta&gt;</option>
<option value="meta_2">&lt;meta name="description"&gt;Some bla bla bla bla bla bla bla bla bla&lt;/meta&gt;</option>
<option value="script_3">&lt;script language=&quot;javascript&quot;&gt;...&lt;/script&gt;</option>
<option value="style_4">&lt;style&gt;...&lt;/style&gt;</option>
<option value="base_5">&lt;base href="." /&gt;</option>
<option value="comment_6">&lt;!-- ... --&gt;</option>
<option value="link_7">&lt;link href="." /&gt;</option>
</select>
</div>
</fieldset>
 
<fieldset id="meta_element">
<legend>{$lang_fullpage_meta_element}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_meta_type">{$lang_fullpage_type}</label></td>
<td><select id="element_meta_type">
<option value="name">name</option>
<option value="http-equiv">http-equiv</option>
</select></td>
</tr>
<tr>
<td class="column1"><label for="element_meta_name">{$lang_fullpage_name}</label></td>
<td><input id="element_meta_name" name="element_meta_name" type="text" value="" /></td>
</tr>
<tr>
<td class="column1"><label for="element_meta_content">{$lang_fullpage_content}</label></td>
<td><input id="element_meta_content" name="element_meta_content" type="text" value="" /></td>
</tr>
</table>
 
<input type="button" id="meta_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
 
<fieldset id="title_element">
<legend>{$lang_fullpage_title_element}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_title">{$lang_fullpage_meta_title}</label></td>
<td><input id="element_title" name="element_title" type="text" value="" /></td>
</tr>
</table>
 
<input type="button" id="title_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
 
<fieldset id="script_element">
<legend>{$lang_fullpage_script_element}</legend>
 
<div class="tabs">
<ul>
<li id="script_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('script_props_tab','script_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
<li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
</ul>
</div>
 
<br style="clear: both" />
 
<div class="panel_wrapper">
<div id="script_props_panel" class="panel current">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_script_type">{$lang_fullpage_type}</label></td>
<td><select id="element_script_type">
<option value="text/javascript">text/javascript</option>
<option value="text/jscript">text/jscript</option>
<option value="text/vbscript">text/vbscript</option>
<option value="text/vbs">text/vbs</option>
<option value="text/ecmascript">text/ecmascript</option>
<option value="text/xml">text/xml</option>
</select></td>
</tr>
<tr>
<td class="column1"><label for="element_script_src">{$lang_fullpage_src}</label></td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="element_script_src" name="element_script_src" type="text" value="" /></td>
<td id="script_src_pickcontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td class="column1"><label for="element_script_charset">{$lang_fullpage_charset}</label></td>
<td><select id="element_script_charset"><option value="">{$lang_not_set}</option></select></td>
</tr>
<tr>
<td class="column1"><label for="element_script_defer">{$lang_fullpage_defer}</label></td>
<td><input type="checkbox" id="element_script_defer" name="element_script_defer" class="checkbox" /></td>
</tr>
</table>
</div>
 
<div id="script_value_panel" class="panel">
<textarea id="element_script_value"></textarea>
</div>
</div>
 
<input type="button" id="script_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
 
<fieldset id="style_element">
<legend>{$lang_fullpage_style_element}</legend>
 
<div class="tabs">
<ul>
<li id="style_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('style_props_tab','style_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
<li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
</ul>
</div>
 
<br style="clear: both" />
 
<div class="panel_wrapper">
<div id="style_props_panel" class="panel current">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_style_type">{$lang_fullpage_type}</label></td>
<td><select id="element_style_type">
<option value="text/css">text/css</option>
</select></td>
</tr>
<tr>
<td class="column1"><label for="element_style_media">{$lang_fullpage_media}</label></td>
<td><select id="element_style_media"></select></td>
</tr>
</table>
</div>
 
<div id="style_value_panel" class="panel">
<textarea id="element_style_value"></textarea>
</div>
</div>
 
<input type="button" id="style_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
 
<fieldset id="base_element">
<legend>{$lang_fullpage_base_element}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_base_href">{$lang_fullpage_href}</label></td>
<td><input id="element_base_href" name="element_base_href" type="text" value="" /></td>
</tr>
<tr>
<td class="column1"><label for="element_base_target">{$lang_fullpage_target}</label></td>
<td><input id="element_base_target" name="element_base_target" type="text" value="" /></td>
</tr>
</table>
 
<input type="button" id="base_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
 
<fieldset id="link_element">
<legend>{$lang_fullpage_link_element}</legend>
 
<div class="tabs">
<ul>
<li id="link_general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('link_general_tab','link_general_panel');" onmousedown="return false;">{$lang_fullpage_general_props}</a></span></li>
<li id="link_advanced_tab"><span><a href="javascript:mcTabs.displayTab('link_advanced_tab','link_advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_props}</a></span></li>
</ul>
</div>
 
<br style="clear: both" />
 
<div class="panel_wrapper">
<div id="link_general_panel" class="panel current">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_link_href">{$lang_fullpage_href}</label></td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="element_link_href" name="element_link_href" type="text" value="" /></td>
<td id="link_href_pickcontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td class="column1"><label for="element_link_title">{$lang_fullpage_meta_title}</label></td>
<td><input id="element_link_title" name="element_link_title" type="text" value="" /></td>
</tr>
<tr>
<td class="column1"><label for="element_link_type">{$lang_fullpage_type}</label></td>
<td><select id="element_link_type" name="element_link_type">
<option value="text/css">text/css</option>
<option value="text/javascript">text/javascript</option>
</select></td>
</tr>
<tr>
<td class="column1"><label for="element_link_media">{$lang_fullpage_media}</label></td>
<td><select id="element_link_media" name="element_link_media"></select></td>
</tr>
<tr>
<td><label for="element_style_rel">{$lang_fullpage_rel}</label></td>
<td><select id="element_style_rel" name="element_style_rel">
<option value="">{$lang_not_set}</option>
<option value="stylesheet">Stylesheet</option>
<option value="alternate">Alternate</option>
<option value="designates">Designates</option>
<option value="start">Start</option>
<option value="next">Next</option>
<option value="prev">Prev</option>
<option value="contents">Contents</option>
<option value="index">Index</option>
<option value="glossary">Glossary</option>
<option value="copyright">Copyright</option>
<option value="chapter">Chapter</option>
<option value="subsection">Subsection</option>
<option value="appendix">Appendix</option>
<option value="help">Help</option>
<option value="bookmark">Bookmark</option>
</select>
</td>
</tr>
</table>
</div>
 
<div id="link_advanced_panel" class="panel">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_link_charset">{$lang_fullpage_charset}</label></td>
<td><select id="element_link_charset"><option value="">{$lang_not_set}</option></select></td>
</tr>
<tr>
<td class="column1"><label for="element_link_hreflang">{$lang_fullpage_hreflang}</label></td>
<td><input id="element_link_hreflang" name="element_link_hreflang" type="text" value="" /></td>
</tr>
<tr>
<td class="column1"><label for="element_link_target">{$lang_fullpage_target}</label></td>
<td><input id="element_link_target" name="element_link_target" type="text" value="" /></td>
</tr>
<tr>
<td><label for="element_style_rev">{$lang_fullpage_rev}</label></td>
<td><select id="element_style_rev" name="element_style_rev">
<option value="">{$lang_not_set}</option>
<option value="alternate">Alternate</option>
<option value="designates">Designates</option>
<option value="stylesheet">Stylesheet</option>
<option value="start">Start</option>
<option value="next">Next</option>
<option value="prev">Prev</option>
<option value="contents">Contents</option>
<option value="index">Index</option>
<option value="glossary">Glossary</option>
<option value="copyright">Copyright</option>
<option value="chapter">Chapter</option>
<option value="subsection">Subsection</option>
<option value="appendix">Appendix</option>
<option value="help">Help</option>
<option value="bookmark">Bookmark</option>
</select>
</td>
</tr>
</table>
</div>
</div>
 
<input type="button" id="link_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
 
<fieldset id="comment_element">
<legend>{$lang_fullpage_comment_element}</legend>
 
<textarea id="element_comment_value"></textarea>
 
<input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="update" value="{$lang_update}" onclick="updateAction();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css
New file
0,0 → 1,176
/* Hide the advanced tab */
#advanced_tab {
display: none;
}
 
#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
width: 280px;
}
 
#doctype, #docencoding {
width: 200px;
}
 
#langcode {
width: 30px;
}
 
#bgimage {
width: 220px;
}
 
#fontface {
width: 240px;
}
 
#leftmargin, #rightmargin, #topmargin, #bottommargin {
width: 50px;
}
 
.panel_wrapper div.current {
height: 400px;
}
 
#stylesheet, #style {
width: 240px;
}
 
/* Head list classes */
 
.headlistwrapper {
width: 100%;
}
 
.addbutton, .removebutton, .moveupbutton, .movedownbutton {
border-top: 1px solid;
border-left: 1px solid;
border-bottom: 1px solid;
border-right: 1px solid;
border-color: #F0F0EE;
cursor: default;
display: block;
width: 20px;
height: 20px;
}
 
.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover {
border: 1px solid #0A246A;
background-color: #B6BDD2;
}
 
.addbutton {
background-image: url('../images/add.gif');
float: left;
margin-right: 3px;
}
 
.removebutton {
background-image: url('../images/remove.gif');
float: left;
}
 
.moveupbutton {
background-image: url('../images/move_up.gif');
float: left;
margin-right: 3px;
}
 
.movedownbutton {
background-image: url('../images/move_down.gif');
float: left;
}
 
.selected {
border: 1px solid #0A246A;
background-color: #B6BDD2;
}
 
.toolbar {
width: 100%;
}
 
#headlist {
width: 100%;
margin-top: 3px;
font-size: 11px;
}
 
#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
display: none;
}
 
#addmenu {
position: absolute;
border: 1px solid gray;
display: none;
z-index: 100;
background-color: white;
}
 
#addmenu a {
display: block;
width: 100%;
line-height: 20px;
text-decoration: none;
background-color: white;
}
 
#addmenu a:hover {
background-color: #B6BDD2;
color: black;
}
 
#addmenu span {
padding-left: 10px;
padding-right: 10px;
}
 
#updateElementPanel {
display: none;
}
 
#script_element .panel_wrapper div.current {
height: 108px;
}
 
#style_element .panel_wrapper div.current {
height: 108px;
}
 
#link_element .panel_wrapper div.current {
height: 140px;
}
 
#element_script_value {
width: 100%;
height: 100px;
}
 
#element_comment_value {
width: 100%;
height: 120px;
}
 
#element_style_value {
width: 100%;
height: 100px;
}
 
#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
width: 250px;
}
 
.updateElementButton {
margin-top: 3px;
}
 
/* MSIE specific styles */
 
* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
width: 22px;
height: 22px;
}
 
textarea {
height: 55px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('fullscreen');var TinyMCE_FullScreenPlugin={getInfo:function(){return{longname:'Fullscreen',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['fullscreen_skip_plugin_css'])tinyMCE.importCSS(inst.getContainerWin().document,tinyMCE.baseURL+"/plugins/fullscreen/css/page.css")},getControlHTML:function(cn){switch(cn){case"fullscreen":return tinyMCE.getButtonHTML(cn,'lang_fullscreen_desc','{$pluginurl}/images/fullscreen.gif','mceFullScreen')}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst;switch(command){case"mceFullScreen":inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.getParam('fullscreen_new_window'))this._toggleFullscreenWin(inst);else this._toggleFullscreen(inst);return true}return false},_toggleFullscreenWin:function(inst){if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(inst.editorId));top.close()}else{tinyMCE.setWindowArg('editor_id',inst.editorId);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{win.resizeTo(screen.availWidth,screen.availHeight)}catch(e){}}},_toggleFullscreen:function(inst){var ds=inst.getData('fullscreen'),editorContainer,tableElm,iframe,vp,cw,cd,re,w,h,si,blo,delta=0,cell,row,fcml,bcml;cw=inst.getContainerWin();cd=cw.document;editorContainer=cd.getElementById(inst.editorId+'_parent');tableElm=editorContainer.firstChild;iframe=inst.iframeElement;re=cd.getElementById(inst.editorId+'_resize');blo=document.getElementById('mce_fullscreen_blocker');fcm=new TinyMCE_Layer(inst.editorId+'_fcMenu');fcml=new TinyMCE_Layer(inst.editorId+'_fcMenu');bcml=new TinyMCE_Layer(inst.editorId+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_backcolor','mceMenuButton');bcml.hide()}if(!ds.enabled){if(inst.toolbarElement){delta+=inst.toolbarElement.offsetHeight;cell=tableElm.tBodies[0].insertRow(0).insertCell(-1);cell.className='mceToolbarTop';cell.nowrap=true;ds.oldToolbarParent=inst.toolbarElement.parentNode;ds.toolbarHolder=document.createTextNode('...');cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder,inst.toolbarElement))}ds.parents=[];vp=tinyMCE.getViewPort(cw);ds.scrollX=vp.left;ds.scrollY=vp.top;if(!tinyMCE.isOpera)tinyMCE.addCSSClass(cd.body,'mceFullscreen');tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.addCSSClass(n,'mceFullscreenPos');return false});if(re)re.style.display='none';vp=tinyMCE.getViewPort(cw);ds.oldWidth=iframe.style.width?iframe.style.width:iframe.offsetWidth;ds.oldHeight=iframe.style.height?iframe.style.height:iframe.offsetHeight;ds.oldTWidth=tableElm.style.width?tableElm.style.width:tableElm.offsetWidth;ds.oldTHeight=tableElm.style.height?tableElm.style.height:tableElm.offsetHeight;if(ds.oldWidth&&ds.oldWidth.indexOf)ds.oldTWidth=ds.oldWidth.indexOf('%')!=-1?ds.oldWidth:ds.oldTWidth;if(!blo&&tinyMCE.isRealIE){blo=tinyMCE.createTag(document,'iframe',{id:'mce_fullscreen_blocker',src:'about:blank',frameBorder:0,width:vp.width,height:vp.height,style:'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});document.body.appendChild(blo)}tableElm.style.position='absolute';tableElm.style.zIndex=1000;tableElm.style.left=tableElm.style.top='0';tableElm.style.width=vp.width+'px';tableElm.style.height=vp.height+'px';if(tinyMCE.isRealIE){iframe.style.width=vp.width+'px';iframe.style.height=vp.height+'px';w=iframe.parentNode.clientWidth-(tableElm.offsetWidth-vp.width);h=iframe.parentNode.clientHeight-(tableElm.offsetHeight-vp.height)}else{w=iframe.parentNode.clientWidth;h=iframe.parentNode.clientHeight}iframe.style.width=w+"px";iframe.style.height=(h+delta)+"px";tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonSelected');ds.enabled=true;inst.useCSS=false}else{if(inst.toolbarElement){row=inst.toolbarElement.parentNode.parentNode;row.parentNode.removeChild(row);ds.oldToolbarParent.replaceChild(inst.toolbarElement,ds.toolbarHolder);ds.oldToolbarParent=null;ds.toolbarHolder=null}if(blo)blo.parentNode.removeChild(blo);si=0;tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.removeCSSClass(n,'mceFullscreenPos')});if(re&&tinyMCE.getParam("theme_advanced_resizing",false))re.style.display='block';tableElm.style.position='static';tableElm.style.zIndex='';tableElm.style.width='';tableElm.style.height='';tableElm.style.width=ds.oldTWidth?ds.oldTWidth:'';tableElm.style.height=ds.oldTHeight?ds.oldTHeight:'';iframe.style.width=ds.oldWidth?ds.oldWidth:'';iframe.style.height=ds.oldHeight?ds.oldHeight:'';tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonNormal');ds.enabled=false;tinyMCE.removeCSSClass(cd.body,'mceFullscreen');cw.scrollTo(ds.scrollX,ds.scrollY);inst.useCSS=false}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam('fullscreen_is_enabled'))tinyMCE.switchClass(editor_id+'_fullscreen','mceButtonSelected');return true}};tinyMCE.addPlugin("fullscreen",TinyMCE_FullScreenPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/langs/fr.js
New file
0,0 → 1,7
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
fullscreen_title : 'Affichage plein &eacute;cran',
fullscreen_desc : 'Affichage plein &eacute;cran/normal'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/langs/en.js
New file
0,0 → 1,5
// UK lang variables
 
tinyMCE.addToLang('',{
fullscreen_desc : 'Toggle fullscreen mode'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
New file
0,0 → 1,230
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('fullscreen');
 
var TinyMCE_FullScreenPlugin = {
getInfo : function() {
return {
longname : 'Fullscreen',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
if (!tinyMCE.settings['fullscreen_skip_plugin_css'])
tinyMCE.importCSS(inst.getContainerWin().document, tinyMCE.baseURL + "/plugins/fullscreen/css/page.css");
},
 
getControlHTML : function(cn) {
switch (cn) {
case "fullscreen":
return tinyMCE.getButtonHTML(cn, 'lang_fullscreen_desc', '{$pluginurl}/images/fullscreen.gif', 'mceFullScreen');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
var inst;
 
// Handle commands
switch (command) {
case "mceFullScreen":
inst = tinyMCE.getInstanceById(editor_id);
 
if (tinyMCE.getParam('fullscreen_new_window'))
this._toggleFullscreenWin(inst);
else
this._toggleFullscreen(inst);
 
return true;
}
 
// Pass to next handler in chain
return false;
},
 
_toggleFullscreenWin : function(inst) {
if (tinyMCE.getParam('fullscreen_is_enabled')) {
// In fullscreen mode
window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(inst.editorId));
top.close();
} else {
tinyMCE.setWindowArg('editor_id', inst.editorId);
 
var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
try { win.resizeTo(screen.availWidth, screen.availHeight); } catch (e) {}
}
},
 
_toggleFullscreen : function(inst) {
var ds = inst.getData('fullscreen'), editorContainer, tableElm, iframe, vp, cw, cd, re, w, h, si, blo, delta = 0, cell, row, fcml, bcml;
 
cw = inst.getContainerWin();
cd = cw.document;
editorContainer = cd.getElementById(inst.editorId + '_parent');
tableElm = editorContainer.firstChild;
iframe = inst.iframeElement;
re = cd.getElementById(inst.editorId + '_resize');
blo = document.getElementById('mce_fullscreen_blocker');
fcm = new TinyMCE_Layer(inst.editorId + '_fcMenu');
fcml = new TinyMCE_Layer(inst.editorId + '_fcMenu');
bcml = new TinyMCE_Layer(inst.editorId + '_bcMenu');
 
if (fcml.exists() && fcml.isVisible()) {
tinyMCE.switchClass(inst.editorId + '_forecolor', 'mceMenuButton');
fcml.hide();
}
 
if (bcml.exists() && bcml.isVisible()) {
tinyMCE.switchClass(inst.editorId + '_backcolor', 'mceMenuButton');
bcml.hide();
}
 
if (!ds.enabled) {
// Handle External Toolbar
if (inst.toolbarElement) {
delta += inst.toolbarElement.offsetHeight;
 
cell = tableElm.tBodies[0].insertRow(0).insertCell(-1);
cell.className = 'mceToolbarTop';
cell.nowrap = true;
 
ds.oldToolbarParent = inst.toolbarElement.parentNode;
ds.toolbarHolder = document.createTextNode('...');
 
cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder, inst.toolbarElement));
}
 
ds.parents = [];
 
vp = tinyMCE.getViewPort(cw);
ds.scrollX = vp.left;
ds.scrollY = vp.top;
 
// Opera has a bug restoring scrollbars
if (!tinyMCE.isOpera)
tinyMCE.addCSSClass(cd.body, 'mceFullscreen');
 
tinyMCE.getParentNode(tableElm.parentNode, function (n) {
if (n.nodeName == 'BODY')
return true;
 
if (n.nodeType == 1)
tinyMCE.addCSSClass(n, 'mceFullscreenPos');
 
return false;
});
 
if (re)
re.style.display = 'none';
 
vp = tinyMCE.getViewPort(cw);
 
ds.oldWidth = iframe.style.width ? iframe.style.width : iframe.offsetWidth;
ds.oldHeight = iframe.style.height ? iframe.style.height : iframe.offsetHeight;
ds.oldTWidth = tableElm.style.width ? tableElm.style.width : tableElm.offsetWidth;
ds.oldTHeight = tableElm.style.height ? tableElm.style.height : tableElm.offsetHeight;
 
// Handle % width
if (ds.oldWidth && ds.oldWidth.indexOf)
ds.oldTWidth = ds.oldWidth.indexOf('%') != -1 ? ds.oldWidth : ds.oldTWidth;
 
if (!blo && tinyMCE.isRealIE) {
blo = tinyMCE.createTag(document, 'iframe', {id : 'mce_fullscreen_blocker', src : 'about:blank', frameBorder : 0, width : vp.width, height : vp.height, style : 'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});
document.body.appendChild(blo);
}
 
tableElm.style.position = 'absolute';
tableElm.style.zIndex = 1000;
tableElm.style.left = tableElm.style.top = '0';
 
tableElm.style.width = vp.width + 'px';
tableElm.style.height = vp.height + 'px';
 
if (tinyMCE.isRealIE) {
iframe.style.width = vp.width + 'px';
iframe.style.height = vp.height + 'px';
 
// Calc new width/height based on overflow
w = iframe.parentNode.clientWidth - (tableElm.offsetWidth - vp.width);
h = iframe.parentNode.clientHeight - (tableElm.offsetHeight - vp.height);
} else {
w = iframe.parentNode.clientWidth;
h = iframe.parentNode.clientHeight;
}
 
iframe.style.width = w + "px";
iframe.style.height = (h+delta) + "px";
 
tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonSelected');
ds.enabled = true;
 
inst.useCSS = false;
} else {
// Handle External Toolbar
if (inst.toolbarElement) {
row = inst.toolbarElement.parentNode.parentNode;
 
row.parentNode.removeChild(row);
 
ds.oldToolbarParent.replaceChild(inst.toolbarElement, ds.toolbarHolder);
 
ds.oldToolbarParent = null;
ds.toolbarHolder = null;
}
 
if (blo)
blo.parentNode.removeChild(blo);
 
si = 0;
tinyMCE.getParentNode(tableElm.parentNode, function (n) {
if (n.nodeName == 'BODY')
return true;
 
if (n.nodeType == 1)
tinyMCE.removeCSSClass(n, 'mceFullscreenPos');
});
 
if (re && tinyMCE.getParam("theme_advanced_resizing", false))
re.style.display = 'block';
 
tableElm.style.position = 'static';
tableElm.style.zIndex = '';
tableElm.style.width = '';
tableElm.style.height = '';
 
tableElm.style.width = ds.oldTWidth ? ds.oldTWidth : '';
tableElm.style.height = ds.oldTHeight ? ds.oldTHeight : '';
 
iframe.style.width = ds.oldWidth ? ds.oldWidth : '';
iframe.style.height = ds.oldHeight ? ds.oldHeight : '';
 
tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonNormal');
ds.enabled = false;
 
tinyMCE.removeCSSClass(cd.body, 'mceFullscreen');
cw.scrollTo(ds.scrollX, ds.scrollY);
 
inst.useCSS = false;
}
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (tinyMCE.getParam('fullscreen_is_enabled'))
tinyMCE.switchClass(editor_id + '_fullscreen', 'mceButtonSelected');
 
return true;
}
};
 
tinyMCE.addPlugin("fullscreen", TinyMCE_FullScreenPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/css/page.css
New file
0,0 → 1,21
/* This class restores all CSS properties to that absolute positioning of fullscreen mode is correct */
.mceFullscreenPos {
display: block !important;
position: static !important;
left: 0 !important;
top: 0 !important;
bottom: auto !important;
right: auto !important;
width: auto !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
overflow: visible;
z-index: 1 !important;
clear: both;
}
 
body.mceFullscreen {
overflow: hidden !important;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm
New file
0,0 → 1,91
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_fullscreen_title}</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
function patchCallback(settings, key) {
if (settings[key])
settings[key] = "window.opener." + settings[key];
}
 
var settings = new Array();
 
// Clone array
for (var name in window.opener.tinyMCE.settings)
settings[name] = window.opener.tinyMCE.settings[name];
 
// Override options for fullscreen
for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
 
// Patch callbacks, make them point to window.opener
patchCallback(settings, 'urlconverter_callback');
patchCallback(settings, 'insertlink_callback');
patchCallback(settings, 'insertimage_callback');
patchCallback(settings, 'setupcontent_callback');
patchCallback(settings, 'save_callback');
patchCallback(settings, 'onchange_callback');
patchCallback(settings, 'init_instance_callback');
patchCallback(settings, 'file_browser_callback');
patchCallback(settings, 'cleanup_callback');
patchCallback(settings, 'execcommand_callback');
patchCallback(settings, 'oninit');
 
// Set options
settings['mode'] = 'exact';
settings['elements'] = 'fullscreenarea';
settings['ask'] = false;
settings['setupcontent_callback'] = 'setupContent';
settings['fullscreen_is_enabled'] = true;
settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
settings['theme_advanced_resizing'] = false;
 
// Init
tinyMCE.init(settings);
tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
 
function setupContent(editor_id, body, doc) {
var inst = tinyMCE.getInstanceById(editor_id);
var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));
 
// Setup title
var divElm = document.createElement("div");
divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
document.title = divElm.innerHTML;
 
// Get content
inst.execCommand('mceSetContent', false, content);
}
 
function unloadHandler(e) {
moveContent();
}
 
function moveContent() {
var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;
window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);
}
 
// Add onunload
tinyMCE.addEvent(window, "beforeunload", unloadHandler);
 
function doParentSubmit() {
moveContent();
 
if (window.opener.tinyMCE.selectedInstance.formElement.form)
window.opener.tinyMCE.selectedInstance.formElement.form.submit();
 
window.close();
 
return false;
}
</script>
<base target="_self" />
</head>
<body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">
<form onsubmit="doParentSubmit();" style="height: 100%">
<textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/spellchecker/langs/fr.js
New file
0,0 → 1,16
// FR lang variables
// Modified by shadow walker, last updated 2007-03-16, based on the work of Motte
 
tinyMCE.addToLang('spellchecker',{
desc : 'Correcteur orthographique',
menu : 'Options du correcteur',
ignore_word : 'Ignorer le mot',
ignore_words : 'Tout ignorer',
langs : 'Langues',
wait : 'Veuillez patienter...',
swait : 'Contr&ocirc;le de l\'orthographe, veuillez patienter...',
sug : 'Suggestions',
no_sug : 'Pas de suggestions',
no_mpell : 'Aucune erreur d&eacute;tect&eacute;.',
mpell_found : 'Trouver {$words} erreur(s).'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/langs/en.js
New file
0,0 → 1,8
// UK lang variables
 
tinyMCE.addToLang('',{
insert_advhr_desc : 'Horizontale rule',
insert_advhr_width : 'Width',
insert_advhr_size : 'Height',
insert_advhr_noshade : 'No shadow'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/langs/fr.js
New file
0,0 → 1,9
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
insert_advhr_desc : 'Ins&eacute;rer une r&egrave;gle horizontale styl&eacute;e',
insert_advhr_width : 'Largeur',
insert_advhr_size : 'Hauteur',
insert_advhr_noshade : 'Sans ombre'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/images/advhr.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/images/advhr.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js
New file
0,0 → 1,90
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advhr');
 
var TinyMCE_AdvancedHRPlugin = {
getInfo : function() {
return {
longname : 'Advanced HR',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
}
},
 
getControlHTML : function(cn) {
switch (cn) {
case "advhr":
return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
}
 
return "";
},
 
/**
* Executes the mceAdvanceHr command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceAdvancedHr":
var template = new Array();
 
template['file'] = '../../plugins/advhr/rule.htm'; // Relative to theme
template['width'] = 250;
template['height'] = 160;
 
template['width'] += tinyMCE.getLang('lang_advhr_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
 
var size = "", width = "", noshade = "";
if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {
tinyMCE.hrElement = tinyMCE.selectedElement;
 
if (tinyMCE.hrElement) {
size = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
width = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
}
 
tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
} else {
if (tinyMCE.isMSIE) {
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
} else {
tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
}
}
 
return true;
}
 
// Pass to next handler in chain
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (node == null)
return;
 
do {
if (node.nodeName == "HR") {
tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');
return true;
}
} while ((node = node.parentNode));
 
tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');
 
return true;
}
};
 
tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/css/advhr.css
New file
0,0 → 1,23
input.radio {
border: 1px none #000000;
background-color: transparent;
vertical-align: middle;
}
 
.panel_wrapper div.current {
height: 80px;
}
 
#width {
width: 50px;
vertical-align: middle;
}
 
#width2 {
width: 50px;
vertical-align: middle;
}
 
#size {
width: 100px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/rule.htm
New file
0,0 → 1,61
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_insert_advhr_desc}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<link href="css/advhr.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');">
<form onsubmit="insertHR();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_advhr_desc}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="width">{$lang_insert_advhr_width}</label></td>
<td nowrap="nowrap">
<input id="width" name="width" type="text" value="" />
<select name="width2" id="width2">
<option value="">px</option>
<option value="%">%</option>
</select>
</td>
</tr>
<tr>
<td><label for="size">{$lang_insert_advhr_size}</label></td>
<td><select id="size" name="size">
<option value="">Normal</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
</tr>
<tr>
<td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
<td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
</tr>
</table>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertHR();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('advhr');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):""}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'})}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />')}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'})}}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advhr/jscripts/rule.js
New file
0,0 → 1,43
function init() {
tinyMCEPopup.resizeToInnerSize();
 
var formObj = document.forms[0];
formObj.width.value = tinyMCE.getWindowArg('width');
formObj.size.value = tinyMCE.getWindowArg('size');
formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true);
if (tinyMCE.getWindowArg('noshade')) {
formObj.noshade.checked = true;
}
if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
formObj.width2.value = "%";
formObj.width.value = formObj.width.value.substring(0,formObj.width.value.length-1);
}
}
 
function insertHR() {
var formObj = document.forms[0];
var width = formObj.width.value;
var size = formObj.size.value;
var html = '<hr';
if (size!='' && size!=0) {
html += ' size="' + size + '"';
}
if (width!='' && width!=0) {
html += ' width="' + width;
if (formObj.width2.value=='%') {
html += '%';
}
html += '"';
}
if (formObj.noshade.checked==true) {
html += ' noshade="noshade"';
}
html += ' />';
 
tinyMCEPopup.execCommand("mceInsertContent", true, html);
tinyMCEPopup.close();
}
 
function cancelAction() {
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/_template/langs/fr.js
New file
0,0 → 1,9
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
/* N'oubliez pas d'identifer les parametres de langue ainsi: <votre plugin>_<un nom> */
 
tinyMCE.addToLang('',{
template_title : 'Texte qui appara&icirc;tra sous forme de titre dans la fen&ecirc;tre pop-up de votre plugin',
template_desc : 'Texte qui appara&icirc;tra sous forme d\'info-bulle au survol du bouton de votre plugin'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/css/template.css
New file
0,0 → 1,23
#frmbody {
padding: 10px;
background-color: #FFF;
border: 1px solid #CCC;
}
 
.frmRow {
margin-bottom: 10px;
}
 
#templatesrc {
border: none;
width: 320px;
height: 240px;
}
 
.title {
padding-bottom: 5px;
}
 
.mceActionPanel {
padding-top: 5px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/blank.htm
New file
0,0 → 1,23
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>blank_page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
var tinyMCE = parent.tinyMCE, css = tinyMCE.getParam("content_css").split(','), i, u;
 
// Load content CSS files
for (i=0; i<css.length; i++) {
u = css[i];
 
// Fix relative
if (u.charAt(0) != '/' && u.indexOf('://') == -1)
u = tinyMCE.documentBasePath + "/" + u;
 
document.write('<link href="' + u + '" rel="stylesheet" type="text/css" />');
}
</script>
</head>
<body id="mceTemplatePreview" class="mceContentBody">
 
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('template');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Moxiecode Systems AB',authorurl:'http://www.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){var cdate,mdate,content,x=0,key,value,rvals,ds=inst.getData('template');cdate=tinyMCE.getParam("template_cdate_classes",'').split(/\s+/);mdate=tinyMCE.getParam("template_mdate_classes",'').split(/\s+/);content=tinyMCE.getParam("template_selected_content_classes",'').split(/\s+/);for(x=0;x<cdate.length;x++)TinyMCE_TemplatePlugin.functions[cdate[x]]=TinyMCE_TemplatePlugin.functions['cdate'];for(x=0;x<mdate.length;x++)TinyMCE_TemplatePlugin.functions[mdate[x]]=TinyMCE_TemplatePlugin.functions['mdate'];for(x=0;x<content.length;x++)TinyMCE_TemplatePlugin.functions[content[x]]=TinyMCE_TemplatePlugin.functions['selectedContent'];rvals=tinyMCE.getParam("template_replace_values",false);for(key in rvals){value=rvals[key];if(typeof value=="function")TinyMCE_TemplatePlugin.functions[key]=value;else TinyMCE_TemplatePlugin.functions[key]=TinyMCE_TemplatePlugin.functions['generateReplacer'](value)}rvals=tinyMCE.getParam("template_replace_values",false);ds.replace_items={};for(key in rvals)ds.replace_items[key]=rvals[key];inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');ds.currentAction="insert";ds.currentTmplNode=null},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var nodeArray,current,newTmpl,x,inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template'),telm;switch(command){case"mceTemplate":if(user_interface){tinyMCE.openWindow({file:'../../plugins/template/template.htm',width:tinyMCE.getParam('template_popup_width',750),height:tinyMCE.getParam('template_popup_height',600)},{editor_id:editor_id,resizable:"yes",scrollbars:"no",pluginObj:TinyMCE_TemplatePlugin})}else{telm=TinyMCE_TemplatePlugin._convertToNode(value.body);nodeArray=tinyMCE.selectElements(telm,'div',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});telm=nodeArray.length>0?nodeArray[0]:null;nodeArray=[];if(ds.currentAction=="insert"){if(telm){tinyMCE.execCommand('mceBeginUndoLevel');ds.currentAction="insert-new";TinyMCE_TemplatePlugin._insertTemplate(editor_id,telm,value.title,value.tsrc,true);ds.currentAction=="insert";tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}else tinyMCE.execCommand('mceInsertContent',false,this._replaceValues(value.body))}else{nodeArray=TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);current=[];newTmpl=[];tinyMCE.getNodeTree(telm,newTmpl);for(x=0;x<nodeArray.length;x++)tinyMCE.getNodeTree(nodeArray[x],current);var _test=function(elm){var replaced=true;if(elm.className){var names=elm.className.split(/\s+/),c,n;for(c=0;c<names.length;c++){if(names[c].match(/^mce/i))continue;for(n=0;n<newTmpl.length;n++){replaced=false;if(newTmpl[n].className&&newTmpl[n].className.match(new RegExp(names[c],"gi"))){newTmpl[n].innerHTML=elm.innerHTML;replaced=true;break}}}}return replaced};var cont=true;var asked=false;for(x=0;x<current.length;x++){if(!_test(current[x])){cont=(asked||confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?","Proceed?"));asked=true;if(!cont)break}};if(cont){tinyMCE.execCommand('mceBeginUndoLevel');TinyMCE_TemplatePlugin._replaceTemplateContent(current[0],editor_id,telm,value.title,value.tsrc);tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}}tinyMCE.triggerNodeChange(true)}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template');if(tinyMCE.hasCSSClass(node,TinyMCE_TemplatePlugin.TMPL_ELEMENT)||tinyMCE.hasCSSClass(node.parentNode,TinyMCE_TemplatePlugin.TMPL_ELEMENT)){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');ds.currentAction="update";ds.currentTmplNode=node;return true}ds.currentAction="insert";ds.currentTmplNode=null;tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');return false},cleanup:function(type,content,inst){var nodes=[];switch(type){case"get_from_editor":content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->');content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">(\s|&nbsp;|&#160;)?(<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->|\s)?</div>','gi'),'');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->');break;case"insert_to_editor":content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->','gi'),'<div class="'+TinyMCE_TemplatePlugin.TMPL+'">');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>');break;case"get_from_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break;case"insert_to_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break}return content},_convertToNode:function(html){var elm=document.createElement('div');elm.innerHTML=html;return elm},_prepareTemplateContent:function(elms){var x,n,nodes=[];if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++)tinyMCE.getNodeTree(elms[x],nodes,1);for(n=0;n<nodes.length;n++){tinyMCE.addCSSClass(nodes[n],TinyMCE_TemplatePlugin.TMPL_ELEMENT);TinyMCE_TemplatePlugin._applyFunctions(nodes[n],TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)}return elms},_replaceValues:function(s){var t=this,ds=tinyMCE.selectedInstance.getData('template');return s.replace(/\{\$([^\}]+)\}/g,function(a,b){var it=ds.replace_items[b];if(it){if(typeof(it)!='function')return it}return b})},_applyFunctions:function(elms,editor_event){var x,elm,names,c,f;if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++){elm=elms[x];if(elm.className){names=elm.className.split(/\s+/);for(c=0;c<names.length;c++){if(names[c]==TinyMCE_TemplatePlugin.TMPL_ELEMENT)continue;f=(TinyMCE_TemplatePlugin.functions[names[c]]?TinyMCE_TemplatePlugin.functions[names[c]]:TinyMCE_TemplatePlugin.functions['blank']);f(elm,editor_event)}}}return elms},_collectTemplateElements:function(node){var nodeArray=[],p;p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)tinyMCE.getNodeTree(p,nodeArray);return nodeArray},_replaceTemplateContent:function(currentNode,editor_id,newTemplate,title,tsrc){TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);TinyMCE_TemplatePlugin._insertTemplate(editor_id,newTemplate,title,tsrc,false)},_deleteTemplateContent:function(node){var p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)p.parentNode.removeChild(p,true)},_insertTemplate:function(editor_id,elm,title,tsrc,incComments){var html;TinyMCE_TemplatePlugin._prepareTemplateContent(elm);html='<div class="'+TinyMCE_TemplatePlugin.TMPL+'">';html+=elm.innerHTML;html+='<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,html)},functions:{blank:function(elm,editor_event){},cdate:function(elm,editor_event){var d,dsrc;if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;d=new Date();dsrc=elm.innerHTML.match(new RegExp("<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":(.*) -->","gi"));if(dsrc)d=new Date(RegExp.$1);elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_cdate_format",tinyMCE.getLang("lang_template_def_date_format")));elm.innerHTML+="<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":"+d.toUTCString()+" -->"},mdate:function(elm,editor_event){var d=new Date();elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_mdate_format",tinyMCE.getLang("lang_template_def_date_format")))},selectedContent:function(elm,editor_event){var ds=tinyMCE.selectedInstance.getData('template');if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;if(ds.currentAction=="insert-new"&&!tinyMCE.hasCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)){elm.innerHTML=tinyMCE.selectedInstance.selection.getSelectedHTML();tinyMCE.addCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)}},generateReplacer:function(s){return function(elm,editor_event){elm.innerHTML=""+s}}},_getDateTime:function(d,fmt){if(!fmt)return"";function addZeros(value,len){var i;value=""+value;if(value.length<len){for(i=0;i<(len-value.length);i++)value="0"+value}return value}fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_template_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_template_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt},TMPL_ELEMENT:'mceTmplElm',TMPL:'mceTmpl',TMPL_BEGINS:'mceTmplBegins',TMPL_SEL_HTML_DONE:'mceSelHTMLDone',TMPL_ENDS:'mceTmplEnds',TMPL_DATE_SRC_ATTR:'mcetmpldtesrc',TMPL_TEMPLATE_EVENT:'prepare_template'};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/jscripts/template.js
New file
0,0 → 1,143
// Import external list url javascript
var url = tinyMCE.getParam("template_external_list_url");
if (url != null) {
// Fix relative
if (url.charAt(0) != '/' && url.indexOf('://') == -1)
url = tinyMCE.documentBasePath + "/" + url;
 
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
 
var TPU = { //Template Popup Utils
currentTemplateHTML : null,
templates : [],
inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
plugin : tinyMCE.getWindowArg('pluginObj'),
data : tinyMCE.selectedInstance.getData('template'),
 
init : function() {
document.forms[0].insert.value = tinyMCE.getLang('lang_' + this.data.currentAction, 'Insert', true);
TPU.loadTemplatePaths();
 
if (this.data.currentAction == "update")
document.getElementById('warning').innerHTML = tinyMCE.getLang('lang_template_warning');
 
this.resizeInputs();
},
 
loadTemplatePaths : function() {
var tsrc, sel, x, u;
 
tsrc = tinyMCE.getParam("template_templates", false);
sel = document.getElementById('tpath');
 
// Setup external template list
if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') {
for (x=0, tsrc = []; x<tinyMCETemplateList.length; x++)
tsrc.push({title : tinyMCETemplateList[x][0], src : tinyMCETemplateList[x][1], description : tinyMCETemplateList[x][2]});
}
 
for (x=0; x<tsrc.length; x++) {
u = tsrc[x].src;
 
// Force absolute
if (u.indexOf('://') == -1 && u.indexOf('/') != 0)
u = tinyMCE.documentBasePath + "/" + u;
 
tsrc[x].src = u;
}
 
TPU.templates = tsrc;
 
for (x = 0; x < tsrc.length; x++)
sel.options[sel.options.length] = new Option(tsrc[x].title, tsrc[x].src);
},
 
selectTemplate : function(o) {
var x, d = window.frames['templatesrc'].document;
 
this.currentTemplateHTML = this.plugin._replaceValues(this.getFileContents(o.value));
 
// Force complete document
/* if (!/<body/gi.test(this.currentTemplateHTML)) {
this.currentTemplateHTML = '<html xmlns="http://www.w3.org/1999/xhtml">' +
'<head>' +
'<title>blank_page</title>' +
'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
'</head>' +
'<body>' +
this.currentTemplateHTML +
'</body>' +
'</html>';
}*/
 
// Write HTML to preview iframe
d.body.innerHTML = this.currentTemplateHTML;
 
// Display description
for (x = 0; x < TPU.templates.length; x++) {
if (TPU.templates[x].src == o.value) {
document.getElementById('tmpldesc').innerHTML = TPU.templates[x].description;
break;
}
}
},
 
insertTemplate : function() {
var sel, opt;
 
sel = document.getElementById('tpath');
opt = sel.options[sel.selectedIndex];
 
// Is it a template or snippet
if (TPU.currentTemplateHTML.indexOf('mceTmpl'))
tinyMCEPopup.execCommand('mceTemplate', false, {title : opt.text, tsrc : opt.value, body : TPU.currentTemplateHTML});
else
tinyMCEPopup.execCommand('mceInsertContent', false, TPU.currentTemplateHTML);
 
tinyMCEPopup.close();
},
 
getFileContents : function(u) {
var x, d, t = 'text/plain';
 
function g(s) {
x = 0;
 
try {
x = new ActiveXObject(s);
} catch (s) {
}
 
return x;
};
 
x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest();
 
// Synchronous AJAX load file
x.overrideMimeType && x.overrideMimeType(t);
x.open("GET", u, false);
x.send(null);
 
return x.responseText;
},
 
resizeInputs : function() {
var wHeight, wWidth, elm;
 
if (!self.innerWidth) {
wHeight = document.body.clientHeight - 160;
wWidth = document.body.clientWidth - 40;
} else {
wHeight = self.innerHeight - 160;
wWidth = self.innerWidth - 40;
}
 
elm = document.getElementById('templatesrc');
 
if (elm) {
elm.style.height = Math.abs(wHeight) + 'px';
elm.style.width = Math.abs(wWidth - 5) + 'px';
}
}
};
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/template.htm
New file
0,0 → 1,37
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_template_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/template.js"></script>
<link href="css/template.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('TPU.init();');" onresize="TPU.resizeInputs();">
<form onsubmit="insert();return false;">
<div id="frmbody">
<div class="title">{$lang_template_desc}</div>
<div class="frmRow"><label for="tpath" title="{$lang_template_select}">{$lang_template_label}:</label>
<select id="tpath" name="tpath" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="TPU.selectTemplate(this.options[this.selectedIndex]);">
<option value="">{$lang_template_select}...</option>
</select>
<span id="warning"></span></div>
<div class="frmRow"><label for="tdesc">{$lang_template_desc_label}:</label>
<span id="tmpldesc"></span></div>
<fieldset>
<legend>{$lang_template_preview}</legend>
<iframe id="templatesrc" name="templatesrc" src="blank.htm" width="690" height="400" frameborder="0"></iframe>
</fieldset>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="TPU.insertTemplate();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/langs/en.js
New file
0,0 → 1,16
// UK lang variables
 
tinyMCE.addToLang('template',{
title : 'Templates',
label : 'Template',
desc_label : 'Description',
desc : 'Insert predefined template content',
select : 'Select a template',
preview : 'Preview',
warning : 'Warning: Updating a template with a different one may cause data loss.',
def_date_format : '%Y-%m-%d %H:%M:%S',
months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/images/template.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/images/template.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/template/editor_plugin_src.js
New file
0,0 → 1,551
/**
* $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
tinyMCE.importPluginLanguagePack('template');
 
var TinyMCE_TemplatePlugin = {
getInfo : function() {
return {
longname : 'Template plugin',
author : 'Moxiecode Systems AB',
authorurl : 'http://www.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
var cdate, mdate, content, x = 0, key, value, rvals, ds = inst.getData('template');
 
// ensure the required elements and sttributes are added
//inst.cleanup.addRuleStr('*[' + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + '],div[title,tsrc]');
 
//setup template content functions
// creation date and modified date classes
cdate = tinyMCE.getParam("template_cdate_classes", '').split(/\s+/);
mdate = tinyMCE.getParam("template_mdate_classes", '').split(/\s+/);
 
// classes that specify where selected content should go
content = tinyMCE.getParam("template_selected_content_classes", '').split(/\s+/);
 
for (x = 0; x < cdate.length; x++)
TinyMCE_TemplatePlugin.functions[cdate[x]] = TinyMCE_TemplatePlugin.functions['cdate'];
 
for (x = 0; x < mdate.length; x++)
TinyMCE_TemplatePlugin.functions[mdate[x]] = TinyMCE_TemplatePlugin.functions['mdate'];
 
for (x = 0; x < content.length; x++)
TinyMCE_TemplatePlugin.functions[content[x]] = TinyMCE_TemplatePlugin.functions['selectedContent'];
 
// special template functions for replacing template content
rvals = tinyMCE.getParam("template_replace_values", false);
for (key in rvals) {
value = rvals[key];
 
if (typeof value == "function")
TinyMCE_TemplatePlugin.functions[key] = value;
else
TinyMCE_TemplatePlugin.functions[key] = TinyMCE_TemplatePlugin.functions['generateReplacer'](value);
}
 
// Setup replace_items
rvals = tinyMCE.getParam("template_replace_values", false);
ds.replace_items = {};
 
for (key in rvals)
ds.replace_items[key] = rvals[key];
 
inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate');
 
// Setup data storage
ds.currentAction = "insert";
ds.currentTmplNode = null;
},
 
getControlHTML : function(cn) {
switch (cn) {
case "template":
return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true);
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
var nodeArray, current, newTmpl, x, inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template'), telm;
 
switch (command) {
case "mceTemplate":
if (user_interface) {
// called from toolbar button - show the popup
tinyMCE.openWindow({
file : '../../plugins/template/template.htm', // Relative to theme
width : tinyMCE.getParam('template_popup_width', 750),
height : tinyMCE.getParam('template_popup_height', 600)
}, {editor_id : editor_id, resizable : "yes", scrollbars : "no", pluginObj : TinyMCE_TemplatePlugin});
} else {
// internal command do the template stuff
 
// get the returned HTML string from the pop-up and appened it to a DIV element
telm = TinyMCE_TemplatePlugin._convertToNode(value.body);
 
// Find template body
nodeArray = tinyMCE.selectElements(telm, 'div', function(n) {
return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
});
 
telm = nodeArray.length > 0 ? nodeArray[0] : null;
nodeArray = [];
 
if (ds.currentAction == "insert") {
//insert new template after applying all the template content functions
 
// Is it a template or snippet
if (telm) {
tinyMCE.execCommand('mceBeginUndoLevel');
ds.currentAction = "insert-new";
TinyMCE_TemplatePlugin._insertTemplate(editor_id, telm, value.title, value.tsrc, true);
ds.currentAction == "insert";
tinyMCE.execCommand('mceEndUndoLevel');
tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
} else
tinyMCE.execCommand('mceInsertContent', false, this._replaceValues(value.body));
} else {
// First collect the selected template in the editor
nodeArray = TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);
current = [];
newTmpl = [];
tinyMCE.getNodeTree(telm, newTmpl);
 
for (x=0; x<nodeArray.length; x++)
tinyMCE.getNodeTree(nodeArray[x], current);
 
/**
* inner function used in the loop below.
* compares the supplied HTML element to the new template to:
* - find a match with the new template and copy the element's content over
* - find no match and indicate content will be lost
*/
var _test = function(elm) {
var replaced = true;
 
if (elm.className) {
var names = elm.className.split(/\s+/), c, n;
 
for (c = 0; c<names.length; c++) {
if (names[c].match(/^mce/i))
continue; // ignore all internal class names
 
for (n=0; n<newTmpl.length; n++){
replaced = false;
 
if (newTmpl[n].className && newTmpl[n].className.match(new RegExp(names[c], "gi"))) {
newTmpl[n].innerHTML = elm.innerHTML;
//if(tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR,"") != "") {
// tinyMCE.setAttrib(newTmpl[n], TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR, tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR));
//}
replaced = true;
break;
}
 
}
}
}
return replaced;
};
 
// comparison loop - first mis-match alerts user for confirmation.
var cont = true;
var asked = false;
 
for (x = 0; x < current.length; x++) {
if(!_test(current[x])) {
cont = (asked || confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?", "Proceed?"));
asked = true;
 
if (!cont)
break;
}
};
 
// apply replacement if allowed to
if (cont) {
tinyMCE.execCommand('mceBeginUndoLevel');
TinyMCE_TemplatePlugin._replaceTemplateContent(current[0], editor_id, telm, value.title, value.tsrc);
tinyMCE.execCommand('mceEndUndoLevel');
tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
}
}
 
tinyMCE.triggerNodeChange(true);
}
 
return true;
}
 
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
var inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template');
 
if (tinyMCE.hasCSSClass(node, TinyMCE_TemplatePlugin.TMPL_ELEMENT) || tinyMCE.hasCSSClass(node.parentNode, TinyMCE_TemplatePlugin.TMPL_ELEMENT)) {
tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected');
ds.currentAction = "update";
ds.currentTmplNode = node;
 
return true;
}
 
ds.currentAction = "insert";
ds.currentTmplNode = null;
tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal');
 
return false;
},
 
cleanup : function(type, content, inst) {
var nodes = [];
 
switch (type) {
case "get_from_editor":
// replace the opening wrapper div tag with a HTML comment
content = content.replace(
new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">', 'gi'),
'<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->'
);
 
// delete any empty template wrappers
content = content.replace(
new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">(\s|&nbsp;|&#160;)?(<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->|\s)?</div>', 'gi'),
''
);
 
// replace the closing wrapper tag
content = content.replace(
new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>', 'gi'),
'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->'
);
 
break;
 
case "insert_to_editor":
// replace HTML comment with DIV wrapper
content = content.replace(
new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->', 'gi'),
'<div class="' + TinyMCE_TemplatePlugin.TMPL + '">'
);
 
content = content.replace(
new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->', 'gi'),
'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>'
);
 
break;
 
case "get_from_editor_dom":
// apply template content replacement functions
nodes = tinyMCE.selectNodes(content, function(n) {
return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
}
);
 
TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
 
break;
 
case "insert_to_editor_dom":
// apply template content replacement functions
nodes = tinyMCE.selectNodes(content, function(n) {
return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
}
);
 
TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
 
break;
}
 
return content;
},
 
// Private plugin internal methods
 
/**
* Creates a HTML DIV element and sets the innerHTML to equal the temlate innerHTML so that the template can be manipulated as DOM nodes.
*
* @param {string} Template innerHTML
* @return a HTML Element
* @type HTMLElement
*/
_convertToNode : function(html) {
var elm = document.createElement('div');
 
elm.innerHTML = html;
 
return elm;
},
 
/**
* pass an array of template html elements and they will have the template class name added and any template functions applied
*
* @param {array} template HTML elements
* @return array of template HTML elements
* @type array
*/
_prepareTemplateContent : function(elms) {
var x, n, nodes = [];
 
if (!elms)
return {};
 
if (!elms.length)
elms = [elms];
 
for (x = 0; x<elms.length; x++)
tinyMCE.getNodeTree(elms[x], nodes, 1);
 
for (n = 0; n<nodes.length; n++) {
tinyMCE.addCSSClass(nodes[n], TinyMCE_TemplatePlugin.TMPL_ELEMENT);
TinyMCE_TemplatePlugin._applyFunctions(nodes[n], TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT);
}
 
return elms;
},
 
_replaceValues : function(s) {
var t = this, ds = tinyMCE.selectedInstance.getData('template');
 
return s.replace(/\{\$([^\}]+)\}/g, function(a, b) {
var it = ds.replace_items[b];
 
if (it) {
// Only supports text for now
if (typeof(it) != 'function')
return it;
}
 
return b;
});
},
 
/**
* Applies any special functions to the template elements
*
* @param {array} template HTML elements
* @return array of template HTML elements
* @type array
*/
_applyFunctions : function(elms, editor_event) {
var x, elm, names, c, f;
 
if (!elms)
return {};
 
if (!elms.length)
elms = [elms];
 
for(x = 0; x < elms.length; x++) {
elm = elms[x];
 
if (elm.className){
names = elm.className.split(/\s+/);
 
for (c = 0; c < names.length; c++){
if (names[c] == TinyMCE_TemplatePlugin.TMPL_ELEMENT)
continue;
 
f = (TinyMCE_TemplatePlugin.functions[names[c]] ? TinyMCE_TemplatePlugin.functions[names[c]] : TinyMCE_TemplatePlugin.functions['blank']);
f(elm, editor_event);
}
}
}
 
return elms;
},
 
/**
* Given one node reference this function will collect all the nodes of the template to which it belongs.
* It does this by finding the parent template wrapper DIV and returning all child nodes.
*
* @param {HTMLElement} a HTMLElement which is part of a template
* @return array of template HTML elements
* @type array
*/
_collectTemplateElements : function(node) {
var nodeArray = [], p;
 
p = tinyMCE.getParentElement(node, 'DIV', function(n) {
return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
});
 
if (p)
tinyMCE.getNodeTree(p, nodeArray);
 
return nodeArray;
},
 
/**
* Simply calls TinyMCE_TemplatePlugin._deleteTemplateContent and then TinyMCE_TemplatePlugin._insertTemplate
*
* @param {HTMLElement} currently selected template node in editor
* @param {string} id of editor instance
* @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
* @param {string} title of template (unused as yet)
* @param {string} source URI of the template file (unused as yet)
* @return array of template HTML elements
* @type array
*/
_replaceTemplateContent : function(currentNode, editor_id, newTemplate, title, tsrc) {
TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);
TinyMCE_TemplatePlugin._insertTemplate(editor_id, newTemplate, title, tsrc, false);
},
 
/**
* Deletes a template from the editor content
* Finds the parent DIV wrapper and deletes it and all children
* @param {HTMLElement} currently selected template node in editor
*/
_deleteTemplateContent : function(node) {
var p = tinyMCE.getParentElement(node, 'DIV', function(n) {
return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
});
 
if (p)
p.parentNode.removeChild(p, true);
},
 
/**
* Inserts a template into the specified editor
*
* @param {string} id of editor instance
* @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
* @param {string} title of template (unused as yet)
* @param {string} source URI of the template file (unused as yet)
*/
_insertTemplate : function(editor_id, elm, title, tsrc, incComments) {
var html;
 
TinyMCE_TemplatePlugin._prepareTemplateContent(elm);
 
html = '<div class="' + TinyMCE_TemplatePlugin.TMPL + '">';
html += elm.innerHTML;
html += '<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>';
 
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, html);
},
 
/**
* template functions - functions for modifying template content
*/
functions : {
blank : function(elm, editor_event) {},
 
cdate : function(elm, editor_event) {
var d, dsrc;
 
if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
return;
 
d = new Date();
// find out if the creation date was previously stored
dsrc = elm.innerHTML.match(new RegExp("<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":(.*) -->", "gi"));
 
if (dsrc)
d = new Date(RegExp.$1);
 
elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_cdate_format", tinyMCE.getLang("lang_template_def_date_format")));
//now we have to store the date value in a format easily read again, in case a future template change changes the date format...
elm.innerHTML += "<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":" + d.toUTCString() + " -->";
},
 
mdate : function(elm, editor_event) {
var d = new Date();
elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_mdate_format", tinyMCE.getLang("lang_template_def_date_format")));
},
 
/**
* This will insert the currently selected editor content into the template element.
* It only does this if the template inserted is a new one and if the element does not have the special class.
* The special class name prevents this from happening more than once.
*/
selectedContent : function(elm, editor_event) {
var ds = tinyMCE.selectedInstance.getData('template');
if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
return;
 
if (ds.currentAction == "insert-new" && !tinyMCE.hasCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)) {
elm.innerHTML = tinyMCE.selectedInstance.selection.getSelectedHTML();
tinyMCE.addCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE);
}
},
 
/**
* When the plugin is initialised this generates the functions that insert configured strings into template elements.
*/
generateReplacer : function(s) {
return function(elm, editor_event) {elm.innerHTML = "" + s;};
}
},
 
/**
* formats a date according to the format string - straight from the 'insert date/time' plugin
*
* @param {Date} date object
* @param {string} format string
* @return formatted date
* @type string
*/
_getDateTime : function(d,fmt) {
if (!fmt)
return "";
 
function addZeros(value, len) {
var i;
 
value = "" + value;
 
if (value.length < len) {
for (i=0; i<(len-value.length); i++)
value = "0" + value;
}
 
return value;
}
 
fmt = fmt.replace("%D", "%m/%d/%y");
fmt = fmt.replace("%r", "%I:%M:%S %p");
fmt = fmt.replace("%Y", "" + d.getFullYear());
fmt = fmt.replace("%y", "" + d.getYear());
fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);
fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);
fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_template_day_long")[d.getDay()]);
fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_template_day_short")[d.getDay()]);
fmt = fmt.replace("%%", "%");
 
return fmt;
},
 
TMPL_ELEMENT : 'mceTmplElm',
TMPL : 'mceTmpl',
TMPL_BEGINS : 'mceTmplBegins',
TMPL_SEL_HTML_DONE : 'mceSelHTMLDone',
TMPL_ENDS : 'mceTmplEnds',
TMPL_DATE_SRC_ATTR : 'mcetmpldtesrc',
TMPL_TEMPLATE_EVENT : 'prepare_template'
};
 
tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/readme.txt
New file
0,0 → 1,0
This is the location you place TinyMCE plugins.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/langs/en.js
New file
0,0 → 1,9
// UK lang variables
 
tinyMCE.addToLang('layer',{
insertlayer_desc : 'Insert new layer',
forward_desc : 'Move forward',
backward_desc : 'Move backward',
absolute_desc : 'Toggle absolute positioning',
content : 'New layer...'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/langs/fr.js
New file
0,0 → 1,10
// FR lang variables
// Modified by shadow walker, last updated 2007-03-16
 
tinyMCE.addToLang('layer',{
insertlayer_desc : 'Ins&eacute;rer un nouveau calque',
forward_desc : 'Avancer',
backward_desc : 'Reculer',
absolute_desc : 'Passer en positionnement absolu',
content : 'Nouveau calque...'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/absolute.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/absolute.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/backward.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/backward.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/insert_layer.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/insert_layer.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/insertlayer.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/insertlayer.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/forward.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/forward.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/movebackward.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/movebackward.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/moveforward.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/images/moveforward.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js
New file
0,0 → 1,248
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('layer');
 
var TinyMCE_LayerPlugin = {
getInfo : function() {
return {
longname : 'Layer',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
if (tinyMCE.isMSIE && !tinyMCE.isOpera)
inst.getDoc().execCommand('2D-Position');
},
 
handleEvent : function(e) {
var inst = tinyMCE.selectedInstance;
var w = inst.getWin(), le = inst._lastStyleElm, e;
 
if (tinyMCE.isGecko) {
e = this._getParentLayer(inst.getFocusElement());
 
if (e) {
if (!inst._lastStyleElm) {
e.style.overflow = 'auto';
inst._lastStyleElm = e;
}
} else if (le) {
le = inst._lastStyleElm;
le.style.width = le.scrollWidth + 'px';
le.style.height = le.scrollHeight + 'px';
le.style.overflow = '';
inst._lastStyleElm = null;
}
}
 
return true;
},
 
handleVisualAid : function(el, deep, state, inst) {
var nl = inst.getDoc().getElementsByTagName("div"), i;
 
for (i=0; i<nl.length; i++) {
if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
if (state)
tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
else
tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');
}
}
},
 
getControlHTML : function(cn) {
switch (cn) {
case "moveforward":
return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/moveforward.gif', 'mceMoveForward', true);
 
case "movebackward":
return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/movebackward.gif', 'mceMoveBackward', true);
 
case "absolute":
return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
 
case "insertlayer":
return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insertlayer.gif', 'mceInsertLayer', true);
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceInsertLayer":
this._insertLayer();
return true;
 
case "mceMoveForward":
this._move(1);
return true;
 
case "mceMoveBackward":
this._move(-1);
return true;
 
case "mceMakeAbsolute":
this._toggleAbsolute();
return true;
}
 
// Pass to next handler in chain
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
var inst = tinyMCE.getInstanceById(editor_id);
var le = this._getParentLayer(inst.getFocusElement());
var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
 
tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
 
if (p)
tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
 
if (le && le.style.position.toLowerCase() == "absolute") {
tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
}
},
 
// Private plugin specific methods
 
_move : function(d) {
var inst = tinyMCE.selectedInstance, i, z = new Array();
var le = this._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
});
 
// Find z-indexes
for (i=0; i<nl.length; i++) {
z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
 
if (ci < 0 && nl[i] == le)
ci = i;
}
 
if (d < 0) {
// Move back
 
// Try find a lower one
for (i=0; i<z.length; i++) {
if (z[i] < z[ci]) {
fi = i;
break;
}
}
 
if (fi > -1) {
nl[ci].style.zIndex = z[fi];
nl[fi].style.zIndex = z[ci];
} else {
if (z[ci] > 0)
nl[ci].style.zIndex = z[ci] - 1;
}
} else {
// Move forward
 
// Try find a higher one
for (i=0; i<z.length; i++) {
if (z[i] > z[ci]) {
fi = i;
break;
}
}
 
if (fi > -1) {
nl[ci].style.zIndex = z[fi];
nl[fi].style.zIndex = z[ci];
} else
nl[ci].style.zIndex = z[ci] + 1;
}
 
inst.repaint();
},
 
_getParentLayer : function(n) {
return tinyMCE.getParentNode(n, function(n) {
return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
});
},
 
_insertLayer : function() {
var inst = tinyMCE.selectedInstance;
var e = tinyMCE.getParentElement(inst.getFocusElement());
var p = tinyMCE.getAbsPosition(e);
var d = inst.getDoc();
var ne = d.createElement('div');
var h = inst.selection.getSelectedHTML();
 
// Move div
ne.style.position = 'absolute';
ne.style.left = p.absLeft + 'px';
ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
ne.style.width = '100px';
ne.style.height = '100px';
ne.className = 'mceVisualAid';
 
if (!h)
h = tinyMCE.getLang('lang_layer_content');
 
ne.innerHTML = h;
 
// Add it
d.body.appendChild(ne);
},
 
_toggleAbsolute : function() {
var inst = tinyMCE.selectedInstance;
var le = this._getParentLayer(inst.getFocusElement());
 
if (le == null)
le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
 
if (le) {
if (le.style.position.toLowerCase() == "absolute") {
le.style.position = "";
le.style.left = "";
le.style.top = "";
} else {
le.style.position = "absolute";
 
if (le.style.left == "")
le.style.left = 20 + 'px';
 
if (le.style.top == "")
le.style.top = 20 + 'px';
 
if (le.style.width == "")
le.style.width = le.width ? (le.width + 'px') : '100px';
 
if (le.style.height == "")
le.style.height = le.height ? (le.height + 'px') : '100px';
 
tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
}
 
inst.repaint();
tinyMCE.triggerNodeChange();
}
}
};
 
tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/layer/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('layer');var TinyMCE_LayerPlugin={getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)inst.getDoc().execCommand('2D-Position')},handleEvent:function(e){var inst=tinyMCE.selectedInstance;var w=inst.getWin(),le=inst._lastStyleElm,e;if(tinyMCE.isGecko){e=this._getParentLayer(inst.getFocusElement());if(e){if(!inst._lastStyleElm){e.style.overflow='auto';inst._lastStyleElm=e}}else if(le){le=inst._lastStyleElm;le.style.width=le.scrollWidth+'px';le.style.height=le.scrollHeight+'px';le.style.overflow='';inst._lastStyleElm=null}}return true},handleVisualAid:function(el,deep,state,inst){var nl=inst.getDoc().getElementsByTagName("div"),i;for(i=0;i<nl.length;i++){if(new RegExp('absolute|relative|static','gi').test(nl[i].style.position)){if(state)tinyMCE.addCSSClass(nl[i],'mceVisualAid');else tinyMCE.removeCSSClass(nl[i],'mceVisualAid')}}},getControlHTML:function(cn){switch(cn){case"moveforward":return tinyMCE.getButtonHTML(cn,'lang_layer_forward_desc','{$pluginurl}/images/moveforward.gif','mceMoveForward',true);case"movebackward":return tinyMCE.getButtonHTML(cn,'lang_layer_backward_desc','{$pluginurl}/images/movebackward.gif','mceMoveBackward',true);case"absolute":return tinyMCE.getButtonHTML(cn,'lang_layer_absolute_desc','{$pluginurl}/images/absolute.gif','mceMakeAbsolute',true);case"insertlayer":return tinyMCE.getButtonHTML(cn,'lang_layer_insertlayer_desc','{$pluginurl}/images/insertlayer.gif','mceInsertLayer',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertLayer":this._insertLayer();return true;case"mceMoveForward":this._move(1);return true;case"mceMoveBackward":this._move(-1);return true;case"mceMakeAbsolute":this._toggleAbsolute();return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id);var le=this._getParentLayer(inst.getFocusElement());var p=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');tinyMCE.switchClass(editor_id+'_absolute','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonDisabled');if(p)tinyMCE.switchClass(editor_id+'_absolute','mceButtonNormal');if(le&&le.style.position.toLowerCase()=="absolute"){tinyMCE.switchClass(editor_id+'_absolute','mceButtonSelected');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonNormal');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonNormal')}},_move:function(d){var inst=tinyMCE.selectedInstance,i,z=new Array();var le=this._getParentLayer(inst.getFocusElement()),ci=-1,fi=-1;var nl=tinyMCE.selectNodes(inst.getBody(),function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)});for(i=0;i<nl.length;i++){z[i]=nl[i].style.zIndex?parseInt(nl[i].style.zIndex):0;if(ci<0&&nl[i]==le)ci=i}if(d<0){for(i=0;i<z.length;i++){if(z[i]<z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1}}else{for(i=0;i<z.length;i++){if(z[i]>z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else nl[ci].style.zIndex=z[ci]+1}inst.repaint()},_getParentLayer:function(n){return tinyMCE.getParentNode(n,function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)})},_insertLayer:function(){var inst=tinyMCE.selectedInstance;var e=tinyMCE.getParentElement(inst.getFocusElement());var p=tinyMCE.getAbsPosition(e);var d=inst.getDoc();var ne=d.createElement('div');var h=inst.selection.getSelectedHTML();ne.style.position='absolute';ne.style.left=p.absLeft+'px';ne.style.top=(p.absTop>20?p.absTop:20)+'px';ne.style.width='100px';ne.style.height='100px';ne.className='mceVisualAid';if(!h)h=tinyMCE.getLang('lang_layer_content');ne.innerHTML=h;d.body.appendChild(ne)},_toggleAbsolute:function(){var inst=tinyMCE.selectedInstance;var le=this._getParentLayer(inst.getFocusElement());if(le==null)le=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');if(le){if(le.style.position.toLowerCase()=="absolute"){le.style.position="";le.style.left="";le.style.top=""}else{le.style.position="absolute";if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';tinyMCE.handleVisualAid(inst.getBody(),true,inst.visualAid,inst)}inst.repaint();tinyMCE.triggerNodeChange()}}};tinyMCE.addPlugin("layer",TinyMCE_LayerPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js
New file
0,0 → 1,0
var TinyMCE_BBCodePlugin={getInfo:function(){return{longname:'BBCode Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},cleanup:function(type,content){var dialect=tinyMCE.getParam('bbcode_dialect','punbb').toLowerCase();switch(type){case"insert_to_editor":content=this['_'+dialect+'_bbcode2html'](content);break;case"get_from_editor":content=this['_'+dialect+'_html2bbcode'](content);break}return content},_punbb_html2bbcode:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");rep(/<font>(.*?)<\/font>/gi,"$1");rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");rep(/<\/(strong|b)>/gi,"[/b]");rep(/<(strong|b)>/gi,"[b]");rep(/<\/(em|i)>/gi,"[/i]");rep(/<(em|i)>/gi,"[i]");rep(/<\/u>/gi,"[/u]");rep(/<u>/gi,"[u]");rep(/<br \/>/gi,"\n");rep(/<br\/>/gi,"\n");rep(/<br>/gi,"\n");rep(/<p>/gi,"");rep(/<\/p>/gi,"\n");rep(/&nbsp;/gi," ");rep(/&quot;/gi,"\"");rep(/&lt;/gi,"<");rep(/&gt;/gi,">");rep(/&amp;/gi,"&");rep(/&undefined;/gi,"'");return s},_punbb_bbcode2html:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/\n/gi,"<br />");rep(/\[b\]/gi,"<strong>");rep(/\[\/b\]/gi,"</strong>");rep(/\[i\]/gi,"<em>");rep(/\[\/i\]/gi,"</em>");rep(/\[u\]/gi,"<u>");rep(/\[\/u\]/gi,"</u>");rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");return s}};tinyMCE.addPlugin("bbcode",TinyMCE_BBCodePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js
New file
0,0 → 1,102
var TinyMCE_BBCodePlugin = {
getInfo : function() {
return {
longname : 'BBCode Plugin',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
cleanup : function(type, content) {
var dialect = tinyMCE.getParam('bbcode_dialect', 'punbb').toLowerCase();
 
switch (type) {
case "insert_to_editor":
content = this['_' + dialect + '_bbcode2html'](content);
break;
 
case "get_from_editor":
content = this['_' + dialect + '_html2bbcode'](content);
break;
}
 
return content;
},
 
// Private methods
 
// HTML -> BBCode in PunBB dialect
_punbb_html2bbcode : function(s) {
s = tinyMCE.trim(s);
 
function rep(re, str) {
s = s.replace(re, str);
};
 
// example: <strong> to [b]
rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");
rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");
rep(/<font>(.*?)<\/font>/gi,"$1");
rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");
rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");
rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");
rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");
rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");
rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");
rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");
rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");
rep(/<\/(strong|b)>/gi,"[/b]");
rep(/<(strong|b)>/gi,"[b]");
rep(/<\/(em|i)>/gi,"[/i]");
rep(/<(em|i)>/gi,"[i]");
rep(/<\/u>/gi,"[/u]");
rep(/<u>/gi,"[u]");
rep(/<br \/>/gi,"\n");
rep(/<br\/>/gi,"\n");
rep(/<br>/gi,"\n");
rep(/<p>/gi,"");
rep(/<\/p>/gi,"\n");
rep(/&nbsp;/gi," ");
rep(/&quot;/gi,"\"");
rep(/&lt;/gi,"<");
rep(/&gt;/gi,">");
rep(/&amp;/gi,"&");
rep(/&undefined;/gi,"'"); // quickfix
 
return s;
},
 
// BBCode -> HTML from PunBB dialect
_punbb_bbcode2html : function(s) {
s = tinyMCE.trim(s);
 
function rep(re, str) {
s = s.replace(re, str);
};
 
// example: [b] to <strong>
rep(/\n/gi,"<br />");
rep(/\[b\]/gi,"<strong>");
rep(/\[\/b\]/gi,"</strong>");
rep(/\[i\]/gi,"<em>");
rep(/\[\/i\]/gi,"</em>");
rep(/\[u\]/gi,"<u>");
rep(/\[\/u\]/gi,"</u>");
rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");
rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");
rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");
 
return s;
}
};
 
tinyMCE.addPlugin("bbcode", TinyMCE_BBCodePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en.js
New file
0,0 → 1,42
// UK lang variables
 
tinyMCE.addToLang('xhtmlxtras',{
cite_desc : 'Citation',
abbr_desc : 'Abbreviation',
acronym_desc : 'Acronym',
del_desc : 'Deletion',
ins_desc : 'Insertion',
attribute_label_title : 'Title',
attribute_label_id : 'ID',
attribute_label_class : 'Class',
attribute_label_style : 'Style',
attribute_label_cite : 'Cite',
attribute_label_datetime : 'Date/Time',
attribute_label_langdir : 'Text Direction',
attribute_option_ltr : 'Left to right',
attribute_option_rtl : 'Right to left',
attribute_label_langcode : 'Language',
attribute_label_tabindex : 'TabIndex',
attribute_label_accesskey : 'AccessKey',
attribute_label_cite : 'Cite',
attribute_events_tab : 'Events',
attribute_attrib_tab : 'Attributes',
general_tab : 'General',
attrib_tab : 'Attributes',
events_tab : 'Events',
fieldset_general_tab : 'General Settings',
fieldset_attrib_tab : 'Element Attributes',
fieldset_events_tab : 'Element Events',
title_ins_element : 'Insertion Element',
title_del_element : 'Deletion Element',
title_acronym_element : 'Acronym Element',
title_abbr_element : 'Abbreviation Element',
title_cite_element : 'Citation Element',
remove : 'Remove',
not_set : '--not set--',
insert_date : 'Insert current date/time',
option_ltr : 'Left to right',
option_rtl : 'Right to left',
attribs_desc : 'Insert/Edit Attributes',
attribs_title : 'Insert/Edit Attributes'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/langs/fr.js
New file
0,0 → 1,43
// FR lang variables
// Modified by shadow walker, last updated 2007-03-16
 
tinyMCE.addToLang('xhtmlxtras',{
cite_desc : 'Citation',
abbr_desc : 'Abr&eacute;viation',
acronym_desc : 'Acronyme',
del_desc : 'Effacer',
ins_desc : 'Insertion',
attribute_label_title : 'Titre',
attribute_label_id : 'ID',
attribute_label_class : 'Classe',
attribute_label_style : 'Style',
attribute_label_cite : 'Cite',
attribute_label_datetime : 'Date/Heure',
attribute_label_langdir : 'Text Direction',
attribute_option_ltr : 'De gauche &agrave; droite',
attribute_option_rtl : 'De droite &agrave; gauche',
attribute_label_langcode : 'Langues',
attribute_label_tabindex : 'TabIndex',
attribute_label_accesskey : 'AccessKey',
attribute_label_cite : 'Cite',
attribute_events_tab : 'Evenement',
attribute_attrib_tab : 'Attribus',
general_tab : 'G&eacute;n&eacute;rale',
attrib_tab : 'Attribus',
events_tab : 'Evenement',
fieldset_general_tab : 'General Settings',
fieldset_attrib_tab : 'Attributs de l\'&eacute;l&eacute;ment',
fieldset_events_tab : 'Element Events',
title_ins_element : 'Insertion de l\'&eacute;l&eacute;ment',
title_del_element : 'Effacement de l\'&eacute;l&eacute;ment',
title_acronym_element : 'Acronyme de l\'&eacute;l&eacute;ment',
title_abbr_element : 'Abr&eacute;viation de l\'&eacute;l&eacute;ment',
title_cite_element : 'Citation Element',
remove : 'Enlever',
not_set : '--Non d&eacute;finit--',
insert_date : 'Ins&eacute;rer la date/heure actuelle',
option_ltr : 'De gauche &agrave; droite',
option_rtl : 'De droite &agrave; gauche',
attribs_desc : 'Ins&eacute;rer/Editer un attribut',
attribs_title : 'Ins&eacute;rer/Editer un attribut'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/ins.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/ins.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/cite.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/cite.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/del.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/del.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
New file
0,0 → 1,199
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('xhtmlxtras');
 
var TinyMCE_XHTMLXtrasPlugin = {
getInfo : function() {
return {
longname : 'XHTML Xtras Plugin',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/xhtmlxtras/css/xhtmlxtras.css");
},
 
getControlHTML : function(cn) {
switch (cn) {
case "cite":
return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_cite_desc', '{$pluginurl}/images/cite.gif', 'mceCite', true);
 
case "acronym":
return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_acronym_desc', '{$pluginurl}/images/acronym.gif', 'mceAcronym', true);
 
case "abbr":
return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_abbr_desc', '{$pluginurl}/images/abbr.gif', 'mceAbbr', true);
 
case "del":
return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_del_desc', '{$pluginurl}/images/del.gif', 'mceDel', true);
 
case "ins":
return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_ins_desc', '{$pluginurl}/images/ins.gif', 'mceIns', true);
 
case "attribs":
return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_attribs_desc', '{$pluginurl}/images/attribs.gif', 'mceAttributes', true);
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
var template, inst, elm;
 
switch (command) {
case "mceCite":
if (!this._anySel(editor_id))
return true;
 
template = new Array();
template['file'] = '../../plugins/xhtmlxtras/cite.htm';
template['width'] = 350;
template['height'] = 250;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
 
case "mceAcronym":
if (!this._anySel(editor_id))
return true;
 
template = new Array();
template['file'] = '../../plugins/xhtmlxtras/acronym.htm';
template['width'] = 350;
template['height'] = 250;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
 
case "mceAbbr":
if (!this._anySel(editor_id))
return true;
 
template = new Array();
template['file'] = '../../plugins/xhtmlxtras/abbr.htm';
template['width'] = 350;
template['height'] = 250;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
 
case "mceIns":
if (!this._anySel(editor_id))
return true;
 
template = new Array();
template['file'] = '../../plugins/xhtmlxtras/ins.htm';
template['width'] = 350;
template['height'] = 310;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
 
case "mceDel":
if (!this._anySel(editor_id))
return true;
 
template = new Array();
template['file'] = '../../plugins/xhtmlxtras/del.htm';
template['width'] = 350;
template['height'] = 310;
tinyMCE.openWindow(template, {editor_id : editor_id});
return true;
 
case "mceAttributes":
inst = tinyMCE.getInstanceById(editor_id);
elm = inst.getFocusElement();
 
if (elm && elm.nodeName !== 'BODY' && elm.className.indexOf('mceItem') == -1) {
tinyMCE.openWindow({
file : '../../plugins/xhtmlxtras/attributes.htm',
width : 380,
height : 370
}, {editor_id : editor_id});
}
 
return true;
}
 
return false;
},
 
cleanup : function(type, content, inst) {
if (type == 'insert_to_editor' && tinyMCE.isIE && !tinyMCE.isOpera) {
content = content.replace(/<abbr([^>]+)>/gi, '<html:ABBR $1>');
content = content.replace(/<\/abbr>/gi, '</html:ABBR>');
}
 
return content;
},
 
handleNodeChange : function(editor_id, node, undo_index,undo_levels, visual_aid, any_selection) {
var elm = tinyMCE.getParentElement(node);
 
if (node == null)
return;
 
tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonDisabled');
 
if (!any_selection) {
// Disable the buttons
tinyMCE.switchClass(editor_id + '_cite', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_del', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_ins', 'mceButtonDisabled');
} else {
// A selection means the buttons should be active.
tinyMCE.switchClass(editor_id + '_cite', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_del', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_ins', 'mceButtonNormal');
}
 
if (elm && elm.nodeName != 'BODY' && elm.className.indexOf('mceItem') == -1)
tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonNormal');
 
switch (node.nodeName) {
case "CITE":
tinyMCE.switchClass(editor_id + '_cite', 'mceButtonSelected');
return true;
 
case "ACRONYM":
tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonSelected');
return true;
 
case "abbr": // IE
case "HTML:ABBR": // FF
case "ABBR":
tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonSelected');
return true;
 
case "DEL":
tinyMCE.switchClass(editor_id + '_del', 'mceButtonSelected');
return true;
 
case "INS":
tinyMCE.switchClass(editor_id + '_ins', 'mceButtonSelected');
return true;
}
 
return true;
},
 
_anySel : function(editor_id) {
var inst = tinyMCE.getInstanceById(editor_id), t = inst.selection.getSelectedText(), pe;
 
pe = tinyMCE.getParentElement(inst.getFocusElement(), 'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');
 
return pe || inst.getFocusElement().nodeName == "IMG" || (t && t.length > 0);
}
};
 
tinyMCE.addPlugin("xhtmlxtras", TinyMCE_XHTMLXtrasPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
New file
0,0 → 1,24
ins {
border-bottom: 1px solid green;
text-decoration: none;
color: green;
}
 
del {
color: Red;
text-decoration: line-through;
}
 
cite {
border-bottom: 1px dashed blue;
}
 
acronym {
border-bottom: 1px dotted #CCC;
cursor: help;
}
 
abbr, html\:abbr {
border-bottom: 1px dashed #CCC;
cursor: help;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css
New file
0,0 → 1,46
a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important; cursor: default; background-color: #B6BDD2;}
 
img {
border: 0;
}
 
input.field, select.field {
width: 200px;
}
 
input.picker {
width: 179px;
margin-left: 5px;
}
 
input.disabled {
border-color: #F2F2F2;
}
 
img.picker {
vertical-align: text-bottom;
cursor: pointer;
}
 
h1 {
padding: 0 0 5px 0;
}
 
#remove {
font-weight: bold;
width: 90px;
height: 21px;
border: 0px;
background-image: url('../images/remove_button_bg.gif');
cursor: pointer;
margin-left: 3px;
}
 
.panel_wrapper div.current {
height: 160px;
}
 
#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {
height: 220px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css
New file
0,0 → 1,11
.panel_wrapper div.current {
height: 290px;
}
 
#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey {
width: 200px;
}
 
#events_panel input {
width: 200px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm
New file
0,0 → 1,148
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_xhtmlxtras_title_cite_element}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/cite.js"></script>
<link rel="stylesheet" type="text/css" href="css/popup.css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertCite();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
<td><input id="title" name="title" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
<td><input id="id" name="id" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
<td>
<select id="class" name="class" class="field mceEditableSelect">
<option value="">{$lang_xhtmlxtras_not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
<td><input id="style" name="style" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
<td>
<select id="dir" name="dir" class="field">
<option value="">{$lang_xhtmlxtras_not_set}</option>
<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
<td>
<input id="lang" name="lang" type="text" value="" class="field" />
</td>
</tr>
</table>
</fieldset>
</div>
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label for="onfocus">onfocus</label>:</td>
<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onblur">onblur</label>:</td>
<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onclick">onclick</label>:</td>
<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="ondblclick">ondblclick</label>:</td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousedown">onmousedown</label>:</td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseup">onmouseup</label>:</td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseover">onmouseover</label>:</td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousemove">onmousemove</label>:</td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseout">onmouseout</label>:</td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeypress">onkeypress</label>:</td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeydown">onkeydown</label>:</td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeyup">onkeyup</label>:</td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertCite();" />
</div>
<div style="float: left">
<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeCite();" style="display: none;" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
 
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm
New file
0,0 → 1,169
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_xhtmlxtras_title_del_element}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/del.js"></script>
<link rel="stylesheet" type="text/css" href="css/popup.css" />
<base target="_self" />
</head>
<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertDel();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td>
<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
<td><input id="cite" name="cite" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
<td><input id="title" name="title" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
<td><input id="id" name="id" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
<td>
<select id="class" name="class" class="field mceEditableSelect">
<option value="">{$lang_xhtmlxtras_not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
<td><input id="style" name="style" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
<td>
<select id="dir" name="dir" class="field">
<option value="">{$lang_xhtmlxtras_not_set}</option>
<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
<td>
<input id="lang" name="lang" type="text" value="" class="field" />
</td>
</tr>
</table>
</fieldset>
</div>
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label for="onfocus">onfocus</label>:</td>
<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onblur">onblur</label>:</td>
<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onclick">onclick</label>:</td>
<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="ondblclick">ondblclick</label>:</td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousedown">onmousedown</label>:</td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseup">onmouseup</label>:</td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseover">onmouseover</label>:</td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousemove">onmousemove</label>:</td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseout">onmouseout</label>:</td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeypress">onkeypress</label>:</td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeydown">onkeydown</label>:</td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeyup">onkeyup</label>:</td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertDel();" />
</div>
<div style="float: left">
<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeDel();" style="display: none;" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
 
</form>
 
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm
New file
0,0 → 1,148
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_xhtmlxtras_title_abbr_element}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/abbr.js"></script>
<link rel="stylesheet" type="text/css" href="css/popup.css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertAbbr();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
<td><input id="title" name="title" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
<td><input id="id" name="id" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
<td>
<select id="class" name="class" class="field mceEditableSelect">
<option value="">{$lang_xhtmlxtras_not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
<td><input id="style" name="style" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
<td>
<select id="dir" name="dir" class="field">
<option value="">{$lang_xhtmlxtras_not_set}</option>
<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
<td>
<input id="lang" name="lang" type="text" value="" class="field" />
</td>
</tr>
</table>
</fieldset>
</div>
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label for="onfocus">onfocus</label>:</td>
<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onblur">onblur</label>:</td>
<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onclick">onclick</label>:</td>
<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="ondblclick">ondblclick</label>:</td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousedown">onmousedown</label>:</td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseup">onmouseup</label>:</td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseover">onmouseover</label>:</td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousemove">onmousemove</label>:</td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseout">onmouseout</label>:</td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeypress">onkeypress</label>:</td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeydown">onkeydown</label>:</td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeyup">onkeyup</label>:</td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAbbr();" />
</div>
<div style="float: left">
<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAbbr();" style="display: none;" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
 
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm
New file
0,0 → 1,153
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_xhtmlxtras_attribs_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/attributes.js"></script>
<link rel="stylesheet" type="text/css" href="css/attributes.css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertAction();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_attrib_tab}</a></span></li>
<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_events_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_xhtmlxtras_attribute_attrib_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
<td><input id="title" name="title" type="text" value="" /></td>
</tr>
<tr>
<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
<td><input id="id" name="id" type="text" value="" /></td>
</tr>
<tr>
<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
<td>
<select id="classlist" name="classlist" class="mceEditableSelect">
<option value="" selected>{$lang_not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
<td><input id="style" name="style" type="text" value="" /></td>
</tr>
<tr>
<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
<td>
<select id="dir" name="dir">
<option value="">{$lang_xhtmlxtras_not_set}</option>
<option value="ltr">{$lang_xhtmlxtras_option_ltr}</option>
<option value="rtl">{$lang_xhtmlxtras_option_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
<td>
<input id="lang" name="lang" type="text" value="" />
</td>
</tr>
<tr>
<td><label id="tabindexlabel" for="tabindex">{$lang_xhtmlxtras_attribute_label_tabindex}</label></td>
<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
</tr>
 
<tr>
<td><label id="accesskeylabel" for="accesskey">{$lang_xhtmlxtras_attribute_label_accesskey}</label></td>
<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
</tr>
</table>
</fieldset>
</div>
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_xhtmlxtras_attribute_events_tab}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label for="onfocus">onfocus</label>:</td>
<td><input id="onfocus" name="onfocus" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onblur">onblur</label>:</td>
<td><input id="onblur" name="onblur" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onclick">onclick</label>:</td>
<td><input id="onclick" name="onclick" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="ondblclick">ondblclick</label>:</td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousedown">onmousedown</label>:</td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseup">onmouseup</label>:</td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseover">onmouseover</label>:</td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousemove">onmousemove</label>:</td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseout">onmouseout</label>:</td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeypress">onkeypress</label>:</td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeydown">onkeydown</label>:</td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeyup">onkeyup</label>:</td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
 
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm
New file
0,0 → 1,148
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_xhtmlxtras_title_acronym_element}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/acronym.js"></script>
<link rel="stylesheet" type="text/css" href="css/popup.css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertAcronym();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
<td><input id="title" name="title" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
<td><input id="id" name="id" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
<td>
<select id="class" name="class" class="field mceEditableSelect">
<option value="">{$lang_xhtmlxtras_not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
<td><input id="style" name="style" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
<td>
<select id="dir" name="dir" class="field">
<option value="">{$lang_xhtmlxtras_not_set}</option>
<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
<td>
<input id="lang" name="lang" type="text" value="" class="field" />
</td>
</tr>
</table>
</fieldset>
</div>
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label for="onfocus">onfocus</label>:</td>
<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onblur">onblur</label>:</td>
<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onclick">onclick</label>:</td>
<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="ondblclick">ondblclick</label>:</td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousedown">onmousedown</label>:</td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseup">onmouseup</label>:</td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseover">onmouseover</label>:</td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousemove">onmousemove</label>:</td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseout">onmouseout</label>:</td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeypress">onkeypress</label>:</td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeydown">onkeydown</label>:</td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeyup">onkeyup</label>:</td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAcronym();" />
</div>
<div style="float: left">
<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAcronym();" style="display: none;" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
 
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('xhtmlxtras');var TinyMCE_XHTMLXtrasPlugin={getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/xhtmlxtras/css/xhtmlxtras.css")},getControlHTML:function(cn){switch(cn){case"cite":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_cite_desc','{$pluginurl}/images/cite.gif','mceCite',true);case"acronym":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_acronym_desc','{$pluginurl}/images/acronym.gif','mceAcronym',true);case"abbr":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_abbr_desc','{$pluginurl}/images/abbr.gif','mceAbbr',true);case"del":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_del_desc','{$pluginurl}/images/del.gif','mceDel',true);case"ins":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_ins_desc','{$pluginurl}/images/ins.gif','mceIns',true);case"attribs":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_attribs_desc','{$pluginurl}/images/attribs.gif','mceAttributes',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var template,inst,elm;switch(command){case"mceCite":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/cite.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAcronym":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/acronym.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAbbr":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/abbr.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceIns":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/ins.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceDel":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/del.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAttributes":inst=tinyMCE.getInstanceById(editor_id);elm=inst.getFocusElement();if(elm&&elm.nodeName!=='BODY'&&elm.className.indexOf('mceItem')==-1){tinyMCE.openWindow({file:'../../plugins/xhtmlxtras/attributes.htm',width:380,height:370},{editor_id:editor_id})}return true}return false},cleanup:function(type,content,inst){if(type=='insert_to_editor'&&tinyMCE.isIE&&!tinyMCE.isOpera){content=content.replace(/<abbr([^>]+)>/gi,'<html:ABBR $1>');content=content.replace(/<\/abbr>/gi,'</html:ABBR>')}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var elm=tinyMCE.getParentElement(node);if(node==null)return;tinyMCE.switchClass(editor_id+'_attribs','mceButtonDisabled');if(!any_selection){tinyMCE.switchClass(editor_id+'_cite','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_acronym','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_abbr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_del','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_ins','mceButtonDisabled')}else{tinyMCE.switchClass(editor_id+'_cite','mceButtonNormal');tinyMCE.switchClass(editor_id+'_acronym','mceButtonNormal');tinyMCE.switchClass(editor_id+'_abbr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_del','mceButtonNormal');tinyMCE.switchClass(editor_id+'_ins','mceButtonNormal')}if(elm&&elm.nodeName!='BODY'&&elm.className.indexOf('mceItem')==-1)tinyMCE.switchClass(editor_id+'_attribs','mceButtonNormal');switch(node.nodeName){case"CITE":tinyMCE.switchClass(editor_id+'_cite','mceButtonSelected');return true;case"ACRONYM":tinyMCE.switchClass(editor_id+'_acronym','mceButtonSelected');return true;case"abbr":case"HTML:ABBR":case"ABBR":tinyMCE.switchClass(editor_id+'_abbr','mceButtonSelected');return true;case"DEL":tinyMCE.switchClass(editor_id+'_del','mceButtonSelected');return true;case"INS":tinyMCE.switchClass(editor_id+'_ins','mceButtonSelected');return true}return true},_anySel:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),t=inst.selection.getSelectedText(),pe;pe=tinyMCE.getParentElement(inst.getFocusElement(),'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');return pe||inst.getFocusElement().nodeName=="IMG"||(t&&t.length>0)}};tinyMCE.addPlugin("xhtmlxtras",TinyMCE_XHTMLXtrasPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm
New file
0,0 → 1,169
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_xhtmlxtras_title_ins_element}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/ins.js"></script>
<link rel="stylesheet" type="text/css" href="css/popup.css" />
<base target="_self" />
</head>
<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertIns();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td>
<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
<td><input id="cite" name="cite" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
<td><input id="title" name="title" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
<td><input id="id" name="id" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
<td>
<select id="class" name="class" class="field mceEditableSelect">
<option value="">{$lang_xhtmlxtras_not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
<td><input id="style" name="style" type="text" value="" class="field" /></td>
</tr>
<tr>
<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
<td>
<select id="dir" name="dir" class="field">
<option value="">{$lang_xhtmlxtras_not_set}</option>
<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
<td>
<input id="lang" name="lang" type="text" value="" class="field" />
</td>
</tr>
</table>
</fieldset>
</div>
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="label"><label for="onfocus">onfocus</label>:</td>
<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onblur">onblur</label>:</td>
<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onclick">onclick</label>:</td>
<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="ondblclick">ondblclick</label>:</td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousedown">onmousedown</label>:</td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseup">onmouseup</label>:</td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseover">onmouseover</label>:</td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmousemove">onmousemove</label>:</td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onmouseout">onmouseout</label>:</td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeypress">onkeypress</label>:</td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeydown">onkeydown</label>:</td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td>
</tr>
 
<tr>
<td class="label"><label for="onkeyup">onkeyup</label>:</td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertIns();" />
</div>
<div style="float: left">
<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeIns();" style="display: none;" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
 
</form>
 
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
New file
0,0 → 1,29
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
SXE.initElementDialog('acronym');
if (SXE.currentAction == "update") {
SXE.showRemoveButton();
}
}
 
function insertAcronym() {
SXE.insertElement('acronym');
tinyMCEPopup.close();
}
 
function removeAcronym() {
SXE.removeElement('acronym');
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
New file
0,0 → 1,53
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
SXE.initElementDialog('ins');
if (SXE.currentAction == "update") {
setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
SXE.showRemoveButton();
}
}
 
function setElementAttribs(elm) {
setAllCommonAttribs(elm);
setAttrib(elm, 'datetime');
setAttrib(elm, 'cite');
}
 
function insertIns() {
var elm = tinyMCE.getParentElement(SXE.focusElement, 'ins');
tinyMCEPopup.execCommand('mceBeginUndoLevel');
if (elm == null) {
var s = SXE.inst.selection.getSelectedHTML();
if(s.length > 0) {
tinyMCEPopup.execCommand('mceInsertContent', false, '<ins id="#sxe_temp_ins#">' + s + '</ins>');
var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'ins', 'id', '#sxe_temp_ins#');
for (var i=0; i<elementArray.length; i++) {
var elm = elementArray[i];
setElementAttribs(elm);
}
}
} else {
setElementAttribs(elm);
}
tinyMCE.triggerNodeChange();
tinyMCEPopup.execCommand('mceEndUndoLevel');
tinyMCEPopup.close();
}
 
function removeIns() {
SXE.removeElement('ins');
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
New file
0,0 → 1,241
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
function initCommonAttributes(elm) {
var formObj = document.forms[0];
 
// Setup form data for common element attributes
setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
selectByValue(formObj, 'class', tinyMCE.getAttrib(elm, 'class'), true);
setFormValue('style', tinyMCE.getAttrib(elm, 'style'));
selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
setFormValue('onfocus', tinyMCE.getAttrib(elm, 'onfocus'));
setFormValue('onblur', tinyMCE.getAttrib(elm, 'onblur'));
setFormValue('onclick', tinyMCE.getAttrib(elm, 'onclick'));
setFormValue('ondblclick', tinyMCE.getAttrib(elm, 'ondblclick'));
setFormValue('onmousedown', tinyMCE.getAttrib(elm, 'onmousedown'));
setFormValue('onmouseup', tinyMCE.getAttrib(elm, 'onmouseup'));
setFormValue('onmouseover', tinyMCE.getAttrib(elm, 'onmouseover'));
setFormValue('onmousemove', tinyMCE.getAttrib(elm, 'onmousemove'));
setFormValue('onmouseout', tinyMCE.getAttrib(elm, 'onmouseout'));
setFormValue('onkeypress', tinyMCE.getAttrib(elm, 'onkeypress'));
setFormValue('onkeydown', tinyMCE.getAttrib(elm, 'onkeydown'));
setFormValue('onkeyup', tinyMCE.getAttrib(elm, 'onkeyup'));
}
 
function setFormValue(name, value) {
if(document.forms[0].elements[name]) document.forms[0].elements[name].value = value;
}
 
function insertDateTime(id) {
document.getElementById(id).value = getDateTime(new Date(), "%Y-%m-%dT%H:%M:%S");
}
 
function getDateTime(d, fmt) {
fmt = fmt.replace("%D", "%m/%d/%y");
fmt = fmt.replace("%r", "%I:%M:%S %p");
fmt = fmt.replace("%Y", "" + d.getFullYear());
fmt = fmt.replace("%y", "" + d.getYear());
fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
fmt = fmt.replace("%%", "%");
 
return fmt;
}
 
function addZeros(value, len) {
var i;
 
value = "" + value;
 
if (value.length < len) {
for (i=0; i<(len-value.length); i++)
value = "0" + value;
}
 
return value;
}
 
function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
if (!form_obj || !form_obj.elements[field_name])
return;
 
var sel = form_obj.elements[field_name];
 
var found = false;
for (var i=0; i<sel.options.length; i++) {
var option = sel.options[i];
 
if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
option.selected = true;
found = true;
} else
option.selected = false;
}
 
if (!found && add_custom && value != '') {
var option = new Option('Value: ' + value, value);
option.selected = true;
sel.options[sel.options.length] = option;
}
 
return found;
}
 
function setAttrib(elm, attrib, value) {
var formObj = document.forms[0];
var valueElm = formObj.elements[attrib.toLowerCase()];
 
if (typeof(value) == "undefined" || value == null) {
value = "";
 
if (valueElm)
value = valueElm.value;
}
 
if (value != "") {
if (attrib == "style")
attrib = "style.cssText";
 
if (attrib.substring(0, 2) == 'on')
value = 'return true;' + value;
 
if (attrib == "class") {
tinyMCE.addCSSClass(elm, value);
return;
}
 
elm.setAttribute(attrib.toLowerCase(), value);
} else
elm.removeAttribute(attrib);
}
 
function setAllCommonAttribs(elm) {
setAttrib(elm, 'title');
setAttrib(elm, 'id');
setAttrib(elm, 'class');
setAttrib(elm, 'style');
setAttrib(elm, 'dir');
setAttrib(elm, 'lang');
/*setAttrib(elm, 'onfocus');
setAttrib(elm, 'onblur');
setAttrib(elm, 'onclick');
setAttrib(elm, 'ondblclick');
setAttrib(elm, 'onmousedown');
setAttrib(elm, 'onmouseup');
setAttrib(elm, 'onmouseover');
setAttrib(elm, 'onmousemove');
setAttrib(elm, 'onmouseout');
setAttrib(elm, 'onkeypress');
setAttrib(elm, 'onkeydown');
setAttrib(elm, 'onkeyup');*/
}
 
SXE = {
currentAction : "insert",
inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
updateElement : null
}
 
SXE.focusElement = SXE.inst.getFocusElement();
 
SXE.initElementDialog = function(element_name) {
addClassesToList('class', 'xhtmlxtras_styles');
TinyMCE_EditableSelects.init();
 
element_name = element_name.toLowerCase();
var elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
if (elm != null && elm.nodeName == element_name.toUpperCase()) {
SXE.currentAction = "update";
}
 
if (SXE.currentAction == "update") {
initCommonAttributes(elm);
SXE.updateElement = elm;
}
 
document.forms[0].insert.value = tinyMCE.getLang('lang_' + SXE.currentAction, 'Insert', true);
}
 
SXE.insertElement = function(element_name) {
var elm = tinyMCE.getParentElement(SXE.focusElement, element_name), h, tagName;
 
tinyMCEPopup.execCommand('mceBeginUndoLevel');
if (elm == null) {
var s = SXE.inst.selection.getSelectedHTML();
if(s.length > 0) {
tagName = element_name;
 
if (tinyMCE.isIE && !tinyMCE.isOpera && element_name.indexOf('html:') == 0)
element_name = element_name.substring(5).toLowerCase();
 
h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
 
tinyMCEPopup.execCommand('mceInsertContent', false, h);
 
var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), element_name, 'id', '#sxe_temp_' + element_name + '#');
for (var i=0; i<elementArray.length; i++) {
var elm = elementArray[i];
 
elm.id = '';
elm.setAttribute('id', '');
elm.removeAttribute('id');
 
setAllCommonAttribs(elm);
}
}
} else {
setAllCommonAttribs(elm);
}
tinyMCE.triggerNodeChange();
tinyMCEPopup.execCommand('mceEndUndoLevel');
}
 
SXE.removeElement = function(element_name){
element_name = element_name.toLowerCase();
elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
if(elm && elm.nodeName == element_name.toUpperCase()){
tinyMCEPopup.execCommand('mceBeginUndoLevel');
tinyMCE.execCommand('mceRemoveNode', false, elm);
tinyMCE.triggerNodeChange();
tinyMCEPopup.execCommand('mceEndUndoLevel');
}
}
 
SXE.showRemoveButton = function() {
document.getElementById("remove").style.display = 'block';
}
 
SXE.containsClass = function(elm,cl) {
return (elm.className.indexOf(cl) > -1) ? true : false;
}
 
SXE.removeClass = function(elm,cl) {
if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) {
return true;
}
var classNames = elm.className.split(" ");
var newClassNames = "";
for (var x = 0, cnl = classNames.length; x < cnl; x++) {
if (classNames[x] != cl) {
newClassNames += (classNames[x] + " ");
}
}
elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end
}
 
SXE.addClass = function(elm,cl) {
if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl;
return true;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
New file
0,0 → 1,29
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
SXE.initElementDialog('cite');
if (SXE.currentAction == "update") {
SXE.showRemoveButton();
}
}
 
function insertCite() {
SXE.insertElement('cite');
tinyMCEPopup.close();
}
 
function removeCite() {
SXE.removeElement('cite');
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
New file
0,0 → 1,54
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
SXE.initElementDialog('del');
if (SXE.currentAction == "update") {
setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
SXE.showRemoveButton();
}
}
 
function setElementAttribs(elm) {
setAllCommonAttribs(elm);
setAttrib(elm, 'datetime');
setAttrib(elm, 'cite');
}
 
function insertDel() {
var elm = tinyMCE.getParentElement(SXE.focusElement, 'del');
 
tinyMCEPopup.execCommand('mceBeginUndoLevel');
if (elm == null) {
var s = SXE.inst.selection.getSelectedHTML();
if(s.length > 0) {
tinyMCEPopup.execCommand('mceInsertContent', false, '<del id="#sxe_temp_del#">' + s + '</del>');
var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'del', 'id', '#sxe_temp_del#');
for (var i=0; i<elementArray.length; i++) {
var elm = elementArray[i];
setElementAttribs(elm);
}
}
} else {
setElementAttribs(elm);
}
tinyMCE.triggerNodeChange();
tinyMCEPopup.execCommand('mceEndUndoLevel');
tinyMCEPopup.close();
}
 
function removeDel() {
SXE.removeElement('del');
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
New file
0,0 → 1,29
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
SXE.initElementDialog('abbr');
if (SXE.currentAction == "update") {
SXE.showRemoveButton();
}
}
 
function insertAbbr() {
SXE.insertElement(tinyMCE.isIE && !tinyMCE.isOpera ? 'html:ABBR' : 'abbr');
tinyMCEPopup.close();
}
 
function removeAbbr() {
SXE.removeElement('abbr');
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
New file
0,0 → 1,130
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode - based on work by Andrew Tetlaw
* @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
*/
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
 
var f = document.forms[0];
var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
 
setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
setFormValue('onclick', onclick);
setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);
addClassesToList('classlist', 'advlink_styles');
selectByValue(f, 'classlist', className, true);
TinyMCE_EditableSelects.init();
}
 
function setFormValue(name, value) {
if(value && document.forms[0].elements[name]){
document.forms[0].elements[name].value = value;
}
}
 
function insertAction() {
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
 
tinyMCEPopup.execCommand("mceBeginUndoLevel");
tinyMCEPopup.restoreSelection();
setAllAttribs(elm);
tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
tinyMCE._setEventsEnabled(inst.getBody(), false);
tinyMCEPopup.execCommand("mceEndUndoLevel");
tinyMCEPopup.close();
}
 
function setAttrib(elm, attrib, value) {
var formObj = document.forms[0];
var valueElm = formObj.elements[attrib.toLowerCase()];
 
if (typeof(value) == "undefined" || value == null) {
value = "";
 
if (valueElm)
value = valueElm.value;
}
 
if (value != "") {
tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);
 
if (attrib == "style")
attrib = "style.cssText";
 
if (attrib.substring(0, 2) == 'on')
value = 'return true;' + value;
 
if (attrib == "class")
attrib = "className";
 
eval('elm.' + attrib + "=value;");
} else
elm.removeAttribute(attrib);
}
 
function setAllAttribs(elm) {
var f = document.forms[0];
 
setAttrib(elm, 'title');
setAttrib(elm, 'id');
setAttrib(elm, 'style');
setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
setAttrib(elm, 'dir');
setAttrib(elm, 'lang');
setAttrib(elm, 'tabindex');
setAttrib(elm, 'accesskey');
setAttrib(elm, 'onfocus');
setAttrib(elm, 'onblur');
setAttrib(elm, 'onclick');
setAttrib(elm, 'ondblclick');
setAttrib(elm, 'onmousedown');
setAttrib(elm, 'onmouseup');
setAttrib(elm, 'onmouseover');
setAttrib(elm, 'onmousemove');
setAttrib(elm, 'onmouseout');
setAttrib(elm, 'onkeypress');
setAttrib(elm, 'onkeydown');
setAttrib(elm, 'onkeyup');
 
// Refresh in old MSIE
if (tinyMCE.isMSIE5)
elm.outerHTML = elm.outerHTML;
}
 
function insertAttribute() {
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js
New file
0,0 → 1,205
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('preview');
 
var TinyMCE_PreviewPlugin = {
getInfo : function() {
return {
longname : 'Preview',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
/**
* Returns the HTML contents of the preview control.
*/
getControlHTML : function(cn) {
switch (cn) {
case "preview":
return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview');
}
 
return "";
},
 
/**
* Executes the mcePreview command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mcePreview":
var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null);
var previewWidth = tinyMCE.getParam("plugin_preview_width", "550");
var previewHeight = tinyMCE.getParam("plugin_preview_height", "600");
 
// Use a custom preview page
if (previewPage) {
var template = new Array();
 
template['file'] = previewPage;
template['width'] = previewWidth;
template['height'] = previewHeight;
 
tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")});
} else {
var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height=" + previewHeight);
var html = "", i;
var c = tinyMCE.getContent();
var pos = c.indexOf('<body'), pos2, css = tinyMCE.getParam("content_css").split(',');
 
if (pos != -1) {
pos = c.indexOf('>', pos);
pos2 = c.lastIndexOf('</body>');
c = c.substring(pos + 1, pos2);
}
 
html += tinyMCE.getParam('doctype');
html += '<html xmlns="http://www.w3.org/1999/xhtml">';
html += '<head>';
html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
html += '<base href="' + tinyMCE.settings['base_href'] + '" />';
html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
 
for (i=0; i<css.length; i++)
html += '<link href="' + css[i] + '" rel="stylesheet" type="text/css" />';
 
html += '<script type="text/javascript">';
html += 'window.opener.TinyMCE_PreviewPlugin._setDoc(document);';
html += 'window.opener.TinyMCE_PreviewPlugin._setWin(window);';
html += 'writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';
html += 'writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';
html += 'writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';
html += 'writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';
html += 'writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';
html += 'writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';
html += '</script>';
html += '</head>';
html += '<body dir="' + tinyMCE.getParam("directionality") + '" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';
html += c;
html += '</body>';
html += '</html>';
 
win.document.write(html);
win.document.close();
}
 
return true;
}
 
return false;
},
 
_setDoc : function(d) {
TinyMCE_PreviewPlugin._doc = d;
d._embeds = new Array();
},
 
_setWin : function(d) {
TinyMCE_PreviewPlugin._win = d;
},
 
_onLoad : function() {
var nl, i, el = new Array(), d = TinyMCE_PreviewPlugin._doc, sv, ne;
 
nl = d.getElementsByTagName("script");
for (i=0; i<nl.length; i++) {
sv = tinyMCE.isMSIE ? nl[i].innerHTML : nl[i].firstChild.nodeValue;
 
if (new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*', 'g').test(sv))
el[el.length] = nl[i];
}
 
for (i=0; i<el.length; i++) {
ne = d.createElement("div");
ne.innerHTML = d._embeds[i];
el[i].parentNode.insertBefore(ne.firstChild, el[i]);
}
},
 
_writeFlash : function(p) {
p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
TinyMCE_PreviewPlugin._writeEmbed(
'D27CDB6E-AE6D-11cf-96B8-444553540000',
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
'application/x-shockwave-flash',
p
);
},
 
_writeShockWave : function(p) {
p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
TinyMCE_PreviewPlugin._writeEmbed(
'166B1BCA-3F9C-11CF-8075-444553540000',
'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
'application/x-director',
p
);
},
 
_writeQuickTime : function(p) {
p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
TinyMCE_PreviewPlugin._writeEmbed(
'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
'video/quicktime',
p
);
},
 
_writeRealMedia : function(p) {
p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
TinyMCE_PreviewPlugin._writeEmbed(
'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
'audio/x-pn-realaudio-plugin',
p
);
},
 
_writeWindowsMedia : function(p) {
p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
p.url = p.src;
TinyMCE_PreviewPlugin._writeEmbed(
'6BF52A52-394A-11D3-B153-00C04F79FAA6',
'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
'application/x-mplayer2',
p
);
},
 
_writeEmbed : function(cls, cb, mt, p) {
var h = '', n, d = TinyMCE_PreviewPlugin._doc, ne, c;
 
h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
h += '>';
 
for (n in p)
h += '<param name="' + n + '" value="' + p[n] + '">';
 
h += '<embed type="' + mt + '"';
 
for (n in p)
h += n + '="' + p[n] + '" ';
 
h += '></embed></object>';
 
d._embeds[d._embeds.length] = h;
}
};
 
tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/example.html
New file
0,0 → 1,14
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" src="../../tiny_mce_popup.js"></script>
<script type="text/javascript" src="jscripts/embed.js"></script>
<title>Example of a custom preview page</title>
<link href="{$content_css}" rel="stylesheet" type="text/css" />
</head>
<body>
 
Editor contents: <br />
{$content}
 
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('preview');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")})}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="",i;var c=tinyMCE.getContent();var pos=c.indexOf('<body'),pos2,css=tinyMCE.getParam("content_css").split(',');if(pos!=-1){pos=c.indexOf('>',pos);pos2=c.lastIndexOf('</body>');c=c.substring(pos+1,pos2)}html+=tinyMCE.getParam('doctype');html+='<html xmlns="http://www.w3.org/1999/xhtml">';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.settings['base_href']+'" />';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(i=0;i<css.length;i++)html+='<link href="'+css[i]+'" rel="stylesheet" type="text/css" />';html+='<script type="text/javascript">';html+='window.opener.TinyMCE_PreviewPlugin._setDoc(document);';html+='window.opener.TinyMCE_PreviewPlugin._setWin(window);';html+='writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';html+='writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';html+='writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';html+='writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';html+='writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';html+='writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';html+='</script>';html+='</head>';html+='<body dir="'+tinyMCE.getParam("directionality")+'" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';html+=c;html+='</body>';html+='</html>';win.document.write(html);win.document.close()}return true}return false},_setDoc:function(d){TinyMCE_PreviewPlugin._doc=d;d._embeds=new Array()},_setWin:function(d){TinyMCE_PreviewPlugin._win=d},_onLoad:function(){var nl,i,el=new Array(),d=TinyMCE_PreviewPlugin._doc,sv,ne;nl=d.getElementsByTagName("script");for(i=0;i<nl.length;i++){sv=tinyMCE.isMSIE?nl[i].innerHTML:nl[i].firstChild.nodeValue;if(new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*','g').test(sv))el[el.length]=nl[i]}for(i=0;i<el.length;i++){ne=d.createElement("div");ne.innerHTML=d._embeds[i];el[i].parentNode.insertBefore(ne.firstChild,el[i])}},_writeFlash:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('D27CDB6E-AE6D-11cf-96B8-444553540000','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','application/x-shockwave-flash',p)},_writeShockWave:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('166B1BCA-3F9C-11CF-8075-444553540000','http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0','application/x-director',p)},_writeQuickTime:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('02BF25D5-8C17-4B23-BC80-D3488ABDDC6B','http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0','video/quicktime',p)},_writeRealMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','audio/x-pn-realaudio-plugin',p)},_writeWindowsMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);p.url=p.src;TinyMCE_PreviewPlugin._writeEmbed('6BF52A52-394A-11D3-B153-00C04F79FAA6','http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701','application/x-mplayer2',p)},_writeEmbed:function(cls,cb,mt,p){var h='',n,d=TinyMCE_PreviewPlugin._doc,ne,c;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?'id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?'name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?'width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?'height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?'align="'+p.align+'"':'';h+='>';for(n in p)h+='<param name="'+n+'" value="'+p[n]+'">';h+='<embed type="'+mt+'"';for(n in p)h+=n+'="'+p[n]+'" ';h+='></embed></object>';d._embeds[d._embeds.length]=h}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/jscripts/embed.js
New file
0,0 → 1,73
/**
* This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
*/
 
function writeFlash(p) {
writeEmbed(
'D27CDB6E-AE6D-11cf-96B8-444553540000',
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
'application/x-shockwave-flash',
p
);
}
 
function writeShockWave(p) {
writeEmbed(
'166B1BCA-3F9C-11CF-8075-444553540000',
'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
'application/x-director',
p
);
}
 
function writeQuickTime(p) {
writeEmbed(
'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
'video/quicktime',
p
);
}
 
function writeRealMedia(p) {
writeEmbed(
'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
'audio/x-pn-realaudio-plugin',
p
);
}
 
function writeWindowsMedia(p) {
p.url = p.src;
writeEmbed(
'6BF52A52-394A-11D3-B153-00C04F79FAA6',
'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
'application/x-mplayer2',
p
);
}
 
function writeEmbed(cls, cb, mt, p) {
var h = '', n;
 
h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
h += '>';
 
for (n in p)
h += '<param name="' + n + '" value="' + p[n] + '">';
 
h += '<embed type="' + mt + '"';
 
for (n in p)
h += n + '="' + p[n] + '" ';
 
h += '></embed></object>';
 
document.write(h);
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/langs/fr.js
New file
0,0 → 1,6
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
preview_desc : 'Pr&eacute;visualisation'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/langs/en.js
New file
0,0 → 1,5
// UK lang variables
 
tinyMCE.addToLang('',{
preview_desc : 'Preview'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/images/preview.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/preview/images/preview.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('insertdatetime');var TinyMCE_InsertDateTimePlugin={getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"insertdate":return tinyMCE.getButtonHTML(cn,'lang_insertdate_desc','{$pluginurl}/images/insertdate.gif','mceInsertDate');case"inserttime":return tinyMCE.getButtonHTML(cn,'lang_inserttime_desc','{$pluginurl}/images/inserttime.gif','mceInsertTime')}return""},execCommand:function(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value}return value}function getDateTime(d,fmt){fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt}switch(command){case"mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat",tinyMCE.getLang('lang_insertdate_def_fmt'))));return true;case"mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat",tinyMCE.getLang('lang_inserttime_def_fmt'))));return true}return false}};tinyMCE.addPlugin("insertdatetime",TinyMCE_InsertDateTimePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/langs/en.js
New file
0,0 → 1,12
// UK lang variables
 
tinyMCE.addToLang('',{
insertdate_def_fmt : '%Y-%m-%d',
inserttime_def_fmt : '%H:%M:%S',
insertdate_desc : 'Insert date',
inserttime_desc : 'Insert time',
inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/langs/fr.js
New file
0,0 → 1,13
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
insertdate_def_fmt : '%d/%m/%Y',
inserttime_def_fmt : '%Hh%M',
insertdate_desc : 'Ins&eacute;rer la date',
inserttime_desc : 'Ins&eacute;rer l\'heure',
inserttime_months_long : new Array("Janvier", "F&eacute;vrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Ao&ucirc;t", "Septembre", "Octobre", "Novembre", "D&eacute;cembre"),
inserttime_months_short : new Array("Jan", "F&eacute;v", "Mar", "Avr", "Mai", "Jun", "Jul", "Ao&ucirc;", "Sep", "Oct", "Nov", "D&eacute;c"),
inserttime_day_long : new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"),
inserttime_day_short : new Array("Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim")
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
New file
0,0 → 1,90
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('insertdatetime');
 
var TinyMCE_InsertDateTimePlugin = {
getInfo : function() {
return {
longname : 'Insert date/time',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
/**
* Returns the HTML contents of the insertdate, inserttime controls.
*/
getControlHTML : function(cn) {
switch (cn) {
case "insertdate":
return tinyMCE.getButtonHTML(cn, 'lang_insertdate_desc', '{$pluginurl}/images/insertdate.gif', 'mceInsertDate');
 
case "inserttime":
return tinyMCE.getButtonHTML(cn, 'lang_inserttime_desc', '{$pluginurl}/images/inserttime.gif', 'mceInsertTime');
}
 
return "";
},
 
/**
* Executes the mceInsertDate command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
/* Adds zeros infront of value */
function addZeros(value, len) {
value = "" + value;
 
if (value.length < len) {
for (var i=0; i<(len-value.length); i++)
value = "0" + value;
}
 
return value;
}
 
function getDateTime(d, fmt) {
fmt = fmt.replace("%D", "%m/%d/%y");
fmt = fmt.replace("%r", "%I:%M:%S %p");
fmt = fmt.replace("%Y", "" + d.getFullYear());
fmt = fmt.replace("%y", "" + d.getYear());
fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);
fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);
fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);
fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);
fmt = fmt.replace("%%", "%");
 
return fmt;
}
 
// Handle commands
switch (command) {
case "mceInsertDate":
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", tinyMCE.getLang('lang_insertdate_def_fmt'))));
return true;
 
case "mceInsertTime":
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", tinyMCE.getLang('lang_inserttime_def_fmt'))));
return true;
}
 
// Pass to next handler in chain
return false;
}
};
 
tinyMCE.addPlugin("insertdatetime", TinyMCE_InsertDateTimePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/insertdatetime/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('visualchars');var TinyMCE_VisualCharsPlugin={getInfo:function(){return{longname:'Visual characters',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.visualChars={state:false}},getControlHTML:function(cn){switch(cn){case"visualchars":return tinyMCE.getButtonHTML(cn,'lang_visualchars_desc','{$pluginurl}/images/visualchars.gif','mceVisualChars',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"mceVisualChars":this._toggleVisualChars(editor_id,inst);return true}return false},cleanup:function(type,content,inst){if(type=="insert_to_editor_dom"||type=="get_from_editor_dom"){inst.visualChars.state=true;this._toggleVisualChars(inst.editorId,inst)}return content},_toggleVisualChars:function(editor_id,inst){var nl,i,h,d=inst.getDoc(),b=inst.getBody(),nv,s=inst.selection,bo;inst.visualChars.state=!inst.visualChars.state;bo=s.getBookmark(true);tinyMCE.switchClass(editor_id+'_visualchars',inst.visualChars.state?'mceButtonSelected':'mceButtonNormal');if(inst.visualChars.state){nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1});for(i=0;i<nl.length;i++){nv=nl[i].nodeValue;nv=nv.replace(/(\u00a0+)/g,'<span class="mceItemHiddenVisualChar">$1</span>');nv=nv.replace(/\u00a0/g,'\u00b7');tinyMCE.setOuterHTML(nl[i],nv,d)}}else{nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==1&&n.nodeName=='SPAN'&&n.className=='mceItemHiddenVisualChar'});for(i=0;i<nl.length;i++)tinyMCE.setOuterHTML(nl[i],nl[i].innerHTML.replace(/(&middot;|\u00b7)/g,'&nbsp;'),d)}}};tinyMCE.addPlugin("visualchars",TinyMCE_VisualCharsPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/visualchars/langs/en.js
New file
0,0 → 1,5
// EN lang variables
 
tinyMCE.addToLang('visualchars',{
desc : 'Visual control characters on/off.'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/visualchars/images/visualchars.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/visualchars/images/visualchars.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js
New file
0,0 → 1,89
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('visualchars');
 
var TinyMCE_VisualCharsPlugin = {
getInfo : function() {
return {
longname : 'Visual characters',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
inst.visualChars = {
state : false
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "visualchars":
return tinyMCE.getButtonHTML(cn, 'lang_visualchars_desc', '{$pluginurl}/images/visualchars.gif', 'mceVisualChars', false);
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
var inst = tinyMCE.getInstanceById(editor_id);
 
switch (command) {
case "mceVisualChars":
this._toggleVisualChars(editor_id, inst);
return true;
}
 
return false;
},
 
cleanup : function(type, content, inst) {
if (type == "insert_to_editor_dom" || type == "get_from_editor_dom") {
inst.visualChars.state = true;
this._toggleVisualChars(inst.editorId, inst);
}
 
return content;
},
 
// Private plugin internal methods
 
_toggleVisualChars : function(editor_id, inst) {
var nl, i, h, d = inst.getDoc(), b = inst.getBody(), nv, s = inst.selection, bo;
 
inst.visualChars.state = !inst.visualChars.state;
 
bo = s.getBookmark(true);
 
tinyMCE.switchClass(editor_id + '_visualchars', inst.visualChars.state ? 'mceButtonSelected' : 'mceButtonNormal');
 
if (inst.visualChars.state) {
nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1;});
 
for (i=0; i<nl.length; i++) {
nv = nl[i].nodeValue;
nv = nv.replace(/(\u00a0+)/g, '<span class="mceItemHiddenVisualChar">$1</span>');
nv = nv.replace(/\u00a0/g, '\u00b7');
tinyMCE.setOuterHTML(nl[i], nv, d);
}
} else {
nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 1 && n.nodeName == 'SPAN' && n.className == 'mceItemHiddenVisualChar';});
 
for (i=0; i<nl.length; i++)
tinyMCE.setOuterHTML(nl[i], nl[i].innerHTML.replace(/(&middot;|\u00b7)/g, '&nbsp;'), d);
}
 
//s.moveToBookmark(bo);
}
};
 
tinyMCE.addPlugin("visualchars", TinyMCE_VisualCharsPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/readme.txt
--- inlinepopups/editor_plugin.js (revision 0)
+++ inlinepopups/editor_plugin.js (revision 610)
@@ -0,0 +1 @@
+var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(!(minWidth=parseInt(template['minWidth'])))minWidth=100;if(!(minHeight=parseInt(template['minHeight'])))minHeight=100;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');if(tinyMCE.hasPlugin('fullscreen')&&this.selectedInstance.getData('fullscreen').enabled)pos={absLeft:0,absTop:0};else pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/ 2) - (width /2));pos.absTop+=Math.round((elm.firstChild.clientHeight/ 2) - (height /2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop+",minWidth="+minWidth+",minHeight="+minHeight)};TinyMCE_Engine.prototype.closeWindow=function(win){var gotit=false,n,w;for(n in mcWindows.windows){w=mcWindows.windows[n];if(typeof(w)=='function')continue;if(win.name==w.id+'_iframe'){w.close();gotit=true}}if(!gotit)this.orgCloseWindow(win);tinyMCE.selectedInstance.getWin().focus()};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=1001;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.addEvent(window,"resize",mcWindows.eventDispatcher);this.addEvent(document,"scroll",mcWindows.eventDispatcher);this.doc=document};TinyMCE_Windows.prototype.getBounds=function(){if(!this.bounds){var vp=tinyMCE.getViewPort(window);var top,left,bottom,right,docEl=this.doc.documentElement;top=vp.top;left=vp.left;bottom=vp.height+top-2;right=vp.width+left-22;this.bounds=[left,top,right,bottom]}return this.bounds};TinyMCE_Windows.prototype.clampBoxPosition=function(x,y,w,h,minW,minH){var bounds=this.getBounds();x=Math.max(bounds[0],Math.min(bounds[2],x+w)-w);y=Math.max(bounds[1],Math.min(bounds[3],y+h)-h);return this.clampBoxSize(x,y,w,h,minW,minH)};TinyMCE_Windows.prototype.clampBoxSize=function(x,y,w,h,minW,minH){var bounds=this.getBounds();return[x,y,Math.max(minW,Math.min(bounds[2],x+w)-x),Math.max(minH,Math.min(bounds[3],y+h)-y)]};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;case"scroll":case"resize":if(mcWindows.clampUpdateTimeout)clearTimeout(mcWindows.clampUpdateTimeout);mcWindows.clampEventType=e.type;mcWindows.clampUpdateTimeout=setTimeout(function(){mcWindows.updateClamping()},100);break}};TinyMCE_Windows.prototype.updateClamping=function(){var clamp,oversize,etype=mcWindows.clampEventType;this.bounds=null;this.clampUpdateTimeout=null;for(var n in this.windows){win=this.windows[n];if(typeof(win)=='function'||!win.winElement)continue;clamp=mcWindows.clampBoxPosition(win.left,win.top,win.winElement.scrollWidth,win.winElement.scrollHeight,win.features.minWidth,win.features.minHeight);oversize=(clamp[2]!=win.winElement.scrollWidth||clamp[3]!=win.winElement.scrollHeight)?true:false;if(!oversize||win.features.resizable=="yes"||etype!="scroll")win.moveTo(clamp[0],clamp[1]);if(oversize&&win.features.resizable=="yes")win.resizeTo(clamp[2],clamp[3])}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,false)};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true}else e.preventDefault()};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['minwidth']="100";options['minheight']="100";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i<optionChunks.length;i++){var parts=optionChunks[i].split('=');if(parts.length==2)options[parts[0]]=parts[1]}options['left']=parseInt(options['left']);options['top']=parseInt(options['top']);options['width']=parseInt(options['width']);options['height']=parseInt(options['height']);options['minWidth']=parseInt(options['minwidth']);options['minHeight']=parseInt(options['minheight']);return options};TinyMCE_Windows.prototype.open=function(url,name,features){this.lastSelectedWindow=this.selectedWindow;var win=new TinyMCE_Window();var winDiv,html="",id;var imgPath=this.getParam("images_path");features=this.parseFeatures(features);var clamp=mcWindows.clampBoxPosition(features['left'],features['top'],features['width'],features['height'],features['minWidth'],features['minHeight']);features['left']=clamp[0];features['top']=clamp[1];if(features['resizable']=="yes"){features['width']=clamp[2];features['height']=clamp[3]}id="mcWindow_"+name;win.deltaHeight=18;if(features['statusbar']=="yes"){win.deltaHeight+=13;if(this.isMSIE)win.deltaHeight+=1}width=parseInt(features['width']);height=parseInt(features['height'])-win.deltaHeight;if(this.isMSIE)width-=2;win.id=id;win.url=url;win.name=name;win.features=features;this.windows[name]=win;iframeWidth=width;iframeHeight=height;html+='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';html+='<html>';html+='<head>';html+='<title>Wrapper iframe</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+this.getParam("css_file")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body onload="parent.mcWindows.onLoad(\''+name+'\');">';html+='<div id="'+id+'_container" class="mceWindow">';html+='<div id="'+id+'_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';html+=' <div id="'+id+'_title" class="mceWindowTitle"';html+=' onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';html+=' <div class="mceWindowHeadTools">';html+=' <a href="javascript:parent.mcWindows.windows[\''+name+'\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="'+imgPath+'/window_close.gif" /></a>';if(features['resizable']=="yes"&&features['maximizable']=="yes")html+=' <a href="javascript:parent.mcWindows.windows[\''+name+'\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="'+imgPath+'/window_maximize.gif" /></a>';html+=' </div>';html+='</div><div id="'+id+'_body" class="mceWindowBody" style="width: '+width+'px; height: '+height+'px;">';html+='<iframe id="'+id+'_iframe" name="'+id+'_iframe" frameborder="0" width="'+iframeWidth+'" height="'+iframeHeight+'" src="'+url+'" class="mceWindowBodyIframe" scrolling="'+features['scrollbars']+'"></iframe></div>';if(features['statusbar']=="yes"){html+='<div id="'+id+'_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';if(features['resizable']=="yes"){if(this.isGecko)html+='<div id="'+id+'_resize" class="mceWindowResize"><div style="background-image: url(\''+imgPath+'/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';else html+='<div id="'+id+'_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();" border="0" src="'+imgPath+'/window_resize.gif" /></div>'}html+='</div>'}html+='</div>';html+='</body>';html+='</html>';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html)};TinyMCE_Windows.prototype.setDocumentLock=function(state){var elm=document.getElementById('mcWindowEventBlocker');if(state){if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm)}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='<img src="'+imgPath+'/spacer.gif" width="'+width+'" height="'+height+'" />';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block"}else if(elm!=null){if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher)}for(var i=0;i<window.frames.length;i++){if(!window.frames[i]._hasMouseHandlers){if(mcWindows.isMSIE){mcWindows.addEvent(window.frames[i].document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i].document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(window.frames[i],"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i],"mouseup",mcWindows.eventDispatcher)}window.frames[i]._hasMouseHandlers=true}}if(mcWindows.isMSIE){mcWindows.addEvent(win.frame.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(win.frame,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"focus",mcWindows.eventDispatcher)}var func=this.getParam("on_open_window","");if(func!="")eval(func+"(win);");win.focus();if(win.features['modal']=="yes")mcWindows.setDocumentLock(true)};TinyMCE_Windows.prototype.createFloatingIFrame=function(id_prefix,left,top,width,height,html){var iframe=document.createElement("iframe");var div=document.createElement("div"),doc;width=parseInt(width);height=parseInt(height)+1;div.setAttribute("id",id_prefix+"_div");div.setAttribute("width",width);div.setAttribute("height",(height));div.style.position="absolute";div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.style.height=(height)+"px";div.style.backgroundColor="white";div.style.display="none";if(this.isGecko){iframeWidth=width+2;iframeHeight=height+2}else{iframeWidth=width;iframeHeight=height+1}iframe.setAttribute("id",id_prefix+"_iframe");iframe.setAttribute("name",id_prefix+"_iframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",iframeWidth);iframe.setAttribute("height",iframeHeight);iframe.setAttribute("scrolling","no");iframe.style.width=iframeWidth+"px";iframe.style.height=iframeHeight+"px";iframe.style.backgroundColor="white";div.appendChild(iframe);document.body.appendChild(div);div.innerHTML=div.innerHTML;if(this.isSafari){window.setTimeout(function(){var doc=window.frames[id_prefix+'_iframe'].document;doc.open();doc.write(html);doc.close()},10)}else{doc=window.frames[id_prefix+'_iframe'].window.document;doc.open();doc.write(html);doc.close()}div.style.display="block";return div};function TinyMCE_Window(){};TinyMCE_Window.prototype.focus=function(){if(this!=mcWindows.selectedWindow){this.winElement.style.zIndex=++mcWindows.zindex;mcWindows.lastSelectedWindow=mcWindows.selectedWindow;mcWindows.selectedWindow=this}};TinyMCE_Window.prototype.minimize=function(){};TinyMCE_Window.prototype.maximize=function(){if(this.restoreSize){this.moveTo(this.restoreSize[0],this.restoreSize[1]);this.resizeTo(this.restoreSize[2],this.restoreSize[3]);this.updateClamping();this.restoreSize=null}else{var bounds=mcWindows.getBounds();this.restoreSize=[this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight];this.moveTo(bounds[0],bounds[1]);this.resizeTo(bounds[2]-bounds[0],bounds[3]-bounds[1])}};TinyMCE_Window.prototype.startResize=function(){mcWindows.action="resize"};TinyMCE_Window.prototype.startMove=function(e){mcWindows.action="move"};TinyMCE_Window.prototype.close=function(){if(this.frame&&this.frame['tinyMCEPopup'])this.frame['tinyMCEPopup'].restoreSelection();if(mcWindows.lastSelectedWindow!=null)mcWindows.lastSelectedWindow.focus();var mcWindowsNew=new Array();for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win.name!=this.name)mcWindowsNew[n]=win}mcWindows.windows=mcWindowsNew;var e=mcWindows.doc.getElementById(this.id+"_iframe");e.parentNode.removeChild(e);var e=mcWindows.doc.getElementById(this.id+"_div");e.parentNode.removeChild(e);mcWindows.setDocumentLock(false)};TinyMCE_Window.prototype.onMouseMove=function(e){var clamp;var dx=e.screenX-mcWindows.mouseDownScreenX;var dy=e.screenY-mcWindows.mouseDownScreenY;switch(mcWindows.action){case"resize":clamp=mcWindows.clampBoxSize(this.left,this.top,mcWindows.mouseDownWidth+(e.screenX-mcWindows.mouseDownScreenX),mcWindows.mouseDownHeight+(e.screenY-mcWindows.mouseDownScreenY),this.features.minWidth,this.features.minHeight);this.resizeTo(clamp[2],clamp[3]);mcWindows.cancelEvent(e);break;case"move":this.left=mcWindows.mouseDownLayerX+(e.screenX-mcWindows.mouseDownScreenX);this.top=mcWindows.mouseDownLayerY+(e.screenY-mcWindows.mouseDownScreenY);this.updateClamping();mcWindows.cancelEvent(e);break}};TinyMCE_Window.prototype.moveTo=function(x,y){this.left=x;this.top=y;this.winElement.style.left=this.left+"px";this.winElement.style.top=this.top+"px"};TinyMCE_Window.prototype.resizeTo=function(width,height){this.wrapperIFrameElement.style.width=(width+2)+'px';this.wrapperIFrameElement.style.height=(height+2)+'px';this.wrapperIFrameElement.width=width+2;this.wrapperIFrameElement.height=height+2;this.winElement.style.width=width+'px';this.winElement.style.height=height+'px';height=height-this.deltaHeight;this.containerElement.style.width=width+'px';this.iframeElement.style.width=width+'px';this.iframeElement.style.height=height+'px';this.bodyElement.style.width=width+'px';this.bodyElement.style.height=height+'px';this.headElement.style.width=width+'px';};TinyMCE_Window.prototype.updateClamping=function(){var clamp,oversize;clamp=mcWindows.clampBoxPosition(this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight,this.features.minWidth,this.features.minHeight);oversize=(clamp[2]!=this.winElement.scrollWidth||clamp[3]!=this.winElement.scrollHeight)?true:false;this.moveTo(clamp[0],clamp[1]);if(this.features.resizable=="yes"&&oversize)this.resizeTo(clamp[2],clamp[3])};function debug(msg){document.getElementById('debug').value+=msg+"\n"}TinyMCE_Window.prototype.onMouseUp=function(e){mcWindows.action="none"};TinyMCE_Window.prototype.onFocus=function(e){var winRef=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(winRef.name==win.id+"_iframe"){win.focus();return}}};TinyMCE_Window.prototype.onMouseDown=function(e){var elm=mcWindows.isMSIE?this.wrapperFrame.event.srcElement:e.target;mcWindows.mouseDownScreenX=e.screenX;mcWindows.mouseDownScreenY=e.screenY;mcWindows.mouseDownLayerX=this.left;mcWindows.mouseDownLayerY=this.top;mcWindows.mouseDownWidth=parseInt(this.winElement.style.width);mcWindows.mouseDownHeight=parseInt(this.winElement.style.height);if(this.resizeElement!=null&&elm==this.resizeElement.firstChild)this.startResize(e);else this.startMove(e);mcWindows.cancelEvent(e)};var mcWindows=new TinyMCE_Windows();mcWindows.init({images_path:tinyMCE.baseURL+"/plugins/inlinepopups/images",css_file:tinyMCE.baseURL+"/plugins/inlinepopups/css/inlinepopup.css"});
\ No newline at end of file
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
New file
0,0 → 1,453
/**
* $Id: mcwindows.js 18 2006-06-29 14:11:23Z spocke $
*
* Moxiecode DHTML Windows script.
*
* @author Moxiecode
* @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
*/
 
// Windows handler
function MCWindows() {
this.settings = new Array();
this.windows = new Array();
this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
this.isMac = navigator.userAgent.indexOf('Mac') != -1;
this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
this.action = "none";
this.selectedWindow = null;
this.zindex = 100;
this.mouseDownScreenX = 0;
this.mouseDownScreenY = 0;
this.mouseDownLayerX = 0;
this.mouseDownLayerY = 0;
this.mouseDownWidth = 0;
this.mouseDownHeight = 0;
};
 
MCWindows.prototype.init = function(settings) {
this.settings = settings;
 
if (this.isMSIE)
this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
else
this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
 
this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
};
 
MCWindows.prototype.getParam = function(name, default_value) {
var value = null;
 
value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
 
// Fix bool values
if (value == "true" || value == "false")
return (value == "true");
 
return value;
};
 
MCWindows.prototype.eventDispatcher = function(e) {
e = typeof(e) == "undefined" ? window.event : e;
 
if (mcWindows.selectedWindow == null)
return;
 
// Switch focus
if (mcWindows.isGecko && e.type == "mousedown") {
var elm = e.currentTarget;
 
for (var n in mcWindows.windows) {
var win = mcWindows.windows[n];
if (typeof(win) == 'function')
continue;
 
if (win.headElement == elm || win.resizeElement == elm) {
win.focus();
break;
}
}
}
 
switch (e.type) {
case "mousemove":
mcWindows.selectedWindow.onMouseMove(e);
break;
 
case "mouseup":
mcWindows.selectedWindow.onMouseUp(e);
break;
 
case "mousedown":
mcWindows.selectedWindow.onMouseDown(e);
break;
 
case "focus":
mcWindows.selectedWindow.onFocus(e);
break;
}
}
 
MCWindows.prototype.addEvent = function(obj, name, handler) {
if (this.isMSIE)
obj.attachEvent("on" + name, handler);
else
obj.addEventListener(name, handler, true);
};
 
MCWindows.prototype.cancelEvent = function(e) {
if (this.isMSIE) {
e.returnValue = false;
e.cancelBubble = true;
} else
e.preventDefault();
};
 
MCWindows.prototype.parseFeatures = function(opts) {
// Cleanup the options
opts = opts.toLowerCase();
opts = opts.replace(/;/g, ",");
opts = opts.replace(/[^0-9a-z=,]/g, "");
 
var optionChunks = opts.split(',');
var options = new Array();
 
options['left'] = 10;
options['top'] = 10;
options['width'] = 300;
options['height'] = 300;
options['resizable'] = true;
options['minimizable'] = true;
options['maximizable'] = true;
options['close'] = true;
options['movable'] = true;
 
if (opts == "")
return options;
 
for (var i=0; i<optionChunks.length; i++) {
var parts = optionChunks[i].split('=');
 
if (parts.length == 2)
options[parts[0]] = parts[1];
}
 
return options;
};
 
MCWindows.prototype.open = function(url, name, features) {
var win = new MCWindow();
var winDiv, html = "", id;
 
features = this.parseFeatures(features);
 
// Create div
id = "mcWindow_" + name;
 
width = parseInt(features['width']);
height = parseInt(features['height'])-12-19;
 
if (this.isMSIE)
width -= 2;
 
// Setup first part of window
win.id = id;
win.url = url;
win.name = name;
win.features = features;
this.windows[name] = win;
 
iframeWidth = width;
iframeHeight = height;
 
// Create inner content
html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
html += '<html>';
html += '<head>';
html += '<title>Wrapper iframe</title>';
html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
html += '</head>';
html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
 
html += '<div id="' + id + '_container" class="mceWindow">';
html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
html += ' <div id="' + id + '_title" class="mceWindowTitle"';
html += ' onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
html += ' <div class="mceWindowHeadTools">';
html += ' <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
html += ' </div>';
html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
html += '</div>';
html += '</div>';
 
html += '</body>';
html += '</html>';
 
// Create iframe
this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
};
 
// Gets called when wrapper iframe is initialized
MCWindows.prototype.onLoad = function(name) {
var win = mcWindows.windows[name];
var id = "mcWindow_" + name;
var wrapperIframe = window.frames[id + "_iframe"].frames[0];
var wrapperDoc = window.frames[id + "_iframe"].document;
var doc = window.frames[id + "_iframe"].document;
var winDiv = document.getElementById("mcWindow_" + name + "_div");
var realIframe = window.frames[id + "_iframe"].frames[0];
 
// Set window data
win.id = "mcWindow_" + name + "_iframe";
win.winElement = winDiv;
win.bodyElement = doc.getElementById(id + '_body');
win.iframeElement = doc.getElementById(id + '_iframe');
win.headElement = doc.getElementById(id + '_head');
win.titleElement = doc.getElementById(id + '_title');
win.resizeElement = doc.getElementById(id + '_resize');
win.containerElement = doc.getElementById(id + '_container');
win.left = win.features['left'];
win.top = win.features['top'];
win.frame = window.frames[id + '_iframe'].frames[0];
win.wrapperFrame = window.frames[id + '_iframe'];
win.wrapperIFrameElement = document.getElementById(id + "_iframe");
 
// Add event handlers
mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
 
if (mcWindows.isMSIE) {
mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
} else {
mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
}
 
for (var i=0; i<window.frames.length; i++) {
if (!window.frames[i]._hasMouseHandlers) {
if (mcWindows.isMSIE) {
mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
} else {
mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
}
 
window.frames[i]._hasMouseHandlers = true;
}
}
 
if (mcWindows.isMSIE) {
mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
} else {
mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
}
 
this.selectedWindow = win;
};
 
MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
var iframe = document.createElement("iframe");
var div = document.createElement("div");
 
width = parseInt(width);
height = parseInt(height)+1;
 
// Create wrapper div
div.setAttribute("id", id_prefix + "_div");
div.setAttribute("width", width);
div.setAttribute("height", (height));
div.style.position = "absolute";
div.style.left = left + "px";
div.style.top = top + "px";
div.style.width = width + "px";
div.style.height = (height) + "px";
div.style.backgroundColor = "white";
div.style.display = "none";
 
if (this.isGecko) {
iframeWidth = width + 2;
iframeHeight = height + 2;
} else {
iframeWidth = width;
iframeHeight = height + 1;
}
 
// Create iframe
iframe.setAttribute("id", id_prefix + "_iframe");
iframe.setAttribute("name", id_prefix + "_iframe");
iframe.setAttribute("border", "0");
iframe.setAttribute("frameBorder", "0");
iframe.setAttribute("marginWidth", "0");
iframe.setAttribute("marginHeight", "0");
iframe.setAttribute("leftMargin", "0");
iframe.setAttribute("topMargin", "0");
iframe.setAttribute("width", iframeWidth);
iframe.setAttribute("height", iframeHeight);
// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
// iframe.setAttribute("allowtransparency", "false");
iframe.setAttribute("scrolling", "no");
iframe.style.width = iframeWidth + "px";
iframe.style.height = iframeHeight + "px";
iframe.style.backgroundColor = "white";
div.appendChild(iframe);
 
document.body.appendChild(div);
 
// Fixed MSIE 5.0 issue
div.innerHTML = div.innerHTML;
 
if (this.isSafari) {
// Give Safari some time to setup
window.setTimeout(function() {
doc = window.frames[id_prefix + '_iframe'].document;
doc.open();
doc.write(html);
doc.close();
}, 10);
} else {
doc = window.frames[id_prefix + '_iframe'].window.document
doc.open();
doc.write(html);
doc.close();
}
 
div.style.display = "block";
 
return div;
};
 
// Window instance
function MCWindow() {
};
 
MCWindow.prototype.focus = function() {
this.winElement.style.zIndex = mcWindows.zindex++;
mcWindows.selectedWindow = this;
};
 
MCWindow.prototype.minimize = function() {
};
 
MCWindow.prototype.maximize = function() {
};
 
MCWindow.prototype.startResize = function() {
mcWindows.action = "resize";
};
 
MCWindow.prototype.startMove = function(e) {
mcWindows.action = "move";
};
 
MCWindow.prototype.close = function() {
document.body.removeChild(this.winElement);
mcWindows.windows[this.name] = null;
};
 
MCWindow.prototype.onMouseMove = function(e) {
var scrollX = 0;//this.doc.body.scrollLeft;
var scrollY = 0;//this.doc.body.scrollTop;
 
// Calculate real X, Y
var dx = e.screenX - mcWindows.mouseDownScreenX;
var dy = e.screenY - mcWindows.mouseDownScreenY;
 
switch (mcWindows.action) {
case "resize":
width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
 
width = width < 100 ? 100 : width;
height = height < 100 ? 100 : height;
 
this.wrapperIFrameElement.style.width = width+2;
this.wrapperIFrameElement.style.height = height+2;
this.wrapperIFrameElement.width = width+2;
this.wrapperIFrameElement.height = height+2;
this.winElement.style.width = width;
this.winElement.style.height = height;
 
height = height-12-19;
 
this.containerElement.style.width = width;
 
this.iframeElement.style.width = width;
this.iframeElement.style.height = height;
this.bodyElement.style.width = width;
this.bodyElement.style.height = height;
this.headElement.style.width = width;
//this.statusElement.style.width = width;
 
mcWindows.cancelEvent(e);
break;
 
case "move":
this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
this.winElement.style.left = this.left + "px";
this.winElement.style.top = this.top + "px";
 
mcWindows.cancelEvent(e);
break;
}
};
 
MCWindow.prototype.onMouseUp = function(e) {
mcWindows.action = "none";
};
 
MCWindow.prototype.onFocus = function(e) {
// Gecko only handler
var winRef = e.currentTarget;
 
for (var n in mcWindows.windows) {
var win = mcWindows.windows[n];
if (typeof(win) == 'function')
continue;
 
if (winRef.name == win.id) {
win.focus();
return;
}
}
};
 
MCWindow.prototype.onMouseDown = function(e) {
var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
 
var scrollX = 0;//this.doc.body.scrollLeft;
var scrollY = 0;//this.doc.body.scrollTop;
 
mcWindows.mouseDownScreenX = e.screenX;
mcWindows.mouseDownScreenY = e.screenY;
mcWindows.mouseDownLayerX = this.left;
mcWindows.mouseDownLayerY = this.top;
mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
 
if (elm == this.resizeElement.firstChild)
this.startResize(e);
else
this.startMove(e);
 
mcWindows.cancelEvent(e);
};
 
// Global instance
var mcWindows = new MCWindows();
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_close.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/window_close.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/spacer.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/images/spacer.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
New file
0,0 → 1,819
/**
* $Id: editor_plugin_src.js 268 2007-04-28 15:52:59Z spocke $
*
* Moxiecode DHTML Windows script.
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
// Patch openWindow, closeWindow TinyMCE functions
 
var TinyMCE_InlinePopupsPlugin = {
getInfo : function() {
return {
longname : 'Inline Popups',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
}
};
 
tinyMCE.addPlugin("inlinepopups", TinyMCE_InlinePopupsPlugin);
 
// Patch openWindow, closeWindow TinyMCE functions
 
TinyMCE_Engine.prototype.orgOpenWindow = TinyMCE_Engine.prototype.openWindow;
TinyMCE_Engine.prototype.orgCloseWindow = TinyMCE_Engine.prototype.closeWindow;
 
TinyMCE_Engine.prototype.openWindow = function(template, args) {
// Does the caller support inline
if (args['inline'] != "yes" || tinyMCE.isOpera || tinyMCE.getParam("plugins").indexOf('inlinepopups') == -1) {
mcWindows.selectedWindow = null;
args['mce_inside_iframe'] = false;
this.orgOpenWindow(template, args);
return;
}
 
var url, resizable, scrollbars;
 
args['mce_inside_iframe'] = true;
tinyMCE.windowArgs = args;
 
if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
else
url = template['file'];
 
if (!(width = parseInt(template['width'])))
width = 320;
 
if (!(height = parseInt(template['height'])))
height = 200;
 
if (!(minWidth = parseInt(template['minWidth'])))
minWidth = 100;
 
if (!(minHeight = parseInt(template['minHeight'])))
minHeight = 100;
 
resizable = (args && args['resizable']) ? args['resizable'] : "no";
scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
 
height += 18;
 
// Replace all args as variables in URL
for (var name in args) {
if (typeof(args[name]) == 'function')
continue;
 
url = tinyMCE.replaceVar(url, name, escape(args[name]));
}
 
var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
 
if (tinyMCE.hasPlugin('fullscreen') && this.selectedInstance.getData('fullscreen').enabled)
pos = { absLeft: 0, absTop: 0 };
else
pos = tinyMCE.getAbsPosition(elm);
 
// Center div in editor area
pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
 
mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop + ",minWidth=" + minWidth + ",minHeight=" + minHeight );
};
 
TinyMCE_Engine.prototype.closeWindow = function(win) {
var gotit = false, n, w;
 
for (n in mcWindows.windows) {
w = mcWindows.windows[n];
 
if (typeof(w) == 'function')
continue;
 
if (win.name == w.id + '_iframe') {
w.close();
gotit = true;
}
}
 
if (!gotit)
this.orgCloseWindow(win);
 
tinyMCE.selectedInstance.getWin().focus();
};
 
TinyMCE_Engine.prototype.setWindowTitle = function(win_ref, title) {
for (var n in mcWindows.windows) {
var win = mcWindows.windows[n];
if (typeof(win) == 'function')
continue;
 
if (win_ref.name == win.id + "_iframe")
window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
}
};
 
// * * * * * TinyMCE_Windows classes below
 
// Windows handler
function TinyMCE_Windows() {
this.settings = new Array();
this.windows = new Array();
this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
this.isMac = navigator.userAgent.indexOf('Mac') != -1;
this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
this.action = "none";
this.selectedWindow = null;
this.lastSelectedWindow = null;
this.zindex = 1001;
this.mouseDownScreenX = 0;
this.mouseDownScreenY = 0;
this.mouseDownLayerX = 0;
this.mouseDownLayerY = 0;
this.mouseDownWidth = 0;
this.mouseDownHeight = 0;
this.idCounter = 0;
};
 
TinyMCE_Windows.prototype.init = function(settings) {
this.settings = settings;
 
if (this.isMSIE)
this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
else
this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
 
this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
 
this.addEvent(window, "resize", mcWindows.eventDispatcher);
this.addEvent(document, "scroll", mcWindows.eventDispatcher);
 
this.doc = document;
};
 
TinyMCE_Windows.prototype.getBounds = function() {
if (!this.bounds) {
var vp = tinyMCE.getViewPort(window);
var top, left, bottom, right, docEl = this.doc.documentElement;
 
top = vp.top;
left = vp.left;
bottom = vp.height + top - 2;
right = vp.width + left - 22; // TODO this number is platform dependant
// x1, y1, x2, y2
this.bounds = [left, top, right, bottom];
}
return this.bounds;
};
 
TinyMCE_Windows.prototype.clampBoxPosition = function(x, y, w, h, minW, minH) {
var bounds = this.getBounds();
 
x = Math.max(bounds[0], Math.min(bounds[2], x + w) - w);
y = Math.max(bounds[1], Math.min(bounds[3], y + h) - h);
 
return this.clampBoxSize(x, y, w, h, minW, minH);
};
 
TinyMCE_Windows.prototype.clampBoxSize = function(x, y, w, h, minW, minH) {
var bounds = this.getBounds();
 
return [
x, y,
Math.max(minW, Math.min(bounds[2], x + w) - x),
Math.max(minH, Math.min(bounds[3], y + h) - y)
];
};
 
TinyMCE_Windows.prototype.getParam = function(name, default_value) {
var value = null;
 
value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
 
// Fix bool values
if (value == "true" || value == "false")
return (value == "true");
 
return value;
};
 
TinyMCE_Windows.prototype.eventDispatcher = function(e) {
e = typeof(e) == "undefined" ? window.event : e;
 
if (mcWindows.selectedWindow == null)
return;
 
// Switch focus
if (mcWindows.isGecko && e.type == "mousedown") {
var elm = e.currentTarget;
 
for (var n in mcWindows.windows) {
var win = mcWindows.windows[n];
 
if (win.headElement == elm || win.resizeElement == elm) {
win.focus();
break;
}
}
}
 
switch (e.type) {
case "mousemove":
mcWindows.selectedWindow.onMouseMove(e);
break;
 
case "mouseup":
mcWindows.selectedWindow.onMouseUp(e);
break;
 
case "mousedown":
mcWindows.selectedWindow.onMouseDown(e);
break;
 
case "focus":
mcWindows.selectedWindow.onFocus(e);
break;
case "scroll":
case "resize":
if (mcWindows.clampUpdateTimeout)
clearTimeout(mcWindows.clampUpdateTimeout);
mcWindows.clampEventType = e.type;
mcWindows.clampUpdateTimeout =
setTimeout(function () {mcWindows.updateClamping()}, 100);
break;
}
};
 
TinyMCE_Windows.prototype.updateClamping = function () {
var clamp, oversize, etype = mcWindows.clampEventType;
 
this.bounds = null; // Recalc window bounds on resize/scroll
this.clampUpdateTimeout = null;
 
for (var n in this.windows) {
win = this.windows[n];
if (typeof(win) == 'function' || ! win.winElement) continue;
 
clamp = mcWindows.clampBoxPosition(
win.left, win.top,
win.winElement.scrollWidth,
win.winElement.scrollHeight,
win.features.minWidth,
win.features.minHeight
);
oversize = (
clamp[2] != win.winElement.scrollWidth ||
clamp[3] != win.winElement.scrollHeight
) ? true : false;
 
if (!oversize || win.features.resizable == "yes" || etype != "scroll")
win.moveTo(clamp[0], clamp[1]);
if (oversize && win.features.resizable == "yes")
win.resizeTo(clamp[2], clamp[3]);
}
};
 
TinyMCE_Windows.prototype.addEvent = function(obj, name, handler) {
if (this.isMSIE)
obj.attachEvent("on" + name, handler);
else
obj.addEventListener(name, handler, false);
};
 
TinyMCE_Windows.prototype.cancelEvent = function(e) {
if (this.isMSIE) {
e.returnValue = false;
e.cancelBubble = true;
} else
e.preventDefault();
};
 
TinyMCE_Windows.prototype.parseFeatures = function(opts) {
// Cleanup the options
opts = opts.toLowerCase();
opts = opts.replace(/;/g, ",");
opts = opts.replace(/[^0-9a-z=,]/g, "");
 
var optionChunks = opts.split(',');
var options = new Array();
 
options['left'] = "10";
options['top'] = "10";
options['width'] = "300";
options['height'] = "300";
options['minwidth'] = "100";
options['minheight'] = "100";
options['resizable'] = "yes";
options['minimizable'] = "yes";
options['maximizable'] = "yes";
options['close'] = "yes";
options['movable'] = "yes";
options['statusbar'] = "yes";
options['scrollbars'] = "auto";
options['modal'] = "no";
 
if (opts == "")
return options;
 
for (var i=0; i<optionChunks.length; i++) {
var parts = optionChunks[i].split('=');
 
if (parts.length == 2)
options[parts[0]] = parts[1];
}
 
options['left'] = parseInt(options['left']);
options['top'] = parseInt(options['top']);
options['width'] = parseInt(options['width']);
options['height'] = parseInt(options['height']);
options['minWidth'] = parseInt(options['minwidth']);
options['minHeight'] = parseInt(options['minheight']);
 
return options;
};
 
TinyMCE_Windows.prototype.open = function(url, name, features) {
this.lastSelectedWindow = this.selectedWindow;
 
var win = new TinyMCE_Window();
var winDiv, html = "", id;
var imgPath = this.getParam("images_path");
 
features = this.parseFeatures(features);
 
// Clamp specified dimensions
var clamp = mcWindows.clampBoxPosition(
features['left'], features['top'],
features['width'], features['height'],
features['minWidth'], features['minHeight']
);
 
features['left'] = clamp[0];
features['top'] = clamp[1];
 
if (features['resizable'] == "yes") {
features['width'] = clamp[2];
features['height'] = clamp[3];
}
 
// Create div
id = "mcWindow_" + name;
win.deltaHeight = 18;
 
if (features['statusbar'] == "yes") {
win.deltaHeight += 13;
 
if (this.isMSIE)
win.deltaHeight += 1;
}
 
width = parseInt(features['width']);
height = parseInt(features['height'])-win.deltaHeight;
 
if (this.isMSIE)
width -= 2;
 
// Setup first part of window
win.id = id;
win.url = url;
win.name = name;
win.features = features;
this.windows[name] = win;
 
iframeWidth = width;
iframeHeight = height;
 
// Create inner content
html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
html += '<html>';
html += '<head>';
html += '<title>Wrapper iframe</title>';
html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
html += '</head>';
html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
 
html += '<div id="' + id + '_container" class="mceWindow">';
html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
html += ' <div id="' + id + '_title" class="mceWindowTitle"';
html += ' onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
html += ' <div class="mceWindowHeadTools">';
html += ' <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
if (features['resizable'] == "yes" && features['maximizable'] == "yes")
html += ' <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="' + imgPath + '/window_maximize.gif" /></a>';
// html += ' <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" target="_self" onmousedown="return false;" class="mceWindowMinimize"></a>';
html += ' </div>';
html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
 
if (features['statusbar'] == "yes") {
html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
 
if (features['resizable'] == "yes") {
if (this.isGecko)
html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
else
html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
}
 
html += '</div>';
}
 
html += '</div>';
 
html += '</body>';
html += '</html>';
 
// Create iframe
this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
};
 
// Blocks the document events by placing a image over the whole document
TinyMCE_Windows.prototype.setDocumentLock = function(state) {
var elm = document.getElementById('mcWindowEventBlocker');
 
if (state) {
if (elm == null) {
elm = document.createElement("div");
 
elm.id = "mcWindowEventBlocker";
elm.style.position = "absolute";
elm.style.left = "0";
elm.style.top = "0";
 
document.body.appendChild(elm);
}
 
elm.style.display = "none";
 
var imgPath = this.getParam("images_path");
var width = document.body.clientWidth;
var height = document.body.clientHeight;
 
elm.style.width = width;
elm.style.height = height;
elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
 
elm.style.zIndex = mcWindows.zindex-1;
elm.style.display = "block";
} else if (elm != null) {
if (mcWindows.windows.length == 0)
elm.parentNode.removeChild(elm);
else
elm.style.zIndex = mcWindows.zindex-1;
}
};
 
// Gets called when wrapper iframe is initialized
TinyMCE_Windows.prototype.onLoad = function(name) {
var win = mcWindows.windows[name];
var id = "mcWindow_" + name;
var wrapperIframe = window.frames[id + "_iframe"].frames[0];
var wrapperDoc = window.frames[id + "_iframe"].document;
var doc = window.frames[id + "_iframe"].document;
var winDiv = document.getElementById("mcWindow_" + name + "_div");
var realIframe = window.frames[id + "_iframe"].frames[0];
 
// Set window data
win.id = "mcWindow_" + name;
win.winElement = winDiv;
win.bodyElement = doc.getElementById(id + '_body');
win.iframeElement = doc.getElementById(id + '_iframe');
win.headElement = doc.getElementById(id + '_head');
win.titleElement = doc.getElementById(id + '_title');
win.resizeElement = doc.getElementById(id + '_resize');
win.containerElement = doc.getElementById(id + '_container');
win.left = win.features['left'];
win.top = win.features['top'];
win.frame = window.frames[id + '_iframe'].frames[0];
win.wrapperFrame = window.frames[id + '_iframe'];
win.wrapperIFrameElement = document.getElementById(id + "_iframe");
 
// Add event handlers
mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
 
if (win.resizeElement != null)
mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
 
if (mcWindows.isMSIE) {
mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
} else {
mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
}
 
for (var i=0; i<window.frames.length; i++) {
if (!window.frames[i]._hasMouseHandlers) {
if (mcWindows.isMSIE) {
mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
} else {
mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
}
 
window.frames[i]._hasMouseHandlers = true;
}
}
 
if (mcWindows.isMSIE) {
mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
} else {
mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
}
 
// Dispatch open window event
var func = this.getParam("on_open_window", "");
if (func != "")
eval(func + "(win);");
 
win.focus();
 
if (win.features['modal'] == "yes")
mcWindows.setDocumentLock(true);
};
 
TinyMCE_Windows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
var iframe = document.createElement("iframe");
var div = document.createElement("div"), doc;
 
width = parseInt(width);
height = parseInt(height)+1;
 
// Create wrapper div
div.setAttribute("id", id_prefix + "_div");
div.setAttribute("width", width);
div.setAttribute("height", (height));
div.style.position = "absolute";
 
div.style.left = left + "px";
div.style.top = top + "px";
div.style.width = width + "px";
div.style.height = (height) + "px";
div.style.backgroundColor = "white";
div.style.display = "none";
 
if (this.isGecko) {
iframeWidth = width + 2;
iframeHeight = height + 2;
} else {
iframeWidth = width;
iframeHeight = height + 1;
}
 
// Create iframe
iframe.setAttribute("id", id_prefix + "_iframe");
iframe.setAttribute("name", id_prefix + "_iframe");
iframe.setAttribute("border", "0");
iframe.setAttribute("frameBorder", "0");
iframe.setAttribute("marginWidth", "0");
iframe.setAttribute("marginHeight", "0");
iframe.setAttribute("leftMargin", "0");
iframe.setAttribute("topMargin", "0");
iframe.setAttribute("width", iframeWidth);
iframe.setAttribute("height", iframeHeight);
// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
// iframe.setAttribute("allowtransparency", "false");
iframe.setAttribute("scrolling", "no");
iframe.style.width = iframeWidth + "px";
iframe.style.height = iframeHeight + "px";
iframe.style.backgroundColor = "white";
div.appendChild(iframe);
 
document.body.appendChild(div);
 
// Fixed MSIE 5.0 issue
div.innerHTML = div.innerHTML;
 
if (this.isSafari) {
// Give Safari some time to setup
window.setTimeout(function() {
var doc = window.frames[id_prefix + '_iframe'].document;
doc.open();
doc.write(html);
doc.close();
}, 10);
} else {
doc = window.frames[id_prefix + '_iframe'].window.document;
doc.open();
doc.write(html);
doc.close();
}
 
div.style.display = "block";
 
return div;
};
 
// Window instance
function TinyMCE_Window() {
};
 
TinyMCE_Window.prototype.focus = function() {
if (this != mcWindows.selectedWindow) {
this.winElement.style.zIndex = ++mcWindows.zindex;
mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
mcWindows.selectedWindow = this;
}
};
 
TinyMCE_Window.prototype.minimize = function() {
};
 
TinyMCE_Window.prototype.maximize = function() {
if (this.restoreSize) {
this.moveTo(this.restoreSize[0], this.restoreSize[1]);
this.resizeTo(this.restoreSize[2], this.restoreSize[3]);
this.updateClamping();
this.restoreSize = null;
} else {
var bounds = mcWindows.getBounds();
this.restoreSize = [
this.left, this.top,
this.winElement.scrollWidth,
this.winElement.scrollHeight
];
this.moveTo(bounds[0], bounds[1]);
this.resizeTo(
bounds[2] - bounds[0],
bounds[3] - bounds[1]
);
}
};
 
TinyMCE_Window.prototype.startResize = function() {
mcWindows.action = "resize";
};
 
TinyMCE_Window.prototype.startMove = function(e) {
mcWindows.action = "move";
};
 
TinyMCE_Window.prototype.close = function() {
if (this.frame && this.frame['tinyMCEPopup'])
this.frame['tinyMCEPopup'].restoreSelection();
 
if (mcWindows.lastSelectedWindow != null)
mcWindows.lastSelectedWindow.focus();
 
var mcWindowsNew = new Array();
for (var n in mcWindows.windows) {
var win = mcWindows.windows[n];
if (typeof(win) == 'function')
continue;
 
if (win.name != this.name)
mcWindowsNew[n] = win;
}
 
mcWindows.windows = mcWindowsNew;
 
// alert(mcWindows.doc.getElementById(this.id + "_iframe"));
 
var e = mcWindows.doc.getElementById(this.id + "_iframe");
e.parentNode.removeChild(e);
 
var e = mcWindows.doc.getElementById(this.id + "_div");
e.parentNode.removeChild(e);
 
mcWindows.setDocumentLock(false);
};
 
TinyMCE_Window.prototype.onMouseMove = function(e) {
var clamp;
// Calculate real X, Y
var dx = e.screenX - mcWindows.mouseDownScreenX;
var dy = e.screenY - mcWindows.mouseDownScreenY;
 
switch (mcWindows.action) {
case "resize":
clamp = mcWindows.clampBoxSize(
this.left, this.top,
mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX),
mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY),
this.features.minWidth, this.features.minHeight
);
 
this.resizeTo(clamp[2], clamp[3]);
 
mcWindows.cancelEvent(e);
break;
 
case "move":
this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
this.updateClamping();
 
mcWindows.cancelEvent(e);
break;
}
};
 
TinyMCE_Window.prototype.moveTo = function (x, y) {
this.left = x;
this.top = y;
 
this.winElement.style.left = this.left + "px";
this.winElement.style.top = this.top + "px";
};
 
TinyMCE_Window.prototype.resizeTo = function (width, height) {
this.wrapperIFrameElement.style.width = (width+2) + 'px';
this.wrapperIFrameElement.style.height = (height+2) + 'px';
this.wrapperIFrameElement.width = width+2;
this.wrapperIFrameElement.height = height+2;
this.winElement.style.width = width + 'px';
this.winElement.style.height = height + 'px';
 
height = height - this.deltaHeight;
 
this.containerElement.style.width = width + 'px';
this.iframeElement.style.width = width + 'px';
this.iframeElement.style.height = height + 'px';
this.bodyElement.style.width = width + 'px';
this.bodyElement.style.height = height + 'px';
this.headElement.style.width = width + 'px';
//this.statusElement.style.width = width + 'px';
};
 
TinyMCE_Window.prototype.updateClamping = function () {
var clamp, oversize;
 
clamp = mcWindows.clampBoxPosition(
this.left, this.top,
this.winElement.scrollWidth,
this.winElement.scrollHeight,
this.features.minWidth, this.features.minHeight
);
oversize = (
clamp[2] != this.winElement.scrollWidth ||
clamp[3] != this.winElement.scrollHeight
) ? true : false;
 
this.moveTo(clamp[0], clamp[1]);
if (this.features.resizable == "yes" && oversize)
this.resizeTo(clamp[2], clamp[3]);
};
 
function debug(msg) {
document.getElementById('debug').value += msg + "\n";
}
 
TinyMCE_Window.prototype.onMouseUp = function(e) {
mcWindows.action = "none";
};
 
TinyMCE_Window.prototype.onFocus = function(e) {
// Gecko only handler
var winRef = e.currentTarget;
 
for (var n in mcWindows.windows) {
var win = mcWindows.windows[n];
if (typeof(win) == 'function')
continue;
 
if (winRef.name == win.id + "_iframe") {
win.focus();
return;
}
}
};
 
TinyMCE_Window.prototype.onMouseDown = function(e) {
var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
 
mcWindows.mouseDownScreenX = e.screenX;
mcWindows.mouseDownScreenY = e.screenY;
mcWindows.mouseDownLayerX = this.left;
mcWindows.mouseDownLayerY = this.top;
mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
 
if (this.resizeElement != null && elm == this.resizeElement.firstChild)
this.startResize(e);
else
this.startMove(e);
 
mcWindows.cancelEvent(e);
};
 
// Global instance
var mcWindows = new TinyMCE_Windows();
 
// Initialize windows
mcWindows.init({
images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
New file
0,0 → 1,69
/* Window classes */
 
.mceWindow {
position: absolute;
left: 0;
top: 0;
border: 1px solid black;
background-color: #D4D0C8;
}
 
.mceWindowHead {
background-color: #334F8D;
width: 100%;
height: 18px;
cursor: move;
overflow: hidden;
}
 
.mceWindowBody {
clear: both;
background-color: white;
}
 
.mceWindowStatusbar {
background-color: #D4D0C8;
height: 12px;
border-top: 1px solid black;
}
 
.mceWindowTitle {
float: left;
font-family: "MS Sans Serif";
font-size: 9pt;
font-weight: bold;
line-height: 18px;
color: white;
margin-left: 2px;
overflow: hidden;
}
 
.mceWindowHeadTools {
margin-right: 2px;
}
 
.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
display: block;
float: right;
overflow: hidden;
margin-top: 2px;
}
 
.mceWindowClose {
margin-left: 2px;
}
 
.mceWindowMinimize {
}
 
.mceWindowMaximize {
}
 
.mceWindowResize {
display: block;
float: right;
overflow: hidden;
cursor: se-resize;
width: 12px;
height: 12px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/row.htm
New file
0,0 → 1,159
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_table_row_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
<link href="css/row.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="updateAction();return false;">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_table_general_props}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="rowtype">{$lang_table_rowtype}</label></td>
<td class="col2">
<select id="rowtype" name="rowtype">
<option value="thead">{$lang_table_thead}</option>
<option value="tbody">{$lang_table_tbody}</option>
<option value="tfoot">{$lang_table_tfoot}</option>
</select>
</td>
</tr>
 
<tr>
<td><label for="align">{$lang_table_align}</label></td>
<td class="col2">
<select id="align" name="align">
<option value="">{$lang_not_set}</option>
<option value="center">{$lang_table_align_middle}</option>
<option value="left">{$lang_table_align_left}</option>
<option value="right">{$lang_table_align_right}</option>
</select>
</td>
</tr>
 
<tr>
<td><label for="valign">{$lang_table_valign}</label></td>
<td class="col2">
<select id="valign" name="valign">
<option value="">{$lang_not_set}</option>
<option value="top">{$lang_table_align_top}</option>
<option value="middle">{$lang_table_align_middle}</option>
<option value="bottom">{$lang_table_align_bottom}</option>
</select>
</td>
</tr>
 
<tr id="styleSelectRow">
<td><label for="class">{$lang_class_name}</label></td>
<td class="col2">
<select id="class" name="class">
<option value="" selected="selected">{$lang_not_set}</option>
</select>
</td>
</tr>
 
<tr>
<td><label for="height">{$lang_table_height}</label></td>
<td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
</tr>
</table>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_table_advanced_props}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label for="id">{$lang_table_id}</label></td>
<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
</tr>
 
<tr>
<td><label for="style">{$lang_table_style}</label></td>
<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
</tr>
 
<tr>
<td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
<td>
<select id="dir" name="dir" style="width: 200px">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_table_ltr}</option>
<option value="rtl">{$lang_table_rtl}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label for="lang">{$lang_table_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" style="width: 200px" />
</td>
</tr>
 
<tr>
<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
<td id="backgroundimagebrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
<td id="bgcolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div>
<select id="action" name="action">
<option value="row">{$lang_table_row_row}</option>
<option value="odd">{$lang_table_row_odd}</option>
<option value="even">{$lang_table_row_even}</option>
<option value="all">{$lang_table_row_all}</option>
</select>
</div>
 
<div style="float: left">
<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/table.htm
New file
0,0 → 1,160
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_table_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
<link href="css/table.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertTable();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_table_general_props}</legend>
 
<table border="0" cellpadding="4" cellspacing="0" width="100%">
<tr>
<td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
<td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
<td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
<td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
</tr>
<tr>
<td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
<td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
<td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
<td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
</tr>
<tr>
<td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
<td><select id="align" name="align">
<option value="">{$lang_not_set}</option>
<option value="center">{$lang_table_align_middle}</option>
<option value="left">{$lang_table_align_left}</option>
<option value="right">{$lang_table_align_right}</option>
</select></td>
<td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
</tr>
<tr id="width_row">
<td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
<td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
<td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
<td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
</tr>
<tr id="styleSelectRow">
<td><label id="classlabel" for="class">{$lang_class_name}</label></td>
<td colspan="3">
<select id="class" name="class">
<option value="" selected>{$lang_not_set}</option>
</select></td>
</tr>
<tr>
<td class="column1"><label for="caption">{$lang_table_caption}</label></td>
<td><input id="caption" name="caption" type="checkbox" class="checkbox" value="true" /></td>
</tr>
</table>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_table_advanced_props}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label for="id">{$lang_table_id}</label></td>
<td><input id="id" name="id" type="text" value="" class="advfield" /></td>
</tr>
 
<tr>
<td class="column1"><label for="summary">{$lang_table_summary}</label></td>
<td><input id="summary" name="summary" type="text" value="" class="advfield" /></td>
</tr>
 
<tr>
<td><label for="style">{$lang_table_style}</label></td>
<td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
</tr>
 
<tr>
<td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
<td>
<select id="dir" name="dir" class="advfield">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_table_ltr}</option>
<option value="rtl">{$lang_table_rtl}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" class="advfield" />
</td>
</tr>
 
<tr>
<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
<td id="backgroundimagebrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
<td id="bordercolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
<td id="bgcolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('table');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler)}inst.tableRowClipboard=null},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_table','table_delete.gif','lang_table_del','mceTableDelete'],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i<controls.length;i++){var but=controls[i];var cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false))}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1",tdElm;var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal')}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal')}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance)},10)}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true}return false}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan}}function getCellPos(grid,td){var x,y;for(y=0;y<grid.length;y++){for(x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y}}}return null}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null}function getTableGrid(table){var grid=new Array(),rows=table.rows,x,y,td,sd,xstart,x2,y2;for(y=0;y<rows.length;y++){for(x=0;x<rows[y].cells.length;x++){td=rows[y].cells[x];sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=new Array();for(x2=xstart;x2<xstart+sd['colspan'];x2++)grid[y2][x2]=td}}}return grid}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table),cpos=getCellPos(grid,td);var cells,lastElm;if(new_tr.cells.length!=tr.childNodes.length){cells=tr.childNodes;lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td}deleteMarked(tableElm)}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node}return null}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node}}return null}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td)}while((td=nexttd)!=null)}}while((tr=next)!=null)}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";if(tinyMCE.isMSIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR")}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=tinyMCE.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break}}}if(newTD==null){newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm}return newTR}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_rowprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_cellprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceInsertTable":if(user_interface){var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:value})}return true;case"mceTableDelete":var table=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(table){table.parentNode.removeChild(table);inst.repaint()}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}trElm.parentNode.insertBefore(newTR,trElm);grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex+1,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR)}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD)}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true}lastTDElm=tdElm}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex+1),tinyMCE.isGecko,true);break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm)}lastTDElm=tdElm}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan)}addRows(tdElm,trElm,rowspan)}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=new Array();for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td}}if(rowCells.length>0)rows[rows.length]=rowCells}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=new Array();for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td}}}if(rowCells.length>0)rows[rows.length]=rowCells}var curRow=new Array();var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y}x2=x;y2=y;grid[y][x]._selected=true}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true}lastRowSpan=sd['rowspan']}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true}lastColSpan=sd['colspan']}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk!="<br/>"&&chk!="<br>"&&chk!="&nbsp;"&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm}if(tdElm.rowSpan>1)tdElm.rowSpan--}}}}break}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint()}return true}return false}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/jscripts/cell.js
New file
0,0 → 1,249
function init() {
tinyMCEPopup.resizeToInnerSize();
 
document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
 
var inst = tinyMCE.selectedInstance;
var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));
 
// Get table cell data
var celltype = tdElm.nodeName.toLowerCase();
var align = tinyMCE.getAttrib(tdElm, 'align');
var valign = tinyMCE.getAttrib(tdElm, 'valign');
var width = trimSize(getStyle(tdElm, 'width', 'width'));
var height = trimSize(getStyle(tdElm, 'height', 'height'));
var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
var id = tinyMCE.getAttrib(tdElm, 'id');
var lang = tinyMCE.getAttrib(tdElm, 'lang');
var dir = tinyMCE.getAttrib(tdElm, 'dir');
var scope = tinyMCE.getAttrib(tdElm, 'scope');
 
// Setup form
addClassesToList('class', 'table_cell_styles');
formObj.bordercolor.value = bordercolor;
formObj.bgcolor.value = bgcolor;
formObj.backgroundimage.value = backgroundimage;
formObj.width.value = width;
formObj.height.value = height;
formObj.id.value = id;
formObj.lang.value = lang;
formObj.style.value = tinyMCE.serializeStyle(st);
selectByValue(formObj, 'align', align);
selectByValue(formObj, 'valign', valign);
selectByValue(formObj, 'class', className);
selectByValue(formObj, 'celltype', celltype);
selectByValue(formObj, 'dir', dir);
selectByValue(formObj, 'scope', scope);
 
// Resize some elements
if (isVisible('backgroundimagebrowser'))
document.getElementById('backgroundimage').style.width = '180px';
 
updateColor('bordercolor_pick', 'bordercolor');
updateColor('bgcolor_pick', 'bgcolor');
}
 
function updateAction() {
tinyMCEPopup.restoreSelection();
 
var inst = tinyMCE.selectedInstance;
var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
var formObj = document.forms[0];
 
inst.execCommand('mceBeginUndoLevel');
 
switch (getSelectValue(formObj, 'action')) {
case "cell":
var celltype = getSelectValue(formObj, 'celltype');
var scope = getSelectValue(formObj, 'scope');
 
if (tinyMCE.getParam("accessibility_warnings")) {
if (celltype == "th" && scope == "")
var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));
else
var answer = true;
 
if (!answer)
return;
}
 
updateCell(tdElm);
break;
 
case "row":
var cell = trElm.firstChild;
 
if (cell.nodeName != "TD" && cell.nodeName != "TH")
cell = nextCell(cell);
 
do {
cell = updateCell(cell, true);
} while ((cell = nextCell(cell)) != null);
 
break;
 
case "all":
var rows = tableElm.getElementsByTagName("tr");
 
for (var i=0; i<rows.length; i++) {
var cell = rows[i].firstChild;
 
if (cell.nodeName != "TD" && cell.nodeName != "TH")
cell = nextCell(cell);
 
do {
cell = updateCell(cell, true);
} while ((cell = nextCell(cell)) != null);
}
 
break;
}
 
tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
tinyMCE.triggerNodeChange();
inst.execCommand('mceEndUndoLevel');
tinyMCEPopup.close();
}
 
function nextCell(elm) {
while ((elm = elm.nextSibling) != null) {
if (elm.nodeName == "TD" || elm.nodeName == "TH")
return elm;
}
 
return null;
}
 
function updateCell(td, skip_id) {
var inst = tinyMCE.selectedInstance;
var formObj = document.forms[0];
var curCellType = td.nodeName.toLowerCase();
var celltype = getSelectValue(formObj, 'celltype');
var doc = inst.getDoc();
 
if (!skip_id)
td.setAttribute('id', formObj.id.value);
 
td.setAttribute('align', formObj.align.value);
td.setAttribute('vAlign', formObj.valign.value);
td.setAttribute('lang', formObj.lang.value);
td.setAttribute('dir', getSelectValue(formObj, 'dir'));
td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
td.setAttribute('scope', formObj.scope.value);
tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
 
// Clear deprecated attributes
tinyMCE.setAttrib(td, 'width', '');
tinyMCE.setAttrib(td, 'height', '');
tinyMCE.setAttrib(td, 'bgColor', '');
tinyMCE.setAttrib(td, 'borderColor', '');
tinyMCE.setAttrib(td, 'background', '');
 
// Set styles
td.style.width = getCSSSize(formObj.width.value);
td.style.height = getCSSSize(formObj.height.value);
if (formObj.bordercolor.value != "") {
td.style.borderColor = formObj.bordercolor.value;
td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
} else
td.style.borderColor = '';
 
td.style.backgroundColor = formObj.bgcolor.value;
 
if (formObj.backgroundimage.value != "")
td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
else
td.style.backgroundImage = '';
 
if (curCellType != celltype) {
// changing to a different node type
var newCell = doc.createElement(celltype);
 
for (var c=0; c<td.childNodes.length; c++)
newCell.appendChild(td.childNodes[c].cloneNode(1));
 
for (var a=0; a<td.attributes.length; a++) {
var attr = td.attributes[a];
newCell.setAttribute(attr.name, attr.value);
}
 
td.parentNode.replaceChild(newCell, td);
td = newCell;
}
 
return td;
}
 
function changedBackgroundImage() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedSize() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
var width = formObj.width.value;
if (width != "")
st['width'] = getCSSSize(width);
else
st['width'] = "";
 
var height = formObj.height.value;
if (height != "")
st['height'] = getCSSSize(height);
else
st['height'] = "";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedColor() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
st['background-color'] = formObj.bgcolor.value;
st['border-color'] = formObj.bordercolor.value;
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedStyle() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
if (st['background-image'])
formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
else
formObj.backgroundimage.value = '';
 
if (st['width'])
formObj.width.value = trimSize(st['width']);
 
if (st['height'])
formObj.height.value = trimSize(st['height']);
 
if (st['background-color']) {
formObj.bgcolor.value = st['background-color'];
updateColor('bgcolor_pick','bgcolor');
}
 
if (st['border-color']) {
formObj.bordercolor.value = st['border-color'];
updateColor('bordercolor_pick','bordercolor');
}
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/jscripts/merge_cells.js
New file
0,0 → 1,24
function init() {
tinyMCEPopup.resizeToInnerSize();
 
var formObj = document.forms[0];
 
formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
}
 
function mergeCells() {
var args = new Array();
var formObj = document.forms[0];
 
if (!AutoValidator.validate(formObj)) {
alert(tinyMCE.getLang('lang_invalid_data'));
return false;
}
 
args["numcols"] = formObj.numcols.value;
args["numrows"] = formObj.numrows.value;
 
tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/jscripts/row.js
New file
0,0 → 1,200
function init() {
tinyMCEPopup.resizeToInnerSize();
 
document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
 
var inst = tinyMCE.selectedInstance;
var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
 
// Get table row data
var rowtype = trElm.parentNode.nodeName.toLowerCase();
var align = tinyMCE.getAttrib(trElm, 'align');
var valign = tinyMCE.getAttrib(trElm, 'valign');
var height = trimSize(getStyle(trElm, 'height', 'height'));
var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
var id = tinyMCE.getAttrib(trElm, 'id');
var lang = tinyMCE.getAttrib(trElm, 'lang');
var dir = tinyMCE.getAttrib(trElm, 'dir');
 
// Setup form
addClassesToList('class', 'table_row_styles');
formObj.bgcolor.value = bgcolor;
formObj.backgroundimage.value = backgroundimage;
formObj.height.value = height;
formObj.id.value = id;
formObj.lang.value = lang;
formObj.style.value = tinyMCE.serializeStyle(st);
selectByValue(formObj, 'align', align);
selectByValue(formObj, 'valign', valign);
selectByValue(formObj, 'class', className);
selectByValue(formObj, 'rowtype', rowtype);
selectByValue(formObj, 'dir', dir);
 
// Resize some elements
if (isVisible('backgroundimagebrowser'))
document.getElementById('backgroundimage').style.width = '180px';
 
updateColor('bgcolor_pick', 'bgcolor');
}
 
function updateAction() {
tinyMCEPopup.restoreSelection();
 
var inst = tinyMCE.selectedInstance;
var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
var formObj = document.forms[0];
var action = getSelectValue(formObj, 'action');
 
inst.execCommand('mceBeginUndoLevel');
 
switch (action) {
case "row":
updateRow(trElm);
break;
 
case "all":
var rows = tableElm.getElementsByTagName("tr");
 
for (var i=0; i<rows.length; i++)
updateRow(rows[i], true);
 
break;
 
case "odd":
case "even":
var rows = tableElm.getElementsByTagName("tr");
 
for (var i=0; i<rows.length; i++) {
if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
updateRow(rows[i], true, true);
}
 
break;
}
 
tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
tinyMCE.triggerNodeChange();
inst.execCommand('mceEndUndoLevel');
tinyMCEPopup.close();
}
 
function updateRow(tr_elm, skip_id, skip_parent) {
var inst = tinyMCE.selectedInstance;
var formObj = document.forms[0];
var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
var rowtype = getSelectValue(formObj, 'rowtype');
var doc = inst.getDoc();
 
// Update row element
if (!skip_id)
tr_elm.setAttribute('id', formObj.id.value);
 
tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
tr_elm.setAttribute('lang', formObj.lang.value);
tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
 
// Clear deprecated attributes
tr_elm.setAttribute('background', '');
tr_elm.setAttribute('bgColor', '');
tr_elm.setAttribute('height', '');
 
// Set styles
tr_elm.style.height = getCSSSize(formObj.height.value);
tr_elm.style.backgroundColor = formObj.bgcolor.value;
 
if (formObj.backgroundimage.value != "")
tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
else
tr_elm.style.backgroundImage = '';
 
// Setup new rowtype
if (curRowType != rowtype && !skip_parent) {
// first, clone the node we are working on
var newRow = tr_elm.cloneNode(1);
 
// next, find the parent of its new destination (creating it if necessary)
var theTable = tinyMCE.getParentElement(tr_elm, "table");
var dest = rowtype;
var newParent = null;
for (var i = 0; i < theTable.childNodes.length; i++) {
if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
newParent = theTable.childNodes[i];
}
 
if (newParent == null) {
newParent = doc.createElement(dest);
 
if (dest == "thead")
theTable.insertBefore(newParent, theTable.firstChild);
else
theTable.appendChild(newParent);
}
 
// append the row to the new parent
newParent.appendChild(newRow);
 
// remove the original
tr_elm.parentNode.removeChild(tr_elm);
 
// set tr_elm to the new node
tr_elm = newRow;
}
}
 
function changedBackgroundImage() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedStyle() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
if (st['background-image'])
formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
else
formObj.backgroundimage.value = '';
 
if (st['height'])
formObj.height.value = trimSize(st['height']);
 
if (st['background-color']) {
formObj.bgcolor.value = st['background-color'];
updateColor('bgcolor_pick','bgcolor');
}
}
 
function changedSize() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
var height = formObj.height.value;
if (height != "")
st['height'] = getCSSSize(height);
else
st['height'] = "";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedColor() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
st['background-color'] = formObj.bgcolor.value;
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/jscripts/table.js
New file
0,0 → 1,364
var action, orgTableWidth, orgTableHeight;
 
function insertTable() {
var formObj = document.forms[0];
var inst = tinyMCE.selectedInstance;
var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption;
var html = '', capEl;
var elm = tinyMCE.tableElm;
var cellLimit, rowLimit, colLimit;
 
if (!AutoValidator.validate(formObj)) {
alert(tinyMCE.getLang('lang_invalid_data'));
return false;
}
 
tinyMCEPopup.restoreSelection();
 
// Get form data
cols = formObj.elements['cols'].value;
rows = formObj.elements['rows'].value;
border = formObj.elements['border'].value != "" ? formObj.elements['border'].value : 0;
cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
width = formObj.elements['width'].value;
height = formObj.elements['height'].value;
bordercolor = formObj.elements['bordercolor'].value;
bgcolor = formObj.elements['bgcolor'].value;
className = formObj.elements['class'].options[formObj.elements['class'].selectedIndex].value;
id = formObj.elements['id'].value;
summary = formObj.elements['summary'].value;
style = formObj.elements['style'].value;
dir = formObj.elements['dir'].value;
lang = formObj.elements['lang'].value;
background = formObj.elements['backgroundimage'].value;
caption = formObj.elements['caption'].checked;
 
cellLimit = tinyMCE.getParam('table_cell_limit', false);
rowLimit = tinyMCE.getParam('table_row_limit', false);
colLimit = tinyMCE.getParam('table_col_limit', false);
 
// Validate table size
if (colLimit && cols > colLimit) {
alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit}));
return false;
} else if (rowLimit && rows > rowLimit) {
alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit}));
return false;
} else if (cellLimit && cols * rows > cellLimit) {
alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit}));
return false;
}
 
// Update table
if (action == "update") {
inst.execCommand('mceBeginUndoLevel');
 
tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
tinyMCE.setAttrib(elm, 'border', border, true);
tinyMCE.setAttrib(elm, 'align', align);
tinyMCE.setAttrib(elm, 'class', className);
tinyMCE.setAttrib(elm, 'style', style);
tinyMCE.setAttrib(elm, 'id', id);
tinyMCE.setAttrib(elm, 'summary', summary);
tinyMCE.setAttrib(elm, 'dir', dir);
tinyMCE.setAttrib(elm, 'lang', lang);
 
capEl = elm.getElementsByTagName('caption')[0];
 
if (capEl && !caption)
capEl.parentNode.removeChild(capEl);
 
if (!capEl && caption) {
capEl = elm.ownerDocument.createElement('caption');
capEl.innerHTML = '&nbsp;';
elm.insertBefore(capEl, elm.firstChild);
}
 
// Not inline styles
if (!tinyMCE.getParam("inline_styles"))
tinyMCE.setAttrib(elm, 'width', width, true);
 
// Remove these since they are not valid XHTML
tinyMCE.setAttrib(elm, 'borderColor', '');
tinyMCE.setAttrib(elm, 'bgColor', '');
tinyMCE.setAttrib(elm, 'background', '');
tinyMCE.setAttrib(elm, 'height', '');
 
if (background != '')
elm.style.backgroundImage = "url('" + background + "')";
else
elm.style.backgroundImage = '';
 
if (tinyMCE.getParam("inline_styles"))
elm.style.borderWidth = border + "px";
 
if (tinyMCE.getParam("inline_styles")) {
if (width != '')
elm.style.width = getCSSSize(width);
}
 
if (bordercolor != "") {
elm.style.borderColor = bordercolor;
elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle;
elm.style.borderWidth = border == "" ? "1px" : border;
} else
elm.style.borderColor = '';
 
elm.style.backgroundColor = bgcolor;
elm.style.height = getCSSSize(height);
 
tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
 
// Fix for stange MSIE align bug
tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
 
tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
tinyMCE.triggerNodeChange();
inst.execCommand('mceEndUndoLevel');
 
// Repaint if dimensions changed
if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
inst.repaint();
 
tinyMCEPopup.close();
return true;
}
 
// Create new table
html += '<table';
 
html += makeAttrib('id', id);
html += makeAttrib('border', border);
html += makeAttrib('cellpadding', cellpadding);
html += makeAttrib('cellspacing', cellspacing);
html += makeAttrib('width', width);
//html += makeAttrib('height', height);
//html += makeAttrib('bordercolor', bordercolor);
//html += makeAttrib('bgcolor', bgcolor);
html += makeAttrib('align', align);
html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
html += makeAttrib('style', style);
html += makeAttrib('summary', summary);
html += makeAttrib('dir', dir);
html += makeAttrib('lang', lang);
html += '>';
 
if (caption)
html += '<caption>&nbsp;</caption>';
 
for (var y=0; y<rows; y++) {
html += "<tr>";
 
for (var x=0; x<cols; x++)
html += '<td>&nbsp;</td>';
 
html += "</tr>";
}
 
html += "</table>";
 
inst.execCommand('mceBeginUndoLevel');
inst.execCommand('mceInsertContent', false, html);
tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
inst.execCommand('mceEndUndoLevel');
 
tinyMCEPopup.close();
}
 
function makeAttrib(attrib, value) {
var formObj = document.forms[0];
var valueElm = formObj.elements[attrib];
 
if (typeof(value) == "undefined" || value == null) {
value = "";
 
if (valueElm)
value = valueElm.value;
}
 
if (value == "")
return "";
 
// XML encode it
value = value.replace(/&/g, '&amp;');
value = value.replace(/\"/g, '&quot;');
value = value.replace(/</g, '&lt;');
value = value.replace(/>/g, '&gt;');
 
return ' ' + attrib + '="' + value + '"';
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
 
document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
 
var cols = 2, rows = 2, border = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', '');
var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
var inst = tinyMCE.selectedInstance;
var formObj = document.forms[0];
var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
 
tinyMCE.tableElm = elm;
action = tinyMCE.getWindowArg('action');
if (action == null)
action = tinyMCE.tableElm ? "update" : "insert";
 
if (tinyMCE.tableElm && action != "insert") {
var rowsAr = tinyMCE.tableElm.rows;
var cols = 0;
for (var i=0; i<rowsAr.length; i++)
if (rowsAr[i].cells.length > cols)
cols = rowsAr[i].cells.length;
 
cols = cols;
rows = rowsAr.length;
 
st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style"));
border = trimSize(getStyle(elm, 'border', 'borderWidth'));
cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
width = trimSize(getStyle(elm, 'width', 'width'));
height = trimSize(getStyle(elm, 'height', 'height'));
bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
style = tinyMCE.serializeStyle(st);
dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0;
 
orgTableWidth = width;
orgTableHeight = height;
 
action = "update";
}
 
addClassesToList('class', "table_styles");
 
// Update form
selectByValue(formObj, 'align', align);
selectByValue(formObj, 'class', className);
formObj.cols.value = cols;
formObj.rows.value = rows;
formObj.border.value = border;
formObj.cellpadding.value = cellpadding;
formObj.cellspacing.value = cellspacing;
formObj.width.value = width;
formObj.height.value = height;
formObj.bordercolor.value = bordercolor;
formObj.bgcolor.value = bgcolor;
formObj.id.value = id;
formObj.summary.value = summary;
formObj.style.value = style;
formObj.dir.value = dir;
formObj.lang.value = lang;
formObj.backgroundimage.value = background;
formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
 
updateColor('bordercolor_pick', 'bordercolor');
updateColor('bgcolor_pick', 'bgcolor');
 
// Resize some elements
if (isVisible('backgroundimagebrowser'))
document.getElementById('backgroundimage').style.width = '180px';
 
// Disable some fields in update mode
if (action == "update") {
formObj.cols.disabled = true;
formObj.rows.disabled = true;
}
}
 
function changedSize() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
var width = formObj.width.value;
if (width != "")
st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : "";
else
st['width'] = "";
 
var height = formObj.height.value;
if (height != "")
st['height'] = getCSSSize(height);
else
st['height'] = "";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedBackgroundImage() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedBorder() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
// Update border width if the element has a color
if (formObj.border.value != "" && formObj.bordercolor.value != "")
st['border-width'] = formObj.border.value + "px";
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedColor() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
st['background-color'] = formObj.bgcolor.value;
 
if (formObj.bordercolor.value != "") {
st['border-color'] = formObj.bordercolor.value;
 
// Add border-width if it's missing
if (!st['border-width'])
st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
}
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function changedStyle() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
if (st['background-image'])
formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
else
formObj.backgroundimage.value = '';
 
if (st['width'])
formObj.width.value = trimSize(st['width']);
 
if (st['height'])
formObj.height.value = trimSize(st['height']);
 
if (st['background-color']) {
formObj.bgcolor.value = st['background-color'];
updateColor('bgcolor_pick','bgcolor');
}
 
if (st['border-color']) {
formObj.bordercolor.value = st['border-color'];
updateColor('bordercolor_pick','bordercolor');
}
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/langs/en.js
New file
0,0 → 1,79
// UK lang variables
 
tinyMCE.addToLang('table',{
general_tab : 'General',
advanced_tab : 'Advanced',
general_props : 'General properties',
advanced_props : 'Advanced properties',
desc : 'Inserts a new table',
row_before_desc : 'Insert row before',
row_after_desc : 'Insert row after',
delete_row_desc : 'Delete row',
col_before_desc : 'Insert column before',
col_after_desc : 'Insert column after',
delete_col_desc : 'Remove column',
rowtype : 'Row in table part',
title : 'Insert/Modify table',
width : 'Width',
height : 'Height',
cols : 'Columns',
rows : 'Rows',
cellspacing : 'Cellspacing',
cellpadding : 'Cellpadding',
border : 'Border',
align : 'Alignment',
align_default : 'Default',
align_left : 'Left',
align_right : 'Right',
align_middle : 'Center',
row_title : 'Table row properties',
cell_title : 'Table cell properties',
cell_type : 'Cell type',
row_desc : 'Table row properties',
cell_desc : 'Table cell properties',
valign : 'Vertical alignment',
align_top : 'Top',
align_bottom : 'Bottom',
props_desc : 'Table properties',
bordercolor : 'Border color',
bgcolor : 'Background color',
merge_cells_title : 'Merge table cells',
split_cells_desc : 'Split merged table cells',
merge_cells_desc : 'Merge table cells',
cut_row_desc : 'Cut table row',
copy_row_desc : 'Copy table row',
paste_row_before_desc : 'Paste table row before',
paste_row_after_desc : 'Paste table row after',
id : 'Id',
style: 'Style',
langdir : 'Language direction',
langcode : 'Language code',
mime : 'Target MIME type',
ltr : 'Left to right',
rtl : 'Right to left',
bgimage : 'Background image',
summary : 'Summary',
td : "Data",
th : "Header",
cell_cell : 'Update current cell',
cell_row : 'Update all cells in row',
cell_all : 'Update all cells in table',
row_row : 'Update current row',
row_odd : 'Update odd rows in table',
row_even : 'Update even rows in table',
row_all : 'Update all rows in table',
thead : 'Table Head',
tbody : 'Table Body',
tfoot : 'Table Foot',
del : 'Delete table',
scope : 'Scope',
row : 'Row',
col : 'Col',
rowgroup : 'Row Group',
colgroup : 'Col Group',
col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.',
caption : 'Table caption'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/langs/fr.js
New file
0,0 → 1,81
// FR lang variables
// Modified by shadow walker, last updated 2007-03-16, based on the work of Motte
 
tinyMCE.addToLang('table',{
general_tab : 'G&eacute;n&eacute;ral',
advanced_tab : 'Avanc&eacute;',
general_props : 'Propri&eacute;t&eacute;s g&eacute;n&eacute;rales',
advanced_props : 'Propri&eacute;t&eacute;s avanc&eacute;es',
desc : 'Ins&eacute;rer/Modifier un tableau',
row_before_desc : 'Ins&eacute;rer une rang&eacute;e avant',
row_after_desc : 'Ins&eacute;rer une rang&eacute;e apr&egrave;s',
delete_row_desc : 'Effacer la rang&eacute;e',
col_before_desc : 'Ins&eacute;rer une colonne avant',
col_after_desc : 'Ins&eacute;rer une colonne apr&egrave;s',
delete_col_desc : 'Effacer la colonne',
rowtype : 'Type de rang&eacute;e',
title : 'Gestionnaire de tableau',
width : 'Largeur',
height : 'Hauteur',
cols : 'Colonnes',
rows : 'Rang&eacute;es',
cellspacing : 'Entre les cellules',
cellpadding : 'Marges int&eacute;rieures',
border : 'Bordures',
align : 'Alignement horizontal',
align_default : 'Par d&eacute;fault',
align_left : 'A gauche',
align_right : 'A droite',
align_middle : 'Centr&eacute;',
row_title : 'Propri&eacute;t&eacute;s des rang&eacute;es',
cell_title : 'Propri&eacute;t&eacute;s des cellules',
cell_type : 'Type',
row_desc : 'Propri&eacute;t&eacute;s des rang&eacute;es',
cell_desc : 'Propri&eacute;t&eacute;s des cellules',
valign : 'Alignement vertical',
align_top : 'Haut',
align_bottom : 'Bas',
props_desc : 'Propri&eacute;t&eacute;s du tableau',
bordercolor : 'Couleur des bordures',
bgcolor : 'Couleur d\'arri&egrave;re-plan',
merge_cells_title : 'Fusionner les cellules',
split_cells_desc : 'Scinder les cellules',
merge_cells_desc : 'Fusionner les cellules',
cut_row_desc : 'Eliminer la rang&eacute;e',
copy_row_desc : 'Copier la rang&eacute;e',
paste_row_before_desc : 'Coller la rang&eacute;e avant',
paste_row_after_desc : 'Coller la rang&eacute;e apr&egrave;s',
id : 'Id',
style: 'Style en ligne',
langdir : 'Sens d\'&eacute;criture',
langcode : 'Code de langue',
mime : 'Type MIME de la cible',
ltr : 'Vers la droite',
rtl : 'Vers la gauche',
bgimage : 'Image d\'arri&egrave;re-plan',
summary : 'Descriptif',
td : "Donn&eacute;e",
th : "En-t&ecirc;te",
cell_cell : 'Appliquer &agrave; la cellule',
cell_row : 'Appliquer &agrave; toute la rang&eacute;e',
cell_all : 'Appliquer &agrave; tout le tableau',
row_row : 'Appliquer &agrave; la rang&eacute;e',
row_odd : 'Appliquer aux rang&eacute;es pair',
row_even : 'Appliquer aux rang&eacute;es impair',
row_all : 'Appliquer &agrave; toutes les rang&eacute;es',
thead : 'En-t&ecirc;te',
tbody : 'Corps',
tfoot : 'Pied',
del : 'Effacer le tableau',
scope : 'Attribut scope',
row : 'Rang&eacute;e',
col : 'Colonne',
rowgroup : 'Groupe de rang&eacute;es',
colgroup : 'Groupe de colonnes',
col_limit : 'Limite de colonnes atteintes {$cols}.',
row_limit : 'Limite de rang&eacute;es atteintes {$rows}.',
cell_limit : 'Limite de cellules atteintes {$cells}.',
missing_scope: 'Les attributs scope rendraient votre tableau de donn&eacute;es plus\naccessible &agrave; certains groupes d\'utilisateurs.\n\nEtes-vous s&ucirc;r de ne pas vouloir sp&eacute;cifier\nd\'attribut scope aux cellules d\'en-t&ecirc;te ?\n\n',
caption : 'Libell&eacute; du tableau',
cellprops_delta_width : 50
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_delete_col.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_delete_col.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_merge_cells.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_merge_cells.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_cell_props.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_cell_props.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_delete.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_delete.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_col_after.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_col_after.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_col_before.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_col_before.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/buttons.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/buttons.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_delete_row.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_delete_row.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_row_props.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_row_props.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_row_after.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_row_after.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_row_before.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_insert_row_before.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_split_cells.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/images/table_split_cells.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/cell.htm
New file
0,0 → 1,182
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_table_cell_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
<link href="css/cell.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="tablecell" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="updateAction();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_table_general_props}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="align">{$lang_table_align}</label></td>
<td>
<select id="align" name="align">
<option value="">{$lang_not_set}</option>
<option value="center">{$lang_table_align_middle}</option>
<option value="left">{$lang_table_align_left}</option>
<option value="right">{$lang_table_align_right}</option>
</select>
</td>
<td><label for="celltype">{$lang_table_cell_type}</label></td>
<td>
<select id="celltype" name="celltype">
<option value="td">{$lang_table_td}</option>
<option value="th">{$lang_table_th}</option>
</select>
</td>
</tr>
 
<tr>
<td><label for="valign">{$lang_table_valign}</label></td>
<td>
<select id="valign" name="valign">
<option value="">{$lang_not_set}</option>
<option value="top">{$lang_table_align_top}</option>
<option value="middle">{$lang_table_align_middle}</option>
<option value="bottom">{$lang_table_align_bottom}</option>
</select>
</td>
 
<td><label for="scope">{$lang_table_scope}</label></td>
<td>
<select id="scope" name="scope">
<option value="">{$lang_not_set}</option>
<option value="col">{$lang_table_col}</option>
<option value="row">{$lang_table_row}</option>
<option value="rowgroup">{$lang_table_rowgroup}</option>
<option value="colgroup">{$lang_table_colgroup}</option>
</select>
</td>
 
</tr>
 
<tr>
<td><label for="width">{$lang_table_width}</label></td>
<td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
 
<td><label for="height">{$lang_table_height}</label></td>
<td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
</tr>
 
<tr id="styleSelectRow">
<td><label for="class">{$lang_class_name}</label></td>
<td colspan="3">
<select id="class" name="class">
<option value="" selected="selected">{$lang_not_set}</option>
</select>
</td>
</tr>
</table>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_table_advanced_props}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label for="id">{$lang_table_id}</label></td>
<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
</tr>
 
<tr>
<td><label for="style">{$lang_table_style}</label></td>
<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
</tr>
 
<tr>
<td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
<td>
<select id="dir" name="dir" style="width: 200px">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_table_ltr}</option>
<option value="rtl">{$lang_table_rtl}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label for="lang">{$lang_table_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" style="width: 200px" />
</td>
</tr>
 
<tr>
<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
<td id="backgroundimagebrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
<td id="bordercolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
<td id="bgcolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div>
<select id="action" name="action">
<option value="cell">{$lang_table_cell_cell}</option>
<option value="row">{$lang_table_cell_row}</option>
<option value="all">{$lang_table_cell_all}</option>
</select>
</div>
 
<div style="float: left">
<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/editor_plugin_src.js
New file
0,0 → 1,1073
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('table');
 
var TinyMCE_TablePlugin = {
getInfo : function() {
return {
longname : 'Tables',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
if (tinyMCE.isGecko) {
var doc = inst.getDoc();
tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler);
}
 
inst.tableRowClipboard = null;
},
 
/**
* Returns the HTML contents of the table control.
*/
getControlHTML : function(control_name) {
var controls = new Array(
['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'],
['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'],
['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'],
['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'],
['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true],
['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true],
['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true],
['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]);
 
// Render table control
for (var i=0; i<controls.length; i++) {
var but = controls[i];
var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;';
 
if (but[0] == control_name)
return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false));
}
 
// Special tablecontrols
if (control_name == "tablecontrols") {
var html = "";
 
html += tinyMCE.getControlHTML("table");
html += tinyMCE.getControlHTML("separator");
html += tinyMCE.getControlHTML("row_props");
html += tinyMCE.getControlHTML("cell_props");
html += tinyMCE.getControlHTML("separator");
html += tinyMCE.getControlHTML("row_before");
html += tinyMCE.getControlHTML("row_after");
html += tinyMCE.getControlHTML("delete_row");
html += tinyMCE.getControlHTML("separator");
html += tinyMCE.getControlHTML("col_before");
html += tinyMCE.getControlHTML("col_after");
html += tinyMCE.getControlHTML("delete_col");
html += tinyMCE.getControlHTML("separator");
html += tinyMCE.getControlHTML("split_cells");
html += tinyMCE.getControlHTML("merge_cells");
 
return html;
}
 
return "";
},
 
/**
* Executes the table commands.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Is table command
switch (command) {
case "mceInsertTable":
case "mceTableRowProps":
case "mceTableCellProps":
case "mceTableSplitCells":
case "mceTableMergeCells":
case "mceTableInsertRowBefore":
case "mceTableInsertRowAfter":
case "mceTableDeleteRow":
case "mceTableInsertColBefore":
case "mceTableInsertColAfter":
case "mceTableDeleteCol":
case "mceTableCutRow":
case "mceTableCopyRow":
case "mceTablePasteRowBefore":
case "mceTablePasteRowAfter":
case "mceTableDelete":
var inst = tinyMCE.getInstanceById(editor_id);
 
inst.execCommand('mceBeginUndoLevel');
TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value);
inst.execCommand('mceEndUndoLevel');
 
return true;
}
 
// Pass to next handler in chain
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
var colspan = "1", rowspan = "1", tdElm;
 
var inst = tinyMCE.getInstanceById(editor_id);
 
// Reset table controls
tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled');
 
// Within a td element
if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal');
 
colspan = tinyMCE.getAttrib(tdElm, "colspan");
rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
 
colspan = colspan == "" ? "1" : colspan;
rowspan = rowspan == "" ? "1" : rowspan;
 
if (colspan != "1" || rowspan != "1")
tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal');
}
 
// Within a tr element
if (tinyMCE.getParentElement(node, "tr"))
tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected');
 
// Within table
if (tinyMCE.getParentElement(node, "table")) {
tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected');
tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal');
}
},
 
// Private plugin internal methods
 
_mouseDownHandler : function(e) {
var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
var focusElm = tinyMCE.selectedInstance.getFocusElement();
 
// If press on special Mozilla create TD/TR thingie
if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
window.setTimeout(function() {
var tableElm = tinyMCE.getParentElement(focusElm, "table");
tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
}, 10);
}
},
 
/**
* Executes the table commands.
*/
_doExecCommand : function(editor_id, element, command, user_interface, value) {
var inst = tinyMCE.getInstanceById(editor_id);
var focusElm = inst.getFocusElement();
var trElm = tinyMCE.getParentElement(focusElm, "tr");
var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
var tableElm = tinyMCE.getParentElement(focusElm, "table");
var doc = inst.contentWindow.document;
var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
 
// Get first TD if no TD found
if (trElm && tdElm == null)
tdElm = trElm.cells[0];
 
// ------- Inner functions ---------
function inArray(ar, v) {
for (var i=0; i<ar.length; i++) {
// Is array
if (ar[i].length > 0 && inArray(ar[i], v))
return true;
 
// Found value
if (ar[i] == v)
return true;
}
 
return false;
}
 
function makeTD() {
var newTD = doc.createElement("td");
newTD.innerHTML = "&nbsp;";
}
 
function getColRowSpan(td) {
var colspan = tinyMCE.getAttrib(td, "colspan");
var rowspan = tinyMCE.getAttrib(td, "rowspan");
 
colspan = colspan == "" ? 1 : parseInt(colspan);
rowspan = rowspan == "" ? 1 : parseInt(rowspan);
 
return {colspan : colspan, rowspan : rowspan};
}
 
function getCellPos(grid, td) {
var x, y;
 
for (y=0; y<grid.length; y++) {
for (x=0; x<grid[y].length; x++) {
if (grid[y][x] == td)
return {cellindex : x, rowindex : y};
}
}
 
return null;
}
 
function getCell(grid, row, col) {
if (grid[row] && grid[row][col])
return grid[row][col];
 
return null;
}
 
function getTableGrid(table) {
var grid = new Array(), rows = table.rows, x, y, td, sd, xstart, x2, y2;
 
for (y=0; y<rows.length; y++) {
for (x=0; x<rows[y].cells.length; x++) {
td = rows[y].cells[x];
sd = getColRowSpan(td);
 
// All ready filled
for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
 
// Fill box
for (y2=y; y2<y+sd['rowspan']; y2++) {
if (!grid[y2])
grid[y2] = new Array();
 
for (x2=xstart; x2<xstart+sd['colspan']; x2++)
grid[y2][x2] = td;
}
}
}
 
return grid;
}
 
function trimRow(table, tr, td, new_tr) {
var grid = getTableGrid(table), cpos = getCellPos(grid, td);
var cells, lastElm;
 
// Time to crop away some
if (new_tr.cells.length != tr.childNodes.length) {
cells = tr.childNodes;
lastElm = null;
 
for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
var remove = true;
var sd = getColRowSpan(td);
 
// Remove due to rowspan
if (inArray(cells, td)) {
new_tr.childNodes[x]._delete = true;
} else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
for (var i=x; i<x+td.colSpan; i++)
new_tr.childNodes[i]._delete = true;
}
 
if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
td.rowSpan = sd.rowspan + 1;
 
lastElm = td;
}
 
deleteMarked(tableElm);
}
}
 
function prevElm(node, name) {
while ((node = node.previousSibling) != null) {
if (node.nodeName == name)
return node;
}
 
return null;
}
 
function nextElm(node, names) {
var namesAr = names.split(',');
 
while ((node = node.nextSibling) != null) {
for (var i=0; i<namesAr.length; i++) {
if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
return node;
}
}
 
return null;
}
 
function deleteMarked(tbl) {
if (tbl.rows == 0)
return;
 
var tr = tbl.rows[0];
do {
var next = nextElm(tr, "TR");
 
// Delete row
if (tr._delete) {
tr.parentNode.removeChild(tr);
continue;
}
 
// Delete cells
var td = tr.cells[0];
if (td.cells > 1) {
do {
var nexttd = nextElm(td, "TD,TH");
 
if (td._delete)
td.parentNode.removeChild(td);
} while ((td = nexttd) != null);
}
} while ((tr = next) != null);
}
 
function addRows(td_elm, tr_elm, rowspan) {
// Add rows
td_elm.rowSpan = 1;
var trNext = nextElm(tr_elm, "TR");
for (var i=1; i<rowspan && trNext; i++) {
var newTD = doc.createElement("td");
newTD.innerHTML = "&nbsp;";
 
if (tinyMCE.isMSIE)
trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
else
trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
 
trNext = nextElm(trNext, "TR");
}
}
 
function copyRow(doc, table, tr) {
var grid = getTableGrid(table);
var newTR = tr.cloneNode(false);
var cpos = getCellPos(grid, tr.cells[0]);
var lastCell = null;
var tableBorder = tinyMCE.getAttrib(table, "border");
var tdElm = null;
 
for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
var newTD = null;
 
if (lastCell != tdElm) {
for (var i=0; i<tr.cells.length; i++) {
if (tdElm == tr.cells[i]) {
newTD = tdElm.cloneNode(true);
break;
}
}
}
 
if (newTD == null) {
newTD = doc.createElement("td");
newTD.innerHTML = "&nbsp;";
}
 
// Reset col/row span
newTD.colSpan = 1;
newTD.rowSpan = 1;
 
newTR.appendChild(newTD);
 
lastCell = tdElm;
}
 
return newTR;
}
 
// ---- Commands -----
 
// Handle commands
switch (command) {
case "mceTableRowProps":
if (trElm == null)
return true;
 
if (user_interface) {
// Setup template
var template = new Array();
 
template['file'] = '../../plugins/table/row.htm';
template['width'] = 380;
template['height'] = 295;
 
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_height', 0);
 
// Open window
tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
}
 
return true;
 
case "mceTableCellProps":
if (tdElm == null)
return true;
 
if (user_interface) {
// Setup template
var template = new Array();
 
template['file'] = '../../plugins/table/cell.htm';
template['width'] = 380;
template['height'] = 295;
 
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_height', 0);
 
// Open window
tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
}
 
return true;
 
case "mceInsertTable":
if (user_interface) {
// Setup template
var template = new Array();
 
template['file'] = '../../plugins/table/table.htm';
template['width'] = 380;
template['height'] = 295;
 
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_table_table_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_table_table_delta_height', 0);
 
// Open window
tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
}
 
return true;
 
case "mceTableDelete":
var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
if (table) {
table.parentNode.removeChild(table);
inst.repaint();
}
return true;
 
case "mceTableSplitCells":
case "mceTableMergeCells":
case "mceTableInsertRowBefore":
case "mceTableInsertRowAfter":
case "mceTableDeleteRow":
case "mceTableInsertColBefore":
case "mceTableInsertColAfter":
case "mceTableDeleteCol":
case "mceTableCutRow":
case "mceTableCopyRow":
case "mceTablePasteRowBefore":
case "mceTablePasteRowAfter":
// No table just return (invalid command)
if (!tableElm)
return true;
 
// Table has a tbody use that reference
// Changed logic by ApTest 2005.07.12 (www.aptest.com)
// Now lookk at the focused element and take its parentNode. That will be a tbody or a table.
if (trElm && tableElm != trElm.parentNode)
tableElm = trElm.parentNode;
 
if (tableElm && trElm) {
switch (command) {
case "mceTableCutRow":
if (!trElm || !tdElm)
return true;
 
inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
inst.execCommand("mceTableDeleteRow");
break;
 
case "mceTableCopyRow":
if (!trElm || !tdElm)
return true;
 
inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
break;
 
case "mceTablePasteRowBefore":
if (!trElm || !tdElm)
return true;
 
var newTR = inst.tableRowClipboard.cloneNode(true);
 
var prevTR = prevElm(trElm, "TR");
if (prevTR != null)
trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
 
trElm.parentNode.insertBefore(newTR, trElm);
break;
 
case "mceTablePasteRowAfter":
if (!trElm || !tdElm)
return true;
var nextTR = nextElm(trElm, "TR");
var newTR = inst.tableRowClipboard.cloneNode(true);
 
trimRow(tableElm, trElm, tdElm, newTR);
 
if (nextTR == null)
trElm.parentNode.appendChild(newTR);
else
nextTR.parentNode.insertBefore(newTR, nextTR);
 
break;
 
case "mceTableInsertRowBefore":
if (!trElm || !tdElm)
return true;
 
var grid = getTableGrid(tableElm);
var cpos = getCellPos(grid, tdElm);
var newTR = doc.createElement("tr");
var lastTDElm = null;
 
cpos.rowindex--;
if (cpos.rowindex < 0)
cpos.rowindex = 0;
 
// Create cells
for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
if (tdElm != lastTDElm) {
var sd = getColRowSpan(tdElm);
 
if (sd['rowspan'] == 1) {
var newTD = doc.createElement("td");
 
newTD.innerHTML = "&nbsp;";
newTD.colSpan = tdElm.colSpan;
 
newTR.appendChild(newTD);
} else
tdElm.rowSpan = sd['rowspan'] + 1;
 
lastTDElm = tdElm;
}
}
 
trElm.parentNode.insertBefore(newTR, trElm);
 
grid = getTableGrid(tableElm);
inst.selection.selectNode(getCell(grid, cpos.rowindex + 1, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
break;
 
case "mceTableInsertRowAfter":
if (!trElm || !tdElm)
return true;
 
var grid = getTableGrid(tableElm);
var cpos = getCellPos(grid, tdElm);
var newTR = doc.createElement("tr");
var lastTDElm = null;
 
// Create cells
for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
if (tdElm != lastTDElm) {
var sd = getColRowSpan(tdElm);
 
if (sd['rowspan'] == 1) {
var newTD = doc.createElement("td");
 
newTD.innerHTML = "&nbsp;";
newTD.colSpan = tdElm.colSpan;
 
newTR.appendChild(newTD);
} else
tdElm.rowSpan = sd['rowspan'] + 1;
 
lastTDElm = tdElm;
}
}
 
if (newTR.hasChildNodes()) {
var nextTR = nextElm(trElm, "TR");
if (nextTR)
nextTR.parentNode.insertBefore(newTR, nextTR);
else
tableElm.appendChild(newTR);
}
 
grid = getTableGrid(tableElm);
inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
break;
 
case "mceTableDeleteRow":
if (!trElm || !tdElm)
return true;
 
var grid = getTableGrid(tableElm);
var cpos = getCellPos(grid, tdElm);
 
// Only one row, remove whole table
if (grid.length == 1) {
tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
tableElm.parentNode.removeChild(tableElm);
return true;
}
 
// Move down row spanned cells
var cells = trElm.cells;
var nextTR = nextElm(trElm, "TR");
for (var x=0; x<cells.length; x++) {
if (cells[x].rowSpan > 1) {
var newTD = cells[x].cloneNode(true);
var sd = getColRowSpan(cells[x]);
 
newTD.rowSpan = sd.rowspan - 1;
 
var nextTD = nextTR.cells[x];
 
if (nextTD == null)
nextTR.appendChild(newTD);
else
nextTR.insertBefore(newTD, nextTD);
}
}
 
// Delete cells
var lastTDElm = null;
for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
if (tdElm != lastTDElm) {
var sd = getColRowSpan(tdElm);
 
if (sd.rowspan > 1) {
tdElm.rowSpan = sd.rowspan - 1;
} else {
trElm = tdElm.parentNode;
 
if (trElm.parentNode)
trElm._delete = true;
}
 
lastTDElm = tdElm;
}
}
 
deleteMarked(tableElm);
 
cpos.rowindex--;
if (cpos.rowindex < 0)
cpos.rowindex = 0;
 
// Recalculate grid and select
grid = getTableGrid(tableElm);
inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
break;
 
case "mceTableInsertColBefore":
if (!trElm || !tdElm)
return true;
 
var grid = getTableGrid(tableElm);
var cpos = getCellPos(grid, tdElm);
var lastTDElm = null;
 
for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
if (tdElm != lastTDElm) {
var sd = getColRowSpan(tdElm);
 
if (sd['colspan'] == 1) {
var newTD = doc.createElement(tdElm.nodeName);
 
newTD.innerHTML = "&nbsp;";
newTD.rowSpan = tdElm.rowSpan;
 
tdElm.parentNode.insertBefore(newTD, tdElm);
} else
tdElm.colSpan++;
 
lastTDElm = tdElm;
}
}
 
grid = getTableGrid(tableElm);
inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko
break;
 
case "mceTableInsertColAfter":
if (!trElm || !tdElm)
return true;
 
var grid = getTableGrid(tableElm);
var cpos = getCellPos(grid, tdElm);
var lastTDElm = null;
 
for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
if (tdElm != lastTDElm) {
var sd = getColRowSpan(tdElm);
 
if (sd['colspan'] == 1) {
var newTD = doc.createElement(tdElm.nodeName);
 
newTD.innerHTML = "&nbsp;";
newTD.rowSpan = tdElm.rowSpan;
 
var nextTD = nextElm(tdElm, "TD,TH");
if (nextTD == null)
tdElm.parentNode.appendChild(newTD);
else
nextTD.parentNode.insertBefore(newTD, nextTD);
} else
tdElm.colSpan++;
 
lastTDElm = tdElm;
}
}
 
grid = getTableGrid(tableElm);
inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
break;
 
case "mceTableDeleteCol":
if (!trElm || !tdElm)
return true;
 
var grid = getTableGrid(tableElm);
var cpos = getCellPos(grid, tdElm);
var lastTDElm = null;
 
// Only one col, remove whole table
if (grid.length > 1 && grid[0].length <= 1) {
tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
tableElm.parentNode.removeChild(tableElm);
return true;
}
 
// Delete cells
for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
if (tdElm != lastTDElm) {
var sd = getColRowSpan(tdElm);
 
if (sd['colspan'] > 1)
tdElm.colSpan = sd['colspan'] - 1;
else {
if (tdElm.parentNode)
tdElm.parentNode.removeChild(tdElm);
}
 
lastTDElm = tdElm;
}
}
 
cpos.cellindex--;
if (cpos.cellindex < 0)
cpos.cellindex = 0;
 
// Recalculate grid and select
grid = getTableGrid(tableElm);
inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
break;
 
case "mceTableSplitCells":
if (!trElm || !tdElm)
return true;
 
var spandata = getColRowSpan(tdElm);
 
var colspan = spandata["colspan"];
var rowspan = spandata["rowspan"];
 
// Needs splitting
if (colspan > 1 || rowspan > 1) {
// Generate cols
tdElm.colSpan = 1;
for (var i=1; i<colspan; i++) {
var newTD = doc.createElement("td");
 
newTD.innerHTML = "&nbsp;";
 
trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
 
if (rowspan > 1)
addRows(newTD, trElm, rowspan);
}
 
addRows(tdElm, trElm, rowspan);
}
 
// Apply visual aids
tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
break;
 
case "mceTableMergeCells":
var rows = new Array();
var sel = inst.getSel();
var grid = getTableGrid(tableElm);
 
if (tinyMCE.isMSIE || sel.rangeCount == 1) {
if (user_interface) {
// Setup template
var template = new Array();
var sp = getColRowSpan(tdElm);
 
template['file'] = '../../plugins/table/merge_cells.htm';
template['width'] = 250;
template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
 
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0);
 
// Open window
tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
 
return true;
} else {
var numRows = parseInt(value['numrows']);
var numCols = parseInt(value['numcols']);
var cpos = getCellPos(grid, tdElm);
 
if (("" + numRows) == "NaN")
numRows = 1;
 
if (("" + numCols) == "NaN")
numCols = 1;
 
// Get rows and cells
var tRows = tableElm.rows;
for (var y=cpos.rowindex; y<grid.length; y++) {
var rowCells = new Array();
 
for (var x=cpos.cellindex; x<grid[y].length; x++) {
var td = getCell(grid, y, x);
 
if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
var cp = getCellPos(grid, td);
 
// Within range
if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
rowCells[rowCells.length] = td;
}
}
 
if (rowCells.length > 0)
rows[rows.length] = rowCells;
}
 
//return true;
}
} else {
var cells = new Array();
var sel = inst.getSel();
var lastTR = null;
var curRow = null;
var x1 = -1, y1 = -1, x2, y2;
 
// Only one cell selected, whats the point?
if (sel.rangeCount < 2)
return true;
 
// Get all selected cells
for (var i=0; i<sel.rangeCount; i++) {
var rng = sel.getRangeAt(i);
var tdElm = rng.startContainer.childNodes[rng.startOffset];
 
if (!tdElm)
break;
 
if (tdElm.nodeName == "TD")
cells[cells.length] = tdElm;
}
 
// Get rows and cells
var tRows = tableElm.rows;
for (var y=0; y<tRows.length; y++) {
var rowCells = new Array();
 
for (var x=0; x<tRows[y].cells.length; x++) {
var td = tRows[y].cells[x];
 
for (var i=0; i<cells.length; i++) {
if (td == cells[i]) {
rowCells[rowCells.length] = td;
}
}
}
 
if (rowCells.length > 0)
rows[rows.length] = rowCells;
}
 
// Find selected cells in grid and box
var curRow = new Array();
var lastTR = null;
for (var y=0; y<grid.length; y++) {
for (var x=0; x<grid[y].length; x++) {
grid[y][x]._selected = false;
 
for (var i=0; i<cells.length; i++) {
if (grid[y][x] == cells[i]) {
// Get start pos
if (x1 == -1) {
x1 = x;
y1 = y;
}
 
// Get end pos
x2 = x;
y2 = y;
 
grid[y][x]._selected = true;
}
}
}
}
 
// Is there gaps, if so deny
for (var y=y1; y<=y2; y++) {
for (var x=x1; x<=x2; x++) {
if (!grid[y][x]._selected) {
alert("Invalid selection for merge.");
return true;
}
}
}
}
 
// Validate selection and get total rowspan and colspan
var rowSpan = 1, colSpan = 1;
 
// Validate horizontal and get total colspan
var lastRowSpan = -1;
for (var y=0; y<rows.length; y++) {
var rowColSpan = 0;
 
for (var x=0; x<rows[y].length; x++) {
var sd = getColRowSpan(rows[y][x]);
 
rowColSpan += sd['colspan'];
 
if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
alert("Invalid selection for merge.");
return true;
}
 
lastRowSpan = sd['rowspan'];
}
 
if (rowColSpan > colSpan)
colSpan = rowColSpan;
 
lastRowSpan = -1;
}
 
// Validate vertical and get total rowspan
var lastColSpan = -1;
for (var x=0; x<rows[0].length; x++) {
var colRowSpan = 0;
 
for (var y=0; y<rows.length; y++) {
var sd = getColRowSpan(rows[y][x]);
 
colRowSpan += sd['rowspan'];
 
if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
alert("Invalid selection for merge.");
return true;
}
 
lastColSpan = sd['colspan'];
}
 
if (colRowSpan > rowSpan)
rowSpan = colRowSpan;
 
lastColSpan = -1;
}
 
// Setup td
tdElm = rows[0][0];
tdElm.rowSpan = rowSpan;
tdElm.colSpan = colSpan;
 
// Merge cells
for (var y=0; y<rows.length; y++) {
for (var x=0; x<rows[y].length; x++) {
var html = rows[y][x].innerHTML;
var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
 
if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
tdElm.innerHTML += html;
 
// Not current cell
if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
var cpos = getCellPos(grid, rows[y][x]);
var tr = rows[y][x].parentNode;
 
tr.removeChild(rows[y][x]);
rows[y][x]._deleted = true;
 
// Empty TR, remove it
if (!tr.hasChildNodes()) {
tr.parentNode.removeChild(tr);
 
var lastCell = null;
for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
if (cellElm != lastCell && cellElm.rowSpan > 1)
cellElm.rowSpan--;
 
lastCell = cellElm;
}
 
if (tdElm.rowSpan > 1)
tdElm.rowSpan--;
}
}
}
}
 
break;
}
 
tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
tinyMCE.triggerNodeChange();
inst.repaint();
}
 
return true;
}
 
// Pass to next handler in chain
return false;
}
};
 
tinyMCE.addPlugin("table", TinyMCE_TablePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/css/cell.css
New file
0,0 → 1,17
/* CSS file for cell dialog in the table plugin */
 
.panel_wrapper div.current {
height: 200px;
}
 
.advfield {
width: 200px;
}
 
#action {
margin-bottom: 3px;
}
 
#class {
width: 150px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/css/row.css
New file
0,0 → 1,25
/* CSS file for row dialog in the table plugin */
 
.panel_wrapper div.current {
height: 200px;
}
 
.advfield {
width: 200px;
}
 
#action {
margin-bottom: 3px;
}
 
#rowtype,#align,#valign,#class,#height {
width: 150px;
}
 
#height {
width: 50px;
}
 
.col2 {
padding-left: 20px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/css/table.css
New file
0,0 → 1,13
/* CSS file for table dialog in the table plugin */
 
.panel_wrapper div.current {
height: 220px;
}
 
.advfield {
width: 200px;
}
 
#class {
width: 150px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/merge_cells.htm
New file
0,0 → 1,38
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_table_merge_cells_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 8px" style="display: none">
<form onsubmit="insertTable();return false;" action="#">
<fieldset>
<legend>{$lang_table_merge_cells_title}</legend>
<table border="0" cellpadding="0" cellspacing="3" width="100%">
<tr>
<td>{$lang_table_cols}:</td>
<td align="right"><input type="text" name="numcols" value="" class="number min1" style="width: 30px" /></td>
<td>
</tr>
<tr>
<td>{$lang_table_rows}:</td>
<td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
</tr>
</table>
</fieldset>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/table/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/cleanup/editor_plugin_src.js
New file
0,0 → 1,10
/**
* $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
*
* Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth.
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Dummy file since cleanup is now moved to core */
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/cleanup/readme.txt
New file
0,0 → 1,0
Dummy plugin since cleanup is now moved into core.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/cleanup/editor_plugin.js
--- advlink/langs/en.js (revision 0)
+++ advlink/langs/en.js (revision 610)
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'General',
+popup_tab : 'Popup',
+events_tab : 'Events',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+popup_props : 'Popup properties',
+event_props : 'Events',
+advanced_props : 'Advanced properties',
+popup_opts : 'Options',
+anchor_names : 'Anchors',
+target_same : 'Open in this window / frame',
+target_parent : 'Open in parent window / frame',
+target_top : 'Open in top frame (replaces all frames)',
+target_blank : 'Open in new window',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'Window name',
+popup_return : 'Insert \'return false\'',
+popup_scrollbars : 'Show scrollbars',
+popup_statusbar : 'Show status bar',
+popup_toolbar : 'Show toolbars',
+popup_menubar : 'Show menu bar',
+popup_location : 'Show location bar',
+popup_resizable : 'Make window resizable',
+popup_dependent : 'Dependent (Mozilla/Firefox only)',
+popup_size : 'Size',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Style',
+classes : 'Classes',
+target_name : 'Target name',
+langdir : 'Language direction',
+target_langcode : 'Target language',
+langcode : 'Language code',
+encoding : 'Target character encoding',
+mime : 'Target MIME type',
+rel : 'Relationship page to target',
+rev : 'Relationship target to page',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'Left to right',
+rtl : 'Right to left'
+});
\ No newline at end of file
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/langs/fr.js
New file
0,0 → 1,48
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('advlink',{
popup_missingtarget : 'Veuillez ins&eacute;rer un nom pour la cible ou choisissez une autre option.',
general_tab : 'G&eacute;n&eacute;ral',
popup_tab : 'Popup',
events_tab : 'Ev&ecirc;nements',
advanced_tab : 'Avanc&eacute;',
general_props : 'Propri&eacute;t&eacute;s g&eacute;n&eacute;rales',
popup_props : 'Propri&eacute;t&eacute;s Popup',
event_props : 'Ev&ecirc;nements',
advanced_props : 'Propri&eacute;t&eacute;s Avanc&eacute;es',
popup_opts : 'Options',
anchor_names : 'Ancres',
target_same : 'Ouvre dans la m&ecirc;me fen&ecirc;tre / Cadre',
target_parent : 'Ouvre dans la fen&ecirc;tre / cadre parente',
target_top : 'Ouvre dans le Top frame (remplace toutes les cadres)',
target_blank : 'Ouvre dans une nouvelle fen&ecirc;tre',
popup : 'JS-Popup',
popup_url : 'URL de la Popup',
popup_name : 'Nom de la fen&ecirc;tre',
popup_return : 'Insert \'return false\'',
popup_scrollbars : 'Montrer la barre de d&eacute;filement ',
popup_statusbar : 'Montrer la barre d\'&eacute;tat',
popup_toolbar : 'Montrer la barre d\'outils',
popup_menubar : 'Montrer la barre du menu',
popup_location : 'Montre la barre d\'adresse',
popup_resizable : 'Fabriquer une fen&ecirc;tre redimensionnable',
popup_dependent : 'Dependent (Mozilla/Firefox only)',
popup_size : 'Taille',
popup_position : 'Position (X/Y)',
id : 'Id',
style: 'Style',
classes : 'Classes',
target_name : 'Nom de la cible',
langdir : 'Sens d\'&eacute;criture',
target_langcode : 'Langage cible',
langcode : 'Code langue',
encoding : 'Codage caract&egrave;res de la cible',
mime : 'Type MIME de la cible',
rel : 'Page relative &agrave; la cible',
rev : 'Cible relative &agrave; la page',
tabindex : 'Tabindex',
accesskey : 'Touche d\'acc&egrave;s',
ltr : 'De gauche &agrave; droite',
rtl : 'De droite &agrave; gauche'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/link.htm
New file
0,0 → 1,338
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_insert_link_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
<link href="css/advlink.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertAction();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
<li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_advlink_general_props}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
<td id="hrefbrowsercontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr id="linklisthrefrow">
<td class="column1"><label for="linklisthref">{$lang_link_list}</label></td>
<td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
</tr>
<tr>
<td class="column1"><label for="anchorlist">{$lang_advlink_anchor_names}</label></td>
<td colspan="2" id="anchorlistcontainer">&nbsp;</td>
</tr>
<tr>
<td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
<td id="targetlistcontainer">&nbsp;</td>
</tr>
<tr>
<td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
<td><input id="title" name="title" type="text" value="" /></td>
</tr>
<tr>
<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
<td>
<select id="classlist" name="classlist" onchange="changeClass();">
<option value="" selected>{$lang_not_set}</option>
</select>
</td>
</tr>
</table>
</fieldset>
</div>
 
<div id="popup_panel" class="panel">
<fieldset>
<legend>{$lang_advlink_popup_props}</legend>
 
<input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
<label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
<td id="popupurlbrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
<td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
</tr>
<tr>
<td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
<td nowrap="nowrap">
<input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
<input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
</td>
</tr>
<tr>
<td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
<td nowrap="nowrap">
<input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /
<input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
</td>
</tr>
</table>
 
<fieldset>
<legend>{$lang_advlink_popup_opts}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
<td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
</tr>
<tr>
<td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
<td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
</tr>
<tr>
<td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
<td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
</tr>
<tr>
<td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
<td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
<td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
<td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
</tr>
</table>
</fieldset>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_advlink_advanced_props}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td>
<td><input id="id" name="id" type="text" value="" /></td>
</tr>
 
<tr>
<td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
<td><input type="text" id="style" name="style" value="" /></td>
</tr>
 
<tr>
<td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
<td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
</tr>
 
<tr>
<td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
<td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
</tr>
 
<tr>
<td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td>
<td>
<select id="dir" name="dir">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_advlink_ltr}</option>
<option value="rtl">{$lang_advlink_rtl}</option>
</select>
</td>
</tr>
 
<tr>
<td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
<td><input type="text" id="hreflang" name="hreflang" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" />
</td>
</tr>
 
<tr>
<td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
<td><input type="text" id="charset" name="charset" value="" /></td>
</tr>
 
<tr>
<td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
<td><input type="text" id="type" name="type" value="" /></td>
</tr>
 
<tr>
<td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
<td><select id="rel" name="rel">
<option value="">{$lang_not_set}</option>
<option value="lightbox">Lightbox</option>
<option value="alternate">Alternate</option>
<option value="designates">Designates</option>
<option value="stylesheet">Stylesheet</option>
<option value="start">Start</option>
<option value="next">Next</option>
<option value="prev">Prev</option>
<option value="contents">Contents</option>
<option value="index">Index</option>
<option value="glossary">Glossary</option>
<option value="copyright">Copyright</option>
<option value="chapter">Chapter</option>
<option value="subsection">Subsection</option>
<option value="appendix">Appendix</option>
<option value="help">Help</option>
<option value="bookmark">Bookmark</option>
<option value="nofollow">No Follow</option>
<option value="tag">Tag</option>
</select>
</td>
</tr>
 
<tr>
<td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
<td><select id="rev" name="rev">
<option value="">{$lang_not_set}</option>
<option value="alternate">Alternate</option>
<option value="designates">Designates</option>
<option value="stylesheet">Stylesheet</option>
<option value="start">Start</option>
<option value="next">Next</option>
<option value="prev">Prev</option>
<option value="contents">Contents</option>
<option value="index">Index</option>
<option value="glossary">Glossary</option>
<option value="copyright">Copyright</option>
<option value="chapter">Chapter</option>
<option value="subsection">Subsection</option>
<option value="appendix">Appendix</option>
<option value="help">Help</option>
<option value="bookmark">Bookmark</option>
</select>
</td>
</tr>
 
<tr>
<td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
</tr>
 
<tr>
<td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
</tr>
</table>
</fieldset>
</div>
 
<div id="events_panel" class="panel">
<fieldset>
<legend>{$lang_advlink_event_props}</legend>
 
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label for="onfocus">onfocus</label></td>
<td><input id="onfocus" name="onfocus" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onblur">onblur</label></td>
<td><input id="onblur" name="onblur" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onclick">onclick</label></td>
<td><input id="onclick" name="onclick" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="ondblclick">ondblclick</label></td>
<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onmousedown">onmousedown</label></td>
<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onmouseup">onmouseup</label></td>
<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onmouseover">onmouseover</label></td>
<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onmousemove">onmousemove</label></td>
<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onmouseout">onmouseout</label></td>
<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onkeypress">onkeypress</label></td>
<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onkeydown">onkeydown</label></td>
<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label for="onkeyup">onkeyup</label></td>
<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js
New file
0,0 → 1,83
/**
* $Id: editor_plugin_src.js 268 2007-04-28 15:52:59Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advlink');
 
var TinyMCE_AdvancedLinkPlugin = {
getInfo : function() {
return {
longname : 'Advanced link',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
},
 
getControlHTML : function(cn) {
switch (cn) {
case "link":
return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
switch (command) {
case "mceAdvLink":
var inst = tinyMCE.getInstanceById(editor_id), anySelection = false;
var focusElm = inst.getFocusElement(), selectedText = inst.selection.getSelectedText();
 
if (tinyMCE.selectedElement)
anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
 
if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
tinyMCE.openWindow({
file : '../../plugins/advlink/link.htm',
width : 480 + tinyMCE.getLang('lang_advlink_delta_width', 0),
height : 400 + tinyMCE.getLang('lang_advlink_delta_height', 0)
}, {
editor_id : editor_id,
inline : "yes"
});
}
 
return true;
}
 
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (node == null)
return;
 
do {
if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
return true;
}
} while ((node = node.parentNode));
 
if (any_selection) {
tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
return true;
}
 
tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
 
return true;
}
};
 
tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/css/advlink.css
New file
0,0 → 1,35
/* CSS file for advimage plugin popup */
 
.mceLinkList, .mceAnchorList, #targetlist {
width: 280px;
}
 
.mceActionPanel {
margin-top: 7px;
}
 
.panel_wrapper div.current {
height: 320px;
}
 
#classlist, #title, #href {
width: 280px;
}
 
#popupurl, #popupname {
width: 200px;
}
 
#popupwidth, #popupheight, #popupleft, #popuptop {
width: 30px;
vertical-align: middle;
text-align: center;
}
 
#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
width: 200px;
}
 
#events_panel input {
width: 200px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('advlink');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink')},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var inst=tinyMCE.getInstanceById(editor_id),anySelection=false;var focusElm=inst.getFocusElement(),selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){tinyMCE.openWindow({file:'../../plugins/advlink/link.htm',width:480+tinyMCE.getLang('lang_advlink_delta_width',0),height:400+tinyMCE.getLang('lang_advlink_delta_height',0)},{editor_id:editor_id,inline:"yes"})}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advlink/jscripts/functions.js
New file
0,0 → 1,587
/* Functions for the advlink plugin popup */
 
var templates = {
"window.open" : "window.open('${url}','${target}','${options}')"
};
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
 
// Import external list url javascript
var url = tinyMCE.getParam("external_link_list_url");
if (url != null) {
// Fix relative
if (url.charAt(0) != '/' && url.indexOf('://') == -1)
url = tinyMCE.documentBasePath + "/" + url;
 
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
}
 
function changeClass() {
var formObj = document.forms[0];
formObj.classes.value = getSelectValue(formObj, 'classlist');
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
 
var formObj = document.forms[0];
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
var action = "insert";
var html;
 
document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink');
document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink');
document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href');
document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href');
document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target');
 
// Link list
html = getLinkListHTML('linklisthref','href');
if (html == "")
document.getElementById("linklisthrefrow").style.display = 'none';
else
document.getElementById("linklisthrefcontainer").innerHTML = html;
 
// Resize some elements
if (isVisible('hrefbrowser'))
document.getElementById('href').style.width = '260px';
 
if (isVisible('popupurlbrowser'))
document.getElementById('popupurl').style.width = '180px';
 
elm = tinyMCE.getParentElement(elm, "a");
if (elm != null && elm.nodeName == "A")
action = "update";
 
formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
 
setPopupControlsDisabled(true);
 
if (action == "update") {
var href = tinyMCE.getAttrib(elm, 'href');
 
href = convertURL(href, elm, true);
 
// Use mce_href if found
var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href');
if (mceRealHref != "") {
href = mceRealHref;
 
if (tinyMCE.getParam('convert_urls'))
href = convertURL(href, elm, true);
}
 
var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
 
// Setup form data
setFormValue('href', href);
setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
setFormValue('onclick', onclick);
setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
 
// Parse onclick data
if (onclick != null && onclick.indexOf('window.open') != -1)
parseWindowOpen(onclick);
else
parseFunction(onclick);
 
// Select by the values
selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
selectByValue(formObj, 'linklisthref', href);
 
if (href.charAt(0) == '#')
selectByValue(formObj, 'anchorlist', href);
 
addClassesToList('classlist', 'advlink_styles');
 
selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
} else
addClassesToList('classlist', 'advlink_styles');
 
window.focus();
}
 
function checkPrefix(n) {
if (!Validator.isEmpty(n) && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCE.getLang('lang_is_email')))
n.value = 'mailto:' + n.value;
 
if (/^\s*www./i.test(n.value) && confirm(tinyMCE.getLang('lang_is_external')))
n.value = 'http://' + n.value;
}
 
function setFormValue(name, value) {
document.forms[0].elements[name].value = value;
}
 
function convertURL(url, node, on_save) {
return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
}
 
function parseWindowOpen(onclick) {
var formObj = document.forms[0];
 
// Preprocess center code
if (onclick.indexOf('return false;') != -1) {
formObj.popupreturn.checked = true;
onclick = onclick.replace('return false;', '');
} else
formObj.popupreturn.checked = false;
 
var onClickData = parseLink(onclick);
 
if (onClickData != null) {
formObj.ispopup.checked = true;
setPopupControlsDisabled(false);
 
var onClickWindowOptions = parseOptions(onClickData['options']);
var url = onClickData['url'];
 
if (tinyMCE.getParam('convert_urls'))
url = convertURL(url, null, true);
 
formObj.popupname.value = onClickData['target'];
formObj.popupurl.value = url;
formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
formObj.popupheight.value = getOption(onClickWindowOptions, 'height');
 
formObj.popupleft.value = getOption(onClickWindowOptions, 'left');
formObj.popuptop.value = getOption(onClickWindowOptions, 'top');
 
if (formObj.popupleft.value.indexOf('screen') != -1)
formObj.popupleft.value = "c";
 
if (formObj.popuptop.value.indexOf('screen') != -1)
formObj.popuptop.value = "c";
 
formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes";
formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes";
formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes";
formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes";
formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes";
formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes";
formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes";
 
buildOnClick();
}
}
 
function parseFunction(onclick) {
var formObj = document.forms[0];
var onClickData = parseLink(onclick);
 
// TODO: Add stuff here
}
 
function getOption(opts, name) {
return typeof(opts[name]) == "undefined" ? "" : opts[name];
}
 
function setPopupControlsDisabled(state) {
var formObj = document.forms[0];
 
formObj.popupname.disabled = state;
formObj.popupurl.disabled = state;
formObj.popupwidth.disabled = state;
formObj.popupheight.disabled = state;
formObj.popupleft.disabled = state;
formObj.popuptop.disabled = state;
formObj.popuplocation.disabled = state;
formObj.popupscrollbars.disabled = state;
formObj.popupmenubar.disabled = state;
formObj.popupresizable.disabled = state;
formObj.popuptoolbar.disabled = state;
formObj.popupstatus.disabled = state;
formObj.popupreturn.disabled = state;
formObj.popupdependent.disabled = state;
 
setBrowserDisabled('popupurlbrowser', state);
}
 
function parseLink(link) {
link = link.replace(new RegExp('&#39;', 'g'), "'");
 
var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1");
 
// Is function name a template function
var template = templates[fnName];
if (template) {
// Build regexp
var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi"));
var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\(";
var replaceStr = "";
for (var i=0; i<variableNames.length; i++) {
// Is string value
if (variableNames[i].indexOf("'${") != -1)
regExp += "'(.*)'";
else // Number value
regExp += "([0-9]*)";
 
replaceStr += "$" + (i+1);
 
// Cleanup variable name
variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), "");
 
if (i != variableNames.length-1) {
regExp += "\\s*,\\s*";
replaceStr += "<delim>";
} else
regExp += ".*";
}
 
regExp += "\\);?";
 
// Build variable array
var variables = new Array();
variables["_function"] = fnName;
var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>');
for (var i=0; i<variableNames.length; i++)
variables[variableNames[i]] = variableValues[i];
 
return variables;
}
 
return null;
}
 
function parseOptions(opts) {
if (opts == null || opts == "")
return new Array();
 
// Cleanup the options
opts = opts.toLowerCase();
opts = opts.replace(/;/g, ",");
opts = opts.replace(/[^0-9a-z=,]/g, "");
 
var optionChunks = opts.split(',');
var options = new Array();
 
for (var i=0; i<optionChunks.length; i++) {
var parts = optionChunks[i].split('=');
 
if (parts.length == 2)
options[parts[0]] = parts[1];
}
 
return options;
}
 
function buildOnClick() {
var formObj = document.forms[0];
 
if (!formObj.ispopup.checked) {
formObj.onclick.value = "";
return;
}
 
var onclick = "window.open('";
var url = formObj.popupurl.value;
 
if (tinyMCE.getParam('convert_urls'))
url = convertURL(url, null, true);
 
onclick += url + "','";
onclick += formObj.popupname.value + "','";
 
if (formObj.popuplocation.checked)
onclick += "location=yes,";
 
if (formObj.popupscrollbars.checked)
onclick += "scrollbars=yes,";
 
if (formObj.popupmenubar.checked)
onclick += "menubar=yes,";
 
if (formObj.popupresizable.checked)
onclick += "resizable=yes,";
 
if (formObj.popuptoolbar.checked)
onclick += "toolbar=yes,";
 
if (formObj.popupstatus.checked)
onclick += "status=yes,";
 
if (formObj.popupdependent.checked)
onclick += "dependent=yes,";
 
if (formObj.popupwidth.value != "")
onclick += "width=" + formObj.popupwidth.value + ",";
 
if (formObj.popupheight.value != "")
onclick += "height=" + formObj.popupheight.value + ",";
 
if (formObj.popupleft.value != "") {
if (formObj.popupleft.value != "c")
onclick += "left=" + formObj.popupleft.value + ",";
else
onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',";
}
 
if (formObj.popuptop.value != "") {
if (formObj.popuptop.value != "c")
onclick += "top=" + formObj.popuptop.value + ",";
else
onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',";
}
 
if (onclick.charAt(onclick.length-1) == ',')
onclick = onclick.substring(0, onclick.length-1);
 
onclick += "');";
 
if (formObj.popupreturn.checked)
onclick += "return false;";
 
// tinyMCE.debug(onclick);
 
formObj.onclick.value = onclick;
 
if (formObj.href.value == "")
formObj.href.value = url;
}
 
function setAttrib(elm, attrib, value) {
var formObj = document.forms[0];
var valueElm = formObj.elements[attrib.toLowerCase()];
 
if (typeof(value) == "undefined" || value == null) {
value = "";
 
if (valueElm)
value = valueElm.value;
}
 
if (value != "") {
elm.setAttribute(attrib.toLowerCase(), value);
 
if (attrib == "style")
attrib = "style.cssText";
 
if (attrib.substring(0, 2) == 'on')
value = 'return true;' + value;
 
if (attrib == "class")
attrib = "className";
 
eval('elm.' + attrib + "=value;");
} else
elm.removeAttribute(attrib);
}
 
function getAnchorListHTML(id, target) {
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var nodes = inst.getBody().getElementsByTagName("a"), name, i;
var html = "";
 
html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
html += 'this.options[this.selectedIndex].value;">';
html += '<option value="">---</option>';
 
for (i=0; i<nodes.length; i++) {
if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
html += '<option value="#' + name + '">' + name + '</option>';
}
 
html += '</select>';
 
return html;
}
 
function insertAction() {
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
 
checkPrefix(document.forms[0].href);
 
elm = tinyMCE.getParentElement(elm, "a");
 
tinyMCEPopup.execCommand("mceBeginUndoLevel");
 
// Create new anchor elements
if (elm == null) {
if (tinyMCE.isSafari)
tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.selection.getSelectedHTML() + '</a>');
else
tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
 
var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
for (var i=0; i<elementArray.length; i++) {
var elm = elementArray[i];
 
// Move cursor to end
try {
tinyMCE.selectedInstance.selection.collapse(false);
} catch (ex) {
// Ignore
}
 
// Move cursor behind the new anchor
// Don't remember why this was needed so it's now removed
/*
if (tinyMCE.isGecko) {
var sp = inst.getDoc().createTextNode(" ");
 
if (elm.nextSibling)
elm.parentNode.insertBefore(sp, elm.nextSibling);
else
elm.parentNode.appendChild(sp);
 
// Set range after link
var rng = inst.getDoc().createRange();
rng.setStartAfter(elm);
rng.setEndAfter(elm);
 
// Update selection
var sel = inst.getSel();
sel.removeAllRanges();
sel.addRange(rng);
}
*/
 
setAllAttribs(elm);
}
} else
setAllAttribs(elm);
 
tinyMCE._setEventsEnabled(inst.getBody(), false);
tinyMCEPopup.execCommand("mceEndUndoLevel");
tinyMCEPopup.close();
}
 
function setAllAttribs(elm) {
var formObj = document.forms[0];
var href = formObj.href.value;
var target = getSelectValue(formObj, 'targetlist');
 
// Make anchors absolute
if (href.charAt(0) != '#' && tinyMCE.getParam('convert_urls'))
href = convertURL(href, elm);
 
setAttrib(elm, 'href', href);
setAttrib(elm, 'mce_href', href);
setAttrib(elm, 'title');
setAttrib(elm, 'target', target == '_self' ? '' : target);
setAttrib(elm, 'id');
setAttrib(elm, 'style');
setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
setAttrib(elm, 'rel');
setAttrib(elm, 'rev');
setAttrib(elm, 'charset');
setAttrib(elm, 'hreflang');
setAttrib(elm, 'dir');
setAttrib(elm, 'lang');
setAttrib(elm, 'tabindex');
setAttrib(elm, 'accesskey');
setAttrib(elm, 'type');
setAttrib(elm, 'onfocus');
setAttrib(elm, 'onblur');
setAttrib(elm, 'onclick');
setAttrib(elm, 'ondblclick');
setAttrib(elm, 'onmousedown');
setAttrib(elm, 'onmouseup');
setAttrib(elm, 'onmouseover');
setAttrib(elm, 'onmousemove');
setAttrib(elm, 'onmouseout');
setAttrib(elm, 'onkeypress');
setAttrib(elm, 'onkeydown');
setAttrib(elm, 'onkeyup');
 
// Refresh in old MSIE
if (tinyMCE.isMSIE5)
elm.outerHTML = elm.outerHTML;
}
 
function getSelectValue(form_obj, field_name) {
var elm = form_obj.elements[field_name];
 
if (elm == null || elm.options == null)
return "";
 
return elm.options[elm.selectedIndex].value;
}
 
function getLinkListHTML(elm_id, target_form_element, onchange_func) {
if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0)
return "";
 
var html = "";
 
html += '<select id="' + elm_id + '" name="' + elm_id + '"';
html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
html += 'this.options[this.selectedIndex].value;';
 
if (typeof(onchange_func) != "undefined")
html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
 
html += '"><option value="">---</option>';
 
for (var i=0; i<tinyMCELinkList.length; i++)
html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
 
html += '</select>';
 
return html;
 
// tinyMCE.debug('-- image list start --', html, '-- image list end --');
}
 
function getTargetListHTML(elm_id, target_form_element) {
var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
var html = '';
 
html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
html += 'this.options[this.selectedIndex].value;">';
 
html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
 
for (var i=0; i<targets.length; i++) {
var key, value;
 
if (targets[i] == "")
continue;
 
key = targets[i].split('=')[0];
value = targets[i].split('=')[1];
 
html += '<option value="' + key + '">' + value + ' (' + key + ')</option>';
}
 
html += '</select>';
 
return html;
}
 
// While loading
preinit();
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/editor_plugin_src.js
New file
0,0 → 1,47
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import theme specific language pack */
tinyMCE.importPluginLanguagePack('print');
 
var TinyMCE_PrintPlugin = {
getInfo : function() {
return {
longname : 'Print',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "print":
return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint');
}
 
return "";
},
 
/**
* Executes the search/replace commands.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mcePrint":
tinyMCE.getInstanceById(editor_id).contentWindow.print();
return true;
}
 
// Pass to next handler in chain
return false;
}
};
 
tinyMCE.addPlugin("print", TinyMCE_PrintPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('print');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true}return false}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/langs/fr.js
New file
0,0 → 1,6
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
print_desc : 'Imprimer'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/langs/en.js
New file
0,0 → 1,5
// UK lang variables
 
tinyMCE.addToLang('',{
print_desc : 'Print'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/images/print.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/print/images/print.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('flash');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css")},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update"}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}break;case"insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}var index=0;while((startPos=content.indexOf('<embed',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="'+quality+'" />';embedHTML+='<param name="menu" value="'+menu+'" />';embedHTML+='<param name="wmode" value="'+wmode+'" />';embedHTML+='<embed src="'+attribs["title"]+'" wmode="'+wmode+'" quality="'+quality+'" menu="'+menu+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("flash",TinyMCE_FlashPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/jscripts/flash.js
New file
0,0 → 1,107
var url = tinyMCE.getParam("flash_external_list_url");
if (url != null) {
// Fix relative
if (url.charAt(0) != '/' && url.indexOf('://') == -1)
url = tinyMCE.documentBasePath + "/" + url;
 
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
 
document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash');
 
// Image list outsrc
var html = getFlashListHTML('filebrowser','file','flash','flash');
if (html == "")
document.getElementById("linklistrow").style.display = 'none';
else
document.getElementById("linklistcontainer").innerHTML = html;
 
var formObj = document.forms[0];
var swffile = tinyMCE.getWindowArg('swffile');
var swfwidth = '' + tinyMCE.getWindowArg('swfwidth');
var swfheight = '' + tinyMCE.getWindowArg('swfheight');
 
if (swfwidth.indexOf('%')!=-1) {
formObj.width2.value = "%";
formObj.width.value = swfwidth.substring(0,swfwidth.length-1);
} else {
formObj.width2.value = "px";
formObj.width.value = swfwidth;
}
 
if (swfheight.indexOf('%')!=-1) {
formObj.height2.value = "%";
formObj.height.value = swfheight.substring(0,swfheight.length-1);
} else {
formObj.height2.value = "px";
formObj.height.value = swfheight;
}
 
formObj.file.value = swffile;
formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
 
selectByValue(formObj, 'linklist', swffile);
 
// Handle file browser
if (isVisible('filebrowser'))
document.getElementById('file').style.width = '230px';
 
// Auto select flash in list
if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
for (var i=0; i<formObj.linklist.length; i++) {
if (formObj.linklist.options[i].value == tinyMCE.getWindowArg('swffile'))
formObj.linklist.options[i].selected = true;
}
}
}
 
function getFlashListHTML() {
if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
var html = "";
 
html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.file.value=this.options[this.selectedIndex].value;">';
html += '<option value="">---</option>';
 
for (var i=0; i<tinyMCEFlashList.length; i++)
html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>';
 
html += '</select>';
 
return html;
}
 
return "";
}
 
function insertFlash() {
var formObj = document.forms[0];
var html = '';
var file = formObj.file.value;
var width = formObj.width.value;
var height = formObj.height.value;
if (formObj.width2.value=='%') {
width = width + '%';
}
if (formObj.height2.value=='%') {
height = height + '%';
}
 
if (width == "")
width = 100;
 
if (height == "")
height = 100;
 
html += ''
+ '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" mce_src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
+ 'width="' + width + '" height="' + height + '" '
+ 'border="0" alt="' + file + '" title="' + file + '" class="mceItemFlash" />';
 
tinyMCEPopup.execCommand("mceInsertContent", true, html);
tinyMCE.selectedInstance.repaint();
 
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/flash.htm
New file
0,0 → 1,70
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_flash_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/flash.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<link href="css/flash.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertFlash();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_flash_general}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_flash_general}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td nowrap="nowrap"><label for="file">{$lang_flash_file}</label></td>
<td nowrap="nowrap">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="file" name="file" type="text" value="" onfocus="this.select();" /></td>
<td id="filebrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr id="linklistrow">
<td><label for="linklist">{$lang_flash_list}</label></td>
<td id="linklistcontainer">&nbsp;</td>
</tr>
<tr>
<td nowrap="nowrap"><label>{$lang_flash_size}</label></td>
<td nowrap="nowrap">
<input type="text" id="width" name="width" value="" onfocus="this.select();" />
<select name="width2" id="width2" style="width: 50px">
<option value="">px</option>
<option value="%">%</option>
</select>&nbsp;x&nbsp;<input id="height" name="height" type="text" value="" onfocus="this.select();" />
<select name="height2" id="height2" style="width: 50px">
<option value="">px</option>
<option value="%">%</option>
</select>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertFlash();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/langs/en.js
New file
0,0 → 1,11
// UK lang variables
 
tinyMCE.addToLang('flash',{
title : 'Insert / edit Flash Movie',
desc : 'Insert / edit Flash Movie',
file : 'Flash-File (.swf)',
size : 'Size',
list : 'Flash files',
props : 'Flash properties',
general : 'General'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/langs/fr.js
New file
0,0 → 1,12
// FR lang variables
// Modified by keyko-web.net, last updated 2007-03-08, based on the work of Motte
 
tinyMCE.addToLang('flash',{
title : 'Gestionnaire d\'animation Flash',
desc : 'Ins&eacute;rer une animation Flash',
file : 'Fichier Flash (.swf)',
size : 'Taille',
list : 'Liste des fichiers Flash',
props : 'Propri&eacute;t&eacute;s Flash',
general : 'G&eacute;n&eacute;ral'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/images/flash.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/images/flash.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/editor_plugin_src.js
New file
0,0 → 1,285
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('flash');
 
var TinyMCE_FlashPlugin = {
getInfo : function() {
return {
longname : 'Flash',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
if (!tinyMCE.settings['flash_skip_plugin_css'])
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/css/content.css");
},
 
getControlHTML : function(cn) {
switch (cn) {
case "flash":
return tinyMCE.getButtonHTML(cn, 'lang_flash_desc', '{$pluginurl}/images/flash.gif', 'mceFlash');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceFlash":
var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
var template = new Array();
var inst = tinyMCE.getInstanceById(editor_id);
var focusElm = inst.getFocusElement();
 
template['file'] = '../../plugins/flash/flash.htm'; // Relative to theme
template['width'] = 430;
template['height'] = 175;
 
template['width'] += tinyMCE.getLang('lang_flash_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_flash_delta_height', 0);
 
// Is selection a image
if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
name = tinyMCE.getAttrib(focusElm, 'class');
 
if (name.indexOf('mceItemFlash') == -1) // Not a Flash
return true;
 
// Get rest of Flash items
swffile = tinyMCE.getAttrib(focusElm, 'alt');
 
if (tinyMCE.getParam('convert_urls'))
swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
 
swfwidth = tinyMCE.getAttrib(focusElm, 'width');
swfheight = tinyMCE.getAttrib(focusElm, 'height');
action = "update";
}
 
tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
return true;
}
 
// Pass to next handler in chain
return false;
},
 
cleanup : function(type, content) {
switch (type) {
case "insert_to_editor_dom":
// Force relative/absolute
if (tinyMCE.getParam('convert_urls')) {
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
var src = tinyMCE.getAttrib(imgs[i], "alt");
 
if (tinyMCE.getParam('convert_urls'))
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
 
imgs[i].setAttribute('alt', src);
imgs[i].setAttribute('title', src);
}
}
}
break;
 
case "get_from_editor_dom":
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
var src = tinyMCE.getAttrib(imgs[i], "alt");
 
if (tinyMCE.getParam('convert_urls'))
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
 
imgs[i].setAttribute('alt', src);
imgs[i].setAttribute('title', src);
}
}
break;
 
case "insert_to_editor":
var startPos = 0;
var embedList = new Array();
 
// Fix the embed and object elements
content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
 
// Parse all embed tags
while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
var endPos = content.indexOf('>', startPos);
var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos));
embedList[embedList.length] = attribs;
}
 
// Parse all object tags and replace them with images from the embed data
var index = 0;
while ((startPos = content.indexOf('<object', startPos)) != -1) {
if (index >= embedList.length)
break;
 
var attribs = embedList[index];
 
// Find end of object
endPos = content.indexOf('</object>', startPos);
endPos += 9;
 
// Insert image
var contentAfter = content.substring(endPos);
content = content.substring(0, startPos);
content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
content += contentAfter;
index++;
 
startPos++;
}
 
// Parse all embed tags and replace them with images from the embed data
var index = 0;
while ((startPos = content.indexOf('<embed', startPos)) != -1) {
if (index >= embedList.length)
break;
 
var attribs = embedList[index];
 
// Find end of embed
endPos = content.indexOf('>', startPos);
endPos += 9;
 
// Insert image
var contentAfter = content.substring(endPos);
content = content.substring(0, startPos);
content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
content += contentAfter;
index++;
 
startPos++;
}
 
break;
 
case "get_from_editor":
// Parse all img tags and replace them with object+embed
var startPos = -1;
 
while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
var endPos = content.indexOf('/>', startPos);
var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos));
 
// Is not flash, skip it
if (attribs['class'] != "mceItemFlash")
continue;
 
endPos += 2;
 
var embedHTML = '';
var wmode = tinyMCE.getParam("flash_wmode", "");
var quality = tinyMCE.getParam("flash_quality", "high");
var menu = tinyMCE.getParam("flash_menu", "false");
 
// Insert object + embed
embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
embedHTML += '<param name="quality" value="' + quality + '" />';
embedHTML += '<param name="menu" value="' + menu + '" />';
embedHTML += '<param name="wmode" value="' + wmode + '" />';
embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
 
// Insert embed/object chunk
chunkBefore = content.substring(0, startPos);
chunkAfter = content.substring(endPos);
content = chunkBefore + embedHTML + chunkAfter;
}
break;
}
 
// Pass through to next handler in chain
return content;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (node == null)
return;
 
do {
if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) {
tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected');
return true;
}
} while ((node = node.parentNode));
 
tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal');
 
return true;
},
 
// Private plugin internal functions
 
_parseAttributes : function(attribute_string) {
var attributeName = "";
var attributeValue = "";
var withInName;
var withInValue;
var attributes = new Array();
var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
 
if (attribute_string == null || attribute_string.length < 2)
return null;
 
withInName = withInValue = false;
 
for (var i=0; i<attribute_string.length; i++) {
var chr = attribute_string.charAt(i);
 
if ((chr == '"' || chr == "'") && !withInValue)
withInValue = true;
else if ((chr == '"' || chr == "'") && withInValue) {
withInValue = false;
 
var pos = attributeName.lastIndexOf(' ');
if (pos != -1)
attributeName = attributeName.substring(pos+1);
 
attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
 
attributeName = "";
attributeValue = "";
} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
withInName = true;
 
if (chr == '=' && withInName)
withInName = false;
 
if (withInName)
attributeName += chr;
 
if (withInValue)
attributeValue += chr;
}
 
return attributes;
}
};
 
tinyMCE.addPlugin("flash", TinyMCE_FlashPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/css/content.css
New file
0,0 → 1,7
.mceItemFlash {
border: 1px dotted #cc0000;
background-image: url('../images/flash.gif');
background-position: center;
background-repeat: no-repeat;
background-color: #ffffcc;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/css/flash.css
New file
0,0 → 1,11
.panel_wrapper div.current {
height: 100px;
}
 
#width, #height {
width: 50px;
}
 
#file {
width: 250px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/flash/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('emotions');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/jscripts/functions.js
New file
0,0 → 1,21
function init() {
tinyMCEPopup.resizeToInnerSize();
}
 
function insertEmotion(file_name, title) {
title = tinyMCE.getLang(title);
 
if (title == null)
title = "";
 
// XML encode
title = title.replace(/&/g, '&amp;');
title = title.replace(/\"/g, '&quot;');
title = title.replace(/</g, '&lt;');
title = title.replace(/>/g, '&gt;');
 
var html = '<img src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" mce_src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" border="0" alt="' + title + '" title="' + title + '" />';
 
tinyMCE.execCommand('mceInsertContent', false, html);
tinyMCEPopup.close();
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/emotions.htm
New file
0,0 → 1,40
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_emotions_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<div align="center">
<div class="title">{$lang_emotions_title}:<br /><br /></div>
 
<table border="0" cellspacing="0" cellpadding="4">
<tr>
<td><a href="javascript:insertEmotion('smiley-cool.gif','lang_emotions_cool');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" alt="{$lang_emotions_cool}" title="{$lang_emotions_cool}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-cry.gif','lang_emotions_cry');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" alt="{$lang_emotions_cry}" title="{$lang_emotions_cry}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-embarassed.gif','lang_emotions_embarassed');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" alt="{$lang_emotions_embarassed}" title="{$lang_emotions_embarassed}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-foot-in-mouth.gif','lang_emotions_foot_in_mouth');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_foot_in_mouth}" title="{$lang_emotions_foot_in_mouth}" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-frown.gif','lang_emotions_frown');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" alt="{$lang_emotions_frown}" title="{$lang_emotions_frown}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-innocent.gif','lang_emotions_innocent');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" alt="{$lang_emotions_innocent}" title="{$lang_emotions_innocent}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-kiss.gif','lang_emotions_kiss');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" alt="{$lang_emotions_kiss}" title="{$lang_emotions_kiss}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-laughing.gif','lang_emotions_laughing');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" alt="{$lang_emotions_laughing}" title="{$lang_emotions_laughing}" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-money-mouth.gif','lang_emotions_money_mouth');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_money_mouth}" title="{$lang_emotions_money_mouth}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-sealed.gif','lang_emotions_sealed');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" alt="{$lang_emotions_sealed}" title="{$lang_emotions_sealed}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-smile.gif','lang_emotions_smile');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" alt="{$lang_emotions_smile}" title="{$lang_emotions_smile}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-surprised.gif','lang_emotions_surprised');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" alt="{$lang_emotions_surprised}" title="{$lang_emotions_surprised}" /></a></td>
</tr>
<tr>
<td><a href="javascript:insertEmotion('smiley-tongue-out.gif','lang_emotions_tongue_out');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{$lang_emotions_tongue-out}" title="{$lang_emotions_tongue_out}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-undecided.gif','lang_emotions_undecided');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" alt="{$lang_emotions_undecided}" title="{$lang_emotions_undecided}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-wink.gif','lang_emotions_wink');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" alt="{$lang_emotions_wink}" title="{$lang_emotions_wink}" /></a></td>
<td><a href="javascript:insertEmotion('smiley-yell.gif','lang_emotions_yell');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" alt="{$lang_emotions_yell}" title="{$lang_emotions_yell}" /></a></td>
</tr>
</table>
</div>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/langs/en.js
New file
0,0 → 1,22
// UK lang variables
 
tinyMCE.addToLang('emotions',{
title : 'Insert emotion',
desc : 'Emotions',
cool : 'Cool',
cry : 'Cry',
embarassed : 'Embarassed',
foot_in_mouth : 'Foot in mouth',
frown : 'Frown',
innocent : 'Innocent',
kiss : 'Kiss',
laughing : 'Laughing',
money_mouth : 'Money mouth',
sealed : 'Sealed',
smile : 'Smile',
surprised : 'Surprised',
tongue_out : 'Tongue out',
undecided : 'Undecided',
wink : 'Wink',
yell : 'Yell'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/langs/fr.js
New file
0,0 → 1,23
// FR lang variables
// Modified by keyko-web.net, last updated 2007-03-08, based on the work of Motte
 
tinyMCE.addToLang('emotions',{
title : 'Choisir une &eacute;motic&ocirc;ne',
desc : 'Ins&eacute;rer une &eacute;motic&ocirc;ne',
cool : 'Cool',
cry : 'Triste',
embarassed : 'Embarrass&eacute;',
foot_in_mouth : 'Oups !',
frown : 'M&eacute;content',
innocent : 'Innocent',
kiss : 'Bisou',
laughing : 'Mort de rire',
money_mouth : 'Sensur&eacute;',
sealed : 'Motus',
smile : 'Sourire',
surprised : 'Surprise',
tongue_out : 'Moqueur',
undecided : 'Perplexe',
wink : 'Clin d\'oeil',
yell : 'Horreur !'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-yell.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-yell.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/readme.txt
New file
0,0 → 1,2
These emotions where taken from Mozilla Thunderbird.
I hope they don't get angry if I use them here after all this is a open source project aswell.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-wink.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-wink.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-smile.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-smile.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-frown.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-frown.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-cool.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-cool.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/emotions.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/emotions.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-cry.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-cry.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js
New file
0,0 → 1,63
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('emotions');
 
// Plucin static class
var TinyMCE_EmotionsPlugin = {
getInfo : function() {
return {
longname : 'Emotions',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
/**
* Returns the HTML contents of the emotions control.
*/
getControlHTML : function(cn) {
switch (cn) {
case "emotions":
return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion');
}
 
return "";
},
 
/**
* Executes the mceEmotion command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceEmotion":
var template = new Array();
 
template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
template['width'] = 250;
template['height'] = 160;
 
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
 
tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
 
return true;
}
 
// Pass to next handler in chain
return false;
}
};
 
// Register plugin
tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('nonbreaking');var TinyMCE_NonBreakingPlugin={getInfo:function(){return{longname:'Nonbreaking space',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"nonbreaking":return tinyMCE.getButtonHTML(cn,'lang_nonbreaking_desc','{$pluginurl}/images/nonbreaking.gif','mceNonBreaking',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),h;switch(command){case"mceNonBreaking":h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;</span>':'&nbsp;';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,h);return true}return false},handleEvent:function(e){var inst,h;if(!tinyMCE.isOpera&&e.type=='keydown'&&e.keyCode==9&&tinyMCE.getParam('nonbreaking_force_tab',false)){inst=tinyMCE.selectedInstance;h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>':'&nbsp;&nbsp;&nbsp;';tinyMCE.execInstanceCommand(inst.editorId,'mceInsertContent',false,h);tinyMCE.cancelEvent(e);return false}return true}};tinyMCE.addPlugin("nonbreaking",TinyMCE_NonBreakingPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/nonbreaking/langs/en.js
New file
0,0 → 1,5
// UK lang variables
 
tinyMCE.addToLang('nonbreaking',{
desc : 'Insert non-breaking space character'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
New file
0,0 → 1,62
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('nonbreaking');
 
var TinyMCE_NonBreakingPlugin = {
getInfo : function() {
return {
longname : 'Nonbreaking space',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "nonbreaking":
return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);
}
 
return "";
},
 
 
execCommand : function(editor_id, element, command, user_interface, value) {
var inst = tinyMCE.getInstanceById(editor_id), h;
 
switch (command) {
case "mceNonBreaking":
h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';
tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);
return true;
}
 
return false;
},
 
handleEvent : function(e) {
var inst, h;
 
if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {
inst = tinyMCE.selectedInstance;
 
h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';
tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);
 
tinyMCE.cancelEvent(e);
return false;
}
 
return true;
}
};
 
tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/langs/en.js
New file
0,0 → 1,6
// UK lang variables
 
tinyMCE.addToLang('',{
save_desc : 'Save',
cancel_desc : 'Cancel all changes'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/langs/fr.js
New file
0,0 → 1,6
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
save_desc : 'Enregistrer'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/images/save.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/images/save.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/images/cancel.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/images/cancel.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/editor_plugin_src.js
New file
0,0 → 1,152
/**
* $Id: editor_plugin_src.js 251 2007-04-10 20:16:15Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('save');
 
var TinyMCE_SavePlugin = {
getInfo : function() {
return {
longname : 'Save',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave');
},
 
/**
* Returns the HTML contents of the save control.
*/
getControlHTML : function(cn) {
switch (cn) {
case "save":
return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave');
 
case "cancel":
return tinyMCE.getButtonHTML(cn, 'lang_cancel_desc', '{$pluginurl}/images/cancel.gif', 'mceCancel');
}
 
return "";
},
 
/**
* Executes the save command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceSave":
return this._save(editor_id, element, command, user_interface, value);
 
case "mceCancel":
return this._cancel(editor_id, element, command, user_interface, value);
}
 
// Pass to next handler in chain
return false;
},
 
_save : function(editor_id, element, command, user_interface, value) {
var inst, formObj, os, i, elementId;
 
if (tinyMCE.getParam("fullscreen_is_enabled"))
return true;
 
inst = tinyMCE.selectedInstance;
formObj = inst.formElement.form;
 
if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())
return true;
 
if (formObj) {
tinyMCE.triggerSave();
 
// Use callback instead
if ((os = tinyMCE.getParam("save_onsavecallback"))) {
if (eval(os + '(inst);')) {
inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
/*inst.undoLevels = new Array();
inst.undoIndex = 0;
inst.typingUndoIndex = -1;
inst.undoRedo = true;
inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/
tinyMCE.triggerNodeChange(false, true);
}
 
return true;
}
 
// Disable all UI form elements that TinyMCE created
for (i=0; i<formObj.elements.length; i++) {
elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
 
if (elementId.indexOf('mce_editor_') == 0)
formObj.elements[i].disabled = true;
}
 
inst.isNotDirty = true;
 
if (formObj.onsubmit == null || formObj.onsubmit() != false)
inst.formElement.form.submit();
 
tinyMCE.triggerNodeChange(false, true);
} else
alert("Error: No form element found.");
 
return true;
},
 
_cancel : function(editor_id, element, command, user_interface, value) {
var inst = tinyMCE.getInstanceById(editor_id), os, h = tinyMCE.trim(inst.startContent);
 
// Use callback instead
if ((os = tinyMCE.getParam("save_oncancelcallback"))) {
if (eval(os + '(inst);'))
return true;
}
 
inst.setHTML(h);
 
inst.undoRedo.undoLevels = [];
inst.undoRedo.add({ content : h });
inst.undoRedo.undoIndex = 0;
inst.undoRedo.typingUndoIndex = -1;
 
tinyMCE.triggerNodeChange(false, true);
 
return true;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
var inst;
 
if (tinyMCE.getParam("fullscreen_is_enabled")) {
tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
return true;
}
 
if (tinyMCE.getParam("save_enablewhendirty")) {
inst = tinyMCE.getInstanceById(editor_id);
 
if (inst.isDirty()) {
tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal');
return true;
}
 
tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
}
 
return true;
}
};
 
tinyMCE.addPlugin("save", TinyMCE_SavePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/save/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('save');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave')},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave');case"cancel":return tinyMCE.getButtonHTML(cn,'lang_cancel_desc','{$pluginurl}/images/cancel.gif','mceCancel')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":return this._save(editor_id,element,command,user_interface,value);case"mceCancel":return this._cancel(editor_id,element,command,user_interface,value)}return false},_save:function(editor_id,element,command,user_interface,value){var inst,formObj,os,i,elementId;if(tinyMCE.getParam("fullscreen_is_enabled"))return true;inst=tinyMCE.selectedInstance;formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true)}return true}for(i=0;i<formObj.elements.length;i++){elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true}inst.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)inst.formElement.form.submit();tinyMCE.triggerNodeChange(false,true)}else alert("Error: No form element found.");return true},_cancel:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),os,h=tinyMCE.trim(inst.startContent);if((os=tinyMCE.getParam("save_oncancelcallback"))){if(eval(os+'(inst);'))return true}inst.setHTML(h);inst.undoRedo.undoLevels=[];inst.undoRedo.add({content:h});inst.undoRedo.undoIndex=0;inst.undoRedo.typingUndoIndex=-1;tinyMCE.triggerNodeChange(false,true);return true},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst;if(tinyMCE.getParam("fullscreen_is_enabled")){tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled');return true}if(tinyMCE.getParam("save_enablewhendirty")){inst=tinyMCE.getInstanceById(editor_id);if(inst.isDirty()){tinyMCE.switchClass(editor_id+'_save','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled')}return true}};tinyMCE.addPlugin("save",TinyMCE_SavePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/langs/en.js
New file
0,0 → 1,66
// UK lang variables
 
tinyMCE.addToLang('style',{
title : 'Edit CSS Style',
styleinfo_desc : 'Edit CSS Style',
apply : 'Apply',
text_tab : 'Text',
background_tab : 'Background',
block_tab : 'Block',
box_tab : 'Box',
border_tab : 'Border',
list_tab : 'List',
positioning_tab : 'Positioning',
text_props : 'Text',
text_font : 'Font',
text_size : 'Size',
text_weight : 'Weight',
text_style : 'Style',
text_variant : 'Variant',
text_lineheight : 'Line height',
text_case : 'Case',
text_color : 'Color',
text_decoration : 'Decoration',
text_overline : 'overline',
text_underline : 'underline',
text_striketrough : 'strikethrough',
text_blink : 'blink',
text_none : 'none',
background_color : 'Background color',
background_image : 'Background image',
background_repeat : 'Repeat',
background_attachment : 'Attachment',
background_hpos : 'Horizontal position',
background_vpos : 'Vertical position',
block_wordspacing : 'Word spacing',
block_letterspacing : 'Letter spacing',
block_vertical_alignment : 'Vertical alignment',
block_text_align : 'Text align',
block_text_indent : 'Text indent',
block_whitespace : 'Whitespace',
block_display : 'Display',
box_width : 'Width',
box_height : 'Height',
box_float : 'Float',
box_clear : 'Clear',
padding : 'Padding',
same : 'Same for all',
top : 'Top',
right : 'Right',
bottom : 'Bottom',
left : 'Left',
margin : 'Margin',
style : 'Style',
width : 'Width',
height : 'Height',
color : 'Color',
list_type : 'Type',
bullet_image : 'Bullet image',
position : 'Position',
positioning_type : 'Type',
visibility : 'Visibility',
zindex : 'Z-index',
overflow : 'Overflow',
placement : 'Placement',
clip : 'Clip'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/langs/fr.js
New file
0,0 → 1,67
// FR lang variables
// Modified by keyko-web.net, last updated 2007-03-08
 
tinyMCE.addToLang('style',{
title : 'Edtiteur de style CSS',
styleinfo_desc : 'Edtiteur de style CSS',
apply : 'Appliquer',
text_tab : 'Texte',
background_tab : 'Arri&egrave;re-plan',
block_tab : 'Bloc',
box_tab : 'Boite',
border_tab : 'Bord',
list_tab : 'Liste',
positioning_tab : 'Positionnement',
text_props : 'Texte',
text_font : 'Police',
text_size : 'Taille',
text_weight : 'Poids',
text_style : 'Style',
text_variant : 'Variant',
text_lineheight : 'Hauteur de ligne',
text_case : 'Casse',
text_color : 'Couleur',
text_decoration : 'D&eacute;coration',
text_overline : 'surlign&eacute;',
text_underline : 'soulign&eacute;',
text_striketrough : 'barr&eacute;',
text_blink : 'clignotant',
text_none : 'aucun',
background_color : 'Couleur d\'arri&egrave;re-plan',
background_image : 'Image d\'arri&egrave;re-plan',
background_repeat : 'R&eacute;p&eacute;ter',
background_attachment : 'Attacher',
background_hpos : 'Position horizontale',
background_vpos : 'Position verticale',
block_wordspacing : 'Espace entre les mots',
block_letterspacing : 'Espace entre les lettres',
block_vertical_alignment : 'Aligenement vertical',
block_text_align : 'Aligement du texte',
block_text_indent : 'Indentation du texte',
block_whitespace : 'Espace',
block_display : 'Afficher',
box_width : 'Largeur',
box_height : 'Hauteur',
box_float : 'Float',
box_clear : 'Effacer',
padding : 'Padding',
same : 'Identique pour tous',
top : 'Haut',
right : 'Droite',
bottom : 'Bas',
left : 'Gauche',
margin : 'Marge',
style : 'Style',
width : 'Largeur',
height : 'Hauteur',
color : 'Couleur',
list_type : 'Type',
bullet_image : 'Bullet image',
position : 'Position',
positioning_type : 'Type',
visibility : 'Visibilit&eacute;',
zindex : 'Z-index',
overflow : 'Overflow',
placement : 'Placement',
clip : 'Clip'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/images/styleprops.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/images/styleprops.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/images/apply_button_bg.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/images/apply_button_bg.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/images/style_info.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/images/style_info.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/editor_plugin_src.js
New file
0,0 → 1,83
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('style');
 
var TinyMCE_StylePlugin = {
getInfo : function() {
return {
longname : 'Style',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "styleprops":
return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/styleprops.gif', 'mceStyleProps', true);
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
var e, inst;
 
// Handle commands
switch (command) {
case "mceStyleProps":
TinyMCE_StylePlugin._styleProps();
return true;
 
case "mceSetElementStyle":
inst = tinyMCE.getInstanceById(editor_id);
e = inst.selection.getFocusElement();
 
if (e) {
e.style.cssText = value;
inst.repaint();
}
 
return true;
}
 
// Pass to next handler in chain
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (node.nodeName == 'BODY')
tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonDisabled');
else
tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonNormal');
},
 
// Private plugin specific methods
 
_styleProps : function() {
var e = tinyMCE.selectedInstance.selection.getFocusElement();
 
if (!e || e.nodeName == 'BODY')
return;
 
tinyMCE.openWindow({
file : '../../plugins/style/props.htm',
width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
}, {
editor_id : tinyMCE.selectedInstance.editorId,
inline : "yes",
style_text : e.style.cssText
});
}
};
 
tinyMCE.addPlugin("style", TinyMCE_StylePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/css/props.css
New file
0,0 → 1,62
#text_font {
width: 250px;
}
 
#text_size {
width: 70px;
}
 
.mceAddSelectValue {
background-color: #DDDDDD;
}
 
select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
width: 70px;
}
 
#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
width: 70px;
}
 
#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
width: 70px;
}
 
#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
width: 70px;
}
 
.panel_wrapper div.current {
padding-top: 10px;
height: 230px;
}
 
.delim {
border-left: 1px solid gray;
}
 
.tdelim {
border-bottom: 1px solid gray;
}
 
#block_display {
width: 145px;
}
 
#list_type {
width: 115px;
}
 
.disabled {
background-color: #EEEEEE;
}
 
#apply {
font-weight: bold;
width: 78px;
height: 21px;
border: 0;
background-image: url('../images/apply_button_bg.gif');
cursor: pointer;
}
 
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/props.htm
New file
0,0 → 1,729
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_style_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
<link href="css/props.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
 
<body id="styleprops" onLoad="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onSubmit="updateAction();return false;" action="#">
<div class="tabs">
<ul>
<li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{$lang_style_text_tab}</a></span></li>
<li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{$lang_style_background_tab}</a></span></li>
<li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{$lang_style_block_tab}</a></span></li>
<li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{$lang_style_box_tab}</a></span></li>
<li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{$lang_style_border_tab}</a></span></li>
<li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{$lang_style_list_tab}</a></span></li>
<li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{$lang_style_positioning_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="text_panel" class="panel current">
<table border="0" width="100%">
<tr>
<td><label for="text_font">{$lang_style_text_font}</label></td>
<td colspan="3">
<select id="text_font" name="text_font" class="mceEditableSelect" onChange="alert(this.options[this.selectedIndex].value);"></select>
</td>
</tr>
<tr>
<td><label for="text_size">{$lang_style_text_size}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td>
<td>&nbsp;</td>
<td><select id="text_size_measurement" name="text_size_measurement"></select></td>
</tr>
</table>
</td>
<td><label for="text_weight">{$lang_style_text_weight}</label></td>
<td>
<select id="text_weight" name="text_weight"></select>
</td>
</tr>
<tr>
<td><label for="text_style">{$lang_style_text_style}</label></td>
<td>
<select id="text_style" name="text_style" class="mceEditableSelect"></select>
</td>
<td><label for="text_variant">{$lang_style_text_variant}</label></td>
<td>
<select id="text_variant" name="text_variant"></select>
</td>
</tr>
<tr>
<td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
</td>
<td>&nbsp;</td>
<td><select id="text_lineheight_measurement" name="text_lineheight_measurement"></select></td>
</tr>
</table>
</td>
<td><label for="text_case">{$lang_style_text_case}</label></td>
<td>
<select id="text_case" name="text_case"></select>
</td>
</tr>
<tr>
<td><label for="text_color">{$lang_style_text_color}</label></td>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="text_color" name="text_color" type="text" value="" size="9" onChange="updateColor('text_color_pick','text_color');" /></td>
<td id="text_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" style="vertical-align: top; padding-top: 3px;">{$lang_style_text_decoration}</td>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td>
<td><label for="text_underline">{$lang_style_text_underline}</label></td>
</tr>
<tr>
<td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td>
<td><label for="text_overline">{$lang_style_text_overline}</label></td>
</tr>
<tr>
<td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td>
<td><label for="text_linethrough">{$lang_style_text_striketrough}</label></td>
</tr>
<tr>
<td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td>
<td><label for="text_blink">{$lang_style_text_blink}</label></td>
</tr>
<tr>
<td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td>
<td><label for="text_none">{$lang_style_text_none}</label></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
 
<div id="background_panel" class="panel">
<table border="0">
<tr>
<td><label for="background_color">{$lang_style_background_color}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="background_color" name="background_color" type="text" value="" size="9" onChange="updateColor('background_color_pick','background_color');" /></td>
<td id="background_color_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="background_image">{$lang_style_background_image}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="background_image" name="background_image" type="text" /></td>
<td id="background_image_browser">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
<td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
<td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
<td>&nbsp;</td>
<td><select id="background_hpos_measurement" name="background_hpos_measurement"></select></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
<td>&nbsp;</td>
<td><select id="background_vpos_measurement" name="background_vpos_measurement"></select></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
 
<div id="block_panel" class="panel">
<table border="0">
<tr>
<td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
<td>&nbsp;</td>
<td><select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
<td>&nbsp;</td>
<td><select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
<td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
<td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
<td>&nbsp;</td>
<td><select id="block_text_indent_measurement" name="block_text_indent_measurement"></select></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
<td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="block_display">{$lang_style_block_display}</label></td>
<td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
</tr>
</table>
</div>
 
<div id="box_panel" class="panel">
<table border="0">
<tr>
<td><label for="box_width">{$lang_style_box_width}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td>
<td>&nbsp;</td>
<td><select id="box_width_measurement" name="box_width_measurement"></select></td>
</tr>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
<td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="box_height">{$lang_style_box_height}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td>
<td>&nbsp;</td>
<td><select id="box_height_measurement" name="box_height_measurement"></select></td>
</tr>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
<td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
</tr>
</table>
<div style="float: left; width: 49%">
<fieldset>
<legend>{$lang_style_padding}</legend>
 
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td><label for="box_padding_top">{$lang_style_top}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
<td>&nbsp;</td>
<td><select id="box_padding_top_measurement" name="box_padding_top_measurement"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="box_padding_right">{$lang_style_right}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="box_padding_left">{$lang_style_left}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
 
<div style="float: right; width: 49%">
<fieldset>
<legend>{$lang_style_margin}</legend>
 
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td><label for="box_margin_top">{$lang_style_top}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
<td>&nbsp;</td>
<td><select id="box_margin_top_measurement" name="box_margin_top_measurement"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="box_margin_right">{$lang_style_right}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><label for="box_margin_left">{$lang_style_left}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
<br style="clear: both" />
</div>
 
<div id="border_panel" class="panel">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="tdelim">&nbsp;</td>
<td class="tdelim delim">&nbsp;</td>
<td class="tdelim">{$lang_style_style}</td>
<td class="tdelim delim">&nbsp;</td>
<td class="tdelim">{$lang_style_width}</td>
<td class="tdelim delim">&nbsp;</td>
<td class="tdelim">{$lang_style_color}</td>
</tr>
 
<tr>
<td>&nbsp;</td>
<td class="delim">&nbsp;</td>
<td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
<td class="delim">&nbsp;</td>
<td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
<td class="delim">&nbsp;</td>
<td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
</tr>
 
<tr>
<td>{$lang_style_top}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
<td>&nbsp;</td>
<td><select id="border_width_top_measurement" name="border_width_top_measurement"></select></td>
</tr>
</table>
</td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onChange="updateColor('border_color_top_pick','border_color_top');" /></td>
<td id="border_color_top_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td>{$lang_style_right}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
<td>&nbsp;</td>
<td><select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onChange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td>
<td id="border_color_right_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td>{$lang_style_bottom}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
<td>&nbsp;</td>
<td><select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onChange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td>
<td id="border_color_bottom_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td>{$lang_style_left}</td>
<td class="delim">&nbsp;</td>
<td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
<td>&nbsp;</td>
<td><select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
<td class="delim">&nbsp;</td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onChange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td>
<td id="border_color_left_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
 
<div id="list_panel" class="panel">
<table border="0">
<tr>
<td><label for="list_type">{$lang_style_list_type}</label></td>
<td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
<td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
</tr>
 
<tr>
<td><label for="list_position">{$lang_style_position}</label></td>
<td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
</tr>
</table>
</div>
 
<div id="positioning_panel" class="panel">
<table border="0">
<tr>
<td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
<td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
<td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
<td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
</tr>
 
<tr>
<td><label for="positioning_width">{$lang_style_width}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td>
<td>&nbsp;</td>
<td><select id="positioning_width_measurement" name="positioning_width_measurement"></select></td>
</tr>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
<td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
</tr>
 
<tr>
<td><label for="positioning_height">{$lang_style_height}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td>
<td>&nbsp;</td>
<td><select id="positioning_height_measurement" name="positioning_height_measurement"></select></td>
</tr>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
<td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
</tr>
</table>
 
<div style="float: left; width: 49%">
<fieldset>
<legend>{$lang_style_placement}</legend>
 
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td>{$lang_style_top}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
<td>&nbsp;</td>
<td><select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_right}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_bottom}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_left}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
 
<div style="float: right; width: 49%">
<fieldset>
<legend>{$lang_style_clip}</legend>
 
<table border="0">
<tr>
<td>&nbsp;</td>
<td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
</tr>
<tr>
<td>{$lang_style_top}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
<td>&nbsp;</td>
<td><select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_right}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_bottom}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>{$lang_style_left}</td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
<td>&nbsp;</td>
<td><select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select></td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
<br style="clear: both" />
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onClick="updateAction();" /></div>
 
<div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="{$lang_style_apply}" onClick="applyAction();" class="updateButton" /></div>
<br style="clear: both" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onClick="tinyMCEPopup.close();" />
</div>
</div>
</form>
 
<div style="display: none">
<div id="container"></div>
</div>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('style');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/styleprops.gif','mceStyleProps',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint()}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.nodeName=='BODY')tinyMCE.switchClass(editor_id+'_styleprops','mceButtonDisabled');else tinyMCE.switchClass(editor_id+'_styleprops','mceButtonNormal')},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e||e.nodeName=='BODY')return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText})}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/style/jscripts/props.js
New file
0,0 → 1,633
var defaultFonts = "" +
"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" +
"Times New Roman, Times, serif=Times New Roman, Times, serif;" +
"Courier New, Courier, mono=Courier New, Courier, mono;" +
"Times New Roman, Times, serif=Times New Roman, Times, serif;" +
"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" +
"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" +
"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
 
var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
var defaultTextStyle = "normal;italic;oblique";
var defaultVariant = "normal;small-caps";
var defaultLineHeight = "normal";
var defaultAttachment = "fixed;scroll";
var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
var defaultPosH = "left;center;right";
var defaultPosV = "top;center;bottom";
var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
var defaultBorderWidth = "thin;medium;thick";
var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
 
function init() {
var ce = document.getElementById('container'), h;
 
ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
 
h = getBrowserHTML('background_image_browser','background_image','image','advimage');
document.getElementById("background_image_browser").innerHTML = h;
 
tinyMCEPopup.resizeToInnerSize();
 
document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');
 
fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);
 
fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);
 
fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);
 
fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);
 
fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);
 
fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);
 
fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);
 
fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);
 
fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);
 
fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);
 
fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);
 
fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);
 
fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);
 
fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);
 
TinyMCE_EditableSelects.init();
setupFormData();
showDisabledControls();
}
 
function setupFormData() {
var ce = document.getElementById('container'), f = document.forms[0], s, b, i;
 
// Setup text fields
 
selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
selectByValue(f, 'text_case', ce.style.textTransform, true, true);
selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
f.text_color.value = ce.style.color;
updateColor('text_color_pick', 'text_color');
f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');
 
// Setup background fields
 
f.background_color.value = ce.style.backgroundColor;
updateColor('background_color_pick', 'background_color');
f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));
 
// Setup block fields
 
selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
f.block_text_indent.value = getNum(ce.style.textIndent);
selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
selectByValue(f, 'block_display', ce.style.display, true, true);
 
// Setup box fields
 
f.box_width.value = getNum(ce.style.width);
selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));
 
f.box_height.value = getNum(ce.style.height);
selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
 
if (tinyMCE.isGecko)
selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
else
selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
 
selectByValue(f, 'box_clear', ce.style.clear, true, true);
 
setupBox(f, ce, 'box_padding', 'padding', '');
setupBox(f, ce, 'box_margin', 'margin', '');
 
// Setup border fields
 
setupBox(f, ce, 'border_style', 'border', 'Style');
setupBox(f, ce, 'border_width', 'border', 'Width');
setupBox(f, ce, 'border_color', 'border', 'Color');
 
updateColor('border_color_top_pick', 'border_color_top');
updateColor('border_color_right_pick', 'border_color_right');
updateColor('border_color_bottom_pick', 'border_color_bottom');
updateColor('border_color_left_pick', 'border_color_left');
 
// Setup list fields
 
selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
 
// Setup box fields
 
selectByValue(f, 'positioning_type', ce.style.position, true, true);
selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";
 
f.positioning_width.value = getNum(ce.style.width);
selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));
 
f.positioning_height.value = getNum(ce.style.height);
selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));
 
setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left'));
 
s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
s = s.replace(/,/g, ' ');
 
if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) {
f.positioning_clip_top.value = getNum(getVal(s, 0));
selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
f.positioning_clip_right.value = getNum(getVal(s, 1));
selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
f.positioning_clip_bottom.value = getNum(getVal(s, 2));
selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
f.positioning_clip_left.value = getNum(getVal(s, 3));
selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
} else {
f.positioning_clip_top.value = getNum(getVal(s, 0));
selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
}
 
// setupBox(f, ce, '', 'border', 'Color');
}
 
function getMeasurement(s) {
return s.replace(/^([0-9]+)(.*)$/, "$2");
}
 
function getNum(s) {
if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s))
return s.replace(/[^0-9]/g, '');
 
return s;
}
 
function inStr(s, n) {
return new RegExp(n, 'gi').test(s);
}
 
function getVal(s, i) {
var a = tinyMCE.explode(' ', s);
 
if (a.length > 1)
return a[i];
 
return "";
}
 
function setValue(f, n, v) {
if (f.elements[n].type == "text")
f.elements[n].value = v;
else
selectByValue(f, n, v, true, true);
}
 
function setupBox(f, ce, fp, pr, sf, b) {
if (typeof(b) == "undefined")
b = new Array('Top', 'Right', 'Bottom', 'Left');
 
if (isSame(ce, pr, sf, b)) {
f.elements[fp + "_same"].checked = true;
 
setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
f.elements[fp + "_top"].disabled = false;
 
f.elements[fp + "_right"].value = "";
f.elements[fp + "_right"].disabled = true;
f.elements[fp + "_bottom"].value = "";
f.elements[fp + "_bottom"].disabled = true;
f.elements[fp + "_left"].value = "";
f.elements[fp + "_left"].disabled = true;
 
if (f.elements[fp + "_top_measurement"]) {
selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
f.elements[fp + "_left_measurement"].disabled = true;
f.elements[fp + "_bottom_measurement"].disabled = true;
f.elements[fp + "_right_measurement"].disabled = true;
}
} else {
f.elements[fp + "_same"].checked = false;
 
setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
f.elements[fp + "_top"].disabled = false;
 
setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
f.elements[fp + "_right"].disabled = false;
 
setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
f.elements[fp + "_bottom"].disabled = false;
 
setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
f.elements[fp + "_left"].disabled = false;
 
if (f.elements[fp + "_top_measurement"]) {
selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
f.elements[fp + "_left_measurement"].disabled = false;
f.elements[fp + "_bottom_measurement"].disabled = false;
f.elements[fp + "_right_measurement"].disabled = false;
}
}
}
 
function isSame(e, pr, sf, b) {
var a = new Array(), i, x;
 
if (typeof(b) == "undefined")
b = new Array('Top', 'Right', 'Bottom', 'Left');
 
if (typeof(sf) == "undefined" || sf == null)
sf = "";
 
a[0] = e.style[pr + b[0] + sf];
a[1] = e.style[pr + b[1] + sf];
a[2] = e.style[pr + b[2] + sf];
a[3] = e.style[pr + b[3] + sf];
 
for (i=0; i<a.length; i++) {
if (a[i] == null)
return false;
 
for (x=0; x<a.length; x++) {
if (a[x] != a[i])
return false;
}
}
 
return true;
};
 
function hasEqualValues(a) {
var i, x;
 
for (i=0; i<a.length; i++) {
if (a[i] == null)
return false;
 
for (x=0; x<a.length; x++) {
if (a[x] != a[i])
return false;
}
}
 
return true;
}
 
function applyAction() {
var ce = document.getElementById('container');
 
generateCSS();
 
tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
}
 
function updateAction() {
applyAction();
tinyMCEPopup.close();
}
 
function generateCSS() {
var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;
 
ce.style.cssText = "";
 
// Build text styles
ce.style.fontFamily = f.text_font.value;
ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
ce.style.fontStyle = f.text_style.value;
ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
ce.style.textTransform = f.text_case.value;
ce.style.fontWeight = f.text_weight.value;
ce.style.fontVariant = f.text_variant.value;
ce.style.color = f.text_color.value;
 
s = "";
s += f.text_underline.checked ? " underline" : "";
s += f.text_overline.checked ? " overline" : "";
s += f.text_linethrough.checked ? " line-through" : "";
s += f.text_blink.checked ? " blink" : "";
s = s.length > 0 ? s.substring(1) : s;
 
if (f.text_none.checked)
s = "none";
 
ce.style.textDecoration = s;
 
// Build background styles
 
ce.style.backgroundColor = f.background_color.value;
ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
ce.style.backgroundRepeat = f.background_repeat.value;
ce.style.backgroundAttachment = f.background_attachment.value;
 
if (f.background_hpos.value != "") {
s = "";
s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
ce.style.backgroundPosition = s;
}
 
// Build block styles
 
ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
ce.style.verticalAlign = f.block_vertical_alignment.value;
ce.style.textAlign = f.block_text_align.value;
ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
ce.style.whiteSpace = f.block_whitespace.value;
ce.style.display = f.block_display.value;
 
// Build box styles
 
ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
ce.style.styleFloat = f.box_float.value;
 
if (tinyMCE.isGecko)
ce.style.cssFloat = f.box_float.value;
 
ce.style.clear = f.box_clear.value;
 
if (!f.box_padding_same.checked) {
ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
} else
ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
 
if (!f.box_margin_same.checked) {
ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
} else
ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
 
// Build border styles
 
if (!f.border_style_same.checked) {
ce.style.borderTopStyle = f.border_style_top.value;
ce.style.borderRightStyle = f.border_style_right.value;
ce.style.borderBottomStyle = f.border_style_bottom.value;
ce.style.borderLeftStyle = f.border_style_left.value;
} else
ce.style.borderStyle = f.border_style_top.value;
 
if (!f.border_width_same.checked) {
ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
} else
ce.style.borderWidth = f.border_width_top.value;
 
if (!f.border_color_same.checked) {
ce.style.borderTopColor = f.border_color_top.value;
ce.style.borderRightColor = f.border_color_right.value;
ce.style.borderBottomColor = f.border_color_bottom.value;
ce.style.borderLeftColor = f.border_color_left.value;
} else
ce.style.borderColor = f.border_color_top.value;
 
// Build list styles
 
ce.style.listStyleType = f.list_type.value;
ce.style.listStylePosition = f.list_position.value;
ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";
 
// Build positioning styles
 
ce.style.position = f.positioning_type.value;
ce.style.visibility = f.positioning_visibility.value;
 
if (ce.style.width == "")
ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");
 
if (ce.style.height == "")
ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");
 
ce.style.zIndex = f.positioning_zindex.value;
ce.style.overflow = f.positioning_overflow.value;
 
if (!f.positioning_placement_same.checked) {
ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
} else {
s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
ce.style.top = s;
ce.style.right = s;
ce.style.bottom = s;
ce.style.left = s;
}
 
if (!f.positioning_clip_same.checked) {
s = "rect(";
s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
s += ")";
 
if (s != "rect(auto auto auto auto)")
ce.style.clip = s;
} else {
s = "rect(";
t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
s += t + " ";
s += t + " ";
s += t + " ";
s += t + ")";
 
if (s != "rect(auto auto auto auto)")
ce.style.clip = s;
}
 
ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
}
 
function isNum(s) {
return new RegExp('[0-9]+', 'g').test(s);
}
 
function showDisabledControls() {
var f = document.forms, i, a;
 
for (i=0; i<f.length; i++) {
for (a=0; a<f[i].elements.length; a++) {
if (f[i].elements[a].disabled)
tinyMCE.addCSSClass(f[i].elements[a], "disabled");
else
tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
}
}
}
 
function fillSelect(f, s, param, dval, sep, em) {
var i, ar, p, se;
 
f = document.forms[f];
sep = typeof(sep) == "undefined" ? ";" : sep;
 
if (em)
addSelectValue(f, s, "", "");
 
ar = tinyMCE.getParam(param, dval).split(sep);
for (i=0; i<ar.length; i++) {
se = false;
 
if (ar[i].charAt(0) == '+') {
ar[i] = ar[i].substring(1);
se = true;
}
 
p = ar[i].split('=');
 
if (p.length > 1) {
addSelectValue(f, s, p[0], p[1]);
 
if (se)
selectByValue(f, s, p[1]);
} else {
addSelectValue(f, s, p[0], p[0]);
 
if (se)
selectByValue(f, s, p[0]);
}
}
}
 
function toggleSame(ce, pre) {
var el = document.forms[0].elements, i;
 
if (ce.checked) {
el[pre + "_top"].disabled = false;
el[pre + "_right"].disabled = true;
el[pre + "_bottom"].disabled = true;
el[pre + "_left"].disabled = true;
 
if (el[pre + "_top_measurement"]) {
el[pre + "_top_measurement"].disabled = false;
el[pre + "_right_measurement"].disabled = true;
el[pre + "_bottom_measurement"].disabled = true;
el[pre + "_left_measurement"].disabled = true;
}
} else {
el[pre + "_top"].disabled = false;
el[pre + "_right"].disabled = false;
el[pre + "_bottom"].disabled = false;
el[pre + "_left"].disabled = false;
 
if (el[pre + "_top_measurement"]) {
el[pre + "_top_measurement"].disabled = false;
el[pre + "_right_measurement"].disabled = false;
el[pre + "_bottom_measurement"].disabled = false;
el[pre + "_left_measurement"].disabled = false;
}
}
 
showDisabledControls();
}
 
function synch(fr, to) {
var f = document.forms[0];
 
f.elements[to].value = f.elements[fr].value;
 
if (f.elements[fr + "_measurement"])
selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('searchreplace');var TinyMCE_SearchReplacePlugin={getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),selectedText=inst.selection.getSelectedText(),rng;function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key]}function replaceSel(search_str,str,back){if(!inst.selection.isCollapsed()){if(tinyMCE.isRealIE)inst.selection.getRng().duplicate().pasteHTML(str);else inst.execCommand('mceInsertContent',false,str)}}if(!value)value=[];defValue("editor_id",editor_id);defValue("searchstring",selectedText);defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");defValue("resizable","no");switch(command){case"mceSearch":if(user_interface){var template=new Array();template['file']='../../plugins/searchreplace/searchreplace.htm';template['width']=380;template['height']=155+(tinyMCE.isNS7?20:0)+(tinyMCE.isMSIE?15:0);template['width']+=tinyMCE.getLang('lang_searchreplace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_delta_height',0);inst.selection.collapse(true);tinyMCE.openWindow(template,value)}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;var awin=value.win,found;if(body.innerHTML==""){awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";}inst.selection.collapse(value['backwards']);if(tinyMCE.isMSIE){var rng=inst.selection.getRng();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){awin.alert('This operation is currently not supported by this browser.');return true}if(value['replacemode']=="all"){found=false;while(rng.findText(value['string'],value['backwards']?-1:1,flags)){found=true;rng.scrollIntoView();rng.select();replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select()}else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}else{if(value['replacemode']=="all"){found=false;while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false)){found=true;replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true}return false}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
New file
0,0 → 1,86
function init() {
tinyMCEPopup.resizeToInnerSize();
 
// start with appropiate tab
var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search";
mcTabs.displayTab(task + '_tab', task +'_panel');
manageReplaceButtons();
var formObj = document.forms[0];
 
formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring");
formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : "";
formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive");
formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards");
formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards");
}
 
function searchNext(replacemode) {
// "search" or "replace" mode of operation?
var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
 
var formObj = document.forms[0];
 
if (task == "replace") {
// Whats the point?
if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value)
return false;
}
 
// Do search
tinyMCEPopup.execCommand('mceSearch', false, {
string : formObj[task + "_panel_searchstring"].value,
replacestring : formObj["replace_panel_replacestring"].value,
replacemode : replacemode,
casesensitive : formObj[task + "_panel_casesensitivebox"].checked,
backwards : formObj[task + "_panel_backwardsu"].checked,
win : window
}, false);
 
window.focus();
 
return false;
}
 
function cancelAction() {
tinyMCEPopup.close();
}
 
function manageReplaceButtons() {
// "search" or "replace" mode of operation?
var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden";
}
 
function copyValues(link) {
// check if tab is already active
var tab = link;
while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode;
if (tab.className) return false; // tab is already active -> no need to copy any values!
 
// copy values from one panel to the other (if they exist there)
var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel";
var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel";
 
// find all elements with IDs to copy their values
var elms = document.getElementById(from_panel_name).getElementsByTagName("*");
for (var i = 0; i < elms.length; i++) {
if (elms[i].id && elms[i].id != "") {
var checked = "undefined";
if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio")
checked = elms[i].checked;
 
// copy values if element exists in other panel
var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length);
var to_elm = document.getElementById(to_elm_name);
if (to_elm) {
if (checked != "undefined")
to_elm.checked = checked;
else
to_elm.value = elms[i].value;
}
}
}
 
return false;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/langs/fr.js
New file
0,0 → 1,22
// FR lang variables
// Modified by keyko-web.net, last updated 2007-03-08, based on the work of Motte
 
tinyMCE.addToLang('',{
searchreplace_search_desc : 'Rechercher',
searchreplace_searchnext_desc : 'Rechercher suivant',
searchreplace_replace_desc : 'Rechercher/Remplacer',
searchreplace_notfound : 'Recherche compl&eacute;t&eacute;e. La fin du document a &eacute;t&eacute; atteinte.',
searchreplace_search_title : 'Rechercher',
searchreplace_replace_title : 'Rechercher/Remplacer',
searchreplace_allreplaced : 'Action termin&eacute;e avec succ&egrave;s. Les remplacements\nont &eacute;t&eacute; faits dans l\'ensemble du document.',
searchreplace_findwhat : 'Trouver le mot',
searchreplace_replacewith : 'Remplacer par',
searchreplace_direction : 'Direction',
searchreplace_up : 'Vers le haut',
searchreplace_down : 'Vers le bas',
searchreplace_case : 'Respecter la casse',
searchreplace_findnext : 'Suivant',
searchreplace_replace : 'Remplacer',
searchreplace_replaceall : 'Remplacer tout',
searchreplace_cancel : 'Annuler'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/langs/en.js
New file
0,0 → 1,21
// UK lang variables
 
tinyMCE.addToLang('',{
searchreplace_search_desc : 'Find',
searchreplace_searchnext_desc : 'Find again',
searchreplace_replace_desc : 'Find/Replace',
searchreplace_notfound : 'The search has been completed. The search string could not be found.',
searchreplace_search_title : 'Find',
searchreplace_replace_title : 'Find/Replace',
searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
searchreplace_findwhat : 'Find what',
searchreplace_replacewith : 'Replace with',
searchreplace_direction : 'Direction',
searchreplace_up : 'Up',
searchreplace_down : 'Down',
searchreplace_case : 'Match case',
searchreplace_findnext : 'Find&nbsp;next',
searchreplace_replace : 'Replace',
searchreplace_replaceall : 'Replace&nbsp;all',
searchreplace_cancel : 'Cancel'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/search.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/search.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/replace.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/replace.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js
New file
0,0 → 1,173
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
tinyMCE.importPluginLanguagePack('searchreplace');
 
var TinyMCE_SearchReplacePlugin = {
getInfo : function() {
return {
longname : 'Search/Replace',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function (inst) {
inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true);
// No CTRL+R for "replace" because browsers will reload page instead of executing plugin
},
 
getControlHTML : function (cn) {
switch (cn) {
case "search" :
return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif','mceSearch', true);
 
case "replace" :
return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true);
}
 
return "";
},
 
execCommand : function (editor_id, element, command, user_interface, value) {
var inst = tinyMCE.getInstanceById(editor_id), selectedText = inst.selection.getSelectedText(), rng;
 
function defValue(key, default_value) {
value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
}
 
function replaceSel(search_str, str, back) {
if (!inst.selection.isCollapsed()) {
if (tinyMCE.isRealIE)
inst.selection.getRng().duplicate().pasteHTML(str); // Needs to be duplicated due to selection bug in IE
else
inst.execCommand('mceInsertContent', false, str);
}
}
 
if (!value)
value = [];
 
defValue("editor_id", editor_id);
defValue("searchstring", selectedText);
defValue("replacestring", null);
defValue("replacemode", "none");
defValue("casesensitive", false);
defValue("backwards", false);
defValue("wrap", false);
defValue("wholeword", false);
defValue("inline", "yes");
defValue("resizable", "no");
 
switch (command) {
case "mceSearch" :
if (user_interface) {
var template = new Array();
 
template['file'] = '../../plugins/searchreplace/searchreplace.htm';
template['width'] = 380;
template['height'] = 155 + (tinyMCE.isNS7 ? 20 : 0) + (tinyMCE.isMSIE ? 15 : 0);
template['width'] += tinyMCE.getLang('lang_searchreplace_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_searchreplace_delta_height', 0);
 
inst.selection.collapse(true);
 
tinyMCE.openWindow(template, value);
} else {
var win = tinyMCE.getInstanceById(editor_id).contentWindow;
var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
var awin = value.win, found;
 
if (body.innerHTML == "") {
awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
return true;
}
 
if (value['replacemode'] == "current") {
replaceSel(value['string'], value['replacestring'], value['backwards']);
value['replacemode'] = "none";
//tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value);
//return true;
}
 
inst.selection.collapse(value['backwards']);
 
if (tinyMCE.isMSIE) {
var rng = inst.selection.getRng();
var flags = 0;
if (value['wholeword'])
flags = flags | 2;
 
if (value['casesensitive'])
flags = flags | 4;
 
if (!rng.findText) {
awin.alert('This operation is currently not supported by this browser.');
return true;
}
 
if (value['replacemode'] == "all") {
found = false;
 
while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
found = true;
rng.scrollIntoView();
rng.select();
replaceSel(value['string'], value['replacestring'], value['backwards']);
}
 
if (found)
awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
else
awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
 
return true;
}
 
if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
rng.scrollIntoView();
rng.select();
} else
awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
} else {
if (value['replacemode'] == "all") {
found = false;
 
while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) {
found = true;
replaceSel(value['string'], value['replacestring'], value['backwards']);
}
 
if (found)
awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
else
awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
 
return true;
}
 
if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
}
}
 
return true;
 
case "mceSearchReplace" :
value['replacestring'] = "";
tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
return true;
}
 
return false;
}
};
 
tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css
New file
0,0 → 1,20
/* stylesheet for advsearchreplace plugin*/
 
.panel_wrapper { height: 85px; }
.panel_wrapper div.current { height: 85px; }
 
/* MS IE only styles */
* html .panel_wrapper { height: 100px; }
* html .panel_wrapper div.current { height: 100px; }
 
#replaceBtn, #replaceAllBtn {
padding-bottom: 2px;
font-weight: bold;
width: 90px;
height: 21px;
border: 0;
cursor: pointer;
}
 
#replaceBtn { background: url(../images/replace_button_bg.gif); }
#replaceAllBtn { background: url(../images/replace_all_button_bg.gif); }
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm
New file
0,0 → 1,107
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_searchreplace_replace_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/searchreplace.js"></script>
<link rel="stylesheet" type="text/css" href="css/searchreplace.css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
<form onsubmit="return false;" action="#">
<div class="tabs">
<ul>
<li id="search_tab"><span><a href="javascript:mcTabs.displayTab('search_tab','search_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_search_desc}</a></span></li>
<li id="replace_tab"><span><a href="javascript:mcTabs.displayTab('replace_tab','replace_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_replace}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
 
<div id="search_panel" class="panel">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td><label for="search_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
<td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" /></td>
</tr>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0" class="direction">
<tr>
<td><label>{$lang_searchreplace_direction}</label></td>
<td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td>
<td><label for="search_panel_backwardsu">{$lang_searchreplace_up}</label></td>
<td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" /></td>
<td><label for="search_panel_backwardsd">{$lang_searchreplace_down}</label></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
<td><label for="search_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
 
<div id="replace_panel" class="panel">
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td><label for="replace_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
<td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" /></td>
</tr>
<tr>
<td><label for="replace_panel_replacestring">{$lang_searchreplace_replacewith}</label></td>
<td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" /></td>
</tr>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0" class="direction">
<tr>
<td><label>{$lang_searchreplace_direction}</label></td>
<td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td>
<td><label for="replace_panel_backwardsu">{$lang_searchreplace_up}</label></td>
<td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" /></td>
<td><label for="replace_panel_backwardsd">{$lang_searchreplace_down}</label></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
<td><label for="replace_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
 
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" />
<span id="replace_buttons">
<input type="button" id="replaceBtn" name="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" />
<input type="button" id="replaceAllBtn" name="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');;" />
</span>
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_searchreplace_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/searchreplace/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/contextmenu/images/spacer.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/contextmenu/images/spacer.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js
New file
0,0 → 1,360
/**
* $Id: editor_plugin_src.js 264 2007-04-26 20:53:09Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
if (!tinyMCE.settings['contextmenu_skip_plugin_css']) {
tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css");
}
 
var TinyMCE_ContextMenuPlugin = {
// Private fields
_contextMenu : null,
 
getInfo : function() {
return {
longname : 'Context menus',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
// Is not working on MSIE 5.0 or Opera no contextmenu event
if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera)
return;
 
TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({
commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler",
spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
});
 
// Add hide event handles
tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
 
// Attach contextmenu event
if (tinyMCE.isGecko) {
tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
} else
tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu);
},
 
// Private plugin internal methods
 
_onContextMenu : function(e) {
var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
var targetInst, body;
 
// Find instance
if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
for (var n in tinyMCE.instances) {
var inst = tinyMCE.instances[n];
if (!tinyMCE.isInstance(inst))
continue;
 
if (body == inst.getBody()) {
targetInst = inst;
break;
}
}
 
return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
}
},
 
_showContextMenu : function(e, inst) {
if (e.ctrlKey)
return true;
 
function getAttrib(elm, name) {
return elm.getAttribute(name) ? elm.getAttribute(name) : "";
}
 
var x, y, elm, contextMenu;
var pos = tinyMCE.getAbsPosition(inst.iframeElement);
 
x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
elm = tinyMCE.isMSIE ? e.srcElement : e.target;
 
contextMenu = this._contextMenu;
contextMenu.inst = inst;
 
// Mozilla needs some time
window.setTimeout(function () {
var theme = tinyMCE.getParam("theme");
 
contextMenu.clearAll();
var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG";
 
// Default items
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
 
if (sel || (elm ? (elm.nodeName == 'A' && tinyMCE.getAttrib(elm, 'name') == '') || (elm.nodeName == 'IMG') : false)) {
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink");
contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true));
}
 
// Get element
elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : ''));
if (elm) {
switch (elm.nodeName) {
case "IMG":
contextMenu.addSeparator();
 
// If flash
if (tinyMCE.hasPlugin('flash') && tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1)
contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
else if (tinyMCE.hasPlugin('media') && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm, 'class')))
contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_media_title", "mceMedia");
else
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage");
break;
 
case "HR":
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr");
break;
 
case "TABLE":
case "TD":
// Is table plugin loaded
if (inst.hasPlugin("table")) {
var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
 
colspan = colspan == "" ? "1" : colspan;
rowspan = rowspan == "" ? "1" : rowspan;
 
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
 
/* contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
}
break;
}
} else {
// Add table specific
if (inst.hasPlugin("table")) {
contextMenu.addSeparator();
contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
}
}
 
contextMenu.show(x, y);
}, 10);
 
// Cancel default handeling
tinyMCE.cancelEvent(e);
return false;
},
 
_hideContextMenu : function() {
if (TinyMCE_ContextMenuPlugin._contextMenu)
TinyMCE_ContextMenuPlugin._contextMenu.hide();
},
 
_commandHandler : function(command, value) {
var cm = TinyMCE_ContextMenuPlugin._contextMenu;
 
cm.hide();
 
// UI must be true on these
var ui = false;
if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
ui = true;
 
if (command == "Paste")
value = null;
 
if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) {
// Cell properties will generate access denied error is this isn't done?!
window.setTimeout(function() {
cm.inst.execCommand(command, ui, value);
}, 100);
} else
cm.inst.execCommand(command, ui, value);
}
};
 
tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin);
 
// Context menu class
 
function TinyMCE_ContextMenu(settings) {
var doc, self = this;
 
// Default value function
function defParam(key, def_val) {
settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
}
 
this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
 
// Setup contextmenu div
this.contextMenuDiv = document.createElement("div");
this.contextMenuDiv.className = "contextMenu";
this.contextMenuDiv.setAttribute("class", "contextMenu");
this.contextMenuDiv.style.display = "none";
this.contextMenuDiv.style.position = 'absolute';
this.contextMenuDiv.style.zindex = 1000;
this.contextMenuDiv.style.left = '0';
this.contextMenuDiv.style.top = '0';
this.contextMenuDiv.unselectable = "on";
 
document.body.appendChild(this.contextMenuDiv);
 
// Setup default values
defParam("commandhandler", "");
defParam("spacer_image", "images/spacer.gif");
 
this.items = new Array();
this.settings = settings;
this.html = "";
 
// IE Popup
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
this.pop = window.createPopup();
doc = this.pop.document;
doc.open();
doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
doc.close();
}
};
 
TinyMCE_ContextMenu.prototype = {
clearAll : function() {
this.html = "";
this.contextMenuDiv.innerHTML = "";
},
 
addSeparator : function() {
this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
},
 
addItem : function(icon, title, command, value, disabled) {
if (title.charAt(0) == '$')
title = tinyMCE.getLang(title.substring(1));
 
var onMouseDown = '';
var html = '';
 
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
else
onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
 
if (icon == "")
icon = this.settings['spacer_image'];
 
if (!disabled)
html += '<tr class="contextMenuItem">';
else
html += '<tr class="contextMenuItemDisabled">';
 
html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
html += '<td><div class="contextMenuText">';
html += '<a href="javascript:void(0);" onclick="' + onMouseDown + '" onmousedown="return false;">&#160;';
 
// Add text
html += title;
 
html += '&#160;</a>';
html += '</div></td>';
html += '</tr>';
 
// Add to main
this.html += html;
},
 
show : function(x, y) {
var vp, width, height, yo;
 
if (this.html == "")
return;
 
var html = '';
 
html += '<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';
html += this.html;
html += '</table>';
 
this.contextMenuDiv.innerHTML = html;
 
// Get dimensions
this.contextMenuDiv.style.display = "block";
width = this.contextMenuDiv.offsetWidth;
height = this.contextMenuDiv.offsetHeight;
this.contextMenuDiv.style.display = "none";
 
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
// Setup popup and show
this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
this.pop.document.tinyMCE = tinyMCE;
this.pop.document.contextMenu = this;
this.pop.show(x, y, width, height);
} else {
vp = this.getViewPort();
yo = tinyMCE.isMSIE5_0 ? document.body.scrollTop : self.pageYOffset;
this.contextMenuDiv.style.left = (x > vp.left + vp.width - width ? vp.left + vp.width - width : x) + 'px';
this.contextMenuDiv.style.top = (y > vp.top + vp.height - height ? vp.top + vp.height - height : y) + 'px';
this.contextMenuDiv.style.display = "block";
}
},
 
getViewPort : function() {
return {
left : self.pageXOffset || self.document.documentElement.scrollLeft || self.document.body.scrollLeft,
top: self.pageYOffset || self.document.documentElement.scrollTop || self.document.body.scrollTop,
width : document.documentElement.offsetWidth || document.body.offsetWidth,
height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
};
},
 
hide : function() {
if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera)
this.pop.hide();
else
this.contextMenuDiv.style.display = "none";
},
 
execCommand : function(command, value) {
eval(this.settings['commandhandler'] + "(command, value);");
}
};
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/contextmenu/css/contextmenu.css
New file
0,0 → 1,74
.contextMenuIEPopup {
padding: 0;
margin: 0;
border: 0;
overflow: hidden;
}
 
.contextMenu {
position: absolute;
cursor: default;
z-index: 1000;
border: 1px solid #D4D0C8;
background-color: #FFFFFF;
}
 
.contextMenuItem, .contextMenuItemOver {
}
 
.contextMenuSeparator {
width: 100%;
background-color: #D4D0C8;
border: 0;
}
 
.contextMenuImage, .contextMenuItemDisabled {
border: 0;
}
 
.contextMenuIcon {
background-color: #F0F0EE;
}
 
.contextMenuItemOver .contextMenuIcon {
background-color: #B6BDD2;
}
 
.contextMenuIcon {
background-color: #F0F0EE;
}
 
.contextMenuItemDisabled img {
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
-moz-opacity:0.3;
opacity: 0.3;
}
 
.contextMenuText {
font-family: Tahoma, Verdana, Arial, Helvetica;
font-size: 11px;
line-height: 20px;
}
 
.contextMenuItemDisabled {
color: #AAAAAA;
}
 
.contextMenuText a {
display: block;
line-height: 20px;
width: 100%;
text-decoration: none;
color: black;
font-weight: normal;
margin: 0;
padding: 0;
}
 
.contextMenuText a:hover {
background-color: #B6BDD2;
text-decoration: none !important;
font-weight: normal;
margin: 0;
padding: 0;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/contextmenu/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js
New file
0,0 → 1,0
if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css")}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst)})}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu)},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst)}},_showContextMenu:function(e,inst){if(e.ctrlKey)return true;function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A'&&tinyMCE.getAttrib(elm,'name')=='')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true))}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.hasPlugin('flash')&&tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else if(tinyMCE.hasPlugin('media')&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm,'class')))contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_media_title","mceMedia");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false)}break}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert")}}contextMenu.show(x,y)},10);tinyMCE.cancelEvent(e);return false},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide()},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value)},100)}else cm.inst.execCommand(command,ui,value)}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){var doc,self=this;function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val}this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('<html><head><link href="'+tinyMCE.baseURL+'/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');doc.close()}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML=""},addSeparator:function(){this.html+='<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="'+this.settings['spacer_image']+'" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="'+this.settings['spacer_image']+'" /></td></tr>'},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='<tr class="contextMenuItem">';else html+='<tr class="contextMenuItemDisabled">';html+='<td class="contextMenuIcon"><img src="'+icon+'" width="20" height="20" class="contextMenuImage" /></td>';html+='<td><div class="contextMenuText">';html+='<a href="javascript:void(0);" onclick="'+onMouseDown+'" onmousedown="return false;">&#160;';html+=title;html+='&#160;</a>';html+='</div></td>';html+='</tr>';this.html+=html},show:function(x,y){var vp,width,height,yo;if(this.html=="")return;var html='';html+='<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';html+=this.html;html+='</table>';this.contextMenuDiv.innerHTML=html;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop.document.body.innerHTML='<div class="contextMenu">'+html+"</div>";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height)}else{vp=this.getViewPort();yo=tinyMCE.isMSIE5_0?document.body.scrollTop:self.pageYOffset;this.contextMenuDiv.style.left=(x>vp.left+vp.width-width?vp.left+vp.width-width:x)+'px';this.contextMenuDiv.style.top=(y>vp.top+vp.height-height?vp.top+vp.height-height:y)+'px';this.contextMenuDiv.style.display="block"}},getViewPort:function(){return{left:self.pageXOffset||self.document.documentElement.scrollLeft||self.document.body.scrollLeft,top:self.pageYOffset||self.document.documentElement.scrollTop||self.document.body.scrollTop,width:document.documentElement.offsetWidth||document.body.offsetWidth,height:self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none"},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);")}};
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/images/pasteword.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/images/pasteword.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/images/selectall.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/images/selectall.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/images/pastetext.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/images/pastetext.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js
New file
0,0 → 1,395
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('paste');
 
var TinyMCE_PastePlugin = {
getInfo : function() {
return {
longname : 'Paste text/word',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_PastePlugin._handlePasteEvent);
},
 
handleEvent : function(e) {
// Force paste dialog if non IE browser
if (!tinyMCE.isRealIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false) && e.ctrlKey && e.keyCode == 86 && e.type == "keydown") {
window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)', 1);
return tinyMCE.cancelEvent(e);
}
 
return true;
},
 
getControlHTML : function(cn) {
switch (cn) {
case "pastetext":
return tinyMCE.getButtonHTML(cn, 'lang_paste_text_desc', '{$pluginurl}/images/pastetext.gif', 'mcePasteText', true);
 
case "pasteword":
return tinyMCE.getButtonHTML(cn, 'lang_paste_word_desc', '{$pluginurl}/images/pasteword.gif', 'mcePasteWord', true);
 
case "selectall":
return tinyMCE.getButtonHTML(cn, 'lang_selectall_desc', '{$pluginurl}/images/selectall.gif', 'mceSelectAll', true);
}
 
return '';
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
switch (command) {
case "mcePasteText":
if (user_interface) {
if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false))
TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"), true);
else {
var template = new Array();
template['file'] = '../../plugins/paste/pastetext.htm'; // Relative to theme
template['width'] = 450;
template['height'] = 400;
var plain_text = "";
tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
}
} else
TinyMCE_PastePlugin._insertText(value['html'], value['linebreaks']);
 
return true;
 
case "mcePasteWord":
if (user_interface) {
if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false)) {
TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML());
} else {
var template = new Array();
template['file'] = '../../plugins/paste/pasteword.htm'; // Relative to theme
template['width'] = 450;
template['height'] = 400;
var plain_text = "";
tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
}
} else
TinyMCE_PastePlugin._insertWordContent(value);
 
return true;
 
case "mceSelectAll":
tinyMCE.execInstanceCommand(editor_id, 'selectall');
return true;
 
}
 
// Pass to next handler in chain
return false;
},
 
// Private plugin internal methods
 
_handlePasteEvent : function(e) {
switch (e.type) {
case "paste":
var html = TinyMCE_PastePlugin._clipboardHTML();
var r, inst = tinyMCE.selectedInstance;
 
// Removes italic, strong etc, the if was needed due to bug #1437114
if (inst && (r = inst.getRng()) && r.text.length > 0)
tinyMCE.execCommand('delete');
 
if (html && html.length > 0)
tinyMCE.execCommand('mcePasteWord', false, html);
 
tinyMCE.cancelEvent(e);
return false;
}
 
return true;
},
 
_insertText : function(content, bLinebreaks) {
if (content && content.length > 0) {
if (bLinebreaks) {
// Special paragraph treatment
if (tinyMCE.getParam("paste_create_paragraphs", true)) {
var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
for (var i=0; i<rl.length; i+=2)
content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
 
content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi");
content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi");
content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi");
 
// Has paragraphs
if ((pos = content.indexOf('</p><p>')) != -1) {
tinyMCE.execCommand("Delete");
 
var node = tinyMCE.selectedInstance.getFocusElement();
 
// Get list of elements to break
var breakElms = new Array();
 
do {
if (node.nodeType == 1) {
// Don't break tables and break at body
if (node.nodeName == "TD" || node.nodeName == "BODY")
break;
breakElms[breakElms.length] = node;
}
} while(node = node.parentNode);
 
var before = "", after = "</p>";
before += content.substring(0, pos);
 
for (var i=0; i<breakElms.length; i++) {
before += "</" + breakElms[i].nodeName + ">";
after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">";
}
 
before += "<p>";
content = before + content.substring(pos+7) + after;
}
}
 
if (tinyMCE.getParam("paste_create_linebreaks", true)) {
content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
}
}
tinyMCE.execCommand("mceInsertRawHTML", false, content);
}
},
 
_insertWordContent : function(content) {
if (content && content.length > 0) {
// Cleanup Word content
var bull = String.fromCharCode(8226);
var middot = String.fromCharCode(183);
var cb;
 
if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
content = eval(cb + "('before', content)");
 
var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
for (var i=0; i<rl.length; i+=2)
content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
 
if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
}
 
content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
content = content.replace(/<o:p><\/o:p>/gi, "");
content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), ""); // Word comments
 
if (tinyMCE.getParam("paste_remove_spans", true))
content = content.replace(/<\/?span[^>]*>/gi, "");
 
if (tinyMCE.getParam("paste_remove_styles", true))
content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
 
content = content.replace(/<\/?font[^>]*>/gi, "");
 
// Strips class attributes.
switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
case "all":
content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
break;
 
case "mso":
content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
break;
}
 
content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
content = content.replace(/<\\?\?xml[^>]*>/gi, "");
content = content.replace(/<\/?\w+:[^>]*>/gi, "");
content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
 
// content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
// content = content.replace(/<p>&nbsp;<\/p>/gi, '');
 
if (!tinyMCE.settings['force_p_newlines']) {
content = content.replace('', '' ,'gi');
content = content.replace('</p>', '<br /><br />' ,'gi');
}
 
if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
content = content.replace(/<\/?p[^>]*>/gi, "");
}
 
content = content.replace(/<\/?div[^>]*>/gi, "");
 
// Convert all middlot lists to UL lists
if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
var div = document.createElement("div");
div.innerHTML = content;
 
// Convert all middot paragraphs to li elements
var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
 
while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
 
content = div.innerHTML;
}
 
// Replace all headers with strong and fix some other issues
if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
content = content.replace(/<h[1-6]>/gi, '<p><b>');
content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
content = content.replace(/^(&nbsp;)*/gi, '');
}
 
content = content.replace(/--list--/gi, ""); // Remove --list--
 
if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
content = eval(cb + "('after', content)");
 
// Insert cleaned content
tinyMCE.execCommand("mceInsertContent", false, content);
 
if (tinyMCE.getParam('paste_force_cleanup_wordpaste', true))
window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
}
},
 
_reEscape : function(s) {
var l = "?.\\*[](){}+^$:";
var o = "";
 
for (var i=0; i<s.length; i++) {
var c = s.charAt(i);
 
if (l.indexOf(c) != -1)
o += '\\' + c;
else
o += c;
}
 
return o;
},
 
_convertMiddots : function(div, search, class_name) {
var mdot = String.fromCharCode(183);
var bull = String.fromCharCode(8226);
 
var nodes = div.getElementsByTagName("p");
var prevul;
for (var i=0; i<nodes.length; i++) {
var p = nodes[i];
 
// Is middot
if (p.innerHTML.indexOf(search) == 0) {
var ul = document.createElement("ul");
 
if (class_name)
ul.className = class_name;
 
// Add the first one
var li = document.createElement("li");
li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
ul.appendChild(li);
 
// Add the rest
var np = p.nextSibling;
while (np) {
// If the node is whitespace, then
// ignore it and continue on.
if (np.nodeType == 3 && new RegExp('^\\s$', 'm').test(np.nodeValue)) {
np = np.nextSibling;
continue;
}
 
if (search == mdot) {
if (np.nodeType == 1 && new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)) {
// Second level of nesting
if (!prevul) {
prevul = ul;
ul = document.createElement("ul");
prevul.appendChild(ul);
}
np.innerHTML = np.innerHTML.replace(/^o/, '');
} else {
// Pop the stack if we're going back up to the first level
if (prevul) {
ul = prevul;
prevul = null;
}
// Not element or middot paragraph
if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
break;
}
} else {
// Not element or middot paragraph
if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
break;
}
 
var cp = np.nextSibling;
var li = document.createElement("li");
li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
np.parentNode.removeChild(np);
ul.appendChild(li);
np = cp;
}
 
p.parentNode.replaceChild(ul, p);
 
return true;
}
}
 
return false;
},
 
_clipboardHTML : function() {
var div = document.getElementById('_TinyMCE_clipboardHTML');
 
if (!div) {
var div = document.createElement('DIV');
div.id = '_TinyMCE_clipboardHTML';
 
with (div.style) {
visibility = 'hidden';
overflow = 'hidden';
position = 'absolute';
width = 1;
height = 1;
}
 
document.body.appendChild(div);
}
 
div.innerHTML = '';
var rng = document.body.createTextRange();
rng.moveToElementText(div);
rng.execCommand('Paste');
var html = div.innerHTML;
div.innerHTML = '';
return html;
}
};
 
tinyMCE.addPlugin("paste", TinyMCE_PastePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/css/blank.css
New file
0,0 → 1,13
body {
background-color: #FFFFFF;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
scrollbar-3dlight-color: #F0F0EE;
scrollbar-arrow-color: #676662;
scrollbar-base-color: #F0F0EE;
scrollbar-darkshadow-color: #DDDDDD;
scrollbar-face-color: #E0E0DD;
scrollbar-highlight-color: #F0F0EE;
scrollbar-shadow-color: #F0F0EE;
scrollbar-track-color: #F5F5F5;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/css/pasteword.css
New file
0,0 → 1,3
.sourceIframe {
border: 1px solid #808080;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/pastetext.htm
New file
0,0 → 1,34
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_paste_text_desc}</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
<form name="source" onsubmit="saveContent();">
<div style="float: left" class="title">{$lang_paste_text_desc}</div>
 
<div style="float: right">
<input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
</div>
 
<br style="clear: both" />
 
<div>{$lang_paste_text_title}</div>
 
<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
</div>
 
<div style="float: right">
<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/blank.htm
New file
0,0 → 1,19
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>blank_page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language="javascript">
function init() {
document.body.contentEditable = true;
document.designMode = 'on';
parent.initIframe(document);
window.focus();
}
</script>
<link href="css/blank.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body onload="init();">
 
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('paste');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent)},handleEvent:function(e){if(!tinyMCE.isRealIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false)&&e.ctrlKey&&e.keyCode==86&&e.type=="keydown"){window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)',1);return tinyMCE.cancelEvent(e)}return true},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true)}return''},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML())}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true}return false},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false}return true},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);content=tinyMCE.regexpReplace(content,"\r\n\r\n","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\r\r","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\n\n","</p><p>","gi");if((pos=content.indexOf('</p><p>'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node}}while(node=node.parentNode);var before="",after="</p>";before+=content.substring(0,pos);for(var i=0;i<breakElms.length;i++){before+="</"+breakElms[i].nodeName+">";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">"}before+="<p>";content=before+content.substring(pos+7)+after}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}}tinyMCE.execCommand("mceInsertRawHTML",false,content)}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>','gi'),'<p><b>$1</b></p>')}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)<BR>","gi"),"<p>"+middot+"$1</p>");content=content.replace(new RegExp('<SPAN style="mso-list: Ignore">','gi'),"<span>"+bull);content=content.replace(/<o:p><\/o:p>/gi,"");content=content.replace(new RegExp('<br style="page-break-before: always;.*>','gi'),'-- page break --');content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");if(tinyMCE.getParam("paste_remove_spans",true))content=content.replace(/<\/?span[^>]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('</p>','<br /><br />','gi')}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"")}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi,'<p>&nbsp;&nbsp;</p>');content=content.replace(/<h[1-6]>/gi,'<p><b>');content=content.replace(/<\/h[1-6]>/gi,'</b></p>');content=content.replace(/<b>&nbsp;<\/b>/gi,'<b>&nbsp;&nbsp;</b>');content=content.replace(/^(&nbsp;)*/gi,'')}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);if(tinyMCE.getParam('paste_force_cleanup_wordpaste',true))window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i<s.length;i++){var c=s.charAt(i);if(l.indexOf(c)!=-1)o+='\\'+c;else o+=c}return o},_convertMiddots:function(div,search,class_name){var mdot=String.fromCharCode(183);var bull=String.fromCharCode(8226);var nodes=div.getElementsByTagName("p");var prevul;for(var i=0;i<nodes.length;i++){var p=nodes[i];if(p.innerHTML.indexOf(search)==0){var ul=document.createElement("ul");if(class_name)ul.className=class_name;var li=document.createElement("li");li.innerHTML=p.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');ul.appendChild(li);var np=p.nextSibling;while(np){if(np.nodeType==3&&new RegExp('^\\s$','m').test(np.nodeValue)){np=np.nextSibling;continue}if(search==mdot){if(np.nodeType==1&&new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)){if(!prevul){prevul=ul;ul=document.createElement("ul");prevul.appendChild(ul)}np.innerHTML=np.innerHTML.replace(/^o/,'')}else{if(prevul){ul=prevul;prevul=null}if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}}else{if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}var cp=np.nextSibling;var li=document.createElement("li");li.innerHTML=np.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');np.parentNode.removeChild(np);ul.appendChild(li);np=cp}p.parentNode.replaceChild(ul,p);return true}}return false},_clipboardHTML:function(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1}document.body.appendChild(div)}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html}};tinyMCE.addPlugin("paste",TinyMCE_PastePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/pasteword.htm
New file
0,0 → 1,29
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>{$lang_paste_word_desc}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
<link href="css/pasteword.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
<form name="source" onsubmit="saveContent();" action="#">
<div class="title">{$lang_paste_word_desc}</div>
 
<div>{$lang_paste_word_title}</div>
 
<div id="iframecontainer"></div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/jscripts/pasteword.js
New file
0,0 → 1,52
function saveContent() {
var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
 
if (html == ''){
tinyMCEPopup.close();
return false;
}
 
tinyMCEPopup.execCommand('mcePasteWord', false, html);
tinyMCEPopup.close();
}
 
function onLoadInit() {
tinyMCEPopup.resizeToInnerSize();
 
// Fix for endless reloading in FF
window.setTimeout('createIFrame();', 10);
}
 
function createIFrame() {
document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
}
 
var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
 
function initIframe(doc) {
var dir = tinyMCE.selectedInstance.settings['directionality'];
 
doc.body.dir = dir;
 
// Remove Gecko spellchecking
if (tinyMCE.isGecko)
doc.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
 
resizeInputs();
}
 
function resizeInputs() {
if (!tinyMCE.isMSIE) {
wHeight = self.innerHeight - 80;
wWidth = self.innerWidth - 18;
} else {
wHeight = document.body.clientHeight - 80;
wWidth = document.body.clientWidth - 18;
}
 
var elm = document.getElementById('frmData');
if (elm) {
elm.style.height = Math.abs(wHeight) + 'px';
elm.style.width = Math.abs(wWidth) + 'px';
}
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/jscripts/pastetext.js
New file
0,0 → 1,38
function saveContent() {
if (document.forms[0].htmlSource.value == '') {
tinyMCEPopup.close();
return false;
}
 
tinyMCEPopup.execCommand('mcePasteText', false, {
html : document.forms[0].htmlSource.value,
linebreaks : document.forms[0].linebreaks.checked
});
 
tinyMCEPopup.close();
}
 
function onLoadInit() {
tinyMCEPopup.resizeToInnerSize();
 
// Remove Gecko spellchecking
if (tinyMCE.isGecko)
document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
 
resizeInputs();
}
 
var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
 
function resizeInputs() {
if (!tinyMCE.isMSIE) {
wHeight = self.innerHeight-80;
wWidth = self.innerWidth-17;
} else {
wHeight = document.body.clientHeight-80;
wWidth = document.body.clientWidth-17;
}
 
document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
document.forms[0].htmlSource.style.width = Math.abs(wWidth) + 'px';
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/langs/fr.js
New file
0,0 → 1,11
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
paste_text_desc : 'Coller comme du texte',
paste_text_title : 'Faites CTRL+V pour coller le texte dans la fen&ecirc;tre.',
paste_text_linebreaks : 'Conserver les retours &agrave; la ligne',
paste_word_desc : 'Coller depuis Word',
paste_word_title : 'Faites CTRL+V pour coller le texte dans la fen&ecirc;tre.',
selectall_desc : 'S&eacute;lectionner tout'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/paste/langs/en.js
New file
0,0 → 1,10
// UK lang variables
 
tinyMCE.addToLang('',{
paste_text_desc : 'Paste as Plain Text',
paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
paste_text_linebreaks : 'Keep linebreaks',
paste_word_desc : 'Paste from Word',
paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
selectall_desc : 'Select All'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/css/advimage.css
New file
0,0 → 1,66
/* CSS file for advimage plugin popup */
 
.mceImageList {
width: 280px;
}
 
.mceActionPanel {
margin-top: 7px;
}
 
.alignPreview {
border: 1px solid black;
width: 140px;
height: 140px;
overflow: hidden;
padding: 5px;
}
 
.checkbox {
border: 0;
}
 
.panel_wrapper div.current {
height: 305px;
}
 
#prev {
margin: 0;
border: 1px
solid black;
width: 99%;
height: 150px;
overflow: auto;
}
 
#align, #classlist {
width: 150px;
}
 
#width, #height {
vertical-align: middle;
width: 50px;
text-align: center;
}
 
#vspace, #hspace, #border {
vertical-align: middle;
width: 30px;
text-align: center;
}
 
#classlist {
width: 180px;
}
 
input {
width: 280px;
}
 
#constrain, #onmousemovecheck {
width: auto;
}
 
#id, #dir, #lang, #usemap, #longdesc {
width: 200px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/image.htm
New file
0,0 → 1,241
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_insert_image_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
<link href="css/advimage.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="advimage" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertAction();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_advimage_general}</legend>
 
<table class="properties">
<tr>
<td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td>
<td id="srcbrowsercontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr id="imagelistsrcrow">
<td class="column1"><label for="imagelistsrc">{$lang_image_list}</label></td>
<td colspan="2" id="imagelistsrccontainer">&nbsp;</td>
</tr>
<tr>
<td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td>
<td colspan="2"><input id="alt" name="alt" type="text" value="" /></td>
</tr>
<tr>
<td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td>
<td colspan="2"><input id="title" name="title" type="text" value="" /></td>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_advimage_preview}</legend>
<div id="prev"></div>
</fieldset>
</div>
 
<div id="appearance_panel" class="panel">
<fieldset>
<legend>{$lang_advimage_tab_appearance}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td>
<td><select id="align" name="align" onchange="changeAppearance();">
<option value="">{$lang_insert_image_align_default}</option>
<option value="baseline">{$lang_insert_image_align_baseline}</option>
<option value="top">{$lang_insert_image_align_top}</option>
<option value="middle">{$lang_insert_image_align_middle}</option>
<option value="bottom">{$lang_insert_image_align_bottom}</option>
<option value="texttop">{$lang_insert_image_align_texttop}</option>
<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
<option value="absbottom">{$lang_insert_image_align_absbottom}</option>
<option value="left">{$lang_insert_image_align_left}</option>
<option value="right">{$lang_insert_image_align_right}</option>
</select>
</td>
<td rowspan="6" valign="top">
<div class="alignPreview">
<img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
erat volutpat.
</div>
</td>
</tr>
 
<tr>
<td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
<td nowrap="nowrap">
<input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="changeHeight();" /> x
<input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="changeWidth();" /> px
</td>
</tr>
 
<tr>
<td>&nbsp;</td>
<td><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
<td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
</tr>
</table></td>
</tr>
 
<tr>
<td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td>
<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" />
</td>
</tr>
 
<tr>
<td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td>
<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td>
</tr>
 
<tr>
<td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td>
<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td>
</tr>
 
<tr>
<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
<td colspan="2">
<select id="classlist" name="classlist">
<option value="" selected>{$lang_not_set}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td>
<td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td>
</tr>
 
<!-- <tr>
<td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td>
<td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
</tr> -->
</table>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_advimage_swap_image}</legend>
 
<input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
<label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
 
<table border="0" cellpadding="4" cellspacing="0" width="100%">
<tr>
<td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td>
<td id="onmouseoversrccontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr id="imagelistoverrow">
<td class="column1"><label for="imagelistover">{$lang_image_list}</label></td>
<td id="imagelistovercontainer">&nbsp;</td>
</tr>
<tr>
<td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td>
<td class="column2"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td>
<td id="onmouseoutsrccontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr id="imagelistoutrow">
<td class="column1"><label for="imagelistout">{$lang_image_list}</label></td>
<td id="imagelistoutcontainer">&nbsp;</td>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_advimage_misc}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td>
<td><input id="id" name="id" type="text" value="" /></td>
</tr>
 
<tr>
<td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td>
<td>
<select id="dir" name="dir" onchange="changeAppearance();">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_advimage_ltr}</option>
<option value="rtl">{$lang_advimage_rtl}</option>
</select>
</td>
</tr>
 
<tr>
<td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" />
</td>
</tr>
 
<tr>
<td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td>
<td>
<input id="usemap" name="usemap" type="text" value="" />
</td>
</tr>
 
<tr>
<td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
<td><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="longdesc" name="longdesc" type="text" value="" /></td>
<td id="longdesccontainer">&nbsp;</td>
</tr>
</table></td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('advimage');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img"),src,i;for(i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_advimage','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advimage','mceButtonNormal');return true},_getImageSrc:function(s){var sr,p=-1;if(!s)return"";if((p=s.indexOf('this.src='))!=-1){sr=s.substring(p+10);sr=sr.substring(0,sr.indexOf('\''));return sr}return""}};tinyMCE.addPlugin("advimage",TinyMCE_AdvancedImagePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/jscripts/functions.js
New file
0,0 → 1,538
/* Functions for the advimage plugin popup */
 
var preloadImg = null;
var orgImageWidth, orgImageHeight;
 
function preinit() {
// Initialize
tinyMCE.setWindowArg('mce_windowresize', false);
 
// Import external list url javascript
var url = tinyMCE.getParam("external_image_list_url");
if (url != null) {
// Fix relative
if (url.charAt(0) != '/' && url.indexOf('://') == -1)
url = tinyMCE.documentBasePath + "/" + url;
 
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
}
 
function convertURL(url, node, on_save) {
return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
}
 
function getImageSrc(str) {
var pos = -1;
 
if (!str)
return "";
 
if ((pos = str.indexOf('this.src=')) != -1) {
var src = str.substring(pos + 10);
 
src = src.substring(0, src.indexOf('\''));
 
if (tinyMCE.getParam('convert_urls'))
src = convertURL(src, null, true);
 
return src;
}
 
return "";
}
 
function init() {
tinyMCEPopup.resizeToInnerSize();
 
var formObj = document.forms[0];
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
var action = "insert";
var html = "";
 
// Image list src
html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
if (html == "")
document.getElementById("imagelistsrcrow").style.display = 'none';
else
document.getElementById("imagelistsrccontainer").innerHTML = html;
 
// Image list oversrc
html = getImageListHTML('imagelistover','onmouseoversrc');
if (html == "")
document.getElementById("imagelistoverrow").style.display = 'none';
else
document.getElementById("imagelistovercontainer").innerHTML = html;
 
// Image list outsrc
html = getImageListHTML('imagelistout','onmouseoutsrc');
if (html == "")
document.getElementById("imagelistoutrow").style.display = 'none';
else
document.getElementById("imagelistoutcontainer").innerHTML = html;
 
// Src browser
html = getBrowserHTML('srcbrowser','src','image','advimage');
document.getElementById("srcbrowsercontainer").innerHTML = html;
 
// Over browser
html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
document.getElementById("onmouseoversrccontainer").innerHTML = html;
 
// Out browser
html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
document.getElementById("onmouseoutsrccontainer").innerHTML = html;
 
// Longdesc browser
html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
document.getElementById("longdesccontainer").innerHTML = html;
 
// Resize some elements
if (isVisible('srcbrowser'))
document.getElementById('src').style.width = '260px';
 
if (isVisible('oversrcbrowser'))
document.getElementById('onmouseoversrc').style.width = '260px';
 
if (isVisible('outsrcbrowser'))
document.getElementById('onmouseoutsrc').style.width = '260px';
 
if (isVisible('longdescbrowser'))
document.getElementById('longdesc').style.width = '180px';
 
// Check action
if (elm != null && elm.nodeName == "IMG")
action = "update";
 
formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
 
if (action == "update") {
var src = tinyMCE.getAttrib(elm, 'src');
var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
 
src = convertURL(src, elm, true);
 
// Use mce_src if found
var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
if (mceRealSrc != "") {
src = mceRealSrc;
 
if (tinyMCE.getParam('convert_urls'))
src = convertURL(src, elm, true);
}
 
if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
onmouseoversrc = convertURL(onmouseoversrc, elm, true);
 
if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
 
// Setup form data
var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
 
// Store away old size
orgImageWidth = trimSize(getStyle(elm, 'width'))
orgImageHeight = trimSize(getStyle(elm, 'height'));
 
formObj.src.value = src;
formObj.alt.value = tinyMCE.getAttrib(elm, 'alt');
formObj.title.value = tinyMCE.getAttrib(elm, 'title');
formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
formObj.width.value = orgImageWidth;
formObj.height.value = orgImageHeight;
formObj.onmouseoversrc.value = onmouseoversrc;
formObj.onmouseoutsrc.value = onmouseoutsrc;
formObj.id.value = tinyMCE.getAttrib(elm, 'id');
formObj.dir.value = tinyMCE.getAttrib(elm, 'dir');
formObj.lang.value = tinyMCE.getAttrib(elm, 'lang');
formObj.longdesc.value = tinyMCE.getAttrib(elm, 'longdesc');
formObj.usemap.value = tinyMCE.getAttrib(elm, 'usemap');
formObj.style.value = tinyMCE.serializeStyle(style);
 
// Select by the values
if (tinyMCE.isMSIE)
selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
else
selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
 
addClassesToList('classlist', 'advimage_styles');
 
selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
selectByValue(formObj, 'imagelistsrc', src);
selectByValue(formObj, 'imagelistover', onmouseoversrc);
selectByValue(formObj, 'imagelistout', onmouseoutsrc);
 
updateStyle();
showPreviewImage(src, true);
changeAppearance();
 
window.focus();
} else
addClassesToList('classlist', 'advimage_styles');
 
// If option enabled default contrain proportions to checked
if (tinyMCE.getParam("advimage_constrain_proportions", true))
formObj.constrain.checked = true;
 
// Check swap image if valid data
if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
setSwapImageDisabled(false);
else
setSwapImageDisabled(true);
}
 
function setSwapImageDisabled(state) {
var formObj = document.forms[0];
 
formObj.onmousemovecheck.checked = !state;
 
setBrowserDisabled('overbrowser', state);
setBrowserDisabled('outbrowser', state);
 
if (formObj.imagelistover)
formObj.imagelistover.disabled = state;
 
if (formObj.imagelistout)
formObj.imagelistout.disabled = state;
 
formObj.onmouseoversrc.disabled = state;
formObj.onmouseoutsrc.disabled = state;
}
 
function setAttrib(elm, attrib, value) {
var formObj = document.forms[0];
var valueElm = formObj.elements[attrib];
 
if (typeof(value) == "undefined" || value == null) {
value = "";
 
if (valueElm)
value = valueElm.value;
}
 
if (value != "") {
elm.setAttribute(attrib, value);
 
if (attrib == "style")
attrib = "style.cssText";
 
if (attrib == "longdesc")
attrib = "longDesc";
 
if (attrib == "width") {
attrib = "style.width";
value = value + "px";
value = value.replace(/%px/g, 'px');
}
 
if (attrib == "height") {
attrib = "style.height";
value = value + "px";
value = value.replace(/%px/g, 'px');
}
 
if (attrib == "class")
attrib = "className";
 
eval('elm.' + attrib + "=value;");
} else {
if (attrib == 'class')
elm.className = '';
 
elm.removeAttribute(attrib);
}
}
 
function makeAttrib(attrib, value) {
var formObj = document.forms[0];
var valueElm = formObj.elements[attrib];
 
if (typeof(value) == "undefined" || value == null) {
value = "";
 
if (valueElm)
value = valueElm.value;
}
 
if (value == "")
return "";
 
// XML encode it
value = value.replace(/&/g, '&amp;');
value = value.replace(/\"/g, '&quot;');
value = value.replace(/</g, '&lt;');
value = value.replace(/>/g, '&gt;');
 
return ' ' + attrib + '="' + value + '"';
}
 
function insertAction() {
var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
var elm = inst.getFocusElement();
var formObj = document.forms[0];
var src = formObj.src.value;
var onmouseoversrc = formObj.onmouseoversrc.value;
var onmouseoutsrc = formObj.onmouseoutsrc.value;
 
if (!AutoValidator.validate(formObj)) {
alert(tinyMCE.getLang('lang_invalid_data'));
return false;
}
 
if (tinyMCE.getParam("accessibility_warnings")) {
if (formObj.alt.value == "" && !confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)))
return;
}
 
if (onmouseoversrc && onmouseoversrc != "")
onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
 
if (onmouseoutsrc && onmouseoutsrc != "")
onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
 
if (elm != null && elm.nodeName == "IMG") {
setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
setAttrib(elm, 'mce_src', src);
setAttrib(elm, 'alt');
setAttrib(elm, 'title');
setAttrib(elm, 'border');
setAttrib(elm, 'vspace');
setAttrib(elm, 'hspace');
setAttrib(elm, 'width');
setAttrib(elm, 'height');
setAttrib(elm, 'onmouseover', onmouseoversrc);
setAttrib(elm, 'onmouseout', onmouseoutsrc);
setAttrib(elm, 'id');
setAttrib(elm, 'dir');
setAttrib(elm, 'lang');
setAttrib(elm, 'longdesc');
setAttrib(elm, 'usemap');
setAttrib(elm, 'style');
setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
 
//tinyMCEPopup.execCommand("mceRepaint");
 
// Repaint if dimensions changed
if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
inst.repaint();
 
// Refresh in old MSIE
if (tinyMCE.isMSIE5)
elm.outerHTML = elm.outerHTML;
} else {
var html = "<img";
 
html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
html += makeAttrib('mce_src', src);
html += makeAttrib('alt');
html += makeAttrib('title');
html += makeAttrib('border');
html += makeAttrib('vspace');
html += makeAttrib('hspace');
html += makeAttrib('width');
html += makeAttrib('height');
html += makeAttrib('onmouseover', onmouseoversrc);
html += makeAttrib('onmouseout', onmouseoutsrc);
html += makeAttrib('id');
html += makeAttrib('dir');
html += makeAttrib('lang');
html += makeAttrib('longdesc');
html += makeAttrib('usemap');
html += makeAttrib('style');
html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
html += makeAttrib('align', getSelectValue(formObj, 'align'));
html += " />";
 
tinyMCEPopup.execCommand("mceInsertContent", false, html);
}
 
tinyMCE._setEventsEnabled(inst.getBody(), false);
tinyMCEPopup.close();
}
 
function cancelAction() {
tinyMCEPopup.close();
}
 
function changeAppearance() {
var formObj = document.forms[0];
var img = document.getElementById('alignSampleImg');
 
if (img) {
img.align = formObj.align.value;
img.border = formObj.border.value;
img.hspace = formObj.hspace.value;
img.vspace = formObj.vspace.value;
}
}
 
function changeMouseMove() {
var formObj = document.forms[0];
 
setSwapImageDisabled(!formObj.onmousemovecheck.checked);
}
 
function updateStyle() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
if (tinyMCE.getParam('inline_styles', false)) {
st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
} else {
st['width'] = st['height'] = st['border-width'] = null;
 
if (st['margin-top'] == st['margin-bottom'])
st['margin-top'] = st['margin-bottom'] = null;
 
if (st['margin-left'] == st['margin-right'])
st['margin-left'] = st['margin-right'] = null;
}
 
formObj.style.value = tinyMCE.serializeStyle(st);
}
 
function styleUpdated() {
var formObj = document.forms[0];
var st = tinyMCE.parseStyle(formObj.style.value);
 
if (st['width'])
formObj.width.value = st['width'].replace('px', '');
 
if (st['height'])
formObj.height.value = st['height'].replace('px', '');
 
if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
formObj.vspace.value = st['margin-top'].replace('px', '');
 
if (st['margin-left'] && st['margin-left'] == st['margin-right'])
formObj.hspace.value = st['margin-left'].replace('px', '');
 
if (st['border-width'])
formObj.border.value = st['border-width'].replace('px', '');
}
 
function changeHeight() {
var formObj = document.forms[0];
 
if (!formObj.constrain.checked || !preloadImg) {
updateStyle();
return;
}
 
if (formObj.width.value == "" || formObj.height.value == "")
return;
 
var temp = (parseInt(formObj.width.value) / parseInt(preloadImg.width)) * preloadImg.height;
formObj.height.value = temp.toFixed(0);
updateStyle();
}
 
function changeWidth() {
var formObj = document.forms[0];
 
if (!formObj.constrain.checked || !preloadImg) {
updateStyle();
return;
}
 
if (formObj.width.value == "" || formObj.height.value == "")
return;
 
var temp = (parseInt(formObj.height.value) / parseInt(preloadImg.height)) * preloadImg.width;
formObj.width.value = temp.toFixed(0);
updateStyle();
}
 
function onSelectMainImage(target_form_element, name, value) {
var formObj = document.forms[0];
 
formObj.alt.value = name;
formObj.title.value = name;
 
resetImageData();
showPreviewImage(formObj.elements[target_form_element].value, false);
}
 
function showPreviewImage(src, start) {
var formObj = document.forms[0];
 
selectByValue(document.forms[0], 'imagelistsrc', src);
 
var elm = document.getElementById('prev');
var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
 
if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
resetImageData();
 
if (src == "")
elm.innerHTML = "";
else
elm.innerHTML = '<img id="previewImg" src="' + src + '" border="0" onload="updateImageData(' + start + ');" onerror="resetImageData();" />'
}
 
function updateImageData(start) {
var formObj = document.forms[0];
 
preloadImg = document.getElementById('previewImg');
 
if (!start && formObj.width.value == "")
formObj.width.value = preloadImg.width;
 
if (!start && formObj.height.value == "")
formObj.height.value = preloadImg.height;
 
updateStyle();
}
 
function resetImageData() {
var formObj = document.forms[0];
formObj.width.value = formObj.height.value = "";
}
 
function getSelectValue(form_obj, field_name) {
var elm = form_obj.elements[field_name];
 
if (elm == null || elm.options == null)
return "";
 
return elm.options[elm.selectedIndex].value;
}
 
function getImageListHTML(elm_id, target_form_element, onchange_func) {
if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
return "";
 
var html = "";
 
html += '<select id="' + elm_id + '" name="' + elm_id + '"';
html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
html += 'this.options[this.selectedIndex].value;';
 
if (typeof(onchange_func) != "undefined")
html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
 
html += '"><option value="">---</option>';
 
for (var i=0; i<tinyMCEImageList.length; i++)
html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
 
html += '</select>';
 
return html;
 
// tinyMCE.debug('-- image list start --', html, '-- image list end --');
}
 
// While loading
preinit();
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/langs/en.js
New file
0,0 → 1,27
// UK lang variables
 
tinyMCE.addToLang('advimage',{
tab_general : 'General',
tab_appearance : 'Appearance',
tab_advanced : 'Advanced',
general : 'General',
title : 'Title',
preview : 'Preview',
constrain_proportions : 'Constrain proportions',
langdir : 'Language direction',
langcode : 'Language code',
long_desc : 'Long description link',
style : 'Style',
classes : 'Classes',
ltr : 'Left to right',
rtl : 'Right to left',
id : 'Id',
image_map : 'Image map',
swap_image : 'Swap image',
alt_image : 'Alternative image',
mouseover : 'for mouse over',
mouseout : 'for mouse out',
misc : 'Miscellaneous',
example_img : 'Appearance&nbsp;preview&nbsp;image',
missing_alt : 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/langs/fr.js
New file
0,0 → 1,28
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('advimage',{
tab_general : 'G&eacute;n&eacute;rale',
tab_appearance : 'Apparence',
tab_advanced : 'Avanc&eacute;',
general : 'G&eacute;n&eacute;rale',
title : 'Titre',
preview : 'Pr&eacute;visualisation',
constrain_proportions : 'Conserver les proportions',
langdir : 'Sens d\'&eacute;criture',
langcode : 'Code de langue du libell&eacute;',
long_desc : 'Description du lien',
style : 'Style',
classes : 'Classes',
ltr : 'De gauche &agrave; droite',
rtl : 'De droite &agrave; gauche',
id : 'Id',
image_map : 'Image map',
swap_image : 'Image d\'&eacute;change',
alt_image : 'Image alternative',
mouseover : 'Quand le pointeur est au dessus',
mouseout : 'Quand le pointeur est en dehors',
misc : 'Divers',
example_img : 'Apparence&nbsp;pr&eacute;visualisation&nbsp;image',
missing_alt : 'Etes vous sur de vouloir continuer sans inclure une description de l\'image. Cette description est utile pour les utilisateurs ne pouvant pas afficher les images ou les ayant d&eacute;sactiv&eacute;es.'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/images/sample.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/images/sample.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js
New file
0,0 → 1,148
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('advimage');
 
var TinyMCE_AdvancedImagePlugin = {
getInfo : function() {
return {
longname : 'Advanced image',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "image":
return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
switch (command) {
case "mceAdvImage":
var template = new Array();
 
template['file'] = '../../plugins/advimage/image.htm';
template['width'] = 480;
template['height'] = 380;
 
// Language specific width and height addons
template['width'] += tinyMCE.getLang('lang_advimage_delta_width', 0);
template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
 
var inst = tinyMCE.getInstanceById(editor_id);
var elm = inst.getFocusElement();
 
if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)
return true;
 
tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
 
return true;
}
 
return false;
},
 
cleanup : function(type, content) {
switch (type) {
case "insert_to_editor_dom":
var imgs = content.getElementsByTagName("img"), src, i;
for (i=0; i<imgs.length; i++) {
var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
 
if ((src = this._getImageSrc(onmouseover)) != "") {
if (tinyMCE.getParam('convert_urls'))
src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
 
imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
}
 
if ((src = this._getImageSrc(onmouseout)) != "") {
if (tinyMCE.getParam('convert_urls'))
src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
 
imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
}
}
break;
 
case "get_from_editor_dom":
var imgs = content.getElementsByTagName("img");
for (var i=0; i<imgs.length; i++) {
var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
 
if ((src = this._getImageSrc(onmouseover)) != "") {
if (tinyMCE.getParam('convert_urls'))
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
 
imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
}
 
if ((src = this._getImageSrc(onmouseout)) != "") {
if (tinyMCE.getParam('convert_urls'))
src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
 
imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
}
}
break;
}
 
return content;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (node == null)
return;
 
do {
if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');
return true;
}
} while ((node = node.parentNode));
 
tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');
 
return true;
},
 
/**
* Returns the image src from a scripted mouse over image str.
*
* @param {string} s String to get real src from.
* @return Image src from a scripted mouse over image str.
* @type string
*/
_getImageSrc : function(s) {
var sr, p = -1;
 
if (!s)
return "";
 
if ((p = s.indexOf('this.src=')) != -1) {
sr = s.substring(p + 10);
sr = sr.substring(0, sr.indexOf('\''));
 
return sr;
}
 
return "";
}
};
 
tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('media');var TinyMCE_MediaPlugin={getInfo:function(){return{longname:'Media',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(inst.hasPlugin('flash')&&!tinyMCE.flashWarn){alert('Flash plugin is deprecated and should not be used together with the media plugin.');tinyMCE.flashWarn=true}if(!tinyMCE.settings['media_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/media/css/content.css")},getControlHTML:function(cn){switch(cn){case"media":return tinyMCE.getButtonHTML(cn,'lang_media_desc','{$pluginurl}/images/media.gif','mceMedia')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceMedia":tinyMCE.openWindow({file:'../../plugins/media/media.htm',width:430+tinyMCE.getLang('lang_media_delta_width',0),height:470+tinyMCE.getLang('lang_media_delta_height',0)},{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content,inst){var nl,img,i,ne,d,s,ci;switch(type){case"insert_to_editor":img=tinyMCE.getParam("theme_href")+'/images/spacer.gif';content=content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,'<img class="mceItem$1" title="$2" src="'+img+'" />');content=content.replace(/<object([^>]*)>/gi,'<div class="mceItemObject" $1>');content=content.replace(/<embed([^>]*)>/gi,'<div class="mceItemObjectEmbed" $1>');content=content.replace(/<\/(object|embed)([^>]*)>/gi,'</div>');content=content.replace(/<param([^>]*)>/gi,'<div $1 class="mceItemParam"></div>');content=content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>','gi'),'class="mceItemParam"></div>');break;case"insert_to_editor_dom":d=inst.getDoc();nl=content.getElementsByTagName("img");for(i=0;i<nl.length;i++){if(/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)){nl[i].width=nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g,'$1');nl[i].height=nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g,'$1');}}nl=tinyMCE.selectElements(content,'DIV',function(n){return tinyMCE.hasCSSClass(n,'mceItemObject')});for(i=0;i<nl.length;i++){ci=tinyMCE.getAttrib(nl[i],"classid").toLowerCase().replace(/\s+/g,'');switch(ci){case'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash',d,nl[i]),nl[i]);break;case'clsid:166b1bca-3f9c-11cf-8075-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave',d,nl[i]),nl[i]);break;case'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':case'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':case'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia',d,nl[i]),nl[i]);break;case'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime',d,nl[i]),nl[i]);break;case'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia',d,nl[i]),nl[i]);break}}nl=tinyMCE.selectNodes(content,function(n){return n.className=='mceItemObjectEmbed'});for(i=0;i<nl.length;i++){switch(tinyMCE.getAttrib(nl[i],'type')){case'application/x-shockwave-flash':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemFlash');break;case'application/x-director':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemShockWave');break;case'application/x-mplayer2':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemWindowsMedia');break;case'video/quicktime':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemQuickTime');break;case'audio/x-pn-realaudio-plugin':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemRealMedia');break}}break;case"get_from_editor":var startPos=-1,endPos,attribs,chunkBefore,chunkAfter,embedHTML,at,pl,cb,mt,ex;while((startPos=content.indexOf('<img',startPos+1))!=-1){endPos=content.indexOf('/>',startPos);attribs=TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos+4,endPos));if(!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))continue;endPos+=2;at=attribs['title'];if(at){at=at.replace(/&(#39|apos);/g,"'");at=at.replace(/&#quot;/g,'"');try{pl=eval('x={'+at+'};')}catch(ex){pl={}}}if(!tinyMCE.getParam('media_use_script',false)){switch(attribs['class']){case'mceItemFlash':ci='d27cdb6e-ae6d-11cf-96b8-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='application/x-shockwave-flash';break;case'mceItemShockWave':ci='166B1BCA-3F9C-11CF-8075-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';mt='application/x-director';break;case'mceItemWindowsMedia':ci=tinyMCE.getParam('media_wmp6_compatible')?'05589FA1-C356-11CE-BF01-00AA0055595A':'6BF52A52-394A-11D3-B153-00C04F79FAA6';cb='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';mt='application/x-mplayer2';break;case'mceItemQuickTime':ci='02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';cb='http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';mt='video/quicktime';break;case'mceItemRealMedia':ci='CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='audio/x-pn-realaudio-plugin';break}pl.src=tinyMCE.convertURL(pl.src,null,true);embedHTML=TinyMCE_MediaPlugin._getEmbed(ci,cb,mt,pl,attribs)}else{switch(attribs['class']){case'mceItemFlash':s='writeFlash';break;case'mceItemShockWave':s='writeShockWave';break;case'mceItemWindowsMedia':s='writeWindowsMedia';break;case'mceItemQuickTime':s='writeQuickTime';break;case'mceItemRealMedia':s='writeRealMedia';break}if(attribs.width)at=at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g,"width:'"+attribs.width+"'");if(attribs.height)at=at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g,"height:'"+attribs.height+"'");pl.src=tinyMCE.convertURL(pl.src,null,true);at=at.replace(new RegExp("src:'[^']*'","g"),"src:'"+pl.src+"'");embedHTML='<script type="text/javascript">'+s+'({'+at+'});</script>'}chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node,'class'))){tinyMCE.switchClass(editor_id+'_media','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_media','mceButtonNormal');return true},_createImgFromEmbed:function(n,d,cl){var ne,at,i,ti='',an;ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;at=n.attributes;for(i=0;i<at.length;i++){if(at[i].specified&&at[i].nodeValue){an=at[i].nodeName.toLowerCase();if(an=='src')continue;if(an=='mce_src')an='src';if(an.indexOf('mce_')==-1&&!new RegExp('^(class|type)$').test(an))ti+=an.toLowerCase()+':\''+at[i].nodeValue+"',"}}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;n.parentNode.replaceChild(ne,n)},_createImg:function(cl,d,n){var i,nl,ti="",an,av,al=new Array();ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;al.id=tinyMCE.getAttrib(n,'id');al.name=tinyMCE.getAttrib(n,'name');al.width=tinyMCE.getAttrib(n,'width');al.height=tinyMCE.getAttrib(n,'height');al.bgcolor=tinyMCE.getAttrib(n,'bgcolor');al.align=tinyMCE.getAttrib(n,'align');al.class_name=tinyMCE.getAttrib(n,'mce_class');nl=n.getElementsByTagName('div');for(i=0;i<nl.length;i++){av=tinyMCE.getAttrib(nl[i],'value');av=av.replace(new RegExp('\\\\','g'),'\\\\');av=av.replace(new RegExp('"','g'),'\\"');av=av.replace(new RegExp("'",'g'),"\\'");an=tinyMCE.getAttrib(nl[i],'name');al[an]=av}if(al.movie){al.src=al.movie;al.movie=null}for(an in al){if(al[an]!=null&&typeof(al[an])!="function"&&al[an]!='')ti+=an.toLowerCase()+':\''+al[an]+"',"}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;return ne},_getEmbed:function(cls,cb,mt,p,at){var h='',n;p.width=at.width?at.width:p.width;p.height=at.height?at.height:p.height;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?' id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?' name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?' width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?' height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?' align="'+p.align+'"':'';h+='>';for(n in p){if(typeof(p[n])!="undefined"&&typeof(p[n])!="function"){h+='<param name="'+n+'" value="'+p[n]+'" />';if(n=='src'&&p[n].indexOf('://')!=-1&&mt=='application/x-mplayer2')h+='<param name="url" value="'+p[n]+'" />'}}h+='<embed type="'+mt+'"';for(n in p){if(typeof(p[n])=="function")continue;if(!(n=='url'&&mt=='application/x-mplayer2'))h+=' '+n+'="'+p[n]+'"'}h+='></embed></object>';return h},_parseAttributes:function(attribute_string){var attributeName="",endChr='"';var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue){withInValue=true;endChr=chr}else if(chr==endChr&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("media",TinyMCE_MediaPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/jscripts/embed.js
New file
0,0 → 1,73
/**
* This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
*/
 
function writeFlash(p) {
writeEmbed(
'D27CDB6E-AE6D-11cf-96B8-444553540000',
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
'application/x-shockwave-flash',
p
);
}
 
function writeShockWave(p) {
writeEmbed(
'166B1BCA-3F9C-11CF-8075-444553540000',
'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
'application/x-director',
p
);
}
 
function writeQuickTime(p) {
writeEmbed(
'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
'video/quicktime',
p
);
}
 
function writeRealMedia(p) {
writeEmbed(
'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
'audio/x-pn-realaudio-plugin',
p
);
}
 
function writeWindowsMedia(p) {
p.url = p.src;
writeEmbed(
'6BF52A52-394A-11D3-B153-00C04F79FAA6',
'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
'application/x-mplayer2',
p
);
}
 
function writeEmbed(cls, cb, mt, p) {
var h = '', n;
 
h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
h += '>';
 
for (n in p)
h += '<param name="' + n + '" value="' + p[n] + '">';
 
h += '<embed type="' + mt + '"';
 
for (n in p)
h += n + '="' + p[n] + '" ';
 
h += '></embed></object>';
 
document.write(h);
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/jscripts/media.js
New file
0,0 → 1,594
var oldWidth, oldHeight;
var url = tinyMCE.getParam("media_external_list_url");
if (url != null) {
// Fix relative
if (url.charAt(0) != '/' && url.indexOf('://') == -1)
url = tinyMCE.documentBasePath + "/" + url;
 
document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
}
 
function init() {
var pl = "", f, val;
var type = "flash", fe, i;
 
tinyMCEPopup.resizeToInnerSize();
f = document.forms[0]
 
fe = tinyMCE.selectedInstance.getFocusElement();
if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
pl = "x={" + fe.title + "};";
 
switch (tinyMCE.getAttrib(fe, 'class')) {
case 'mceItemFlash':
type = 'flash';
break;
 
case 'mceItemShockWave':
type = 'shockwave';
break;
 
case 'mceItemWindowsMedia':
type = 'wmp';
break;
 
case 'mceItemQuickTime':
type = 'qt';
break;
 
case 'mceItemRealMedia':
type = 'rmp';
break;
}
 
document.forms[0].insert.value = tinyMCE.getLang('lang_update', 'Insert', true);
}
 
document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media');
document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
 
var html = getMediaListHTML('filebrowser','src','media','media');
if (html == "")
document.getElementById("linklistrow").style.display = 'none';
else
document.getElementById("linklistcontainer").innerHTML = html;
 
// Resize some elements
if (isVisible('filebrowsercontainer'))
document.getElementById('src').style.width = '230px';
 
// Setup form
if (pl != "") {
pl = eval(pl);
 
switch (type) {
case "flash":
setBool(pl, 'flash', 'play');
setBool(pl, 'flash', 'loop');
setBool(pl, 'flash', 'menu');
setBool(pl, 'flash', 'swliveconnect');
setStr(pl, 'flash', 'quality');
setStr(pl, 'flash', 'scale');
setStr(pl, 'flash', 'salign');
setStr(pl, 'flash', 'wmode');
setStr(pl, 'flash', 'base');
setStr(pl, 'flash', 'flashvars');
break;
 
case "qt":
setBool(pl, 'qt', 'loop');
setBool(pl, 'qt', 'autoplay');
setBool(pl, 'qt', 'cache');
setBool(pl, 'qt', 'controller');
setBool(pl, 'qt', 'correction');
setBool(pl, 'qt', 'enablejavascript');
setBool(pl, 'qt', 'kioskmode');
setBool(pl, 'qt', 'autohref');
setBool(pl, 'qt', 'playeveryframe');
setBool(pl, 'qt', 'tarsetcache');
setStr(pl, 'qt', 'scale');
setStr(pl, 'qt', 'starttime');
setStr(pl, 'qt', 'endtime');
setStr(pl, 'qt', 'tarset');
setStr(pl, 'qt', 'qtsrcchokespeed');
setStr(pl, 'qt', 'volume');
setStr(pl, 'qt', 'qtsrc');
break;
 
case "shockwave":
setBool(pl, 'shockwave', 'sound');
setBool(pl, 'shockwave', 'progress');
setBool(pl, 'shockwave', 'autostart');
setBool(pl, 'shockwave', 'swliveconnect');
setStr(pl, 'shockwave', 'swvolume');
setStr(pl, 'shockwave', 'swstretchstyle');
setStr(pl, 'shockwave', 'swstretchhalign');
setStr(pl, 'shockwave', 'swstretchvalign');
break;
 
case "wmp":
setBool(pl, 'wmp', 'autostart');
setBool(pl, 'wmp', 'enabled');
setBool(pl, 'wmp', 'enablecontextmenu');
setBool(pl, 'wmp', 'fullscreen');
setBool(pl, 'wmp', 'invokeurls');
setBool(pl, 'wmp', 'mute');
setBool(pl, 'wmp', 'stretchtofit');
setBool(pl, 'wmp', 'windowlessvideo');
setStr(pl, 'wmp', 'balance');
setStr(pl, 'wmp', 'baseurl');
setStr(pl, 'wmp', 'captioningid');
setStr(pl, 'wmp', 'currentmarker');
setStr(pl, 'wmp', 'currentposition');
setStr(pl, 'wmp', 'defaultframe');
setStr(pl, 'wmp', 'playcount');
setStr(pl, 'wmp', 'rate');
setStr(pl, 'wmp', 'uimode');
setStr(pl, 'wmp', 'volume');
break;
 
case "rmp":
setBool(pl, 'rmp', 'autostart');
setBool(pl, 'rmp', 'loop');
setBool(pl, 'rmp', 'autogotourl');
setBool(pl, 'rmp', 'center');
setBool(pl, 'rmp', 'imagestatus');
setBool(pl, 'rmp', 'maintainaspect');
setBool(pl, 'rmp', 'nojava');
setBool(pl, 'rmp', 'prefetch');
setBool(pl, 'rmp', 'shuffle');
setStr(pl, 'rmp', 'console');
setStr(pl, 'rmp', 'controls');
setStr(pl, 'rmp', 'numloop');
setStr(pl, 'rmp', 'scriptcallbacks');
break;
}
 
setStr(pl, null, 'src');
setStr(pl, null, 'id');
setStr(pl, null, 'name');
setStr(pl, null, 'vspace');
setStr(pl, null, 'hspace');
setStr(pl, null, 'bgcolor');
setStr(pl, null, 'align');
setStr(pl, null, 'width');
setStr(pl, null, 'height');
 
if ((val = tinyMCE.getAttrib(fe, "width")) != "")
pl.width = f.width.value = val;
 
if ((val = tinyMCE.getAttrib(fe, "height")) != "")
pl.height = f.height.value = val;
 
oldWidth = pl.width ? parseInt(pl.width) : 0;
oldHeight = pl.height ? parseInt(pl.height) : 0;
} else
oldWidth = oldHeight = 0;
 
selectByValue(f, 'media_type', type);
changedType(type);
updateColor('bgcolor_pick', 'bgcolor');
 
TinyMCE_EditableSelects.init();
generatePreview();
}
 
function insertMedia() {
var fe, f = document.forms[0], h;
 
if (!AutoValidator.validate(f)) {
alert(tinyMCE.getLang('lang_invalid_data'));
return false;
}
 
f.width.value = f.width.value == "" ? 100 : f.width.value;
f.height.value = f.height.value == "" ? 100 : f.height.value;
 
fe = tinyMCE.selectedInstance.getFocusElement();
if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
switch (f.media_type.options[f.media_type.selectedIndex].value) {
case "flash":
fe.className = "mceItemFlash";
break;
 
case "shockwave":
fe.className = "mceItemShockWave";
break;
 
case "qt":
fe.className = "mceItemQuickTime";
break;
 
case "wmp":
fe.className = "mceItemWindowsMedia";
break;
 
case "rmp":
fe.className = "mceItemRealMedia";
break;
}
 
if (fe.width != f.width.value || fe.height != f.height.height)
tinyMCE.selectedInstance.repaint();
 
fe.title = serializeParameters();
fe.width = f.width.value;
fe.height = f.height.value;
fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : '');
fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : '');
fe.align = f.align.options[f.align.selectedIndex].value;
} else {
h = '<img src="' + tinyMCE.getParam("theme_href") + '/images/spacer.gif"' ;
 
switch (f.media_type.options[f.media_type.selectedIndex].value) {
case "flash":
h += ' class="mceItemFlash"';
break;
 
case "shockwave":
h += ' class="mceItemShockWave"';
break;
 
case "qt":
h += ' class="mceItemQuickTime"';
break;
 
case "wmp":
h += ' class="mceItemWindowsMedia"';
break;
 
case "rmp":
h += ' class="mceItemRealMedia"';
break;
}
 
h += ' title="' + serializeParameters() + '"';
h += ' width="' + f.width.value + '"';
h += ' height="' + f.height.value + '"';
h += ' align="' + f.align.options[f.align.selectedIndex].value + '"';
 
h += ' />';
 
tinyMCE.selectedInstance.execCommand('mceInsertContent', false, h);
}
 
tinyMCEPopup.close();
}
 
function getMediaListHTML() {
if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) {
var html = "";
 
html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.src.value=this.options[this.selectedIndex].value;">';
html += '<option value="">---</option>';
 
for (var i=0; i<tinyMCEMediaList.length; i++)
html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>';
 
html += '</select>';
 
return html;
}
 
return "";
}
 
function getType(v) {
var fo, i, c, el, x, f = document.forms[0];
 
fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';');
 
// YouTube
if (v.indexOf('http://www.youtube.com/watch?v=') == 0 || v.indexOf('http://youtube.com/watch?v=') == 0) {
f.width.value = '425';
f.height.value = '350';
 
v = v.replace('http://youtube.com/watch?v=', '');
v = v.replace('http://www.youtube.com/watch?v=', '');
 
f.src.value = 'http://www.youtube.com/v/' + v;
return 'flash';
}
 
// Google video
if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) {
f.width.value = '425';
f.height.value = '326';
f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en';
return 'flash';
}
 
for (i=0; i<fo.length; i++) {
c = fo[i].split('=');
 
el = c[1].split(',');
for (x=0; x<el.length; x++)
if (v.indexOf('.' + el[x]) != -1)
return c[0];
}
 
return null;
}
 
function switchType(v) {
var t = getType(v), d = document, f = d.forms[0];
 
if (!t)
return;
 
selectByValue(d.forms[0], 'media_type', t);
changedType(t);
 
// Update qtsrc also
if (t == 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) {
alert(tinyMCE.getLang("lang_media_qt_stream_warn"));
 
if (f.qt_qtsrc.value == '')
f.qt_qtsrc.value = f.src.value;
}
}
 
function changedType(t) {
var d = document;
 
d.getElementById('flash_options').style.display = 'none';
d.getElementById('qt_options').style.display = 'none';
d.getElementById('shockwave_options').style.display = 'none';
d.getElementById('wmp_options').style.display = 'none';
d.getElementById('rmp_options').style.display = 'none';
d.getElementById(t + '_options').style.display = 'block';
}
 
function serializeParameters() {
var d = document, f = d.forms[0], s = '';
 
switch (f.media_type.options[f.media_type.selectedIndex].value) {
case "flash":
s += getBool('flash', 'play', true);
s += getBool('flash', 'loop', true);
s += getBool('flash', 'menu', true);
s += getBool('flash', 'swliveconnect', false);
s += getStr('flash', 'quality');
s += getStr('flash', 'scale');
s += getStr('flash', 'salign');
s += getStr('flash', 'wmode');
s += getStr('flash', 'base');
s += getStr('flash', 'flashvars');
break;
 
case "qt":
s += getBool('qt', 'loop', false);
s += getBool('qt', 'autoplay', true);
s += getBool('qt', 'cache', false);
s += getBool('qt', 'controller', true);
s += getBool('qt', 'correction', false, 'none', 'full');
s += getBool('qt', 'enablejavascript', false);
s += getBool('qt', 'kioskmode', false);
s += getBool('qt', 'autohref', false);
s += getBool('qt', 'playeveryframe', false);
s += getBool('qt', 'targetcache', false);
s += getStr('qt', 'scale');
s += getStr('qt', 'starttime');
s += getStr('qt', 'endtime');
s += getStr('qt', 'target');
s += getStr('qt', 'qtsrcchokespeed');
s += getStr('qt', 'volume');
s += getStr('qt', 'qtsrc');
break;
 
case "shockwave":
s += getBool('shockwave', 'sound');
s += getBool('shockwave', 'progress');
s += getBool('shockwave', 'autostart');
s += getBool('shockwave', 'swliveconnect');
s += getStr('shockwave', 'swvolume');
s += getStr('shockwave', 'swstretchstyle');
s += getStr('shockwave', 'swstretchhalign');
s += getStr('shockwave', 'swstretchvalign');
break;
 
case "wmp":
s += getBool('wmp', 'autostart', true);
s += getBool('wmp', 'enabled', false);
s += getBool('wmp', 'enablecontextmenu', true);
s += getBool('wmp', 'fullscreen', false);
s += getBool('wmp', 'invokeurls', true);
s += getBool('wmp', 'mute', false);
s += getBool('wmp', 'stretchtofit', false);
s += getBool('wmp', 'windowlessvideo', false);
s += getStr('wmp', 'balance');
s += getStr('wmp', 'baseurl');
s += getStr('wmp', 'captioningid');
s += getStr('wmp', 'currentmarker');
s += getStr('wmp', 'currentposition');
s += getStr('wmp', 'defaultframe');
s += getStr('wmp', 'playcount');
s += getStr('wmp', 'rate');
s += getStr('wmp', 'uimode');
s += getStr('wmp', 'volume');
break;
 
case "rmp":
s += getBool('rmp', 'autostart', false);
s += getBool('rmp', 'loop', false);
s += getBool('rmp', 'autogotourl', true);
s += getBool('rmp', 'center', false);
s += getBool('rmp', 'imagestatus', true);
s += getBool('rmp', 'maintainaspect', false);
s += getBool('rmp', 'nojava', false);
s += getBool('rmp', 'prefetch', false);
s += getBool('rmp', 'shuffle', false);
s += getStr('rmp', 'console');
s += getStr('rmp', 'controls');
s += getStr('rmp', 'numloop');
s += getStr('rmp', 'scriptcallbacks');
break;
}
 
s += getStr(null, 'id');
s += getStr(null, 'name');
s += getStr(null, 'src');
s += getStr(null, 'align');
s += getStr(null, 'bgcolor');
s += getInt(null, 'vspace');
s += getInt(null, 'hspace');
s += getStr(null, 'width');
s += getStr(null, 'height');
 
s = s.length > 0 ? s.substring(0, s.length - 1) : s;
 
return s;
}
 
function setBool(pl, p, n) {
if (typeof(pl[n]) == "undefined")
return;
 
document.forms[0].elements[p + "_" + n].checked = pl[n];
}
 
function setStr(pl, p, n) {
var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n];
 
if (typeof(pl[n]) == "undefined")
return;
 
if (e.type == "text")
e.value = pl[n];
else
selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]);
}
 
function getBool(p, n, d, tv, fv) {
var v = document.forms[0].elements[p + "_" + n].checked;
 
tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'";
fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'";
 
return (v == d) ? '' : n + (v ? ':' + tv + ',' : ':' + fv + ',');
}
 
function getStr(p, n, d) {
var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
 
return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',");
}
 
function getInt(p, n, d) {
var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
 
return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ",");
}
 
function jsEncode(s) {
s = s.replace(new RegExp('\\\\', 'g'), '\\\\');
s = s.replace(new RegExp('"', 'g'), '\\"');
s = s.replace(new RegExp("'", 'g'), "\\'");
 
return s;
}
 
function generatePreview(c) {
var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh;
 
p.innerHTML = '<!-- x --->';
 
nw = parseInt(f.width.value);
nh = parseInt(f.height.value);
 
if (f.width.value != "" && f.height.value != "") {
if (f.constrain.checked) {
if (c == 'width' && oldWidth != 0) {
wp = nw / oldWidth;
nh = Math.round(wp * nh);
f.height.value = nh;
} else if (c == 'height' && oldHeight != 0) {
hp = nh / oldHeight;
nw = Math.round(hp * nw);
f.width.value = nw;
}
}
}
 
if (f.width.value != "")
oldWidth = nw;
 
if (f.height.value != "")
oldHeight = nh;
 
// After constrain
pl = serializeParameters();
 
switch (f.media_type.options[f.media_type.selectedIndex].value) {
case "flash":
cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
type = 'application/x-shockwave-flash';
break;
 
case "shockwave":
cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';
codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
type = 'application/x-director';
break;
 
case "qt":
cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
type = 'video/quicktime';
break;
 
case "wmp":
cls = tinyMCE.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
type = 'application/x-mplayer2';
break;
 
case "rmp":
cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
type = 'audio/x-pn-realaudio-plugin';
break;
}
 
if (pl == '') {
p.innerHTML = '';
return;
}
 
pl = eval('x={' + pl + '};');
 
if (!pl.src) {
p.innerHTML = '';
return;
}
 
pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
pl.width = !pl.width ? 100 : pl.width;
pl.height = !pl.height ? 100 : pl.height;
pl.id = !pl.id ? 'obj' : pl.id;
pl.name = !pl.name ? 'eobj' : pl.name;
pl.align = !pl.align ? '' : pl.align;
 
h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
 
for (n in pl) {
h += '<param name="' + n + '" value="' + pl[n] + '">';
 
// Add extra url parameter if it's an absolute URL
if (n == 'src' && pl[n].indexOf('://') != -1)
h += '<param name="url" value="' + pl[n] + '" />';
}
 
h += '<embed type="' + type + '" ';
 
for (n in pl)
h += n + '="' + pl[n] + '" ';
 
h += '></embed></object>';
 
p.innerHTML = "<!-- x --->" + h;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/langs/fr.js
New file
0,0 → 1,95
// FR lang variables
// Modified by shadow walker, last updated 2007-03-16, based on the work of Motte
 
tinyMCE.addToLang('media',{
title : 'Ins&eacute;rer / Editer des medias',
desc : 'Ins&eacute;rer / Editer des medias',
general : 'G&eacute;n&eacute;ral',
advanced : 'Avancement',
file : 'Fichier',
list : 'Liste',
size : 'Taille',
preview : 'Pr&eacute;visualisation',
constrain_proportions : 'Garder les proportions',
type : 'Type',
id : 'Id',
name : 'Nom',
class_name : 'Classe',
vspace : 'V-Space',
hspace : 'H-Space',
play : 'Lecture automatique',
loop : 'R&eacute;p&eacute;ter',
menu : 'Menu',
quality : 'Qualit&eacute;',
scale : 'Balance',
align : 'Aligner',
salign : 'SAlign',
wmode : 'WMode',
bgcolor : 'Arri�e plan',
base : 'Base',
flashvars : 'Flashvars',
liveconnect : 'SWLiveConnect',
autohref : 'AutoHREF',
cache : 'Cache',
hidden : 'Cache',
controller : 'Controleur',
kioskmode : 'Mode Kioske',
playeveryframe : 'Jouer chaque partie',
targetcache : 'Cible cach&eacute;e',
correction : 'Pas de corrections',
enablejavascript : 'Permettre le JavaScript',
starttime : 'D&eacute;but',
endtime : 'Fin',
href : 'Href',
qtsrcchokespeed : 'Vitesse de d&eacute;roulement',
target : 'Cible',
volume : 'Volume',
autostart : 'D&eacute;marrer automatiquement',
enabled : 'Autoris&eacute;',
fullscreen : 'Plein &eacute;cran',
invokeurls : 'Invoke URLs',
mute : 'Muet',
stretchtofit : 'Redimensionner',
windowlessvideo : 'Vid&eacute;o sans fen�re',
balance : 'Balance',
baseurl : 'URL de base',
captioningid : 'Captioning id',
currentmarker : 'Markeur actuel',
currentposition : 'Position actuelle',
defaultframe : 'Par d&eacute;faut',
playcount : 'Nombre delecture',
rate : 'Taux',
uimode : 'Mode UI',
flash_options : 'Options flash',
qt_options : 'Options quicktime',
wmp_options : 'Options windows media player',
rmp_options : 'Options real media player',
shockwave_options : 'Options shockwave',
autogotourl : 'Auto goto URL',
center : 'Centre',
imagestatus : 'Statut de l\'image',
maintainaspect : 'Maintenir l\'aspect',
nojava : 'Pas de java',
prefetch : 'Pr&eacute;-chargement',
shuffle : 'Al&eacute;atoire',
console : 'Console',
numloop : 'Nombre de boucles',
controls : 'Controles',
scriptcallbacks : 'Script callbacks',
swstretchstyle : 'Stretch style',
swstretchhalign : 'Stretch H-Align',
swstretchvalign : 'Stretch V-Align',
sound : 'Son',
progress : 'Avancement',
qtsrc : 'QT Src',
qt_stream_warn : 'Les flux rtsp doivent �re ajout&eacute;s au champ QT Src dans l\'onglet avanc&eacute;.\nVous devriez ajouter une version sans flux au champ Src..',
align_top : 'Haut',
align_right : 'Droite',
align_bottom : 'Bas',
align_left : 'Gauche',
align_center : 'Centrer',
align_top_left : 'Haut gauche',
align_top_right : 'Haut droit',
align_bottom_left : 'Bas gauche',
align_bottom_right : 'Bas droite'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/langs/en.js
New file
0,0 → 1,94
// UK lang variables
 
tinyMCE.addToLang('media',{
title : 'Insert / edit embedded media',
desc : 'Insert / edit embedded media',
general : 'General',
advanced : 'Advanced',
file : 'File/URL',
list : 'List',
size : 'Dimensions',
preview : 'Preview',
constrain_proportions : 'Constrain proportions',
type : 'Type',
id : 'Id',
name : 'Name',
class_name : 'Class',
vspace : 'V-Space',
hspace : 'H-Space',
play : 'Auto play',
loop : 'Loop',
menu : 'Show menu',
quality : 'Quality',
scale : 'Scale',
align : 'Align',
salign : 'SAlign',
wmode : 'WMode',
bgcolor : 'Background',
base : 'Base',
flashvars : 'Flashvars',
liveconnect : 'SWLiveConnect',
autohref : 'AutoHREF',
cache : 'Cache',
hidden : 'Hidden',
controller : 'Controller',
kioskmode : 'Kiosk mode',
playeveryframe : 'Play every frame',
targetcache : 'Target cache',
correction : 'No correction',
enablejavascript : 'Enable JavaScript',
starttime : 'Start time',
endtime : 'End time',
href : 'Href',
qtsrcchokespeed : 'Choke speed',
target : 'Target',
volume : 'Volume',
autostart : 'Auto start',
enabled : 'Enabled',
fullscreen : 'Fullscreen',
invokeurls : 'Invoke URLs',
mute : 'Mute',
stretchtofit : 'Stretch to fit',
windowlessvideo : 'Windowless video',
balance : 'Balance',
baseurl : 'Base URL',
captioningid : 'Captioning id',
currentmarker : 'Current marker',
currentposition : 'Current position',
defaultframe : 'Default frame',
playcount : 'Play count',
rate : 'Rate',
uimode : 'UI Mode',
flash_options : 'Flash options',
qt_options : 'Quicktime options',
wmp_options : 'Windows media player options',
rmp_options : 'Real media player options',
shockwave_options : 'Shockwave options',
autogotourl : 'Auto goto URL',
center : 'Center',
imagestatus : 'Image status',
maintainaspect : 'Maintain aspect',
nojava : 'No java',
prefetch : 'Prefetch',
shuffle : 'Shuffle',
console : 'Console',
numloop : 'Num loops',
controls : 'Controls',
scriptcallbacks : 'Script callbacks',
swstretchstyle : 'Stretch style',
swstretchhalign : 'Stretch H-Align',
swstretchvalign : 'Stretch V-Align',
sound : 'Sound',
progress : 'Progress',
qtsrc : 'QT Src',
qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..',
align_top : 'Top',
align_right : 'Right',
align_bottom : 'Bottom',
align_left : 'Left',
align_center : 'Center',
align_top_left : 'Top left',
align_top_right : 'Top right',
align_bottom_left : 'Bottom left',
align_bottom_right : 'Bottom right'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/realmedia.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/realmedia.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/shockwave.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/shockwave.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/windowsmedia.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/windowsmedia.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/quicktime.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/quicktime.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/flash.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/flash.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/media.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/images/media.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/editor_plugin_src.js
New file
0,0 → 1,432
/**
* $Id: editor_plugin_src.js 296 2007-08-21 10:36:35Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('media');
 
var TinyMCE_MediaPlugin = {
getInfo : function() {
return {
longname : 'Media',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
// Warn if user has flash plugin and media plugin at the same time
if (inst.hasPlugin('flash') && !tinyMCE.flashWarn) {
alert('Flash plugin is deprecated and should not be used together with the media plugin.');
tinyMCE.flashWarn = true;
}
 
if (!tinyMCE.settings['media_skip_plugin_css'])
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/media/css/content.css");
},
 
getControlHTML : function(cn) {
switch (cn) {
case "media":
return tinyMCE.getButtonHTML(cn, 'lang_media_desc', '{$pluginurl}/images/media.gif', 'mceMedia');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceMedia":
tinyMCE.openWindow({
file : '../../plugins/media/media.htm',
width : 430 + tinyMCE.getLang('lang_media_delta_width', 0),
height : 470 + tinyMCE.getLang('lang_media_delta_height', 0)
}, {
editor_id : editor_id,
inline : "yes"
});
 
return true;
}
 
// Pass to next handler in chain
return false;
},
 
cleanup : function(type, content, inst) {
var nl, img, i, ne, d, s, ci;
 
switch (type) {
case "insert_to_editor":
img = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
content = content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, '<img class="mceItem$1" title="$2" src="' + img + '" />');
content = content.replace(/<object([^>]*)>/gi, '<div class="mceItemObject" $1>');
content = content.replace(/<embed([^>]*)>/gi, '<div class="mceItemObjectEmbed" $1>');
content = content.replace(/<\/(object|embed)([^>]*)>/gi, '</div>');
content = content.replace(/<param([^>]*)>/gi, '<div $1 class="mceItemParam"></div>');
content = content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>', 'gi'), 'class="mceItemParam"></div>');
break;
 
case "insert_to_editor_dom":
d = inst.getDoc();
nl = content.getElementsByTagName("img");
for (i=0; i<nl.length; i++) {
if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)) {
nl[i].width = nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g, '$1');
nl[i].height = nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g, '$1');
//nl[i].align = nl[i].title.replace(/.*align:([a-z]+).*/gi, '$1');
}
}
 
nl = tinyMCE.selectElements(content, 'DIV', function (n) {return tinyMCE.hasCSSClass(n, 'mceItemObject');});
for (i=0; i<nl.length; i++) {
ci = tinyMCE.getAttrib(nl[i], "classid").toLowerCase().replace(/\s+/g, '');
 
switch (ci) {
case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':
nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash', d, nl[i]), nl[i]);
break;
 
case 'clsid:166b1bca-3f9c-11cf-8075-444553540000':
nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave', d, nl[i]), nl[i]);
break;
 
case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':
case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':
case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':
nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia', d, nl[i]), nl[i]);
break;
 
case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':
nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime', d, nl[i]), nl[i]);
break;
 
case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':
nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia', d, nl[i]), nl[i]);
break;
}
}
 
// Handle embed (if any)
nl = tinyMCE.selectNodes(content, function (n) {return n.className == 'mceItemObjectEmbed';});
for (i=0; i<nl.length; i++) {
switch (tinyMCE.getAttrib(nl[i], 'type')) {
case 'application/x-shockwave-flash':
TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemFlash');
break;
 
case 'application/x-director':
TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemShockWave');
break;
 
case 'application/x-mplayer2':
TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemWindowsMedia');
break;
 
case 'video/quicktime':
TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemQuickTime');
break;
 
case 'audio/x-pn-realaudio-plugin':
TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemRealMedia');
break;
}
}
break;
 
case "get_from_editor":
var startPos = -1, endPos, attribs, chunkBefore, chunkAfter, embedHTML, at, pl, cb, mt, ex;
 
while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
endPos = content.indexOf('/>', startPos);
attribs = TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos + 4, endPos));
 
// Is not flash, skip it
if (!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))
continue;
 
endPos += 2;
 
// Parse attributes
at = attribs['title'];
if (at) {
at = at.replace(/&(#39|apos);/g, "'");
at = at.replace(/&#quot;/g, '"');
 
try {
pl = eval('x={' + at + '};');
} catch (ex) {
pl = {};
}
}
 
// Use object/embed
if (!tinyMCE.getParam('media_use_script', false)) {
switch (attribs['class']) {
case 'mceItemFlash':
ci = 'd27cdb6e-ae6d-11cf-96b8-444553540000';
cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
mt = 'application/x-shockwave-flash';
break;
 
case 'mceItemShockWave':
ci = '166B1BCA-3F9C-11CF-8075-444553540000';
cb = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
mt = 'application/x-director';
break;
 
case 'mceItemWindowsMedia':
ci = tinyMCE.getParam('media_wmp6_compatible') ? '05589FA1-C356-11CE-BF01-00AA0055595A' : '6BF52A52-394A-11D3-B153-00C04F79FAA6';
cb = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
mt = 'application/x-mplayer2';
break;
 
case 'mceItemQuickTime':
ci = '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
cb = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
mt = 'video/quicktime';
break;
 
case 'mceItemRealMedia':
ci = 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
mt = 'audio/x-pn-realaudio-plugin';
break;
}
 
// Convert the URL
pl.src = tinyMCE.convertURL(pl.src, null, true);
 
embedHTML = TinyMCE_MediaPlugin._getEmbed(ci, cb, mt, pl, attribs);
} else {
// Use script version
switch (attribs['class']) {
case 'mceItemFlash':
s = 'writeFlash';
break;
 
case 'mceItemShockWave':
s = 'writeShockWave';
break;
 
case 'mceItemWindowsMedia':
s = 'writeWindowsMedia';
break;
 
case 'mceItemQuickTime':
s = 'writeQuickTime';
break;
 
case 'mceItemRealMedia':
s = 'writeRealMedia';
break;
}
 
if (attribs.width)
at = at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g, "width:'" + attribs.width + "'");
 
if (attribs.height)
at = at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g, "height:'" + attribs.height + "'");
 
// Force absolute URL
pl.src = tinyMCE.convertURL(pl.src, null, true);
at = at.replace(new RegExp("src:'[^']*'", "g"), "src:'" + pl.src + "'");
 
embedHTML = '<script type="text/javascript">' + s + '({' + at + '});</script>';
}
 
// Insert embed/object chunk
chunkBefore = content.substring(0, startPos);
chunkAfter = content.substring(endPos);
content = chunkBefore + embedHTML + chunkAfter;
}
break;
}
 
return content;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
if (node == null)
return;
 
do {
if (node.nodeName == "IMG" && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node, 'class'))) {
tinyMCE.switchClass(editor_id + '_media', 'mceButtonSelected');
return true;
}
} while ((node = node.parentNode));
 
tinyMCE.switchClass(editor_id + '_media', 'mceButtonNormal');
 
return true;
},
 
_createImgFromEmbed : function(n, d, cl) {
var ne, at, i, ti = '', an;
 
ne = d.createElement('img');
ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
ne.width = tinyMCE.getAttrib(n, 'width');
ne.height = tinyMCE.getAttrib(n, 'height');
ne.className = cl;
 
at = n.attributes;
for (i=0; i<at.length; i++) {
if (at[i].specified && at[i].nodeValue) {
an = at[i].nodeName.toLowerCase();
 
if (an == 'src')
continue;
 
if (an == 'mce_src')
an = 'src';
 
if (an.indexOf('mce_') == -1 && !new RegExp('^(class|type)$').test(an))
ti += an.toLowerCase() + ':\'' + at[i].nodeValue + "',";
}
}
 
ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
ne.title = ti;
 
n.parentNode.replaceChild(ne, n);
},
 
_createImg : function(cl, d, n) {
var i, nl, ti = "", an, av, al = new Array();
 
ne = d.createElement('img');
ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
ne.width = tinyMCE.getAttrib(n, 'width');
ne.height = tinyMCE.getAttrib(n, 'height');
ne.className = cl;
 
al.id = tinyMCE.getAttrib(n, 'id');
al.name = tinyMCE.getAttrib(n, 'name');
al.width = tinyMCE.getAttrib(n, 'width');
al.height = tinyMCE.getAttrib(n, 'height');
al.bgcolor = tinyMCE.getAttrib(n, 'bgcolor');
al.align = tinyMCE.getAttrib(n, 'align');
al.class_name = tinyMCE.getAttrib(n, 'mce_class');
 
nl = n.getElementsByTagName('div');
for (i=0; i<nl.length; i++) {
av = tinyMCE.getAttrib(nl[i], 'value');
av = av.replace(new RegExp('\\\\', 'g'), '\\\\');
av = av.replace(new RegExp('"', 'g'), '\\"');
av = av.replace(new RegExp("'", 'g'), "\\'");
an = tinyMCE.getAttrib(nl[i], 'name');
al[an] = av;
}
 
if (al.movie) {
al.src = al.movie;
al.movie = null;
}
 
for (an in al) {
if (al[an] != null && typeof(al[an]) != "function" && al[an] != '')
ti += an.toLowerCase() + ':\'' + al[an] + "',";
}
 
ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
ne.title = ti;
 
return ne;
},
 
_getEmbed : function(cls, cb, mt, p, at) {
var h = '', n;
 
p.width = at.width ? at.width : p.width;
p.height = at.height ? at.height : p.height;
 
h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
h += typeof(p.id) != "undefined" ? ' id="' + p.id + '"' : '';
h += typeof(p.name) != "undefined" ? ' name="' + p.name + '"' : '';
h += typeof(p.width) != "undefined" ? ' width="' + p.width + '"' : '';
h += typeof(p.height) != "undefined" ? ' height="' + p.height + '"' : '';
h += typeof(p.align) != "undefined" ? ' align="' + p.align + '"' : '';
h += '>';
 
for (n in p) {
if (typeof(p[n]) != "undefined" && typeof(p[n]) != "function") {
h += '<param name="' + n + '" value="' + p[n] + '" />';
 
// Add extra url parameter if it's an absolute URL on WMP
if (n == 'src' && p[n].indexOf('://') != -1 && mt == 'application/x-mplayer2')
h += '<param name="url" value="' + p[n] + '" />';
}
}
 
h += '<embed type="' + mt + '"';
 
for (n in p) {
if (typeof(p[n]) == "function")
continue;
 
// Skip url parameter for embed tag on WMP
if (!(n == 'url' && mt == 'application/x-mplayer2'))
h += ' ' + n + '="' + p[n] + '"';
}
 
h += '></embed></object>';
 
return h;
},
 
_parseAttributes : function(attribute_string) {
var attributeName = "", endChr = '"';
var attributeValue = "";
var withInName;
var withInValue;
var attributes = new Array();
var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
 
if (attribute_string == null || attribute_string.length < 2)
return null;
 
withInName = withInValue = false;
 
for (var i=0; i<attribute_string.length; i++) {
var chr = attribute_string.charAt(i);
 
if ((chr == '"' || chr == "'") && !withInValue) {
withInValue = true;
endChr = chr;
} else if (chr == endChr && withInValue) {
withInValue = false;
 
var pos = attributeName.lastIndexOf(' ');
if (pos != -1)
attributeName = attributeName.substring(pos+1);
 
attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
 
attributeName = "";
attributeValue = "";
} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
withInName = true;
 
if (chr == '=' && withInName)
withInName = false;
 
if (withInName)
attributeName += chr;
 
if (withInValue)
attributeValue += chr;
}
 
return attributes;
}
};
 
tinyMCE.addPlugin("media", TinyMCE_MediaPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/media.htm
New file
0,0 → 1,723
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_media_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/media.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
<link href="css/media.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertMedia();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');generatePreview();" onmousedown="return false;">{$lang_media_general}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_media_advanced}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_media_general}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="media_type">{$lang_media_type}</label></td>
<td>
<select id="media_type" name="media_type" onchange="changedType(this.value);generatePreview();">
<option value="flash">Flash</option>
<option value="qt">Quicktime</option>
<option value="shockwave">Shockwave</option>
<option value="wmp">Windows Media</option>
<option value="rmp">Real Media</option>
</select>
</td>
</tr>
<tr>
<td><label for="src">{$lang_media_file}</label></td>
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input id="src" name="src" type="text" value="" onchange="switchType(this.value);generatePreview();" /></td>
<td id="filebrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr id="linklistrow">
<td><label for="linklist">{$lang_media_list}</label></td>
<td id="linklistcontainer">&nbsp;</td>
</tr>
<tr>
<td><label for="width">{$lang_media_size}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="text" id="width" name="width" value="" class="size" onchange="generatePreview('width');" /> x <input type="text" id="height" name="height" value="" class="size" onchange="generatePreview('height');" /></td>
<td>&nbsp;&nbsp;<input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
<td><label id="constrainlabel" for="constrain">{$lang_media_constrain_proportions}</label></td>
</tr>
</table>
</tr>
</table>
</fieldset>
 
<fieldset>
<legend>{$lang_media_preview}</legend>
<div id="prev"></div>
</fieldset>
</div>
 
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_media_advanced}</legend>
 
<table border="0" cellpadding="4" cellspacing="0" width="100%">
<tr>
<td><label for="id">{$lang_media_id}</label></td>
<td><input type="text" id="id" name="id" onchange="generatePreview();" /></td>
<td><label for="name">{$lang_media_name}</label></td>
<td><input type="text" id="name" name="name" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="align">{$lang_media_align}</label></td>
<td>
<select id="align" name="align" onchange="generatePreview();">
<option value="">{$lang_not_set}</option>
<option value="top">{$lang_media_align_top}</option>
<option value="right">{$lang_media_align_right}</option>
<option value="bottom">{$lang_media_align_bottom}</option>
<option value="left">{$lang_media_align_left}</option>
</select>
</td>
 
<td><label for="bgcolor">{$lang_media_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');generatePreview();" /></td>
<td id="bgcolor_pickcontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="vspace">{$lang_media_vspace}</label></td>
<td><input type="text" id="vspace" name="vspace" class="number" onchange="generatePreview();" /></td>
<td><label for="hspace">{$lang_media_hspace}</label></td>
<td><input type="text" id="hspace" name="hspace" class="number" onchange="generatePreview();" /></td>
</tr>
</table>
</fieldset>
 
<fieldset id="flash_options">
<legend>{$lang_media_flash_options}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="flash_quality">{$lang_media_quality}</label></td>
<td>
<select id="flash_quality" name="flash_quality" onchange="generatePreview();">
<option value="">{$lang_not_set}</option>
<option value="high">high</option>
<option value="low">low</option>
<option value="autolow">autolow</option>
<option value="autohigh">autohigh</option>
<option value="best">best</option>
</select>
</td>
 
<td><label for="flash_scale">{$lang_media_scale}</label></td>
<td>
<select id="flash_scale" name="flash_scale" onchange="generatePreview();">
<option value="">{$lang_not_set}</option>
<option value="showall">showall</option>
<option value="noborder">noborder</option>
<option value="exactfit">exactfit</option>
</select>
</td>
</tr>
 
<tr>
<td><label for="flash_wmode">{$lang_media_wmode}</label></td>
<td>
<select id="flash_wmode" name="flash_wmode" onchange="generatePreview();">
<option value="">{$lang_not_set}</option>
<option value="window">window</option>
<option value="opaque">opaque</option>
<option value="transparent">transparent</option>
</select>
</td>
 
<td><label for="flash_salign">{$lang_media_salign}</label></td>
<td>
<select id="flash_salign" name="flash_salign" onchange="generatePreview();">
<option value="">{$lang_not_set}</option>
<option value="l">{$lang_media_align_left}</option>
<option value="t">{$lang_media_align_top}</option>
<option value="r">{$lang_media_align_right}</option>
<option value="b">{$lang_media_align_bottom}</option>
<option value="tl">{$lang_media_align_top_left}</option>
<option value="tr">{$lang_media_align_top_right}</option>
<option value="bl">{$lang_media_align_bottom_left}</option>
<option value="br">{$lang_media_align_bottom_right}</option>
</select>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="generatePreview();" /></td>
<td><label for="flash_play">{$lang_media_play}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="generatePreview();" /></td>
<td><label for="flash_loop">{$lang_media_loop}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="generatePreview();" /></td>
<td><label for="flash_menu">{$lang_media_menu}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="generatePreview();" /></td>
<td><label for="flash_swliveconnect">{$lang_media_liveconnect}</label></td>
</tr>
</table>
</td>
</tr>
</table>
 
<table>
<tr>
<td><label for="flash_base">{$lang_media_base}</label></td>
<td><input type="text" id="flash_base" name="flash_base" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="flash_flashvars">{$lang_media_flashvars}</label></td>
<td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="generatePreview();" /></td>
</tr>
</table>
</fieldset>
 
<fieldset id="qt_options">
<legend>{$lang_media_qt_options}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_loop" name="qt_loop" onchange="generatePreview();" /></td>
<td><label for="qt_loop">{$lang_media_loop}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_autoplay" name="qt_autoplay" checked="checked" onchange="generatePreview();" /></td>
<td><label for="qt_autoplay">{$lang_media_play}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_cache" name="qt_cache" onchange="generatePreview();" /></td>
<td><label for="qt_cache">{$lang_media_cache}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_controller" name="qt_controller" checked="checked" onchange="generatePreview();" /></td>
<td><label for="qt_controller">{$lang_media_controller}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_correction" name="qt_correction" onchange="generatePreview();" /></td>
<td><label for="qt_correction">{$lang_media_correction}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_enablejavascript" name="qt_enablejavascript" onchange="generatePreview();" /></td>
<td><label for="qt_enablejavascript">{$lang_media_enablejavascript}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_kioskmode" name="qt_kioskmode" onchange="generatePreview();" /></td>
<td><label for="qt_kioskmode">{$lang_media_kioskmode}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_autohref" name="qt_autohref" onchange="generatePreview();" /></td>
<td><label for="qt_autohref">{$lang_media_autohref}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_playeveryframe" name="qt_playeveryframe" onchange="generatePreview();" /></td>
<td><label for="qt_playeveryframe">{$lang_media_playeveryframe}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="qt_targetcache" name="qt_targetcache" onchange="generatePreview();" /></td>
<td><label for="qt_targetcache">{$lang_media_targetcache}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="qt_scale">{$lang_media_scale}</label></td>
<td><select id="qt_scale" name="qt_scale" class="mceEditableSelect" onchange="generatePreview();">
<option value="">{$lang_not_set}</option>
<option value="tofit">tofit</option>
<option value="aspect">aspect</option>
</select>
</td>
 
<td colspan="2">&nbsp;</td>
</tr>
 
<tr>
<td><label for="qt_starttime">{$lang_media_starttime}</label></td>
<td><input type="text" id="qt_starttime" name="qt_starttime" onchange="generatePreview();" /></td>
 
<td><label for="qt_endtime">{$lang_media_endtime}</label></td>
<td><input type="text" id="qt_endtime" name="qt_endtime" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="qt_target">{$lang_media_target}</label></td>
<td><input type="text" id="qt_target" name="qt_target" onchange="generatePreview();" /></td>
 
<td><label for="qt_href">{$lang_media_href}</label></td>
<td><input type="text" id="qt_href" name="qt_href" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="qt_qtsrcchokespeed">{$lang_media_qtsrcchokespeed}</label></td>
<td><input type="text" id="qt_qtsrcchokespeed" name="qt_qtsrcchokespeed" onchange="generatePreview();" /></td>
 
<td><label for="qt_volume">{$lang_media_volume}</label></td>
<td><input type="text" id="qt_volume" name="qt_volume" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="qt_qtsrc">{$lang_media_qtsrc}</label></td>
<td colspan="4">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" id="qt_qtsrc" name="qt_qtsrc" onchange="generatePreview();" /></td>
<td id="qtsrcfilebrowsercontainer">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
 
<fieldset id="wmp_options">
<legend>{$lang_media_wmp_options}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_autostart" name="wmp_autostart" checked="checked" onchange="generatePreview();" /></td>
<td><label for="wmp_autostart">{$lang_media_autostart}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_enabled" name="wmp_enabled" onchange="generatePreview();" /></td>
<td><label for="wmp_enabled">{$lang_media_enabled}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_enablecontextmenu" name="wmp_enablecontextmenu" checked="checked" onchange="generatePreview();" /></td>
<td><label for="wmp_enablecontextmenu">{$lang_media_menu}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_fullscreen" name="wmp_fullscreen" onchange="generatePreview();" /></td>
<td><label for="wmp_fullscreen">{$lang_media_fullscreen}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_invokeurls" name="wmp_invokeurls" checked="checked" onchange="generatePreview();" /></td>
<td><label for="wmp_invokeurls">{$lang_media_invokeurls}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_mute" name="wmp_mute" onchange="generatePreview();" /></td>
<td><label for="wmp_mute">{$lang_media_mute}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_stretchtofit" name="wmp_stretchtofit" onchange="generatePreview();" /></td>
<td><label for="wmp_stretchtofit">{$lang_media_stretchtofit}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="wmp_windowlessvideo" name="wmp_windowlessvideo" onchange="generatePreview();" /></td>
<td><label for="wmp_windowlessvideo">{$lang_media_windowlessvideo}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td><label for="wmp_balance">{$lang_media_balance}</label></td>
<td><input type="text" id="wmp_balance" name="wmp_balance" onchange="generatePreview();" /></td>
 
<td><label for="wmp_baseurl">{$lang_media_baseurl}</label></td>
<td><input type="text" id="wmp_baseurl" name="wmp_baseurl" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="wmp_captioningid">{$lang_media_captioningid}</label></td>
<td><input type="text" id="wmp_captioningid" name="wmp_captioningid" onchange="generatePreview();" /></td>
 
<td><label for="wmp_currentmarker">{$lang_media_currentmarker}</label></td>
<td><input type="text" id="wmp_currentmarker" name="wmp_currentmarker" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="wmp_currentposition">{$lang_media_currentposition}</label></td>
<td><input type="text" id="wmp_currentposition" name="wmp_currentposition" onchange="generatePreview();" /></td>
 
<td><label for="wmp_defaultframe">{$lang_media_defaultframe}</label></td>
<td><input type="text" id="wmp_defaultframe" name="wmp_defaultframe" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="wmp_playcount">{$lang_media_playcount}</label></td>
<td><input type="text" id="wmp_playcount" name="wmp_playcount" onchange="generatePreview();" /></td>
 
<td><label for="wmp_rate">{$lang_media_rate}</label></td>
<td><input type="text" id="wmp_rate" name="wmp_rate" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="wmp_uimode">{$lang_media_uimode}</label></td>
<td><input type="text" id="wmp_uimode" name="wmp_uimode" onchange="generatePreview();" /></td>
 
<td><label for="wmp_volume">{$lang_media_volume}</label></td>
<td><input type="text" id="wmp_volume" name="wmp_volume" onchange="generatePreview();" /></td>
</tr>
 
</table>
</fieldset>
 
<fieldset id="rmp_options">
<legend>{$lang_media_rmp_options}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_autostart" name="rmp_autostart" onchange="generatePreview();" /></td>
<td><label for="rmp_autostart">{$lang_media_autostart}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_loop" name="rmp_loop" onchange="generatePreview();" /></td>
<td><label for="rmp_loop">{$lang_media_loop}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_autogotourl" name="rmp_autogotourl" checked="checked" onchange="generatePreview();" /></td>
<td><label for="rmp_autogotourl">{$lang_media_autogotourl}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_center" name="rmp_center" onchange="generatePreview();" /></td>
<td><label for="rmp_center">{$lang_media_center}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_imagestatus" name="rmp_imagestatus" checked="checked" onchange="generatePreview();" /></td>
<td><label for="rmp_imagestatus">{$lang_media_imagestatus}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_maintainaspect" name="rmp_maintainaspect" onchange="generatePreview();" /></td>
<td><label for="rmp_maintainaspect">{$lang_media_maintainaspect}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_nojava" name="rmp_nojava" onchange="generatePreview();" /></td>
<td><label for="rmp_nojava">{$lang_media_nojava}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_prefetch" name="rmp_prefetch" onchange="generatePreview();" /></td>
<td><label for="rmp_prefetch">{$lang_media_prefetch}</label></td>
</tr>
</table>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="rmp_shuffle" name="rmp_shuffle" onchange="generatePreview();" /></td>
<td><label for="rmp_shuffle">{$lang_media_shuffle}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
&nbsp;
</td>
</tr>
 
<tr>
<td><label for="rmp_console">{$lang_media_console}</label></td>
<td><input type="text" id="rmp_console" name="rmp_console" onchange="generatePreview();" /></td>
 
<td><label for="rmp_controls">{$lang_media_controls}</label></td>
<td><input type="text" id="rmp_controls" name="rmp_controls" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="rmp_numloop">{$lang_media_numloop}</label></td>
<td><input type="text" id="rmp_numloop" name="rmp_numloop" onchange="generatePreview();" /></td>
 
<td><label for="rmp_scriptcallbacks">{$lang_media_scriptcallbacks}</label></td>
<td><input type="text" id="rmp_scriptcallbacks" name="rmp_scriptcallbacks" onchange="generatePreview();" /></td>
</tr>
</table>
</fieldset>
 
<fieldset id="shockwave_options">
<legend>{$lang_media_shockwave_options}</legend>
 
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="shockwave_swstretchstyle">{$lang_media_swstretchstyle}</label></td>
<td>
<select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="generatePreview();">
<option value="none">{$lang_not_set}</option>
<option value="meet">Meet</option>
<option value="fill">Fill</option>
<option value="stage">Stage</option>
</select>
</td>
 
<td><label for="shockwave_swvolume">{$lang_media_volume}</label></td>
<td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="generatePreview();" /></td>
</tr>
 
<tr>
<td><label for="shockwave_swstretchhalign">{$lang_media_swstretchhalign}</label></td>
<td>
<select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="generatePreview();">
<option value="none">{$lang_not_set}</option>
<option value="left">{$lang_media_align_left}</option>
<option value="center">{$lang_media_align_center}</option>
<option value="right">{$lang_media_align_right}</option>
</select>
</td>
 
<td><label for="shockwave_swstretchvalign">{$lang_media_swstretchvalign}</label></td>
<td>
<select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="generatePreview();">
<option value="none">{$lang_not_set}</option>
<option value="meet">Meet</option>
<option value="fill">Fill</option>
<option value="stage">Stage</option>
</select>
</td>
</tr>
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="generatePreview();" checked="checked" /></td>
<td><label for="shockwave_autostart">{$lang_media_autostart}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="generatePreview();" checked="checked" /></td>
<td><label for="shockwave_sound">{$lang_media_sound}</label></td>
</tr>
</table>
</td>
</tr>
 
 
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="generatePreview();" /></td>
<td><label for="shockwave_swliveconnect">{$lang_media_liveconnect}</label></td>
</tr>
</table>
</td>
 
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="generatePreview();" checked="checked" /></td>
<td><label for="shockwave_progress">{$lang_media_progress}</label></td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
 
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertMedia();" />
</div>
 
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/css/content.css
New file
0,0 → 1,26
.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {
border: 1px dotted #cc0000;
background-position: center;
background-repeat: no-repeat;
background-color: #ffffcc;
}
 
.mceItemShockWave {
background-image: url('../images/shockwave.gif');
}
 
.mceItemFlash {
background-image: url('../images/flash.gif');
}
 
.mceItemQuickTime {
background-image: url('../images/quicktime.gif');
}
 
.mceItemWindowsMedia {
background-image: url('../images/windowsmedia.gif');
}
 
.mceItemRealMedia {
background-image: url('../images/realmedia.gif');
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/media/css/media.css
New file
0,0 → 1,68
#id, #name, #hspace, #vspace, #class_name, #align {
width: 100px;
}
 
#hspace, #vspace {
width: 50px;
}
 
#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode {
width: 100px;
}
 
#flash_base, #flash_flashvars {
width: 240px;
}
 
#width, #height {
width: 40px;
}
 
#src, #media_type {
width: 250px;
}
 
#class {
width: 120px;
}
 
#prev {
margin: 0;
border: 1px solid black;
width: 99%;
height: 230px;
overflow: auto;
}
 
.panel_wrapper div.current {
height: 390px;
overflow: auto;
}
 
#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options {
display: none;
}
 
.mceAddSelectValue {
background-color: #DDDDDD;
}
 
#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume {
width: 70px;
}
 
#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume {
width: 70px;
}
 
#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks {
width: 70px;
}
 
#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle {
width: 90px;
}
 
#qt_qtsrc {
width: 200px;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/langs/en.js
New file
0,0 → 1,6
// UK lang variables
 
tinyMCE.addToLang('',{
directionality_ltr_desc : 'Direction left to right',
directionality_rtl_desc : 'Direction right to left'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/langs/fr.js
New file
0,0 → 1,7
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
directionality_ltr_desc : 'Vers la droite',
directionality_rtl_desc : 'Vers la gauche'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/images/ltr.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/images/ltr.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/images/rtl.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/images/rtl.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js
New file
0,0 → 1,90
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('directionality');
 
var TinyMCE_DirectionalityPlugin = {
getInfo : function() {
return {
longname : 'Directionality',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
getControlHTML : function(cn) {
switch (cn) {
case "ltr":
return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR');
 
case "rtl":
return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL');
}
 
return "";
},
 
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceDirectionLTR":
var inst = tinyMCE.getInstanceById(editor_id);
var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
 
if (elm)
elm.setAttribute("dir", "ltr");
 
tinyMCE.triggerNodeChange(false);
return true;
 
case "mceDirectionRTL":
var inst = tinyMCE.getInstanceById(editor_id);
var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
 
if (elm)
elm.setAttribute("dir", "rtl");
 
tinyMCE.triggerNodeChange(false);
return true;
}
 
// Pass to next handler in chain
return false;
},
 
handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
function getAttrib(elm, name) {
return elm.getAttribute(name) ? elm.getAttribute(name) : "";
}
 
if (node == null)
return;
 
var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
if (!elm) {
tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled');
tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled');
return true;
}
 
tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal');
tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal');
 
var dir = getAttrib(elm, "dir");
if (dir == "ltr" || dir == "")
tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected');
else
tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected');
 
return true;
}
};
 
tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/directionality/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('directionality');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/zoom/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/zoom/editor_plugin.js
New file
0,0 → 1,0
var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="100%">+ 100%</option>'+'<option value="150%">+ 150%</option>'+'<option value="200%">+ 200%</option>'+'<option value="250%">+ 250%</option>'+'</select>'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true}return false}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/zoom/editor_plugin_src.js
New file
0,0 → 1,56
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
var TinyMCE_ZoomPlugin = {
getInfo : function() {
return {
longname : 'Zoom',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
/**
* Returns the HTML contents of the zoom control.
*/
getControlHTML : function(control_name) {
if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera)
return "";
 
switch (control_name) {
case "zoom":
return '<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">' +
'<option value="100%">+ 100%</option>' +
'<option value="150%">+ 150%</option>' +
'<option value="200%">+ 200%</option>' +
'<option value="250%">+ 250%</option>' +
'</select>';
}
 
return "";
},
 
/**
* Executes the mceZoom command.
*/
execCommand : function(editor_id, element, command, user_interface, value) {
// Handle commands
switch (command) {
case "mceZoom":
tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value;
tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
return true;
}
 
// Pass to next handler in chain
return false;
}
};
 
tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js
New file
0,0 → 1,0
var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable')},handleEvent:function(e){return this._moveSelection(e,tinyMCE.selectedInstance)},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes,i,editClass,nonEditClass,editable,elm;if(tinyMCE.isGecko)return content;nodes=tinyMCE.getNodeTree(content,[],1);editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(i=0;i<nodes.length;i++){elm=nodes[i];editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_NonEditablePlugin._setEditable(elm,editable=="true");if(tinyMCE.isIE){if(tinyMCE.hasCSSClass(elm,editClass))elm.contentEditable=true;if(tinyMCE.hasCSSClass(elm,nonEditClass))elm.contentEditable=false}}break;case"insert_to_editor":var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");content=content.replace(/mceItemEditable/g,editClass);content=content.replace(/mceItemNonEditable/g,nonEditClass);if(tinyMCE.isIE&&(content.indexOf(editClass)!=-1||content.indexOf(nonEditClass)!=-1)){content=content.replace(new RegExp("class=\"(.+)("+editClass+")\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"("+editClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"(.+)("+editClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="false"')}break;case"get_from_editor_dom":if(tinyMCE.isGecko)return content;if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable")}break}return content},_moveSelection:function(e,inst){var s,r,sc,ec,el,c=tinyMCE.getParam('noneditable_editable_class','mceNonEditable');if(!inst)return true;if(tinyMCE.isGecko){s=inst.selection.getSel();r=s.getRangeAt(0);sc=tinyMCE.getParentNode(r.startContainer,function(n){return tinyMCE.hasCSSClass(n,c)});ec=tinyMCE.getParentNode(r.endContainer,function(n){return tinyMCE.hasCSSClass(n,c)});sc&&r.setStartBefore(sc);ec&&r.setEndAfter(ec);if(sc||ec){if(e.type=='keypress'&&e.keyCode==39){el=sc||ec;}s.removeAllRanges();s.addRange(r);return tinyMCE.cancelEvent(e)}}return true},_setEditable:function(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className}};tinyMCE.addPlugin("noneditable",TinyMCE_NonEditablePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js
New file
0,0 → 1,153
/**
* $Id: editor_plugin_src.js 205 2007-02-12 18:58:29Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
var TinyMCE_NonEditablePlugin = {
getInfo : function() {
return {
longname : 'Non editable elements',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
 
// Ugly hack
if (tinyMCE.isMSIE5_0)
tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
},
 
handleEvent : function(e) {
return this._moveSelection(e, tinyMCE.selectedInstance);
},
 
cleanup : function(type, content, inst) {
switch (type) {
case "insert_to_editor_dom":
var nodes, i, editClass, nonEditClass, editable, elm;
 
// Pass through Gecko
if (tinyMCE.isGecko)
return content;
 
nodes = tinyMCE.getNodeTree(content, [], 1);
 
editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
 
for (i=0; i<nodes.length; i++) {
elm = nodes[i];
 
// Convert contenteditable to classes
editable = tinyMCE.getAttrib(elm, "contenteditable");
if (new RegExp("true|false","gi").test(editable))
TinyMCE_NonEditablePlugin._setEditable(elm, editable == "true");
 
if (tinyMCE.isIE) {
if (tinyMCE.hasCSSClass(elm, editClass))
elm.contentEditable = true;
 
if (tinyMCE.hasCSSClass(elm, nonEditClass))
elm.contentEditable = false;
}
}
 
break;
 
case "insert_to_editor":
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
 
// Replace mceItem to new school
content = content.replace(/mceItemEditable/g, editClass);
content = content.replace(/mceItemNonEditable/g, nonEditClass);
 
if (tinyMCE.isIE && (content.indexOf(editClass) != -1 || content.indexOf(nonEditClass) != -1)) {
content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")\"", "gi"), 'class="$1$2" contenteditable="true"');
content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")\"", "gi"), 'class="$1$2" contenteditable="false"');
content = content.replace(new RegExp("class=\"(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="true"');
content = content.replace(new RegExp("class=\"(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="false"');
content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="true"');
content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="false"');
}
 
break;
 
case "get_from_editor_dom":
// Pass through Gecko
if (tinyMCE.isGecko)
return content;
 
if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
 
for (var i=0; i<nodes.length; i++)
nodes[i].removeAttribute("contenteditable");
}
 
break;
}
 
return content;
},
 
_moveSelection : function(e, inst) {
var s, r, sc, ec, el, c = tinyMCE.getParam('noneditable_editable_class', 'mceNonEditable');
 
if (!inst)
return true;
 
// Always select whole element
if (tinyMCE.isGecko) {
s = inst.selection.getSel();
r = s.getRangeAt(0);
sc = tinyMCE.getParentNode(r.startContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
ec = tinyMCE.getParentNode(r.endContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
 
sc && r.setStartBefore(sc);
ec && r.setEndAfter(ec);
 
if (sc || ec) {
if (e.type == 'keypress' && e.keyCode == 39) {
el = sc || ec;
 
// Try!!
}
 
s.removeAllRanges();
s.addRange(r);
 
return tinyMCE.cancelEvent(e);
}
}
 
return true;
},
 
_setEditable : function(elm, state) {
var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
 
var className = elm.className ? elm.className : "";
 
if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
return;
 
if ((className = tinyMCE.getAttrib(elm, "class")) != "")
className += " ";
 
className += state ? editClass : nonEditClass;
 
elm.setAttribute("class", className);
elm.className = className;
}
};
 
tinyMCE.addPlugin("noneditable", TinyMCE_NonEditablePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/noneditable/css/noneditable.css
New file
0,0 → 1,9
/* This is the CSS file for the noneditable elements plugin */
 
.mceEditable {
/*border: 1px dotted #0000cc;*/
}
 
.mceNonEditable {
/*border: 1px dotted #cc0000;*/
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/noneditable/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/devkit.htm
New file
0,0 → 1,140
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_devkit_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/devkit.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/diff.js"></script>
<link href="css/devkit.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="devkit" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form action="#">
<h1>{$lang_devkit_title}</h1>
 
<div class="tabs">
<ul>
<li id="log_tab" class="current"><span><a href="javascript:mcTabs.displayTab('log_tab','log_panel');" onmousedown="return false;">{$lang_devkit_log_tab}</a></span></li>
<li id="info_tab"><span><a href="javascript:mcTabs.displayTab('info_tab','info_panel');" onmousedown="return false;">{$lang_devkit_info_tab}</a></span></li>
<li id="settings_tab"><span><a href="javascript:mcTabs.displayTab('settings_tab','settings_panel');" onmousedown="return false;">{$lang_devkit_settings_tab}</a></span></li>
<li id="content_tab"><span><a href="javascript:mcTabs.displayTab('content_tab','content_panel');" onmousedown="return false;">{$lang_devkit_content_tab}</a></span></li>
<!-- <li id="command_states_tab"><span><a href="javascript:mcTabs.displayTab('command_states_tab','command_states_panel');" onmousedown="return false;">{$lang_devkit_command_states_tab}</a></span></li> -->
<li id="undo_redo_tab"><span><a href="javascript:mcTabs.displayTab('undo_redo_tab','undo_redo_panel');" onmousedown="return false;">{$lang_devkit_undo_redo_tab}</a></span></li>
<li id="misc_tab"><span><a href="javascript:mcTabs.displayTab('misc_tab','misc_panel');" onmousedown="return false;">{$lang_devkit_misc_tab}</a></span></li>
</ul>
</div>
 
<div class="panel_wrapper">
<div id="log_panel" class="panel current">
<fieldset>
<legend>{$lang_devkit_log_tab}</legend>
 
<div style="float: left">
<label>{$lang_devkit_filter} </label><input type="text" id="logfilter" name="logfilter" value="" onchange="changeFilter(this.value);" />
</div>
 
<div style="float: left">
<input type="checkbox" id="logenabled" name="logenabled" value="true" checked="checked" onclick="toggleLog(this.checked);" />
</div>
 
<div style="float: right">
<a href="javascript:clearLog();">[{$lang_devkit_clear_log}]</a>
</div>
 
<br style="clear: both" />
 
<div id="log">
</div>
 
<input type="checkbox" id="debug_events" name="debug_events" class="checkbox" onclick="toggleDebugEvents(this.checked);" /><label for="debug_events" onclick="toggleDebugEvents(this.form.debug_events.checked);">{$lang_devkit_debug_events}</label>
</fieldset>
</div>
 
<div id="info_panel" class="panel">
<fieldset>
<legend>{$lang_devkit_info_tab}</legend>
 
<span><a href="javascript:renderInfo();">[{$lang_devkit_refresh}]</a></span>
 
<div id="info" class="data">
<p>{$lang_devkit_info_help}</p>
</div>
</fieldset>
</div>
 
<div id="settings_panel" class="panel">
<fieldset>
<legend>{$lang_devkit_settings_tab}</legend>
 
<span><a href="javascript:renderSettings();">[{$lang_devkit_refresh}]</a></span>
 
<div id="settings" class="data">
<p>{$lang_devkit_settings_help}</p>
</div>
</fieldset>
</div>
 
<div id="content_panel" class="panel">
<fieldset>
<legend>{$lang_devkit_content_tab}</legend>
 
<span><a href="javascript:renderContent();">[{$lang_devkit_refresh}]</a></span>
 
<div id="content" class="data">
<p>{$lang_devkit_content_help}</p>
</div>
</fieldset>
</div>
 
<div id="command_states_panel" class="panel">
<fieldset>
<legend>{$lang_devkit_command_states_tab}</legend>
 
<span><a href="javascript:renderCommandStates();">[{$lang_devkit_refresh}]</a></span>
 
<div id="command_states" class="data">
<p>{$lang_devkit_command_states_help}</p>
</div>
</fieldset>
</div>
 
<div id="undo_redo_panel" class="panel">
<fieldset>
<legend>{$lang_devkit_undo_redo_tab}</legend>
 
<span><a href="javascript:renderUndoRedo();">[{$lang_devkit_refresh}]</a></span>
 
<div id="undo_redo" class="data">
<p>{$lang_devkit_undo_redo_help}</p>
</div>
 
<input type="checkbox" id="undo_diff" name="undo_diff" class="checkbox" /><label for="undo_diff">{$lang_devkit_undo_diff}</label>
</fieldset>
</div>
 
<div id="misc_panel" class="panel">
<fieldset>
<legend>{$lang_devkit_misc_tab}</legend>
 
<div class="data">
<p>{$lang_devkit_misc_help}</p>
<hr />
<p>Selection: <a href="#" onmousedown="return storeSelection();">[Store selection]</a> <a href="#" onmousedown="return restoreSelection();">[Restore selection]</a></p>
<hr />
<div><strong>Insert custom HTML content</strong></div>
<div><textarea id="htmlcont" name="htmlcont" style="width: 90%" rows="5"></textarea></div>
<div><a href="#" onclick="return tinyMCE.execCommand('mceInsertContent',false,document.getElementById('htmlcont').value);">[Insert content]</a></div>
<hr />
<div><strong>Eval JS:</strong></div>
<div><textarea id="jscont" name="jscont" style="width: 90%" rows="5">tinyMCE.execCommand('Bold',false,null);</textarea></div>
<div><a href="#" onclick="return parent.window.eval(document.getElementById('jscont').value);">[Evaluate]</a></div>
</div>
</fieldset>
</div>
</div>
</form>
 
<div id="flip"><a href="javascript:toggleFlip();" onmousedown="return false;"><img id="flipbtn" src="images/flip_down.gif" border="0" /></a></div>
</body>
</html>
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('devkit');var TinyMCE_DevKitPlugin={_logFilter:'\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',_logPadding:'',_startTime:null,_benchMark:false,_winLoaded:false,_isDebugEvents:false,getInfo:function(){return{longname:'Development Kit',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){this._setup()},_setup:function(){if(this._loaded)return;this._loaded=true;document.___TinyMCE=tinyMCE;this._logFilter=tinyMCE.getParam('devkit_log_filter',this._logFilter);this._benchMark=tinyMCE.getParam('devkit_bench_mark',false);var ifr=document.createElement('iframe');ifr.setAttribute("id","devkit");ifr.setAttribute("frameBorder","0");ifr.setAttribute("src",tinyMCE.baseURL+'/plugins/devkit/devkit.htm');document.body.appendChild(ifr);tinyMCE.importCSS(document,tinyMCE.baseURL+'/plugins/devkit/css/devkit_ui.css')},_start:function(){this._logPadding+='\u00a0';return new Date().getTime()},_end:function(st){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);if(this._benchMark)this._log("benchmark","Execution time: "+(new Date().getTime()-st))},_log:function(t){var m,a,i,e=document.getElementById('devkit'),now=new Date().getTime();if(!this._startTime)this._startTime=now;m=(this._logPadding.length>1?this._logPadding:'')+'['+(now-this._startTime)+'] ['+t+'] ';a=this._log.arguments;for(i=1;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>1)m+=', ';m+=a[i]}if(!new RegExp(this._logFilter,'gi').test(m)){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);return}if(!this._winLoaded)tinyMCE.log[tinyMCE.log.length]=m;else e.contentWindow.debug(m)},_debugEvents:function(s){var i,ld,inst,n,ev=['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive','DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved','RadioStateChange','blur','broadcast','change','click','close','command','commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit','draggesture','dragover','focus','input','keydown','keypress','keyup','load','mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden','popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference','underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate','beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint','beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut','dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave','dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout','help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel','move','moveend','movestart','paste','propertychange','readystatechange','reset','resize','resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll','selectionchange','selectstart','start','stop','submit'];if(TinyMCE_DevKitPlugin._isDebugEvents==s)return;TinyMCE_DevKitPlugin._isDebugEvents=s;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst)||inst.getDoc()==ld)continue;ld=inst.getDoc();for(i=0;i<ev.length;i++){if(s)tinyMCE.addEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent);else tinyMCE.removeEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent)}}},_debugEvent:function(e){var t;e=e?e:tinyMCE.selectedInstance.getWin().event;t=e.srcElement?e.srcElement:e.target;tinyMCE.debug(e.type,t?t.nodeName:'')},_serialize:function(o){var i,v,s=TinyMCE_DevKitPlugin._serialize;if(o==null)return'null';switch(typeof o){case'string':v='\bb\tt\nn\ff\rr\""\'\'\\\\';return'"'+o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])','g'),function(a,b){i=v.indexOf(b);if(i+1)return'\\'+v.charAt(i+1);a=b.charCodeAt().toString(16);return'\\u'+'0000'.substring(a.length)+a})+'"';case'object':if(o instanceof Array){for(i=0,v='[';i<o.length;i++)v+=(i>0?',':'')+s(o[i]);return v+']'}v='{';for(i in o)v+=typeof o[i]!='function'?(v.length>1?',"':'"')+i+'":'+s(o[i]):'';return v+'}'}return''+o}};tinyMCE.__debug=tinyMCE.debug;tinyMCE.debug=function(){var a,i,m='',now=new Date().getTime(),start=TinyMCE_DevKitPlugin._startTime;if(!start)TinyMCE_DevKitPlugin._startTime=start=now;a=this.debug.arguments;for(i=0;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>0)m+=', ';m+=a[i]}TinyMCE_DevKitPlugin._log('debug',m)};tinyMCE.dump=function(o){tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o))};tinyMCE.sleep=function(t){var s=new Date().getTime(),b;while(new Date().getTime()-s<t)b=1};tinyMCE.__execCommand=tinyMCE.execCommand;tinyMCE.execCommand=function(command,user_interface,value){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommand',command,user_interface,value);r=tinyMCE.__execCommand(command,user_interface,value);dk._end(st);return r};tinyMCE.__execInstanceCommand=tinyMCE.execInstanceCommand;tinyMCE.execInstanceCommand=function(editor_id,command,user_interface,value,focus){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execInstanceCommand',editor_id,command,user_interface,value);r=tinyMCE.__execInstanceCommand(editor_id,command,user_interface,value);dk._end(st);return r};TinyMCE_Engine.prototype.__handleEvent=TinyMCE_Engine.prototype.handleEvent;TinyMCE_Engine.prototype.handleEvent=function(e){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('handleEvent',e.type);r=tinyMCE.__handleEvent(e);dk._end(st);return r};tinyMCE.__importCSS=tinyMCE.importCSS;tinyMCE.importCSS=function(doc,css){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('importCSS',doc,css);r=tinyMCE.__importCSS(doc,css);dk._end(st);return r};tinyMCE.__triggerNodeChange=tinyMCE.triggerNodeChange;tinyMCE.triggerNodeChange=function(focus,setup_content){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('triggerNodeChange',focus,setup_content);r=tinyMCE.__triggerNodeChange(focus,setup_content);dk._end(st);return r};tinyMCE.__dispatchCallback=tinyMCE.dispatchCallback;tinyMCE.dispatchCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('dispatchCallback',i,p,n);r=tinyMCE.__dispatchCallback(i,p,n);dk._end(st);return r};tinyMCE.__executeCallback=tinyMCE.executeCallback;tinyMCE.executeCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('executeCallback',i,p,n);r=tinyMCE.__executeCallback(i,p,n);dk._end(st);return r};tinyMCE.__execCommandCallback=tinyMCE.execCommandCallback;tinyMCE.execCommandCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommandCallback',i,p,n);r=tinyMCE.__execCommandCallback(i,p,n);dk._end(st);return r};tinyMCE.addPlugin("devkit",TinyMCE_DevKitPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/jscripts/devkit.js
New file
0,0 → 1,331
var devkit = parent.tinyMCE.plugins['devkit'], logEnabled = true, flip = false, book = null;
 
function init() {
var log, i, f = document.forms[0];
 
devkit._winLoaded = true;
 
log = tinyMCE.log;
 
for (i=0; i<log.length; i++)
debug(log[i]);
 
f.logfilter.value = devkit._logFilter;
}
 
function changeFilter(f) {
devkit._logFilter = f;
}
 
function toggleLog(s) {
logEnabled = s;
}
 
function toggleFlip() {
document.getElementById('flipbtn').src = flip ? 'images/flip_down.gif' : 'images/flip_up.gif';
 
if (flip)
parent.document.getElementById('devkit').className = 'devkitup';
else
parent.document.getElementById('devkit').className = 'devkitdown';
 
flip = !flip;
}
 
function debug(s) {
var d, l, n;
 
if (!logEnabled || !new RegExp(devkit._logFilter, 'gi').test(s))
return;
 
d = document;
l = d.getElementById('log');
n = d.createElement('span');
 
n.innerHTML = tinyMCE.xmlEncode(s);
 
l.appendChild(n);
l.scrollTop = l.scrollHeight;
}
 
function renderInfo() {
var se = document.getElementById('info'), n, sn, inst, h = '', sel, rng, instCount = 0, rc;
 
h += '<h2>Browser info:</h2>';
 
h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
h += addRenderInfo('navigator.userAgent', navigator.userAgent);
h += addRenderInfo('navigator.appName', navigator.appName);
h += addRenderInfo('navigator.platform', navigator.platform);
h += addRenderInfo('navigator.language', navigator.language, 'bspec');
h += addRenderInfo('navigator.browserLanguage', navigator.browserLanguage, 'bspec');
h += addRenderInfo('navigator.systemLanguage', navigator.systemLanguage, 'bspec');
h += addRenderInfo('navigator.userLanguage', navigator.userLanguage, 'bspec');
h += addRenderInfo('opera.buildNumber("inconspicuous")', typeof(opera) != 'undefined' && opera.buildNumber ? opera.buildNumber('inconspicuous') : null, 'bspec');
h += addRenderInfo('window.innerWidth', parent.window.innerWidth, 'bspec');
h += addRenderInfo('window.innerHeight', parent.window.innerHeight, 'bspec');
h += addRenderInfo('document.body.offsetWidth', parent.document.body.offsetWidth);
h += addRenderInfo('document.body.offsetHeight', parent.document.body.offsetHeight);
h += addRenderInfo('screen.width', screen.width);
h += addRenderInfo('screen.height', screen.height);
h += addRenderInfo('screen.availWidth', screen.availWidth);
h += addRenderInfo('screen.availHeight', screen.availHeight);
h += addRenderInfo('screen.colorDepth', screen.colorDepth);
h += addRenderInfo('screen.pixelDepth', screen.pixelDepth, 'bspec');
h += addRenderInfo('document.contentType', document.contentType, 'bspec');
h += '</table>';
 
h += '<h2>TinyMCE_Engine info:</h2>';
 
h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
h += addRenderInfo('baseURL', tinyMCE.baseURL);
h += addRenderInfo('selectedInstance.editorId', tinyMCE.selectedInstance ? tinyMCE.selectedInstance.editorId : null);
h += addRenderInfo('selectedElement.nodeName', tinyMCE.selectedElement ? tinyMCE.selectedElement.nodeName : null, 'dep');
h += addRenderInfo('loadedFiles',tinyMCE.loadedFiles.join(','));
h += addRenderInfo('isMSIE', tinyMCE.isMSIE);
h += addRenderInfo('isMSIE5', tinyMCE.isMSIE5);
h += addRenderInfo('isMSIE5_0', tinyMCE.isMSIE5_0);
h += addRenderInfo('isMSIE7', tinyMCE.isMSIE7);
h += addRenderInfo('isGecko', tinyMCE.isGecko);
h += addRenderInfo('isSafari', tinyMCE.isSafari);
h += addRenderInfo('isOpera', tinyMCE.isOpera);
h += addRenderInfo('isMac', tinyMCE.isMac);
h += addRenderInfo('isNS7', tinyMCE.isNS7);
h += addRenderInfo('isNS71', tinyMCE.isNS71);
h += addRenderInfo('idCounter', tinyMCE.idCounter);
h += addRenderInfo('currentConfig', tinyMCE.currentConfig);
h += addRenderInfo('majorVersion', tinyMCE.majorVersion);
h += addRenderInfo('minorVersion', tinyMCE.minorVersion);
h += addRenderInfo('releaseDate', tinyMCE.releaseDate);
h += addRenderInfo('documentBasePath', tinyMCE.documentBasePath);
h += addRenderInfo('documentURL', tinyMCE.documentURL);
h += '</table>';
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst))
continue;
 
sel = inst.selection.getSel();
rng = inst.selection.getRng();
 
h += '<h2>TinyMCE_Control(' + (instCount++) + ') id: ' + inst.editorId + '</h2>';
h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
 
h += addRenderInfo('editorId', inst.editorId);
h += addRenderInfo('visualAid', inst.visualAid);
h += addRenderInfo('foreColor', inst.foreColor);
h += addRenderInfo('backColor', inst.backColor);
h += addRenderInfo('formTargetElementId', inst.formTargetElementId);
h += addRenderInfo('formElement', inst.formElement ? inst.formElement.nodeName : null);
h += addRenderInfo('oldTargetElement', inst.oldTargetElement ? inst.oldTargetElement.nodeName : null);
h += addRenderInfo('linkElement', inst.linkElement ? inst.linkElement.nodeName : null, 'dep');
h += addRenderInfo('imgElement', inst.imgElement ? inst.imgElement.nodeName : null, 'dep');
h += addRenderInfo('selectedNode', inst.selectedNode ? inst.selectedNode.nodeName : null, 'dep');
h += addRenderInfo('targetElement', inst.targetElement ? inst.targetElement.nodeName : null);
h += addRenderInfo('getBody().nodeName', inst.getBody() ? inst.getBody().nodeName : null);
h += addRenderInfo('getBody().getAttribute("id")', inst.getBody() ? inst.getBody().getAttribute("id") : null);
h += addRenderInfo('getDoc().location', inst.getDoc() ? inst.getDoc().location : null);
h += addRenderInfo('startContent', inst.startContent);
h += addRenderInfo('isHidden()', inst.isHidden());
h += addRenderInfo('isDirty()', inst.isDirty());
h += addRenderInfo('undoRedo.undoLevels.length', inst.undoRedo.undoLevels.length);
h += addRenderInfo('undoRedo.undoIndex', inst.undoRedo.undoIndex);
h += addRenderInfo('selection.getSelectedHTML()', inst.selection.getSelectedHTML());
h += addRenderInfo('selection.isCollapsed()', inst.selection.isCollapsed() || 'false');
h += addRenderInfo('selection.getSelectedText()', inst.selection.getSelectedText());
h += addRenderInfo('selection.getFocusElement().nodeName', inst.selection.getFocusElement().nodeName);
h += addRenderInfo('selection.getFocusElement().outerHTML', tinyMCE.getOuterHTML(inst.selection.getFocusElement()));
 
if ((tinyMCE.isGecko || tinyMCE.isOpera) && sel && rng) {
h += addRenderInfo('selection.getSel().anchorNode.nodeName', sel.anchorNode ? sel.anchorNode.nodeName : null, 'bspec');
h += addRenderInfo('selection.getSel().anchorOffset', sel.anchorOffset, 'bspec');
h += addRenderInfo('selection.getSel().focusNode.nodeName', sel.focusNode ? sel.focusNode.nodeName : null, 'bspec');
h += addRenderInfo('selection.getSel().focusOffset', sel.focusOffset, 'bspec');
h += addRenderInfo('selection.getRng().startContainer.nodeName', rng.startContainer ? rng.startContainer.nodeName : null, 'bspec');
h += addRenderInfo('selection.getRng().startOffset', rng.startOffset, 'bspec');
h += addRenderInfo('selection.getRng().endContainer.nodeName', rng.endContainer ? rng.endContainer.nodeName : null, 'bspec');
h += addRenderInfo('selection.getRng().endOffset', rng.endOffset, 'bspec');
}
 
if (typeof(rng.item) != 'undefined' || typeof(rng.htmlText) != 'undefined') {
if (!rng.item) {
h += addRenderInfo('selection.getSel().type', sel.type, 'bspec');
h += addRenderInfo('selection.getRng().htmlText', rng.htmlText, 'bspec');
h += addRenderInfo('selection.getRng().text', rng.text, 'bspec');
} else
h += addRenderInfo('selection.getRng().item(0).nodeName', rng.item(0).nodeName, 'bspec');
}
 
h += '</table>';
}
 
h += '<p>Fields marked in <strong class="bspec">gray</strong> is not cross browser and should be used with care.</p>';
h += '<p>Fields marked <strong class="dep">red</strong> are marked deprecated and will be removed in the future.</p><br />';
 
se.innerHTML = h;
}
 
function addRenderInfo(n, v, c) {
return '<tr><td' + (c ? ' class="' + c + '"' : '')+ '>' + n + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v != null ? ('' + v).replace(/[\r\n]/g, '') : 'null') + '" /></td></tr>';
}
 
function renderSettings() {
var se = document.getElementById('settings'), n, sn, inst, h = '', v;
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst))
continue;
 
h += '<h2>Instance id: ' + inst.editorId + '</h2>';
h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
 
for (sn in inst.settings) {
v = inst.settings[sn];
 
h += '<tr><td class="col1">' + tinyMCE.xmlEncode(sn) + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
}
 
h += '</table>';
}
 
se.innerHTML = h;
}
 
function renderContent() {
var se = document.getElementById('content'), n, inst, h = '';
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst))
continue;
 
h += '<h2>Instance id: ' + inst.editorId + '</h2>';
 
h += '<h3>Start content - inst.startContent:</h3>';
h += '<div>' + tinyMCE.xmlEncode(inst.startContent) + '</div>';
 
h += '<h3>Raw content - inst.getBody().innerHTML or inst.getHTML(true):</h3>';
h += '<div>' + tinyMCE.xmlEncode(inst.getHTML(true)) + '</div>';
 
h += '<h3>Cleaned content - inst.getHTML():</h3>';
h += '<div>' + tinyMCE.xmlEncode(inst.getHTML()) + '</div>';
 
if (inst.serializedHTML) {
h += '<h3>Serialized HTML content - inst.serializedHTML:</h3>';
h += '<div>' + tinyMCE.xmlEncode(inst.serializedHTML) + '</div>';
}
}
 
se.innerHTML = h;
}
 
function renderCommandStates() {
var se = document.getElementById('command_states'), n, inst, h = '', v, ex;
var cmds = new Array('2D-Position','AbsolutePosition','BackColor','BlockDirLTR','BlockDirRTL','Bold','BrowseMode','Copy','CreateBookmark','CreateLink','Cut','Delete','DirLTR','DirRTL','EditMode','enableInlineTableEditing','enableObjectResizing','FontName','FontSize','ForeColor','FormatBlock','Indent','InsertButton','InsertFieldset','InsertHorizontalRule','InsertIFrame','InsertImage','InsertInputButton','InsertInputCheckbox','InsertInputFileUpload','InsertInputHidden','InsertInputImage','InsertInputPassword','InsertInputRadio','InsertInputReset','InsertInputSubmit','InsertInputText','InsertMarquee','InsertOrderedList','InsertParagraph','InsertSelectDropdown','InsertSelectListbox','InsertTextArea','InsertUnorderedList','Italic','JustifyCenter','JustifyFull','JustifyLeft','JustifyNone','JustifyRight','LiveResize','MultipleSelection','Open','Outdent','OverWrite','Paste','PlayImage','Redo','Refresh','RemoveFormat','SaveAs','SelectAll','SizeToControl','SizeToControlHeight','SizeToControlWidth','Stop','StopImage','StrikeThrough','styleWithCSS','Subscript','Superscript','UnBookmark','Underline','Undo','Unlink','Unselect'), i;
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst))
continue;
 
h += '<h2>Instance id: ' + inst.editorId + '</h2>';
h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
 
for (i=0; i<cmds.length; i++) {
v = null;
 
try {
v = tinyMCE.isGecko || inst.getDoc().queryCommandSupported(cmds[i]);
v = v ? inst.queryCommandState(cmds[i]) : 'Not supported';
} catch (ex) {
v = 'Not supported';
}
 
h += '<tr><td><input type="text" value="' + tinyMCE.xmlEncode(cmds[i]) + '" /></td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
}
 
h += '</table>';
}
 
se.innerHTML = h;
}
 
function renderUndoRedo() {
var se = document.getElementById('undo_redo'), inst, n, h = '', i, le, id, d, ur;
var f = document.forms[0];
 
if (tinyMCE.undoLevels) {
le = tinyMCE.undoLevels;
 
h += '<h2>Global undo/redo</h2>';
h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
h += '<tr><td>undoIndex</td><td>' + tinyMCE.undoIndex + '</td></tr>';
h += '</table>';
 
for (i=0; i<le.length; i++)
h += '<h3>Level: ' + i + ', Instance: ' + (le[i] ? le[i].editorId : 'null') + '</h3>';
}
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst))
continue;
 
ur = inst.undoRedo;
le = ur.undoLevels;
 
h += '<hr /><h2>Instance id: ' + inst.editorId + '</h2>';
h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
h += '<tr><td>undoIndex</td><td>' + ur.undoIndex + '</td></tr>';
h += '<tr><td>typingUndoIndex</td><td>' + ur.typingUndoIndex + '</td></tr>';
h += '<tr><td>undoRedo</td><td>' + ur.undoRedo + '</td></tr>';
h += '</table>';
 
for (i=0; i<le.length; i++) {
h += '<h3>Level: ' + i + (!le[i].bookmark ? "" : " [bookmark]") + '</h3>';
h += '<div class="undodata">' + tinyMCE.xmlEncode(le[i].content) + '</div>';
 
if (i > 0 && f.undo_diff.checked) {
d = diff_main(i > 0 ? le[i-1].content.replace(/[\r\n]+/g, '') : null, le[i].content.replace(/[\r\n]+/g, ''), false);
diff_cleanup_semantic(d);
h += '<h3>Diff ' + (i-1) + ',' + i + '</h3><div class="undodata">' + diff_prettyhtml(d) + '</div>';
}
}
}
 
se.innerHTML = h;
}
 
function clearLog() {
document.getElementById('log').innerHTML = '';
devkit._startTime = null;
}
 
function cancelAction() {
parent.document.getElementById('devkit').style.display = 'none';
}
 
function toggleDebugEvents(s) {
devkit._debugEvents(s);
}
 
function storeSelection() {
book = tinyMCE.selectedInstance.selection.getBookmark();
 
return false;
}
 
function restoreSelection() {
tinyMCE.selectedInstance.selection.moveToBookmark(book);
 
return false;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/jscripts/diff.js
New file
0,0 → 1,1192
// Diff_Match_Patch v1.3
// Computes the difference between two texts to create a patch.
// Applies the patch onto another text, allowing for errors.
// Copyright (C) 2006 Neil Fraser
// http://neil.fraser.name/software/diff_match_patch/
 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation.
 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License (www.gnu.org) for more details.
 
 
// Constants.
// Redefine these in your program to override the defaults.
 
// Number of seconds to map a diff before giving up. (0 for infinity)
var DIFF_TIMEOUT = 1.0;
// Cost of an empty edit operation in terms of edit characters.
var DIFF_EDIT_COST = 4;
// Tweak the relative importance (0.0 = accuracy, 1.0 = proximity)
var MATCH_BALANCE = 0.5;
// At what point is no match declared (0.0 = perfection, 1.0 = very loose)
var MATCH_THRESHOLD = 0.5;
// The min and max cutoffs used when computing text lengths.
var MATCH_MINLENGTH = 100;
var MATCH_MAXLENGTH = 1000;
// Chunk size for context length.
var PATCH_MARGIN = 4;
 
 
//////////////////////////////////////////////////////////////////////
// Diff //
//////////////////////////////////////////////////////////////////////
 
// The data structure representing a diff is an array of tuples:
// [[-1, "Hello"], [1, "Goodbye"], [0, " world."]]
// which means: delete "Hello", add "Goodbye" and keep " world."
 
 
function diff_main(text1, text2, checklines) {
// Find the differences between two texts. Return an array of changes.
// If checklines is present and false, then don't run a line-level diff first to identify the changed areas.
// Check for equality (speedup)
if (text1 == text2)
return [[0, text1]];
 
if (typeof checklines == 'undefined')
checklines = true;
 
var a;
// Trim off common prefix (speedup)
a = diff_prefix(text1, text2);
text1 = a[0];
text2 = a[1];
var commonprefix = a[2];
 
// Trim off common suffix (speedup)
a = diff_suffix(text1, text2);
text1 = a[0];
text2 = a[1];
var commonsuffix = a[2];
 
var diff, i;
var longtext = text1.length > text2.length ? text1 : text2;
var shorttext = text1.length > text2.length ? text2 : text1;
 
if (!text1) { // Just add some text (speedup)
diff = [[1, text2]];
} else if (!text2) { // Just delete some text (speedup)
diff = [[-1, text1]];
} else if ((i = longtext.indexOf(shorttext)) != -1) {
// Shorter text is inside the longer text (speedup)
diff = [[1, longtext.substring(0, i)], [0, shorttext], [1, longtext.substring(i+shorttext.length)]];
// Swap insertions for deletions if diff is reversed.
if (text1.length > text2.length)
diff[0][0] = diff[2][0] = -1;
} else {
longtext = shorttext = null; // Garbage collect
// Check to see if the problem can be split in two.
var hm = diff_halfmatch(text1, text2);
if (hm) {
// A half-match was found, sort out the return data.
var text1_a = hm[0];
var text1_b = hm[1];
var text2_a = hm[2];
var text2_b = hm[3];
var mid_common = hm[4];
// Send both pairs off for separate processing.
var diff_a = diff_main(text1_a, text2_a, checklines);
var diff_b = diff_main(text1_b, text2_b, checklines);
// Merge the results.
diff = diff_a.concat([[0, mid_common]], diff_b);
} else {
// Perform a real diff.
if (checklines && text1.length + text2.length < 250)
checklines = false; // Too trivial for the overhead.
if (checklines) {
// Scan the text on a line-by-line basis first.
a = diff_lines2chars(text1, text2);
text1 = a[0];
text2 = a[1];
var linearray = a[2];
}
diff = diff_map(text1, text2);
if (!diff) // No acceptable result.
diff = [[-1, text1], [1, text2]];
if (checklines) {
diff_chars2lines(diff, linearray); // Convert the diff back to original text.
diff_cleanup_semantic(diff); // Eliminate freak matches (e.g. blank lines)
 
// Rediff any replacement blocks, this time on character-by-character basis.
diff.push([0, '']); // Add a dummy entry at the end.
var pointer = 0;
var count_delete = 0;
var count_insert = 0;
var text_delete = '';
var text_insert = '';
while(pointer < diff.length) {
if (diff[pointer][0] == 1) {
count_insert++;
text_insert += diff[pointer][1];
} else if (diff[pointer][0] == -1) {
count_delete++;
text_delete += diff[pointer][1];
} else { // Upon reaching an equality, check for prior redundancies.
if (count_delete >= 1 && count_insert >= 1) {
// Delete the offending records and add the merged ones.
a = diff_main(text_delete, text_insert, false);
diff.splice(pointer - count_delete - count_insert, count_delete + count_insert);
pointer = pointer - count_delete - count_insert;
for (i=a.length-1; i>=0; i--)
diff.splice(pointer, 0, a[i]);
pointer = pointer + a.length;
}
count_insert = 0;
count_delete = 0;
text_delete = '';
text_insert = '';
}
pointer++;
}
diff.pop(); // Remove the dummy entry at the end.
 
}
}
}
 
if (commonprefix)
diff.unshift([0, commonprefix]);
if (commonsuffix)
diff.push([0, commonsuffix]);
diff_cleanup_merge(diff);
return diff;
}
 
 
function diff_lines2chars(text1, text2) {
// Split text into an array of strings.
// Reduce the texts to a string of hashes where each character represents one line.
var linearray = new Array(); // linearray[4] == "Hello\n"
var linehash = new Object(); // linehash["Hello\n"] == 4
 
// "\x00" is a valid JavaScript character, but the Venkman debugger doesn't like it (bug 335098)
// So we'll insert a junk entry to avoid generating a null character.
linearray.push('');
 
function diff_lines2chars_munge(text) {
// My first ever closure!
var i, line;
var chars = '';
while (text) {
i = text.indexOf('\n');
if (i == -1)
i = text.length;
line = text.substring(0, i+1);
text = text.substring(i+1);
if (linehash.hasOwnProperty ? linehash.hasOwnProperty(line) : (linehash[line] !== undefined)) {
chars += String.fromCharCode(linehash[line]);
} else {
linearray.push(line);
linehash[line] = linearray.length - 1;
chars += String.fromCharCode(linearray.length - 1);
}
}
return chars;
}
 
var chars1 = diff_lines2chars_munge(text1);
var chars2 = diff_lines2chars_munge(text2);
return [chars1, chars2, linearray];
}
 
 
function diff_chars2lines(diff, linearray) {
// Rehydrate the text in a diff from a string of line hashes to real lines of text.
var chars, text;
for (var x=0; x<diff.length; x++) {
chars = diff[x][1];
text = '';
for (var y=0; y<chars.length; y++)
text += linearray[chars.charCodeAt(y)];
diff[x][1] = text;
}
}
 
 
function diff_map(text1, text2) {
// Explore the intersection points between the two texts.
var now = new Date();
var ms_end = now.getTime() + DIFF_TIMEOUT * 1000; // Don't run for too long.
var max = (text1.length + text2.length) / 2;
var v_map1 = new Array();
var v_map2 = new Array();
var v1 = new Object();
var v2 = new Object();
v1[1] = 0;
v2[1] = 0;
var x, y;
var footstep; // Used to track overlapping paths.
var footsteps = new Object();
var done = false;
var hasOwnProperty = !!(footsteps.hasOwnProperty);
// If the total number of characters is odd, then the front path will collide with the reverse path.
var front = (text1.length + text2.length) % 2;
for (var d=0; d<max; d++) {
now = new Date();
if (DIFF_TIMEOUT > 0 && now.getTime() > ms_end) // Timeout reached
return null;
 
// Walk the front path one step.
v_map1[d] = new Object();
for (var k=-d; k<=d; k+=2) {
if (k == -d || k != d && v1[k-1] < v1[k+1])
x = v1[k+1];
else
x = v1[k-1]+1;
y = x - k;
footstep = x+","+y;
if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
done = true;
if (!front)
footsteps[footstep] = d;
while (!done && x < text1.length && y < text2.length && text1.charAt(x) == text2.charAt(y)) {
x++; y++;
footstep = x+","+y;
if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
done = true;
if (!front)
footsteps[footstep] = d;
}
v1[k] = x;
v_map1[d][x+","+y] = true;
if (done) {
// Front path ran over reverse path.
v_map2 = v_map2.slice(0, footsteps[footstep]+1);
var a = diff_path1(v_map1, text1.substring(0, x), text2.substring(0, y));
return a.concat(diff_path2(v_map2, text1.substring(x), text2.substring(y)));
}
}
 
// Walk the reverse path one step.
v_map2[d] = new Object();
for (var k=-d; k<=d; k+=2) {
if (k == -d || k != d && v2[k-1] < v2[k+1])
x = v2[k+1];
else
x = v2[k-1]+1;
y = x - k;
footstep = (text1.length-x)+","+(text2.length-y);
if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
done = true;
if (front)
footsteps[footstep] = d;
while (!done && x < text1.length && y < text2.length && text1.charAt(text1.length-x-1) == text2.charAt(text2.length-y-1)) {
x++; y++;
footstep = (text1.length-x)+","+(text2.length-y);
if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
done = true;
if (front)
footsteps[footstep] = d;
}
v2[k] = x;
v_map2[d][x+","+y] = true;
if (done) {
// Reverse path ran over front path.
v_map1 = v_map1.slice(0, footsteps[footstep]+1);
var a = diff_path1(v_map1, text1.substring(0, text1.length-x), text2.substring(0, text2.length-y));
return a.concat(diff_path2(v_map2, text1.substring(text1.length-x), text2.substring(text2.length-y)));
}
}
}
// Number of diffs equals number of characters, no commonality at all.
return null;
}
 
 
function diff_path1(v_map, text1, text2) {
// Work from the middle back to the start to determine the path.
var path = [];
var x = text1.length;
var y = text2.length;
var last_op = null;
for (var d=v_map.length-2; d>=0; d--) {
while(1) {
if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
x--;
if (last_op === -1)
path[0][1] = text1.charAt(x) + path[0][1];
else
path.unshift([-1, text1.charAt(x)]);
last_op = -1;
break;
} else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
y--;
if (last_op === 1)
path[0][1] = text2.charAt(y) + path[0][1];
else
path.unshift([1, text2.charAt(y)]);
last_op = 1;
break;
} else {
x--;
y--;
//if (text1.charAt(x) != text2.charAt(y))
// return alert("No diagonal. Can't happen. (diff_path1)");
if (last_op === 0)
path[0][1] = text1.charAt(x) + path[0][1];
else
path.unshift([0, text1.charAt(x)]);
last_op = 0;
}
}
}
return path;
}
 
 
function diff_path2(v_map, text1, text2) {
// Work from the middle back to the end to determine the path.
var path = [];
var x = text1.length;
var y = text2.length;
var last_op = null;
for (var d=v_map.length-2; d>=0; d--) {
while(1) {
if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
x--;
if (last_op === -1)
path[path.length-1][1] += text1.charAt(text1.length-x-1);
else
path.push([-1, text1.charAt(text1.length-x-1)]);
last_op = -1;
break;
} else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
y--;
if (last_op === 1)
path[path.length-1][1] += text2.charAt(text2.length-y-1);
else
path.push([1, text2.charAt(text2.length-y-1)]);
last_op = 1;
break;
} else {
x--;
y--;
//if (text1.charAt(text1.length-x-1) != text2.charAt(text2.length-y-1))
// return alert("No diagonal. Can't happen. (diff_path2)");
if (last_op === 0)
path[path.length-1][1] += text1.charAt(text1.length-x-1);
else
path.push([0, text1.charAt(text1.length-x-1)]);
last_op = 0;
}
}
}
return path;
}
 
 
function diff_prefix(text1, text2) {
// Trim off common prefix
var pointermin = 0;
var pointermax = Math.min(text1.length, text2.length);
var pointermid = pointermax;
while(pointermin < pointermid) {
if (text1.substring(0, pointermid) == text2.substring(0, pointermid))
pointermin = pointermid;
else
pointermax = pointermid;
pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
}
var commonprefix = text1.substring(0, pointermid);
text1 = text1.substring(pointermid);
text2 = text2.substring(pointermid);
return [text1, text2, commonprefix];
}
 
 
function diff_suffix(text1, text2) {
// Trim off common suffix
var pointermin = 0;
var pointermax = Math.min(text1.length, text2.length);
var pointermid = pointermax;
while(pointermin < pointermid) {
if (text1.substring(text1.length-pointermid) == text2.substring(text2.length-pointermid))
pointermin = pointermid;
else
pointermax = pointermid;
pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
}
var commonsuffix = text1.substring(text1.length-pointermid);
text1 = text1.substring(0, text1.length-pointermid);
text2 = text2.substring(0, text2.length-pointermid);
return [text1, text2, commonsuffix];
}
 
 
function diff_halfmatch(text1, text2) {
// Do the two texts share a substring which is at least half the length of the longer text?
var longtext = text1.length > text2.length ? text1 : text2;
var shorttext = text1.length > text2.length ? text2 : text1;
if (longtext.length < 10 || shorttext.length < 1)
return null; // Pointless.
 
function diff_halfmatch_i(longtext, shorttext, i) {
// Start with a 1/4 length substring at position i as a seed.
var seed = longtext.substring(i, i+Math.floor(longtext.length/4));
var j = -1;
var best_common = '';
var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;
while ((j = shorttext.indexOf(seed, j+1)) != -1) {
var my_prefix = diff_prefix(longtext.substring(i), shorttext.substring(j));
var my_suffix = diff_suffix(longtext.substring(0, i), shorttext.substring(0, j));
if (best_common.length < (my_suffix[2] + my_prefix[2]).length) {
best_common = my_suffix[2] + my_prefix[2];
best_longtext_a = my_suffix[0];
best_longtext_b = my_prefix[0];
best_shorttext_a = my_suffix[1];
best_shorttext_b = my_prefix[1];
}
}
if (best_common.length >= longtext.length/2)
return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];
else
return null;
}
 
// First check if the second quarter is the seed for a half-match.
var hm1 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/4));
// Check again based on the third quarter.
var hm2 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/2));
var hm;
if (!hm1 && !hm2)
return null;
else if (!hm2)
hm = hm1;
else if (!hm1)
hm = hm2;
else // Both matched. Select the longest.
hm = hm1[4].length > hm2[4].length ? hm1 : hm2;
 
// A half-match was found, sort out the return data.
if (text1.length > text2.length) {
var text1_a = hm[0];
var text1_b = hm[1];
var text2_a = hm[2];
var text2_b = hm[3];
} else {
var text2_a = hm[0];
var text2_b = hm[1];
var text1_a = hm[2];
var text1_b = hm[3];
}
var mid_common = hm[4];
return [text1_a, text1_b, text2_a, text2_b, mid_common];
}
 
 
function diff_cleanup_semantic(diff) {
// Reduce the number of edits by eliminating semantically trivial equalities.
var changes = false;
var equalities = []; // Stack of indices where equalities are found.
var lastequality = null; // Always equal to equalities[equalities.length-1][1]
var pointer = 0; // Index of current position.
var length_changes1 = 0; // Number of characters that changed prior to the equality.
var length_changes2 = 0; // Number of characters that changed after the equality.
while (pointer < diff.length) {
if (diff[pointer][0] == 0) { // equality found
equalities.push(pointer);
length_changes1 = length_changes2;
length_changes2 = 0;
lastequality = diff[pointer][1];
} else { // an insertion or deletion
length_changes2 += diff[pointer][1].length;
if (lastequality != null && (lastequality.length <= length_changes1) && (lastequality.length <= length_changes2)) {
//alert("Splitting: '"+lastequality+"'");
diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
equalities.pop(); // Throw away the equality we just deleted;
equalities.pop(); // Throw away the previous equality;
pointer = equalities.length ? equalities[equalities.length-1] : -1;
length_changes1 = 0; // Reset the counters.
length_changes2 = 0;
lastequality = null;
changes = true;
}
}
pointer++;
}
 
if (changes)
diff_cleanup_merge(diff);
}
 
 
function diff_cleanup_efficiency(diff) {
// Reduce the number of edits by eliminating operationally trivial equalities.
var changes = false;
var equalities = []; // Stack of indices where equalities are found.
var lastequality = ''; // Always equal to equalities[equalities.length-1][1]
var pointer = 0; // Index of current position.
var pre_ins = false; // Is there an insertion operation before the last equality.
var pre_del = false; // Is there an deletion operation before the last equality.
var post_ins = false; // Is there an insertion operation after the last equality.
var post_del = false; // Is there an deletion operation after the last equality.
while (pointer < diff.length) {
if (diff[pointer][0] == 0) { // equality found
if (diff[pointer][1].length < DIFF_EDIT_COST && (post_ins || post_del)) {
// Candidate found.
equalities.push(pointer);
pre_ins = post_ins;
pre_del = post_del;
lastequality = diff[pointer][1];
} else {
// Not a candidate, and can never become one.
equalities = [];
lastequality = '';
}
post_ins = post_del = false;
} else { // an insertion or deletion
if (diff[pointer][0] == -1)
post_del = true;
else
post_ins = true;
// Five types to be split:
// <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
// <ins>A</ins>X<ins>C</ins><del>D</del>
// <ins>A</ins><del>B</del>X<ins>C</ins>
// <ins>A</del>X<ins>C</ins><del>D</del>
// <ins>A</ins><del>B</del>X<del>C</del>
if (lastequality && ((pre_ins && pre_del && post_ins && post_del) || ((lastequality.length < DIFF_EDIT_COST/2) && (pre_ins + pre_del + post_ins + post_del) == 3))) {
//alert("Splitting: '"+lastequality+"'");
diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
equalities.pop(); // Throw away the equality we just deleted;
lastequality = '';
if (pre_ins && pre_del) {
// No changes made which could affect previous entry, keep going.
post_ins = post_del = true;
equalities = [];
} else {
equalities.pop(); // Throw away the previous equality;
pointer = equalities.length ? equalities[equalities.length-1] : -1;
post_ins = post_del = false;
}
changes = true;
}
}
pointer++;
}
 
if (changes)
diff_cleanup_merge(diff);
}
 
 
function diff_cleanup_merge(diff) {
// Reorder and merge like edit sections. Merge equalities.
// Any edit section can move as long as it doesn't cross an equality.
diff.push([0, '']); // Add a dummy entry at the end.
var pointer = 0;
var count_delete = 0;
var count_insert = 0;
var text_delete = '';
var text_insert = '';
var record_insert, record_delete;
var my_xfix;
while(pointer < diff.length) {
if (diff[pointer][0] == 1) {
count_insert++;
text_insert += diff[pointer][1];
pointer++;
} else if (diff[pointer][0] == -1) {
count_delete++;
text_delete += diff[pointer][1];
pointer++;
} else { // Upon reaching an equality, check for prior redundancies.
if (count_delete > 1 || count_insert > 1) {
if (count_delete > 1 && count_insert > 1) {
// Factor out any common prefixies.
my_xfix = diff_prefix(text_insert, text_delete);
if (my_xfix[2] != '') {
if ((pointer - count_delete - count_insert) > 0 && diff[pointer - count_delete - count_insert - 1][0] == 0) {
text_insert = my_xfix[0];
text_delete = my_xfix[1];
diff[pointer - count_delete - count_insert - 1][1] += my_xfix[2];
}
}
// Factor out any common suffixies.
my_xfix = diff_suffix(text_insert, text_delete);
if (my_xfix[2] != '') {
text_insert = my_xfix[0];
text_delete = my_xfix[1];
diff[pointer][1] = my_xfix[2] + diff[pointer][1];
}
}
// Delete the offending records and add the merged ones.
if (count_delete == 0)
diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [1, text_insert]);
else if (count_insert == 0)
diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete]);
else
diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete], [1, text_insert]);
pointer = pointer - count_delete - count_insert + (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;
} else if (pointer != 0 && diff[pointer-1][0] == 0) {
// Merge this equality with the previous one.
diff[pointer-1][1] += diff[pointer][1];
diff.splice(pointer, 1);
} else {
pointer++;
}
count_insert = 0;
count_delete = 0;
text_delete = '';
text_insert = '';
}
}
if (diff[diff.length-1][1] == '')
diff.pop(); // Remove the dummy entry at the end.
}
 
 
function diff_addindex(diff) {
// Add an index to each tuple, represents where the tuple is located in text2.
// e.g. [[-1, 'h', 0], [1, 'c', 0], [0, 'at', 1]]
var i = 0;
for (var x=0; x<diff.length; x++) {
diff[x].push(i);
if (diff[x][0] != -1)
i += diff[x][1].length;
}
}
 
 
function diff_xindex(diff, loc) {
// loc is a location in text1, compute and return the equivalent location in text2.
// e.g. "The cat" vs "The big cat", 1->1, 5->8
var chars1 = 0;
var chars2 = 0;
var last_chars1 = 0;
var last_chars2 = 0;
for (var x=0; x<diff.length; x++) {
if (diff[x][0] != 1) // Equality or deletion.
chars1 += diff[x][1].length;
if (diff[x][0] != -1) // Equality or insertion.
chars2 += diff[x][1].length;
if (chars1 > loc) // Overshot the location.
break;
last_chars1 = chars1;
last_chars2 = chars2;
}
if (diff.length != x && diff[x][0] == -1) // The location was deleted.
return last_chars2;
// Add the remaining character length.
return last_chars2 + (loc - last_chars1);
}
 
 
function diff_prettyhtml(diff) {
// Convert a diff array into a pretty HTML report.
diff_addindex(diff);
var html = '';
for (var x=0; x<diff.length; x++) {
var m = diff[x][0]; // Mode (-1=delete, 0=copy, 1=add)
var t = diff[x][1]; // Text of change.
var i = diff[x][2]; // Index of change.
t = t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
t = t.replace(/\n/g, "&para;<BR>");
if (m == -1)
html += "<DEL STYLE='background:#FFE6E6;' TITLE='i="+i+"'>"+t+"</DEL>";
else if (m == 1)
html += "<INS STYLE='background:#E6FFE6;' TITLE='i="+i+"'>"+t+"</INS>";
else
html += "<SPAN TITLE='i="+i+"'>"+t+"</SPAN>";
}
return html;
}
 
 
//////////////////////////////////////////////////////////////////////
// Match //
//////////////////////////////////////////////////////////////////////
 
 
function match_getmaxbits() {
// Compute the number of bits in an int.
// The normal answer for JavaScript is 32.
var maxbits = 0;
var oldi = 1;
var newi = 2;
while (oldi != newi) {
maxbits++;
oldi = newi;
newi = newi << 1;
}
return maxbits;
}
var MATCH_MAXBITS = match_getmaxbits();
 
 
function match_main(text, pattern, loc) {
// Locate the best instance of 'pattern' in 'text' near 'loc'.
loc = Math.max(0, Math.min(loc, text.length-pattern.length));
if (text == pattern) {
// Shortcut (potentially not guaranteed by the algorithm)
return 0;
} else if (text.length == 0) {
// Nothing to match.
return null;
} else if (text.substring(loc, loc + pattern.length) == pattern) {
// Perfect match at the perfect spot! (Includes case of null pattern)
return loc;
} else {
// Do a fuzzy compare.
var match = match_bitap(text, pattern, loc);
return match;
}
}
 
 
function match_bitap(text, pattern, loc) {
// Locate the best instance of 'pattern' in 'text' near 'loc' using the Bitap algorithm.
if (pattern.length > MATCH_MAXBITS)
return alert("Pattern too long for this browser.");
 
// Initialise the alphabet.
var s = match_alphabet(pattern);
 
var score_text_length = text.length;
// Coerce the text length between reasonable maximums and minimums.
score_text_length = Math.max(score_text_length, MATCH_MINLENGTH);
score_text_length = Math.min(score_text_length, MATCH_MAXLENGTH);
 
function match_bitap_score (e, x) {
// Compute and return the score for a match with e errors and x location.
var d = Math.abs(loc-x);
return (e / pattern.length / MATCH_BALANCE) + (d / score_text_length / (1.0 - MATCH_BALANCE));
}
 
// Highest score beyond which we give up.
var score_threshold = MATCH_THRESHOLD;
// Is there a nearby exact match? (speedup)
var best_loc = text.indexOf(pattern, loc);
if (best_loc != -1)
score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
// What about in the other direction? (speedup)
best_loc = text.lastIndexOf(pattern, loc+pattern.length);
if (best_loc != -1)
score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
 
// Initialise the bit arrays.
var r = Array();
var d = -1;
var matchmask = Math.pow(2, pattern.length-1);
best_loc = null;
 
var bin_min, bin_mid;
var bin_max = Math.max(loc+loc, text.length);
var last_rd;
for (var d=0; d<pattern.length; d++) {
// Scan for the best match; each iteration allows for one more error.
var rd = Array(text.length);
 
// Run a binary search to determine how far from 'loc' we can stray at this error level.
bin_min = loc;
bin_mid = bin_max;
while(bin_min < bin_mid) {
if (match_bitap_score(d, bin_mid) < score_threshold)
bin_min = bin_mid;
else
bin_max = bin_mid;
bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);
}
bin_max = bin_mid; // Use the result from this iteration as the maximum for the next.
var start = Math.max(0, loc - (bin_mid - loc) - 1);
var finish = Math.min(text.length-1, pattern.length + bin_mid);
 
if (text.charAt(finish) == pattern.charAt(pattern.length-1))
rd[finish] = Math.pow(2, d+1)-1;
else
rd[finish] = Math.pow(2, d)-1;
for (var j=finish-1; j>=start; j--) {
// The alphabet (s) is a sparse hash, so the following lines generate warnings.
if (d == 0) // First pass: exact match.
rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)];
else // Subsequent passes: fuzzy match.
rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)] | ((last_rd[j+1] << 1) | 1) | ((last_rd[j] << 1) | 1) | last_rd[j+1];
if (rd[j] & matchmask) {
var score = match_bitap_score(d, j);
// This match will almost certainly be better than any existing match. But check anyway.
if (score <= score_threshold) {
// Told you so.
score_threshold = score;
best_loc = j;
if (j > loc) {
// When passing loc, don't exceed our current distance from loc.
start = Math.max(0, loc - (j - loc));
} else {
// Already passed loc, downhill from here on in.
break;
}
}
}
}
if (match_bitap_score(d+1, loc) > score_threshold) // No hope for a (better) match at greater error levels.
break;
last_rd = rd;
}
return best_loc;
}
 
 
function match_alphabet(pattern) {
// Initialise the alphabet for the Bitap algorithm.
var s = Object();
for (var i=0; i<pattern.length; i++)
s[pattern.charAt(i)] = 0;
for (var i=0; i<pattern.length; i++)
s[pattern.charAt(i)] |= Math.pow(2, pattern.length-i-1);
return s;
}
 
 
//////////////////////////////////////////////////////////////////////
// Patch //
//////////////////////////////////////////////////////////////////////
 
 
function patch_obj() {
// Constructor for a patch object.
this.diffs = [];
this.start1 = null;
this.start2 = null;
this.length1 = 0;
this.length2 = 0;
 
this.toString = function() {
// Emmulate GNU diff's format.
// Header: @@ -382,8 +481,9 @@
// Indicies are printed as 1-based, not 0-based.
var coords1, coords2;
if (this.length1 == 0)
coords1 = this.start1+",0";
else if (this.length1 == 1)
coords1 = this.start1+1;
else
coords1 = (this.start1+1)+","+this.length1;
if (this.length2 == 0)
coords2 = this.start2+",0";
else if (this.length2 == 1)
coords2 = this.start2+1;
else
coords2 = (this.start2+1)+","+this.length2;
var txt = "@@ -"+coords1+" +"+coords2+" @@\n";
// Escape the body of the patch with %xx notation.
for (var x=0; x<this.diffs.length; x++)
txt += ("- +".charAt(this.diffs[x][0]+1)) + encodeURI(this.diffs[x][1]) + "\n";
return txt.replace(/%20/g, ' ');
}
 
this.text1 = function() {
// Compute and return the source text (all equalities and deletions).
var txt = '';
for (var x=0; x<this.diffs.length; x++)
if (this.diffs[x][0] == 0 || this.diffs[x][0] == -1)
txt += this.diffs[x][1];
return txt;
}
 
this.text2 = function() {
// Compute and return the destination text (all equalities and insertions).
var txt = '';
for (var x=0; x<this.diffs.length; x++)
if (this.diffs[x][0] == 0 || this.diffs[x][0] == 1)
txt += this.diffs[x][1];
return txt;
}
}
 
 
function patch_addcontext(patch, text) {
var pattern = text.substring(patch.start2, patch.start2+patch.length1);
var padding = 0;
// Increase the context until we're unique (but don't let the pattern expand beyond MATCH_MAXBITS).
while (text.indexOf(pattern) != text.lastIndexOf(pattern) && pattern.length < MATCH_MAXBITS-PATCH_MARGIN-PATCH_MARGIN) {
padding += PATCH_MARGIN;
pattern = text.substring(patch.start2 - padding, patch.start2+patch.length1 + padding);
}
// Add one chunk for good luck.
padding += PATCH_MARGIN;
// Add the prefix.
var prefix = text.substring(patch.start2 - padding, patch.start2);
if (prefix != '')
patch.diffs.unshift([0, prefix]);
// Add the suffix
var suffix = text.substring(patch.start2+patch.length1, patch.start2+patch.length1 + padding);
if (suffix != '')
patch.diffs.push([0, suffix]);
 
// Roll back the start points.
patch.start1 -= prefix.length;
patch.start2 -= prefix.length;
// Extend the lengths.
patch.length1 += prefix.length + suffix.length;
patch.length2 += prefix.length + suffix.length;
}
 
 
function patch_make(text1, text2, diff) {
// Compute a list of patches to turn text1 into text2.
// Use diff if provided, otherwise compute it ourselves.
if (typeof diff == 'undefined') {
diff = diff_main(text1, text2, true);
if (diff.length > 2) {
diff_cleanup_semantic(diff);
diff_cleanup_efficiency(diff);
}
}
if (diff.length == 0)
return []; // Get rid of the null case.
var patches = [];
var patch = new patch_obj();
var char_count1 = 0; // Number of characters into the text1 string.
var char_count2 = 0; // Number of characters into the text2 string.
var last_type = null;
var prepatch_text = text1; // Recreate the patches to determine context info.
var postpatch_text = text1;
for (var x=0; x<diff.length; x++) {
var diff_type = diff[x][0];
var diff_text = diff[x][1];
 
if (patch.diffs.length == 0 && diff_type != 0) {
// A new patch starts here.
patch.start1 = char_count1;
patch.start2 = char_count2;
}
 
if (diff_type == 1) {
// Insertion
patch.diffs.push(diff[x]);
patch.length2 += diff_text.length;
postpatch_text = postpatch_text.substring(0, char_count2) + diff_text + postpatch_text.substring(char_count2);
} else if (diff_type == -1) {
// Deletion.
patch.length1 += diff_text.length;
patch.diffs.push(diff[x]);
postpatch_text = postpatch_text.substring(0, char_count2) + postpatch_text.substring(char_count2 + diff_text.length);
} else if (diff_type == 0 && diff_text.length <= 2*PATCH_MARGIN && patch.diffs.length != 0 && diff.length != x+1) {
// Small equality inside a patch.
patch.diffs.push(diff[x]);
patch.length1 += diff_text.length;
patch.length2 += diff_text.length;
}
 
last_type = diff_type;
if (diff_type == 0 && diff_text.length >= 2*PATCH_MARGIN) {
// Time for a new patch.
if (patch.diffs.length != 0) {
patch_addcontext(patch, prepatch_text);
patches.push(patch);
var patch = new patch_obj();
last_type = null;
prepatch_text = postpatch_text;
}
}
 
// Update the current character count.
if (diff_type != 1)
char_count1 += diff_text.length;
if (diff_type != -1)
char_count2 += diff_text.length;
}
// Pick up the leftover patch if not empty.
if (patch.diffs.length != 0) {
patch_addcontext(patch, prepatch_text);
patches.push(patch);
}
 
return patches;
}
 
 
function patch_apply(patches, text) {
// Merge a set of patches onto the text.
// Return a patched text, as well as a list of true/false values indicating which patches were applied.
patch_splitmax(patches);
var results = [];
var delta = 0;
var expected_loc, start_loc;
var text1, text2;
var diff, mod, index1, index2;
for (var x=0; x<patches.length; x++) {
expected_loc = patches[x].start2 + delta;
text1 = patches[x].text1();
start_loc = match_main(text, text1, expected_loc);
if (start_loc == null) {
// No match found. :(
results.push(false);
} else {
// Found a match. :)
results.push(true);
delta = start_loc - expected_loc;
text2 = text.substring(start_loc, start_loc + text1.length);
if (text1 == text2) {
// Perfect match, just shove the replacement text in.
text = text.substring(0, start_loc) + patches[x].text2() + text.substring(start_loc + text1.length);
} else {
// Imperfect match. Run a diff to get a framework of equivalent indicies.
diff = diff_main(text1, text2, false);
index1 = 0;
for (var y=0; y<patches[x].diffs.length; y++) {
mod = patches[x].diffs[y];
if (mod[0] != 0)
index2 = diff_xindex(diff, index1);
if (mod[0] == 1) // Insertion
text = text.substring(0, start_loc + index2) + mod[1] + text.substring(start_loc + index2);
else if (mod[0] == -1) // Deletion
text = text.substring(0, start_loc + index2) + text.substring(start_loc + diff_xindex(diff, index1 + mod[1].length));
if (mod[0] != -1)
index1 += mod[1].length;
}
}
}
}
return [text, results];
}
 
 
function patch_splitmax(patches) {
// Look through the patches and break up any which are longer than the maximum limit of the match algorithm.
var bigpatch, patch, patch_size, start1, start2, diff_type, diff_text, precontext, postcontext, empty;
for (var x=0; x<patches.length; x++) {
if (patches[x].length1 > MATCH_MAXBITS) {
bigpatch = patches[x];
// Remove the big old patch.
patches.splice(x, 1);
patch_size = MATCH_MAXBITS;
start1 = bigpatch.start1;
start2 = bigpatch.start2;
precontext = '';
while (bigpatch.diffs.length != 0) {
// Create one of several smaller patches.
patch = new patch_obj();
empty = true;
patch.start1 = start1 - precontext.length;
patch.start2 = start2 - precontext.length;
if (precontext != '') {
patch.length1 = patch.length2 = precontext.length;
patch.diffs.push([0, precontext]);
}
while (bigpatch.diffs.length != 0 && patch.length1 < patch_size - PATCH_MARGIN) {
diff_type = bigpatch.diffs[0][0];
diff_text = bigpatch.diffs[0][1];
if (diff_type == 1) {
// Insertions are harmless.
patch.length2 += diff_text.length;
start2 += diff_text.length;
patch.diffs.push(bigpatch.diffs.shift());
empty = false;
} else {
// Deletion or equality. Only take as much as we can stomach.
diff_text = diff_text.substring(0, patch_size - patch.length1 - PATCH_MARGIN);
patch.length1 += diff_text.length;
start1 += diff_text.length;
if (diff_type == 0) {
patch.length2 += diff_text.length;
start2 += diff_text.length;
} else {
empty = false;
}
patch.diffs.push([diff_type, diff_text]);
if (diff_text == bigpatch.diffs[0][1])
bigpatch.diffs.shift();
else
bigpatch.diffs[0][1] = bigpatch.diffs[0][1].substring(diff_text.length);
}
}
// Compute the head context for the next patch.
precontext = patch.text2();
precontext = precontext.substring(precontext.length - PATCH_MARGIN);
// Append the end context for this patch.
postcontext = bigpatch.text1().substring(0, PATCH_MARGIN);
if (postcontext != '') {
patch.length1 += postcontext.length;
patch.length2 += postcontext.length;
if (patch.diffs.length > 0 && patch.diffs[patch.diffs.length-1][0] == 0)
patch.diffs[patch.diffs.length-1][1] += postcontext;
else
patch.diffs.push([0, postcontext]);
}
if (!empty)
patches.splice(x++, 0, patch);
}
}
}
}
 
 
function patch_totext(patches) {
// Take a list of patches and return a textual representation.
var text = '';
for (var x=0; x<patches.length; x++)
text += patches[x];
return text;
}
 
 
function patch_fromtext(text) {
// Take a textual representation of patches and return a list of patch objects.
var patches = [];
text = text.split('\n');
var patch, m, chars1, chars2, sign, line;
while (text.length != 0) {
m = text[0].match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/);
if (!m)
return alert("Invalid patch string:\n"+text[0]);
patch = new patch_obj();
patches.push(patch);
patch.start1 = parseInt(m[1]);
if (m[2] == '') {
patch.start1--;
patch.length1 = 1;
} else if (m[2] == '0') {
patch.length1 = 0;
} else {
patch.start1--;
patch.length1 = parseInt(m[2]);
}
 
patch.start2 = parseInt(m[3]);
if (m[4] == '') {
patch.start2--;
patch.length2 = 1;
} else if (m[4] == '0') {
patch.length2 = 0;
} else {
patch.start2--;
patch.length2 = parseInt(m[4]);
}
text.shift();
 
while (text.length != 0) {
sign = text[0].charAt(0);
line = decodeURIComponent(text[0].substring(1));
if (sign == '-') {
// Deletion.
patch.diffs.push([-1, line]);
} else if (sign == '+') {
// Insertion.
patch.diffs.push([1, line]);
} else if (sign == ' ') {
// Minor equality.
patch.diffs.push([0, line]);
} else if (sign == '@') {
// Start of next patch.
break;
} else if (sign == '') {
// Blank line? Whatever.
} else {
// WTF?
return alert("Invalid patch mode: '"+sign+"'\n"+line);
}
text.shift();
}
}
return patches;
}
 
// EOF
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/langs/en.js
New file
0,0 → 1,23
// UK lang variables
 
tinyMCE.addToLang('devkit',{
title : 'TinyMCE Development Kit',
info_tab : 'Info',
settings_tab : 'Settings',
log_tab : 'Log',
content_tab : 'Content',
command_states_tab : 'Commands',
undo_redo_tab : 'Undo/Redo',
misc_tab : 'Misc',
filter : 'Filter:',
clear_log : 'Clear log',
refresh : 'Refresh',
info_help : 'Press Refresh to view info.',
settings_help : 'Press Refresh to display the settings array for each TinyMCE_Control instance.',
content_help : 'Press Refresh to display the raw and cleaned HTML content for each TinyMCE_Control instance.',
command_states_help : 'Press Refresh to display the current command states from inst.queryCommandState. This list will also mark unsupported commands.',
undo_redo_help : 'Press Refresh to display the global and instance undo/redo levels.',
misc_help : 'Here are various tools for debugging and development purposes.',
debug_events : 'Debug events',
undo_diff : 'Diff undo levels'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/images/flip_up.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/images/flip_up.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/images/flip_down.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/images/flip_down.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/editor_plugin_src.js
New file
0,0 → 1,325
/**
* $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
tinyMCE.importPluginLanguagePack('devkit');
 
var TinyMCE_DevKitPlugin = {
_logFilter : '\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',
_logPadding : '',
_startTime : null,
_benchMark : false,
_winLoaded : false,
_isDebugEvents : false,
 
getInfo : function() {
return {
longname : 'Development Kit',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
initInstance : function(inst) {
this._setup();
},
 
_setup : function() {
if (this._loaded)
return;
 
this._loaded = true;
 
// Register a document reference for more easy access in the FF DOM inspector
document.___TinyMCE = tinyMCE;
 
// Setup devkit by settings
this._logFilter = tinyMCE.getParam('devkit_log_filter', this._logFilter);
this._benchMark = tinyMCE.getParam('devkit_bench_mark', false);
 
var ifr = document.createElement('iframe');
 
ifr.setAttribute("id", "devkit");
ifr.setAttribute("frameBorder", "0");
ifr.setAttribute("src", tinyMCE.baseURL + '/plugins/devkit/devkit.htm');
 
document.body.appendChild(ifr);
 
// Workaround for strange IE reload bug
//if (tinyMCE.isRealIE)
// document.getElementById('devkit').outerHTML = document.getElementById('devkit').outerHTML;
 
tinyMCE.importCSS(document, tinyMCE.baseURL + '/plugins/devkit/css/devkit_ui.css');
},
 
_start : function() {
this._logPadding += '\u00a0';
 
return new Date().getTime();
},
 
_end : function(st) {
if (this._logPadding.length > 0)
this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
 
if (this._benchMark)
this._log("benchmark", "Execution time: " + (new Date().getTime() - st));
},
 
_log : function(t) {
var m, a, i, e = document.getElementById('devkit'), now = new Date().getTime();
 
if (!this._startTime)
this._startTime = now;
 
m = (this._logPadding.length > 1 ? this._logPadding : '') + '[' + (now - this._startTime) + '] [' + t + '] ';
 
a = this._log.arguments;
for (i=1; i<a.length; i++) {
if (typeof(a[i]) == 'undefined')
continue;
 
if (i > 1)
m += ', ';
 
m += a[i];
}
 
if (!new RegExp(this._logFilter, 'gi').test(m)) {
if (this._logPadding.length > 0)
this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
 
return;
}
 
if (!this._winLoaded)
tinyMCE.log[tinyMCE.log.length] = m;
else
e.contentWindow.debug(m);
},
 
_debugEvents : function(s) {
var i, ld, inst, n, ev = ['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive',
'DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved',
'RadioStateChange','blur','broadcast','change','click','close','command',
'commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit',
'draggesture','dragover','focus','input','keydown','keypress','keyup','load',
'mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden',
'popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference',
'underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate',
'beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint',
'beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut',
'dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave',
'dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout',
'help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel',
'move','moveend','movestart','paste','propertychange','readystatechange','reset','resize',
'resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll',
'selectionchange','selectstart','start','stop','submit'];
// mousemove
 
if (TinyMCE_DevKitPlugin._isDebugEvents == s)
return;
 
TinyMCE_DevKitPlugin._isDebugEvents = s;
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst) || inst.getDoc() == ld)
continue;
 
ld = inst.getDoc();
 
for (i=0; i<ev.length; i++) {
if (s)
tinyMCE.addEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
else
tinyMCE.removeEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
}
}
},
 
_debugEvent : function(e) {
var t;
 
e = e ? e : tinyMCE.selectedInstance.getWin().event;
t = e.srcElement ? e.srcElement : e.target;
 
tinyMCE.debug(e.type, t ? t.nodeName : '');
},
 
_serialize : function(o) {
var i, v, s = TinyMCE_DevKitPlugin._serialize;
 
if (o == null)
return 'null';
 
switch (typeof o) {
case 'string':
v = '\bb\tt\nn\ff\rr\""\'\'\\\\';
 
return '"' + o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])', 'g'), function(a, b) {
i = v.indexOf(b);
 
if (i+1)
return '\\' + v.charAt(i + 1);
 
a = b.charCodeAt().toString(16);
 
return '\\u' + '0000'.substring(a.length) + a;
}) + '"';
 
case 'object':
if (o instanceof Array) {
for (i=0, v = '['; i<o.length; i++)
v += (i > 0 ? ',' : '') + s(o[i]);
 
return v + ']';
}
 
v = '{';
 
for (i in o)
v += typeof o[i] != 'function' ? (v.length > 1 ? ',"' : '"') + i + '":' + s(o[i]) : '';
 
return v + '}';
}
 
return '' + o;
}
};
 
// Patch and piggy back functions
tinyMCE.__debug = tinyMCE.debug;
tinyMCE.debug = function() {
var a, i, m = '', now = new Date().getTime(), start = TinyMCE_DevKitPlugin._startTime;
 
if (!start)
TinyMCE_DevKitPlugin._startTime = start = now;
 
a = this.debug.arguments;
for (i=0; i<a.length; i++) {
if (typeof(a[i]) == 'undefined')
continue;
 
if (i > 0)
m += ', ';
 
m += a[i];
}
 
TinyMCE_DevKitPlugin._log('debug', m);
};
 
tinyMCE.dump = function(o) {
tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o));
};
 
tinyMCE.sleep = function(t) {
var s = new Date().getTime(), b;
 
while (new Date().getTime() - s < t) b=1;
};
 
tinyMCE.__execCommand = tinyMCE.execCommand;
tinyMCE.execCommand = function(command, user_interface, value) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('execCommand', command, user_interface, value);
r = tinyMCE.__execCommand(command, user_interface, value);
dk._end(st);
 
return r;
};
 
tinyMCE.__execInstanceCommand = tinyMCE.execInstanceCommand;
tinyMCE.execInstanceCommand = function(editor_id, command, user_interface, value, focus) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('execInstanceCommand', editor_id, command, user_interface, value);
r = tinyMCE.__execInstanceCommand(editor_id, command, user_interface, value);
dk._end(st);
 
return r;
};
 
TinyMCE_Engine.prototype.__handleEvent = TinyMCE_Engine.prototype.handleEvent;
TinyMCE_Engine.prototype.handleEvent = function(e) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('handleEvent', e.type);
r = tinyMCE.__handleEvent(e);
dk._end(st);
 
return r;
};
 
tinyMCE.__importCSS = tinyMCE.importCSS;
tinyMCE.importCSS = function(doc, css) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('importCSS', doc, css);
r = tinyMCE.__importCSS(doc, css);
dk._end(st);
 
return r;
};
 
tinyMCE.__triggerNodeChange = tinyMCE.triggerNodeChange;
tinyMCE.triggerNodeChange = function(focus, setup_content) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('triggerNodeChange', focus, setup_content);
r = tinyMCE.__triggerNodeChange(focus, setup_content);
dk._end(st);
 
return r;
};
 
tinyMCE.__dispatchCallback = tinyMCE.dispatchCallback;
tinyMCE.dispatchCallback = function(i, p, n) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('dispatchCallback', i, p, n);
r = tinyMCE.__dispatchCallback(i, p, n);
dk._end(st);
 
return r;
};
 
tinyMCE.__executeCallback = tinyMCE.executeCallback;
tinyMCE.executeCallback = function(i, p, n) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('executeCallback', i, p, n);
r = tinyMCE.__executeCallback(i, p, n);
dk._end(st);
 
return r;
};
 
tinyMCE.__execCommandCallback = tinyMCE.execCommandCallback;
tinyMCE.execCommandCallback = function(i, p, n) {
var r, st, dk = TinyMCE_DevKitPlugin;
 
st = dk._start();
dk._log('execCommandCallback', i, p, n);
r = tinyMCE.__execCommandCallback(i, p, n);
dk._end(st);
 
return r;
};
 
tinyMCE.addPlugin("devkit", TinyMCE_DevKitPlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/css/devkit_ui.css
New file
0,0 → 1,15
#devkit {
position: absolute;
top: -385px; right: 0;
width: 640px; height: 390px;
border: 1px solid black;
z-index: 10000;
}
 
.devkitup {
top: -385px !important;
}
 
.devkitdown {
top: 0 !important;
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/devkit/css/devkit.css
New file
0,0 → 1,117
body {
overflow: hidden;
}
 
h1 {
font-size: 14px;
margin: 0 0 10px 0;
}
 
h2 {
font-size: 12px;
margin: 3px 0 3px 0;
}
 
h3 {
font-size: 11px;
margin: 3px 0 3px 0;
}
 
#log {
font-family: Verdana;
border: 1px solid gray;
width: 100%; height: 240px;
overflow: scroll;
white-space: nowrap;
}
 
#log span {
display: block;
}
 
#log span.msg {
float: left;
}
 
#log span.time {
float: left;
}
 
#log br {
clear: both;
}
 
#logfilter {
width: 350px;
}
 
#logenabled {
border: 0;
}
 
#settings_panel span, #info_panel span, #content_panel span, #command_states_panel span, #undo_redo_panel span {
display: block;
margin: 5px 0 5px 0;
}
 
div.data {
width: 100%; height: 240px;
overflow: scroll;
border: 1px solid gray;
}
 
#misc_panel div.data {
height: 270px;
}
 
.data input {
width: 265px;
border: 0;
}
 
.data h2 {
margin-left: 5px;
}
 
.data h3 {
margin-left: 7px;
}
 
.data div {
margin-left: 7px;
}
 
.data table {
margin: 0 0 15px 15px;
}
 
.data p {
margin: 0; padding: 0;
margin-top: 5px;
margin-left: 5px;
}
 
table, td {
border: 1px solid gray;
border-collapse: collapse;
}
 
#flip {
position: absolute;
left: 295; top: 384px;
}
 
.bspec {
color: gray;
}
 
.dep {
color: #880000;
}
 
.col1 {
width: 265px;
}
 
div.undodata {
}
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/autosave/readme.txt
New file
0,0 → 1,0
Check the TinyMCE documentation for details on this plugin.
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/autosave/editor_plugin.js
New file
0,0 → 1,0
tinyMCE.importPluginLanguagePack('autosave');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg}return}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin);
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/autosave/langs/fr.js
New file
0,0 → 1,6
// FR lang variables
// Modified by Motte, last updated 2006-03-23
 
tinyMCE.addToLang('',{
autosave_unload_msg : 'Vos modifications seront perdues si vous quittez cette page.'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/autosave/langs/en.js
New file
0,0 → 1,5
// EN lang variables
 
tinyMCE.addToLang('',{
autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
});
/branches/v4.0/wikini/maj_wikini/tools/templates/themes/default/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js
New file
0,0 → 1,46
/**
* $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
*
* @author Moxiecode
* @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
*/
 
/* Import plugin specific language pack */
tinyMCE.importPluginLanguagePack('autosave');
 
var TinyMCE_AutoSavePlugin = {
getInfo : function() {
return {
longname : 'Auto save',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',
version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
};
},
 
// Private plugin internal methods
 
_beforeUnloadHandler : function() {
var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg");
 
if (tinyMCE.getParam("fullscreen_is_enabled"))
return;
 
for (n in tinyMCE.instances) {
inst = tinyMCE.instances[n];
 
if (!tinyMCE.isInstance(inst))
continue;
 
if (inst.isDirty())
return msg;
}
 
return;
}
};
 
window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler;
 
tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin);