Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.585.2.23 diff -u -p -r1.585.2.23 system.module --- modules/system/system.module 22 Oct 2008 19:36:26 -0000 1.585.2.23 +++ modules/system/system.module 30 Nov 2008 00:26:16 -0000 @@ -1419,6 +1419,7 @@ function system_actions_manage_form_subm * Form definition. */ function system_actions_configure($form_state, $action = NULL) { + global $language; if ($action === NULL) { drupal_goto('admin/settings/actions'); } @@ -1437,8 +1438,8 @@ function system_actions_configure($form_ $function = $data->callback; $action = md5($data->callback); $params = unserialize($data->parameters); - if ($params) { - foreach ($params as $name => $val) { + if ($params[$language->language]) { + foreach ($params[$language->language] as $name => $val) { $edit[$name] = $val; } } @@ -1502,13 +1503,21 @@ function system_actions_configure_valida * Process system_actions_configure form submissions. */ function system_actions_configure_submit($form, &$form_state) { + global $language; + $function = actions_function_lookup($form_state['values']['actions_action']); $submit_function = $function .'_submit'; - // Action will return keyed array of values to store. - $params = $submit_function($form, $form_state); $aid = isset($form_state['values']['actions_aid']) ? $form_state['values']['actions_aid'] : NULL; + if ($aid) { + $action = actions_load($aid); + $params = unserialize($action->parameters); + } + + // Action will return keyed array of values to store. + $params[$language->language] = $submit_function($form, $form_state); + actions_save($function, $form_state['values']['actions_type'], $params, $form_state['values']['actions_description'], $aid); drupal_set_message(t('The action has been successfully saved.'));