Index: wysiwyg_editor.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg_editor.admin.inc,v retrieving revision 1.1.2.19 diff -u -p -r1.1.2.19 wysiwyg_editor.admin.inc --- wysiwyg_editor.admin.inc 5 Oct 2008 16:57:54 -0000 1.1.2.19 +++ wysiwyg_editor.admin.inc 7 Oct 2008 12:59:59 -0000 @@ -221,18 +221,16 @@ function wysiwyg_editor_profile_form($pr foreach ($plugins as $name => $meta) { if (isset($meta['buttons']) && is_array($meta['buttons'])) { foreach ($meta['buttons'] as $button => $title) { - $img_src = $meta['path'] ."/images/$name.gif"; + // @todo Button icon locations are different in editors, editor versions, + // and contrib/custom plugins (like Image Assist, f.e.). + $img_src = $meta['path'] ."/img/$name.gif"; // Handle plugins that have more than one button. if (!file_exists($img_src)) { - $img_src = $meta['path'] ."/images/$button.gif"; + $img_src = $meta['path'] ."/img/$button.gif"; } $icon = file_exists($img_src) ? '' : ''; - if (isset($meta['url'])) { - $title = $icon .' '. l($title, $meta['url'], array('target' => '_blank')); - } - else { - $title = $icon .' '. $title; - } + $title = (isset($meta['url']) ? l($title, $meta['url'], array('target' => '_blank')) : $title); + $title = (!empty($icon) ? $icon .' '. $title : $title); $form['buttons'][$name][$button] = array( '#type' => 'checkbox', '#title' => $title, @@ -242,15 +240,9 @@ function wysiwyg_editor_profile_form($pr } else if (isset($meta['extensions']) && is_array($meta['extensions'])) { foreach ($meta['extensions'] as $extension => $title) { - if (isset($meta['url'])) { - $title = l($title, $meta['url'], array('target' => '_blank')); - } - else { - $title = $title; - } $form['buttons'][$name][$extension] = array( '#type' => 'checkbox', - '#title' => $title, + '#title' => isset($meta['url']) ? l($title, $meta['url'], array('target' => '_blank')) : $title, '#default_value' => !empty($profile->settings['buttons'][$name][$extension]) ? $profile->settings['buttons'][$name][$extension] : FALSE, ); } Index: wysiwyg_editor.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg_editor.module,v retrieving revision 1.1.2.26 diff -u -p -r1.1.2.26 wysiwyg_editor.module --- wysiwyg_editor.module 5 Oct 2008 21:01:47 -0000 1.1.2.26 +++ wysiwyg_editor.module 7 Oct 2008 13:33:29 -0000 @@ -279,6 +279,12 @@ function wysiwyg_editor_add_plugin_setti $plugins = array(); $editor = wysiwyg_get_editor($profile->settings['editor']); $info = module_invoke_all('wysiwyg_plugin', $editor['name'], $editor['installed version']); + // Only keep enabled plugins in this profile. + foreach ($info as $plugin => $meta) { + if (!isset($profile->settings['buttons'][$plugin])) { + unset($info[$plugin]); + } + } if (isset($editor['plugin settings callback']) && function_exists($editor['plugin settings callback'])) { $plugins = $editor['plugin settings callback']($editor, $profile, $info); Index: editors/js/tinymce-3.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/editors/js/tinymce-3.js,v retrieving revision 1.1.2.2 diff -u -p -r1.1.2.2 tinymce-3.js --- editors/js/tinymce-3.js 5 Oct 2008 21:01:48 -0000 1.1.2.2 +++ editors/js/tinymce-3.js 7 Oct 2008 13:18:40 -0000 @@ -26,10 +26,9 @@ Drupal.wysiwyg.init.tinymce = function(e tinyMCE.init(config); } // @todo Move into global library settings. - // @todo Plugin architecture is completely different in 3.x. -// for (var plugin in Drupal.settings.wysiwygEditor.plugins.tinymce) { -// tinyMCE.loadPlugin(plugin, Drupal.settings.wysiwygEditor.plugins.tinymce[plugin]); -// } + for (var plugin in Drupal.settings.wysiwygEditor.plugins.tinymce) { + tinymce.PluginManager.load(plugin, Drupal.settings.wysiwygEditor.plugins.tinymce[plugin] + '/editor_plugin.js'); + } } /**