diff -urpN drupal-old/sites/all/modules/project_issue/generate/project_issue_generate.inc drupal-new/sites/all/modules/project_issue/generate/project_issue_generate.inc
--- drupal-old/sites/all/modules/project_issue/generate/project_issue_generate.inc	2007-12-09 01:46:25.000000000 -0200
+++ drupal-new/sites/all/modules/project_issue/generate/project_issue_generate.inc	2007-12-15 09:52:45.000000000 -0200
@@ -9,10 +9,10 @@ if (!ini_get('safe_mode')) {
 /**
  * Generate some random project issues.
  *
- * @param $num
+ * @param $number
  *  Number of issues to generate.
  */
-function project_issue_generate_issues($num) {
+function project_issue_generate_issues($number) {
   require_once(drupal_get_path('module', 'devel') .'/devel_generate.inc');
 
   $projects = _project_issue_generate_get_field('projects');
@@ -21,9 +21,7 @@ function project_issue_generate_issues($
   $users = _project_issue_generate_get_field('users');
   $loaded_users = array();
 
-  for ($i = 0; $i < $num; $i++) {
-    srand((double) microtime() * 1000000);
-
+  for ($i = 0; $i < $number; $i++) {
     $project = $projects[array_rand($projects)];
     $components = unserialize($project->components);
     $issue = array();
@@ -55,10 +53,98 @@ function project_issue_generate_issues($
   }
 }
 
+/**
+ * Generate some random project issues.
+ *
+ * @param $number
+ *  Number of comments to generate.
+ */
+function project_issue_generate_issue_comments($number) {
+  $issues = _project_issue_generate_get_field('issues');
+  $projects = _project_issue_generate_get_field('projects');
+  $categories = _project_issue_generate_get_field('categories');
+  $priorities = _project_issue_generate_get_field('priorities');
+  $users = _project_issue_generate_get_field('users');
+
+  for ($i = 0; $i < $number; $i++) {
+    $k = array_rand($issues);
+
+    $account = user_load(array('uid' => $users[array_rand($users)]->uid));
+    $project = $projects[array_rand($projects)];
+    if (rand(0,1)) {
+      $issues[$k]->pid = $project->nid;
+    }
+    if (rand(0,1)) {
+      $components = unserialize($project->components);
+      $issues[$k]->component = $components[array_rand($components)];
+    }
+    if (rand(0,1)) {
+      $issues[$k]->category = $categories[array_rand($categories)];
+    }
+    if (rand(0,1)) {
+      $issues[$k]->priority = array_rand($priorities);
+    }
+    if (rand(0,1)) {
+      $issues[$k]->title = devel_create_greeking(rand(2, 10), true);
+    }
+    if (rand(0,1)) {
+      $issues[$k]->sid = array_rand(_project_issue_generate_get_permitted_sids($account));
+      if (!isset($issues[$k]->sid)) {
+        unset($comment);
+        continue;
+      }
+    }
+    /**
+     * We put everything in the $issues array before put in $comment to
+     * post it because doing it we keep the $issues array updated with
+     * the latest comments to "randomly" don't change the info if
+     * rand(0,1)==0.
+     */
+    $comment = array();
+    $comment['project_info'] = array('pid' => $issues[$k]->pid, 'component' => $issues[$k]->component);
+    $comment['category'] = $issues[$k]->category;
+    $comment['priority'] = $issues[$k]->priority;
+    $comment['title'] = $issues[$k]->title;
+    $comment['sid'] = $issues[$k]->sid;
+    $comment['assigned'] = $issues[$k]->assigned;
+    if (rand(0,1)) {
+      $comment['comment'] = devel_create_content();
+    }
+    else {
+      $comment['comment'] = '';
+    }
+    $comment['format'] = '1';
+    $comment['cid'] = '';
+
+    // We can't determine the user ID, because if so a normal user could
+    // hack the system by passing a UID by post in comment_form.
+    drupal_execute('comment_form', $comment, array('pid' => '', 'nid' => $issues[$k]->nid));
+
+    // We can't assign it before because it causes "an illegal choice".
+    if (rand(0,1)) {
+      $issues[$k]->assigned = $account->uid;
+    }
+    $result = db_query("SELECT MAX(cid) AS cid FROM {comments}");
+    $newres = db_fetch_object($result);
+    $newcid = $newres->cid;
+    db_query("UPDATE {comments} SET uid=%d WHERE cid=%d", $account->uid, $newcid);
+    db_query("UPDATE {project_issue_comments} SET assigned=%d WHERE cid=%d", $account->uid, $newcid);
+  }
+  drupal_set_message(format_plural($number, 'Your comment has been created.', '@count comments have been created.'));
+}
+
 function _project_issue_generate_get_field($field, $pool_size = 100) {
-  require_once(drupal_get_path('module', 'project_issue') . '/issue.inc');
+  require_once(drupal_get_path('module', 'project_issue') .'/issue.inc');
 
   switch($field) {
+    case 'issues':
+      $issues = array();
+      $results = db_query('SELECT p.nid, p.pid, p.category, p.component, p.priority, p.rid, p.assigned, p.sid, n.title FROM {project_issues} p INNER JOIN {node} n ON n.nid = p.nid');
+      while ($result = db_fetch_object($results)) {
+        $issues[] = $result;
+      }
+      return $issues;
+
     case 'projects':
       $projects = array();
 
diff -urpN drupal-old/sites/all/modules/project_issue/generate/project_issue_generate.info drupal-new/sites/all/modules/project_issue/generate/project_issue_generate.info
--- drupal-old/sites/all/modules/project_issue/generate/project_issue_generate.info	2007-12-09 01:46:25.000000000 -0200
+++ drupal-new/sites/all/modules/project_issue/generate/project_issue_generate.info	2007-12-14 23:51:36.000000000 -0200
@@ -1,5 +1,5 @@
 ; $Id: project_issue_generate.info,v 1.2 2007/12/09 03:46:25 dww Exp $
 name = Project issue generator
-description = Generate random issues.
+description = Generate random issues and comments.
 dependencies = project_issue devel
-package = Development
\ Não há quebra de linha no final do arquivo
+package = Development
diff -urpN drupal-old/sites/all/modules/project_issue/generate/project_issue_generate.module drupal-new/sites/all/modules/project_issue/generate/project_issue_generate.module
--- drupal-old/sites/all/modules/project_issue/generate/project_issue_generate.module	2007-12-09 01:46:25.000000000 -0200
+++ drupal-new/sites/all/modules/project_issue/generate/project_issue_generate.module	2007-12-15 09:48:55.000000000 -0200
@@ -22,12 +22,18 @@ function project_issue_generate_menu($ma
 }
 
 function project_issue_generate_issues_form() {
-  $form['num'] = array(
+  $form['issues'] = array(
     '#type' => 'textfield',
     '#title' => t('How many issues would you like to generate?'),
     '#default_value' => 100,
     '#size' => 10,
   );
+  $form['comments'] = array(
+    '#type' => 'textfield',
+    '#title' => t('How many issue comments would you like to generate?'),
+    '#default_value' => 200,
+    '#size' => 10,
+  );
   $form['submit'] = array(
     '#type' => 'submit',
     '#value' => t('Do it!'),
@@ -36,6 +42,8 @@ function project_issue_generate_issues_f
 }
 
 function project_issue_generate_issues_form_submit($form_id, $form_values) {
-  require_once('project_issue_generate.inc');
-  project_issue_generate_issues($form_values['num']);
-}
\ Não há quebra de linha no final do arquivo
+  $file = drupal_get_path('module', 'project_issue_generate') .'/project_issue_generate.inc';
+  require_once($file);
+  project_issue_generate_issues($form_values['issues']);
+  project_issue_generate_issue_comments($form_values['comments']);
+}
