cvs diff: Diffing modules/project/release Index: modules/project/release/project_release.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.install,v retrieving revision 1.1.2.11 diff -u -p -r1.1.2.11 project_release.install --- modules/project/release/project_release.install 6 Dec 2006 04:54:01 -0000 1.1.2.11 +++ modules/project/release/project_release.install 7 Dec 2006 19:00:20 -0000 @@ -26,6 +26,7 @@ function project_release_install() { db_query("CREATE TABLE IF NOT EXISTS {project_release_projects} ( nid int unsigned NOT NULL default '0', releases tinyint NOT NULL default '1', + snapshot_table tinyint unsigned NOT NULL default '1', version_format varchar(255) NOT NULL default '', PRIMARY KEY (nid), KEY project_release_projects_releases (releases) @@ -63,6 +64,7 @@ function project_release_install() { db_query("CREATE TABLE {project_release_projects} ( nid int NOT NULL default '0', releases smallint NOT NULL default '1', + snapshot_table smallint NOT NULL default '1', version_format varchar(255) NOT NULL default '', PRIMARY KEY (nid), KEY project_release_projects_releases (releases) @@ -128,6 +130,24 @@ function project_release_update_1() { return $ret; } +/** + * Add a new column to {project_release_projects} that determines if + * the development snapshot table should be shown on project nodes. + */ +function project_release_update_2() { + $ret = array(); + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': + $ret[] = update_sql("ALTER TABLE {project_release_projects} ADD snapshot_table tinyint unsigned default '1' NOT NULL"); + break; + case 'pgsql': + db_add_column($ret, 'project_release_projects', 'snapshot_table', 'smallint', array('default' => 1, 'not null' => TRUE)); + break; + } + return $ret; +} + function project_release_db_table_exists($table) { switch ($GLOBALS['db_type']) { Index: modules/project/release/project_release.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v retrieving revision 1.1.2.48 diff -u -p -r1.1.2.48 project_release.module --- modules/project/release/project_release.module 7 Dec 2006 09:08:18 -0000 1.1.2.48 +++ modules/project/release/project_release.module 7 Dec 2006 19:00:21 -0000 @@ -930,6 +930,15 @@ function project_release_project_edit_re ); $form['#validate'] = array_merge($form['#validate'], array('project_release_project_edit_form_validate' => array())); } + $vocab = taxonomy_get_vocabulary(_project_release_get_api_vid()); + $vocab = isset($vocab) ? theme('placeholder', $vocab->name) : t('version'); + $form['snapshot_table'] = array( + '#type' => 'checkbox', + '#title' => t('Display snapshot releases on project page'), + '#return_value' => 1, + '#default_value' => isset($node->snapshot_table) ? $node->snapshot_table : 1, + '#description' => t('Note: Even if the current default release for a given %vocabulary_name is a development snapshot, it will only be show if this checkbox is enabled.', array('%vocabulary_name' => $vocab)), + ); } $form['nid'] = array('#type' => 'value', '#value' => $node->nid); @@ -969,6 +978,7 @@ function theme_project_release_project_e $output .= theme('table', $header, $rows); $output .= '
'. t('This table allows you to specify the default version to download for any given %vocabulary_name. If there are releases from more than one major version number, you can select which major version should be used. For each %vocabulary_name, the current default release based on the saved major version is shown. If no official releases have been made, the development snapshot from the corresponding branch will be listed. Otherwise, the most recent official release is used.', array('%vocabulary_name' => theme('placeholder', $vocab->name))) ."
\n"; } + $output .= form_render($form['snapshot_table']); $output .= form_render($form['advanced']); $output .= form_render($form); return $output; @@ -992,7 +1002,7 @@ function project_release_project_edit_fo * @see project_release_project_edit_releases */ function project_release_project_edit_form_submit($form_id, $form_values) { - db_query("UPDATE {project_release_projects} SET releases = %d, version_format = '%s' WHERE nid = %d", $form_values['releases'], $form_values['version_format'], $form_values['nid']); + db_query("UPDATE {project_release_projects} SET releases = %d, snapshot_table = %d, version_format = '%s' WHERE nid = %d", $form_values['releases'], $form_values['snapshot_table'], $form_values['version_format'], $form_values['nid']); foreach ($form_values['default_versions'] as $tid => $values) { if ($obj = db_fetch_object(db_query("SELECT * FROM {project_release_default_versions} WHERE nid = %d AND tid = %d", $form_values['nid'], $tid))) { @@ -1095,13 +1105,14 @@ function project_release_project_nodeapi switch ($op) { case 'load': $project = db_fetch_object(db_query('SELECT * FROM {project_release_projects} WHERE nid = %d', $node->nid)); - foreach (array('releases', 'version_format') as $field) { + $fields = array('releases', 'version_format', 'snapshot_table'); + foreach ($fields as $field) { $node->$field = $project->$field; } break; case 'insert': - db_query("INSERT INTO {project_release_projects} (nid, releases, version_format) VALUES (%d, %d, '%s')", $node->nid, 1, ''); + db_query("INSERT INTO {project_release_projects} (nid, releases, snapshot_table, version_format) VALUES (%d, %d, %d, '%s')", $node->nid, 1, 1, ''); break; case 'delete': @@ -1120,7 +1131,9 @@ function project_release_project_nodeapi function project_release_project_download_table($node) { $output = '

' . t('Releases') . '

'; $output .= project_release_table($node, 1, 1, FALSE, 'default-official', t('Official releases')); - $output .= project_release_table($node, 1, 3, FALSE, 'snapshot', t('Development snapshots')); + if ($node->snapshot_table) { + $output .= project_release_table($node, 1, 3, FALSE, 'snapshot', t('Development snapshots')); + } $links[] = l(t('View all releases'), 'node/'. $node->nid .'/release'); if (project_check_admin_access($node->nid)) { $links[] = l(t('Add new release'), 'node/add/project_release/'. $node->nid);