Index: install.php =================================================================== RCS file: /cvs/drupal/drupal/install.php,v retrieving revision 1.229 diff -u -p -r1.229 install.php --- install.php 3 Jan 2010 06:58:52 -0000 1.229 +++ install.php 3 Jan 2010 15:53:21 -0000 @@ -918,7 +918,8 @@ function install_settings_form($form, &$ '#description' => st('If more than one application will be sharing this database, enter a table prefix such as %prefix for your @drupal site here.', array('@drupal' => drupal_install_profile_distribution_name(), '%prefix' => $db_prefix)), ); - $form['save'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['save'] = array( '#type' => 'submit', '#value' => st('Save and continue'), ); @@ -1130,7 +1131,8 @@ function install_select_profile_form($fo '#parents' => array('profile'), ); } - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => st('Save and continue'), ); @@ -1260,7 +1262,8 @@ function install_select_locale_form($for '#markup' => '

' . st('Learn how to install Drupal in other languages') . '

', ); } - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => st('Save and continue'), ); @@ -1668,7 +1671,8 @@ function _install_configure_form($form, '#weight' => 15, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => st('Save and continue'), '#weight' => 15, Index: includes/form.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/form.inc,v retrieving revision 1.424 diff -u -p -r1.424 form.inc --- includes/form.inc 2 Jan 2010 23:30:53 -0000 1.424 +++ includes/form.inc 3 Jan 2010 15:53:21 -0000 @@ -2415,17 +2415,20 @@ function form_process_checkboxes($elemen * The processed element. */ function form_process_container($element, &$form_state) { - $element['#id'] = drupal_html_id(implode('-', $element['#parents']) . '-wrapper'); + // Generate the ID of the element if it's not explicitly given. + if (!isset($element['#id'])) { + $element['#id'] = drupal_html_id(implode('-', $element['#parents']) . '-wrapper'); + } return $element; } /** - * Adds a container for grouped items + * Adds a container for grouped items. * - * @param $element - * An associative array containing the properties and children of the - * group. - * Properties used: #id, #attributes, #children. + * @param $variables + * An associative array containing: + * - element: An associative array containing the properties of the element. + * Properties used: #id, #attributes, #children. * @return * A themed HTML string representing the form element. * Index: includes/locale.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/locale.inc,v retrieving revision 1.238 diff -u -p -r1.238 locale.inc --- includes/locale.inc 9 Dec 2009 15:35:48 -0000 1.238 +++ includes/locale.inc 3 Jan 2010 15:53:21 -0000 @@ -72,7 +72,8 @@ function locale_languages_overview_form( '#options' => $options, '#default_value' => language_default('language'), ); - $form['submit'] = array('#type' => 'submit', '#value' => t('Save configuration')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save configuration')); $form['#theme'] = 'locale_languages_overview_form'; return $form; @@ -199,7 +200,8 @@ function locale_languages_predefined_for '#options' => $predefined, '#description' => t('Select the desired language and click the Add language button. (Use the Custom language options if your desired language does not appear in this list.)'), ); - $form['language list']['submit'] = array('#type' => 'submit', '#value' => t('Add language')); + $form['language list']['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['language list']['actions']['submit'] = array('#type' => 'submit', '#value' => t('Add language')); return $form; } @@ -213,7 +215,8 @@ function locale_languages_custom_form($f '#collapsed' => TRUE, ); _locale_languages_common_controls($form['custom language']); - $form['custom language']['submit'] = array( + $form['custom language']['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['custom language']['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Add custom language') ); @@ -232,7 +235,8 @@ function locale_languages_custom_form($f function locale_languages_edit_form($form, &$form_state, $langcode) { if ($language = db_query("SELECT * FROM {languages} WHERE language = :language", array(':language' => $langcode))->fetchObject()) { _locale_languages_common_controls($form, $language); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save language') ); @@ -513,7 +517,8 @@ function locale_languages_configure_form _locale_languages_configure_form_language_table($form, $type); } - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save settings'), ); @@ -1114,7 +1119,6 @@ function locale_translation_filter_form( $form['filters'] = array( '#type' => 'fieldset', '#title' => t('Filter translatable strings'), - '#theme' => 'locale_translation_filters', '#collapsible' => TRUE, '#collapsed' => FALSE, ); @@ -1141,12 +1145,13 @@ function locale_translation_filter_form( } } - $form['filters']['buttons']['submit'] = array( + $form['filters']['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions', 'container-inline'))); + $form['filters']['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Filter'), ); if (!empty($_SESSION['locale_translation_filter'])) { - $form['filters']['buttons']['reset'] = array( + $form['filters']['actions']['reset'] = array( '#type' => 'submit', '#value' => t('Reset') ); Index: modules/aggregator/aggregator.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.admin.inc,v retrieving revision 1.47 diff -u -p -r1.47 aggregator.admin.inc --- modules/aggregator/aggregator.admin.inc 3 Jan 2010 00:44:53 -0000 1.47 +++ modules/aggregator/aggregator.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -470,7 +470,8 @@ function aggregator_admin_form($form, $f // Implementing modules will expect an array at $form['modules']. $form['modules'] = array(); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save configuration'), ); Index: modules/aggregator/aggregator.pages.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.pages.inc,v retrieving revision 1.37 diff -u -p -r1.37 aggregator.pages.inc --- modules/aggregator/aggregator.pages.inc 9 Oct 2009 00:59:55 -0000 1.37 +++ modules/aggregator/aggregator.pages.inc 3 Jan 2010 15:53:21 -0000 @@ -184,7 +184,8 @@ function aggregator_categorize_items($it '#multiple' => TRUE ); } - $form['submit'] = array('#type' => 'submit', '#value' => t('Save categories')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save categories')); return $form; } Index: modules/block/block.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/block/block.admin.inc,v retrieving revision 1.67 diff -u -p -r1.67 block.admin.inc --- modules/block/block.admin.inc 14 Dec 2009 13:32:53 -0000 1.67 +++ modules/block/block.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -102,7 +102,12 @@ function block_admin_display_form($form, // Do not allow disabling the main system content block. unset($form['system_main']['region']['#options'][BLOCK_REGION_NONE]); - $form['submit'] = array( + $form['actions'] = array( + '#tree' => FALSE, + '#type' => 'container', + '#attributes' => array('class' => array('form-actions')), + ); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save blocks'), ); @@ -363,7 +368,8 @@ function block_admin_configure($form, &$ '#default_value' => isset($block->custom) ? $block->custom : 0, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save block'), ); Index: modules/comment/comment.module =================================================================== RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v retrieving revision 1.822 diff -u -p -r1.822 comment.module --- modules/comment/comment.module 26 Dec 2009 16:50:08 -0000 1.822 +++ modules/comment/comment.module 3 Jan 2010 16:02:38 -0000 @@ -1846,13 +1846,14 @@ function comment_form($form, &$form_stat // already previewing the submission. However, if there are form errors, // we hide the save button no matter what, so that optional form elements // (e.g., captchas) can be updated. - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save'), '#access' => ($comment->cid && user_access('administer comments')) || variable_get('comment_preview_' . $node->type, DRUPAL_OPTIONAL) != DRUPAL_REQUIRED || (!form_get_errors() && isset($form_state['comment_preview'])), '#weight' => 19, ); - $form['preview'] = array( + $form['actions']['preview'] = array( '#type' => 'submit', '#value' => t('Preview'), '#access' => (variable_get('comment_preview_' . $node->type, DRUPAL_OPTIONAL) != DRUPAL_DISABLED), Index: modules/contact/contact.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/contact/contact.admin.inc,v retrieving revision 1.19 diff -u -p -r1.19 contact.admin.inc --- modules/contact/contact.admin.inc 28 Dec 2009 11:53:49 -0000 1.19 +++ modules/contact/contact.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -97,7 +97,8 @@ function contact_category_edit_form($for '#type' => 'value', '#value' => $category['cid'], ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save'), ); Index: modules/contact/contact.pages.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/contact/contact.pages.inc,v retrieving revision 1.38 diff -u -p -r1.38 contact.pages.inc --- modules/contact/contact.pages.inc 14 Dec 2009 13:51:57 -0000 1.38 +++ modules/contact/contact.pages.inc 3 Jan 2010 15:53:21 -0000 @@ -101,7 +101,8 @@ function contact_site_form($form, &$form '#title' => t('Send yourself a copy.'), '#access' => $user->uid, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Send message'), ); Index: modules/dblog/dblog.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/dblog/dblog.admin.inc,v retrieving revision 1.32 diff -u -p -r1.32 dblog.admin.inc --- modules/dblog/dblog.admin.inc 2 Dec 2009 14:56:32 -0000 1.32 +++ modules/dblog/dblog.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -274,7 +274,6 @@ function dblog_filter_form($form) { $form['filters'] = array( '#type' => 'fieldset', '#title' => t('Filter log messages'), - '#theme' => 'dblog_filters', '#collapsible' => TRUE, '#collapsed' => empty($session), ); @@ -291,12 +290,16 @@ function dblog_filter_form($form) { } } - $form['filters']['buttons']['submit'] = array( + $form['filters']['actions'] = array( + '#type' => 'container', + '#attributes' => array('class' => array('form-actions', 'container-inline')), + ); + $form['filters']['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Filter'), ); if (!empty($_SESSION['dblog_overview_filter'])) { - $form['filters']['buttons']['reset'] = array( + $form['filters']['actions']['reset'] = array( '#type' => 'submit', '#value' => t('Reset') ); Index: modules/dblog/dblog.css =================================================================== RCS file: /cvs/drupal/drupal/modules/dblog/dblog.css,v retrieving revision 1.7 diff -u -p -r1.7 dblog.css --- modules/dblog/dblog.css 24 Aug 2009 03:11:34 -0000 1.7 +++ modules/dblog/dblog.css 3 Jan 2010 15:53:21 -0000 @@ -11,9 +11,14 @@ */ width: 15em; } -#dblog-filter-form .form-item select.form-select { +#dblog-filter-form .form-type-select select { width: 100%; } +#dblog-filter-form .form-actions { + float: left; + padding: 3ex 0 0 1em; +} + tr.dblog-user { background: #ffd; } Index: modules/dblog/dblog.module =================================================================== RCS file: /cvs/drupal/drupal/modules/dblog/dblog.module,v retrieving revision 1.46 diff -u -p -r1.46 dblog.module --- modules/dblog/dblog.module 6 Dec 2009 18:11:41 -0000 1.46 +++ modules/dblog/dblog.module 3 Jan 2010 15:53:21 -0000 @@ -35,17 +35,6 @@ function dblog_help($path, $arg) { } /** - * Implements hook_theme(). - */ -function dblog_theme() { - return array( - 'dblog_filters' => array( - 'render element' => 'form', - ), - ); -} - -/** * Implements hook_menu(). */ function dblog_menu() { @@ -172,21 +161,6 @@ function dblog_form_system_logging_setti '#options' => array(0 => t('All')) + drupal_map_assoc(array(100, 1000, 10000, 100000, 1000000)), '#description' => t('The maximum number of entries to keep in the database log. Requires a cron maintenance task.', array('@cron' => url('admin/reports/status'))) ); - $form['buttons']['#weight'] = 1; + $form['actions']['#weight'] = 1; } -/** - * Theme dblog administration filter selector. - * - * @ingroup themeable - */ -function theme_dblog_filters($variables) { - $form = $variables['form']; - $output = ''; - - foreach (element_children($form['status']) as $key) { - $output .= drupal_render($form['status'][$key]); - } - $output .= '
' . drupal_render($form['buttons']) . '
'; - return $output; -} Index: modules/field_ui/field_ui.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.admin.inc,v retrieving revision 1.34 diff -u -p -r1.34 field_ui.admin.inc --- modules/field_ui/field_ui.admin.inc 2 Jan 2010 15:00:34 -0000 1.34 +++ modules/field_ui/field_ui.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -867,7 +867,8 @@ function field_ui_field_settings_form($f $form['#object_type'] = $obj_type; $form['#bundle'] = $bundle; - $form['submit'] = array('#type' => 'submit', '#value' => t('Save field settings')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save field settings')); return $form; } Index: modules/field_ui/field_ui.module =================================================================== RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.module,v retrieving revision 1.21 diff -u -p -r1.21 field_ui.module --- modules/field_ui/field_ui.module 2 Jan 2010 15:00:34 -0000 1.21 +++ modules/field_ui/field_ui.module 3 Jan 2010 15:53:21 -0000 @@ -321,7 +321,7 @@ function field_ui_inactive_instances($ob function field_ui_form_node_type_form_alter(&$form, $form_state) { // We want to display the button only on add page. if (empty($form['#node_type']->type)) { - $form['save_continue'] = array( + $form['actions']['save_continue'] = array( '#type' => 'submit', '#value' => t('Save and add fields'), '#weight' => 45, Index: modules/filter/filter.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/filter/filter.admin.inc,v retrieving revision 1.55 diff -u -p -r1.55 filter.admin.inc --- modules/filter/filter.admin.inc 22 Dec 2009 14:47:14 -0000 1.55 +++ modules/filter/filter.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -36,7 +36,8 @@ function filter_admin_overview($form) { $form['formats'][$id]['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => 'admin/config/content/formats/' . $id . '/delete', '#access' => !$form['formats'][$id]['#is_fallback']); $form['formats'][$id]['weight'] = array('#type' => 'weight', '#default_value' => $format->weight); } - $form['submit'] = array('#type' => 'submit', '#value' => t('Save changes')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save changes')); return $form; } @@ -215,7 +216,8 @@ function filter_admin_format_form($form, if (!empty($format->format)) { $form['format'] = array('#type' => 'value', '#value' => $format->format); } - $form['submit'] = array('#type' => 'submit', '#value' => t('Save configuration')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save configuration')); return $form; } Index: modules/forum/forum.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/forum/forum.admin.inc,v retrieving revision 1.27 diff -u -p -r1.27 forum.admin.inc --- modules/forum/forum.admin.inc 15 Oct 2009 12:27:33 -0000 1.27 +++ modules/forum/forum.admin.inc 3 Jan 2010 15:53:21 -0000 @@ -55,9 +55,10 @@ function forum_form_forum($form, &$form_ ); $form['vid'] = array('#type' => 'hidden', '#value' => variable_get('forum_nav_vocabulary', '')); - $form['submit' ] = array('#type' => 'submit', '#value' => t('Save')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit' ] = array('#type' => 'submit', '#value' => t('Save')); if ($edit['tid']) { - $form['delete'] = array('#type' => 'submit', '#value' => t('Delete')); + $form['actions']['delete'] = array('#type' => 'submit', '#value' => t('Delete')); $form['tid'] = array('#type' => 'hidden', '#value' => $edit['tid']); } $form['#submit'][] = 'forum_form_submit'; @@ -156,12 +157,13 @@ function forum_form_container($form, &$f '#type' => 'hidden', '#value' => variable_get('forum_nav_vocabulary', ''), ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save') ); if ($edit['tid']) { - $form['delete'] = array('#type' => 'submit', '#value' => t('Delete')); + $form['actions']['delete'] = array('#type' => 'submit', '#value' => t('Delete')); $form['tid'] = array('#type' => 'value', '#value' => $edit['tid']); } $form['#submit'][] = 'forum_form_submit'; Index: modules/image/image.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/image/image.admin.inc,v retrieving revision 1.16 diff -u -p -r1.16 image.admin.inc --- modules/image/image.admin.inc 8 Nov 2009 13:23:41 -0000 1.16 +++ modules/image/image.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -388,12 +388,12 @@ function image_effect_form($form, &$form '#value' => isset($_GET['weight']) ? intval($_GET['weight']) : (isset($effect['weight']) ? $effect['weight'] : count($style['effects'])), ); - $form['buttons'] = array('#tree' => FALSE); - $form['buttons']['submit'] = array( + $form['actions'] = array('#tree' => FALSE, '#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => isset($effect['ieid']) ? t('Update effect') : t('Add effect'), ); - $form['buttons']['cancel'] = array( + $form['actions']['cancel'] = array( '#type' => 'link', '#title' => t('Cancel'), '#href' => 'admin/config/media/image-styles/edit/' . $style['name'], Index: modules/locale/locale.css =================================================================== RCS file: /cvs/drupal/drupal/modules/locale/locale.css,v retrieving revision 1.5 diff -u -p -r1.5 locale.css --- modules/locale/locale.css 9 Oct 2009 16:33:13 -0000 1.5 +++ modules/locale/locale.css 3 Jan 2010 15:53:22 -0000 @@ -16,9 +16,13 @@ */ width: 15em; } -#locale-translation-filter-form .form-item select.form-select { +#locale-translation-filter-form .form-type-select select { width: 100%; } +#locale-translation-filter-form .form-actions { + float: left; + padding: 3ex 0 0 1em; +} .language-switcher-locale-session .active a.active { color: #0062A0; Index: modules/locale/locale.module =================================================================== RCS file: /cvs/drupal/drupal/modules/locale/locale.module,v retrieving revision 1.276 diff -u -p -r1.276 locale.module --- modules/locale/locale.module 23 Dec 2009 13:28:45 -0000 1.276 +++ modules/locale/locale.module 3 Jan 2010 15:53:22 -0000 @@ -460,9 +460,6 @@ function locale_theme() { 'locale_languages_configure_form' => array( 'render element' => 'form', ), - 'locale_translation_filters' => array( - 'render element' => 'form', - ), 'locale_date_format_form' => array( 'render element' => 'form', ), @@ -902,22 +899,6 @@ function locale_block_view($type) { } /** - * Theme locale translation filter selector. - * - * @ingroup themeable - */ -function theme_locale_translation_filters($variables) { - $form = $variables['form']; - $output = ''; - - foreach (element_children($form['status']) as $key) { - $output .= drupal_render($form['status'][$key]); - } - $output .= '
' . drupal_render($form['buttons']) . '
'; - return $output; -} - -/** * Theme locale date format form. * * @ingroup themeable @@ -1019,7 +1000,8 @@ function locale_date_format_form($form, ); } - $form['buttons']['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save configuration'), ); Index: modules/menu/menu.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/menu/menu.admin.inc,v retrieving revision 1.70 diff -u -p -r1.70 menu.admin.inc --- modules/menu/menu.admin.inc 2 Jan 2010 19:25:20 -0000 1.70 +++ modules/menu/menu.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -63,8 +63,10 @@ function menu_overview_form($form, &$for $form = array_merge($form, _menu_overview_tree_form($tree)); $form['#menu'] = $menu; + if (element_children($form)) { - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save configuration'), ); Index: modules/node/content_types.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/node/content_types.inc,v retrieving revision 1.107 diff -u -p -r1.107 content_types.inc --- modules/node/content_types.inc 3 Jan 2010 00:44:53 -0000 1.107 +++ modules/node/content_types.inc 3 Jan 2010 15:53:22 -0000 @@ -234,7 +234,8 @@ function node_type_form($form, &$form_st '#value' => $type->locked, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save content type'), '#weight' => 40, @@ -242,7 +243,7 @@ function node_type_form($form, &$form_st if ($type->custom) { if (!empty($type->type)) { - $form['delete'] = array( + $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete content type'), '#weight' => 45, Index: modules/node/node.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.admin.inc,v retrieving revision 1.82 diff -u -p -r1.82 node.admin.inc --- modules/node/node.admin.inc 4 Dec 2009 16:49:46 -0000 1.82 +++ modules/node/node.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -196,10 +196,15 @@ function node_filter_form() { ); } - $form['filters']['buttons']['submit'] = array('#type' => 'submit', '#value' => (count($session) ? t('Refine') : t('Filter'))); + $form['filters']['actions'] = array( + '#type' => 'container', + '#id' => 'node-admin-buttons', + '#attributes' => array('class' => array('form-actions', 'container-inline')), + ); + $form['filters']['actions']['submit'] = array('#type' => 'submit', '#value' => (count($session) ? t('Refine') : t('Filter'))); if (count($session)) { - $form['filters']['buttons']['undo'] = array('#type' => 'submit', '#value' => t('Undo')); - $form['filters']['buttons']['reset'] = array('#type' => 'submit', '#value' => t('Reset')); + $form['filters']['actions']['undo'] = array('#type' => 'submit', '#value' => t('Undo')); + $form['filters']['actions']['reset'] = array('#type' => 'submit', '#value' => t('Reset')); } drupal_add_js('misc/form.js'); @@ -208,22 +213,6 @@ function node_filter_form() { } /** - * Theme node administration filter form. - * - * @ingroup themeable - */ -function theme_node_filter_form($variables) { - $form = $variables['form']; - $output = ''; - - $output .= '
'; - $output .= drupal_render($form['filters']); - $output .= '
'; - $output .= drupal_render_children($form); - return $output; -} - -/** * Theme node administration filter selector. * * @ingroup themeable @@ -250,7 +239,7 @@ function theme_node_filters($variables) $output .= ''; $output .= ''; - $output .= '
' . drupal_render($form['buttons']) . '
'; + $output .= drupal_render($form['actions']); return $output; } @@ -393,7 +382,6 @@ function node_admin_content($form, $form } $form['filter'] = node_filter_form(); $form['#submit'][] = 'node_filter_form_submit'; - $form['#theme'] = 'node_filter_form'; $form['admin'] = node_admin_nodes(); return $form; Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.1193 diff -u -p -r1.1193 node.module --- modules/node/node.module 31 Dec 2009 08:26:59 -0000 1.1193 +++ modules/node/node.module 3 Jan 2010 15:53:22 -0000 @@ -144,10 +144,6 @@ function node_theme() { 'node_search_admin' => array( 'render element' => 'form', ), - 'node_filter_form' => array( - 'render element' => 'form', - 'file' => 'node.admin.inc', - ), 'node_filters' => array( 'render element' => 'form', 'file' => 'node.admin.inc', Index: modules/node/node.pages.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.pages.inc,v retrieving revision 1.107 diff -u -p -r1.107 node.pages.inc --- modules/node/node.pages.inc 31 Dec 2009 13:35:23 -0000 1.107 +++ modules/node/node.pages.inc 3 Jan 2010 16:04:14 -0000 @@ -268,16 +268,19 @@ function node_form($form, &$form_state, } // Add the buttons. - $form['buttons'] = array('#type' => 'container'); - $form['buttons']['#weight'] = 100; - $form['buttons']['submit'] = array( + $form['actions'] = array( + '#type' => 'container', + '#attributes' => array('class' => array('form-actions')), + '#weight' => 100, + ); + $form['actions']['submit'] = array( '#type' => 'submit', '#access' => variable_get('node_preview_' . $node->type, DRUPAL_OPTIONAL) != DRUPAL_REQUIRED || (!form_get_errors() && isset($form_state['node_preview'])), '#value' => t('Save'), '#weight' => 5, '#submit' => array('node_form_submit'), ); - $form['buttons']['preview'] = array( + $form['actions']['preview'] = array( '#access' => variable_get('node_preview_' . $node->type, DRUPAL_OPTIONAL) != DRUPAL_DISABLED, '#type' => 'submit', '#value' => t('Preview'), @@ -285,7 +288,7 @@ function node_form($form, &$form_state, '#submit' => array('node_form_build_preview'), ); if (!empty($node->nid) && node_access('delete', $node)) { - $form['buttons']['delete'] = array( + $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete'), '#weight' => 15, Index: modules/openid/openid.pages.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/openid/openid.pages.inc,v retrieving revision 1.24 diff -u -p -r1.24 openid.pages.inc --- modules/openid/openid.pages.inc 4 Nov 2009 04:56:54 -0000 1.24 +++ modules/openid/openid.pages.inc 3 Jan 2010 15:53:22 -0000 @@ -73,7 +73,8 @@ function openid_user_add() { '#type' => 'textfield', '#title' => t('OpenID'), ); - $form['submit'] = array('#type' => 'submit', '#value' => t('Add an OpenID')); + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Add an OpenID')); return $form; } Index: modules/profile/profile.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/profile/profile.admin.inc,v retrieving revision 1.36 diff -u -p -r1.36 profile.admin.inc --- modules/profile/profile.admin.inc 2 Dec 2009 14:56:32 -0000 1.36 +++ modules/profile/profile.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -284,7 +284,9 @@ Unless you know what you are doing, it i '#title' => t('Visible in user registration form.'), '#default_value' => $edit['register'], ); - $form['submit'] = array('#type' => 'submit', + + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save field'), ); return $form; Index: modules/shortcut/shortcut.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/shortcut/shortcut.admin.inc,v retrieving revision 1.3 diff -u -p -r1.3 shortcut.admin.inc --- modules/shortcut/shortcut.admin.inc 2 Dec 2009 15:09:16 -0000 1.3 +++ modules/shortcut/shortcut.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -78,7 +78,8 @@ function shortcut_set_switch($form, &$fo 'js' => array(drupal_get_path('module', 'shortcut') . '/shortcut.admin.js'), ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save configuration'), ); @@ -195,7 +196,8 @@ function shortcut_set_customize($form, & 'js' => array(drupal_get_path('module', 'shortcut') . '/shortcut.admin.js'), ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save Changes'), ); Index: modules/syslog/syslog.module =================================================================== RCS file: /cvs/drupal/drupal/modules/syslog/syslog.module,v retrieving revision 1.31 diff -u -p -r1.31 syslog.module --- modules/syslog/syslog.module 4 Dec 2009 16:49:47 -0000 1.31 +++ modules/syslog/syslog.module 3 Jan 2010 15:53:22 -0000 @@ -46,7 +46,7 @@ function syslog_form_system_logging_sett '#options' => syslog_facility_list(), '#description' => t('Depending on the system configuration, Syslog and other logging tools use this code to identify or filter messages from within the entire system log.') . $help, ); - $form['buttons']['#weight'] = 1; + $form['actions']['#weight'] = 1; } } Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.244 diff -u -p -r1.244 system.admin.inc --- modules/system/system.admin.inc 3 Jan 2010 00:44:53 -0000 1.244 +++ modules/system/system.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -349,7 +349,8 @@ function system_themes_admin_form($form, '#title' => t('Use the administration theme when editing or creating content'), '#default_value' => variable_get('node_admin_theme', '0'), ); - $form['admin_theme']['submit'] = array( + $form['admin_theme']['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['admin_theme']['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save configuration'), ); @@ -950,7 +951,8 @@ function system_modules($form, $form_sta ); } - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save configuration'), ); @@ -1304,7 +1306,8 @@ function system_modules_uninstall($form, '#type' => 'checkboxes', '#options' => $options, ); - $form['buttons']['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Uninstall'), ); @@ -2787,7 +2790,8 @@ function system_configure_date_formats_f ), ); - $form['update'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['update'] = array( '#type' => 'submit', '#value' => ($dfid ? t('Save format') : t('Add format')), ); @@ -2914,7 +2918,8 @@ function system_actions_manage_form($for '#options' => $options, '#description' => '', ); - $form['parent']['buttons']['submit'] = array( + $form['parent']['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['parent']['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Create'), ); @@ -3010,7 +3015,8 @@ function system_actions_configure($form, '#type' => 'hidden', '#value' => '1', ); - $form['buttons']['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save'), '#weight' => 13 Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.863 diff -u -p -r1.863 system.module --- modules/system/system.module 3 Jan 2010 14:57:50 -0000 1.863 +++ modules/system/system.module 3 Jan 2010 15:53:22 -0000 @@ -2489,7 +2489,9 @@ function _system_settings_form_automatic * The form structure. */ function system_settings_form($form, $automatic_defaults = TRUE) { - $form['buttons']['submit'] = array('#type' => 'submit', '#value' => t('Save configuration') ); + $form['actions']['#type'] = 'container'; + $form['actions']['#attributes']['class'][] = 'form-actions'; + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save configuration')); if ($automatic_defaults) { $form = _system_settings_form_automatic_defaults($form); @@ -2600,7 +2602,10 @@ function confirm_form($form, $question, $form['description'] = array('#markup' => $description); $form[$name] = array('#type' => 'hidden', '#value' => 1); - $form['actions'] = array('#prefix' => '
', '#suffix' => '
'); + $form['actions'] = array( + '#type' => 'container', + '#attributes' => array('class' => array('form-actions', 'container-inline')), + ); $form['actions']['submit'] = array('#type' => 'submit', '#value' => $yes ? $yes : t('Confirm')); $form['actions']['cancel'] = array('#markup' => $cancel); // By default, render the form using theme_confirm_form(). Index: modules/user/user-rtl.css =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user-rtl.css,v retrieving revision 1.6 diff -u -p -r1.6 user-rtl.css --- modules/user/user-rtl.css 17 Nov 2009 02:50:41 -0000 1.6 +++ modules/user/user-rtl.css 3 Jan 2010 15:53:22 -0000 @@ -5,7 +5,7 @@ padding-right: 1.5em; } -#user-admin-filter dl.multiselect dd .form-item label { +#user-filter-form dl.multiselect dd .form-item label { float: right; } Index: modules/user/user.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v retrieving revision 1.91 diff -u -p -r1.91 user.admin.inc --- modules/user/user.admin.inc 2 Dec 2009 17:04:25 -0000 1.91 +++ modules/user/user.admin.inc 3 Jan 2010 15:53:22 -0000 @@ -72,16 +72,21 @@ function user_filter_form() { ); } - $form['filters']['buttons']['submit'] = array( + $form['filters']['actions'] = array( + '#type' => 'container', + '#id' => 'user-admin-buttons', + '#attributes' => array('class' => array('form-actions', 'container-inline')), + ); + $form['filters']['actions']['submit'] = array( '#type' => 'submit', '#value' => (count($session) ? t('Refine') : t('Filter')), ); if (count($session)) { - $form['filters']['buttons']['undo'] = array( + $form['filters']['actions']['undo'] = array( '#type' => 'submit', '#value' => t('Undo'), ); - $form['filters']['buttons']['reset'] = array( + $form['filters']['actions']['reset'] = array( '#type' => 'submit', '#value' => t('Reset'), ); @@ -698,7 +703,9 @@ function user_admin_permissions($form, $ $form['checkboxes'][$rid] = array('#type' => 'checkboxes', '#options' => $options, '#default_value' => isset($status[$rid]) ? $status[$rid] : array()); $form['role_names'][$rid] = array('#markup' => $name, '#tree' => TRUE); } - $form['submit'] = array('#type' => 'submit', '#value' => t('Save permissions')); + + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save permissions')); $form['#attached']['js'][] = drupal_get_path('module', 'user') . '/user.permissions.js'; @@ -787,11 +794,12 @@ function user_admin_role() { '#type' => 'value', '#value' => $rid, ); - $form['submit'] = array( + $form['actions'] = array('#type' => 'container', '#attributes' => array('class' => array('form-actions'))); + $form['actions']['submit'] = array( '#type' => 'submit', '#value' => t('Save role'), ); - $form['delete'] = array( + $form['actions']['delete'] = array( '#type' => 'submit', '#value' => t('Delete role'), ); @@ -876,21 +884,6 @@ function theme_user_admin_new_role($vari } /** - * Theme user administration filter form. - * - * @ingroup themeable - */ -function theme_user_filter_form($variables) { - $form = $variables['form']; - - $output = '
'; - $output .= drupal_render($form['filters']); - $output .= '
'; - $output .= drupal_render_children($form); - return $output; -} - -/** * Theme user administration filter selector. * * @ingroup themeable @@ -916,7 +909,7 @@ function theme_user_filters($variables) $output .= ''; $output .= ''; - $output .= '
' . drupal_render($form['buttons']) . '
'; + $output .= drupal_render($form['actions']); return $output; } Index: modules/user/user.css =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.css,v retrieving revision 1.15 diff -u -p -r1.15 user.css --- modules/user/user.css 17 Nov 2009 02:50:41 -0000 1.15 +++ modules/user/user.css 3 Jan 2010 15:53:22 -0000 @@ -10,10 +10,10 @@ white-space: normal; } /* Override the default multiselect layout in system.css. */ -#user-admin-filter dl.multiselect dd, dl.multiselect dd .form-item { +#user-filter-form dl.multiselect dd, dl.multiselect dd .form-item { width: 20em; /* 6em label + 14em select */ } -#user-admin-filter dl.multiselect dd .form-item label { +#user-filter-form dl.multiselect dd .form-item label { display: block; float: left; /* LTR */ width: 6em; Index: modules/user/user.module =================================================================== RCS file: /cvs/drupal/drupal/modules/user/user.module,v retrieving revision 1.1096 diff -u -p -r1.1096 user.module --- modules/user/user.module 2 Jan 2010 15:00:34 -0000 1.1096 +++ modules/user/user.module 3 Jan 2010 15:53:22 -0000 @@ -106,10 +106,6 @@ function user_theme() { 'render element' => 'form', 'file' => 'user.admin.inc', ), - 'user_filter_form' => array( - 'render element' => 'form', - 'file' => 'user.admin.inc', - ), 'user_filters' => array( 'render element' => 'form', 'file' => 'user.admin.inc',