franck@0: array( franck@0: 'path' => drupal_get_path('module', 'views_calc'), franck@0: ), franck@0: 'handlers' => array( franck@0: 'views_calc_field_handler' => array( franck@0: 'parent' => 'views_handler_field', franck@0: ), franck@0: ), franck@0: ); franck@0: } franck@0: franck@0: /** franck@0: * Implementation of hook_views_data(). franck@0: * franck@0: * Add calc fields to views field list. franck@0: */ franck@0: function views_calc_views_data() { franck@0: $data = array(); franck@0: $results = _views_calc_fields(); franck@0: while($field = db_fetch_array($results)) { franck@2: $data[$field['base']]['cid'. $field['cid']] = array( franck@0: 'group' => t('Views Calc'), franck@0: 'title' => t($field['label']), franck@0: 'help' => $field['calc'], franck@0: 'field' => array( franck@0: 'field' => 'cid'. $field['cid'], franck@0: 'table' => 'node', franck@0: 'handler' => 'views_calc_field_handler', franck@0: 'click sortable' => TRUE, franck@0: 'allow empty' => TRUE, franck@0: 'cid' => $field['cid'], franck@0: 'format' => $field['format'], franck@0: 'custom' => $field['custom'], franck@0: 'calc' => $field['calc'], franck@0: ), franck@0: ); franck@0: } franck@0: return $data; franck@0: } franck@0: franck@0: /** franck@0: * Implementation of hook_views_plugins franck@0: */ franck@0: function views_calc_views_plugins() { franck@0: $path = drupal_get_path('module', 'views_calc'); franck@0: $views_path = drupal_get_path('module', 'views'); franck@0: require_once "./$path/theme.inc"; franck@0: franck@0: $data = array( franck@0: 'module' => 'views_calc', // This just tells our themes are elsewhere. franck@0: 'style' => array( franck@0: // Style plugin for the navigation. franck@0: 'views_calc' => array( franck@0: 'title' => t('Views Calc Table'), franck@0: 'help' => t('Creates a table with column calculations.'), franck@0: 'handler' => 'views_calc_table', franck@0: 'path' => $path, franck@0: 'parent' => 'table', franck@0: 'theme' => 'views_calc_table', franck@0: 'theme file' => 'theme.inc', franck@0: 'theme path' => "$path", franck@0: 'uses row plugin' => FALSE, franck@0: 'uses fields' => TRUE, franck@0: 'uses options' => TRUE, franck@0: 'type' => 'normal', franck@0: 'even empty' => FALSE, franck@0: ), franck@0: ) franck@0: ); franck@0: return $data; franck@0: }