franck@0
|
1 <?php |
franck@2
|
2 // $Id: views_calc.views.inc,v 1.9 2009/06/12 16:38:30 karens Exp $ |
franck@0
|
3 /** |
franck@0
|
4 * Implementation of hook_views_handlers(). |
franck@0
|
5 */ |
franck@0
|
6 function views_calc_views_handlers() { |
franck@0
|
7 return array( |
franck@0
|
8 'info' => array( |
franck@0
|
9 'path' => drupal_get_path('module', 'views_calc'), |
franck@0
|
10 ), |
franck@0
|
11 'handlers' => array( |
franck@0
|
12 'views_calc_field_handler' => array( |
franck@0
|
13 'parent' => 'views_handler_field', |
franck@0
|
14 ), |
franck@0
|
15 ), |
franck@0
|
16 ); |
franck@0
|
17 } |
franck@0
|
18 |
franck@0
|
19 /** |
franck@0
|
20 * Implementation of hook_views_data(). |
franck@0
|
21 * |
franck@0
|
22 * Add calc fields to views field list. |
franck@0
|
23 */ |
franck@0
|
24 function views_calc_views_data() { |
franck@0
|
25 $data = array(); |
franck@0
|
26 $results = _views_calc_fields(); |
franck@0
|
27 while($field = db_fetch_array($results)) { |
franck@2
|
28 $data[$field['base']]['cid'. $field['cid']] = array( |
franck@0
|
29 'group' => t('Views Calc'), |
franck@0
|
30 'title' => t($field['label']), |
franck@0
|
31 'help' => $field['calc'], |
franck@0
|
32 'field' => array( |
franck@0
|
33 'field' => 'cid'. $field['cid'], |
franck@0
|
34 'table' => 'node', |
franck@0
|
35 'handler' => 'views_calc_field_handler', |
franck@0
|
36 'click sortable' => TRUE, |
franck@0
|
37 'allow empty' => TRUE, |
franck@0
|
38 'cid' => $field['cid'], |
franck@0
|
39 'format' => $field['format'], |
franck@0
|
40 'custom' => $field['custom'], |
franck@0
|
41 'calc' => $field['calc'], |
franck@0
|
42 ), |
franck@0
|
43 ); |
franck@0
|
44 } |
franck@0
|
45 return $data; |
franck@0
|
46 } |
franck@0
|
47 |
franck@0
|
48 /** |
franck@0
|
49 * Implementation of hook_views_plugins |
franck@0
|
50 */ |
franck@0
|
51 function views_calc_views_plugins() { |
franck@0
|
52 $path = drupal_get_path('module', 'views_calc'); |
franck@0
|
53 $views_path = drupal_get_path('module', 'views'); |
franck@0
|
54 require_once "./$path/theme.inc"; |
franck@0
|
55 |
franck@0
|
56 $data = array( |
franck@0
|
57 'module' => 'views_calc', // This just tells our themes are elsewhere. |
franck@0
|
58 'style' => array( |
franck@0
|
59 // Style plugin for the navigation. |
franck@0
|
60 'views_calc' => array( |
franck@0
|
61 'title' => t('Views Calc Table'), |
franck@0
|
62 'help' => t('Creates a table with column calculations.'), |
franck@0
|
63 'handler' => 'views_calc_table', |
franck@0
|
64 'path' => $path, |
franck@0
|
65 'parent' => 'table', |
franck@0
|
66 'theme' => 'views_calc_table', |
franck@0
|
67 'theme file' => 'theme.inc', |
franck@0
|
68 'theme path' => "$path", |
franck@0
|
69 'uses row plugin' => FALSE, |
franck@0
|
70 'uses fields' => TRUE, |
franck@0
|
71 'uses options' => TRUE, |
franck@0
|
72 'type' => 'normal', |
franck@0
|
73 'even empty' => FALSE, |
franck@0
|
74 ), |
franck@0
|
75 ) |
franck@0
|
76 ); |
franck@0
|
77 return $data; |
franck@0
|
78 } |