function textsize_form in Text Size 7
Same name and namespace in other branches
- 5 includes/textsize.block.inc \textsize_form()
- 6 includes/textsize.block.inc \textsize_form()
Implement hook_form().
Generate the select form for the block.
See also
textsize_block()
1 string reference to 'textsize_form'
- textsize_block_view in ./
textsize.module - Implement hook_block_view().
File
- includes/
textsize.block.inc, line 325 - block, page and theme functions.
Code
function textsize_form($form, &$form_state) {
$textsize_cookie_expires = textsize_cookie_expires($mode = 'php');
$textsize_cookie_domain = variable_get('textsize_cookie_domain', base_path());
$textsize_block_title = textsize_block_title($title = 'title');
$textsize_increment = variable_get('textsize_increment', 6);
$textsize_normal = variable_get('textsize_normal', 76);
$textsize_minimum = variable_get('textsize_minimum', 50);
$textsize_maximum = variable_get('textsize_maximum', 150);
$textsize_message = variable_get('textsize_message', 1);
$display_current_textsize = variable_get('textsize_display_current_textsize', 'display');
$textsize_javascript = variable_get('textsize_javascript', 1);
$textsize_current = textsize_get_current($value = 'int');
$options = textsize_block_form_options();
$textsize_post = array();
$textsize_cookie = array();
// allowed values
$textsize_allowed = textsize_allowed_values();
// check the type and the content
if (isset($_COOKIE['textsize']) && isset($_POST['textsize_select'])) {
if (in_array(check_plain($_POST['textsize_select']), $textsize_allowed)) {
$textsize_post['textsize'] = (string) filter_xss($_POST['textsize_select']);
}
// set session/cookie
if ($textsize_post['textsize'] <= $textsize_maximum && $textsize_post['textsize'] >= $textsize_minimum) {
setcookie("textsize", $textsize_post['textsize'], time() + $textsize_cookie_expires, $textsize_cookie_domain, "");
if ($textsize_javascript == 0 || $textsize_javascript == 1) {
$_SESSION['textsize'] = $textsize_post['textsize'];
}
if ($textsize_message == 1) {
drupal_set_message(t('The text size has been saved as %textsize_post%.', array(
'%textsize_post' => textsize_display($textsize_post['textsize'], 2),
)));
}
textsize_clear_cache();
}
}
elseif (!isset($_COOKIE['textsize']) && isset($_POST['textsize_select']) && $textsize_message == 1) {
drupal_set_message(t('The text size have not been saved, because your browser do not accept cookies.'), 'error');
}
$subtitle = NULL;
if (variable_get('textsize_display_subtitle', 0) == 1) {
$subtitle = $textsize_block_title;
}
$form = array();
$form['textsize_select'] = array(
'#type' => 'select',
'#title' => check_plain($subtitle),
'#name' => 'textsize_select',
'#options' => $options,
'#default_value' => variable_get('textsize_select', $textsize_current),
'#weight' => 0,
);
$form['#attributes']['class'][] = 'textsize';
$form['textsize_submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 1,
);
$form['#skip_duplicate_check'] = TRUE;
return $form;
}