function geshifilter_per_language_settings in GeSHi Filter for syntax highlighting 6
Same name and namespace in other branches
- 5.2 geshifilter.admin.inc \geshifilter_per_language_settings()
- 7 geshifilter.admin.inc \geshifilter_per_language_settings()
function for generating a form table for per language settings
2 calls to geshifilter_per_language_settings()
- geshifilter_admin_per_language_settings in ./
geshifilter.admin.inc - Menu callback for per language settings
- _geshifilter_filter_settings in ./
geshifilter.admin.inc - Form (items) for filter settings.
File
- ./
geshifilter.admin.inc, line 416
Code
function geshifilter_per_language_settings($format, $view, $add_checkbox, $add_tag_option) {
$form = array(
'#theme' => 'geshifilter_per_language_settings',
);
// table header
$form['header'] = array(
'#type' => 'value',
'#value' => array(),
);
$form['header']['#value'][] = t('Language');
$form['header']['#value'][] = t('GeSHi language code');
if ($add_tag_option) {
$form['header']['#value'][] = t('Tag/language attribute value');
}
// table body
$form['languages'] = array();
$languages = _geshifilter_get_available_languages();
foreach ($languages as $language => $language_data) {
$enabled = variable_get("geshifilter_language_enabled_{$language}", FALSE);
// skip items to hide
if ($view == 'enabled' && !$enabled || $view == 'disabled' && $enabled) {
continue;
}
// build language row
$form['languages'][$language] = array();
// add enable/disable checkbox
if ($add_checkbox) {
$form['languages'][$language]["geshifilter_language_enabled_{$language}"] = array(
'#type' => 'checkbox',
'#default_value' => $enabled,
'#title' => $language_data['fullname'],
);
}
else {
$form['languages'][$language]['fullname'] = array(
'#type' => 'markup',
'#value' => $language_data['fullname'],
);
}
// language code
$form['languages'][$language]['name'] = array(
'#type' => 'markup',
'#value' => $language,
);
// add a textfield for tags
if ($add_tag_option) {
$f = $format === NULL ? '' : "_{$format}";
$form['languages'][$language]["geshifilter_language_tags_{$language}{$f}"] = array(
'#type' => 'textfield',
'#default_value' => geshifilter_language_tags($language, $format),
'#size' => 20,
);
}
}
return $form;
}