You are here

function l10n_client_form_user_profile_form_alter in Localization client 7

Implement hook_user_form().

Set up API key for localization server.

File

./l10n_client.module, line 533
Localization client. Provides on-page translation editing.

Code

function l10n_client_form_user_profile_form_alter(&$form, &$form_state) {
  if ($form['#user_category'] == 'account') {
    $items = array();
    $account = $form['#user'];
    $use_server = variable_get('l10n_client_use_server', FALSE);
    $server_root = variable_get('l10n_client_server', 'https://localize.drupal.org/');
    if ($use_server && user_access('submit translations to localization server', $account)) {

      // Build link to retrieve user key.
      $server_link = $server_root . '?q=translate/remote/userkey/' . l10n_client_user_token($account);
      $items['l10n_client_key'] = array(
        '#type' => 'textfield',
        '#title' => t('Your API key for @server', array(
          '@server' => $server_root,
        )),
        '#default_value' => !empty($account->data['l10n_client_key']) ? $account->data['l10n_client_key'] : '',
        '#description' => t('This is a unique key that will allow you to send translations to the remote server. To get your API key go to !server-link.', array(
          '!server-link' => l($server_link, $server_link),
        )),
      );
    }
    if (user_access('use on-page translation', $account)) {

      // Add an item to let the user disable the on-page tool.
      $items['l10n_client_disabled'] = array(
        '#type' => 'checkbox',
        '#title' => t('Hide on-page translation from you'),
        '#default_value' => !empty($account->data['l10n_client_disabled']),
      );
    }
    if (!empty($items)) {

      // Add items in a fieldset wrapper if any items available.
      $form['l10n_client'] = array(
        '#type' => 'fieldset',
        '#title' => t('Localization client'),
        '#weight' => 1,
        'items' => $items,
      );
    }
  }
}