You are here

function textsize_set in Text Size 7

Same name and namespace in other branches
  1. 5 includes/textsize.block.inc \textsize_set()
  2. 6 includes/textsize.block.inc \textsize_set()

Menu callback; change the textsize to the cookie value, then redirects to the previous page.

1 string reference to 'textsize_set'
textsize_menu in ./textsize.module
Implement hook_menu().

File

includes/textsize.block.inc, line 219
block, page and theme functions.

Code

function textsize_set() {
  $textsize_cookie_expires = textsize_cookie_expires($mode = 'php');
  $textsize_cookie_domain = variable_get('textsize_cookie_domain', base_path());
  $textsize_normal = variable_get('textsize_normal', 76);
  $textsize_message = variable_get('textsize_message', 1);
  $textsize_javascript = variable_get('textsize_javascript', 1);
  $textsize_post = array();
  $textsize_cookie = array();

  // allowed values
  $textsize_allowed = textsize_allowed_values();

  // check the type and the content
  if (in_array($_COOKIE['textsize'], $textsize_allowed)) {
    $textsize_cookie['textsize'] = (double) filter_xss($_COOKIE['textsize']);
  }

  // set session/cookie
  if (!isset($_COOKIE['textsize']) && $textsize_message == 1) {
    drupal_set_message(t('The text size have not been saved, because your browser do not accept cookies.'), 'error');
  }
  elseif (isset($_COOKIE['textsize'])) {
    if ($textsize_javascript == 0 || $textsize_javascript == 1) {
      $_SESSION['textsize'] = $textsize_cookie['textsize'];
    }
    setcookie("textsize", $textsize_cookie['textsize'], time() + $textsize_cookie_expires, $textsize_cookie_domain, "");
    if ($textsize_message == 1) {
      drupal_set_message(t('The text size has been saved as %textsize%.', array(
        '%textsize' => textsize_display($textsize_cookie['textsize'], 2),
      )));
    }
  }
  textsize_clear_cache();
  drupal_goto();
}