You are here

function textsize_block in Text Size 6

Same name and namespace in other branches
  1. 5 textsize.module \textsize_block()

Implement hook_block().

File

./textsize.module, line 67
Display a text size changer on the page for a better web accessibility.

Code

function textsize_block($op = 'list', $delta = 0) {
  $textsize_cookie_expires = textsize_cookie_expires($mode = 'php');
  $textsize_cookie_domain = variable_get('textsize_cookie_domain', base_path());
  $block_title = textsize_block_title($title = 'title');
  $textsize_increment = variable_get('textsize_increment', 5);
  $textsize_normal = variable_get('textsize_normal', 75);
  $textsize_block_title = variable_get('textsize_block_title', 'text_size');
  $block_content = theme('textsize_text');
  $textsize_javascript = variable_get('textsize_javascript', 1);
  if ($textsize_javascript == 0 || $textsize_javascript == 1) {
    if (!isset($_SESSION['textsize'])) {
      $_SESSION['textsize'] = $textsize_normal;
    }
  }
  if (!isset($_COOKIE['textsize'])) {
    setcookie("textsize", $textsize_normal, time() + $textsize_cookie_expires, $textsize_cookie_domain, "");
  }
  if ($op == "list") {
    $block[0]["info"] = $block_title;
    $block[0]["cache"] = BLOCK_NO_CACHE;
    return $block;
  }
  elseif ($op == 'view') {
    if (user_access('access textsize content')) {
      $textsize_block_type = variable_get('textsize_block_type', 'text');
      $block_content = theme('textsize_text');
      switch ($textsize_block_type) {
        case 'text':
          $block_content = theme('textsize_text');
          break;
        case 'image':
          $block_content = theme('textsize_image');
          break;
        case 'select':
          $block_content = drupal_get_form('textsize_form');
          break;
        default:
          $block_content = theme('textsize_text');
      }
      $block['subject'] = check_plain($block_title);
      $block['content'] = $block_content;
      return $block;
    }
  }
}