--- D:/temp/advpoll-orig.module Fri Sep 19 00:51:14 2008 +++ D:/temp/advpoll.module Fri Sep 19 00:51:05 2008 @@ -688,7 +688,7 @@ db_query("INSERT INTO {advpoll} (nid, mode, use_list, active, max_choices, algorithm, show_votes, start_date, end_date, writeins, show_writeins, question) VALUES (%d, '%s', %d, %d, %d, '%s', %d, '%s', '%s', %d, %d, '%s')", $node->nid, $mode, $node->settings['use_list'], !$node->settings['close'], $node->settings['max_choices'], $node->settings['algorithm'], $node->settings['show_votes'], $node->settings['start_date'] ? strtotime($node->settings['start_date']) : 0, $node->settings['end_date'] ? strtotime($node->settings['end_date']) : 0, $node->settings['writeins'], $node->settings['show_writeins'], $node->question); // Insert the choices. - _advpoll_insert_choices($node->nid); + _advpoll_insert_choices($node->nid, $node->choices); } /** @@ -700,7 +700,7 @@ db_query("UPDATE {advpoll} SET active = %d, max_choices = %d, algorithm = '%s', use_list = %d, show_votes = %d, start_date = '%s', end_date = '%s', writeins = %d, show_writeins = %d, question = '%s' WHERE nid = %d", !$node->settings['close'], $node->settings['max_choices'], $node->settings['algorithm'], $node->settings['use_list'], $node->settings['show_votes'], $node->settings['start_date'] ? strtotime($node->settings['start_date']) : 0, $node->settings['end_date'] ? strtotime($node->settings['end_date']) : 0, $node->settings['writeins'], $node->settings['show_writeins'], $node->question, $node->nid); - _advpoll_insert_choices($node->nid); + _advpoll_insert_choices($node->nid, $node->choices); votingapi_recalculate_results('advpoll', $node->nid); } @@ -1139,12 +1139,12 @@ * Note: we pass choice data via _POST to allow for dynamic addition of choices. * Drupal 6 AHAH support will let us switch to a clean implementation. */ -function _advpoll_insert_choices($nid) { +function _advpoll_insert_choices($nid, $choices) { $node = node_load($nid); $weight = 0; $seen_ids = array(); - foreach ($_POST['choice'] as $index => $choice) { - if ($choice['label'] != '') { + foreach ($choices as $index => $choice) { + if (trim($choice['label']) != '') { // Mark this choice id as being seen. $seen_ids[$index] = 1; if (!isset($node->choice[$index])) {