Régularisation de commits manquants

This commit is contained in:
2020-06-24 13:10:52 +02:00
parent 6810659202
commit 2bc59082d9
941 changed files with 89385 additions and 0 deletions

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("advlist",function(e){function t(e,t){var n=[];return tinymce.each(t.split(/[ ,]/),function(e){n.push({text:e.replace(/\-/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),data:"default"==e?"":e})}),n}function n(t,n){e.undoManager.transact(function(){var r,i=e.dom,o=e.selection;r=i.getParent(o.getNode(),"ol,ul"),r&&r.nodeName==t&&n!==!1||e.execCommand("UL"==t?"InsertUnorderedList":"InsertOrderedList"),n=n===!1?a[t]:n,a[t]=n,r=i.getParent(o.getNode(),"ol,ul"),r&&(i.setStyle(r,"listStyleType",n?n:null),r.removeAttribute("data-mce-style")),e.focus()})}function r(t){var n=e.dom.getStyle(e.dom.getParent(e.selection.getNode(),"ol,ul"),"listStyleType")||"";t.control.items().each(function(e){e.active(e.settings.data===n)})}var i,o,a={};i=t("OL",e.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),o=t("UL",e.getParam("advlist_bullet_styles","default,circle,disc,square")),e.addButton("numlist",{type:"splitbutton",tooltip:"Numbered list",menu:i,onshow:r,onselect:function(e){n("OL",e.control.settings.data)},onclick:function(){n("OL",!1)}}),e.addButton("bullist",{type:"splitbutton",tooltip:"Bullet list",menu:o,onshow:r,onselect:function(e){n("UL",e.control.settings.data)},onclick:function(){n("UL",!1)}})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("anchor",function(e){function t(){var t=e.selection.getNode(),n="",r="A"==t.tagName&&""===e.dom.getAttrib(t,"href");r&&(n=t.name||t.id||""),e.windowManager.open({title:"Anchor",body:{type:"textbox",name:"name",size:40,label:"Name",value:n},onsubmit:function(n){var i=n.data.name;r?t.id=i:(e.selection.collapse(!0),e.execCommand("mceInsertContent",!1,e.dom.createHTML("a",{id:i})))}})}e.addCommand("mceAnchor",t),e.addButton("anchor",{icon:"anchor",tooltip:"Anchor",onclick:t,stateSelector:"a:not([href])"}),e.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",onclick:t})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("autolink",function(e){function t(e){i(e,-1,"(",!0)}function n(e){i(e,0,"",!0)}function r(e){i(e,-1,"",!1)}function i(e,t,n){function r(e,t){if(0>t&&(t=0),3==e.nodeType){var n=e.data.length;t>n&&(t=n)}return t}function i(e,t){1!=e.nodeType||e.hasChildNodes()?a.setStart(e,r(e,t)):a.setStartBefore(e)}function o(e,t){1!=e.nodeType||e.hasChildNodes()?a.setEnd(e,r(e,t)):a.setEndAfter(e)}var a,s,l,c,u,d,f,p,m,h;if("A"!=e.selection.getNode().tagName){if(a=e.selection.getRng(!0).cloneRange(),a.startOffset<5){if(p=a.endContainer.previousSibling,!p){if(!a.endContainer.firstChild||!a.endContainer.firstChild.nextSibling)return;p=a.endContainer.firstChild.nextSibling}if(m=p.length,i(p,m),o(p,m),a.endOffset<5)return;s=a.endOffset,c=p}else{if(c=a.endContainer,3!=c.nodeType&&c.firstChild){for(;3!=c.nodeType&&c.firstChild;)c=c.firstChild;3==c.nodeType&&(i(c,0),o(c,c.nodeValue.length))}s=1==a.endOffset?2:a.endOffset-1-t}l=s;do i(c,s>=2?s-2:0),o(c,s>=1?s-1:0),s-=1,h=a.toString();while(" "!=h&&""!==h&&160!=h.charCodeAt(0)&&s-2>=0&&h!=n);a.toString()==n||160==a.toString().charCodeAt(0)?(i(c,s),o(c,l),s+=1):0===a.startOffset?(i(c,0),o(c,l)):(i(c,s),o(c,l)),d=a.toString(),"."==d.charAt(d.length-1)&&o(c,l-1),d=a.toString(),f=d.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i),f&&("www."==f[1]?f[1]="http://www.":/@$/.test(f[1])&&!/^mailto:/.test(f[1])&&(f[1]="mailto:"+f[1]),u=e.selection.getBookmark(),e.selection.setRng(a),e.execCommand("createlink",!1,f[1]+f[2]),e.selection.moveToBookmark(u),e.nodeChanged())}}var o;return e.on("keydown",function(t){return 13==t.keyCode?r(e):void 0}),tinymce.Env.ie?void e.on("focus",function(){if(!o){o=!0;try{e.execCommand("AutoUrlDetect",!1,!0)}catch(t){}}}):(e.on("keypress",function(n){return 41==n.keyCode?t(e):void 0}),void e.on("keyup",function(t){return 32==t.keyCode?n(e):void 0}))});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("autoresize",function(e){function t(){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}function n(r){var a,s,l,c,u,d,f,p,m,h,g,v,y=tinymce.DOM;if(s=e.getDoc()){if(l=s.body,c=s.documentElement,u=i.autoresize_min_height,!l||r&&"setcontent"===r.type&&r.initial||t())return void(l&&c&&(l.style.overflowY="auto",c.style.overflowY="auto"));f=e.dom.getStyle(l,"margin-top",!0),p=e.dom.getStyle(l,"margin-bottom",!0),m=e.dom.getStyle(l,"padding-top",!0),h=e.dom.getStyle(l,"padding-bottom",!0),g=e.dom.getStyle(l,"border-top-width",!0),v=e.dom.getStyle(l,"border-bottom-width",!0),d=l.offsetHeight+parseInt(f,10)+parseInt(p,10)+parseInt(m,10)+parseInt(h,10)+parseInt(g,10)+parseInt(v,10),(isNaN(d)||0>=d)&&(d=tinymce.Env.ie?l.scrollHeight:tinymce.Env.webkit&&0===l.clientHeight?0:l.offsetHeight),d>i.autoresize_min_height&&(u=d),i.autoresize_max_height&&d>i.autoresize_max_height?(u=i.autoresize_max_height,l.style.overflowY="auto",c.style.overflowY="auto"):(l.style.overflowY="hidden",c.style.overflowY="hidden",l.scrollTop=0),u!==o&&(a=u-o,y.setStyle(e.iframeElement,"height",u+"px"),o=u,tinymce.isWebKit&&0>a&&n(r))}}function r(t,i,o){tinymce.util.Delay.setEditorTimeout(e,function(){n({}),t--?r(t,i,o):o&&o()},i)}var i=e.settings,o=0;e.settings.inline||(i.autoresize_min_height=parseInt(e.getParam("autoresize_min_height",e.getElement().offsetHeight),10),i.autoresize_max_height=parseInt(e.getParam("autoresize_max_height",0),10),e.on("init",function(){var t,n;t=e.getParam("autoresize_overflow_padding",1),n=e.getParam("autoresize_bottom_margin",50),t!==!1&&e.dom.setStyles(e.getBody(),{paddingLeft:t,paddingRight:t}),n!==!1&&e.dom.setStyles(e.getBody(),{paddingBottom:n})}),e.on("nodechange setcontent keyup FullscreenStateChanged",n),e.getParam("autoresize_on_init",!0)&&e.on("init",function(){r(20,100,function(){r(5,1e3)})}),e.addCommand("mceAutoResize",n))});

View File

@@ -0,0 +1 @@
tinymce._beforeUnloadHandler=function(){var e;return tinymce.each(tinymce.editors,function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",!0)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e},tinymce.PluginManager.add("autosave",function(e){function t(e,t){var n={s:1e3,m:6e4};return e=/^(\d+)([ms]?)$/.exec(""+(e||t)),(e[2]?n[e[2]]:1)*parseInt(e,10)}function n(){var e=parseInt(p.getItem(u+"time"),10)||0;return(new Date).getTime()-e>f.autosave_retention?(r(!1),!1):!0}function r(t){p.removeItem(u+"draft"),p.removeItem(u+"time"),t!==!1&&e.fire("RemoveDraft")}function i(){!c()&&e.isDirty()&&(p.setItem(u+"draft",e.getContent({format:"raw",no_events:!0})),p.setItem(u+"time",(new Date).getTime()),e.fire("StoreDraft"))}function o(){n()&&(e.setContent(p.getItem(u+"draft"),{format:"raw"}),e.fire("RestoreDraft"))}function a(){d||(setInterval(function(){e.removed||i()},f.autosave_interval),d=!0)}function s(){var t=this;t.disabled(!n()),e.on("StoreDraft RestoreDraft RemoveDraft",function(){t.disabled(!n())}),a()}function l(){e.undoManager.beforeChange(),o(),r(),e.undoManager.add()}function c(t){var n=e.settings.forced_root_block;return t=tinymce.trim("undefined"==typeof t?e.getBody().innerHTML:t),""===t||new RegExp("^<"+n+"[^>]*>((\xa0|&nbsp;|[ ]|<br[^>]*>)+?|)</"+n+">|<br>$","i").test(t)}var u,d,f=e.settings,p=tinymce.util.LocalStorage;u=f.autosave_prefix||"tinymce-autosave-{path}{query}-{id}-",u=u.replace(/\{path\}/g,document.location.pathname),u=u.replace(/\{query\}/g,document.location.search),u=u.replace(/\{id\}/g,e.id),f.autosave_interval=t(f.autosave_interval,"30s"),f.autosave_retention=t(f.autosave_retention,"20m"),e.addButton("restoredraft",{title:"Restore last draft",onclick:l,onPostRender:s}),e.addMenuItem("restoredraft",{text:"Restore last draft",onclick:l,onPostRender:s,context:"file"}),e.settings.autosave_restore_when_empty!==!1&&(e.on("init",function(){n()&&c()&&o()}),e.on("saveContent",function(){r()})),window.onbeforeunload=tinymce._beforeUnloadHandler,this.hasDraft=n,this.storeDraft=i,this.restoreDraft=o,this.removeDraft=r,this.isEmpty=c});

View File

@@ -0,0 +1 @@
!function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(e){var t=this,n=e.getParam("bbcode_dialect","punbb").toLowerCase();e.on("beforeSetContent",function(e){e.content=t["_"+n+"_bbcode2html"](e.content)}),e.on("postProcess",function(e){e.set&&(e.content=t["_"+n+"_bbcode2html"](e.content)),e.get&&(e.content=t["_"+n+"_html2bbcode"](e.content))})},getInfo:function(){return{longname:"BBCode Plugin",author:"Ephox Corp",authorurl:"http://www.tinymce.com",infourl:"http://www.tinymce.com/wiki.php/Plugin:bbcode"}},_punbb_html2bbcode:function(e){function t(t,n){e=e.replace(t,n)}return e=tinymce.trim(e),t(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"),t(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),t(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),t(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),t(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),t(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"),t(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"),t(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"),t(/<font>(.*?)<\/font>/gi,"$1"),t(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"),t(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"),t(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"),t(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),t(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),t(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),t(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),t(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),t(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),t(/<\/(strong|b)>/gi,"[/b]"),t(/<(strong|b)>/gi,"[b]"),t(/<\/(em|i)>/gi,"[/i]"),t(/<(em|i)>/gi,"[i]"),t(/<\/u>/gi,"[/u]"),t(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"),t(/<u>/gi,"[u]"),t(/<blockquote[^>]*>/gi,"[quote]"),t(/<\/blockquote>/gi,"[/quote]"),t(/<br \/>/gi,"\n"),t(/<br\/>/gi,"\n"),t(/<br>/gi,"\n"),t(/<p>/gi,""),t(/<\/p>/gi,"\n"),t(/&nbsp;|\u00a0/gi," "),t(/&quot;/gi,'"'),t(/&lt;/gi,"<"),t(/&gt;/gi,">"),t(/&amp;/gi,"&"),e},_punbb_bbcode2html:function(e){function t(t,n){e=e.replace(t,n)}return e=tinymce.trim(e),t(/\n/gi,"<br />"),t(/\[b\]/gi,"<strong>"),t(/\[\/b\]/gi,"</strong>"),t(/\[i\]/gi,"<em>"),t(/\[\/i\]/gi,"</em>"),t(/\[u\]/gi,"<u>"),t(/\[\/u\]/gi,"</u>"),t(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>'),t(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>'),t(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />'),t(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>'),t(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span>&nbsp;'),t(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span>&nbsp;'),e}}),tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)}();

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("code",function(e){function t(){var t=e.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:e.getParam("code_dialog_width",600),minHeight:e.getParam("code_dialog_height",Math.min(tinymce.DOM.getViewPort().h-200,500)),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(t){e.focus(),e.undoManager.transact(function(){e.setContent(t.data.code)}),e.selection.setCursorLocation(),e.nodeChanged()}});t.find("#code").value(e.getContent({source_view:!0}))}e.addCommand("mceCodeEditor",t),e.addButton("code",{icon:"code",tooltip:"Source code",onclick:t}),e.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:t})});

View File

@@ -0,0 +1,138 @@
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("colorpicker",function(e){function t(t,n){function r(e){var t=new tinymce.util.Color(e),n=t.toRgb();o.fromJSON({r:n.r,g:n.g,b:n.b,hex:t.toHex().substr(1)}),i(t.toHex())}function i(e){o.find("#preview")[0].getEl().style.background=e}var o=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:n,onchange:function(){var e=this.rgb();o&&(o.find("#r").value(e.r),o.find("#g").value(e.g),o.find("#b").value(e.b),o.find("#hex").value(this.value().substr(1)),i(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,t,n=o.find("colorpicker")[0];return e=this.name(),t=this.value(),"hex"==e?(t="#"+t,r(t),void n.value(t)):(t={r:o.find("#r").value(),g:o.find("#g").value(),b:o.find("#b").value()},n.value(t),void r(t))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){t("#"+this.toJSON().hex)}});r(n)}e.settings.color_picker_callback||(e.settings.color_picker_callback=t)});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("contextmenu",function(e){var t,n=e.settings.contextmenu_never_use_native;e.on("contextmenu",function(r){var i,o=e.getDoc();if(!r.ctrlKey||n){if(r.preventDefault(),tinymce.Env.mac&&tinymce.Env.webkit&&2==r.button&&o.caretRangeFromPoint&&e.selection.setRng(o.caretRangeFromPoint(r.x,r.y)),i=e.settings.contextmenu||"link image inserttable | cell row column deletetable",t)t.show();else{var a=[];tinymce.each(i.split(/[ ,]/),function(t){var n=e.menuItems[t];"|"==t&&(n={text:t}),n&&(n.shortcut="",a.push(n))});for(var s=0;s<a.length;s++)"|"==a[s].text&&(0===s||s==a.length-1)&&a.splice(s,1);t=new tinymce.ui.Menu({items:a,context:"contextmenu",classes:"contextmenu"}).renderTo(),e.on("remove",function(){t.remove(),t=null})}var l={x:r.pageX,y:r.pageY};e.inline||(l=tinymce.DOM.getPos(e.getContentAreaContainer()),l.x+=r.clientX,l.y+=r.clientY),t.moveTo(l.x,l.y)}})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("directionality",function(e){function t(t){var n,r=e.dom,i=e.selection.getSelectedBlocks();i.length&&(n=r.getAttrib(i[0],"dir"),tinymce.each(i,function(e){r.getParent(e.parentNode,"*[dir='"+t+"']",r.getRoot())||(n!=t?r.setAttrib(e,"dir",t):r.setAttrib(e,"dir",null))}),e.nodeChanged())}function n(e){var t=[];return tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(n){t.push(n+"[dir="+e+"]")}),t.join(",")}e.addCommand("mceDirectionLTR",function(){t("ltr")}),e.addCommand("mceDirectionRTL",function(){t("rtl")}),e.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:n("ltr")}),e.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:n("rtl")})});

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("emoticons",function(e,t){function n(){var e;return e='<table role="list" class="mce-grid">',tinymce.each(r,function(n){e+="<tr>",tinymce.each(n,function(n){var r=t+"/img/smiley-"+n+".gif";e+='<td><a href="#" data-mce-url="'+r+'" data-mce-alt="'+n+'" tabindex="-1" role="option" aria-label="'+n+'"><img src="'+r+'" style="width: 18px; height: 18px" role="presentation" /></a></td>'}),e+="</tr>"}),e+="</table>"}var r=[["cool","cry","embarassed","foot-in-mouth"],["frown","innocent","kiss","laughing"],["money-mouth","sealed","smile","surprised"],["tongue-out","undecided","wink","yell"]];e.addButton("emoticons",{type:"panelbutton",panel:{role:"application",autohide:!0,html:n,onclick:function(t){var n=e.dom.getParent(t.target,"a");n&&(e.insertContent('<img src="'+n.getAttribute("data-mce-url")+'" alt="'+n.getAttribute("data-mce-alt")+'" />'),this.hide())}},tooltip:"Emoticons"})});

View File

@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<body>
<h3>Custom dialog</h3>
Input some text: <input id="content">
<button onclick="top.tinymce.activeEditor.windowManager.getWindows()[0].close();">Close window</button>
</body>
</html>

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("example",function(e,t){e.addButton("example",{text:"My button",icon:!1,onclick:function(){e.windowManager.open({title:"Example plugin",body:[{type:"textbox",name:"title",label:"Title"}],onsubmit:function(t){e.insertContent("Title: "+t.data.title)}})}}),e.addMenuItem("example",{text:"Example plugin",context:"tools",onclick:function(){e.windowManager.open({title:"TinyMCE site",url:t+"/dialog.html",width:600,height:400,buttons:[{text:"Insert",onclick:function(){var t=e.windowManager.getWindows()[0];e.insertContent(t.getContentWindow().document.getElementById("content").value),t.close()}},{text:"Close",onclick:"close"}]})}})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("example_dependency",function(){},["example"]);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("fullscreen",function(e){function t(){var e,t,n=window,r=document,i=r.body;return i.offsetWidth&&(e=i.offsetWidth,t=i.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}}function n(){function n(){c.setStyle(f,"height",t().h-(d.clientHeight-f.clientHeight))}var u,d,f,p,m=document.body,h=document.documentElement;l=!l,d=e.getContainer(),u=d.style,f=e.getContentAreaContainer().firstChild,p=f.style,l?(r=p.width,i=p.height,p.width=p.height="100%",a=u.width,s=u.height,u.width=u.height="",c.addClass(m,"mce-fullscreen"),c.addClass(h,"mce-fullscreen"),c.addClass(d,"mce-fullscreen"),c.bind(window,"resize",n),n(),o=n):(p.width=r,p.height=i,a&&(u.width=a),s&&(u.height=s),c.removeClass(m,"mce-fullscreen"),c.removeClass(h,"mce-fullscreen"),c.removeClass(d,"mce-fullscreen"),c.unbind(window,"resize",o)),e.fire("FullscreenStateChanged",{state:l})}var r,i,o,a,s,l=!1,c=tinymce.DOM;return e.settings.inline?void 0:(e.on("init",function(){e.addShortcut("Meta+Alt+F","",n)}),e.on("remove",function(){o&&c.unbind(window,"resize",o)}),e.addCommand("mceFullScreen",n),e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Alt+F",selectable:!0,onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})},context:"view"}),e.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Meta+Alt+F",onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})}}),{isFullscreen:function(){return l}})});

1
web/tinymce/plugins/hr/plugin.min.js vendored Normal file
View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("hr",function(e){e.addCommand("InsertHorizontalRule",function(){e.execCommand("mceInsertContent",!1,"<hr />")}),e.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),e.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("importcss",function(e){function t(t){var n=e.settings,r=n.skin!==!1?n.skin||"lightgray":!1;if(r){var i=n.skin_url;return i=i?e.documentBaseURI.toAbsolute(i):tinymce.baseURL+"/skins/"+r,t===i+"/content"+(e.inline?".inline":"")+".min.css"}return!1}function n(e){return"string"==typeof e?function(t){return-1!==t.indexOf(e)}:e instanceof RegExp?function(t){return e.test(t)}:e}function r(n,r){function i(e,n){var s,l=e.href;if(l&&r(l,n)&&!t(l)){a(e.imports,function(e){i(e,!0)});try{s=e.cssRules||e.rules}catch(c){}a(s,function(e){e.styleSheet?i(e.styleSheet,!0):e.selectorText&&a(e.selectorText.split(","),function(e){o.push(tinymce.trim(e))})})}}var o=[],s={};a(e.contentCSS,function(e){s[e]=!0}),r||(r=function(e,t){return t||s[e]});try{a(n.styleSheets,function(e){i(e)})}catch(l){}return o}function i(t){var n,r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(r){var i=r[1],o=r[2].substr(1).split(".").join(" "),a=tinymce.makeMap("a,img");return r[1]?(n={title:t},e.schema.getTextBlockElements()[i]?n.block=i:e.schema.getBlockElements()[i]||a[i.toLowerCase()]?n.selector=i:n.inline=i):r[2]&&(n={inline:"span",title:t.substr(1),classes:o}),e.settings.importcss_merge_classes!==!1?n.classes=o:n.attributes={"class":o},n}}var o=this,a=tinymce.each;e.on("renderFormatsMenu",function(t){var s=e.settings,l={},c=s.importcss_selector_converter||i,u=n(s.importcss_selector_filter),d=t.control;e.settings.importcss_append||d.items().remove();var f=[];tinymce.each(s.importcss_groups,function(e){e=tinymce.extend({},e),e.filter=n(e.filter),f.push(e)}),a(r(t.doc||e.getDoc(),n(s.importcss_file_filter)),function(t){if(-1===t.indexOf(".mce-")&&!l[t]&&(!u||u(t))){var n,r=c.call(o,t);if(r){var i=r.name||tinymce.DOM.uniqueId();if(f)for(var a=0;a<f.length;a++)if(!f[a].filter||f[a].filter(t)){f[a].item||(f[a].item={text:f[a].title,menu:[]}),n=f[a].item.menu;break}e.formatter.register(i,r);var s=tinymce.extend({},d.settings.itemDefaults,{text:r.title,format:i});n?n.push(s):d.add(s)}l[t]=!0}}),a(f,function(e){d.add(e.item)}),t.control.renderNew()}),o.convertSelectorToFormat=i});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("insertdatetime",function(e){function t(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(l[n.getMonth()])),t=t.replace("%b",""+e.translate(s[n.getMonth()])),t=t.replace("%A",""+e.translate(a[n.getDay()])),t=t.replace("%a",""+e.translate(o[n.getDay()])),t=t.replace("%%","%")}function n(n){var r=t(n);if(e.settings.insertdatetime_element){var i;i=t(/%[HMSIp]/.test(n)?"%Y-%m-%dT%H:%M":"%Y-%m-%d"),r='<time datetime="'+i+'">'+r+"</time>";var o=e.dom.getParent(e.selection.getStart(),"time");if(o)return void e.dom.setOuterHTML(o,r)}e.insertContent(r)}var r,i,o="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),a="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),l="January February March April May June July August September October November December".split(" "),c=[];e.addCommand("mceInsertDate",function(){n(e.getParam("insertdatetime_dateformat",e.translate("%Y-%m-%d")))}),e.addCommand("mceInsertTime",function(){n(e.getParam("insertdatetime_timeformat",e.translate("%H:%M:%S")))}),e.addButton("insertdatetime",{type:"splitbutton",title:"Insert date/time",onclick:function(){n(r||i)},menu:c}),tinymce.each(e.settings.insertdatetime_formats||["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"],function(e){i||(i=e),c.push({text:t(e),onclick:function(){r=e,n(e)}})}),e.addMenuItem("insertdatetime",{icon:"date",text:"Insert date/time",menu:c,context:"insert"})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("layer",function(e){function t(e){do if(e.className&&-1!=e.className.indexOf("mceItemLayer"))return e;while(e=e.parentNode)}function n(t){var n=e.dom;tinymce.each(n.select("div,p",t),function(e){/^(absolute|relative|fixed)$/i.test(e.style.position)&&(e.hasVisual?n.addClass(e,"mceItemVisualAid"):n.removeClass(e,"mceItemVisualAid"),n.addClass(e,"mceItemLayer"))})}function r(n){var r,i,o=[],a=t(e.selection.getNode()),s=-1,l=-1;for(i=[],tinymce.walk(e.getBody(),function(e){1==e.nodeType&&/^(absolute|relative|static)$/i.test(e.style.position)&&i.push(e)},"childNodes"),r=0;r<i.length;r++)o[r]=i[r].style.zIndex?parseInt(i[r].style.zIndex,10):0,0>s&&i[r]==a&&(s=r);if(0>n){for(r=0;r<o.length;r++)if(o[r]<o[s]){l=r;break}l>-1?(i[s].style.zIndex=o[l],i[l].style.zIndex=o[s]):o[s]>0&&(i[s].style.zIndex=o[s]-1)}else{for(r=0;r<o.length;r++)if(o[r]>o[s]){l=r;break}l>-1?(i[s].style.zIndex=o[l],i[l].style.zIndex=o[s]):i[s].style.zIndex=o[s]+1}e.execCommand("mceRepaint")}function i(){var t=e.dom,n=t.getPos(t.getParent(e.selection.getNode(),"*")),r=e.getBody();e.dom.add(r,"div",{style:{position:"absolute",left:n.x,top:n.y>20?n.y:20,width:100,height:100},"class":"mceItemVisualAid mceItemLayer"},e.selection.getContent()||e.getLang("layer.content")),tinymce.Env.ie&&t.setHTML(r,r.innerHTML)}function o(){var n=t(e.selection.getNode());n||(n=e.dom.getParent(e.selection.getNode(),"DIV,P,IMG")),n&&("absolute"==n.style.position.toLowerCase()?(e.dom.setStyles(n,{position:"",left:"",top:"",width:"",height:""}),e.dom.removeClass(n,"mceItemVisualAid"),e.dom.removeClass(n,"mceItemLayer")):(n.style.left||(n.style.left="20px"),n.style.top||(n.style.top="20px"),n.style.width||(n.style.width=n.width?n.width+"px":"100px"),n.style.height||(n.style.height=n.height?n.height+"px":"100px"),n.style.position="absolute",e.dom.setAttrib(n,"data-mce-style",""),e.addVisual(e.getBody())),e.execCommand("mceRepaint"),e.nodeChanged())}e.addCommand("mceInsertLayer",i),e.addCommand("mceMoveForward",function(){r(1)}),e.addCommand("mceMoveBackward",function(){r(-1)}),e.addCommand("mceMakeAbsolute",function(){o()}),e.addButton("moveforward",{title:"layer.forward_desc",cmd:"mceMoveForward"}),e.addButton("movebackward",{title:"layer.backward_desc",cmd:"mceMoveBackward"}),e.addButton("absolute",{title:"layer.absolute_desc",cmd:"mceMakeAbsolute"}),e.addButton("insertlayer",{title:"layer.insertlayer_desc",cmd:"mceInsertLayer"}),e.on("init",function(){tinymce.Env.ie&&e.getDoc().execCommand("2D-Position",!1,!0)}),e.on("mouseup",function(n){var r=t(n.target);r&&e.dom.setAttrib(r,"data-mce-style","")}),e.on("mousedown",function(n){var r,i=n.target,o=e.getDoc();tinymce.Env.gecko&&(t(i)?"on"!==o.designMode&&(o.designMode="on",i=o.body,r=i.parentNode,r.removeChild(i),r.appendChild(i)):"on"==o.designMode&&(o.designMode="off"))}),e.on("NodeChange",n)});

View File

@@ -0,0 +1 @@
!function(e){e.on("AddEditor",function(e){e.editor.settings.inline_styles=!1}),e.PluginManager.add("legacyoutput",function(t,n,r){t.on("init",function(){var n="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",r=e.explode(t.settings.font_size_style_values),i=t.schema;t.formatter.register({alignleft:{selector:n,attributes:{align:"left"}},aligncenter:{selector:n,attributes:{align:"center"}},alignright:{selector:n,attributes:{align:"right"}},alignjustify:{selector:n,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:!0}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:!0}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(t){return e.inArray(r,t.value)+1}}},forecolor:{inline:"font",attributes:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}}),e.each("b,i,u,strike".split(","),function(e){i.addValidElements(e+"[*]")}),i.getElementRule("font")||i.addValidElements("font[face|size|color|style]"),e.each(n.split(","),function(e){var t=i.getElementRule(e);t&&(t.attributes.align||(t.attributes.align={},t.attributesOrder.push("align")))})}),t.addButton("fontsizeselect",function(){var e=[],n="8pt=1 10pt=2 12pt=3 14pt=4 18pt=5 24pt=6 36pt=7",r=t.settings.fontsize_formats||n;return t.$.each(r.split(" "),function(t,n){var r=n,i=n,o=n.split("=");o.length>1&&(r=o[0],i=o[1]),e.push({text:r,value:i})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:e,fixedWidth:!0,onPostRender:function(){var e=this;t.on("NodeChange",function(){var n;n=t.dom.getParent(t.selection.getNode(),"font"),n?e.value(n.size):e.value("")})},onclick:function(e){e.control.settings.value&&t.execCommand("FontSize",!1,e.control.settings.value)}}}),t.addButton("fontselect",function(){function e(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=e(t.settings.font_formats||n);return r.each(o,function(e,t){i.push({text:{raw:t[0]},value:t[1],textStyle:-1==t[1].indexOf("dings")?"font-family:"+t[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:function(){var e=this;t.on("NodeChange",function(){var n;n=t.dom.getParent(t.selection.getNode(),"font"),n?e.value(n.face):e.value("")})},onselect:function(e){e.control.settings.value&&t.execCommand("FontName",!1,e.control.settings.value)}}})})}(tinymce);

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("link",function(e){function t(t){return function(){var n=e.settings.link_list;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof n?n(t):t(n)}}function n(e,t,n){function r(e,n){return n=n||[],tinymce.each(e,function(e){var i={text:e.text||e.title};e.menu?i.menu=r(e.menu):(i.value=e.value,t&&t(i)),n.push(i)}),n}return r(e,n||[])}function r(t){function r(e){var t=d.find("#text");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),d.find("#href").value(e.control.value())}function i(t){var n=[];return tinymce.each(e.dom.select("a:not([href])"),function(e){var r=e.name||e.id;r&&n.push({text:r,value:"#"+r,selected:-1!=t.indexOf("#"+r)})}),n.length?(n.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:n,onselect:r}):void 0}function o(){!u&&0===x.text.length&&f&&this.parent().parent().find("#text")[0].value(this.value())}function a(t){var n=t.meta||{};m&&m.value(e.convertURL(this.value(),"href")),tinymce.each(t.meta,function(e,t){d.find("#"+t).value(e)}),n.text||o.call(this)}function s(e){var t=C.getContent();if(/</.test(t)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(t)||-1==t.indexOf("href=")))return!1;if(e){var n,r=e.childNodes;if(0===r.length)return!1;for(n=r.length-1;n>=0;n--)if(3!=r[n].nodeType)return!1}return!0}var l,c,u,d,f,p,m,h,g,v,y,b,x={},C=e.selection,w=e.dom;l=C.getNode(),c=w.getParent(l,"a[href]"),f=s(),x.text=u=c?c.innerText||c.textContent:C.getContent({format:"text"}),x.href=c?w.getAttrib(c,"href"):"",c?x.target=w.getAttrib(c,"target"):e.settings.default_link_target&&(x.target=e.settings.default_link_target),(b=w.getAttrib(c,"rel"))&&(x.rel=b),(b=w.getAttrib(c,"class"))&&(x["class"]=b),(b=w.getAttrib(c,"title"))&&(x.title=b),f&&(p={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){x.text=this.value()}}),t&&(m={type:"listbox",label:"Link list",values:n(t,function(t){t.value=e.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:r,value:e.convertURL(x.href,"href"),onPostRender:function(){m=this}}),e.settings.target_list!==!1&&(e.settings.target_list||(e.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]),g={name:"target",type:"listbox",label:"Target",values:n(e.settings.target_list)}),e.settings.rel_list&&(h={name:"rel",type:"listbox",label:"Rel",values:n(e.settings.rel_list)}),e.settings.link_class_list&&(v={name:"class",type:"listbox",label:"Class",values:n(e.settings.link_class_list,function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:"a",classes:[t.value]})})})}),e.settings.link_title!==!1&&(y={name:"title",type:"textbox",label:"Title",value:x.title}),d=e.windowManager.open({title:"Insert link",data:x,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:a,onkeyup:o},p,y,i(x.href),m,h,g,v],onSubmit:function(t){function n(t,n){var r=e.selection.getRng();tinymce.util.Delay.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(r),n(t)})})}function r(){var t={href:i,target:x.target?x.target:null,rel:x.rel?x.rel:null,"class":x["class"]?x["class"]:null,title:x.title?x.title:null};c?(e.focus(),f&&x.text!=u&&("innerText"in c?c.innerText=x.text:c.textContent=x.text),w.setAttribs(c,t),C.select(c),e.undoManager.add()):f?e.insertContent(w.createHTML("a",t,w.encode(x.text))):e.execCommand("mceInsertLink",!1,t)}var i;return x=tinymce.extend(x,t.data),(i=x.href)?i.indexOf("@")>0&&-1==i.indexOf("//")&&-1==i.indexOf("mailto:")?void n("The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(e){e&&(i="mailto:"+i),r()}):e.settings.link_assume_external_targets&&!/^\w+:/i.test(i)||!e.settings.link_assume_external_targets&&/^\s*www[\.|\d\.]/i.test(i)?void n("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(e){e&&(i="http://"+i),r()}):void r():void e.execCommand("unlink")}})}e.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onclick:t(r),stateSelector:"a[href]"}),e.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",stateSelector:"a[href]"}),e.addShortcut("Meta+K","",t(r)),e.addCommand("mceLink",t(r)),this.showDialog=r,e.addMenuItem("link",{icon:"link",text:"Insert/edit link",shortcut:"Meta+K",onclick:t(r),stateSelector:"a[href]",context:"insert",prependToContext:!0})});

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("nonbreaking",function(e){var t=e.getParam("nonbreaking_force_tab");if(e.addCommand("mceNonBreaking",function(){e.insertContent(e.plugins.visualchars&&e.plugins.visualchars.state?'<span class="mce-nbsp">&nbsp;</span>':"&nbsp;"),e.dom.setAttrib(e.dom.select("span.mce-nbsp"),"data-mce-bogus","1")}),e.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),e.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),t){var n=+t>1?+t:3;e.on("keydown",function(t){if(9==t.keyCode){if(t.shiftKey)return;t.preventDefault();for(var r=0;n>r;r++)e.execCommand("mceNonBreaking")}})}});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("noneditable",function(e){function t(e){return function(t){return-1!==(" "+t.attr("class")+" ").indexOf(e)}}function n(t){function n(t){var n=arguments,r=n[n.length-2];return r>0&&'"'==a.charAt(r-1)?t:'<span class="'+s+'" data-mce-content="'+e.dom.encode(n[0])+'">'+e.dom.encode("string"==typeof n[1]?n[1]:n[0])+"</span>"}var r=o.length,a=t.content,s=tinymce.trim(i);if("raw"!=t.format){for(;r--;)a=a.replace(o[r],n);t.content=a}}var r,i,o,a="contenteditable";r=" "+tinymce.trim(e.getParam("noneditable_editable_class","mceEditable"))+" ",i=" "+tinymce.trim(e.getParam("noneditable_noneditable_class","mceNonEditable"))+" ";var s=t(r),l=t(i);o=e.getParam("noneditable_regexp"),o&&!o.length&&(o=[o]),e.on("PreInit",function(){o&&e.on("BeforeSetContent",n),e.parser.addAttributeFilter("class",function(e){for(var t,n=e.length;n--;)t=e[n],s(t)?t.attr(a,"true"):l(t)&&t.attr(a,"false")}),e.serializer.addAttributeFilter(a,function(e){for(var t,n=e.length;n--;)t=e[n],(s(t)||l(t))&&(o&&t.attr("data-mce-content")?(t.name="#text",t.type=3,t.raw=!0,t.value=t.attr("data-mce-content")):t.attr(a,null))})})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("pagebreak",function(e){var t="mce-pagebreak",n=e.getParam("pagebreak_separator","<!-- pagebreak -->"),r=new RegExp(n.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi"),i='<img src="'+tinymce.Env.transparentSrc+'" class="'+t+'" data-mce-resize="false" data-mce-placeholder />';e.addCommand("mcePageBreak",function(){e.settings.pagebreak_split_block?e.insertContent("<p>"+i+"</p>"):e.insertContent(i)}),e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"}),e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"}),e.on("ResolveName",function(n){"IMG"==n.target.nodeName&&e.dom.hasClass(n.target,t)&&(n.name="pagebreak")}),e.on("click",function(n){n=n.target,"IMG"===n.nodeName&&e.dom.hasClass(n,t)&&e.selection.select(n)}),e.on("BeforeSetContent",function(e){e.content=e.content.replace(r,i)}),e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(t){for(var r,i,o=t.length;o--;)if(r=t[o],i=r.attr("class"),i&&-1!==i.indexOf("mce-pagebreak")){var a=r.parent;if(e.schema.getBlockElements()[a.name]&&e.settings.pagebreak_split_block){a.type=3,a.value=n,a.raw=!0,r.remove();continue}r.type=3,r.value=n,r.raw=!0}})})});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'<iframe src="javascript:\'\'" frameborder="0"'+(n?' sandbox="allow-scripts"':"")+"></iframe>",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='<base href="'+e.documentBaseURI.getURI()+'">',tinymce.each(e.contentCSS,function(t){i+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var o=t.body_id||"tinymce";-1!=o.indexOf("=")&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";-1!=a.indexOf("=")&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r="<!DOCTYPE html><html><head>"+i+'</head><body id="'+o+'" class="mce-content-body '+a+'"'+s+">"+e.getContent()+"</body></html>",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var l=this.getEl("body").firstChild.contentWindow.document;l.open(),l.write(r),l.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){e.getWin().print()}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addShortcut("Meta+P","","mcePrint"),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Meta+P",context:"file"})});

View File

@@ -0,0 +1,126 @@
(function() {
tinymce.create('tinymce.plugins.ResponsiveFileManager',
{
init : function(editor, url)
{
// File manager callback
function openmanager()
{
editor.focus(true);
var title="RESPONSIVE FileManager";
if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
title=editor.settings.filemanager_title;
}
var akey="key";
if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
akey=editor.settings.filemanager_access_key;
}
var sort_by="";
if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
sort_by="&sort_by="+editor.settings.filemanager_sort_by;
}
var descending="false";
if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
descending=editor.settings.filemanager_descending;
}
var fldr="";
if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
fldr="&fldr="+editor.settings.filemanager_subfolder;
}
// Disabled because of bug
var type=2;
if (typeof editor.settings.filemanager_type !== "undefined" && editor.settings.filemanager_type) {
if ($.isNumeric(editor.settings.filemanager_type) === true && editor.settings.filemanager_type > 0 && editor.settings.filemanager_type <= 3) {
type=editor.settings.filemanager_type;
}
else if (editor.settings.filemanager_type == 'image'){
type = 1;
}
else if (editor.settings.filemanager_type == 'media'){
type = 3;
}
else {
type = 2;
}
}
win = editor.windowManager.open({
title: title,
file: editor.settings.external_filemanager_path+'dialog.php?type=4&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
width: 860,
height: 570,
inline: 1,
resizable: true,
maximizable: true
});
}
editor.settings.file_browser_callback = filemanager;
function filemanager (id, value, type, win) {
// DEFAULT AS FILE
urltype=2;
if (type=='image') { urltype=1; }
if (type=='media') { urltype=3; }
var title="RESPONSIVE FileManager";
if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
title=editor.settings.filemanager_title;
}
var akey="key";
if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
akey=editor.settings.filemanager_access_key;
}
var sort_by="";
if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
sort_by="&sort_by="+editor.settings.filemanager_sort_by;
}
var descending="false";
if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
descending=editor.settings.filemanager_descending;
}
var fldr="";
if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
fldr="&fldr="+editor.settings.filemanager_subfolder;
}
tinymce.activeEditor.windowManager.open({
title: title,
file: editor.settings.external_filemanager_path+'dialog.php?type='+urltype+'&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
width: 860,
height: 570,
resizable: true,
maximizable: true,
inline: 1
}, {
setUrl: function (url) {
var fieldElm = win.document.getElementById(id);
fieldElm.value = editor.convertURL(url);
if ("fireEvent" in fieldElm) {
fieldElm.fireEvent("onchange")
} else {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
fieldElm.dispatchEvent(evt);
}
}
});
};
// Register buttons
editor.addButton('responsivefilemanager',
{
title : 'Browse files',
image : url + '/img/insertfile.gif',
shortcut: 'Ctrl+E',
onclick: openmanager
});
}
});
// Register plugin
tinymce.PluginManager.add('responsivefilemanager', tinymce.plugins.ResponsiveFileManager);
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,79 @@
/**
* plugin.js
*
* Copyright, Alberto Peripolli
* Released under Creative Commons Attribution-NonCommercial 3.0 Unported License.
*
* Contributing: https://github.com/trippo/ResponsiveFilemanager
*/
tinymce.PluginManager.add('responsivefilemanager', function(editor) {
function openmanager() {
editor.focus(true);
var title="RESPONSIVE FileManager";
if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
title=editor.settings.filemanager_title;
}
var akey="key";
if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
akey=editor.settings.filemanager_access_key;
}
var sort_by="";
if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
sort_by="&sort_by="+editor.settings.filemanager_sort_by;
}
var descending="false";
if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
descending=editor.settings.filemanager_descending;
}
var fldr="";
if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
fldr="&fldr="+editor.settings.filemanager_subfolder;
}
// Disabled because of bug
var type=2;
if (typeof editor.settings.filemanager_type !== "undefined" && editor.settings.filemanager_type) {
if ($.isNumeric(editor.settings.filemanager_type) === true && editor.settings.filemanager_type > 0 && editor.settings.filemanager_type <= 3) {
type=editor.settings.filemanager_type;
}
else if (editor.settings.filemanager_type == 'image'){
type = 1;
}
else if (editor.settings.filemanager_type == 'media'){
type = 3;
}
else {
type = 2;
}
}
win = editor.windowManager.open({
title: title,
file: editor.settings.external_filemanager_path+'dialog.php?type=4&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
width: 860,
height: 570,
inline: 1,
resizable: true,
maximizable: true
});
}
editor.addButton('responsivefilemanager', {
icon: 'browse',
tooltip: 'Insert file',
shortcut: 'Ctrl+E',
onclick:openmanager
});
editor.addShortcut('Ctrl+E', '', openmanager);
editor.addMenuItem('responsivefilemanager', {
icon: 'browse',
text: 'Insert file',
shortcut: 'Ctrl+E',
onclick: openmanager,
context: 'insert'
});
});

View File

@@ -0,0 +1,9 @@
/**
* plugin.js
*
* Copyright, Alberto Peripolli
* Released under Creative Commons Attribution-NonCommercial 3.0 Unported License.
*
* Contributing: https://github.com/trippo/ResponsiveFilemanager
*/
tinymce.PluginManager.add("responsivefilemanager",function(e){function t(){e.focus(true);var t="RESPONSIVE FileManager";if(typeof e.settings.filemanager_title!=="undefined"&&e.settings.filemanager_title){t=e.settings.filemanager_title}var n="key";if(typeof e.settings.filemanager_access_key!=="undefined"&&e.settings.filemanager_access_key){n=e.settings.filemanager_access_key}var r="";if(typeof e.settings.filemanager_sort_by!=="undefined"&&e.settings.filemanager_sort_by){r="&sort_by="+e.settings.filemanager_sort_by}var i="false";if(typeof e.settings.filemanager_descending!=="undefined"&&e.settings.filemanager_descending){i=e.settings.filemanager_descending}var s="";if(typeof e.settings.filemanager_subfolder!=="undefined"&&e.settings.filemanager_subfolder){s="&fldr="+e.settings.filemanager_subfolder}var o=2;if(typeof e.settings.filemanager_type!=="undefined"&&e.settings.filemanager_type){if($.isNumeric(e.settings.filemanager_type)===true&&e.settings.filemanager_type>0&&e.settings.filemanager_type<=3){o=e.settings.filemanager_type}else if(e.settings.filemanager_type=="image"){o=1}else if(e.settings.filemanager_type=="media"){o=3}else{o=2}}win=e.windowManager.open({title:t,file:e.settings.external_filemanager_path+"dialog.php?type=4&descending="+i+r+s+"&lang="+e.settings.language+"&akey="+n,width:860,height:570,inline:1,resizable:true,maximizable:true})}e.addButton("responsivefilemanager",{icon:"browse",tooltip:"Insert file",shortcut:"Ctrl+E",onclick:t});e.addShortcut("Ctrl+E","",t);e.addMenuItem("responsivefilemanager",{icon:"browse",text:"Insert file",shortcut:"Ctrl+E",onclick:t,context:"insert"})})

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("save",function(e){function t(){var t;return t=tinymce.DOM.getParent(e.id,"form"),!e.getParam("save_enablewhendirty",!0)||e.isDirty()?(tinymce.triggerSave(),e.getParam("save_onsavecallback")?(e.execCallback("save_onsavecallback",e),void e.nodeChanged()):void(t?(e.setDirty(!1),(!t.onsubmit||t.onsubmit())&&("function"==typeof t.submit?t.submit():n(e.translate("Error: Form submit field collision."))),e.nodeChanged()):n(e.translate("Error: No form element found.")))):void 0}function n(t){e.notificationManager.open({text:t,type:"error"})}function r(){var t=tinymce.trim(e.startContent);return e.getParam("save_oncancelcallback")?void e.execCallback("save_oncancelcallback",e):(e.setContent(t),e.undoManager.clear(),void e.nodeChanged())}function i(){var t=this;e.on("nodeChange dirty",function(){t.disabled(e.getParam("save_enablewhendirty",!0)&&!e.isDirty())})}e.addCommand("mceSave",t),e.addCommand("mceCancel",r),e.addButton("save",{icon:"save",text:"Save",cmd:"mceSave",disabled:!0,onPostRender:i}),e.addButton("cancel",{text:"Cancel",icon:!1,cmd:"mceCancel",disabled:!0,onPostRender:i}),e.addShortcut("Meta+S","","mceSave")});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("tabfocus",function(e){function t(e){9!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()}function n(t){function n(n){function o(e){return"BODY"===e.nodeName||"hidden"!=e.type&&"none"!=e.style.display&&"hidden"!=e.style.visibility&&o(e.parentNode)}function l(e){return/INPUT|TEXTAREA|BUTTON/.test(e.tagName)&&tinymce.get(t.id)&&-1!=e.tabIndex&&o(e)}if(s=r.select(":input:enabled,*[tabindex]:not(iframe)"),i(s,function(t,n){return t.id==e.id?(a=n,!1):void 0}),n>0){for(c=a+1;c<s.length;c++)if(l(s[c]))return s[c]}else for(c=a-1;c>=0;c--)if(l(s[c]))return s[c];return null}var a,s,l,c;if(!(9!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey||t.isDefaultPrevented())&&(l=o(e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))),1==l.length&&(l[1]=l[0],l[0]=":prev"),s=t.shiftKey?":prev"==l[0]?n(-1):r.get(l[0]):":next"==l[1]?n(1):r.get(l[1]))){var u=tinymce.get(s.id||s.name);s.id&&u?u.focus():tinymce.util.Delay.setTimeout(function(){tinymce.Env.webkit||window.focus(),s.focus()},10),t.preventDefault()}}var r=tinymce.DOM,i=tinymce.each,o=tinymce.explode;e.on("init",function(){e.inline&&tinymce.DOM.setAttrib(e.getBody(),"tabIndex",null),e.on("keyup",t),tinymce.Env.gecko?e.on("keypress keydown",n):e.on("keydown",n)})});

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("template",function(e){function t(t){return function(){var n=e.settings.templates;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):t(n)}}function n(t){function n(t){function n(t){if(-1==t.indexOf("<html>")){var n="";tinymce.each(e.contentCSS,function(t){n+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'}),t="<!DOCTYPE html><html><head>"+n+"</head><body>"+t+"</body></html>"}t=o(t,"template_preview_replace_values");var i=r.find("iframe")[0].getEl().contentWindow.document;i.open(),i.write(t),i.close()}var a=t.control.value();a.url?tinymce.util.XHR.send({url:a.url,success:function(e){i=e,n(i)}}):(i=a.content,n(i)),r.find("#description")[0].text(t.control.value().description)}var r,i,s=[];if(!t||0===t.length){var l=e.translate("No templates defined.");return void e.notificationManager.open({text:l,type:"info"})}tinymce.each(t,function(e){s.push({selected:!s.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),r=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:s,onselect:n}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){a(!1,i)},width:e.getParam("template_popup_width",600),height:e.getParam("template_popup_height",500)}),r.find("listbox")[0].fire("select")}function r(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}var i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),a="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),s="January February March April May June July August September October November December".split(" ");return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(s[n.getMonth()])),t=t.replace("%b",""+e.translate(a[n.getMonth()])),t=t.replace("%A",""+e.translate(o[n.getDay()])),t=t.replace("%a",""+e.translate(i[n.getDay()])),t=t.replace("%%","%")}function i(t){var n=e.dom,r=e.getParam("template_replace_values");s(n.select("*",t),function(e){s(r,function(t,i){n.hasClass(e,i)&&"function"==typeof r[i]&&r[i](e)})})}function o(t,n){return s(e.getParam(n),function(e,n){"function"==typeof e&&(e=e(n)),t=t.replace(new RegExp("\\{\\$"+n+"\\}","g"),e)}),t}function a(t,n){function a(e,t){return new RegExp("\\b"+t+"\\b","g").test(e.className)}var l,c,u=e.dom,d=e.selection.getContent();n=o(n,"template_replace_values"),l=u.create("div",null,n),c=u.select(".mceTmpl",l),c&&c.length>0&&(l=u.create("div",null),l.appendChild(c[0].cloneNode(!0))),s(u.select("*",l),function(t){a(t,e.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_cdate_format",e.getLang("template.cdate_format")))),a(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format")))),a(t,e.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))&&(t.innerHTML=d)}),i(l),e.execCommand("mceInsertContent",!1,l.innerHTML),e.addVisual()}var s=tinymce.each;e.addCommand("mceInsertTemplate",a),e.addButton("template",{title:"Insert template",onclick:t(n)}),e.addMenuItem("template",{text:"Insert template",onclick:t(n),context:"insert"}),e.on("PreProcess",function(t){var n=e.dom;s(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(s(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format"))))}),i(t))})})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("textcolor",function(e){function t(t){var n;return e.dom.getParents(e.selection.getStart(),function(e){var r;(r=e.style["forecolor"==t?"color":"background-color"])&&(n=r)}),n}function n(){var t,n,r=[];for(n=e.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],t=0;t<n.length;t+=2)r.push({text:n[t+1],color:"#"+n[t]});return r}function r(){function t(e,t){var n="transparent"==e;return'<td class="mce-grid-cell'+(n?" mce-colorbtn-trans":"")+'"><div id="'+p+"-"+m++ +'" data-mce-color="'+(e?e:"")+'" role="option" tabIndex="-1" style="'+(e?"background-color: "+e:"")+'" title="'+tinymce.translate(t)+'">'+(n?"&#215;":"")+"</div></td>"}var r,i,o,a,s,u,d,f=this,p=f._id,m=0;for(r=n(),r.push({text:tinymce.translate("No color"),color:"transparent"}),o='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',a=r.length-1,u=0;c>u;u++){for(o+="<tr>",s=0;l>s;s++)d=u*l+s,d>a?o+="<td></td>":(i=r[d],o+=t(i.color,i.text));o+="</tr>"}if(e.settings.color_picker_callback){for(o+='<tr><td colspan="'+l+'" class="mce-custom-color-btn"><div id="'+p+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+p+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",o+="<tr>",s=0;l>s;s++)o+=t("","Custom color");o+="</tr>"}return o+="</tbody></table>"}function i(t,n){e.undoManager.transact(function(){e.focus(),e.formatter.apply(t,{value:n}),e.nodeChanged()})}function o(t){e.undoManager.transact(function(){e.focus(),e.formatter.remove(t,{value:null},null,!0),e.nodeChanged()})}function a(n){function r(e){u.hidePanel(),u.color(e),i(u.settings.format,e)}function a(){u.hidePanel(),u.resetColor(),o(u.settings.format)}function s(e,t){e.style.background=t,e.setAttribute("data-mce-color",t)}var c,u=this.parent();tinymce.DOM.getParent(n.target,".mce-custom-color-btn")&&(u.hidePanel(),e.settings.color_picker_callback.call(e,function(e){var t,n,i,o=u.panel.getEl().getElementsByTagName("table")[0];for(t=tinymce.map(o.rows[o.rows.length-1].childNodes,function(e){return e.firstChild}),i=0;i<t.length&&(n=t[i],n.getAttribute("data-mce-color"));i++);if(i==l)for(i=0;l-1>i;i++)s(t[i],t[i+1].getAttribute("data-mce-color"));s(n,e),r(e)},t(u.settings.format))),c=n.target.getAttribute("data-mce-color"),c?(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),n.target.setAttribute("aria-selected",!0),this.lastId=n.target.id,"transparent"==c?a():r(c)):null!==c&&u.hidePanel()}function s(){var e=this;e._color?i(e.settings.format,e._color):o(e.settings.format)}var l,c;c=e.settings.textcolor_rows||5,l=e.settings.textcolor_cols||8,e.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:a},onclick:s}),e.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:a},onclick:s})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("textpattern",function(e){function t(){return c&&(l.sort(function(e,t){return e.start.length>t.start.length?-1:e.start.length<t.start.length?1:0}),c=!1),l}function n(e){for(var n=t(),r=0;r<n.length;r++)if(0===e.indexOf(n[r].start)&&(!n[r].end||e.lastIndexOf(n[r].end)==e.length-n[r].end.length))return n[r]}function r(e,n,r){var i,o,a;for(i=t(),a=0;a<i.length;a++)if(o=i[a],o.end&&e.substr(n-o.end.length-r,o.end.length)==o.end)return o}function i(t){function i(){l=l.splitText(u),l.splitText(c-u-m),l.deleteData(0,p.start.length),l.deleteData(l.data.length-p.end.length,p.end.length)}var o,a,s,l,c,u,d,f,p,m,h;return o=e.selection,a=e.dom,o.isCollapsed()&&(s=o.getRng(!0),l=s.startContainer,c=s.startOffset,d=l.data,m=t?1:0,3==l.nodeType&&(p=r(d,c,m),p&&(u=Math.max(0,c-m),u=d.lastIndexOf(p.start,u-p.end.length-1),-1!==u&&(f=a.createRng(),f.setStart(l,u),f.setEnd(l,c-m),p=n(f.toString()),p&&p.end&&!(l.data.length<=p.start.length+p.end.length)))))?(h=e.formatter.get(p.format),h&&h[0].inline?(i(),e.formatter.apply(p.format,{},l),l):void 0):void 0}function o(){var t,r,i,o,a,s,l,c,u,d,f;if(t=e.selection,r=e.dom,t.isCollapsed()&&(l=r.getParent(t.getStart(),"p"))){for(u=new tinymce.dom.TreeWalker(l,l);a=u.next();)if(3==a.nodeType){o=a;break}if(o){if(c=n(o.data),!c)return;if(d=t.getRng(!0),i=d.startContainer,f=d.startOffset,o==i&&(f=Math.max(0,f-c.start.length)),tinymce.trim(o.data).length==c.start.length)return;c.format&&(s=e.formatter.get(c.format),s&&s[0].block&&(o.deleteData(0,c.start.length),e.formatter.apply(c.format,{},o),d.setStart(i,f),d.collapse(!0),t.setRng(d))),c.cmd&&e.undoManager.transact(function(){o.deleteData(0,c.start.length),e.execCommand(c.cmd)})}}}function a(){var t,n;n=i(),n&&(t=e.dom.createRng(),t.setStart(n,n.data.length),t.setEnd(n,n.data.length),e.selection.setRng(t)),o()}function s(){var t,n,r,o,a;t=i(!0),t&&(a=e.dom,n=t.data.slice(-1),/[\u00a0 ]/.test(n)&&(t.deleteData(t.data.length-1,1),r=a.doc.createTextNode(n),t.nextSibling?a.insertAfter(r,t.nextSibling):t.parentNode.appendChild(r),o=a.createRng(),o.setStart(r,1),o.setEnd(r,1),e.selection.setRng(o)))}var l,c=!0;l=e.settings.textpattern_patterns||[{start:"*",end:"*",format:"italic"},{start:"**",end:"**",format:"bold"},{start:"#",format:"h1"},{start:"##",format:"h2"},{start:"###",format:"h3"},{start:"####",format:"h4"},{start:"#####",format:"h5"},{start:"######",format:"h6"},{start:"1. ",cmd:"InsertOrderedList"},{start:"* ",cmd:"InsertUnorderedList"},{start:"- ",cmd:"InsertUnorderedList"}],e.on("keydown",function(e){13!=e.keyCode||tinymce.util.VK.modifierPressed(e)||a()},!0),e.on("keyup",function(e){32!=e.keyCode||tinymce.util.VK.modifierPressed(e)||s()}),this.getPatterns=t,this.setPatterns=function(e){l=e,c=!0}});

View File

@@ -0,0 +1,135 @@
.mce-visualblocks p {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
}
.mce-visualblocks h1 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
}
.mce-visualblocks h2 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
}
.mce-visualblocks h3 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
}
.mce-visualblocks h4 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
}
.mce-visualblocks h5 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
}
.mce-visualblocks h6 {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
}
.mce-visualblocks div {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
}
.mce-visualblocks section {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
}
.mce-visualblocks article {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
}
.mce-visualblocks blockquote {
padding-top: 10px;
border: 1px dashed #BBB;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
}
.mce-visualblocks address {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
}
.mce-visualblocks pre {
padding-top: 10px;
border: 1px dashed #BBB;
margin-left: 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
}
.mce-visualblocks figure {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
}
.mce-visualblocks hgroup {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
}
.mce-visualblocks aside {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
}
.mce-visualblocks figcaption {
border: 1px dashed #BBB;
}
.mce-visualblocks ul {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)
}
.mce-visualblocks ol {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
}
.mce-visualblocks dl {
padding-top: 10px;
border: 1px dashed #BBB;
margin: 0 0 1em 3px;
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
}

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("visualblocks",function(e,t){function n(){var t=this;t.active(o),e.on("VisualBlocks",function(){t.active(e.dom.hasClass(e.getBody(),"mce-visualblocks"))})}var r,i,o;window.NodeList&&(e.addCommand("mceVisualBlocks",function(){var n,a=e.dom;r||(r=a.uniqueId(),n=a.create("link",{id:r,rel:"stylesheet",href:t+"/css/visualblocks.css"}),e.getDoc().getElementsByTagName("head")[0].appendChild(n)),e.on("PreviewFormats AfterPreviewFormats",function(t){o&&a.toggleClass(e.getBody(),"mce-visualblocks","afterpreviewformats"==t.type)}),a.toggleClass(e.getBody(),"mce-visualblocks"),o=e.dom.hasClass(e.getBody(),"mce-visualblocks"),i&&i.active(a.hasClass(e.getBody(),"mce-visualblocks")),e.fire("VisualBlocks")}),e.addButton("visualblocks",{title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("init",function(){e.settings.visualblocks_default_state&&e.execCommand("mceVisualBlocks",!1,null,{skip_focus:!0})}),e.on("remove",function(){e.dom.removeClass(e.getBody(),"mce-visualblocks")}))});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("visualchars",function(e){function t(t){function n(e){return'<span data-mce-bogus="1" class="mce-'+p[e]+'">'+e+"</span>"}function o(){var e,t="";for(e in p)t+=e;return new RegExp("["+t+"]","g")}function a(){var e,t="";for(e in p)t&&(t+=","),t+="span.mce-"+p[e];return t}var s,l,c,u,d,f,p,m,h=e.getBody(),g=e.selection;if(p={"\xa0":"nbsp","\xad":"shy"},r=!r,i.state=r,e.fire("VisualChars",{state:r}),m=o(),t&&(f=g.getBookmark()),r)for(l=[],tinymce.walk(h,function(e){3==e.nodeType&&e.nodeValue&&m.test(e.nodeValue)&&l.push(e)},"childNodes"),c=0;c<l.length;c++){for(u=l[c].nodeValue,u=u.replace(m,n),d=e.dom.create("div",null,u);s=d.lastChild;)e.dom.insertAfter(s,l[c]);e.dom.remove(l[c])}else for(l=e.dom.select(a(),h),c=l.length-1;c>=0;c--)e.dom.remove(l[c],1);g.moveToBookmark(f)}function n(){var t=this;e.on("VisualChars",function(e){t.active(e.state)})}var r,i=this;e.addCommand("mceVisualChars",t),e.addButton("visualchars",{title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("beforegetcontent",function(e){r&&"raw"!=e.format&&!e.draft&&(r=!0,t(!1))})});

View File

@@ -0,0 +1 @@
tinymce.PluginManager.add("wordcount",function(e){function t(){e.theme.panel.find("#wordcount").text(["Words: {0}",i.getCount()])}var n,r,i=this;n=e.getParam("wordcount_countregex",/[\w\u2019\x27\-\u00C0-\u1FFF]+/g),r=e.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g),e.on("init",function(){var n=e.theme.panel&&e.theme.panel.find("#statusbar")[0];n&&tinymce.util.Delay.setEditorTimeout(e,function(){n.insert({type:"label",name:"wordcount",text:["Words: {0}",i.getCount()],classes:"wordcount",disabled:e.settings.readonly},0),e.on("setcontent beforeaddundo",t),e.on("keyup",function(e){32==e.keyCode&&t()})},0)}),i.getCount=function(){var t=e.getContent({format:"raw"}),i=0;if(t){t=t.replace(/\.\.\./g," "),t=t.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," "),t=t.replace(/(\w+)(&#?[a-z0-9]+;)+(\w+)/i,"$1$3").replace(/&.+?;/g," "),t=t.replace(r,"");var o=t.match(n);o&&(i=o.length)}return i}});

View File

@@ -0,0 +1,78 @@
Plugin youtube for TinyMCE 4
======================
Insert YouTube video W3C valid with optionnals (HD, similar vidéos)
Authors
-------
* Gerits Aurelien (Author-Developer) contact[at]aurelien-gerits[point]be
Official link in french :
###Screenshot
![tinyMCE plugin YouTube](http://blog.aurelien-gerits.be/wp-content/uploads/2013/09/youtube-tinymce-2.0.png "tinyMCE plugin YouTube")
###Installation
* Download the dist/youtube.zip archive
* Unzip archive in tinyMCE plugin directory (tiny_mce/plugins/)
###Configuration
```html
<script type="text/javascript">
tinymce.init({
selector: "textarea",
plugins: [
"advlist autolink lists link image charmap print preview anchor",
"searchreplace visualblocks code fullscreen",
"insertdatetime media table contextmenu paste youtube"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image| youtube"
});
</script>
```
###Languages
* English
* French
* Russian
* Spanish
* German
* Italian
* Brazilian
* Hungarian
* Polish
You can send me translations in other languages
### Old Version
[Plugin YouTube for tinyMCE 3](http://magix-cjquery.com/post/2012/05/11/plugin-youtube-v1.4-pour-tinyMCE)
<pre>
This file is part of tinyMCE.
YouTube for tinyMCE
Copyright (C) 2011 - 2013 Gerits Aurelien aurelien[at]magix-dev[dot]be - contact[at]aurelien-gerits[dot]be
Redistributions of files must retain the above copyright notice.
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, either version 3 of the License, or
(at your option) any later version.
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 for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
####DISCLAIMER
Do not edit or add to this file if you wish to upgrade jimagine to newer
versions in the future. If you wish to customize jimagine for your
needs please refer to magix-dev.be for more information.
</pre>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

View File

@@ -0,0 +1,807 @@
/*!
* bootstrap.js v3.0.0 by @fat and @mdo
* Copyright 2013 Twitter Inc.
* http://www.apache.org/licenses/LICENSE-2.0
*/
if (!jQuery)throw new Error("Bootstrap requires jQuery");
+function(t) {
"use strict";
function e() {
var t = document.createElement("bootstrap"), e = {WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend"};
for (var i in e)if (void 0 !== t.style[i])return{end: e[i]}
}
t.fn.emulateTransitionEnd = function(e) {
var i = !1, n = this;
t(this).one(t.support.transition.end, function() {
i = !0
});
var o = function() {
i || t(n).trigger(t.support.transition.end)
};
return setTimeout(o, e), this
}, t(function() {
t.support.transition = e()
})
}(window.jQuery), +function(t) {
"use strict";
var e = '[data-dismiss="alert"]', i = function(i) {
t(i).on("click", e, this.close)
};
i.prototype.close = function(e) {
function i() {
s.trigger("closed.bs.alert").remove()
}
var n = t(this), o = n.attr("data-target");
o || (o = n.attr("href"), o = o && o.replace(/.*(?=#[^\s]*$)/, ""));
var s = t(o);
e && e.preventDefault(), s.length || (s = n.hasClass("alert") ? n : n.parent()), s.trigger(e = t.Event("close.bs.alert")), e.isDefaultPrevented() || (s.removeClass("in"), t.support.transition && s.hasClass("fade") ? s.one(t.support.transition.end, i).emulateTransitionEnd(150) : i())
};
var n = t.fn.alert;
t.fn.alert = function(e) {
return this.each(function() {
var n = t(this), o = n.data("bs.alert");
o || n.data("bs.alert", o = new i(this)), "string" == typeof e && o[e].call(n)
})
}, t.fn.alert.Constructor = i, t.fn.alert.noConflict = function() {
return t.fn.alert = n, this
}, t(document).on("click.bs.alert.data-api", e, i.prototype.close)
}(window.jQuery), +function(t) {
"use strict";
var e = function(i, n) {
this.$element = t(i), this.options = t.extend({}, e.DEFAULTS, n)
};
e.DEFAULTS = {loadingText: "loading..."}, e.prototype.setState = function(t) {
var e = "disabled", i = this.$element, n = i.is("input") ? "val" : "html", o = i.data();
t += "Text", o.resetText || i.data("resetText", i[n]()), i[n](o[t] || this.options[t]), setTimeout(function() {
"loadingText" == t ? i.addClass(e).attr(e, e) : i.removeClass(e).removeAttr(e)
}, 0)
}, e.prototype.toggle = function() {
var t = this.$element.closest('[data-toggle="buttons"]');
if (t.length) {
var e = this.$element.find("input").prop("checked", !this.$element.hasClass("active")).trigger("change");
"radio" === e.prop("type") && t.find(".active").removeClass("active")
}
this.$element.toggleClass("active")
};
var i = t.fn.button;
t.fn.button = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.button"), s = "object" == typeof i && i;
o || n.data("bs.button", o = new e(this, s)), "toggle" == i ? o.toggle() : i && o.setState(i)
})
}, t.fn.button.Constructor = e, t.fn.button.noConflict = function() {
return t.fn.button = i, this
}, t(document).on("click.bs.button.data-api", "[data-toggle^=button]", function(e) {
var i = t(e.target);
i.hasClass("btn") || (i = i.closest(".btn")), i.button("toggle"), e.preventDefault()
})
}(window.jQuery), +function(t) {
"use strict";
var e = function(e, i) {
this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = i, this.paused = this.sliding = this.interval = this.$active = this.$items = null, "hover" == this.options.pause && this.$element.on("mouseenter", t.proxy(this.pause, this)).on("mouseleave", t.proxy(this.cycle, this))
};
e.DEFAULTS = {interval: 5e3, pause: "hover", wrap: !0}, e.prototype.cycle = function(e) {
return e || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this
}, e.prototype.getActiveIndex = function() {
return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active)
}, e.prototype.to = function(e) {
var i = this, n = this.getActiveIndex();
return e > this.$items.length - 1 || 0 > e ? void 0 : this.sliding ? this.$element.one("slid", function() {
i.to(e)
}) : n == e ? this.pause().cycle() : this.slide(e > n ? "next" : "prev", t(this.$items[e]))
}, e.prototype.pause = function(e) {
return e || (this.paused = !0), this.$element.find(".next, .prev").length && t.support.transition.end && (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this
}, e.prototype.next = function() {
return this.sliding ? void 0 : this.slide("next")
}, e.prototype.prev = function() {
return this.sliding ? void 0 : this.slide("prev")
}, e.prototype.slide = function(e, i) {
var n = this.$element.find(".item.active"), o = i || n[e](), s = this.interval, a = "next" == e ? "left" : "right", r = "next" == e ? "first" : "last", l = this;
if (!o.length) {
if (!this.options.wrap)return;
o = this.$element.find(".item")[r]()
}
this.sliding = !0, s && this.pause();
var h = t.Event("slide.bs.carousel", {relatedTarget: o[0], direction: a});
if (!o.hasClass("active")) {
if (this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid", function() {
var e = t(l.$indicators.children()[l.getActiveIndex()]);
e && e.addClass("active")
})), t.support.transition && this.$element.hasClass("slide")) {
if (this.$element.trigger(h), h.isDefaultPrevented())return;
o.addClass(e), o[0].offsetWidth, n.addClass(a), o.addClass(a), n.one(t.support.transition.end,function() {
o.removeClass([e, a].join(" ")).addClass("active"), n.removeClass(["active", a].join(" ")), l.sliding = !1, setTimeout(function() {
l.$element.trigger("slid")
}, 0)
}).emulateTransitionEnd(600)
} else {
if (this.$element.trigger(h), h.isDefaultPrevented())return;
n.removeClass("active"), o.addClass("active"), this.sliding = !1, this.$element.trigger("slid")
}
return s && this.cycle(), this
}
};
var i = t.fn.carousel;
t.fn.carousel = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.carousel"), s = t.extend({}, e.DEFAULTS, n.data(), "object" == typeof i && i), a = "string" == typeof i ? i : s.slide;
o || n.data("bs.carousel", o = new e(this, s)), "number" == typeof i ? o.to(i) : a ? o[a]() : s.interval && o.pause().cycle()
})
}, t.fn.carousel.Constructor = e, t.fn.carousel.noConflict = function() {
return t.fn.carousel = i, this
}, t(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function(e) {
var i, n = t(this), o = t(n.attr("data-target") || (i = n.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, "")), s = t.extend({}, o.data(), n.data()), a = n.attr("data-slide-to");
a && (s.interval = !1), o.carousel(s), (a = n.attr("data-slide-to")) && o.data("bs.carousel").to(a), e.preventDefault()
}), t(window).on("load", function() {
t('[data-ride="carousel"]').each(function() {
var e = t(this);
e.carousel(e.data())
})
})
}(window.jQuery), +function(t) {
"use strict";
var e = function(i, n) {
this.$element = t(i), this.options = t.extend({}, e.DEFAULTS, n), this.transitioning = null, this.options.parent && (this.$parent = t(this.options.parent)), this.options.toggle && this.toggle()
};
e.DEFAULTS = {toggle: !0}, e.prototype.dimension = function() {
var t = this.$element.hasClass("width");
return t ? "width" : "height"
}, e.prototype.show = function() {
if (!this.transitioning && !this.$element.hasClass("in")) {
var e = t.Event("show.bs.collapse");
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
var i = this.$parent && this.$parent.find("> .panel > .in");
if (i && i.length) {
var n = i.data("bs.collapse");
if (n && n.transitioning)return;
i.collapse("hide"), n || i.data("bs.collapse", null)
}
var o = this.dimension();
this.$element.removeClass("collapse").addClass("collapsing")[o](0), this.transitioning = 1;
var s = function() {
this.$element.removeClass("collapsing").addClass("in")[o]("auto"), this.transitioning = 0, this.$element.trigger("shown.bs.collapse")
};
if (!t.support.transition)return s.call(this);
var a = t.camelCase(["scroll", o].join("-"));
this.$element.one(t.support.transition.end, t.proxy(s, this)).emulateTransitionEnd(350)[o](this.$element[0][a])
}
}
}, e.prototype.hide = function() {
if (!this.transitioning && this.$element.hasClass("in")) {
var e = t.Event("hide.bs.collapse");
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
var i = this.dimension();
this.$element[i](this.$element[i]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1;
var n = function() {
this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")
};
return t.support.transition ? void this.$element[i](0).one(t.support.transition.end, t.proxy(n, this)).emulateTransitionEnd(350) : n.call(this)
}
}
}, e.prototype.toggle = function() {
this[this.$element.hasClass("in") ? "hide" : "show"]()
};
var i = t.fn.collapse;
t.fn.collapse = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.collapse"), s = t.extend({}, e.DEFAULTS, n.data(), "object" == typeof i && i);
o || n.data("bs.collapse", o = new e(this, s)), "string" == typeof i && o[i]()
})
}, t.fn.collapse.Constructor = e, t.fn.collapse.noConflict = function() {
return t.fn.collapse = i, this
}, t(document).on("click.bs.collapse.data-api", "[data-toggle=collapse]", function(e) {
var i, n = t(this), o = n.attr("data-target") || e.preventDefault() || (i = n.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, ""), s = t(o), a = s.data("bs.collapse"), r = a ? "toggle" : n.data(), l = n.attr("data-parent"), h = l && t(l);
a && a.transitioning || (h && h.find('[data-toggle=collapse][data-parent="' + l + '"]').not(n).addClass("collapsed"), n[s.hasClass("in") ? "addClass" : "removeClass"]("collapsed")), s.collapse(r)
})
}(window.jQuery), +function(t) {
"use strict";
function e() {
t(n).remove(), t(o).each(function(e) {
var n = i(t(this));
n.hasClass("open") && (n.trigger(e = t.Event("hide.bs.dropdown")), e.isDefaultPrevented() || n.removeClass("open").trigger("hidden.bs.dropdown"))
})
}
function i(e) {
var i = e.attr("data-target");
i || (i = e.attr("href"), i = i && /#/.test(i) && i.replace(/.*(?=#[^\s]*$)/, ""));
var n = i && t(i);
return n && n.length ? n : e.parent()
}
var n = ".dropdown-backdrop", o = "[data-toggle=dropdown]", s = function(e) {
t(e).on("click.bs.dropdown", this.toggle)
};
s.prototype.toggle = function(n) {
var o = t(this);
if (!o.is(".disabled, :disabled")) {
var s = i(o), a = s.hasClass("open");
if (e(), !a) {
if ("ontouchstart"in document.documentElement && !s.closest(".navbar-nav").length && t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click", e), s.trigger(n = t.Event("show.bs.dropdown")), n.isDefaultPrevented())return;
s.toggleClass("open").trigger("shown.bs.dropdown"), o.focus()
}
return!1
}
}, s.prototype.keydown = function(e) {
if (/(38|40|27)/.test(e.keyCode)) {
var n = t(this);
if (e.preventDefault(), e.stopPropagation(), !n.is(".disabled, :disabled")) {
var s = i(n), a = s.hasClass("open");
if (!a || a && 27 == e.keyCode)return 27 == e.which && s.find(o).focus(), n.click();
var r = t("[role=menu] li:not(.divider):visible a", s);
if (r.length) {
var l = r.index(r.filter(":focus"));
38 == e.keyCode && l > 0 && l--, 40 == e.keyCode && l < r.length - 1 && l++, ~l || (l = 0), r.eq(l).focus()
}
}
}
};
var a = t.fn.dropdown;
t.fn.dropdown = function(e) {
return this.each(function() {
var i = t(this), n = i.data("dropdown");
n || i.data("dropdown", n = new s(this)), "string" == typeof e && n[e].call(i)
})
}, t.fn.dropdown.Constructor = s, t.fn.dropdown.noConflict = function() {
return t.fn.dropdown = a, this
}, t(document).on("click.bs.dropdown.data-api", e).on("click.bs.dropdown.data-api", ".dropdown form",function(t) {
t.stopPropagation()
}).on("click.bs.dropdown.data-api", o, s.prototype.toggle).on("keydown.bs.dropdown.data-api", o + ", [role=menu]", s.prototype.keydown)
}(window.jQuery), +function(t) {
"use strict";
var e = function(e, i) {
this.options = i, this.$element = t(e), this.$backdrop = this.isShown = null, this.options.remote && this.$element.load(this.options.remote)
};
e.DEFAULTS = {backdrop: !0, keyboard: !0, show: !0}, e.prototype.toggle = function(t) {
return this[this.isShown ? "hide" : "show"](t)
}, e.prototype.show = function(e) {
var i = this, n = t.Event("show.bs.modal", {relatedTarget: e});
this.$element.trigger(n), this.isShown || n.isDefaultPrevented() || (this.isShown = !0, this.escape(), this.$element.on("click.dismiss.modal", '[data-dismiss="modal"]', t.proxy(this.hide, this)), this.backdrop(function() {
var n = t.support.transition && i.$element.hasClass("fade");
i.$element.parent().length || i.$element.appendTo(document.body), i.$element.show(), n && i.$element[0].offsetWidth, i.$element.addClass("in").attr("aria-hidden", !1), i.enforceFocus();
var o = t.Event("shown.bs.modal", {relatedTarget: e});
n ? i.$element.find(".modal-dialog").one(t.support.transition.end,function() {
i.$element.focus().trigger(o)
}).emulateTransitionEnd(300) : i.$element.focus().trigger(o)
}))
}, e.prototype.hide = function(e) {
e && e.preventDefault(), e = t.Event("hide.bs.modal"), this.$element.trigger(e), this.isShown && !e.isDefaultPrevented() && (this.isShown = !1, this.escape(), t(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.modal"), t.support.transition && this.$element.hasClass("fade") ? this.$element.one(t.support.transition.end, t.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal())
}, e.prototype.enforceFocus = function() {
t(document).off("focusin.bs.modal").on("focusin.bs.modal", t.proxy(function(t) {
this.$element[0] === t.target || this.$element.has(t.target).length || this.$element.focus()
}, this))
}, e.prototype.escape = function() {
this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.bs.modal", t.proxy(function(t) {
27 == t.which && this.hide()
}, this)) : this.isShown || this.$element.off("keyup.dismiss.bs.modal")
}, e.prototype.hideModal = function() {
var t = this;
this.$element.hide(), this.backdrop(function() {
t.removeBackdrop(), t.$element.trigger("hidden.bs.modal")
})
}, e.prototype.removeBackdrop = function() {
this.$backdrop && this.$backdrop.remove(), this.$backdrop = null
}, e.prototype.backdrop = function(e) {
var i = this.$element.hasClass("fade") ? "fade" : "";
if (this.isShown && this.options.backdrop) {
var n = t.support.transition && i;
if (this.$backdrop = t('<div class="modal-backdrop ' + i + '" />').appendTo(document.body), this.$element.on("click.dismiss.modal", t.proxy(function(t) {
t.target === t.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this))
}, this)), n && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !e)return;
n ? this.$backdrop.one(t.support.transition.end, e).emulateTransitionEnd(150) : e()
} else!this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), t.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(t.support.transition.end, e).emulateTransitionEnd(150) : e()) : e && e()
};
var i = t.fn.modal;
t.fn.modal = function(i, n) {
return this.each(function() {
var o = t(this), s = o.data("bs.modal"), a = t.extend({}, e.DEFAULTS, o.data(), "object" == typeof i && i);
s || o.data("bs.modal", s = new e(this, a)), "string" == typeof i ? s[i](n) : a.show && s.show(n)
})
}, t.fn.modal.Constructor = e, t.fn.modal.noConflict = function() {
return t.fn.modal = i, this
}, t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(e) {
var i = t(this), n = i.attr("href"), o = t(i.attr("data-target") || n && n.replace(/.*(?=#[^\s]+$)/, "")), s = o.data("modal") ? "toggle" : t.extend({remote: !/#/.test(n) && n}, o.data(), i.data());
e.preventDefault(), o.modal(s, this).one("hide", function() {
i.is(":visible") && i.focus()
})
}), t(document).on("show.bs.modal", ".modal",function() {
t(document.body).addClass("modal-open")
}).on("hidden.bs.modal", ".modal", function() {
t(document.body).removeClass("modal-open")
})
}(window.jQuery), +function(t) {
"use strict";
var e = function(t, e) {
this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init("tooltip", t, e)
};
e.DEFAULTS = {animation: !0, placement: "top", selector: !1, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1}, e.prototype.init = function(e, i, n) {
this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(n);
for (var o = this.options.trigger.split(" "), s = o.length; s--;) {
var a = o[s];
if ("click" == a)this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this)); else if ("manual" != a) {
var r = "hover" == a ? "mouseenter" : "focus", l = "hover" == a ? "mouseleave" : "blur";
this.$element.on(r + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this))
}
}
this.options.selector ? this._options = t.extend({}, this.options, {trigger: "manual", selector: ""}) : this.fixTitle()
}, e.prototype.getDefaults = function() {
return e.DEFAULTS
}, e.prototype.getOptions = function(e) {
return e = t.extend({}, this.getDefaults(), this.$element.data(), e), e.delay && "number" == typeof e.delay && (e.delay = {show: e.delay, hide: e.delay}), e
}, e.prototype.getDelegateOptions = function() {
var e = {}, i = this.getDefaults();
return this._options && t.each(this._options, function(t, n) {
i[t] != n && (e[t] = n)
}), e
}, e.prototype.enter = function(e) {
var i = e instanceof this.constructor ? e : t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
return clearTimeout(i.timeout), i.hoverState = "in", i.options.delay && i.options.delay.show ? void(i.timeout = setTimeout(function() {
"in" == i.hoverState && i.show()
}, i.options.delay.show)) : i.show()
}, e.prototype.leave = function(e) {
var i = e instanceof this.constructor ? e : t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
return clearTimeout(i.timeout), i.hoverState = "out", i.options.delay && i.options.delay.hide ? void(i.timeout = setTimeout(function() {
"out" == i.hoverState && i.hide()
}, i.options.delay.hide)) : i.hide()
}, e.prototype.show = function() {
var e = t.Event("show.bs." + this.type);
if (this.hasContent() && this.enabled) {
if (this.$element.trigger(e), e.isDefaultPrevented())return;
var i = this.tip();
this.setContent(), this.options.animation && i.addClass("fade");
var n = "function" == typeof this.options.placement ? this.options.placement.call(this, i[0], this.$element[0]) : this.options.placement, o = /\s?auto?\s?/i, s = o.test(n);
s && (n = n.replace(o, "") || "top"), i.detach().css({top: 0, left: 0, display: "block"}).addClass(n), this.options.container ? i.appendTo(this.options.container) : i.insertAfter(this.$element);
var a = this.getPosition(), r = i[0].offsetWidth, l = i[0].offsetHeight;
if (s) {
var h = this.$element.parent(), c = n, p = document.documentElement.scrollTop || document.body.scrollTop, f = "body" == this.options.container ? window.innerWidth : h.outerWidth(), u = "body" == this.options.container ? window.innerHeight : h.outerHeight(), d = "body" == this.options.container ? 0 : h.offset().left;
n = "bottom" == n && a.top + a.height + l - p > u ? "top" : "top" == n && a.top - p - l < 0 ? "bottom" : "right" == n && a.right + r > f ? "left" : "left" == n && a.left - r < d ? "right" : n, i.removeClass(c).addClass(n)
}
var v = this.getCalculatedOffset(n, a, r, l);
this.applyPlacement(v, n), this.$element.trigger("shown.bs." + this.type)
}
}, e.prototype.applyPlacement = function(t, e) {
var i, n = this.tip(), o = n[0].offsetWidth, s = n[0].offsetHeight, a = parseInt(n.css("margin-top"), 10), r = parseInt(n.css("margin-left"), 10);
isNaN(a) && (a = 0), isNaN(r) && (r = 0), t.top = t.top + a, t.left = t.left + r, n.offset(t).addClass("in");
var l = n[0].offsetWidth, h = n[0].offsetHeight;
if ("top" == e && h != s && (i = !0, t.top = t.top + s - h), /bottom|top/.test(e)) {
var c = 0;
t.left < 0 && (c = -2 * t.left, t.left = 0, n.offset(t), l = n[0].offsetWidth, h = n[0].offsetHeight), this.replaceArrow(c - o + l, l, "left")
} else this.replaceArrow(h - s, h, "top");
i && n.offset(t)
}, e.prototype.replaceArrow = function(t, e, i) {
this.arrow().css(i, t ? 50 * (1 - t / e) + "%" : "")
}, e.prototype.setContent = function() {
var t = this.tip(), e = this.getTitle();
t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right")
}, e.prototype.hide = function() {
function e() {
"in" != i.hoverState && n.detach()
}
var i = this, n = this.tip(), o = t.Event("hide.bs." + this.type);
return this.$element.trigger(o), o.isDefaultPrevented() ? void 0 : (n.removeClass("in"), t.support.transition && this.$tip.hasClass("fade") ? n.one(t.support.transition.end, e).emulateTransitionEnd(150) : e(), this.$element.trigger("hidden.bs." + this.type), this)
}, e.prototype.fixTitle = function() {
var t = this.$element;
(t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "")
}, e.prototype.hasContent = function() {
return this.getTitle()
}, e.prototype.getPosition = function() {
var e = this.$element[0];
return t.extend({}, "function" == typeof e.getBoundingClientRect ? e.getBoundingClientRect() : {width: e.offsetWidth, height: e.offsetHeight}, this.$element.offset())
}, e.prototype.getCalculatedOffset = function(t, e, i, n) {
return"bottom" == t ? {top: e.top + e.height, left: e.left + e.width / 2 - i / 2} : "top" == t ? {top: e.top - n, left: e.left + e.width / 2 - i / 2} : "left" == t ? {top: e.top + e.height / 2 - n / 2, left: e.left - i} : {top: e.top + e.height / 2 - n / 2, left: e.left + e.width}
}, e.prototype.getTitle = function() {
var t, e = this.$element, i = this.options;
return t = e.attr("data-original-title") || ("function" == typeof i.title ? i.title.call(e[0]) : i.title)
}, e.prototype.tip = function() {
return this.$tip = this.$tip || t(this.options.template)
}, e.prototype.arrow = function() {
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
}, e.prototype.validate = function() {
this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)
}, e.prototype.enable = function() {
this.enabled = !0
}, e.prototype.disable = function() {
this.enabled = !1
}, e.prototype.toggleEnabled = function() {
this.enabled = !this.enabled
}, e.prototype.toggle = function(e) {
var i = e ? t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type) : this;
i.tip().hasClass("in") ? i.leave(i) : i.enter(i)
}, e.prototype.destroy = function() {
this.hide().$element.off("." + this.type).removeData("bs." + this.type)
};
var i = t.fn.tooltip;
t.fn.tooltip = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.tooltip"), s = "object" == typeof i && i;
o || n.data("bs.tooltip", o = new e(this, s)), "string" == typeof i && o[i]()
})
}, t.fn.tooltip.Constructor = e, t.fn.tooltip.noConflict = function() {
return t.fn.tooltip = i, this
}
}(window.jQuery), +function(t) {
"use strict";
var e = function(t, e) {
this.init("popover", t, e)
};
if (!t.fn.tooltip)throw new Error("Popover requires tooltip.js");
e.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, {placement: "right", trigger: "click", content: "", template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}), e.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype), e.prototype.constructor = e, e.prototype.getDefaults = function() {
return e.DEFAULTS
}, e.prototype.setContent = function() {
var t = this.tip(), e = this.getTitle(), i = this.getContent();
t.find(".popover-title")[this.options.html ? "html" : "text"](e), t.find(".popover-content")[this.options.html ? "html" : "text"](i), t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide()
}, e.prototype.hasContent = function() {
return this.getTitle() || this.getContent()
}, e.prototype.getContent = function() {
var t = this.$element, e = this.options;
return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content)
}, e.prototype.arrow = function() {
return this.$arrow = this.$arrow || this.tip().find(".arrow")
}, e.prototype.tip = function() {
return this.$tip || (this.$tip = t(this.options.template)), this.$tip
};
var i = t.fn.popover;
t.fn.popover = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.popover"), s = "object" == typeof i && i;
o || n.data("bs.popover", o = new e(this, s)), "string" == typeof i && o[i]()
})
}, t.fn.popover.Constructor = e, t.fn.popover.noConflict = function() {
return t.fn.popover = i, this
}
}(window.jQuery), +function(t) {
"use strict";
function e(i, n) {
var o, s = t.proxy(this.process, this);
this.$element = t(t(i).is("body") ? window : i), this.$body = t("body"), this.$scrollElement = this.$element.on("scroll.bs.scroll-spy.data-api", s), this.options = t.extend({}, e.DEFAULTS, n), this.selector = (this.options.target || (o = t(i).attr("href")) && o.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.offsets = t([]), this.targets = t([]), this.activeTarget = null, this.refresh(), this.process()
}
e.DEFAULTS = {offset: 10}, e.prototype.refresh = function() {
var e = this.$element[0] == window ? "offset" : "position";
this.offsets = t([]), this.targets = t([]);
var i = this;
this.$body.find(this.selector).map(function() {
var n = t(this), o = n.data("target") || n.attr("href"), s = /^#\w/.test(o) && t(o);
return s && s.length && [
[s[e]().top + (!t.isWindow(i.$scrollElement.get(0)) && i.$scrollElement.scrollTop()), o]
] || null
}).sort(function(t, e) {
return t[0] - e[0]
}).each(function() {
i.offsets.push(this[0]), i.targets.push(this[1])
})
}, e.prototype.process = function() {
var t, e = this.$scrollElement.scrollTop() + this.options.offset, i = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight, n = i - this.$scrollElement.height(), o = this.offsets, s = this.targets, a = this.activeTarget;
if (e >= n)return a != (t = s.last()[0]) && this.activate(t);
for (t = o.length; t--;)a != s[t] && e >= o[t] && (!o[t + 1] || e <= o[t + 1]) && this.activate(s[t])
}, e.prototype.activate = function(e) {
this.activeTarget = e, t(this.selector).parents(".active").removeClass("active");
var i = this.selector + '[data-target="' + e + '"],' + this.selector + '[href="' + e + '"]', n = t(i).parents("li").addClass("active");
n.parent(".dropdown-menu").length && (n = n.closest("li.dropdown").addClass("active")), n.trigger("activate")
};
var i = t.fn.scrollspy;
t.fn.scrollspy = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.scrollspy"), s = "object" == typeof i && i;
o || n.data("bs.scrollspy", o = new e(this, s)), "string" == typeof i && o[i]()
})
}, t.fn.scrollspy.Constructor = e, t.fn.scrollspy.noConflict = function() {
return t.fn.scrollspy = i, this
}, t(window).on("load", function() {
t('[data-spy="scroll"]').each(function() {
var e = t(this);
e.scrollspy(e.data())
})
})
}(window.jQuery), +function(t) {
"use strict";
var e = function(e) {
this.element = t(e)
};
e.prototype.show = function() {
var e = this.element, i = e.closest("ul:not(.dropdown-menu)"), n = e.attr("data-target");
if (n || (n = e.attr("href"), n = n && n.replace(/.*(?=#[^\s]*$)/, "")), !e.parent("li").hasClass("active")) {
var o = i.find(".active:last a")[0], s = t.Event("show.bs.tab", {relatedTarget: o});
if (e.trigger(s), !s.isDefaultPrevented()) {
var a = t(n);
this.activate(e.parent("li"), i), this.activate(a, a.parent(), function() {
e.trigger({type: "shown.bs.tab", relatedTarget: o})
})
}
}
}, e.prototype.activate = function(e, i, n) {
function o() {
s.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), e.addClass("active"), a ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"), e.parent(".dropdown-menu") && e.closest("li.dropdown").addClass("active"), n && n()
}
var s = i.find("> .active"), a = n && t.support.transition && s.hasClass("fade");
a ? s.one(t.support.transition.end, o).emulateTransitionEnd(150) : o(), s.removeClass("in")
};
var i = t.fn.tab;
t.fn.tab = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.tab");
o || n.data("bs.tab", o = new e(this)), "string" == typeof i && o[i]()
})
}, t.fn.tab.Constructor = e, t.fn.tab.noConflict = function() {
return t.fn.tab = i, this
}, t(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function(e) {
e.preventDefault(), t(this).tab("show")
})
}(window.jQuery), +function(t) {
"use strict";
var e = function(i, n) {
this.options = t.extend({}, e.DEFAULTS, n), this.$window = t(window).on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", t.proxy(this.checkPositionWithEventLoop, this)), this.$element = t(i), this.affixed = this.unpin = null, this.checkPosition()
};
e.RESET = "affix affix-top affix-bottom", e.DEFAULTS = {offset: 0}, e.prototype.checkPositionWithEventLoop = function() {
setTimeout(t.proxy(this.checkPosition, this), 1)
}, e.prototype.checkPosition = function() {
if (this.$element.is(":visible")) {
var i = t(document).height(), n = this.$window.scrollTop(), o = this.$element.offset(), s = this.options.offset, a = s.top, r = s.bottom;
"object" != typeof s && (r = a = s), "function" == typeof a && (a = s.top()), "function" == typeof r && (r = s.bottom());
var l = null != this.unpin && n + this.unpin <= o.top ? !1 : null != r && o.top + this.$element.height() >= i - r ? "bottom" : null != a && a >= n ? "top" : !1;
this.affixed !== l && (this.unpin && this.$element.css("top", ""), this.affixed = l, this.unpin = "bottom" == l ? o.top - n : null, this.$element.removeClass(e.RESET).addClass("affix" + (l ? "-" + l : "")), "bottom" == l && this.$element.offset({top: document.body.offsetHeight - r - this.$element.height()}))
}
};
var i = t.fn.affix;
t.fn.affix = function(i) {
return this.each(function() {
var n = t(this), o = n.data("bs.affix"), s = "object" == typeof i && i;
o || n.data("bs.affix", o = new e(this, s)), "string" == typeof i && o[i]()
})
}, t.fn.affix.Constructor = e, t.fn.affix.noConflict = function() {
return t.fn.affix = i, this
}, t(window).on("load", function() {
t('[data-spy="affix"]').each(function() {
var e = t(this), i = e.data();
i.offset = i.offset || {}, i.offsetBottom && (i.offset.bottom = i.offsetBottom), i.offsetTop && (i.offset.top = i.offsetTop), e.affix(i)
})
})
}(window.jQuery), /*!
* mustache.js - Logic-less {{mustache}} templates with JavaScript
* http://github.com/janl/mustache.js
*/
function(t, e) {
if ("object" == typeof exports && exports)e(exports); else {
var i = {};
e(i), "function" == typeof define && define.amd ? define(i) : t.Mustache = i
}
}(this, function(t) {
function e(t, e) {
return b.call(t, e)
}
function i(t) {
return!e(v, t)
}
function n(t) {
return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
}
function o(t) {
return String(t).replace(/[&<>"'\/]/g, function(t) {
return C[t]
})
}
function s(t) {
this.string = t, this.tail = t, this.pos = 0
}
function a(t, e) {
this.view = t || {}, this.parent = e, this._cache = {}
}
function r() {
this.clearCache()
}
function l(e, i, n, o) {
for (var s, a, r, h = "", c = 0, p = e.length; p > c; ++c)switch (s = e[c], a = s[1], s[0]) {
case"#":
if (r = n.lookup(a), "object" == typeof r)if ($(r))for (var f = 0, u = r.length; u > f; ++f)h += l(s[4], i, n.push(r[f]), o); else r && (h += l(s[4], i, n.push(r), o)); else if ("function" == typeof r) {
var d = null == o ? null : o.slice(s[3], s[5]);
r = r.call(n.view, d, function(t) {
return i.render(t, n)
}), null != r && (h += r)
} else r && (h += l(s[4], i, n, o));
break;
case"^":
r = n.lookup(a), (!r || $(r) && 0 === r.length) && (h += l(s[4], i, n, o));
break;
case">":
r = i.getPartial(a), "function" == typeof r && (h += r(n));
break;
case"&":
r = n.lookup(a), null != r && (h += r);
break;
case"name":
r = n.lookup(a), null != r && (h += t.escape(r));
break;
case"text":
h += a
}
return h
}
function h(t) {
for (var e, i = [], n = i, o = [], s = 0, a = t.length; a > s; ++s)switch (e = t[s], e[0]) {
case"#":
case"^":
o.push(e), n.push(e), n = e[4] = [];
break;
case"/":
var r = o.pop();
r[5] = e[2], n = o.length > 0 ? o[o.length - 1][4] : i;
break;
default:
n.push(e)
}
return i
}
function c(t) {
for (var e, i, n = [], o = 0, s = t.length; s > o; ++o)e = t[o], e && ("text" === e[0] && i && "text" === i[0] ? (i[1] += e[1], i[3] = e[3]) : (i = e, n.push(e)));
return n
}
function p(t) {
return[new RegExp(n(t[0]) + "\\s*"), new RegExp("\\s*" + n(t[1]))]
}
function f(e, o) {
function a() {
if (T && !E)for (; x.length;)delete k[x.pop()]; else x = [];
T = !1, E = !1
}
if (e = e || "", o = o || t.tags, "string" == typeof o && (o = o.split(d)), 2 !== o.length)throw new Error("Invalid tags: " + o.join(", "));
for (var r, l, f, v, b, w = p(o), $ = new s(e), C = [], k = [], x = [], T = !1, E = !1; !$.eos();) {
if (r = $.pos, f = $.scanUntil(w[0]))for (var D = 0, S = f.length; S > D; ++D)v = f.charAt(D), i(v) ? x.push(k.length) : E = !0, k.push(["text", v, r, r + 1]), r += 1, "\n" == v && a();
if (!$.scan(w[0]))break;
if (T = !0, l = $.scan(y) || "name", $.scan(u), "=" === l ? (f = $.scanUntil(m), $.scan(m), $.scanUntil(w[1])) : "{" === l ? (f = $.scanUntil(new RegExp("\\s*" + n("}" + o[1]))), $.scan(g), $.scanUntil(w[1]), l = "&") : f = $.scanUntil(w[1]), !$.scan(w[1]))throw new Error("Unclosed tag at " + $.pos);
if (b = [l, f, r, $.pos], k.push(b), "#" === l || "^" === l)C.push(b); else if ("/" === l) {
if (0 === C.length)throw new Error('Unopened section "' + f + '" at ' + r);
var j = C.pop();
if (j[1] !== f)throw new Error('Unclosed section "' + j[1] + '" at ' + r)
} else if ("name" === l || "{" === l || "&" === l)E = !0; else if ("=" === l) {
if (o = f.split(d), 2 !== o.length)throw new Error("Invalid tags at " + r + ": " + o.join(", "));
w = p(o)
}
}
var j = C.pop();
if (j)throw new Error('Unclosed section "' + j[1] + '" at ' + $.pos);
return k = c(k), h(k)
}
var u = /\s*/, d = /\s+/, v = /\S/, m = /\s*=/, g = /\s*\}/, y = /#|\^|\/|>|\{|&|=|!/, b = RegExp.prototype.test, w = Object.prototype.toString, $ = Array.isArray || function(t) {
return"[object Array]" === w.call(t)
}, C = {"&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#x2F;"};
s.prototype.eos = function() {
return"" === this.tail
}, s.prototype.scan = function(t) {
var e = this.tail.match(t);
return e && 0 === e.index ? (this.tail = this.tail.substring(e[0].length), this.pos += e[0].length, e[0]) : ""
}, s.prototype.scanUntil = function(t) {
var e, i = this.tail.search(t);
switch (i) {
case-1:
e = this.tail, this.pos += this.tail.length, this.tail = "";
break;
case 0:
e = "";
break;
default:
e = this.tail.substring(0, i), this.tail = this.tail.substring(i), this.pos += i
}
return e
}, a.make = function(t) {
return t instanceof a ? t : new a(t)
}, a.prototype.push = function(t) {
return new a(t, this)
}, a.prototype.lookup = function(t) {
var e = this._cache[t];
if (!e) {
if ("." == t)e = this.view; else for (var i = this; i;) {
if (t.indexOf(".") > 0) {
e = i.view;
for (var n = t.split("."), o = 0; e && o < n.length;)e = e[n[o++]]
} else e = i.view[t];
if (null != e)break;
i = i.parent
}
this._cache[t] = e
}
return"function" == typeof e && (e = e.call(this.view)), e
}, r.prototype.clearCache = function() {
this._cache = {}, this._partialCache = {}
}, r.prototype.compile = function(e, i) {
var n = this._cache[e];
if (!n) {
var o = t.parse(e, i);
n = this._cache[e] = this.compileTokens(o, e)
}
return n
}, r.prototype.compilePartial = function(t, e, i) {
var n = this.compile(e, i);
return this._partialCache[t] = n, n
}, r.prototype.getPartial = function(t) {
return t in this._partialCache || !this._loadPartial || this.compilePartial(t, this._loadPartial(t)), this._partialCache[t]
}, r.prototype.compileTokens = function(t, e) {
var i = this;
return function(n, o) {
if (o)if ("function" == typeof o)i._loadPartial = o; else for (var s in o)i.compilePartial(s, o[s]);
return l(t, i, a.make(n), e)
}
}, r.prototype.render = function(t, e, i) {
return this.compile(t)(e, i)
}, t.name = "mustache.js", t.version = "0.7.2", t.tags = ["{{", "}}"], t.Scanner = s, t.Context = a, t.Writer = r, t.parse = f, t.escape = o;
var k = new r;
t.clearCache = function() {
return k.clearCache()
}, t.compile = function(t, e) {
return k.compile(t, e)
}, t.compilePartial = function(t, e, i) {
return k.compilePartial(t, e, i)
}, t.compileTokens = function(t, e) {
return k.compileTokens(t, e)
}, t.render = function(t, e, i) {
return k.render(t, e, i)
}, t.to_html = function(e, i, n, o) {
var s = t.render(e, i, n);
return"function" != typeof o ? s : void o(s)
}
}), function(t) {
function e(t) {
var e = t.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);
return e && 11 === e[2].length ? e[2] : !1
}
function i(t, i) {
var n = e(t);
return t && n && (t = "https://www.youtube.com/" + (i ? "embed/" : "v/") + e(t)), t
}
function n(t, e, i, n) {
var o, s;
return n && (o = 'width="' + e + '" height="' + i + '"', s = t ? '<iframe src="' + n + '" ' + o + ' frameborder="0" allowfullscreen>&nbsp;</iframe>' : '<div class="youtube"><object type="application/x-shockwave-flash" ' + o + ' data="' + n + '&modestbranding=1"><param name="movie" value="' + n + '&modestbranding=1" /><param name="wmode" value="transparent" /></object></div>'), s
}
function o() {
var e, o = "", s = t("#video").is(":checked"), a = t("#youtubeAutoplay").is(":checked"), r = t("#youtubeREL").is(":checked"), l = t("#youtubeHD").is(":checked"), h = t("#youtubeWidth").val(), c = t("#youtubeHeight").val(), p = i(t("#youtubeID").val(), s);
return a && (o += "&amp;autoplay=1"), r && (o += "&amp;rel=0"), l && (o += "&amp;hd=1"), p && (e = n(s, h, c, p + (s ? "" : o))), e
}
function s() {
t("#preview").html(n(!0, 420, 315, i(t("#youtubeID").val())))
}
function a(t) {
clearTimeout(h), h = setTimeout(s, t || 1e3)
}
function r() {
var t = o();
t && parent.tinymce.activeEditor.insertContent(t), parent.tinymce.activeEditor.windowManager.close()
}
function l() {
t("#preview").length && t("#youtubeID").keypress(function() {
a()
}).change(function() {
a(100)
})
}
var h;
t(function() {
var e = {youtubeurl: parent.tinymce.util.I18n.translate("Youtube URL"), youtubeID: parent.tinymce.util.I18n.translate("Youtube ID"), youtubeWidth: parent.tinymce.util.I18n.translate("width"), youtubeHeight: parent.tinymce.util.I18n.translate("height"), youtubeAutoplay: parent.tinymce.util.I18n.translate("autoplay"), youtubeHD: parent.tinymce.util.I18n.translate("HD video"), youtubeREL: parent.tinymce.util.I18n.translate("Related video"), HTML5: parent.tinymce.util.I18n.translate("HTML5"), Insert: parent.tinymce.util.I18n.translate("Insert")};
t.get("view/forms.html", function(i) {
t("#template-container").append(Mustache.render(i, e)), l(), t("#insert-btn").on("click", r)
})
})
}(jQuery);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('de',{
'YouTube Title' : "Einfügen von YouTube-Videos",
'Youtube URL' : 'Youtube-Link',
'Youtube ID' : 'Link-Format : http://youtu.be/xxxxxxxx oder http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Breite',
'height' : 'Hoehe',
'autoplay' : 'Automatische Wiedergabe?',
'Related video' : 'Verwandte Videos anzeigen?',
'HD video' : 'In HD abspielen?'
});

View File

@@ -0,0 +1,12 @@
tinymce.addI18n('en',{
'YouTube Title' : "Insert a YouTube Video",
'Youtube URL' : 'Link Sharing',
'Youtube ID' : 'Link format for sharing : http://youtu.be/xxxxxxxx or http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Width',
'height' : 'Height',
'autoplay' : 'Autoplay',
'Related video' : 'Related video',
'HD video' : 'Watch in HD',
'Insert' : 'Insert',
'HTML5' : 'Force HTML5'
});

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('es',{
'YouTube Title' : "Insertar un vídeo de YouTube",
'Youtube URL' : 'Enlace para compartir',
'Youtube ID' : 'Formato de enlace para compartir: http://youtu.be/xxxxxxxx ó http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Ancho',
'height' : 'Alto',
'autoplay' : 'Autoplay',
'Related video' : 'Vídeos relacionados',
'HD video' : 'Ver en HD'
});

View File

@@ -0,0 +1,12 @@
tinymce.addI18n('fr',{
'YouTube Title' : "Insertion d'une vidéo youtube",
'Youtube URL' : 'URL YouTube',
'Youtube ID' : 'Format du lien de partage : http://youtu.be/xxxxxxxx ou http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Largeur',
'height' : 'Hauteur',
'autoplay' : 'Autoplay',
'Related video' : 'Vidéos similaires',
'HD video' : 'Visionner en HD',
'Insert' : 'Insérer',
'HTML5' : 'Forcer HTML5'
});

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('hu', {
'YouTube Title': "Youtube videó beillesztése",
'Youtube URL': 'Link megosztása',
'Youtube ID': 'Link formátuma a megosztáshoz: http://youtu.be/xxxxxxxx vagy http://www.youtube.com/watch?v=xxxxxxxx',
'width': 'Szélesség',
'height': 'Magasság',
'autoplay': 'Automatikus lejátszás',
'Related video': 'Kapcsolód videó',
'HD video': 'HD lejátszás'
});

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('it',{
'YouTube Title' : "Inserisci un video di Youtube",
'Youtube URL' : 'Condividi URL',
'Youtube ID' : 'Formato del link per da condividere : http://youtu.be/xxxxxxxx o http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Larghezza',
'height' : 'Altezza',
'autoplay' : 'Autoplay',
'Related video' : 'Video correlati',
'HD video' : 'Guarda in HD'
});

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('pl',{
'YouTube Title' : "Wstaw film z YouTube",
'Youtube URL' : 'Adres',
'Youtube ID' : 'Format adresu: http://youtu.be/xxxxxxxx lub http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Szeroko\u015B\u0107',
'height' : 'Wysoko\u015B\u0107',
'autoplay' : 'Automatyczne odtwarzanie',
'Related video' : 'Pokazuj sugerowane filmy',
'HD video' : 'Odtwarzaj w HD'
});

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('pt_BR',{
'YouTube Title' : "Inserir um vídeo do Youtube",
'Youtube URL' : 'URL do Youtube',
'Youtube ID' : 'Formato do link : http://youtu.be/xxxxxxxx or http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Largura',
'height' : 'Altura',
'autoplay' : 'Tocar automaticamente',
'Related video' : 'Vídeos relacionados',
'HD video' : 'Assistir em HD'
});

View File

@@ -0,0 +1,10 @@
tinymce.addI18n('ru',{
'YouTube Title' : "Вставить видео YouTube",
'Youtube URL' : 'Ссылка',
'Youtube ID' : 'Формат ссылки: http://youtu.be/xxxxxxxx или http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Ширина',
'height' : 'Высота',
'autoplay' : 'Автозапуск',
'Related video' : 'Похожие видео',
'HD video' : 'В формате HD'
});

View File

@@ -0,0 +1,51 @@
/*!
# -- BEGIN LICENSE BLOCK ----------------------------------
#
# This file is part of tinyMCE.
# YouTube for tinyMCE
# Copyright (C) 2011 - 2013 Gerits Aurelien <aurelien[at]magix-dev[dot]be> - <contact[at]aurelien-gerits[dot]be>
# 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, either version 3 of the License, or
# (at your option) any later version.
#
# 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 for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# -- END LICENSE BLOCK -----------------------------------
*/
(function (tiny) {
tiny.PluginManager.requireLangPack("youtube");
tiny.PluginManager.add("youtube", function (editor, url) {
function showDialog() {
editor.windowManager.open({
title: "YouTube Title",
file: url + "/youtube.html",
width: 800,
height: 530,
inline: 1,
resizable: true,
maximizable: true
});
}
// Add a button that opens a window
editor.addButton("youtube", {
icon: true,
image: url + "/img/youtube.gif",
tooltip: "Youtube insert",
onclick: showDialog,
onPostRender: function () {
var self = this;
editor.on("NodeChange", function (e) {
self.active(e.element.nodeName === "IMG");
});
}
});
});
}(tinymce));

View File

@@ -0,0 +1,22 @@
/*!
# -- BEGIN LICENSE BLOCK ----------------------------------
#
# This file is part of tinyMCE.
# YouTube for tinyMCE
# Copyright (C) 2011 - 2013 Gerits Aurelien <aurelien[at]magix-dev[dot]be> - <contact[at]aurelien-gerits[dot]be>
# 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, either version 3 of the License, or
# (at your option) any later version.
#
# 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 for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# -- END LICENSE BLOCK -----------------------------------
*/
!function(e){e.PluginManager.requireLangPack("youtube"),e.PluginManager.add("youtube",function(e,n){function i(){e.windowManager.open({title:"YouTube Title",file:n+"/youtube.html",width:800,height:530,inline:1,resizable:!0,maximizable:!0})}e.addButton("youtube",{icon:!0,image:n+"/img/youtube.gif",tooltip:"Youtube insert",onclick:i,onPostRender:function(){var n=this;e.on("NodeChange",function(e){n.active("IMG"===e.element.nodeName)})}})})}(tinymce);

View File

@@ -0,0 +1,65 @@
<form action="#" method="get" class="form-horizontal">
<div class="row">
<div class="col-xs-10">
<div class="form-group">
<label class="col-xs-2 control-label" for="youtubeID" id="youtubeurl">{{youtubeurl}}:</label>
<div class="col-xs-10">
<input class="form-control" id="youtubeID" name="youtubeID" type="text" />
<p class="help-block alert alert-info">{{youtubeID}}</p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-10">
<div class="form-group">
<label class="col-xs-2 control-label" for="youtubeWidth">{{youtubeWidth}}:</label>
<div class="col-xs-2">
<input class="form-control" id="youtubeWidth" name="youtubeWidth" type="text" value="640" />
</div>
<label class="col-xs-2 control-label" for="youtubeHeight">{{youtubeHeight}}:</label>
<div class="col-xs-2">
<input class="form-control" id="youtubeHeight" name="youtubeHeight" type="text" value="385">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="checkbox-inline">
<label>
<input type="checkbox" id="youtubeAutoplay" name="youtubeAutoplay" value="1">
{{youtubeAutoplay}}
</label>
</div>
<div class="checkbox-inline">
<label>
<input type="checkbox" id="youtubeREL" name="youtubeREL" value="1">
{{youtubeREL}}
</label>
</div>
<div class="checkbox-inline">
<label>
<input type="checkbox" id="youtubeHD" name="youtubeHD" value="1">
{{youtubeHD}}
</label>
</div>
<div class="checkbox-inline">
<label>
<input type="checkbox" id="video" name="video" value="1">
{{HTML5}}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-11">
<div class="col-xs-9">
<div id="preview" class="thumbnail pull-left"></div>
</div>
<div class="col-xs-3">
<button id="insert-btn" class="btn btn-primary btn-lg btn-block" type="button">{{Insert}}</button>
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>YouTube</title>
<link href="./css/styles.css" rel="stylesheet">
<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="./js/vendor/jquery.js"><\/script>')</script>
<script src="./js/main.js"></script>
</head>
<body>
<div class="container">
<div class="row" id="template-container"></div>
</div>
</body>
</html>