function _migrate_cookie_categories_to_separate_structure in EU Cookie Compliance (GDPR Compliance) 7
Same name and namespace in other branches
- 7.2 eu_cookie_compliance.install \_migrate_cookie_categories_to_separate_structure()
Transform string based categories into array based ones.
Parameters
$categories: The array of categories to transform.
$settings: The full configuration settings.
Return value
array
1 call to _migrate_cookie_categories_to_separate_structure()
- eu_cookie_compliance_update_7017 in ./
eu_cookie_compliance.install - Migrate categories from string to array.
File
- ./
eu_cookie_compliance.install, line 788 - Installation file.
Code
function _migrate_cookie_categories_to_separate_structure($categories, $settings) {
if (count($categories)) {
$i = 0;
// Add default values for new attributes like weight.
foreach ($categories as $machine_name => &$category) {
$category['machine_name'] = $machine_name;
$category['checkbox_default_state'] = 'unchecked';
// Preserve all categories being automatically checked
// and first category's special treatment, if any.
if (!empty($settings['select_all_categories_by_default'])) {
$category['checkbox_default_state'] = 'checked';
}
if ($i === 0 && !empty($settings['fix_first_cookie_category'])) {
$category['checkbox_default_state'] = 'required';
}
$category['weight'] = $i++;
}
}
return $categories;
}