protected function GeshiFilterLanguagesForm::perLanguageSettings in GeSHi Filter for syntax highlighting 8.2
Same name and namespace in other branches
- 8 src/Form/GeshiFilterLanguagesForm.php \Drupal\geshifilter\Form\GeshiFilterLanguagesForm::perLanguageSettings()
Function for generating a form table for per language settings.
Parameters
string $view:
- enabled Only show the enabled languages.
- disabled Only show the disabled languages.
- all Show all languages.
bool $add_checkbox: When add(TRUE) or not(FALSE) a checkbox to enable languages.
bool $add_tag_option: When add(TRUE) or not(FALSE) a textbox to set tags.
Return value
array Return elements to a table with languages.
1 call to GeshiFilterLanguagesForm::perLanguageSettings()
- GeshiFilterLanguagesForm::buildForm in src/
Form/ GeshiFilterLanguagesForm.php - Form constructor.
File
- src/
Form/ GeshiFilterLanguagesForm.php, line 160
Class
- GeshiFilterLanguagesForm
- Form used to set enable/disabled for languages.
Namespace
Drupal\geshifilter\FormCode
protected function perLanguageSettings($view, $add_checkbox, $add_tag_option) {
$config = $this
->config('geshifilter.settings');
$form = [];
$header = [
$this
->t('Language'),
$this
->t('GeSHi language code'),
];
if ($add_tag_option) {
$header[] = $this
->t('Tag/language attribute value');
}
$form['language'] = [
'#type' => 'table',
'#header' => $header,
'#empty' => $this
->t('Nome language is available.'),
];
// Table body.
$languages = GeshiFilter::getAvailableLanguages();
foreach ($languages as $language => $language_data) {
$enabled = $config
->get("language.{$language}.enabled", FALSE);
// Skip items to hide.
if ($view == 'enabled' && !$enabled || $view == 'disabled' && $enabled) {
continue;
}
// Build language row.
$form['language'][$language] = [];
// Add enable/disable checkbox.
if ($add_checkbox) {
$form['language'][$language]['enabled'] = [
'#type' => 'checkbox',
'#default_value' => $enabled,
'#title' => $language_data['fullname'],
];
}
else {
$form['language'][$language]['fullname'] = [
'#type' => 'markup',
'#markup' => $language_data['fullname'],
];
}
// Language code.
$form['language'][$language]['name'] = [
'#type' => 'markup',
'#markup' => $language,
];
// Add a textfield for tags.
if ($add_tag_option) {
$form['language'][$language]['tags'] = [
'#type' => 'textfield',
'#default_value' => $config
->get("language.{$language}.tags", ''),
'#size' => 20,
];
}
}
return $form;
}