annotate views_calc.views.inc @ 2:b0a976e17cc7

Views Calc: Version de dev du 14/06/2009
author Franck Deroche <franck@defr.org>
date Fri, 07 Aug 2009 15:17:08 +0200
parents 0651c02e6ed7
children
rev   line source
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 }