function campaignmonitor_admin_settings_list_edit_validate in Campaign Monitor 7
Same name and namespace in other branches
- 8 includes/campaignmonitor_lists.admin.inc \campaignmonitor_admin_settings_list_edit_validate()
Form validation handler for campaignmonitor_admin_settings_list_edit().
1 string reference to 'campaignmonitor_admin_settings_list_edit_validate'
- campaignmonitor_admin_settings_list_edit in includes/
campaignmonitor_lists.admin.inc - List edit callback that returns a form with information about a given list.
File
- includes/
campaignmonitor_lists.admin.inc, line 289 - Manage the different Campaign Monitor lists.
Code
function campaignmonitor_admin_settings_list_edit_validate($form, &$form_state) {
// Build array with basic information.
$values = $form_state['values']['campaignmonitor_list_' . $form_state['values']['listId']];
$options = [
'Title' => check_plain($values['options']['listname']),
'UnsubscribePage' => check_plain($values['options']['UnsubscribePage']),
'ConfirmedOptIn' => $values['options']['ConfirmedOptIn'] ? TRUE : FALSE,
'ConfirmationSuccessPage' => check_plain($values['options']['ConfirmationSuccessPage']),
];
// Get connected.
$cm = CampaignMonitor::getConnector();
// Update the information.
if (!$cm
->updateList($form_state['values']['listId'], $options)) {
$error = $cm
->getLatestError();
form_set_error('', $error['message']);
drupal_set_message(t('The list options were not updated correctly at Campaign Monitor.'), 'error');
return FALSE;
}
// Remove list options.
unset($form_state['values']['campaignmonitor_list_' . $form_state['values']['listId']]['options']);
// Redirect to list overview.
$form_state['redirect'] = 'admin/config/services/campaignmonitor/lists';
// Save display options and custom field selection.
system_settings_form_submit($form, $form_state);
}