/** * Implementation of hook_form_alter(). */ function bigideas_form_alter($form_id, &$form) { //dpr($form); switch ($form_id) { case 'user_register': $form['preview'] = array('#type' => 'button', '#value' => t('Continue registration'), '#weight' => 30); $form['#after_build'] = array('bigideas_user_register_form_add_preview'); break; } } function bigideas_user_register_form_add_preview($form) { global $form_values; $op = isset($_POST['op']) ? $_POST['op'] : ''; if ($op == t('Continue registration')) { drupal_validate_form($form['form_id']['#value'], $form); if (!form_get_errors()) { // We pass the global $form_values here to preserve changes made during form validation //$form['user_preview'] = array('#value' => dpr($form_values), '#weight' => -100); //dpr(element_children($form)); foreach (element_children($form) as $key) { if ($form[$key]['#type'] == 'textfield') { $form[$key]['#type'] = 'value'; $form['markup'][$key] = array( '#type' => 'markup', '#value' => ''. $form[$key]['#title'] .': '. $form_values[$key], ); } } } } if (form_get_errors() || $op != t('Continue registration')) { unset($form['submit']); } //dpr($form); return $form; }