You are here

function textsize_increase in Text Size 7

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

Menu callback; increase the textsize, then redirects to the previous page.

3 string references to 'textsize_increase'
template_preprocess_textsize_image in includes/textsize.block.inc
Process variables for textsize-image.tpl.php.
template_preprocess_textsize_text in includes/textsize.block.inc
Process variables for textsize-text.tpl.php.
textsize_menu in ./textsize.module
Implement hook_menu().

File

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

Code

function textsize_increase() {
  $textsize_cookie_expires = textsize_cookie_expires($mode = 'php');
  $textsize_cookie_domain = variable_get('textsize_cookie_domain', base_path());
  $textsize_link_type = variable_get('textsize_link_type', 'variable');
  $ts_in = variable_get('textsize_increment', 6);
  $ts_no = variable_get('textsize_normal', 76);
  $ts_ma = variable_get('textsize_maximum', 150);
  $textsize_maximum = $ts_no + floor(($ts_ma - $ts_no) / $ts_in) * $ts_in;
  $textsize_normal_display = textsize_display($ts_no, 2);
  $textsize_maximum_display = textsize_display($textsize_maximum, 2);
  $textsize_message = variable_get('textsize_message', 1);
  $textsize_javascript = variable_get('textsize_javascript', 1);
  $textsize_post = array();
  $textsize_cookie = array();
  $textsize_cookie['textsize'] = NULL;

  // allowed values
  $textsize_allowed = textsize_allowed_values();

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

  // calculation of text size
  $ts_value = $textsize_cookie['textsize'] + $ts_in;
  $ts_value_display = textsize_display($ts_value, 2);

  // 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 ($textsize_link_type == 'fix' && $textsize_cookie['textsize'] == $ts_no - $ts_in && $textsize_message == 1) {
    drupal_set_message(t('The text size maximum is: %ts_max%.', array(
      '%ts_max' => textsize_display($ts_no + $ts_in, 2),
    )), 'error');
  }
  elseif ($textsize_cookie['textsize'] == $textsize_maximum && variable_get('textsize_reset', 0) == 1) {
    if ($textsize_javascript == 0 || $textsize_javascript == 1) {
      $_SESSION['textsize'] = $ts_no;
    }
    setcookie("textsize", $ts_no, time() + $textsize_cookie_expires, $textsize_cookie_domain, "");
    if ($textsize_message == 1) {
      drupal_set_message(t('The text size maximum is: %ts_max%.', array(
        '%ts_max' => $textsize_maximum_display,
      )), 'warning');
      drupal_set_message(t('The text size has been saved as %textsize_normal%.', array(
        '%textsize_normal' => $textsize_normal_display,
      )));
    }
  }
  elseif ($textsize_cookie['textsize'] == $textsize_maximum && $textsize_message == 1) {
    drupal_set_message(t('The text size maximum is: %ts_max%.', array(
      '%ts_max' => $textsize_maximum_display,
    )), 'error');
  }
  elseif ($textsize_link_type == 'fix' && $textsize_cookie['textsize'] == $ts_no || $textsize_link_type == 'fix' && $textsize_cookie['textsize'] == $ts_no + $ts_in) {
    if ($textsize_javascript == 0 || $textsize_javascript == 1) {
      $_SESSION['textsize'] = $ts_no + $ts_in;
    }
    setcookie("textsize", $ts_no + $ts_in, time() + $textsize_cookie_expires, $textsize_cookie_domain, "");
    if ($textsize_message == 1) {
      drupal_set_message(t('The text size has been saved as %ts_value%.', array(
        '%ts_value' => textsize_display($ts_no + $ts_in, 2),
      )));
    }
  }
  else {
    if ($textsize_javascript == 0 || $textsize_javascript == 1) {
      $_SESSION['textsize'] = $ts_value;
    }
    setcookie("textsize", $ts_value, time() + $textsize_cookie_expires, $textsize_cookie_domain, "");
    if ($textsize_message == 1) {
      drupal_set_message(t('The text size has been saved as %ts_value%.', array(
        '%ts_value' => $ts_value_display,
      )));
    }
  }
  textsize_clear_cache();
  drupal_goto();
}