bug #96 move libraries to library - better alignment of like rotator

This commit is contained in:
Friendika 2011-06-28 21:11:52 -07:00
parent 60caa03494
commit 0b221e8945
397 changed files with 30 additions and 30 deletions

View file

@ -0,0 +1,182 @@
/* 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;
}
#doctypes {
width: 200px;
}
.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;
}
.panel_wrapper div.current {height:420px;}

View file

@ -0,0 +1 @@
(function(){tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceFullPageProperties",function(){a.windowManager.open({file:b+"/fullpage.htm",width:430+parseInt(a.getLang("fullpage.delta_width",0)),height:495+parseInt(a.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:b,head_html:c.head})});a.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});a.onBeforeSetContent.add(c._setContent,c);a.onSetContent.add(c._setBodyAttribs,c);a.onGetContent.add(c._getContent,c)},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}},_setBodyAttribs:function(d,a){var l,c,e,g,b,h,j,f=this.head.match(/body(.*?)>/i);if(f&&f[1]){l=f[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(l){for(c=0,e=l.length;c<e;c++){g=l[c].split("=");b=g[0].replace(/\s/,"");h=g[1];if(h){h=h.replace(/^\s+/,"").replace(/\s+$/,"");j=h.match(/^["'](.*)["']$/);if(j){h=j[1]}}else{h=b}d.dom.setAttrib(d.getBody(),"style",h)}}}},_createSerializer:function(){return new tinymce.dom.Serializer({dom:this.editor.dom,apply_source_formatting:true})},_setContent:function(d,b){var h=this,a,j,f=b.content,g,i="";if(b.format=="raw"&&h.head){return}if(b.source_view&&d.getParam("fullpage_hide_in_source_view")){return}f=f.replace(/<(\/?)BODY/gi,"<$1body");a=f.indexOf("<body");if(a!=-1){a=f.indexOf(">",a);h.head=f.substring(0,a+1);j=f.indexOf("</body",a);if(j==-1){j=f.indexOf("</body",j)}b.content=f.substring(a+1,j);h.foot=f.substring(j);function e(c){return c.replace(/<\/?[A-Z]+/g,function(k){return k.toLowerCase()})}h.head=e(h.head);h.foot=e(h.foot)}else{h.head="";if(d.getParam("fullpage_default_xml_pi")){h.head+='<?xml version="1.0" encoding="'+d.getParam("fullpage_default_encoding","ISO-8859-1")+'" ?>\n'}h.head+=d.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');h.head+="\n<html>\n<head>\n<title>"+d.getParam("fullpage_default_title","Untitled document")+"</title>\n";if(g=d.getParam("fullpage_default_encoding")){h.head+='<meta http-equiv="Content-Type" content="'+g+'" />\n'}if(g=d.getParam("fullpage_default_font_family")){i+="font-family: "+g+";"}if(g=d.getParam("fullpage_default_font_size")){i+="font-size: "+g+";"}if(g=d.getParam("fullpage_default_text_color")){i+="color: "+g+";"}h.head+="</head>\n<body"+(i?' style="'+i+'"':"")+">\n";h.foot="\n</body>\n</html>"}},_getContent:function(a,c){var b=this;if(!c.source_view||!a.getParam("fullpage_hide_in_source_view")){c.content=tinymce.trim(b.head)+"\n"+tinymce.trim(c.content)+"\n"+tinymce.trim(b.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})();

View file

@ -0,0 +1,153 @@
/**
* editor_plugin_src.js
*
* Copyright 2009, Moxiecode Systems AB
* Released under LGPL License.
*
* License: http://tinymce.moxiecode.com/license
* Contributing: http://tinymce.moxiecode.com/contributing
*/
(function() {
tinymce.create('tinymce.plugins.FullPagePlugin', {
init : function(ed, url) {
var t = this;
t.editor = ed;
// Register commands
ed.addCommand('mceFullPageProperties', function() {
ed.windowManager.open({
file : url + '/fullpage.htm',
width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)),
height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)),
inline : 1
}, {
plugin_url : url,
head_html : t.head
});
});
// Register buttons
ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'});
ed.onBeforeSetContent.add(t._setContent, t);
ed.onSetContent.add(t._setBodyAttribs, t);
ed.onGetContent.add(t._getContent, t);
},
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
};
},
// Private plugin internal methods
_setBodyAttribs : function(ed, o) {
var bdattr, i, len, kv, k, v, t, attr = this.head.match(/body(.*?)>/i);
if (attr && attr[1]) {
bdattr = attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);
if (bdattr) {
for(i = 0, len = bdattr.length; i < len; i++) {
kv = bdattr[i].split('=');
k = kv[0].replace(/\s/,'');
v = kv[1];
if (v) {
v = v.replace(/^\s+/,'').replace(/\s+$/,'');
t = v.match(/^["'](.*)["']$/);
if (t)
v = t[1];
} else
v = k;
ed.dom.setAttrib(ed.getBody(), 'style', v);
}
}
}
},
_createSerializer : function() {
return new tinymce.dom.Serializer({
dom : this.editor.dom,
apply_source_formatting : true
});
},
_setContent : function(ed, o) {
var t = this, sp, ep, c = o.content, v, st = '';
// Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate
if (o.format == 'raw' && t.head)
return;
if (o.source_view && ed.getParam('fullpage_hide_in_source_view'))
return;
// Parse out head, body and footer
c = c.replace(/<(\/?)BODY/gi, '<$1body');
sp = c.indexOf('<body');
if (sp != -1) {
sp = c.indexOf('>', sp);
t.head = c.substring(0, sp + 1);
ep = c.indexOf('</body', sp);
if (ep == -1)
ep = c.indexOf('</body', ep);
o.content = c.substring(sp + 1, ep);
t.foot = c.substring(ep);
function low(s) {
return s.replace(/<\/?[A-Z]+/g, function(a) {
return a.toLowerCase();
})
};
t.head = low(t.head);
t.foot = low(t.foot);
} else {
t.head = '';
if (ed.getParam('fullpage_default_xml_pi'))
t.head += '<?xml version="1.0" encoding="' + ed.getParam('fullpage_default_encoding', 'ISO-8859-1') + '" ?>\n';
t.head += ed.getParam('fullpage_default_doctype', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
t.head += '\n<html>\n<head>\n<title>' + ed.getParam('fullpage_default_title', 'Untitled document') + '</title>\n';
if (v = ed.getParam('fullpage_default_encoding'))
t.head += '<meta http-equiv="Content-Type" content="' + v + '" />\n';
if (v = ed.getParam('fullpage_default_font_family'))
st += 'font-family: ' + v + ';';
if (v = ed.getParam('fullpage_default_font_size'))
st += 'font-size: ' + v + ';';
if (v = ed.getParam('fullpage_default_text_color'))
st += 'color: ' + v + ';';
t.head += '</head>\n<body' + (st ? ' style="' + st + '"' : '') + '>\n';
t.foot = '\n</body>\n</html>';
}
},
_getContent : function(ed, o) {
var t = this;
if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view'))
o.content = tinymce.trim(t.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(t.foot);
}
});
// Register plugin
tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin);
})();

View file

@ -0,0 +1,571 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{#fullpage_dlg.title}</title>
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script type="text/javascript" src="../../utils/mctabs.js"></script>
<script type="text/javascript" src="../../utils/form_utils.js"></script>
<script type="text/javascript" src="js/fullpage.js"></script>
<link href="css/fullpage.css" rel="stylesheet" type="text/css" />
</head>
<body id="advlink" 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;">{#fullpage_dlg.meta_tab}</a></span></li>
<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{#fullpage_dlg.appearance_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#fullpage_dlg.advanced_tab}</a></span></li>
</ul>
</div>
<div class="panel_wrapper">
<div id="meta_panel" class="panel current">
<fieldset>
<legend>{#fullpage_dlg.meta_props}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="nowrap"><label for="metatitle">{#fullpage_dlg.meta_title}</label>&nbsp;</td>
<td><input type="text" id="metatitle" name="metatitle" value="" class="mceFocus" /></td>
</tr>
<tr>
<td class="nowrap"><label for="metakeywords">{#fullpage_dlg.meta_keywords}</label>&nbsp;</td>
<td><textarea id="metakeywords" name="metakeywords" rows="4"></textarea></td>
</tr>
<tr>
<td class="nowrap"><label for="metadescription">{#fullpage_dlg.meta_description}</label>&nbsp;</td>
<td><textarea id="metadescription" name="metadescription" rows="4"></textarea></td>
</tr>
<tr>
<td class="nowrap"><label for="metaauthor">{#fullpage_dlg.author}</label>&nbsp;</td>
<td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
</tr>
<tr>
<td class="nowrap"><label for="metacopyright">{#fullpage_dlg.copyright}</label>&nbsp;</td>
<td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
</tr>
<tr>
<td class="nowrap"><label for="metarobots">{#fullpage_dlg.meta_robots}</label>&nbsp;</td>
<td>
<select id="metarobots" name="metarobots">
<option value="">{#not_set}</option>
<option value="index,follow">{#fullpage_dlg.meta_index_follow}</option>
<option value="index,nofollow">{#fullpage_dlg.meta_index_nofollow}</option>
<option value="noindex,follow">{#fullpage_dlg.meta_noindex_follow}</option>
<option value="noindex,nofollow">{#fullpage_dlg.meta_noindex_nofollow}</option>
</select>
</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{#fullpage_dlg.langprops}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="docencoding">{#fullpage_dlg.encoding}</label></td>
<td>
<select id="docencoding" name="docencoding">
<option value="">{#not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="nowrap"><label for="doctypes">{#fullpage_dlg.doctypes}</label>&nbsp;</td>
<td>
<select id="doctypes" name="doctypes">
<option value="">{#not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="nowrap"><label for="langcode">{#fullpage_dlg.langcode}</label>&nbsp;</td>
<td><input type="text" id="langcode" name="langcode" value="" /></td>
</tr>
<tr>
<td class="column1"><label for="langdir">{#fullpage_dlg.langdir}</label></td>
<td>
<select id="langdir" name="langdir">
<option value="">{#not_set}</option>
<option value="ltr">{#fullpage_dlg.ltr}</option>
<option value="rtl">{#fullpage_dlg.rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="nowrap"><label for="xml_pi">{#fullpage_dlg.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>{#fullpage_dlg.appearance_textprops}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="fontface">{#fullpage_dlg.fontface}</label></td>
<td>
<select id="fontface" name="fontface" onchange="changedStyleField(this);">
<option value="">{#not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="column1"><label for="fontsize">{#fullpage_dlg.fontsize}</label></td>
<td>
<select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
<option value="">{#not_set}</option>
</select>
</td>
</tr>
<tr>
<td class="column1"><label for="textcolor">{#fullpage_dlg.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>{#fullpage_dlg.appearance_bgprops}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="bgimage">{#fullpage_dlg.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">{#fullpage_dlg.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>{#fullpage_dlg.appearance_marginprops}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="leftmargin">{#fullpage_dlg.left_margin}</label></td>
<td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
<td class="column1"><label for="rightmargin">{#fullpage_dlg.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">{#fullpage_dlg.top_margin}</label></td>
<td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
<td class="column1"><label for="bottommargin">{#fullpage_dlg.bottom_margin}</label></td>
<td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{#fullpage_dlg.appearance_linkprops}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="link_color">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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>{#fullpage_dlg.appearance_style}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="stylesheet">{#fullpage_dlg.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">{#fullpage_dlg.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>{#fullpage_dlg.add_title}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{#fullpage_dlg.add_meta}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{#fullpage_dlg.add_script}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{#fullpage_dlg.add_style}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{#fullpage_dlg.add_link}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{#fullpage_dlg.add_base}</span></a></td></tr>
<tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{#fullpage_dlg.add_comment}</span></a></td></tr>
</table>
</div>
<fieldset>
<legend>{#fullpage_dlg.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="{#fullpage_dlg.add}"></a>
<a href="#" onmousedown="return false;" class="removebutton" title="{#fullpage_dlg.remove}"></a>
</div>
<div style="float: right">
<a href="#" onmousedown="return false;" class="moveupbutton" title="{#fullpage_dlg.moveup}"></a>
<a href="#" onmousedown="return false;" class="movedownbutton" title="{#fullpage_dlg.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>{#fullpage_dlg.meta_element}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_meta_type">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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="{#update}" onclick="updateElement();" />
</fieldset>
<fieldset id="title_element">
<legend>{#fullpage_dlg.title_element}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_title">{#fullpage_dlg.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="{#update}" onclick="updateElement();" />
</fieldset>
<fieldset id="script_element">
<legend>{#fullpage_dlg.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;">{#fullpage_dlg.properties}</a></span></li>
<li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.charset}</label></td>
<td><select id="element_script_charset"><option value="">{#not_set}</option></select></td>
</tr>
<tr>
<td class="column1"><label for="element_script_defer">{#fullpage_dlg.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="{#update}" onclick="updateElement();" />
</fieldset>
<fieldset id="style_element">
<legend>{#fullpage_dlg.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;">{#fullpage_dlg.properties}</a></span></li>
<li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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="{#update}" onclick="updateElement();" />
</fieldset>
<fieldset id="base_element">
<legend>{#fullpage_dlg.base_element}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td class="column1"><label for="element_base_href">{#fullpage_dlg.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">{#fullpage_dlg.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="{#update}" onclick="updateElement();" />
</fieldset>
<fieldset id="link_element">
<legend>{#fullpage_dlg.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;">{#fullpage_dlg.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;">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.media}</label></td>
<td><select id="element_link_media" name="element_link_media"></select></td>
</tr>
<tr>
<td><label for="element_style_rel">{#fullpage_dlg.rel}</label></td>
<td><select id="element_style_rel" name="element_style_rel">
<option value="">{#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">{#fullpage_dlg.charset}</label></td>
<td><select id="element_link_charset"><option value="">{#not_set}</option></select></td>
</tr>
<tr>
<td class="column1"><label for="element_link_hreflang">{#fullpage_dlg.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">{#fullpage_dlg.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">{#fullpage_dlg.rev}</label></td>
<td><select id="element_style_rev" name="element_style_rev">
<option value="">{#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="{#update}" onclick="updateElement();" />
</fieldset>
<fieldset id="comment_element">
<legend>{#fullpage_dlg.comment_element}</legend>
<textarea id="element_comment_value"></textarea>
<input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{#update}" onclick="updateElement();" />
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<input type="submit" id="insert" name="update" value="{#update}" />
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
</div>
</form>
</body>
</html>

View file

@ -0,0 +1,471 @@
/**
* fullpage.js
*
* Copyright 2009, Moxiecode Systems AB
* Released under LGPL License.
*
* License: http://tinymce.moxiecode.com/license
* Contributing: http://tinymce.moxiecode.com/contributing
*/
tinyMCEPopup.requireLangPack();
var doc;
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';
function init() {
var f = document.forms['fullpage'], el = f.elements, e, i, p, doctypes, encodings, mediaTypes, fonts, ed = tinyMCEPopup.editor, dom = tinyMCEPopup.dom, style;
// Setup doctype select box
doctypes = ed.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 = ed.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 = ed.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
for (i=0; i<fonts.length; i++)
addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
// Setup mediatype select boxs
mediaTypes = ed.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 = ed.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';
// Add iframe
dom.add(document.body, 'iframe', {id : 'documentIframe', src : 'javascript:""', style : {display : 'none'}});
doc = dom.get('documentIframe').contentWindow.document;
h = tinyMCEPopup.getWindowArg('head_html');
// Preprocess the HTML disable scripts and urls
h = h.replace(/<script>/gi, '<script type="text/javascript">');
h = h.replace(/type=([\"\'])?/gi, 'type=$1-mce-');
h = h.replace(/(src=|href=)/g, '_mce_$1');
// Write in the content in the iframe
doc.write(h + '</body></html>');
doc.close();
// Parse xml and doctype
xmlVer = getReItem(/<\?\s*?xml.*?version\s*?=\s*?"(.*?)".*?\?>/gi, h, 1);
xmlEnc = getReItem(/<\?\s*?xml.*?encoding\s*?=\s*?"(.*?)".*?\?>/gi, h, 1);
docType = getReItem(/<\!DOCTYPE.*?>/gi, h.replace(/\n/g, ''), 0).replace(/ +/g, ' ');
f.langcode.value = getReItem(/lang="(.*?)"/gi, h, 1);
// Parse title
if (e = doc.getElementsByTagName('title')[0])
el.metatitle.value = e.textContent || e.text;
// Parse meta
tinymce.each(doc.getElementsByTagName('meta'), function(n) {
var na = (n.getAttribute('name', 2) || '').toLowerCase(), va = n.getAttribute('content', 2), eq = n.getAttribute('httpEquiv', 2) || '';
e = el['meta' + na];
if (na == 'robots') {
selectByValue(f, 'metarobots', tinymce.trim(va), true, true);
return;
}
switch (eq.toLowerCase()) {
case "content-type":
tmp = getReItem(/charset\s*=\s*(.*)\s*/gi, va, 1);
// Override XML encoding
if (tmp != "")
xmlEnc = tmp;
return;
}
if (e)
e.value = va;
});
selectByValue(f, 'doctypes', docType, true, true);
selectByValue(f, 'docencoding', xmlEnc, true, true);
selectByValue(f, 'langdir', doc.body.getAttribute('dir', 2) || '', true, true);
if (xmlVer != '')
el.xml_pi.checked = true;
// Parse appearance
// Parse primary stylesheet
tinymce.each(doc.getElementsByTagName("link"), function(l) {
var m = l.getAttribute('media', 2) || '', t = l.getAttribute('type', 2) || '';
if (t == "-mce-text/css" && (m == "" || m == "screen" || m == "all") && (l.getAttribute('rel', 2) || '') == "stylesheet") {
f.stylesheet.value = l.getAttribute('_mce_href', 2) || '';
return false;
}
});
// Get from style elements
tinymce.each(doc.getElementsByTagName("style"), function(st) {
var tmp = parseStyleElement(st);
for (x=0; x<tmp.length; x++) {
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'];
}
});
f.textcolor.value = tinyMCEPopup.dom.getAttrib(doc.body, "text");
f.active_color.value = tinyMCEPopup.dom.getAttrib(doc.body, "alink");
f.link_color.value = tinyMCEPopup.dom.getAttrib(doc.body, "link");
f.visited_color.value = tinyMCEPopup.dom.getAttrib(doc.body, "vlink");
f.bgcolor.value = tinyMCEPopup.dom.getAttrib(doc.body, "bgcolor");
f.bgimage.value = tinyMCEPopup.dom.getAttrib(doc.body, "background");
// Get from style info
style = tinyMCEPopup.dom.parseStyle(tinyMCEPopup.dom.getAttrib(doc.body, 'style'));
if (style['font-family'])
selectByValue(f, 'fontface', style['font-family'], true, true);
else
selectByValue(f, 'fontface', ed.getParam("fullpage_default_fontface", ""), true, true);
if (style['font-size'])
selectByValue(f, 'fontsize', style['font-size'], true, true);
else
selectByValue(f, 'fontsize', ed.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 = 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 = tinyMCEPopup.dom.serializeStyle(style);
// Update colors
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');
}
function getReItem(r, s, i) {
var c = r.exec(s);
if (c && c.length > i)
return c[i];
return '';
}
function updateAction() {
var f = document.forms[0], nl, i, h, v, s, head, html, l, tmp, addlink = true, ser;
head = doc.getElementsByTagName('head')[0];
// Fix scripts without a type
nl = doc.getElementsByTagName('script');
for (i=0; i<nl.length; i++) {
if (tinyMCEPopup.dom.getAttrib(nl[i], '_mce_type') == '')
nl[i].setAttribute('_mce_type', 'text/javascript');
}
// Get primary stylesheet
nl = doc.getElementsByTagName("link");
for (i=0; i<nl.length; i++) {
l = nl[i];
tmp = tinyMCEPopup.dom.getAttrib(l, 'media');
if (tinyMCEPopup.dom.getAttrib(l, '_mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCEPopup.dom.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 = doc.createElement('link');
l.setAttribute('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'));
doc.body.dir = getSelectValue(f, 'langdir');
doc.body.style.cssText = f.style.value;
doc.body.setAttribute('vLink', f.visited_color.value);
doc.body.setAttribute('link', f.link_color.value);
doc.body.setAttribute('text', f.textcolor.value);
doc.body.setAttribute('aLink', f.active_color.value);
doc.body.style.fontFamily = getSelectValue(f, 'fontface');
doc.body.style.fontSize = getSelectValue(f, 'fontsize');
doc.body.style.backgroundColor = f.bgcolor.value;
if (f.leftmargin.value != '')
doc.body.style.marginLeft = f.leftmargin.value + 'px';
if (f.rightmargin.value != '')
doc.body.style.marginRight = f.rightmargin.value + 'px';
if (f.bottommargin.value != '')
doc.body.style.marginBottom = f.bottommargin.value + 'px';
if (f.topmargin.value != '')
doc.body.style.marginTop = f.topmargin.value + 'px';
html = doc.getElementsByTagName('html')[0];
html.setAttribute('lang', f.langcode.value);
html.setAttribute('xml:lang', f.langcode.value);
if (f.bgimage.value != '')
doc.body.style.backgroundImage = "url('" + f.bgimage.value + "')";
else
doc.body.style.backgroundImage = '';
ser = tinyMCEPopup.editor.plugins.fullpage._createSerializer();
ser.setRules('-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 = ser.serialize(doc.documentElement);
h = h.substring(0, h.lastIndexOf('</body>'));
if (h.indexOf('<title>') == -1)
h = h.replace(/<head.*?>/, '$&\n' + '<title>' + tinyMCEPopup.dom.encode(f.metatitle.value) + '</title>');
else
h = h.replace(/<title>(.*?)<\/title>/, '<title>' + tinyMCEPopup.dom.encode(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;
}
h = h.replace(/type=\"\-mce\-/gi, 'type="');
tinyMCEPopup.editor.plugins.fullpage.head = h;
tinyMCEPopup.editor.plugins.fullpage._setBodyAttribs(tinyMCEPopup.editor, {});
tinyMCEPopup.close();
}
function changedStyleField(field) {
}
function setMeta(he, k, v) {
var nl, i, m;
nl = he.getElementsByTagName('meta');
for (i=0; i<nl.length; i++) {
if (k == 'Content-Type' && tinyMCEPopup.dom.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 (tinyMCEPopup.dom.getAttrib(nl[i], 'name') == k) {
if (v == '')
nl[i].parentNode.removeChild(nl[i]);
else
nl[i].setAttribute('content', v);
return;
}
}
if (v == '')
return;
m = doc.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 = [];
p = v.split(/{|}/);
for (i=0; i<p.length; i+=2) {
if (p[i] != "")
r[r.length] = {rule : tinymce.trim(p[i]), data : tinyMCEPopup.dom.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;
}
tinyMCEPopup.onInit.add(init);

View file

@ -0,0 +1,85 @@
tinyMCE.addI18n('en.fullpage_dlg',{
title:"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",
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",
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"
});