Index: wysiwyg.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg.admin.inc,v retrieving revision 1.23 diff -u -p -r1.23 wysiwyg.admin.inc --- wysiwyg.admin.inc 7 Feb 2010 14:49:45 -0000 1.23 +++ wysiwyg.admin.inc 14 Jun 2010 13:11:35 -0000 @@ -319,6 +319,7 @@ function wysiwyg_profile_form_submit($fo db_query("UPDATE {wysiwyg} SET settings = :settings WHERE format = :format", array(':settings' => serialize($values), ':format' => $format)); drupal_set_message(t('Wysiwyg profile for %format has been saved.', array('%format' => $input_format))); + cache_clear_all('wysiwyg_profiles', 'cache'); $form_state['redirect'] = 'admin/config/content/wysiwyg'; } Index: wysiwyg.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wysiwyg/wysiwyg.module,v retrieving revision 1.45 diff -u -p -r1.45 wysiwyg.module --- wysiwyg.module 20 Mar 2010 14:54:29 -0000 1.45 +++ wysiwyg.module 14 Jun 2010 13:11:35 -0000 @@ -575,12 +575,16 @@ function wysiwyg_get_css() { function wysiwyg_profile_load($format) { static $profiles; - if (!isset($profiles) || !array_key_exists($format, $profiles)) { - $result = db_query('SELECT format, editor, settings FROM {wysiwyg} WHERE format = :format', array(':format' => $format)); + if ($cached = cache_get('wysywig_profiles')) { + $profiles = $cached->data; + } + else { + $result = db_query('SELECT format, editor, settings FROM {wysiwyg}'); foreach ($result as $profile) { $profile->settings = unserialize($profile->settings); - $profiles[$profile->format] = $profile; + $profiles[$profile->format] = $profile; } + cache_set('wysywig_profiles', $profiles); } return (isset($profiles[$format]) ? $profiles[$format] : FALSE);