function eu_cookie_compliance_admin_categories_form in EU Cookie Compliance (GDPR Compliance) 7.2
Same name and namespace in other branches
- 7 eu_cookie_compliance.admin.categories.inc \eu_cookie_compliance_admin_categories_form()
Form to order cookie consent categories & an overview at the same time.
Parameters
array $form: Form array.
array $form_state: Form state array.
Return value
array Form render array.
1 string reference to 'eu_cookie_compliance_admin_categories_form'
- eu_cookie_compliance_menu in ./
eu_cookie_compliance.module - Implements hook_menu().
File
- ./
eu_cookie_compliance.admin.categories.inc, line 19 - This file provides administration forms for the cookie categories.
Code
function eu_cookie_compliance_admin_categories_form(array $form, array $form_state) {
$form = array(
'#tree' => TRUE,
'categories' => array(),
);
$categories = variable_get('eu_cookie_compliance_categories', array());
$form['#submit'][] = 'eu_cookie_compliance_admin_categories_form_submit';
$form['eu_cookie_compliance_categories'] = array(
'#type' => 'hidden',
);
$options_list = _eu_cookie_compliance_get_category_checkbox_default_state_options_list();
foreach ($categories as $machine_name => $category) {
$form['categories'][$machine_name]['label'] = array(
'#markup' => check_plain($category['label']),
);
$form['categories'][$machine_name]['machine_name'] = array(
'#markup' => check_plain($machine_name),
);
$form['categories'][$machine_name]['description'] = array(
'#markup' => check_plain($category['description']),
);
$form['categories'][$machine_name]['checkbox_default_state'] = array(
'#markup' => isset($options_list[$category['checkbox_default_state']]) ? $options_list[$category['checkbox_default_state']] : $options_list['unchecked'],
);
// This field is invisible, but contains sort info (weights).
$form['categories'][$machine_name]['weight'] = array(
'#type' => 'weight',
'#title' => t('Weight'),
'#title_display' => 'invisible',
'#default_value' => $category['weight'],
);
$options = array();
// Adapt links to follow realm language if present.
$query_parameters = drupal_get_query_parameters();
if (isset($query_parameters['variable_realm_key_language'])) {
$language_list = language_list();
$language = $language_list[$query_parameters['variable_realm_key_language']] ?: FALSE;
if ($language) {
$options['language'] = $language;
}
}
$form['categories'][$machine_name]['op'] = array(
'#markup' => l(t('Edit'), '/admin/config/system/eu-cookie-compliance/categories/' . check_plain($machine_name) . '/edit', $options) . ' | ' . l(t('Delete'), '/admin/config/system/eu-cookie-compliance/categories/' . check_plain($machine_name) . '/delete', $options),
);
}
$options = array();
// Adapt links to follow realm language if present.
$query_parameters = drupal_get_query_parameters();
if (isset($query_parameters['variable_realm_key_language'])) {
$language_list = language_list();
$language = $language_list[$query_parameters['variable_realm_key_language']] ?: FALSE;
if ($language) {
$options['language'] = $language;
}
}
$form['add_new'] = array(
'#type' => 'markup',
'#markup' => t('<ul class="action-links"><li><a href="@path">Add new category</a></li></ul>', array(
'@path' => url('admin/config/system/eu-cookie-compliance/categories/add', $options),
)),
);
$form = system_settings_form($form);
unset($form['#theme']);
return $form;
}