diff options
-rw-r--r-- | CHANGELOG.txt | 1 | ||||
-rw-r--r-- | includes/common.inc | 36 | ||||
-rw-r--r-- | includes/theme.inc | 18 | ||||
-rw-r--r-- | modules/profile.module | 10 | ||||
-rw-r--r-- | modules/profile/profile.module | 10 |
5 files changed, 42 insertions, 33 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 864801950..bdff215b8 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -7,6 +7,7 @@ Drupal x.x.x, xxxx-xx-xx - menu module: * made it possible to customize menus. - refactored 403 (forbidden) handling and added support for custom 403 pages. +- added support for RSS ping-notifications of http://technorati.com/. - usability: * slightly reorganized navigation menus. diff --git a/includes/common.inc b/includes/common.inc index 32a70a763..547f50bf5 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -973,66 +973,66 @@ function form($form, $method = "post", $action = NULL, $attributes = NULL) { return "<form action=\"$action\" method=\"$method\"". drupal_attributes($attributes) .">\n$form\n</form>\n"; } -function form_item($title, $value, $description = NULL, $id = NULL) { - return theme("form_element", $title, $value, $description, $id); +function form_item($title, $value, $description = NULL, $id = NULL, $required = FALSE) { + return theme("form_element", $title, $value, $description, $id, $required); } function form_group($legend, $group, $description = NULL) { return "<fieldset>" . ($legend ? "<legend>$legend</legend>" : "") . $group . ($description ? "<div class=\"description\">$description</div>" : "") . "</fieldset>\n"; } -function form_radio($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL) { +function form_radio($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL, $required = FALSE) { $element = "<input type=\"radio\" class=\"form-radio\" name=\"edit[$name]\" value=\"$value\"". ($checked ? " checked=\"checked\"" : "") . drupal_attributes($attributes) .' />'; if (!is_null($title)) { $element = "<label class=\"option\">$element $title</label>"; } - return theme('form_element', NULL, $element, $description); + return theme('form_element', NULL, $element, $description, $required); } -function form_radios($title, $name, $value, $options, $description = NULL) { +function form_radios($title, $name, $value, $options, $description = NULL, $required = FALSE) { if (count($options) > 0) { $choices = ''; foreach ($options as $key => $choice) { $choices .= "<label class=\"option\"><input type=\"radio\" class=\"form-radio\" name=\"edit[$name]\" value=\"$key\"". ($key == $value ? " checked=\"checked\"" : "") ." /> $choice</label><br />"; } - return theme('form_element', $title, $choices, $description); + return theme('form_element', $title, $choices, $description, $required = FALSE); } } -function form_checkbox($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL) { +function form_checkbox($title, $name, $value = 1, $checked = 0, $description = NULL, $attributes = NULL, $required = FALSE) { $element = "<input type=\"checkbox\" class=\"form-checkbox\" name=\"edit[$name]\" id=\"edit-$name\" value=\"". $value ."\"". ($checked ? " checked=\"checked\"" : "") . drupal_attributes($attributes) .' />'; if (!is_null($title)) { $element = "<label class=\"option\">$element $title</label>"; } - return form_hidden($name, 0) . theme('form_element', NULL, $element, $description); + return form_hidden($name, 0) . theme('form_element', NULL, $element, $description, $required); } -function form_textfield($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL) { +function form_textfield($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL, $required = FALSE) { $size = $size ? " size=\"$size\"" : ""; - return theme("form_element", $title, "<input type=\"text\" maxlength=\"$maxlength\" class=\"form-text\" name=\"edit[$name]\" id=\"$name\"$size value=\"". check_form($value) ."\"". drupal_attributes($attributes) ." />", $description, $name); + return theme("form_element", $title, "<input type=\"text\" maxlength=\"$maxlength\" class=\"form-text\" name=\"edit[$name]\" id=\"$name\"$size value=\"". check_form($value) ."\"". drupal_attributes($attributes) ." />", $description, $name, $required); } -function form_password($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL) { +function form_password($title, $name, $value, $size, $maxlength, $description = NULL, $attributes = NULL, $required = FALSE) { $size = $size ? " size=\"$size\"" : ""; - return theme("form_element", $title, "<input type=\"password\" class=\"form-password\" maxlength=\"$maxlength\" name=\"edit[$name]\" id=\"$name\"$size value=\"". check_form($value) ."\"". drupal_attributes($attributes) ." />", $description, $name); + return theme("form_element", $title, "<input type=\"password\" class=\"form-password\" maxlength=\"$maxlength\" name=\"edit[$name]\" id=\"$name\"$size value=\"". check_form($value) ."\"". drupal_attributes($attributes) ." />", $description, $name, $required); } -function form_textarea($title, $name, $value, $cols, $rows, $description = NULL, $attributes = NULL) { +function form_textarea($title, $name, $value, $cols, $rows, $description = NULL, $attributes = NULL, $required = FALSE) { $cols = $cols ? " cols=\"$cols\"" : ""; module_invoke_all("textarea", $name); // eg. optionally plug in a WYSIWYG editor - return theme("form_element", $title, "<textarea wrap=\"virtual\"$cols rows=\"$rows\" name=\"edit[$name]\" id=\"$name\"". drupal_attributes($attributes) .">". check_form($value) ."</textarea>", $description, $name); + return theme("form_element", $title, "<textarea wrap=\"virtual\"$cols rows=\"$rows\" name=\"edit[$name]\" id=\"$name\"". drupal_attributes($attributes) .">". check_form($value) ."</textarea>", $description, $name, $required); } -function form_select($title, $name, $value, $options, $description = NULL, $extra = 0, $multiple = 0) { +function form_select($title, $name, $value, $options, $description = NULL, $extra = 0, $multiple = 0, $required = FALSE) { $select = ''; foreach ($options as $key => $choice) { $select .= "<option value=\"$key\"". (is_array($value) ? (in_array($key, $value) ? " selected=\"selected\"" : "") : ($value == $key ? " selected=\"selected\"" : "")) .">". check_form($choice) ."</option>"; } - return theme("form_element", $title, "<select name=\"edit[$name]". ($multiple ? "[]" : "") ."\"". ($multiple ? " multiple=\"multiple\" " : "") . ($extra ? " $extra" : "") ." id=\"$name\">$select</select>", $description, $name); + return theme("form_element", $title, "<select name=\"edit[$name]". ($multiple ? "[]" : "") ."\"". ($multiple ? " multiple=\"multiple\" " : "") . ($extra ? " $extra" : "") ." id=\"$name\">$select</select>", $description, $name, $required); } -function form_file($title, $name, $size, $description = NULL) { - return theme("form_element", $title, "<input type=\"file\" class=\"form-file\" name=\"edit[$name]\" id=\"$name\" size=\"$size\" />\n", $description, $name); +function form_file($title, $name, $size, $description = NULL, $required = FALSE) { + return theme("form_element", $title, "<input type=\"file\" class=\"form-file\" name=\"edit[$name]\" id=\"$name\" size=\"$size\" />\n", $description, $name, $required); } function form_hidden($name, $value) { diff --git a/includes/theme.inc b/includes/theme.inc index cd0559529..a4f329cd4 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -273,22 +273,30 @@ function theme_node($node, $main = 0, $page = 0) { * @return a string representing the form element */ -function theme_form_element($title, $value, $description = NULL, $id = NULL) { +function theme_form_element($title, $value, $description = NULL, $id = NULL, $required = FALSE) { + + $output = "<div class=\"form-item\">\n"; + + $required = $required ? theme('mark') : ''; if ($title) { if ($id) { - $title = "<label for=\"$id\">$title:</label><br />"; + $output .= " <label for=\"$id\">$title:</label>$required<br />\n"; } else { - $title = "<label>$title:</label><br />"; + $output .= " <label>$title:</label>$required<br />\n"; } } + $output .= " $value\n"; + if ($description) { - $description = "<div class=\"description\">$description</div>"; + $output .= " <div class=\"description\">$description</div>\n"; } - return "<div class=\"form-item\">". $title . $value . $description ."</div>\n"; + $output .= "</div>\n"; + + return $output; } /** diff --git a/modules/profile.module b/modules/profile.module index 2b782b3cf..2f1f91c94 100644 --- a/modules/profile.module +++ b/modules/profile.module @@ -149,16 +149,16 @@ function profile_edit_profile($edit, $user) { switch ($field->type) { case 'textfield': case 'url': - $fields[$field->category] .= form_textfield($field->title, $field->name, $edit[$field->name], 70, 255, $field->explanation); + $fields[$field->category] .= form_textfield($field->title, $field->name, $edit[$field->name], 70, 255, $field->explanation, NULL, $field->required); break; case 'textarea': - $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation); + $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation, NULL, $field->required); break; case 'list': - $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation ." ". t('Put each entry on a separate line. No HTML allowed.')); + $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation ." ". t('Put each entry on a separate line. No HTML allowed.'), NULL, $field->required); break; case 'checkbox': - $fields[$field->category] .= form_checkbox($field->title, $field->name, 1, $edit[$field->name], $field->explanation); + $fields[$field->category] .= form_checkbox($field->title, $field->name, 1, $edit[$field->name], $field->explanation, NULL, $field->required); break; case 'selection': $options = array('--'); @@ -169,7 +169,7 @@ function profile_edit_profile($edit, $user) { } } - $fields[$field->category] .= form_select($field->title, $field->name, $edit[$field->name], $options, $field->explanation); + $fields[$field->category] .= form_select($field->title, $field->name, $edit[$field->name], $options, $field->explanation, 0, 0, $field->required); break; } } diff --git a/modules/profile/profile.module b/modules/profile/profile.module index 2b782b3cf..2f1f91c94 100644 --- a/modules/profile/profile.module +++ b/modules/profile/profile.module @@ -149,16 +149,16 @@ function profile_edit_profile($edit, $user) { switch ($field->type) { case 'textfield': case 'url': - $fields[$field->category] .= form_textfield($field->title, $field->name, $edit[$field->name], 70, 255, $field->explanation); + $fields[$field->category] .= form_textfield($field->title, $field->name, $edit[$field->name], 70, 255, $field->explanation, NULL, $field->required); break; case 'textarea': - $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation); + $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation, NULL, $field->required); break; case 'list': - $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation ." ". t('Put each entry on a separate line. No HTML allowed.')); + $fields[$field->category] .= form_textarea($field->title, $field->name, $edit[$field->name], 60, 5, $field->explanation ." ". t('Put each entry on a separate line. No HTML allowed.'), NULL, $field->required); break; case 'checkbox': - $fields[$field->category] .= form_checkbox($field->title, $field->name, 1, $edit[$field->name], $field->explanation); + $fields[$field->category] .= form_checkbox($field->title, $field->name, 1, $edit[$field->name], $field->explanation, NULL, $field->required); break; case 'selection': $options = array('--'); @@ -169,7 +169,7 @@ function profile_edit_profile($edit, $user) { } } - $fields[$field->category] .= form_select($field->title, $field->name, $edit[$field->name], $options, $field->explanation); + $fields[$field->category] .= form_select($field->title, $field->name, $edit[$field->name], $options, $field->explanation, 0, 0, $field->required); break; } } |