class BrightcoveClientEntityUIController in Brightcove Video Connect 7.6
Same name and namespace in other branches
- 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);
}
}