You are here

function campaignmonitor_admin_settings_form_validate in Campaign Monitor 6.3

Validate the admin settings and load the saved lists.

_state

Parameters

array $form:

1 string reference to 'campaignmonitor_admin_settings_form_validate'
campaignmonitor_admin_settings_form in includes/campaignmonitor.admin.inc
Menu callback that creates the administartion settings form.

File

includes/campaignmonitor.admin.inc, line 263

Code

function campaignmonitor_admin_settings_form_validate($form, &$form_state) {

  // No lists selected or first time here.
  if (!isset($form_state['values'][CM_LISTS])) {
    return;
  }
  $lists = array();
  foreach ($form_state['values'][CM_LISTS] as $form_list) {
    $list = new stdClass();
    $list->id = $form_list['info']['list_id'];
    $list->name = $form_list['info']['name'];
    $list->oncontactpage = $form_list['oncontactpage'];
    $list->onregopage = $form_list['onregopage'];
    $list->onuserpage = $form_list['onuserpage'];
    $list->displayname = $form_list['displayname'];
    $list->namekey = $form_list['namekey'];
    $customfields = array();
    if (is_array($form_list[CM_LISTS_CF])) {
      foreach ($form_list[CM_LISTS_CF] as $cf_list) {
        $customfield = new stdClass();
        $customfield->id = $cf_list['cf_id'];
        $customfield->display = $cf_list['display'];
        $customfields[$cf_list['cf_id']] = $customfield;
      }
      $list->customfields = $customfields;
    }
    $lists[$form_list['info']['list_id']] = $list;
  }

  // Remove lists from the form_state.
  unset($form_state['values'][CM_LISTS]);
  variable_set(CM_LISTS, $lists);
}