You are here

class BrightcoveClientEntityUIController in Brightcove Video Connect 7.6

Same name and namespace in other branches
  1. 7.7 brightcove.client.inc \BrightcoveClientEntityUIController

Admin UI controller for 'brightcove_client' entity type.

Hierarchy

Expanded class hierarchy of BrightcoveClientEntityUIController

1 string reference to 'BrightcoveClientEntityUIController'
brightcove_entity_info in ./brightcove.module
Implements hook_entity_info().

File

./brightcove.client.inc, line 11
Client related code.

View source
class BrightcoveClientEntityUIController extends EntityDefaultUIController {

  /**
   * @inheritdoc
   */
  public function hook_menu() {
    $items = parent::hook_menu();
    $items['admin/config/media/brightcove/client']['type'] = MENU_LOCAL_TASK;
    $items['admin/config/media/brightcove/client']['weight'] = 1;
    $items['admin/config/media/brightcove/client']['title'] = 'API Clients';
    $items['admin/config/media/brightcove/client/add']['title'] = 'Add API Client';
    $items['admin/config/media/brightcove/client/add']['title callback'] = 't';
    $items["{$this->path}/manage/%brightcove_client/setdefault"] = [
      'title' => 'Set client default',
      'page callback' => 'brightcove_client_set_default',
      'page arguments' => [
        6,
      ],
      'access callback' => 'brightcove_client_set_default_access',
      'access arguments' => [
        6,
      ],
      'file path' => drupal_get_path('module', 'brightcove'),
      'file' => 'brightcove.client.inc',
    ];
    return $items;
  }

  /**
   * @inheritdoc
   */
  public function overviewForm($form, &$form_state) {
    $form['#attached']['library'][] = [
      'system',
      'drupal.ajax',
    ];
    return parent::overviewForm($form, $form_state);
  }

  /**
   * @inheritdoc
   */
  protected function overviewTableRow($conditions, $id, $entity, $additional_cols = []) {
    $wrapper_id = _brightcove_client_default_link_id($entity->bcid);
    $link = "<div id=\"{$wrapper_id}\">";
    $link .= _brightcove_client_default_link($entity);
    $link .= '</div>';
    $additional_cols[] = $link;
    return parent::overviewTableRow($conditions, $id, $entity, $additional_cols);
  }

  /**
   * @inheritdoc
   */
  public function operationFormValidate($form, &$form_state) {
    parent::operationFormValidate($form, $form_state);
    if ($form_state['op'] === 'import') {
      $import = $form_state['values']['import'];
      $json = json_decode($import, TRUE);
      if ($json) {
        brightcove_try(function () use ($json) {
          $client_id = isset($json['client_id']) ? $json['client_id'] : NULL;
          $client_secret = isset($json['client_secret']) ? $json['client_secret'] : NULL;
          \Brightcove\API\Client::authorize($client_id, $client_secret);
        }, function () {
          form_set_error('import', t("Invalid credentials."));
        });
      }
    }
  }

  /**
   * @inheritdoc
   */
  protected function overviewTableHeaders($conditions, $rows, $additional_header = []) {
    $header = $additional_header;
    $header[] = t('Default');
    return parent::overviewTableHeaders($conditions, $rows, $header);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
BrightcoveClientEntityUIController::hook_menu public function @inheritdoc Overrides EntityDefaultUIController::hook_menu
BrightcoveClientEntityUIController::operationFormValidate public function @inheritdoc Overrides EntityDefaultUIController::operationFormValidate
BrightcoveClientEntityUIController::overviewForm public function @inheritdoc Overrides EntityDefaultUIController::overviewForm
BrightcoveClientEntityUIController::overviewTableHeaders protected function @inheritdoc Overrides EntityDefaultUIController::overviewTableHeaders
BrightcoveClientEntityUIController::overviewTableRow protected function @inheritdoc Overrides EntityDefaultUIController::overviewTableRow
EntityDefaultUIController::$entityInfo protected property
EntityDefaultUIController::$entityType protected property
EntityDefaultUIController::$id_count protected property
EntityDefaultUIController::$overviewPagerLimit public property Defines the number of entries to show per page in overview table.
EntityDefaultUIController::applyOperation public function Applies an operation to the given entity.
EntityDefaultUIController::entityFormSubmitBuildEntity public function Entity submit builder invoked via entity_ui_form_submit_build_entity().
EntityDefaultUIController::hook_forms public function Provides definitions for implementing hook_forms().
EntityDefaultUIController::operationCount protected function Returns the operation count for calculating colspans.
EntityDefaultUIController::operationForm public function Builds the operation form.
EntityDefaultUIController::operationFormSubmit public function Operation form submit callback. 1
EntityDefaultUIController::overviewFormSubmit public function Overview form submit callback.
EntityDefaultUIController::overviewFormValidate public function Overview form validation callback.
EntityDefaultUIController::overviewTable public function Generates the render array for a overview table for arbitrary entities matching the given conditions.
EntityDefaultUIController::__construct public function