You are here

function janrain_capture_admin_screens_settings_validate in Janrain Registration 7.4

Same name and namespace in other branches
  1. 7.2 janrain_capture_screens/janrain_capture_screens.admin.inc \janrain_capture_admin_screens_settings_validate()

Validates the Janrain Capture screen remote URLs.

File

janrain_capture_screens/janrain_capture_screens.admin.inc, line 89
Admin settings form for uploading Capture screens

Code

function janrain_capture_admin_screens_settings_validate($form, &$form_state) {
  $screens = _janrain_capture_get_screens();
  foreach ($screens as $screen) {
    $screen_machine_name = _janrain_capture_get_screen_machine_name($screen);
    $screen_remote_url = trim($form_state['values']['janrain_capture_screen_' . $screen_machine_name . '_remote_url']);
    if (!empty($screen_remote_url)) {
      if (!valid_url($screen_remote_url, TRUE)) {
        form_set_error('janrain_capture_screen_' . $screen_machine_name . '_remote_url', t('Please specify a valid URL for !screen.', array(
          '!screen' => $screen,
        )));
      }
      else {
        $response = drupal_http_request($screen_remote_url);
        if ($response->code != 200) {
          form_set_error('janrain_capture_screen_' . $screen_machine_name . '_remote_url', t('Could not retrieve !screen from @url.', array(
            '!screen' => $screen,
            '@url' => $screen_remote_url,
          )));
        }
        else {
          $form_state['storage']['janrain_capture_screen_' . $screen_machine_name . '_remote_url_content'] = $response->data;
        }
      }
    }
  }
}