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());