Index: poll.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.css,v
retrieving revision 1.5
diff -u -r1.5 poll.css
--- poll.css	17 Oct 2007 12:34:16 -0000	1.5
+++ poll.css	5 Nov 2007 00:10:33 -0000
@@ -33,3 +33,6 @@
 .node-form #edit-poll-more {
   margin: 0;
 }
+.poll .poll-description {
+  margin-bottom: 5px;
+}
Index: poll.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.module,v
retrieving revision 1.248
diff -u -r1.248 poll.module
--- poll.module	25 Oct 2007 15:32:56 -0000	1.248
+++ poll.module	5 Nov 2007 00:42:26 -0000
@@ -41,7 +41,7 @@
     ),
     'poll_results' => array(
       'template' => 'poll-results',
-      'arguments' => array('raw_title' => NULL, 'results' => NULL, 'votes' => NULL, 'raw_links' => NULL, 'block' => NULL, 'nid' => NULL, 'vote' => NULL),
+      'arguments' => array('raw_title' => NULL, 'description' => NULL, 'results' => NULL, 'votes' => NULL, 'raw_links' => NULL, 'block' => NULL, 'nid' => NULL, 'vote' => NULL),
     ),
     'poll_bar' => array(
       'template' => 'poll-bar',
@@ -168,7 +168,8 @@
       'module' => 'poll',
       'description' => t('A <em>poll</em> is a question with a set of possible responses. A <em>poll</em>, once created, automatically provides a simple running count of the number of votes received for each response.'),
       'title_label' => t('Question'),
-      'has_body' => FALSE,
+      'has_body' => TRUE,
+      'body_label' => t('Description'),
     )
   );
 }
@@ -189,8 +190,17 @@
     '#title' => check_plain($type->title_label),
     '#required' => TRUE,
     '#default_value' => $node->title,
-    '#weight' => -5,
+    '#weight' => -6,
   );
+  $form['body_filter']['body'] = array(
+    '#type' => 'textarea',
+    '#title' => check_plain($type->body_label),
+    '#default_value' => $node->body,
+    '#rows' => 5,
+    '#description' => t('Optional description for this poll, e.g. context, motivation.'),
+  );
+  $form['body_filter']['format'] = filter_form($node->format);
+  $form['body_filter']['#weight'] = -5;
 
   if (isset($form_state['choice_count'])) {
     $choice_count = $form_state['choice_count'];
@@ -529,6 +539,9 @@
  * @see phptemplate_preprocess_poll_vote()
  */
 function poll_view_voting(&$form_state, $node, $block) {
+  if (!empty($node->body)) {
+    $form['description'] = array('#value' => check_markup($node->body, $node->format, FALSE));
+  }
   if ($node->choice) {
     $list = array();
     foreach ($node->choice as $i => $choice) {
@@ -593,6 +606,9 @@
   $form = $variables['form'];
   $variables['choice'] = drupal_render($form['choice']);
   $variables['title'] = check_plain($form['#node']->title);
+  if (isset($form['description'])) {
+    $variables['description'] = drupal_render($form['description']);
+  }
   $variables['vote'] = drupal_render($form['vote']);
   $variables['rest'] = drupal_render($form);
   $variables['block'] = $form['#block'];
@@ -621,7 +637,7 @@
     }
   }
 
-  return theme('poll_results', $node->title, $poll_results, $total_votes, isset($node->links) ? $node->links : array(), $block, $node->nid, isset($node->vote) ? $node->vote : NULL);
+  return theme('poll_results', $node->title, check_markup($node->body, $node->format, FALSE), $poll_results, $total_votes, isset($node->links) ? $node->links : array(), $block, $node->nid, isset($node->vote) ? $node->vote : NULL);
 }
 
 
Index: poll-results.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll-results.tpl.php,v
retrieving revision 1.2
diff -u -r1.2 poll-results.tpl.php
--- poll-results.tpl.php	7 Aug 2007 08:39:35 -0000	1.2
+++ poll-results.tpl.php	5 Nov 2007 00:38:50 -0000
@@ -7,6 +7,7 @@
  *
  * Variables available:
  * - $title: The title of the poll.
+ * - $description: The (optional) description for the poll.
  * - $results: The results of the poll.
  * - $votes: The total results in the poll.
  * - $links: Links in the poll.
@@ -19,6 +20,9 @@
  */
 ?>
 <div class="poll">
+  <?php if (isset($description)): ?>
+    <div class="poll-description"><?php print $description; ?></div>
+  <?php endif; ?>
   <?php print $results; ?>
   <div class="total">
     <?php print t('Total votes: @votes', array('@votes' => $votes)); ?>
Index: poll-results-block.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll-results-block.tpl.php,v
retrieving revision 1.2
diff -u -r1.2 poll-results-block.tpl.php
--- poll-results-block.tpl.php	2 Aug 2007 20:08:53 -0000	1.2
+++ poll-results-block.tpl.php	5 Nov 2007 00:38:50 -0000
@@ -6,6 +6,7 @@
  *
  * Variables available:
  * - $title: The title of the poll.
+ * - $description: The (optional) description for the poll.
  * - $results: The results of the poll.
  * - $votes: The total results in the poll.
  * - $links: Links in the poll.
@@ -21,6 +22,9 @@
 
 <div class="poll">
   <div class="title"><?php print $title ?></div>
+  <?php if (isset($description)): ?>
+    <div class="poll-description"><?php print $description; ?></div>
+  <?php endif; ?>
   <?php print $results ?>
   <div class="total">
     <?php print t('Total votes: @votes', array('@votes' => $votes)); ?>
Index: poll-vote.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll-vote.tpl.php,v
retrieving revision 1.2
diff -u -r1.2 poll-vote.tpl.php
--- poll-vote.tpl.php	7 Aug 2007 08:39:35 -0000	1.2
+++ poll-vote.tpl.php	5 Nov 2007 00:37:56 -0000
@@ -7,6 +7,7 @@
  *
  * - $choice: The radio buttons for the choices in the poll.
  * - $title: The title of the poll.
+ * - $description: The (optional) description for the poll.
  * - $block: True if this is being displayed as a block.
  * - $vote: The vote button
  * - $rest: Anything else in the form that may have been added via
@@ -21,6 +22,9 @@
       <?php if ($block): ?>
         <div class="title"><?php print $title; ?>:</div>
       <?php endif; ?>
+      <?php if (isset($description)): ?>
+        <div class="poll-description"><?php print $description; ?></div>
+      <?php endif; ?>
       <?php print $choice; ?>
     </div>
     <?php print $vote; ?>
