(function() {
tinymce.create('tinymce.plugins.Wpfc', {
wpfcNotHTML : '',
url: '',
init : function(ed, url) {
var self = this;
self.setUrl(url);
self.setWpfcNotHTML();
ed.addButton('wpfc', {
title : 'Block caching for this page',
cmd : 'wpfc',
image : self.url + "/icon.png"
});
ed.addCommand('wpfc', function() {
ed.execCommand('mceInsertContent', 0, self.wpfcNotHTML);
});
self._handleWpfcNOT(ed, url);
},
setUrl: function(url){
this.url = url.replace("../js","../images");
},
setWpfcNotHTML: function(){
this.wpfcNotHTML = '
';
},
_handleWpfcNOT : function(ed, url) {
var self = this;
ed.onPostRender.add(function() {
if (ed.theme.onResolveName) {
ed.theme.onResolveName.add(function(th, o) {
if (o.node.nodeName == 'IMG') {
if ( ed.dom.hasClass(o.node, 'mce-wp-wpfcnot') ){
o.name = 'wpfcnot';
}
}
});
}
});
ed.onBeforeSetContent.add(function(ed, o) {
if ( o.content ) {
o.content = o.content.replace(/<\!--\s*\[wpfcNOT\]\s*-->/, self.wpfcNotHTML);
}
});
ed.onPostProcess.add(function(ed, o) {
if (o.get){
o.content = o.content.replace(/
]+>/g, function(im) {
if (im.indexOf('class="mce-wp-wpfcnot') !== -1) {
im = '';
}
return im;
});
}
});
}
});
tinymce.PluginManager.add( 'wpfc', tinymce.plugins.Wpfc );
})();