--- popups_reference.module +++ popups_reference.module @@ -24,10 +24,19 @@ function popups_reference_form_alter(&$form, $form_state, $form_id) { ); $form['#submit'][] = '_popups_reference_manage_fields_submit'; } - elseif (isset($form['type'])) { + elseif (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id && !empty($_REQUEST['popups_header']) && $_REQUEST['popups_header'] == 'json/popups') { + $form['popups_header'] = array( + '#type' => 'hidden', + '#value' => 'json/popups', + ); + + $form['buttons']['submit']['#submit'][] = 'popups_reference_node_form_submit'; + } + + if (isset($form['type']) || $form_id == 'content_add_more_js') { // Add the "Add New: Node Type" links. - $node = $form['#node']; - if ($form['type']['#value'] .'_node_form' == $form_id) { + // $node = $form['#node']; + if ($form['type']['#value'] .'_node_form' == $form_id || $form_id == 'content_add_more_js') { $fields = content_fields(); foreach ($form as $key => $item) { if (is_array($item)) { @@ -41,12 +50,17 @@ function popups_reference_form_alter(&$form, $form_state, $form_id) { popups_reference_alter_item($form, $key, $item, $fields); } } - } } } } +function popups_reference_node_form_submit($form, &$form_state) { + if (!empty($form_state['nid'])) { + $form_state['redirect'] = array('node/' . $form_state['nid'], 'popups_header=json/popups'); + } +} + /** * Implementation of hook_nodeapi(). * Add cookies with node info when a new node is created.