Index: modules/contact/contact.pages.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/contact/contact.pages.inc,v retrieving revision 1.11 diff -u -p -r1.11 contact.pages.inc --- modules/contact/contact.pages.inc 16 Jul 2008 21:59:26 -0000 1.11 +++ modules/contact/contact.pages.inc 5 Sep 2008 13:15:28 -0000 @@ -10,14 +10,14 @@ /** * Site-wide contact page. */ -function contact_site_page() { +function contact_site_page($arg_category = NULL) { global $user; if (!flood_is_allowed('contact', variable_get('contact_hourly_threshold', 3)) && !user_access('administer site-wide contact form')) { $output = t("You cannot send more than %number messages per hour. Please try again later.", array('%number' => variable_get('contact_hourly_threshold', 3))); } else { - $output = drupal_get_form('contact_mail_page'); + $output = drupal_get_form('contact_mail_page',$arg_category); } return $output; @@ -35,6 +35,10 @@ function contact_mail_page() { $default_category = $category->cid; } } + $arg_category = func_get_arg(1); + if(arg(1) && in_array($arg_category, $categories)) { + $default_category = array_search($arg_category, $categories); + } if (count($categories) > 0) { $form['#token'] = $user->uid ? $user->name . $user->mail : ''; @@ -60,7 +64,7 @@ function contact_mail_page() { // If there is more than one category available and no default category has been selected, // prepend a default placeholder value. if (!isset($default_category)) { - $default_category = t('- Please choose -'); + $default_category = '<'. t('Please choose') .'>'; $categories = array($default_category) + $categories; } $form['cid'] = array('#type' => 'select',