tinymce.create('tinymce.plugins.XenForoSmilies', {
addButtons : function (theme, tb)
{
var smilies = theme.settings.xenforo_smilies,
controlManager = theme.editor.controlManager,
editor = theme.editor,
button, DOM = tinymce.DOM;
if (typeof smilies === 'undefined' || smilies.length === 0 || smilies === {})
{
return;
}
button = controlManager.createSplitButton('xenforo_smilies', {
title : 'xenforo.smilies_desc',
image : theme.settings.xenforo_smilies_menu_image,
icons : false,
onclick : function() { button.showMenu(); }
});
button.onRenderMenu.add(function(menubutton, menu)
{
tinymce.each(smilies, function(smilie, smilieName)
{
menu.add({
title : '<img src="' + DOM.encode(smilie[1]) + '" /> ' + DOM.encode(smilie[0]),
onclick : function()
{
editor.execCommand('mceInsertContent', false,
'<img src="' + DOM.encode(smilie[1]) + '" alt="' + DOM.encode(smilieName) + '" class="smilie" data-smilie="yes" />'
);
}
});
});
// need this to run after the render has happend
setTimeout(function()
{
var menuNode = DOM.get('menu_' + menu.id);
if (menuNode)
{
$('.mceText[title]', menuNode).each(function()
{
$(this).attr('title', '');
});
}
}, 50);
});
tb.add(button);
},
getInfo : function()
{
return {
longname : 'XenForo Smilies',
author : '',
version : '1.0'
};
}
});