? .advuser_filters.inc.swp
? notes
Index: advuser_filters.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/advuser/Attic/advuser_filters.inc,v
retrieving revision 1.1.2.7
diff -u -p -r1.1.2.7 advuser_filters.inc
--- advuser_filters.inc	26 Mar 2008 20:03:43 -0000	1.1.2.7
+++ advuser_filters.inc	14 May 2008 15:17:21 -0000
@@ -102,11 +102,28 @@ function advuser_filter_form() {
         if ($filter['autocomplete']) {
           $autocomplete = "profile/autocomplete/". $filter['autocomplete'];
         }
-        $form['filters']['status'][$key] = array(
-          '#type' => $filter['type'],
-          '#options' => $filter['options'],
-          '#autocomplete_path' => $autocomplete,
-        );
+        switch ($filter['type']) {
+          case 'selection': {
+            $form['filters']['status'][$key] = array(
+              '#type' => 'select',
+              '#options' => $filter['options'],
+              '#autocomplete_path' => $autocomplete,
+            );
+          } break;
+          case 'checkbox': {
+            $form['filters']['status'][$key] = array(
+              '#type' => 'checkbox',
+            );
+          } break;
+          default: {
+            $form['filters']['status'][$key] = array(
+              '#type' => $filter['type'],
+              '#options' => $filter['options'],
+              '#autocomplete_path' => $autocomplete,
+              '#size' => 20,
+            );
+          } break;
+        } //End switch ($filter['type']).
       } break;
     }
   }
@@ -317,11 +334,21 @@ function advuser_filters() {
 
   $profile_fields = advuser_profile_fields();
   foreach ($profile_fields as $field) {
+    // Build array of options if they exist
+    $opts = NULL;
+    if ( ! empty($field->options) ) {
+      $opts = array();
+      foreach ( explode("\n", $field->options) as $opt ) {
+        $opt = trim($opt);
+        $opts[$opt] = $opt;
+      }
+    }
     $filters[$field->name] = array(
-      'title' => $field->title,
+      'title' => check_plain($field->title),
       'type' => $field->type,
       'join' => "LEFT JOIN {profile_fields} pf ON pf.fid = ".$field->fid." LEFT JOIN {profile_values} pv ON pv.fid = pf.fid",
       'where' => "pv.value %op '%s' AND pv.uid = u.uid",
+      'options' => $opts,
     );
   }
   return $filters;
