You are here

function brightcove_client_set_default in Brightcove Video Connect 7.6

Same name and namespace in other branches
  1. 7.7 brightcove.client.inc \brightcove_client_set_default()

AJAX menu callback to set a client default.

Parameters

Entity $client:

string $type: Set internally, either 'nojs' or 'ajax'.

1 string reference to 'brightcove_client_set_default'
BrightcoveClientEntityUIController::hook_menu in ./brightcove.client.inc
@inheritdoc

File

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

Code

function brightcove_client_set_default($client, $type = 'ajax') {
  $old_default_client_id = variable_get('brightcove_client_default');
  $old_default_client_entity = entity_load_single('brightcove_client', $old_default_client_id);
  variable_set('brightcove_client_default', $client->bcid);
  drupal_set_message(t('Client "@client" has been set to default.', [
    '@client' => $client->label,
  ]));
  if (!empty($old_default_client_id)) {
    drupal_set_message(t('The default client before was "@client".', [
      '@client' => $old_default_client_entity->label,
    ]));
  }
  if ($type == 'ajax') {
    $commands = [];
    $commands[] = ajax_command_html('#' . _brightcove_client_default_link_id($client->bcid), _brightcove_client_default_link($client));
    if (!empty($old_default_client_id)) {
      $commands[] = ajax_command_html('#' . _brightcove_client_default_link_id($old_default_client_id), _brightcove_client_default_link($old_default_client_entity));
    }
    $commands[] = ajax_command_prepend('#content', theme('status_messages'));
    ajax_deliver([
      '#type' => 'ajax',
      '#commands' => $commands,
    ]);
  }
  else {
    drupal_goto('/admin/config/media/brightcove/client');
  }
}