t('Token'),
'#type' => 'fieldset',
);
$form['container']['siteimprove_token'] = array(
'#default_value' => variable_get('siteimprove_token'),
'#description' => t('Configure Siteimprove Plugin token.'),
'#maxlength' => 50,
'#prefix' => '
',
'#required' => TRUE,
'#size' => 50,
'#suffix' => '
',
'#title' => t('Token'),
'#type' => 'textfield',
);
$form['container']['siteimprove_request_new_token'] = array(
'#ajax' => array(
'callback' => 'siteimprove_admin_settings_form_ajax_request_token',
'wrapper' => 'token-wrapper',
),
'#limit_validation_errors' => array(),
'#type' => 'button',
'#value' => t('Request new token'),
);
return system_settings_form($form);
}
/**
* Callback for submit_driven example.
*
* Select the 'box' element, change the markup in it, and return it as a
* renderable array.
*
* @return array
* Renderable array (the box element)
*/
function siteimprove_admin_settings_form_ajax_request_token($form, $form_state) {
// Request new token.
if ($token = SiteimproveUtils::requestToken()) {
$form['container']['siteimprove_token']['#value'] = $token;
}
else {
form_set_error('siteimprove_token', t('There was an error requesting a new token. Please try again in a few minutes.'));
}
return $form['container']['siteimprove_token'];
}