=== modified file 'sites/all/modules/project_issue/project_issue.css'
--- sites/all/modules/project_issue/project_issue.css	2013-12-07 06:33:40 +0000
+++ sites/all/modules/project_issue/project_issue.css	2014-01-30 15:52:43 +0000
@@ -283,3 +283,8 @@
 .field-name-field-issue-component .field-items div::first-letter {
   text-transform: capitalize;
 }
+.ask-for-help {
+    line-height: 2em;
+    padding: 1em;
+    background-color: rgba(83,176,235,0.4);
+}

=== modified file 'sites/all/modules/project_issue/project_issue.module'
--- sites/all/modules/project_issue/project_issue.module	2014-01-16 01:58:51 +0000
+++ sites/all/modules/project_issue/project_issue.module	2014-01-30 16:02:31 +0000
@@ -100,7 +1020,121 @@
         'class' => 'internal-links',
       ),
     );
+   /*
+    * Encourage participation by suggesting things people can do to help.
+    */
+
+    // Collect all the users that have been involved in the issue comments.
+    static $users_that_contributed;
+    $users_that_contributed = (isset($users_that_contributed)) ? $users_that_contributed : array();
+    if(isset($node->content['field_issue_status']['#object']->content['comments']['comments'])) {
+      foreach ($node->content['field_issue_status']['#object']->content['comments']['comments'] as $comment) {
+        if (!empty($comment['comment_body']['#object']->u_uid)) {
+          $users_that_contributed[] = $comment['comment_body']['#object']->u_uid;
+        }
+      }
+    }
+
+     // The suggestion block.
+     global $user;
+     $ask_for_help = '';
+     $recent_user_comment = comment_get_recent(1);
+
+     // Is this an anonymous user?
+     if($user->uid == 0) {
+       $ask_for_help .= '<p>Make sure you have a Drupal.org account and that <a href="/user">you are logged in</a> so you can make comments.</p>';
+       $ask_for_help .= '<p>Drupal is driven by a community of people who work together 24/7 to do great stuff. Join us!</p>';
+     } else {
+
+       // Has this user already participated in the issue queue?
+       if (in_array($user->uid, $users_that_contributed)) {
+         $ask_for_help .= '<p>Thanks for having looked at this issue ' . $user->name . ' contributions from the community really help.</p>';
+       }
+
+       // Don't bug this user because they have been active earlier today.
+       // Has the user already been active in the last 8hrs? If so don't bug them.
+       // This is done in tracker_user in drupalorg.module but not stored. I'd hoped it could be easily gotten with $user->uid
+       elseif ((REQUEST_TIME - $recent_user_comment[0]->created) < 28800) {
+         // Maybe we want to just have a smily face or a thank you.  Maybe nothing.
+         $active_user = 'yes';
+       }
+
+       // Not active recently. Let's suggest ways they can help.  What do we know about the issue?
+       else {
+         $how_to_help = '';
+         static $patch_exists;
+         $patch_exists = (isset($patch_exists)) ? $patch_exists : '';
+         switch ($node->content['field_issue_status'][0]['#markup']) {
+           case 'Active':
+             $how_to_help = '<b>Is the summary clear enough? Can the issue be replicated? ';
+             $how_to_help .= 'Is this something that bugs you too? We need to hear from you.</b>';
+             break;
+
+           case 'Postponed':
+             $how_to_help = '<b>Is the reason this issue was still postponed still valid?</b>';
+             break;
+
+           case 'Needs review':
+             if (isset($node->content['field_issue_files']['#object']->field_issue_files['und'])) {
+               foreach ($node->content['field_issue_files']['#object']->field_issue_files['und'] as $file) {
+                 $patch_exists = (substr($file['filename'], -6) == '.patch') ? 'yes' : $patch_exists;
+               }
+             }
+             $how_to_help = ($patch_exists == 'yes') ? '<b>Can you <a href="https://drupal.org/patch/review">review</a> the last patch? Does it need more work? Can you mark it <a href="https://drupal.org/node/156119">RTBC</a>?</b>' : '<b>Can you review this issue?</b>';
+             break;
+
+           case 'Needs work':
+             if (isset($node->content['field_issue_files']['#object']->field_issue_files['und'])) {
+               foreach ($node->content['field_issue_files']['#object']->field_issue_files['und'] as $file) {
+                 $patch_exists = (substr($file['filename'], -6) == '.patch') ? 'yes' : $patch_exists;
+               }
+             }
+             $how_to_help = ($patch_exists == 'yes') ? '<b>Can you improve on the patch and submit a new one?</b>' : '<b>Can you improve this issue?</b>';
+             break;
+
+           case 'Reviewed & tested by the community':  // How long has it been?
+             $how_to_help = '<b>More reviews are always good. Has it been a while? If so consider alerting a maintainer.</b>';
+             break;
+
+           case 'Fixed':
+             $how_to_help = '<b>Maybe do a little dance, it is great! Maybe there is something to document.</b>';
+             break;
+
+           }
+
+           $ask_for_help .= '<p>Hey ' . $user->name . ' is this issue important to you? Do you have time to look at this issue? ' .  $how_to_help . '</p>';
+
+       }
+     }
+     if (!empty($ask_for_help)) {
+       $variables['ask_for_help'] = '<br /><div class="ask-for-help"><h2>Want to help this issue along?</h2>' . $ask_for_help . '</div><br />';
+     }
+     else {
+       $variables['ask_for_help'] = '';
+     }
+
+     $variables['jumplinks'] = theme('item_list', $jumplinks);
   }
 }

