--- og_audience_inline.module 2007-09-09 08:59:08.000000000 +0300 +++ og_audience_inline.module 2010-12-13 18:10:30.770016029 +0200 @@ -5,27 +5,29 @@ return array('access inline og audience form'); } -function og_audience_inline_menu ($may_cache) { +function og_audience_inline_menu() { $items = array(); - $items[] = array( - 'path' => 'og_audience_inline/form', + $items['og_audience_inline/form'] = array( 'title' => t('OG audience Inline Form'), - 'callback' => '_og_audience_inline_form', - 'access' => user_access('access inline og audience form'), - 'type' => MENU_CALLBACK); + 'page callback' => '_og_audience_inline_form', + 'page arguments' => array(2), + 'access arguments' => array('access inline og audience form'), + 'type' => MENU_CALLBACK, + ); - $items[] = array( - 'path' => 'og_audience_inline/formsubmit', + $items['og_audience_inline/formsubmit'] = array( 'title' => t('OG audience Inline Form'), - 'callback' => '_og_audience_inline_form_submit', - 'access' => user_access('access inline og audience form'), - 'type' => MENU_CALLBACK); + 'page callback' => '_og_audience_inline_form_submit', + 'page arguments' => array(2), + 'access arguments' => array('access inline og audience form'), + 'type' => MENU_CALLBACK, + ); return $items; } -function og_audience_inline_link ($type, $node = NULL, $teaser = FALSE) { +function og_audience_inline_link($type, $node = NULL, $teaser = FALSE) { static $pass = FALSE; global $user; @@ -33,7 +35,6 @@ if($type=='node' && user_access('access inline og audience form')) { if (variable_get('og_audience_tab_enable', 1) && $node && !og_is_group_type($node->type) && !og_is_omitted_type($node->type)) { if (count($user->og_groups) && (count($node->og_groups) || variable_get('og_audience_allow_add', 1)) && user_access('change audience')) { - drupal_add_js('misc/jquery.js', 'core', 'header', FALSE); drupal_add_js(drupal_get_path('module', 'og_audience_inline') . '/js/og_audience_inline.js', 'module', 'header', FALSE); if(!$pass) { @@ -47,50 +48,47 @@ $pass = TRUE; } - $links['node_og_audience'] = array( - 'title' => t('Audience'), + $links['node_og_audience'] = array( + 'title' => t('Audience'), 'href' => '', - 'fragment' => '', - 'attributes' => array('id'=> 'link_og_audience_' . $node->nid, 'title' => t('Audience'), 'onclick' => "og_audience_inline_showhide_form($node->nid, '" . t('Audience') . "','" . t('Close audience') . "'); return false;") , + 'fragment' => ' ', + 'attributes' => array('id'=> 'link_og_audience_' . $node->nid, 'title' => t('Audience'), 'class' => 'link-og-audience'), 'html' => TRUE, - ); + ); } } } - return $links; + return $links; } -function _og_audience_inline_form ($nid) { - $node = node_load($nid); - echo drupal_get_form('_og_audience_inline_build_form', $node); - exit(); +function og_audience_inline_form_alter(&$form, &$form_state, $form_id) { + if ($form_id == 'og_audience_build_form' && arg(0) == 'og_audience_inline' && arg(1) == 'form') { + unset($form['submit']); + $form['save'] = array( + '#value' => '', + ); + } } -function _og_audience_inline_build_form($node) { - $form = og_audience_build_form($node); - unset($form['submit']); - $form['submit'] = array( - '#type' => 'button', - '#value' => t('Save'), - '#name' => 'save', - '#attributes' => array('onclick' => "og_audience_inline_submit();return false;"), - ); - return $form; +function _og_audience_inline_form($nid) { + $node = node_load($nid); + die(drupal_get_form('og_audience_build_form', $node)); } function _og_audience_inline_form_submit($nid) { $form_id = "-og-audience-build-form"; - $form_values = $_POST; - $form_values['orig_node'] = node_load($nid); - - if(!array_key_exists('add_to', $form_values)) { - $form_values['add_to'] = array(); + $form_values = array(); + $form_values['values'] = $_POST; + $target_nid = !empty($nid) ? $nid : $_POST['target_nid']; + $form_values['values']['target_node'] = node_load($target_nid); + $form_values['values']['op'] = 'Submit'; + + if(!array_key_exists('add_to', $form_values['values'])) { + $form_values['values']['add_to'] = array(); } - if(!array_key_exists('remove_from', $form_values)) { - $form_values['remove_from'] = array(); + if(!array_key_exists('remove_from', $form_values['values'])) { + $form_values['values']['remove_from'] = array(); } og_audience_build_form_submit($form_id, $form_values); - echo drupal_to_js(drupal_get_messages()); - exit(); + die(drupal_to_js(drupal_get_messages())); } -