'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', 'name field' => 'filename', // the field to display in the summary. ), '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', // the field to display in the summary. ), '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', // the field to display in the summary. ), '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', // the field to display in the summary. ), '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', // the field to display in the summary. ), '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', // the field to display in the summary. ), '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; } /** * @} */