You are here

views_maintenance.module in Views Maintenance 6

Same filename and directory in other branches
  1. 7 views_maintenance.module

Hooks implementations and helper functions for Views Maintenance module.

File

views_maintenance.module
View source
<?php

/**
 * @file
 * Hooks implementations and helper functions for Views Maintenance module.
 */

/**
 * Implements hook_menu().
 */
function views_maintenance_menu() {
  $items = array(
    'admin/build/views/maintenance' => array(
      'title' => 'Maintenance',
      'page callback' => 'views_maintenance_page',
      'access arguments' => array(
        'administer views',
      ),
      'type' => MENU_LOCAL_TASK,
      'file' => 'views_maintenance.admin.inc',
    ),
  );
  return $items;
}

/**
 * Implements hook_theme().
 */
function views_maintenance_theme() {
  $base = array(
    'path' => drupal_get_path('module', 'views_maintenance') . '/theme',
    'file' => 'theme.inc',
  );
  $items = array(
    'views_maintenance_view_storage' => $base + array(
      'arguments' => array(
        'type' => NULL,
      ),
    ),
    'views_maintenance_display_status' => $base + array(
      'arguments' => array(
        'status' => 'unused',
      ),
    ),
    'views_maintenance_view_status' => $base + array(
      'arguments' => array(
        'status' => 'unused',
      ),
    ),
    'views_maintenance_views_table' => $base + array(
      'arguments' => array(
        'views' => array(),
      ),
      'template' => 'views-maintenance-views-table',
    ),
    'views_maintenance_views_thead' => $base + array(
      'arguments' => array(
        'header' => array(),
      ),
    ),
    'views_maintenance_html_placeholder' => $base + array(
      'arguments' => array(
        'html' => '',
      ),
    ),
  );
  return $items;
}

/**
 *  Implements hook_views_api().
 */
function views_maintenance_views_api() {
  return array(
    'api' => 2,
  );
}

/**
 * Compares values by predefined order.
 *
 * If new order is passed it is saved for future calls and function always
 * returns 0 (zero).
 *
 * @param string $a
 * @param string $b
 * @param array|null $order
 *
 * @return int
 */
function _views_maintenance_compare_by_order($a, $b, $new_order = NULL) {
  static $order = NULL;
  if (isset($new_order)) {

    // Flip new order to get "value => index" array.
    $order = array_flip($new_order);
    return 0;
  }
  if (isset($order[$a]) && isset($order[$b])) {

    // Return difference between fields indexes.
    return $order[$a] - $order[$b];
  }
  else {
    return 0;
  }
}

Functions

Namesort descending Description
views_maintenance_menu Implements hook_menu().
views_maintenance_theme Implements hook_theme().
views_maintenance_views_api Implements hook_views_api().
_views_maintenance_compare_by_order Compares values by predefined order.