Index: modules/project/release/project_release.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v retrieving revision 1.13 diff -u -p -r1.13 project_release.module --- modules/project/release/project_release.module 13 Jan 2007 07:38:10 -0000 1.13 +++ modules/project/release/project_release.module 15 Jan 2007 07:33:16 -0000 @@ -833,19 +833,38 @@ function project_release_compatibility_l * @see project_page_overview */ function project_release_version_filter_form($version = NULL) { + global $user; if ($terms = project_release_compatibility_list()) { - if (is_null($version)) { - $version = isset($_SESSION['project_version']) ? $_SESSION['project_version'] : variable_get('project_release_overview', -1); + if ($user->uid) { + if (is_null($version)) { + $version = isset($_SESSION['project_version']) ? $_SESSION['project_version'] : variable_get('project_release_overview', -1); + } + $form['version_tid'] = array( + '#type' => 'select', + '#default_value' => $version, + '#options' => $terms, + ); + $form['submit'] = array( + '#type' => 'submit', + '#value' => t('Go') + ); + } + else { + $destination = drupal_get_destination(); + $default_version = variable_get('project_release_overview', -1); + $version_label = check_plain($terms[$default_version]); + $register = ''; + if (variable_get('user_register', 1)) { + $register = ' or '. t('register') .' '; + } + $form['version_tid'] = array( + '#type' => 'select', + '#default_value' => $default_version, + '#options' => array($default_version => $terms[$default_version]), + '#disabled' => TRUE, + ); + $form['version_login'] = array('#value' => ''. t('Login') .'' . $register . t('to modify filter.')); } - $form['version_tid'] = array( - '#type' => 'select', - '#default_value' => $version, - '#options' => $terms, - ); - $form['submit'] = array( - '#type' => 'submit', - '#value' => t('Go') - ); } return isset($form) ? $form : ''; } @@ -856,6 +875,14 @@ function project_release_version_filter_ } } +function project_release_version_filter_form_validate($form_id, $form_values, $form) { + global $user; + if (!$user->uid && $form_values['version_tid'] != variable_get('project_release_overview', -1)) { + $vocab = taxonomy_get_vocabulary(_project_release_get_api_vid()); + form_set_error('version_tid', t('You must login or register to modify the @vocab filter.', array('@vocab' => $vocab->name))); + } +} + function theme_project_release_version_filter_form($form) { if (project_release_get_api_taxonomy()) { $vocab = taxonomy_get_vocabulary(_project_release_get_api_vid());