/[drupal]/contributions/modules/cck_facets/number_facets.module
ViewVC logotype

Contents of /contributions/modules/cck_facets/number_facets.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.8 - (show annotations) (download) (as text)
Fri May 1 19:12:46 2009 UTC (6 months, 4 weeks ago) by davidlesieur
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +2 -2 lines
File MIME type: text/x-php
#400810: Fixed empty result set when search key value is 0.
1 <?php
2 // $Id: number_facets.module,v 1.7 2009/01/04 20:06:55 davidlesieur Exp $
3
4 /**
5 * @file
6 * Exposes CCK Number fields as facets.
7 */
8
9 module_load_include('inc', 'cck_facets');
10
11 /**
12 * Implementation of hook_cck_facets_collect().
13 */
14 function number_facets_cck_facets_collect(&$facets, $field, $domain, $env, $arg = NULL) {
15 if ($field['type'] == 'number_decimal' || $field['type'] == 'number_integer') {
16 switch ($domain) {
17 case 'facets':
18 $facets[] = new cck_facet($field);
19 break;
20
21 case 'text':
22 // Scan the given search text for a '{field_name}:{value}'
23 // token, and create facets from it.
24 if (!is_null($number = search_query_extract($arg, $field['field_name']))) {
25 if (is_numeric($number)) {
26 // Create an active facet with the value found in the search text.
27 $category = new cck_facet_category($field, $number);
28 $facets[] = new cck_facet($field, array($category));
29 }
30 // Remove the parsed text
31 $arg = search_query_insert($arg, $field['field_name']);
32 }
33 break;
34
35 case 'node':
36 if (isset($arg->{$field['field_name']}) && is_array($arg->{$field['field_name']})) {
37 // Iterate through the field's multiple values.
38 foreach ($arg->{$field['field_name']} as $item) {
39 $value = array_shift($item);
40 if (is_numeric($value)) {
41 $category = new cck_facet_category($field, $value);
42 $facets[] = new cck_facet($field, array($category));
43 }
44 }
45 }
46 break;
47 }
48 }
49 return $arg;
50 }
51

  ViewVC Help
Powered by ViewVC 1.1.2