? modules/project/project.install.php
Index: modules/project/project.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/project.inc,v
retrieving revision 1.78
diff -u -r1.78 project.inc
--- modules/project/project.inc	23 May 2006 20:10:17 -0000	1.78
+++ modules/project/project.inc	23 May 2006 21:30:18 -0000
@@ -96,6 +96,15 @@
     '#maxlength' => 255,
     '#description' => t('Link to project screenshots.'),
   );
+  $form['project']['project_image'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Project Image'),
+    '#default_value' => $node->project_image,
+    '#size' => 40,
+    '#maxlength' => 255,
+    '#description' => t('IMG URL of a screenshot for this project.'),
+  );
+
   $form['project']['changelog'] = array(
     '#type' => 'textfield',
     '#title' => t('Changelog'),
@@ -464,7 +473,7 @@
   $node->mail_copy_filter = serialize($node->mail_copy_filter);
   $node->mail_copy_filter_state = serialize($node->mail_copy_filter_state);
 
-  db_query("INSERT INTO {project_projects} (nid, uri, homepage, changelog, cvs, demo, release_directory, issues, components, mail, mail_digest, mail_reminder, mail_copy, mail_copy_filter, mail_copy_filter_state, version, help, screenshots, documentation, license) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s')", $node->nid, $node->uri, $node->homepage, $node->changelog, $node->cvs, $node->demo, $node->release_directory, $node->issues, $node->components, $node->mail, $node->mail_digest, $node->reminder, $node->mail_copy, $node->mail_copy_filter, $node->mail_copy_filter_state, $node->version, $node->help, $node->screenshots, $node->documentation, $node->license);
+  db_query("INSERT INTO {project_projects} (nid, uri, homepage, changelog, cvs, demo, release_directory, issues, components, mail, mail_digest, mail_reminder, mail_copy, mail_copy_filter, mail_copy_filter_state, version, help, screenshots, project_image, documentation, license) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s')", $node->nid, $node->uri, $node->homepage, $node->changelog, $node->cvs, $node->demo, $node->release_directory, $node->issues, $node->components, $node->mail, $node->mail_digest, $node->reminder, $node->mail_copy, $node->mail_copy_filter, $node->mail_copy_filter_state, $node->version, $node->help, $node->screenshots, $node->project_image, $node->documentation, $node->license);
   project_release_scan_directory($node->uri);
 }
 
@@ -474,7 +483,7 @@
   $node->mail_copy_filter = serialize($node->mail_copy_filter);
   $node->mail_copy_filter_state = serialize($node->mail_copy_filter_state);
 
-  db_query("UPDATE {project_projects} SET uri = '%s', homepage = '%s', changelog = '%s', cvs = '%s', demo = '%s', release_directory = '%s', issues = %d, components = '%s', mail = '%s', mail_digest = '%s', mail_reminder = %d, mail_copy = '%s', mail_copy_filter = '%s', mail_copy_filter_state = '%s', version = %d, help = '%s', screenshots = '%s', documentation = '%s', license = '%s' WHERE nid = %d", $node->uri, $node->homepage, $node->changelog, $node->cvs, $node->demo, $node->release_directory, $node->issues, $node->components, $node->mail, $node->mail_digest, $node->mail_reminder, $node->mail_copy, $node->mail_copy_filter, $node->mail_copy_filter_state, $node->version, $node->help, $node->screenshots, $node->documentation, $node->license, $node->nid);
+  db_query("UPDATE {project_projects} SET uri = '%s', homepage = '%s', changelog = '%s', cvs = '%s', demo = '%s', release_directory = '%s', issues = %d, components = '%s', mail = '%s', mail_digest = '%s', mail_reminder = %d, mail_copy = '%s', mail_copy_filter = '%s', mail_copy_filter_state = '%s', version = %d, help = '%s', screenshots = '%s', project_image = '%s', documentation = '%s', license = '%s' WHERE nid = %d", $node->uri, $node->homepage, $node->changelog, $node->cvs, $node->demo, $node->release_directory, $node->issues, $node->components, $node->mail, $node->mail_digest, $node->mail_reminder, $node->mail_copy, $node->mail_copy_filter, $node->mail_copy_filter_state, $node->version, $node->help, $node->screenshots, $node->project_image, $node->documentation, $node->license, $node->nid);
   project_release_scan_directory($node->uri);
 }
 
Index: modules/project/project.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/project.install,v
retrieving revision 1.2
diff -u -r1.2 project.install
--- modules/project/project.install	2 Mar 2006 23:26:59 -0000	1.2
+++ modules/project/project.install	23 May 2006 22:05:32 -0000
@@ -24,6 +24,7 @@
           help text,
           documentation varchar(255) not null default '',
           screenshots varchar(255) not null default '',
+          project_image varchar(255) not null default '',
           license varchar(255) not null default '',
           PRIMARY KEY (`nid`),
           KEY project_projects_uri (uri(8))
@@ -114,6 +115,7 @@
           mail_reminder smallint NOT NULL default '0',
           help text,
           screenshots varchar(255) default '' not null,
+          project_image varchar(255) default '' not null,
           mail_copy_filter_state varchar(255) default '' not null,
           documentation varchar(255) default '' not null,
           license varchar(255) default '' not null,
@@ -190,4 +192,18 @@
 
 function project_update_1() {
   return _system_update_utf8(array('project_projects', 'project_releases', 'project_issues', 'project_comments', 'project_subscriptions', 'project_issue_state'));
-}
\ No newline at end of file
+}
+
+function project_update_2() {
+  $ret = array();
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("ALTER TABLE {project_projects} ADD COLUMN project_image varchar(255) not null default ''");
+      break;
+    case 'pgsql':
+      db_add_column($ret, 'project_projects', 'project_image', 'varchar(255)', array('not null' => TRUE, 'default' => ''));
+      break;
+  }
+  return $ret;
+}
Index: modules/project/project.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/project.module,v
retrieving revision 1.240
diff -u -r1.240 project.module
--- modules/project/project.module	20 May 2006 14:25:37 -0000	1.240
+++ modules/project/project.module	23 May 2006 22:00:54 -0000
@@ -584,7 +584,9 @@
             'n.title',
             'nr.teaser',
             'nr.format',
-            'p.issues'
+            'p.issues',
+            'p.screenshots',
+            'p.project_image'
           )
         ),
         'from' => array(
@@ -699,7 +701,7 @@
   }
   // If taxonomy is not enabled, fetch all projects
   else {
-    $result = db_query(db_rewrite_sql("SELECT n.nid, n.title, nr.teaser, nr.format, p.issues FROM {node} n INNER JOIN {node_revisions} nr ON n.vid = nr.vid INNER JOIN {project_projects} p ON n.nid = p.nid WHERE n.status = 1 ORDER BY n.title ASC"));
+    $result = db_query(db_rewrite_sql("SELECT n.nid, n.title, nr.teaser, nr.format, p.issues, p.screenshots, p.project_image FROM {node} n INNER JOIN {node_revisions} nr ON n.vid = nr.vid INNER JOIN {project_projects} p ON n.nid = p.nid WHERE n.status = 1 ORDER BY n.title ASC"));
   }
   $class = 'even';
   while ($project = db_fetch_object($result)) {
@@ -1016,6 +1018,12 @@
   if ($project->changed) {
     $output .= '<p><small>' . t('Last changed: %interval ago', array('%interval' => format_interval(time() - $project->changed, 2))) . '</small></p>';
   }
+  if ($project->project_image) {
+    $output .= '<div><img class="picture" alt="' . t('preview') . '" src="' . check_url($project->project_image) . '" /></div>';
+  }
+  if ($project->screenshots) {
+    $output .= l('more previews', $project->screenshots);
+  }
   $output .= $project->body;
   $output .= theme('links', $project->links);
   if ($project->terms) {
