You are here

function commerce_sagepay_menu in Drupal Commerce SagePay Integration 7

Implements hook_menu().

File

./commerce_sagepay.module, line 13

Code

function commerce_sagepay_menu() {
  $items = array();

  // Define a settings page.
  $items['admin/commerce/config/sagepay'] = array(
    'title' => 'SagePay settings',
    'description' => 'Configure the settings for the SagePay payment gateway integration.',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_settings_form',
    ),
    'access arguments' => array(
      'administer sagepay',
    ),
    'type' => MENU_NORMAL_ITEM,
    'file' => 'includes/commerce_sagepay.admin.inc',
  );

  // Define a path to receive VPS callback (Server only).
  $items['commerce-sagepay-server/vps-callback/%/%'] = array(
    'page callback' => 'commerce_sagepay_server_handle_callback',
    'page arguments' => array(
      2,
      3,
    ),
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
    'file' => 'includes/commerce_sagepay_server.inc',
  );

  // Define a path for a waiting page displayed whilst the iframe is loading.
  $items['commerce_sagepay/sagepay_waiting_page'] = array(
    'page callback' => 'commerce_sagepay_server_waiting_page',
    'access arguments' => array(
      'access content',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'includes/commerce_sagepay_server.inc',
  );

  // Add a menu item for capturing authorizations.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-release'] = array(
    'title' => 'Release',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_release_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_release_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_release.inc',
  );

  // Add a menu item for refunding payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-refund'] = array(
    'title' => 'Refund',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_refund_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_refund_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_refund.inc',
  );

  // Add a menu item for aborting payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-abort'] = array(
    'title' => 'Abort',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_abort_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_abort_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_abort.inc',
  );

  // Add a menu item for voiding payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-void'] = array(
    'title' => 'Void',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_void_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_void_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_void.inc',
  );

  // Add a menu item for authorising payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-authorise'] = array(
    'title' => 'Authorise',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_authorise_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_authorise_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_authorise.inc',
  );

  // Add a menu item for cancelling payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-cancel'] = array(
    'title' => 'Cancel',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_cancel_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_cancel_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_cancel.inc',
  );

  // Add a menu item for repeating payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-repeat'] = array(
    'title' => 'Repeat',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_repeat_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_repeat_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_repeat.inc',
  );

  // Add a menu item for deferred repeat payments.
  $items['admin/commerce/orders/%commerce_order/payment/%commerce_payment_transaction/sagepay-repeat-defer'] = array(
    'title' => 'Repeat Deferred',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'commerce_sagepay_repeat_deferred_form',
      3,
      5,
    ),
    'access callback' => 'commerce_sagepay_repeat_deferred_access',
    'access arguments' => array(
      3,
      5,
    ),
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'context' => MENU_CONTEXT_INLINE,
    'weight' => 2,
    'file' => 'includes/commerce_sagepay_repeat_deferred.inc',
  );
  return $items;
}