You are here

function brightcove_menu in Brightcove Video Connect 7.6

Same name and namespace in other branches
  1. 6.2 brightcove.module \brightcove_menu()
  2. 6 brightcove.module \brightcove_menu()
  3. 7.7 brightcove.module \brightcove_menu()
  4. 7.2 brightcove.module \brightcove_menu()
  5. 7.3 brightcove.module \brightcove_menu()
  6. 7.4 brightcove.module \brightcove_menu()
  7. 7.5 brightcove.module \brightcove_menu()

Implements hook_menu().

File

./brightcove.module, line 119
Brightcove module is an integration layer between any modules using Brightcove API. It makes all necessary checks for the API and makes settings available to the user.

Code

function brightcove_menu() {
  $items = [];
  $items['brightcove/callback/%brightcove_callback'] = [
    'title' => 'Brightcove Ingestion callback',
    'type' => MENU_CALLBACK,
    'page callback' => 'brightcove_handle_ingest_callback',
    'page arguments' => [
      2,
    ],
    'access arguments' => [
      'access content',
    ],
  ];
  $base = 'admin/config/media/brightcove';
  $items['brightcove/autocomplete/videos/%brightcove_client'] = [
    'title' => 'Video autocomplete',
    'description' => 'Callback function for listing videos in autocomplete fields',
    'type' => MENU_CALLBACK,
    'page callback' => 'brightcove_autocomplete_videos',
    'page arguments' => [
      3,
    ],
    'access arguments' => [
      'browse videos',
    ],
  ];
  $items[$base] = [
    'title' => 'Brightcove settings',
    'description' => 'Configure Brigthcove integration, api keys, player settings, upload settings.',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_settings',
    ],
    'type' => MENU_NORMAL_ITEM,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.admin.inc',
  ];
  $items["{$base}/general"] = [
    'title' => 'General',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'weight' => -1,
  ];
  $items["{$base}/players"] = [
    'title' => 'Players',
    'page callback' => 'brightcove_admin_players',
    'type' => MENU_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%"] = [
    'title' => 'View player',
    'page callback' => 'brightcove_admin_player_view',
    'page arguments' => [
      5,
      6,
    ],
    'type' => MENU_CALLBACK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/view"] = [
    'title' => 'View player',
    'page callback' => 'brightcove_admin_player_view',
    'page arguments' => [
      5,
      6,
    ],
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
    'weight' => -1,
  ];
  $items["{$base}/players/%/%/publish"] = [
    'title' => 'Publish player',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_player_publish_form',
      5,
      6,
    ],
    'type' => MENU_LOCAL_ACTION,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/add"] = [
    'title' => 'Add player',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_player_edit_form',
    ],
    'type' => MENU_LOCAL_ACTION,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/edit"] = [
    'title' => 'Edit player',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_player_edit_form',
      5,
      6,
    ],
    'type' => MENU_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/delete"] = [
    'title' => 'Delete player',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_player_delete_form',
      5,
      6,
    ],
    'type' => MENU_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
    'weight' => 1,
  ];
  $items["{$base}/players/%/%/%"] = [
    'title' => 'View embed',
    'page callback' => 'brightcove_admin_embed_view',
    'page arguments' => [
      5,
      6,
      7,
    ],
    'type' => MENU_CALLBACK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/%/view"] = [
    'title' => 'View embed',
    'page callback' => 'brightcove_admin_embed_view',
    'page arguments' => [
      5,
      6,
      7,
    ],
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
    'weight' => -1,
  ];
  $items["{$base}/players/%/%/%/preview"] = [
    'title' => 'Preview embed',
    'page callback' => 'brightcove_admin_embed_preview',
    'page arguments' => [
      5,
      6,
      7,
    ],
    'type' => MENU_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/add-embed"] = [
    'title' => 'Create embed',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_embed_edit_form',
      7,
      5,
      6,
    ],
    'type' => MENU_LOCAL_ACTION,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/%/edit"] = [
    'title' => 'Edit embed',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_embed_edit_form',
      8,
      5,
      6,
      7,
    ],
    'type' => MENU_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
  ];
  $items["{$base}/players/%/%/%/delete"] = [
    'title' => 'Delete embed',
    'page callback' => 'drupal_get_form',
    'page arguments' => [
      'brightcove_admin_embed_delete_form',
      5,
      6,
      7,
    ],
    'type' => MENU_LOCAL_TASK,
    'access arguments' => [
      'administer brightcove settings',
    ],
    'file' => 'brightcove.player.inc',
    'weight' => 1,
  ];

  // bc object type, entity type, field name
  $items['brightcove_field/autocomplete/video/%/%/%/%brightcove_client'] = [
    'title' => 'Brightcove field autocomplete',
    'page callback' => 'brightcove_field_autocomplete',
    'page arguments' => [
      2,
      4,
      6,
      7,
    ],
    'access callback' => 'brightcove_field_browse_access',
    'access arguments' => [
      'browse videos',
      3,
      4,
      5,
      6,
    ],
    'file' => 'brightcove_field.browse.inc',
    'type' => MENU_CALLBACK,
  ];
  $items['brightcove_field/autocomplete/playlist/%/%/%/%brightcove_client'] = [
    'title' => 'Brightcove field autocomplete',
    'page callback' => 'brightcove_field_autocomplete',
    'page arguments' => [
      2,
      4,
      6,
      7,
    ],
    'access callback' => 'brightcove_field_browse_access',
    'access arguments' => [
      'browse playlists',
      3,
      4,
      5,
      6,
    ],
    'file' => 'brightcove_field.browse.inc',
    'type' => MENU_CALLBACK,
  ];

  // bc object type, entity type, field name, entity id or bundle
  $items['brightcove_field/browse_video/%/%/%/%brightcove_client'] = [
    'title' => 'Brightcove Videos Browser',
    'page arguments' => [
      2,
      3,
      4,
      5,
    ],
    'page callback' => 'brightcove_field_browse',
    'delivery callback' => 'brightcove_field_deliver_dialog',
    'access callback' => 'brightcove_field_browse_access',
    'access arguments' => [
      'browse videos',
      2,
      3,
      4,
      5,
    ],
    'theme callback' => 'brightcove_field_theme_callback',
    'file' => 'brightcove_field.browse.inc',
    'type' => MENU_CALLBACK,
  ];
  $items['brightcove_field/edit_video/%/%/%/%brightcove_client/%'] = [
    'title' => 'Brightcove Video editor',
    'page arguments' => [
      2,
      3,
      4,
      5,
      6,
    ],
    'page callback' => 'brightcove_video_edit',
    'delivery callback' => 'brightcove_field_deliver_dialog',
    'access callback' => 'brightcove_field_browse_access',
    'access arguments' => [
      'browse videos',
      2,
      3,
      4,
      5,
    ],
    'theme callback' => 'brightcove_field_theme_callback',
    'file' => 'brightcove.video.inc',
    'file path' => drupal_get_path('module', 'brightcove'),
    'type' => MENU_CALLBACK,
  ];

  // entity type, field name, entity id or bundle, client id
  $items['brightcove_field/upload/video/%/%/%/%brightcove_client'] = [
    'title' => 'Upload video to Brightcove',
    'page callback' => 'brightcove_video_upload',
    'page arguments' => [
      3,
      4,
      5,
      6,
    ],
    'delivery callback' => 'brightcove_field_deliver_dialog',
    'access callback' => 'brightcove_field_browse_access',
    'access arguments' => [
      'upload videos',
      3,
      4,
      5,
      6,
    ],
    'theme callback' => 'brightcove_field_theme_callback',
    'file' => 'brightcove.video.inc',
    'file path' => drupal_get_path('module', 'brightcove'),
    'type' => MENU_CALLBACK,
  ];

  // entity type, entity id, field name, delta
  $items['brightcove_field_player/%/%/%/%/%'] = [
    'title' => 'Brightcove Videos Window Player',
    'page callback' => 'brightcove_field_player',
    'page arguments' => [
      1,
      2,
      3,
      4,
      5,
    ],
    'access callback' => 'brightcove_field_view_access',
    'access arguments' => [
      2,
      3,
      4,
    ],
    'delivery callback' => 'brightcove_field_deliver_dialog',
    'type' => MENU_CALLBACK,
  ];

  // width, height, entity_type, entity_id, field_name, delta
  $items['brightcove_dialog/ajax/%/%/%/%/%/%/%'] = [
    'title' => '',
    'page callback' => 'brightcove_field_open_dialog',
    'page arguments' => [
      2,
      3,
      4,
      5,
      6,
      7,
      8,
    ],
    'access callback' => 'brightcove_field_view_access',
    'access arguments' => [
      5,
      6,
      7,
    ],
    'delivery callback' => 'ajax_deliver',
    'type' => MENU_CALLBACK,
  ];
  $admin_base_path = 'admin/config/media/brightcove';
  if (module_exists('field_ui')) {
    $items["{$admin_base_path}/additional-fields"] = [
      'title' => 'Additional fields',
      'page callback' => 'drupal_get_form',
      'page arguments' => [
        'field_ui_field_overview_form',
        'brightcove_video',
        'brightcove_video',
      ],
      'file path' => drupal_get_path('module', 'field_ui'),
      'file' => 'field_ui.admin.inc',
      'access callback' => TRUE,
      'access arguments' => [],
      'type' => MENU_LOCAL_TASK,
    ];
  }
  return $items;
}