summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.txt1
-rw-r--r--modules/contact.module13
-rw-r--r--modules/contact/contact.module13
3 files changed, 23 insertions, 4 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index a5903938c..0f90a2b7d 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -2,6 +2,7 @@ Drupal x.x.x, xxxx-xx-xx (development version)
------------------------
- usability:
* added support for auto-complete forms (AJAX) to user profiles.
+ * improved configurability of the contact forms.
Drupal 4.7.0, 2006-05-01
------------------------
diff --git a/modules/contact.module b/modules/contact.module
index 07bcd9553..051235b14 100644
--- a/modules/contact.module
+++ b/modules/contact.module
@@ -120,7 +120,7 @@ function contact_menu($may_cache) {
*
* Allows the user the option of enabling/disabling his personal contact form.
*/
-function contact_user($type, $edit, &$user, $category = NULL) {
+function contact_user($type, &$edit, &$user, $category = NULL) {
if ($type == 'form' && $category == 'account') {
$form['contact'] = array('#type' => 'fieldset',
'#title' => t('Contact settings'),
@@ -134,9 +134,12 @@ function contact_user($type, $edit, &$user, $category = NULL) {
);
return $form;
}
- if ($type == 'validate') {
+ elseif ($type == 'validate') {
return array('contact' => $edit['contact']);
}
+ elseif ($type == 'insert') {
+ $edit['contact'] = variable_get('contact_default_status', 1);
+ }
}
/**
@@ -291,6 +294,12 @@ function contact_admin_settings() {
'#default_value' => variable_get('contact_hourly_threshold', 3),
'#description' => t('The maximum number of contact form submissions a user can perform per hour.'),
);
+ $form['contact_default_status'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Enable personal contact form by default'),
+ '#default_value' => variable_get('contact_default_status', 1),
+ '#description' => t('Default status of the personal contact form for new users.'),
+ );
$form['submit'] = array('#type' => 'submit',
'#value' => t('Save configuration'),
);
diff --git a/modules/contact/contact.module b/modules/contact/contact.module
index 07bcd9553..051235b14 100644
--- a/modules/contact/contact.module
+++ b/modules/contact/contact.module
@@ -120,7 +120,7 @@ function contact_menu($may_cache) {
*
* Allows the user the option of enabling/disabling his personal contact form.
*/
-function contact_user($type, $edit, &$user, $category = NULL) {
+function contact_user($type, &$edit, &$user, $category = NULL) {
if ($type == 'form' && $category == 'account') {
$form['contact'] = array('#type' => 'fieldset',
'#title' => t('Contact settings'),
@@ -134,9 +134,12 @@ function contact_user($type, $edit, &$user, $category = NULL) {
);
return $form;
}
- if ($type == 'validate') {
+ elseif ($type == 'validate') {
return array('contact' => $edit['contact']);
}
+ elseif ($type == 'insert') {
+ $edit['contact'] = variable_get('contact_default_status', 1);
+ }
}
/**
@@ -291,6 +294,12 @@ function contact_admin_settings() {
'#default_value' => variable_get('contact_hourly_threshold', 3),
'#description' => t('The maximum number of contact form submissions a user can perform per hour.'),
);
+ $form['contact_default_status'] = array(
+ '#type' => 'checkbox',
+ '#title' => t('Enable personal contact form by default'),
+ '#default_value' => variable_get('contact_default_status', 1),
+ '#description' => t('Default status of the personal contact form for new users.'),
+ );
$form['submit'] = array('#type' => 'submit',
'#value' => t('Save configuration'),
);