summaryrefslogtreecommitdiff
path: root/modules/node/node.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-12-02 23:58:21 +0000
committerDries Buytaert <dries@buytaert.net>2010-12-02 23:58:21 +0000
commitaee64c551a51e8c1b9555abc6dc9af9fcd7f5842 (patch)
tree8c51d0532b1e151cf5a7bfb880491943741dd979 /modules/node/node.module
parentd4a368964a73561db54bdcfcc3f587b95525dd2d (diff)
downloadbrdo-aee64c551a51e8c1b9555abc6dc9af9fcd7f5842.tar.gz
brdo-aee64c551a51e8c1b9555abc6dc9af9fcd7f5842.tar.bz2
- Patch #950460 by Gábor Hojtsy, drunken monkey, jhodgdon: language selection in advanced search filters broken.
Diffstat (limited to 'modules/node/node.module')
-rw-r--r--modules/node/node.module11
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/node/node.module b/modules/node/node.module
index 47173cc04..8535a3d3f 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -2692,7 +2692,9 @@ function node_form_search_form_alter(&$form, $form_state) {
// Languages:
$language_options = array();
foreach (language_list('language') as $key => $entity) {
- $language_options[$key] = $entity->name;
+ if ($entity->enabled) {
+ $language_options[$key] = $entity->name;
+ }
}
if (count($language_options) > 1) {
$form['advanced']['language'] = array(
@@ -2728,8 +2730,11 @@ function node_search_validate($form, &$form_state) {
if (isset($form_state['values']['term']) && is_array($form_state['values']['term']) && count($form_state['values']['term'])) {
$keys = search_expression_insert($keys, 'term', implode(',', $form_state['values']['term']));
}
- if (isset($form_state['values']['language']) && is_array($form_state['values']['language']) && count($form_state['values']['language'])) {
- $keys = search_expression_insert($keys, 'language', implode(',', array_filter($form_state['values']['language'])));
+ if (isset($form_state['values']['language']) && is_array($form_state['values']['language'])) {
+ $languages = array_filter($form_state['values']['language']);
+ if (count($languages)) {
+ $keys = search_expression_insert($keys, 'language', implode(',', $languages));
+ }
}
if ($form_state['values']['or'] != '') {
if (preg_match_all('/ ("[^"]+"|[^" ]+)/i', ' ' . $form_state['values']['or'], $matches)) {