You are here

views_system.module in Views System 7.3

This module extends the Views module and allows to create customized lists (pages, blocks) of modules, themes, and theme engines that are or have been installed in Drupal's file system.

File

views_system.module
View source
<?php

/**
 * @file
 * This module extends the Views module and allows to create customized lists
 * (pages, blocks) of modules, themes, and theme engines that are or have been
 * installed in Drupal's file system.
 */

/**
 * Implements hook_help().
 */
function views_system_help($path, $arg) {
  switch ($path) {
    case 'admin/help#views_system':
      $output = '<h3>' . t('About') . '</h3>';
      $output .= '<p>' . t('The Views System module extends the <a href="@views">Views</a> module and allows to create customized lists (pages, blocks) of modules, themes, and theme engines that are or have been  installed in Drupal\'s file system. For more information, see the online handbook entry for <a href="@views_system">Views System module</a>.', array(
        '@views' => 'http://drupal.org/project/views',
        '@views_system' => 'http://drupal.org/project/views_system',
      )) . '</p>';
      return $output;
  }
}

/**
 * Implements hook_views_api().
 */
function views_system_views_api() {
  $api = array(
    'api' => 3,
    'path' => drupal_get_path('module', 'views_system') . '/views',
  );
  return $api;
}

/**
 * Helper function; retrieves list of item types.
 */
function _views_system_get_type() {
  static $type = array();
  if (!$type) {
    $result = db_query('SELECT DISTINCT(type) FROM {system} ORDER BY type');
    foreach ($result as $record) {
      $type[$record->type] = _views_system_get_type_name($record->type);
    }
  }
  return $type;
}

/**
 * Helper function; retrieves display name of the item type.
 */
function _views_system_get_type_name($type) {
  $type_name = array();
  $type_name['module'] = t('Module');
  $type_name['theme'] = t('Theme');
  $type_name['theme_engine'] = t('Theme engine');
  return isset($type_name[$type]) ? $type_name[$type] : drupal_placeholder(t('Unknown'));
}

/**
 * Helper function; retrieves screenshot path of the theme.
 */
function _views_system_get_screenshot($info) {
  if (!file_exists($info['screenshot'])) {
    if (isset($info['base theme'])) {
      $system = db_query('SELECT info FROM {system} WHERE name = :name', array(
        ':name' => $info['base theme'],
      ))
        ->fetchObject();
      if ($system) {
        $screenshot = _views_system_get_screenshot(unserialize($system->info));
      }
      else {
        $screenshot = NULL;
      }
    }
    else {
      $screenshot = NULL;
    }
  }
  else {
    $screenshot = $info['screenshot'];
  }
  return $screenshot;
}

/**
 * Helper function; retrieves list of Drupal core modules and themes.
 */
function _views_system_get_drupal_core($item = NULL) {
  $core = array();

  // Modules
  $core['modules/aggregator/aggregator.module'] = 'aggregator';
  $core['modules/aggregator/tests/aggregator_test.module'] = 'aggregator_test';
  $core['modules/block/block.module'] = 'block';
  $core['modules/block/tests/block_test.module'] = 'block_test';
  $core['modules/blog/blog.module'] = 'blog';
  $core['modules/book/book.module'] = 'book';
  $core['modules/color/color.module'] = 'color';
  $core['modules/comment/comment.module'] = 'comment';
  $core['modules/contact/contact.module'] = 'contact';
  $core['modules/contextual/contextual.module'] = 'contextual';
  $core['modules/dashboard/dashboard.module'] = 'dashboard';
  $core['modules/dblog/dblog.module'] = 'dblog';
  $core['modules/field/field.module'] = 'field';
  $core['modules/field/modules/field_sql_storage/field_sql_storage.module'] = 'field_sql_storage';
  $core['modules/field/modules/list/list.module'] = 'list';
  $core['modules/field/modules/list/tests/list_test.module'] = 'list_test';
  $core['modules/field/modules/number/number.module'] = 'number';
  $core['modules/field/modules/options/options.module'] = 'options';
  $core['modules/field/modules/text/text.module'] = 'text';
  $core['modules/field/tests/field_test.module'] = 'field_test';
  $core['modules/field_ui/field_ui.module'] = 'field_ui';
  $core['modules/file/file.module'] = 'file';
  $core['modules/file/tests/file_module_test.module'] = 'file_module_test';
  $core['modules/filter/filter.module'] = 'filter';
  $core['modules/forum/forum.module'] = 'forum';
  $core['modules/help/help.module'] = 'help';
  $core['modules/image/image.module'] = 'image';
  $core['modules/image/tests/image_module_test.module'] = 'image_module_test';
  $core['modules/locale/locale.module'] = 'locale';
  $core['modules/locale/tests/locale_test.module'] = 'locale_test';
  $core['modules/menu/menu.module'] = 'menu';
  $core['modules/node/node.module'] = 'node';
  $core['modules/node/tests/node_access_test.module'] = 'node_access_test';
  $core['modules/node/tests/node_presave_test.module'] = 'node_presave_test';
  $core['modules/node/tests/node_test.module'] = 'node_test';
  $core['modules/node/tests/node_test_exception.module'] = 'node_test_exception';
  $core['modules/openid/openid.module'] = 'openid';
  $core['modules/openid/tests/openid_test.module'] = 'openid_test';
  $core['modules/overlay/overlay.module'] = 'overlay';
  $core['modules/path/path.module'] = 'path';
  $core['modules/php/php.module'] = 'php';
  $core['modules/poll/poll.module'] = 'poll';
  $core['modules/profile/profile.module'] = 'profile';
  $core['modules/rdf/rdf.module'] = 'rdf';
  $core['modules/rdf/tests/rdf_test.module'] = 'rdf_test';
  $core['modules/search/search.module'] = 'search';
  $core['modules/search/tests/search_embedded_form.module'] = 'search_embedded_form';
  $core['modules/search/tests/search_extra_type.module'] = 'search_extra_type';
  $core['modules/shortcut/shortcut.module'] = 'shortcut';
  $core['modules/simpletest/simpletest.module'] = 'simpletest';
  $core['modules/simpletest/tests/actions_loop_test.module'] = 'actions_loop_test';
  $core['modules/simpletest/tests/ajax_forms_test.module'] = 'ajax_forms_test';
  $core['modules/simpletest/tests/ajax_test.module'] = 'ajax_test';
  $core['modules/simpletest/tests/batch_test.module'] = 'batch_test';
  $core['modules/simpletest/tests/common_test.module'] = 'common_test';
  $core['modules/simpletest/tests/database_test.module'] = 'database_test';
  $core['modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.module'] = 'drupal_system_listing_compatible_test';
  $core['modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.module'] = 'drupal_system_listing_incompatible_test';
  $core['modules/simpletest/tests/entity_cache_test.module'] = 'entity_cache_test';
  $core['modules/simpletest/tests/entity_cache_test_dependency.module'] = 'entity_cache_test_dependency';
  $core['modules/simpletest/tests/entity_crud_hook_test.module'] = 'entity_crud_hook_test';
  $core['modules/simpletest/tests/error_test.module'] = 'error_test';
  $core['modules/simpletest/tests/file_test.module'] = 'file_test';
  $core['modules/simpletest/tests/filter_test.module'] = 'filter_test';
  $core['modules/simpletest/tests/form_test.module'] = 'form_test';
  $core['modules/simpletest/tests/image_test.module'] = 'image_test';
  $core['modules/simpletest/tests/menu_test.module'] = 'menu_test';
  $core['modules/simpletest/tests/module_test.module'] = 'module_test';
  $core['modules/simpletest/tests/requirements1_test.module'] = 'requirements1_test';
  $core['modules/simpletest/tests/requirements2_test.module'] = 'requirements2_test';
  $core['modules/simpletest/tests/session_test.module'] = 'session_test';
  $core['modules/simpletest/tests/system_dependencies_test.module'] = 'system_dependencies_test';
  $core['modules/simpletest/tests/system_test.module'] = 'system_test';
  $core['modules/simpletest/tests/taxonomy_test.module'] = 'taxonomy_test';
  $core['modules/simpletest/tests/theme_test.module'] = 'theme_test';
  $core['modules/simpletest/tests/update_test_1.module'] = 'update_test_1';
  $core['modules/simpletest/tests/update_test_2.module'] = 'update_test_2';
  $core['modules/simpletest/tests/update_test_3.module'] = 'update_test_3';
  $core['modules/simpletest/tests/url_alter_test.module'] = 'url_alter_test';
  $core['modules/simpletest/tests/xmlrpc_test.module'] = 'xmlrpc_test';
  $core['modules/statistics/statistics.module'] = 'statistics';
  $core['modules/syslog/syslog.module'] = 'syslog';
  $core['modules/system/system.module'] = 'system';
  $core['modules/taxonomy/taxonomy.module'] = 'taxonomy';
  $core['modules/toolbar/toolbar.module'] = 'toolbar';
  $core['modules/tracker/tracker.module'] = 'tracker';
  $core['modules/translation/tests/translation_test.module'] = 'translation_test';
  $core['modules/translation/translation.module'] = 'translation';
  $core['modules/trigger/tests/trigger_test.module'] = 'trigger_test';
  $core['modules/trigger/trigger.module'] = 'trigger';
  $core['modules/update/tests/aaa_update_test.module'] = 'aaa_update_test';
  $core['modules/update/tests/bbb_update_test.module'] = 'bbb_update_test';
  $core['modules/update/tests/ccc_update_test.module'] = 'ccc_update_test';
  $core['modules/update/tests/update_test.module'] = 'update_test';
  $core['modules/update/update.module'] = 'update';
  $core['modules/user/tests/user_form_test.module'] = 'user_form_test ';
  $core['modules/user/user.module'] = 'user';

  // Installation profiles
  $core['profiles/minimal/minimal.profile'] = 'minimal';
  $core['profiles/standard/standard.profile'] = 'standard';
  $core['profiles/testing/testing.profile'] = 'testing';

  // Themes
  $core['themes/bartik/bartik.info'] = 'bartik';
  $core['themes/garland/garland.info'] = 'garland';
  $core['themes/seven/seven.info'] = 'seven';
  $core['themes/stark/stark.info'] = 'stark';
  $core['themes/tests/test_theme/test_theme.info'] = 'test_theme';
  $core['themes/tests/update_test_basetheme/update_test_basetheme.info'] = 'update_test_basetheme';
  $core['themes/tests/update_test_subtheme/update_test_subtheme.info'] = 'update_test_subtheme';
  return $item ? isset($core[$item]) : $core;
}

Functions

Namesort descending Description
views_system_help Implements hook_help().
views_system_views_api Implements hook_views_api().
_views_system_get_drupal_core Helper function; retrieves list of Drupal core modules and themes.
_views_system_get_screenshot Helper function; retrieves screenshot path of the theme.
_views_system_get_type Helper function; retrieves list of item types.
_views_system_get_type_name Helper function; retrieves display name of the item type.