function _eu_cookie_compliance_extract_category_key_label_description in EU Cookie Compliance (GDPR Compliance) 7.2
Same name and namespace in other branches
- 8 eu_cookie_compliance.module \_eu_cookie_compliance_extract_category_key_label_description()
- 7 eu_cookie_compliance.module \_eu_cookie_compliance_extract_category_key_label_description()
- 2.0.x eu_cookie_compliance.module \_eu_cookie_compliance_extract_category_key_label_description()
Converts a multiline, list of key|label|description strings to an array.
Parameters
string $string: A multiline string containing key, label and optionally a description separated by a pipe symbol.
Return value
array An array of categories the form [key => ['label' => label, 'description' => description]]
1 call to _eu_cookie_compliance_extract_category_key_label_description()
- eu_cookie_compliance_update_7017 in ./
eu_cookie_compliance.install - Migrate categories from string to array.
File
- ./
eu_cookie_compliance.module, line 598 - EU cookie compliance primary module file.
Code
function _eu_cookie_compliance_extract_category_key_label_description($string) {
$categories = array();
$list = explode("\n", $string);
$list = array_map('trim', $list);
$list = array_filter($list, 'strlen');
foreach ($list as $position => $text) {
$parts = explode('|', $text);
$num_parts = count($parts);
if ($num_parts >= 3) {
$key = trim($parts[0]);
$label = trim($parts[1]);
$description = trim($parts[2]);
}
elseif ($num_parts === 2) {
$key = trim($parts[0]);
$label = trim($parts[1]);
$description = '';
}
else {
$key = $label = trim($parts[0]);
$description = '';
}
$categories[$key] = array(
'label' => $label,
'description' => $description,
);
}
return $categories;
}