Index: project.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/project.inc,v retrieving revision 1.75.2.8 diff -u -F^f -r1.75.2.8 project.inc --- project.inc 8 Jun 2006 06:37:36 -0000 1.75.2.8 +++ project.inc 16 Jun 2006 07:00:29 -0000 @@ -152,6 +152,15 @@ function project_project_form(&$node) { '#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('URL of a screenshot or other image for this project. Note: the value you enter here will be automatically wrapped in an IMG tag, so it should either be a full URL to an external image, or a relative path to a file that you have uploaded onto the site.'), + ); + $form['project']['changelog'] = array( '#type' => 'textfield', '#title' => t('Changelog'), @@ -428,6 +437,10 @@ function project_project_view(&$node, $t $breadcrumb = project_project_set_location($node, $breadcrumb); menu_set_location($breadcrumb); + if ($node->project_image) { + $output .= '
' . t('project image') . '
'; + } + if ($releases = project_release_load($node)) { // Determine most suitable release $overview = variable_get('project_release_overview', -1); @@ -573,7 +586,7 @@ function project_project_insert($node) { $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); } @@ -583,7 +596,7 @@ function project_project_update($node) { $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: project.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/project.install,v retrieving revision 1.2.2.3 diff -u -F^f -r1.2.2.3 project.install --- project.install 8 Jun 2006 09:05:55 -0000 1.2.2.3 +++ project.install 16 Jun 2006 07:00:29 -0000 @@ -24,6 +24,7 @@ function project_install() { 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 @@ function project_install() { 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, @@ -199,3 +201,17 @@ function project_update_2() { $ret[] = update_sql("UPDATE {system} SET weight = 2 WHERE name = 'project'"); return $ret; } + +function project_update_3() { + $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: project.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/project.module,v retrieving revision 1.239.2.6 diff -u -F^f -r1.239.2.6 project.module --- project.module 15 Jun 2006 22:13:26 -0000 1.239.2.6 +++ project.module 16 Jun 2006 07:00:30 -0000 @@ -588,7 +588,9 @@ function project_page_overview($termname 'n.title', 'nr.teaser', 'nr.format', - 'p.issues' + 'p.issues', + 'p.screenshots', + 'p.project_image' ) ), 'from' => array( @@ -703,7 +705,7 @@ function project_page_overview($termname } // 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)) { @@ -1033,6 +1035,12 @@ function theme_project_summary($project) if ($project->changed) { $output .= '

' . t('Last changed: %interval ago', array('%interval' => format_interval(time() - $project->changed, 2))) . '

'; } + if ($project->project_image) { + $output .= '
' . t('project image') . '
'; + } + if ($project->screenshots) { + $output .= l('more images', $project->screenshots); + } $output .= $project->body; $output .= theme('links', $project->links); if ($project->terms) {