You are here

function forena_settings_validate in Forena Reports 8

Same name and namespace in other branches
  1. 7.5 forena.admin.inc \forena_settings_validate()
  2. 7.4 forena.admin.inc \forena_settings_validate()

File

forena_ui/forena.admin.inc, line 201

Code

function forena_settings_validate($form, &$form_state) {
  $values = $form_state['values'];
  $path = $values['forena_report_repos'];
  if ($path != $values['forena_last_report_path']) {
    if (!file_exists($path)) {
      try {
        if (file_exists($path)) {
          drupal_set_message(t('Created directory %s', array(
            '%s' => $path,
          )));
        }
        mkdir($path);
      } catch (Exception $e) {
        Frx::error(t('Unable to create report directory'), $e
          ->getMessage());
      }
    }
  }
  if (!file_exists($path) || !is_writable($path)) {
    form_set_error('forena_report_repos', 'Report Directory must be writable by the web user');
  }
  if (isset($values['forena_query_data_path'])) {
    $path = $values['forena_query_data_path'];
    if ($path != $values['forena_last_query_data_path']) {
      if (!file_exists($path)) {
        try {
          mkdir($path);
          if (file_exists($path)) {
            drupal_set_message(t('Created directory %s', array(
              '%s' => $path,
            )));
          }
        } catch (Exception $e) {
          Frx::error(t('Unable to create data directory'), $e
            ->getMessage());
        }
      }
    }
    if (!file_exists($path) || !is_writable($path)) {
      form_set_error('forena_query_data_path', 'Data Directory must be writable by the web user');
    }
  }
}