CKEDITOR.plugins.add( 'polls', { requires: 'dialog,fakeobjects', icons: 'polls', init: function( editor ) { editor.addCommand( 'polls', new CKEDITOR.dialogCommand( 'pollsDialog' ) ); editor.ui.addButton( 'Pulls', { label: 'Вставить опрос', command: 'polls', toolbar: 'insert', icon : this.path + 'icons/polls.png' }); if ( editor.contextMenu ) { // alert(this.path + 'icons/polls.png'); // editor.addMenuGroup( 'pollGroup' ); editor.addMenuItem( 'pollsItem', { label: 'Редактировать опрос ', icon: this.path + 'icons/polls.png', command: 'polls', group: 'others' }); editor.on( 'doubleclick', function( evt ) { var element = evt.data.element; if ( $(element).attr('id') == 'widgetpolls' ) evt.data.dialog = 'pollsDialog'; } ); editor.contextMenu.addListener( function( element ) { if ( element.getAscendant( 'polls', true ) ) { return { pollsItem: CKEDITOR.TRISTATE_OFF }; } }); } CKEDITOR.dialog.add( 'pollsDialog', this.path + 'dialogs/polls.js' ); } });