Index: cmf.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/cmf/cmf.module,v retrieving revision 1.7 diff -u -5 -p -w -u -p -r1.7 cmf.module --- cmf.module 16 Oct 2008 11:05:40 -0000 1.7 +++ cmf.module 29 Jan 2009 15:43:02 -0000 @@ -203,10 +203,13 @@ function cmf_filter_form(&$form_state, $ unset($filters['blocked']); } if ($type == 'role') { unset($filters['role']); } + if ($type == 'language') { + unset($filters['language']); + } } /* $script = 'document.getElementById(\'edit-user\').style.display="none"'; // $script = 'document.getElementById("edit-user").style.visibility="hidden"'; @@ -375,10 +378,14 @@ function cmf_filters($true = NULL) { $filters['users'] = array('title' => t('user name')); $filters['role'] = array('title' => t('user role'), 'options' => cmf_get_roles('names')); $filters['blocked'] = array('title' => t('user status'), 'options' => array(1 => t('active'), 0 => t('blocked'))); } + $languages = cmf_get_languages(); + if (count($languages) > 1) { + $filters['language'] = array('title' => t('language'), 'options' => $languages); + } return $filters; } /********************** @@ -423,10 +430,13 @@ function cmf_build_filter_query() { $where[] = "u.name = '%s'"; break; case 'blocked': $where[] = "u.status = %d AND u.uid != 0"; break; + case 'language': + $where[] = "n.language = '%s' "; + break; } $args[] = $value; } $where = count($where) ? 'WHERE '. implode(' AND ', $where) : ''; @@ -619,10 +629,23 @@ function cmf_get_roles($op) { } return $roles; } +/** + * Builds a list of enabled languages. + * + * @return array of enabled languages + */ +function cmf_get_languages() { + $languages = array(); + foreach (language_list() as $key => $value) { + $languages[$key] = $value->name; + } + return $languages; +} + /** * Get the html code of an image * * @param the pretended image