summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-11-08 19:53:19 +0000
committerDries Buytaert <dries@buytaert.net>2009-11-08 19:53:19 +0000
commit3213087441874cf2ad3392aa935fc8728d5955a3 (patch)
tree55577f910be22400589f186b4c756746610bed71 /includes
parenta75f741e9b51b6f357e0ec957b7e5f0b06295b48 (diff)
downloadbrdo-3213087441874cf2ad3392aa935fc8728d5955a3.tar.gz
brdo-3213087441874cf2ad3392aa935fc8728d5955a3.tar.bz2
- Patch #623992 by sun: fixed the tests. We can re-enable the test bot now.
Diffstat (limited to 'includes')
-rw-r--r--includes/form.inc16
-rw-r--r--includes/module.inc34
2 files changed, 38 insertions, 12 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 9bf1ea841..7ddd6125d 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -832,7 +832,10 @@ function _form_validate($elements, &$form_state, $form_id = NULL) {
// checkboxes, can return a valid value of '0'. Instead, check the
// length if it's a string, and the item count if it's an array.
if ($elements['#required'] && (!count($elements['#value']) || (is_string($elements['#value']) && strlen(trim($elements['#value'])) == 0))) {
- form_error($elements, $t('!name field is required.', array('!name' => $elements['#title'])));
+ form_error($elements, $t('<a href="#!field_id">!name</a> field is required.', array(
+ '!field_id' => $elements['#id'],
+ '!name' => $elements['#title'],
+ )));
}
// Verify that the value is not longer than #maxlength.
@@ -2762,14 +2765,21 @@ function theme_form_element($variables) {
$output = '<div class="' . implode(' ', $class) . '">' . "\n";
$required = !empty($element['#required']) ? theme('form_required_marker', array('element' => $element)) : '';
+ $error = '';
+ if (!empty($element['#required']) && empty($element['#value'])) {
+ $error = form_get_error($element) ? '<span class="error">' . $t('Field is required.') . '</span>' : '';
+ }
+ else {
+ $error = form_get_error($element) ? '<span class="error">' . filter_xss_admin(form_get_error($element)) . '</span>' : '';
+ }
if (!empty($element['#title']) && empty($element['#form_element_skip_title'])) {
$title = $element['#title'];
if (!empty($element['#id'])) {
- $output .= ' <label for="' . $element['#id'] . '">' . $t('!title !required', array('!title' => filter_xss_admin($title), '!required' => $required)) . "</label>\n";
+ $output .= ' <label for="' . $element['#id'] . '">' . $t('!title !required !error', array('!title' => filter_xss_admin($title), '!required' => $required, '!error' => $error)) . "</label>\n";
}
else {
- $output .= ' <label>' . $t('!title !required', array('!title' => filter_xss_admin($title), '!required' => $required)) . "</label>\n";
+ $output .= ' <label>' . $t('!title !required !error', array('!title' => filter_xss_admin($title), '!required' => $required, '!error' => $error)) . "</label>\n";
}
}
diff --git a/includes/module.inc b/includes/module.inc
index 10ddfeb90..b2b157686 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -70,7 +70,7 @@ function module_list($refresh = FALSE, $bootstrap = FALSE, $sort = FALSE, $fixed
$list = system_list('bootstrap');
}
else {
- $list = system_list('module');
+ $list = system_list('module_enabled');
}
}
}
@@ -101,31 +101,47 @@ function system_list($type) {
$lists = &drupal_static(__FUNCTION__);
if (!isset($lists)) {
- $lists = array('bootstrap' => array(), 'module' => array(), 'theme' => array());
+ $lists = array(
+ 'bootstrap' => array(),
+ 'module' => array(),
+ 'module_enabled' => array(),
+ 'theme' => array(),
+ 'theme_enabled' => array(),
+ );
// The module name (rather than the filename) is used as the fallback
// weighting in order to guarantee consistent behavior across different
// Drupal installations, which might have modules installed in different
// locations in the file system. The ordering here must also be
// consistent with the one used in module_implements().
- $result = db_query("SELECT * FROM {system} WHERE status = 1 ORDER BY weight ASC, name ASC");
+ $result = db_query("SELECT * FROM {system} ORDER BY weight ASC, name ASC");
foreach ($result as $record) {
- // Build a list of all enabled modules.
+ // Build a list of all modules.
if ($record->type == 'module') {
$lists['module'][$record->name] = $record->name;
- // Build a separate array of modules required for bootstrap.
- if ($record->bootstrap) {
- $lists['bootstrap'][$record->name] = $record->name;
+ // Build a list of all enabled modules.
+ if ($record->status) {
+ $lists['module_enabled'][$record->name] = $record->name;
+ // Build a separate array of modules required for bootstrap.
+ if ($record->bootstrap) {
+ $lists['bootstrap'][$record->name] = $record->name;
+ }
}
}
- // Build a list of enabled themes.
+ // Build a list of themes.
if ($record->type == 'theme') {
$lists['theme'][$record->name] = $record;
+ // Build a list of enabled themes.
+ if ($record->status) {
+ $lists['theme_enabled'][$record->name] = $record;
+ }
}
// Additionally prime drupal_get_filename() with the filename and type
// for each record, this prevents subsequent database lookups when
// drupal_get_filename() is called without the 'file' argument.
- drupal_get_filename($record->type, $record->name, $record->filename);
+ if ($record->status) {
+ drupal_get_filename($record->type, $record->name, $record->filename);
+ }
}
}