system.views.inc in Views (for Drupal 7) 6.3
Same filename and directory in other branches
Provide views data and handlers for system tables that are not represented by their own module.
File
modules/system.views.incView source
<?php
/**
* @file
*
* Provide views data and handlers for system tables that are not represented by
* their own module.
*/
/**
* @defgroup views_system_module system.module handlers
*
* @{
*/
/**
* Implementation of hook_views_data()
*/
function system_views_data() {
$data = array();
// ----------------------------------------------------------------------
// files table
$data['files']['table']['group'] = t('File');
// Advertise this table as a possible base table
$data['files']['table']['base'] = array(
'field' => 'fid',
'title' => t('File'),
'help' => t("Files maintained by Drupal and various modules."),
);
// The files table does not inherently join to the node table,
// but may things (such as upload.module) can add relationships
// that allow file fields to be used.
// For other base tables, explain how we join
$data['files']['table']['join'] = array(
'users' => array(
// direct join to the users table via 'uid' field.
'left_field' => 'uid',
'field' => 'uid',
),
);
// fid
$data['files']['fid'] = array(
'title' => t('File ID'),
'help' => t('The ID of the file.'),
'field' => array(
'handler' => 'views_handler_field_file',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_file_fid',
'parent' => 'views_handler_argument_numeric',
// make sure parent is included
'name field' => 'filename',
// the field to display in the summary.
'numeric' => TRUE,
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// filename
$data['files']['filename'] = array(
'title' => t('Name'),
'help' => t('The name of the file.'),
'field' => array(
'handler' => 'views_handler_field_file',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
);
// filepath
$data['files']['filepath'] = array(
'title' => t('Path'),
'help' => t('The path of the file.'),
'field' => array(
'handler' => 'views_handler_field_file',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
);
// filemime
$data['files']['filemime'] = array(
'title' => t('Mime type'),
'help' => t('The mime type of the file.'),
'field' => array(
'handler' => 'views_handler_field_file',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'argument' => array(
'handler' => 'views_handler_argument_string',
),
);
// extension
$data['files']['extension'] = array(
'title' => t('Extension'),
'help' => t('The extension of the file.'),
'real field' => 'filename',
'field' => array(
'handler' => 'views_handler_field_file_extension',
'click sortable' => FALSE,
),
);
// filesize
$data['files']['filesize'] = array(
'title' => t('Size'),
'help' => t('The size of the file.'),
'field' => array(
'handler' => 'views_handler_field_file_size',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
),
);
// status
$data['files']['status'] = array(
'title' => t('Status'),
'help' => t('The status of the file.'),
'field' => array(
'handler' => 'views_handler_field_file_status',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort',
),
'filter' => array(
'handler' => 'views_handler_filter_file_status',
),
);
// timestamp field
$data['files']['timestamp'] = array(
'title' => t('Upload date'),
'help' => t('The date the file was uploaded.'),
'field' => array(
'handler' => 'views_handler_field_date',
'click sortable' => TRUE,
),
'sort' => array(
'handler' => 'views_handler_sort_date',
),
'filter' => array(
'handler' => 'views_handler_filter_date',
),
);
// uid field
$data['files']['uid'] = array(
'title' => t('User'),
'help' => t('The user, who uploaded the file.'),
'relationship' => array(
'base' => 'users',
'base field' => 'uid',
'handler' => 'views_handler_relationship',
'label' => t('User'),
),
);
// ----------------------------------------------------------------------
// system table
$data['system']['table']['group'] = t('System');
// Advertise this table as a possible base table
$data['system']['table']['base'] = array(
'field' => 'filename',
'title' => t('Module/Theme/Theme engine'),
'help' => t('Modules/Themes/Theme engines in your codebase.'),
);
// fields
// - filename
$data['system']['filename'] = array(
'title' => t('Module/Theme/Theme engine filename'),
'help' => t('The path of the primary file for this item, relative to the Drupal root; e.g. modules/node/node.module.'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_string',
'name field' => 'filename',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// - name
$data['system']['name'] = array(
'title' => t('Module/Theme/Theme engine name'),
'help' => t('The name of the item; e.g. node.'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_string',
'name field' => 'name',
),
'filter' => array(
'handler' => 'views_handler_filter_string',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// - type
$data['system']['type'] = array(
'title' => t('Type'),
'help' => t('The type of the item, either module, theme, or theme_engine.'),
'field' => array(
'handler' => 'views_handler_field',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_string',
'name field' => 'type',
),
'filter' => array(
'handler' => 'views_handler_filter_system_type',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// - status
$data['system']['status'] = array(
'title' => t('Status'),
'help' => t('Boolean indicating whether or not this item is enabled.'),
'field' => array(
'handler' => 'views_handler_field_boolean',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_numeric',
'name field' => 'status',
),
'filter' => array(
'handler' => 'views_handler_filter_boolean_operator',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
// - schema version
$data['system']['schema_version'] = array(
'title' => t('Schema version'),
'help' => t("The module's database schema version number. -1 if the module is not installed (its tables do not exist); 0 or the largest N of the module's hook_update_N() function that has either been run or existed when the module was first installed."),
'field' => array(
'handler' => 'views_handler_field_numeric',
'click sortable' => TRUE,
),
'argument' => array(
'handler' => 'views_handler_argument_numeric',
'name field' => 'schema_version',
),
'filter' => array(
'handler' => 'views_handler_filter_numeric',
),
'sort' => array(
'handler' => 'views_handler_sort',
),
);
return $data;
}
/**
* Implementation of hook_views_handlers() to register all of the basic handlers
* views uses.
*/
function system_views_handlers() {
return array(
'info' => array(
'path' => drupal_get_path('module', 'views') . '/modules/system',
),
'handlers' => array(
'views_handler_field_file' => array(
'parent' => 'views_handler_field',
),
'views_handler_field_file_status' => array(
'parent' => 'views_handler_field',
),
'views_handler_field_file_extension' => array(
'parent' => 'views_handler_field',
),
'views_handler_filter_file_status' => array(
'parent' => 'views_handler_filter_in_operator',
),
'views_handler_argument_file_fid' => array(
'parent' => 'views_handler_argument',
),
'views_handler_filter_system_type' => array(
'parent' => 'views_handler_filter_in_operator',
),
),
);
}
function _views_file_status($choice = NULL) {
$status = array(
FILE_STATUS_TEMPORARY => t('Temporary'),
FILE_STATUS_PERMANENT => t('Permanent'),
);
if (isset($choice)) {
return isset($status[$choice]) ? $status[$choice] : t('Unknown');
}
return $status;
}
/**
* @}
*/
Functions
Name | Description |
---|---|
system_views_data | Implementation of hook_views_data() |
system_views_handlers | Implementation of hook_views_handlers() to register all of the basic handlers views uses. |
_views_file_status |