diff options
Diffstat (limited to 'modules/poll/poll.module')
-rw-r--r-- | modules/poll/poll.module | 69 |
1 files changed, 31 insertions, 38 deletions
diff --git a/modules/poll/poll.module b/modules/poll/poll.module index 16f76bb9a..ad0728c95 100644 --- a/modules/poll/poll.module +++ b/modules/poll/poll.module @@ -76,45 +76,45 @@ function poll_cron() { } } -function poll_node_delete_confirm_submit($form_id, $form_values) { - db_query("DELETE FROM {poll} WHERE nid = %d", $form_values['node']->nid); - db_query("DELETE FROM {poll_choices} WHERE nid = %d", $form_values['node']->nid); - db_query("DELETE FROM {poll_votes} WHERE nid = %d", $form_values['node']->nid); +/** + * Implementation of hook_delete(). + */ +function poll_delete($node) { + db_query("DELETE FROM {poll} WHERE nid = %d", $node->nid); + db_query("DELETE FROM {poll_choices} WHERE nid = %d", $node->nid); + db_query("DELETE FROM {poll_votes} WHERE nid = %d", $node->nid); } /** - * An early submit handler of the poll_node_form. Runs before the node is saved. + * Implementation of hook_submit(). */ -function poll_node_submit_early($form_id, &$node) { - $node = (object)$node; +function poll_submit(&$node) { // Renumber fields $node->choice = array_values($node->choice); $node->teaser = poll_teaser($node); } -function poll_node_validate($form_id, $node) { - $node = (object)$node; - // Check for at least two options and validate amount of votes: - $realchoices = 0; - // Renumber fields - $node->choice = array_values($node->choice); - foreach ($node->choice as $i => $choice) { - if ($choice['chtext'] != '') { - $realchoices++; - } - if ($choice['chvotes'] < 0) { - form_set_error("choice][$i][chvotes", t('Negative values are not allowed.')); +/** + * Implementation of hook_validate(). + */ +function poll_validate($node) { + if (isset($node->title)) { + // Check for at least two options and validate amount of votes: + $realchoices = 0; + // Renumber fields + $node->choice = array_values($node->choice); + foreach ($node->choice as $i => $choice) { + if ($choice['chtext'] != '') { + $realchoices++; + } + if ($choice['chvotes'] < 0) { + form_set_error("choice][$i][chvotes", t('Negative values are not allowed.')); + } } - } - - if ($realchoices < 2) { - form_set_error("choice][$realchoices][chtext", t('You must fill in at least two choices.')); - } -} -function poll_form_alter($form_id, &$form) { - if ($form_id == 'node_delete_confirm' && $form['node']['#value']->type == 'poll') { - $form['#submit']['poll_node_delete_confirm_submit'] = array(); + if ($realchoices < 2) { + form_set_error("choice][$realchoices][chtext", t('You must fill in at least two choices.')); + } } } @@ -634,16 +634,9 @@ function poll_view($node, $teaser = FALSE, $page = FALSE, $block = FALSE) { return $node; } -function poll_node_submit($form_id, $node) { - $node = (object)$node; - if ($node->is_new) { - poll_insert($node); - } - else { - poll_update($node); - } -} - +/** + * Implementation of hook_update(). + */ function poll_update($node) { db_query('UPDATE {poll} SET runtime = %d, active = %d WHERE nid = %d', $node->runtime, $node->active, $node->nid); |