--- block_class/block_class.module Fri Sep 26 04:27:04 2008 +++ block_class/block_class.module Mon Jun 01 18:54:49 2009 @@ -20,43 +20,34 @@ function block_class_form_alter(&$form, &$form_state, $form_id) { - if ($form_id == 'block_admin_configure') { + if ($form_id == 'block_admin_configure' || $form_id == 'block_add_block_form') { $block->module = $form['module']['#value']; $block->delta = $form['delta']['#value']; $attributes = block_class_attributes($block); - - $form['block_class'] = array( - '#type' => 'fieldset', - '#title' => t('Block Class settings'), - '#collapsible' => TRUE, - '#weight' => -1, - ); - $form['block_class']['css_class'] = array( + + $form['block_settings']['css_class'] = array( '#type' => 'textfield', '#title' => t('CSS class(es)'), '#default_value' => $attributes->css_class, '#description' => t('Separate classes with a space. IMPORTANT: You must add <?php print block_class($block); ?> to your theme\'s block.tpl.php file to make the classes appear.'), ); - - $form['#validate'][] = 'block_class_validate'; + + $form['#submit'][] = 'block_class_form_submit'; } } - -function block_class_validate($form, &$form_state) { - if ($form_state['values']['form_id'] == 'block_admin_configure') { +function block_class_form_submit($form, &$form_state) { + if ($form_state['values']['form_id'] == 'block_admin_configure' || $form_state['values']['form_id'] == 'block_add_block_form') { if (isset($form_state['values']['css_class']) && user_access('administer blocks')) { - $module = arg(4); - $delta = arg(5); + $module = $form_state['values']['module']; + $delta = $form_state['values']['delta']; $class = $form_state['values']['css_class']; - + db_query('DELETE FROM {block_class} WHERE module = "%s" AND delta = "%s"', $module, $delta); - + if (!empty($class)) { db_query('INSERT INTO {block_class} (module, delta, css_class) VALUES ("%s", "%s", "%s")', $module, $delta, $class); } } } - - block_admin_configure_validate($form, $form_state); -} \ No newline at end of file +}