You are here

function webfm_views_tables in Web File Manager 5

Same name and namespace in other branches
  1. 5.2 webfm_views.inc \webfm_views_tables()

File

./webfm_views.inc, line 3

Code

function webfm_views_tables() {
  $tables = array();

  /**
   * The webfm_attach table links directly to the node table,
   * via the nid field
   */
  $tables['webfm_attach'] = array(
    'name' => 'webfm_attach',
    'join' => array(
      'type' => 'inner',
      'left' => array(
        'table' => 'node',
        'field' => 'nid',
      ),
      'right' => array(
        'field' => 'nid',
      ),
    ),
  );
  $tables['webfm_file'] = array(
    'name' => 'webfm_file',
    'join' => array(
      'type' => 'inner',
      'left' => array(
        'table' => 'webfm_attach',
        'field' => 'fid',
      ),
      'right' => array(
        'table' => 'webfm_file',
        'field' => 'fid',
      ),
    ),
    'fields' => array(
      'all_files' => array(
        'name' => t('WebFM: All files by name/title.'),
        'notafield' => true,
        'handler' => 'webfm_views_handler_file_all_files',
        'option' => array(
          '#type' => 'select',
          '#options' => array(
            'link' => t('With links'),
            'nolink' => t('Without links'),
          ),
        ),
        'sortable' => false,
        'help' => t('Display ALL the files that have been attached to the node via WebFM. Metadata title is used where present when \'Display metadata title\' checked in settings.'),
      ),
      'fpath' => array(
        'name' => t('WebFM: File name'),
        'handler' => array(
          'webfm_views_handler_file_filename_download' => t('With links'),
          'webfm_views_handler_file_filename' => t('Without links'),
        ),
        'sortable' => true,
        // consider 'option' --> link inline - or link force download - extra arg for webfm send
        'addlfields' => array(
          'fid',
        ),
        'help' => t('Display the name of files that have been attached to a node via WebFM (with or without links to the files themselves)'),
      ),
      'fsize' => array(
        'name' => t('WebFM: File size'),
        'sortable' => true,
        'handler' => 'webfm_views_handler_file_size',
        'help' => t('Display the file size of files that have been attached to a node via WebFM'),
      ),
      'fmime' => array(
        'name' => t('WebFM: File mime type'),
        'sortable' => true,
        'help' => t('Display the file mime type of files that have been attached to a node via WebFM'),
      ),
      'ftitle' => array(
        'name' => t('WebFM metadata:  File title'),
        'handler' => array(
          'webfm_views_handler_file_meta_download' => t('With links'),
          'webfm_views_handler_file_meta' => t('Without links'),
        ),
        'sortable' => true,
        'addlfields' => array(
          'fid',
        ),
        'help' => t('Display the file title of files that have been attached to a node via WebFM (with or without links to the files themselves)'),
      ),
      'fdesc' => array(
        'name' => t('WebFM metadata:  File description'),
        'sortable' => true,
        'handler' => 'webfm_views_handler_file_meta',
        'help' => t('Display the description of files that have been attached to a node via WebFM'),
      ),
      'flang' => array(
        'name' => t('WebFM metadata:  File language'),
        'sortable' => true,
        'handler' => 'webfm_views_handler_file_meta',
        'help' => t('Display the language of files that have been attached to a node via WebFM'),
      ),
      'fpublisher' => array(
        'name' => t('WebFM metadata:  File publisher'),
        'sortable' => true,
        'handler' => 'webfm_views_handler_file_meta',
        'help' => t('Display the publisher of files that have been attached to a node via WebFM'),
      ),
      'dl_cnt' => array(
        'name' => t('WebFM:  Download Count'),
        'sortable' => true,
        'help' => t('Display the number of times a file has been downloaded via WebFM'),
      ),
    ),
    'filters' => array(
      'fpath' => array(
        'name' => t('WebFM: File name'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by the names of files that have been attached via WebFM.  e.g. show only nodes with a file called "foo.txt" attached to them'),
      ),
      'fsize' => array(
        'name' => t('WebFM: File size'),
        'operator' => 'views_handler_operator_gtlt',
        'help' => t('Filter nodes by the size of files that have been attached via WebFM. e.g. show only nodes with files larger than 1M attached to them'),
      ),
      'fmime' => array(
        'name' => t('WebFM: File mime type'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by the mime type of files that have been attached via WebFM.  e.g. show only nodes with a .pdf document attached to them'),
      ),
      'ftitle' => array(
        'name' => t('WebFM metadata: File title'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by the title of files that have been attached via WebFM.  e.g. show only nodes with a file attached wich has a metadata title like "bar"'),
      ),
      'fdesc' => array(
        'name' => t('WebFM metadata: File description'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by the description of files that have been attached via WebFM.  e.g. show only nodes with a file attached which have a metadata description which contains all the words "foo, bar and baz"'),
      ),
      'flang' => array(
        'name' => t('WebFM metadata: File language'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by the language of files that have been attached via WebFM.  e.g. show only nodes with a file attached which have a metadata language equal to "fr"'),
      ),
      'fpublisher' => array(
        'name' => t('WebFM metadata: Sort by file publisher'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by publisher of files that have been attached via WebFM.'),
      ),
      'dl_cnt' => array(
        'name' => t('WebFM:  Download Count'),
        'operator' => 'views_handler_operator_like',
        'handler' => 'views_handler_filter_like',
        'help' => t('Filter nodes by downloaded count of files that have been attached via WebFM.'),
      ),
    ),
    'sorts' => array(
      'fpath' => array(
        'name' => t('WebFM: Sort by file name'),
        'help' => t('Sort by file name'),
      ),
      'fsize' => array(
        'name' => t('WebFM: Sort by file size'),
        'help' => t('Sort by file size.'),
      ),
      'fmime' => array(
        'name' => t('WebFM: Sort by mime type'),
        'help' => t('Sort by mime type.'),
      ),
      'ftitle' => array(
        'name' => t('WebFM metadata: Sort by file title'),
        'help' => t('Sort by file metadata title'),
      ),
      'flang' => array(
        'name' => t('WebFM metadata: Sort by file language'),
        'help' => t('Sort by file language.'),
      ),
      'fpublisher' => array(
        'name' => t('WebFM metadata: Sort by file publisher'),
        'help' => t('Sort by file publisher.'),
      ),
      'dl_cnt' => array(
        'name' => t('WebFM: Download Count'),
        'help' => t('Sort by file downloaded count'),
      ),
    ),
  );
  return $tables;
}