You are here

function yr_verdata_settings_submit in Yr Weatherdata 6.2

Same name and namespace in other branches
  1. 6 yr_verdata.module \yr_verdata_settings_submit()
  2. 7.3 yr_verdata.admin.inc \yr_verdata_settings_submit()
  3. 7 yr_verdata.admin.inc \yr_verdata_settings_submit()

Submit handler for yr_verdata_settings().

File

./yr_verdata.admin.inc, line 168
This file contains the functions for the admin interface for yr_verdata.

Code

function yr_verdata_settings_submit($form, &$form_state) {

  // If the user hit the 'Reset to defaults button' we do that then return.
  if ($form_state['clicked_button']['#parents'][0] == 'reset') {

    //    variable_set('yr_verdata_date_format', 'small');
    variable_set('yr_verdata_temp_unit', 'celsius');
    variable_set('yr_verdata_press_unit', 'hPa');
    variable_set('yr_verdata_precip_unit', 'mm');
    variable_set('yr_verdata_windspeed_unit', 'mps');
    variable_set('yr_verdata_name_display', 4);
    variable_set('yr_verdata_name_fallback', 4);
    variable_set('yr_verdata_maxage', 21600);
    variable_set('yr_verdata_order', 'weight');
    variable_set('yr_verdata_group', 'off');
    variable_set('yr_verdata_npp', 0);
    variable_set('yr_verdata_multiblocks', 'off');
    variable_set('yr_verdata_randomblock', 'off');
    variable_set('yr_verdata_ui_css', 1);
    variable_set('yr_verdata_symbol_url', 'http://symbol.yr.no/grafikk/sym/b38/');
    variable_set('yr_verdata_wind_url', 'http://fil.nrk.no/yr/grafikk/vindpiler/32/');
    variable_set('yr_verdata_debug', 0);
    drupal_set_message(t('The configuration options have been reset to their default values.'));
  }
  else {
    foreach ($form_state['values'] as $key => $value) {
      if (drupal_substr($key, 0, 10) == 'yr_verdata') {
        variable_set($key, $value);
      }

      // Remove any multiblocks, if that feature was disabled.
      if ($key == 'yr_verdata_multiblocks' && $value == 'off') {
        $result = db_query("SELECT * FROM {yr_verdata} ORDER BY name ASC");
        $records = $result
          ->fetchAll();
        foreach ($records as $record) {
          $delta = 'yr_verdata_block_' . $record->yid;
          db_query("UPDATE {blocks} SET status = 0 WHERE module = 'yr_verdata' AND delta = '%s'", $delta);
        }
      }

      // Remove the randomblock, if that feature was disabled.
      if ($key == 'yr_verdata_randomblock' && $value == 'off') {
        db_query("UPDATE {blocks} SET status = 0 WHERE module = 'yr_verdata' AND delta = 'yr_verdata_randomblock'");
      }
    }
    drupal_set_message(t('Settings saved.'));
  }

  // And since we want changes to show up immediately, we clear the cache.
  cache_clear_all('yr_verdata', 'cache_page', TRUE);
}