diff --git a/sites/all/modules/prev_next/prev_next.module b/sites/all/modules/prev_next/prev_next.module index 6a27dba..ea4d2ee 100644 --- a/prev_next.module +++ b/prev_next.module @@ -414,7 +414,7 @@ function prev_next_block_view($delta) { function _prev_next_add($nid) { $node_type = db_query_range("SELECT type FROM {node} WHERE nid = :nid", 0, 1, array(':nid' => $nid))->fetchField(); $search_criteria = variable_get(PREV_NEXT_NODE_TYPE . $node_type . '_indexing_criteria', PREV_NEXT_INDEXING_CRITERIA_DEFAULT); - $cond = _prev_next_node_types_sql($node_type); + $cond = _prev_next_node_types_sql($node_type)._prev_next_node_lang($nid); if ($search_criteria != 'nid') { $criteria_value = db_query_range("SELECT $search_criteria FROM {node} WHERE nid = :nid", 0, 1, array(':nid' => $nid))->fetchField(); @@ -452,7 +452,7 @@ function _prev_next_add($nid) { foreach (node_type_get_types() as $type => $name) { if (variable_get(PREV_NEXT_NODE_TYPE . $type, 0)) { $search_criteria = variable_get(PREV_NEXT_NODE_TYPE . $type . '_indexing_criteria', PREV_NEXT_INDEXING_CRITERIA_DEFAULT); - $cond = _prev_next_node_types_sql($node_type); + $cond = _prev_next_node_types_sql($node_type)._prev_next_node_lang($nid); if ($search_criteria != 'nid') { $criteria_value = db_query_range("SELECT $search_criteria FROM {node} WHERE nid = :nid", 0, 1, array(':nid' => $nid))->fetchField(); @@ -629,3 +629,16 @@ function _prev_next_node_types_sql($node_type = '') { return $cond; } + + /* + * Helper function to return a SQL clause for language to be indexed + */ + function _prev_next_node_lang($nid) { + $lang = db_select('node', 'n') + ->fields('n', array('language')) + ->condition('nid', $nid,'=') + ->execute() + -> fetchField();; + return " AND language = '".$lang."'"; + return ''; + }