function lingotek_setup_new_account_form_submit in Lingotek Translation 7.4
Same name and namespace in other branches
- 7.7 lingotek.setup.inc \lingotek_setup_new_account_form_submit()
- 7.2 lingotek.setup.inc \lingotek_setup_new_account_form_submit()
- 7.3 lingotek.setup.inc \lingotek_setup_new_account_form_submit()
- 7.5 lingotek.setup.inc \lingotek_setup_new_account_form_submit()
- 7.6 lingotek.setup.inc \lingotek_setup_new_account_form_submit()
New Account - Form Processor Provisions a Lingotek account and sends activation notice.
File
- ./
lingotek.setup.inc, line 143
Code
function lingotek_setup_new_account_form_submit($form, &$form_state) {
global $base_url;
$extras = array();
// Store the info so users dont have to retype stuff
$first_name = $form_state['values']['first_name'];
$last_name = $form_state['values']['last_name'];
$email = $form_state['values']['email'];
variable_set('lingotek_activation_first_name', $first_name);
variable_set('lingotek_activation_last_name', $last_name);
variable_set('lingotek_activation_email', $email);
// Check the current settings
$current_community_identifier = variable_get('lingotek_community_identifier', '');
$current_oauth_consumer_id = variable_get('lingotek_oauth_consumer_id', '');
$current_oauth_consumer_secret = variable_get('lingotek_oauth_consumer_secret', '');
$current_login_id = variable_get('lingotek_login_id', '');
$current_project = variable_get('lingotek_project', '');
$current_vault = variable_get('lingotek_vault', '');
$current_workflow = variable_get('lingotek_workflow', '');
// Provision a new community if any critical data is missing.
if ($current_community_identifier == '' || $current_oauth_consumer_id == '' || $current_oauth_consumer_secret == '' || $current_login_id == '' || $current_project == '' || $current_vault == '' || $current_workflow == '') {
// Provision a new Community & Save the Credentials
$lead = lingotek_identify_lead(array(
'first_name' => $first_name,
'last_name' => $last_name,
'email' => $email,
));
$notify_url = lingotek_notify_url_generate();
$parameters = array_merge($lead, array(
'communityDisplayName' => lingotek_get_site_name(),
'contactName' => $first_name . ' ' . $last_name,
'contactEmail' => $email,
'company' => lingotek_get_site_name(),
//currently we are not asking for this.
'website' => $base_url,
'lead' => json_encode($lead),
));
$api = LingotekApi::instance();
$response = $api
->createCommunity($parameters, $notify_url);
if ($response && $response->results == "success") {
$community = $response;
/*
stdClass::__set_state(array(
'results' => 'success',
'community' => 'EDZDDWXA',
'oauth_key' => '9a7187ea-fad9-41c0-9c0c-3eedbf9dffd0',
'oauth_secret' => '58f059b9-d167-4f87-b29a-acbc4e0c67c9',
'external_id' => 'community_admin',
'tm_vault_id' => 212,
'workflow_id' => '22092f38-a1f9-4499-b8d4-9e260e7e5d16',
'project_id' => 411,
))
*/
variable_set('lingotek_community_identifier', $community->community);
variable_set('lingotek_oauth_consumer_id', $community->oauth_key);
variable_set('lingotek_oauth_consumer_secret', $community->oauth_secret);
variable_set('lingotek_login_id', $community->external_id);
// Used as the 'External ID'. For old users, this is their login name / email.
variable_set('lingotek_project', $community->project_id);
variable_set('lingotek_vault', $community->tm_vault_id);
variable_set('lingotek_workflow', $community->workflow_id);
variable_set('lingotek_translate_comments_workflow_id', $community->workflow_id);
variable_set('lingotek_translate_config_workflow_id', $community->workflow_id);
variable_set('lingotek_integration_method', $community->integration_method_id);
variable_set('lingotek_notify_url', $notify_url);
variable_set('lingotek_cms_tag', $lead['distribution']);
$_SESSION['lingotek_setup_path'] = array(
'admin/config/lingotek/new-account',
);
drupal_set_message(t('Your new Lingotek account has been setup.'));
drupal_goto('admin/config/lingotek/language-settings');
}
else {
// If there were any setup or communication problems.
drupal_set_message(t('There was an error contacting the Lingotek servers to create your account. Please try again later. [Server: @server]', array(
'@server' => LINGOTEK_API_SERVER,
)), 'error');
}
// END: if error.
}
else {
// If the user already has all the required community credentials, just direct them to the next step.
$_SESSION['lingotek_setup_path'] = array(
'admin/config/lingotek/new-account',
);
drupal_set_message(t('Your Lingotek account settings have been saved.'));
drupal_goto('admin/config/lingotek/language-settings');
}
}